Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
b9e0cccfe1
|
|||
|
934581772d
|
|||
|
7c8dd807da
|
|||
|
8c816e2e6b
|
|||
|
cc51e1c9a7
|
|||
|
ae5105f40e
|
|||
|
4a9b9dd40b
|
|||
|
1e822a410e
|
|||
| 1dfbff91c7 |
@@ -39,3 +39,6 @@ yarn-error.log*
|
||||
.DS_Store
|
||||
.idea/
|
||||
.vscode/
|
||||
|
||||
source-bestiary/
|
||||
source-drops/
|
||||
|
||||
+26
-4
@@ -27,7 +27,7 @@
|
||||
8: { hp: 2.00, atp: 1.08, exp: 2.00 },
|
||||
9: { hp: 2.50, atp: 1.09, exp: 2.50 },
|
||||
10: { hp: 3.00, atp: 1.10, exp: 3.00 },
|
||||
11: { hp: 4.00, atp: 1.10, exp: null },
|
||||
11: { hp: 4.00, atp: 1.10, exp: 3.00 },
|
||||
};
|
||||
|
||||
const COLUMN_GROUPS = {
|
||||
@@ -148,13 +148,25 @@
|
||||
}
|
||||
|
||||
function bpTier() {
|
||||
const tier = Number(qs("#bestiary-bp-tier")?.value || 0);
|
||||
const select = qs("#bestiary-tier");
|
||||
const raw = String(select?.value || "");
|
||||
const label = String(select?.selectedOptions?.[0]?.textContent || "");
|
||||
const match = raw.match(/(\d+)$/) || label.match(/(\d+)/);
|
||||
const tier = match ? Number(match[1]) : 0;
|
||||
return BP_TIERS[tier] || BP_TIERS[0];
|
||||
}
|
||||
|
||||
function xpBonusMultiplier() {
|
||||
return Number(qs("#bestiary-xp-bonus")?.value || 1);
|
||||
}
|
||||
|
||||
function displayValue(row, key) {
|
||||
const value = row[key];
|
||||
|
||||
if (key === "exp" && row.difficulty !== "Ultimate") {
|
||||
return Math.round(Number(value || 0) * xpBonusMultiplier());
|
||||
}
|
||||
|
||||
if (row.difficulty !== "Ultimate") {
|
||||
return value ?? "";
|
||||
}
|
||||
@@ -170,16 +182,22 @@
|
||||
}
|
||||
|
||||
if (key === "exp" && tier.exp !== null) {
|
||||
return Math.round(Number(value || 0) * tier.exp);
|
||||
return Math.round(Number(value || 0) * tier.exp * xpBonusMultiplier());
|
||||
}
|
||||
|
||||
return value ?? "";
|
||||
}
|
||||
|
||||
function hasAnyBestiaryValue(row) {
|
||||
const keys = ["hp", "atp", "dfp", "mst", "ata", "evp", "lck", "esp", "exp", "efr", "eic", "eth", "elt", "edk"];
|
||||
return keys.some((key) => Number(row[key] || 0) !== 0);
|
||||
}
|
||||
|
||||
function visibleRows() {
|
||||
const search = state.filters.search.trim().toLowerCase();
|
||||
|
||||
return state.rows.filter((row) => {
|
||||
if (!hasAnyBestiaryValue(row)) return false;
|
||||
if (state.filters.mode && row.mode !== state.filters.mode) return false;
|
||||
if (state.filters.episode && row.episode !== state.filters.episode) return false;
|
||||
if (state.filters.difficulty && row.difficulty !== state.filters.difficulty) return false;
|
||||
@@ -332,11 +350,15 @@
|
||||
renderTable();
|
||||
});
|
||||
|
||||
qs("#bestiary-bp-tier")?.addEventListener("change", () => {
|
||||
qs("#bestiary-tier")?.addEventListener("change", () => {
|
||||
state.page = 1;
|
||||
renderTable();
|
||||
});
|
||||
|
||||
qs("#bestiary-xp-bonus")?.addEventListener("change", () => {
|
||||
renderTable();
|
||||
});
|
||||
|
||||
qs("#bestiary-placeholder")?.addEventListener("click", (event) => {
|
||||
const pageButton = event.target.closest("[data-bestiary-page]");
|
||||
if (pageButton) {
|
||||
|
||||
+9
-17
@@ -51,22 +51,13 @@
|
||||
<option value="">All difficulties</option>
|
||||
</select>
|
||||
|
||||
<label for="bestiary-bp-tier">BP Tier</label>
|
||||
<select id="bestiary-bp-tier">
|
||||
<option value="0">No modifier</option>
|
||||
<option value="1">Brutal Peeps +1</option>
|
||||
<option value="2">Brutal Peeps +2</option>
|
||||
<option value="3">Brutal Peeps +3</option>
|
||||
<option value="4">Brutal Peeps +4</option>
|
||||
<option value="5">Brutal Peeps +5</option>
|
||||
<option value="6">Brutal Peeps +6</option>
|
||||
<option value="7">Brutal Peeps +7</option>
|
||||
<option value="8">Brutal Peeps +8</option>
|
||||
<option value="9">Brutal Peeps +9</option>
|
||||
<option value="10">Brutal Peeps +10</option>
|
||||
<option value="11">Brutal Peeps +11</option>
|
||||
<label for="bestiary-xp-bonus">XP Bonus</label>
|
||||
<select id="bestiary-xp-bonus">
|
||||
<option value="1">No modifier</option>
|
||||
<option value="5">5x</option>
|
||||
<option value="10">10x</option>
|
||||
</select>
|
||||
<p class="drops-field-note">Applies HP, ATP, and EXP modifiers to Ultimate rows only.</p>
|
||||
<p class="drops-field-note">Applies EXP multiplier only.</p>
|
||||
|
||||
<label for="bestiary-view">View</label>
|
||||
<select id="bestiary-view">
|
||||
@@ -80,7 +71,8 @@
|
||||
|
||||
<label for="bestiary-tier" data-bestiary-tier-wrap>BP Tier</label>
|
||||
<select id="bestiary-tier" data-bestiary-tier-wrap>
|
||||
<option>BP+1</option><option>BP+2</option><option>BP+3</option>
|
||||
|
||||
<option value="0">No modifier</option><option>BP+1</option><option>BP+2</option><option>BP+3</option>
|
||||
<option>BP+4</option><option>BP+5</option><option>BP+6</option>
|
||||
<option>BP+7</option><option>BP+8</option><option>BP+9</option>
|
||||
<option>BP+10</option><option>BP+11</option>
|
||||
@@ -122,6 +114,6 @@
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="bestiary-tables.js?v=bestiary-table-viewer-20260613-3" defer></script>
|
||||
<script src="bestiary-tables.js?v=hide-zero-bestiary-rows-1" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
[31;01m#[39;49;00m [36;01mRaw[39;49;00m [01mbinary[39;49;00m [01mbattle[39;49;00m [01mparameter[39;49;00m [01mfiles[39;49;00m [01mare[39;49;00m [35;01mlocal[39;49;00m [01msource[39;49;00m [01martifacts[39;49;00m[31;01m.[39;49;00m
|
||||
[31;01m*[39;49;00m[31;01m.[39;49;00m[01mdat[39;49;00m
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,38 +0,0 @@
|
||||
/opt/newserv-hardcore/system/blueburst/BattleParamEntry.dat
|
||||
/opt/newserv-hardcore/system/blueburst/BattleParamEntry_ep4.dat
|
||||
/opt/newserv-hardcore/system/blueburst/BattleParamEntry_ep4_on.dat
|
||||
/opt/newserv-hardcore/system/blueburst/BattleParamEntry_lab.dat
|
||||
/opt/newserv-hardcore/system/blueburst/BattleParamEntry_lab_on.dat
|
||||
/opt/newserv-hardcore/system/blueburst/BattleParamEntry_on.dat
|
||||
/opt/newserv-hardcore/system/client-functions.disabled-hardcore-20260523T032841Z/EnemyHPBarsBB.s
|
||||
/opt/newserv-hardcore/system/client-functions.disabled-hardcore-20260523T032841Z/EnemyHPBarsGC.s
|
||||
/opt/newserv-hardcore/system/client-functions.disabled-hardcore-20260523T032841Z/EnemyHPBarsXB.s
|
||||
/opt/newserv-hardcore/system/client-functions/EnemyDamageSyncBB.s
|
||||
/opt/newserv-hardcore/system/client-functions/EnemyDamageSyncGC.s
|
||||
/opt/newserv-hardcore/system/client-functions/EnemyDamageSyncXB.s
|
||||
/opt/newserv-hardcore/system/client-functions/System/GetEnemyEntity.inc.s
|
||||
/opt/newserv-hardcore/system/maps/gc-ep3/map_city_on_battle_e.dat
|
||||
/opt/newserv-hardcore/system/maps/gc-ep3/map_city_on_battle_o.dat
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyDamageSyncBB.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyDamageSync/EnemyDamageSync.3___.patch.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyDamageSync/EnemyDamageSync.4___.patch.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyDamageSync/EnemyDamageSync.59NL.patch.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyDamageSyncGC.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyDamageSyncXB.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyHPBarsBB.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyHPBars/EnemyHPBars.3___.patch.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyHPBars/EnemyHPBars.4___.patch.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyHPBars/EnemyHPBars.59NL.patch.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyHPBarsGC.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/EnemyHPBarsXB.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/System/GetEnemyEntity-59NL.x86.inc.s
|
||||
/opt/newserv-hardcore/system/psopeeps-backups/client-functions-before-test-sync-20260516T021108Z/System/GetEnemyEntity.inc.s
|
||||
/opt/newserv-hardcore/system/tables/battle-params.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-bb-v4.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-dc-11-2000.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-dc-nte.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-dc-v1.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-gc-nte.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-gc-v3.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-pc-v2.json
|
||||
/opt/newserv-hardcore/system/tables/item-parameter-table-xb-v3.json
|
||||
@@ -1,22 +0,0 @@
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/client-functions/EnemyDamageSyncBB.s
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/client-functions/EnemyDamageSyncGC.s
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/client-functions/EnemyDamageSyncXB.s
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/client-functions/EnemyHPBarsBB.s
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/client-functions/EnemyHPBarsGC.s
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/client-functions/EnemyHPBarsXB.s
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/client-functions/System/GetEnemyEntity.inc.s
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/maps/gc-ep3/map_city_on_battle_e.dat
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/maps/gc-ep3/map_city_on_battle_o.dat
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/patch-pc-10x/Media/PSO/BattleParamEntry.dat
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/patch-pc-10x/Media/PSO/BattleParamEntry_on.dat
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/patch-pc-5x/Media/PSO/BattleParamEntry.dat
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/patch-pc-5x/Media/PSO/BattleParamEntry_on.dat
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/battle-params.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-bb-v4.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-dc-11-2000.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-dc-nte.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-dc-v1.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-gc-nte.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-gc-v3.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-pc-v2.json
|
||||
/home/rbatty/.local/share/github/psopeeps-newserv/system/tables/item-parameter-table-xb-v3.json
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user