Four Max Wave scenarios, from your current Castle / Relics / Hero / Max Wave tab inputs. Nothing here recomputes as you type elsewhere — hit Recalculate after changing inputs.
Hero + castle, as set up now—
Hero + castle, WITH max team buff—
Castle alone can kill—
Hero alone can kill—
—
—
Wave
Bosses land on every 10th wave, minibosses on every 5th — the step buttons make those easy to hit.
Report
unit
lv
HP
dmg/hit
count
dmg/hit = one basic attack landing on the castle (castle def = 0); ~86% of swings land (5% miss · 5% block · 5% evade).
Castle levels
the levelUp upgrade — no cap found in the data.
the +N upgrade — server-set cap, unknown.
buff levels — goes into the exponent, compounds.
which of your 5 Relic presets (Account tab) feeds the castle's OurTowerHp relics.
flat multiplier, applied last — computed from that preset's equipped OurTowerHp relics. Not directly editable here.
Result
Castle HP
—
Effective level
—
every +1 level
×1.03
+24 levels ≈
×2
Castle attack (if the castle attacks in your data)
Reads baseAtk/atkSpeed/multiShot straight from the CASTLE book at max level. No Damage buff reaches the castle — only OurTowerHp (HP-only) does.
Your account-wide setup, in one place — Pets, Relics, and your Team roster. Every other tab (Castle/Hero/Max Wave/Results) reads from whatever's saved here instead of asking you to fill it in twice.
Import from account-fetcher
Loads a JSON file exported by the account-fetcher plugin (in-game, read-only capture — never sends anything, only reads what the game itself already loaded) straight into this calculator: relics (owned + trans/enhance), all 5 relic presets, pets (grade/represented), all 5 hero team presets, and castle gold/medal level. This file never leaves your browser — read entirely client-side, same as everything else here. Anything the file doesn't have is left as whatever's already set.
Owned pets
Grade 0 = not owned. One pet can be "represented" at a time (doubles its skill1/Pet Points contribution). This tab covers the account-wide bonus routes (couple-pet tables, universal pet skills, Pet Points) — the fielded-hero-unique-skill maxLv route and Citadel awakening need a real fielded team and will be wired in once the Team tab exists.
pet
grade
fragments
represented
Spirit Highlands
Spirit Highlands progress
Days-to-5★ for your favorited pets (imported from account-fetcher's Spirit Highlands favorites list, or set "fragments" directly above for any pet). Cost curve: 10/20/50/100/150 fragments per grade step (330 total, grade 0→5★), client-confirmed. Farm rate defaults to the max clean rate (2 stages × 3 tries × 1 piece = 6/day/pet if every attempt clears) — edit it if your real clear rate or ticket budget is lower.
pet
grade
fragments
remaining
No Spirit Highlands favorites yet — import an account-fetcher export with the favorites list set (open Pet > Spirit Highlands in-game first, then export), or this section stays empty even with fragments/grades set manually above.
Couple-pet family counts
Unlocks once the linked pet reaches grade 5 (awakened). "Owned" = total copies across every trans tier; "Fielded" = copies on your current team (only matters for the "team+owned" pets). The Max button fills in the count beyond which the cap is already saturated — no point going higher.
Current pet contribution
maxLv (couple tables + fielded skills)
—
plusLv (couple tables + fielded skills)
—
maxLv (pet skill1)
—
plusLv (pet skill1)
—
Pet Points (gold level)
—
Quest Gold Gain (fielded skills + Joe/Joker awakening)
—
Medal buff (Pilot family)
—
Game speed (Wing Knight/Abyss/Wolf Warrior/Death Knight families)
Trans-medal cap raise (WaterDragon owned Drummers — NOT itself a Medal buff, see note)
—
Includes the fielded-hero-unique-skill routes (each fielded copy counts separately — 6 copies of the same hero contributes 6x). Quest Gold Gain feeds the Quest tab's totals directly, on top of whatever Relic preset it's pointed at. Every couple-pet route below (and above) requires its pet to be both 5★+ and set as your Representative Pet (the "represented" radio in the Owned pets table) — stricter than the live game, which only checks 5★; kept this way on request.
All 5★ pet effects
Every real couple-hero payoff in the live PET book (28 pets carry a "couple" hero), whether or not this app computes a live total for it. Status reflects your current Owned-pets grade + represented setting for that pet.
pet
effect
5★ / 6★ (cap)
status
Presets
5 loadouts, up to 15 relics each — matches the game's own preset system. Trans and enhance are properties of the physical relic and are shared across every preset; only "equipped in this preset" is preset-specific. This is the single source of relic data for the whole calculator — the Castle and Hero tabs each pick which preset to use.
—
7★ relics have no hide toggle — they're not activated/obtainable for anyone yet, and are already excluded from every "best-in-slot"/optimizer suggestion this calculator makes.
Total game speed buff from this preset's relics
—
Active set bonuses in this preset
A set's bonus uses the trans level of its Nth-highest-trans equipped piece (N = the threshold's piece count) — equipping more of a set, or transcending the pieces you have, both raise it. Sets with nothing equipped aren't shown.
(none equipped from any set)
Relic catalog
"Owned" ≠ "equipped in a preset" — owned is your whole account inventory (mark every relic you actually have, whatever its trans/enhance), while a preset is a ≤15-item loadout picked FROM your owned relics. Every optimizer/suggestion in this calculator (best-in-slot, the medal advisor, set-bonus opportunities) only considers relics marked owned — unowned ones are excluded from suggestions even though they still work fine if you manually equip one into a preset.
relic
stat(s)
grade
owned
tier
enhance
cap
value %
equip
Team presets
5 saved rosters, same idea as the Relic tab's presets — switch between them to compare setups without retyping. Only the selected one counts as "fielded" everywhere else (Pets/Castle/Hero plusLv, Max Wave, Results).
Team (10 slots)
The real Wave Defense team — 10 slots, duplicate heroes allowed (fielding 6 copies of one hero is a real, confirmed setup). Each slot has its own trans/enhance — if you field the same hero in two slots, keep their trans/enhance matching yourself, they're not auto-synced.
which Relic preset's Damage relics buff this team's DPS.
slot
hero
trans
enhance
dps
Team totals
Slots filled
—
Total DPS (pooled)
—
maxLv from fielded skills
—
plusLv from fielded skills
—
DPS pooling and attack-pattern fractions (multi-hit/multi-target kits) match the verified engine in ef2-calc.py. Each slot's damage and attack speed now also include Hero Gold Skill's combat milestones (self/tribe/melee/ranged/everyone ATK/ATK SPD unlocks) sourced from the whole fielded team, not just relics.
Team buff catalog — which units are worth fielding for their team effect
Every hero on this roster whose own special skill buffs the WHOLE fielded team (or the castle) just by being fielded, not just itself — the reason a hero can be worth a slot even if it isn't your best individual damage/HP pick. Example: Druid gives +30 levels to every fielded Human/Elf hero. Rows in green are currently active in your fielded team. Several of these get topped up further once a matching pet reaches 5★ (shown in the Pet boost column) — those routes are already wired into this calculator's numbers wherever they're used; anything marked "none modeled" exists in the game but isn't calculated here yet.
hero
tribe
buff
value
pet boost
status
Hero
only applies when the hero's tribe matches your account tribe, otherwise 0.
plusLv comes from the Team tab's fielded heroes (Wyvern/Sylphid/Snork-style routes, plus Druid's Human/Elf and BladeMaster's Orc/Undead tribe-pact bonuses when this hero's tribe matches) — reaches this hero whether or not it's the one actually fielded. ATK/HP/Defense/Crit above now also fold in Hero Gold Skill's combat milestones (self/tribe/melee/ranged/all-troop ATK-DEF-HP-Crit unlocks) from the active fielded Team roster — see the Relics-reaching-this-hero card below for the breakdown. Still not included: special-attack multipliers, other pet buffs, emblems/runes, ascend points, and enemy defence (subtracted per hit — this is attack power, not damage dealt).
Crit
From equipped Crit Damage / Crit Chance relics only — pets and emblems aren't in the calculator's data. Crit is never assumed to land: atkDmg above stays the normal-hit figure, "atkDmg on crit" is shown separately.
Crit Damage relic total
—
Crit multiplier
—
atkDmg on crit
—
Crit Chance relic total
—
Relics reaching this hero
edit what's equipped/trans/enhance on the Relic tab (Account tab) — this is a read-only summary.
Filtered to that preset's equipped relics whose target overlaps this hero's prefixes (its tribe letter, its M/R/S type letter, or "everyone"). A relic can grant two different stats at once (its two independent skill slots), each only feeding its own stat.
relic
stat
tier
enhance/cap
value %
Damage mult
—
HP mult
—
Defense mult
—
Sources
Uses the Castle tab's HP/attack and the Team tab's real 10-slot roster (each slot's own trans/enhance/build, attack-pattern-aware, buffed by whichever Relic preset the Team tab points at, both on the Account tab). This is a model, not a simulation — it ignores travel time, blocking, targeting order, active skills, crits, revives and pet/emblem buffs. Read the answer as an upper bound.
Result
Max wave (trash only)
—
Neighbourhood probe
wave
enemy hp
clear s
wave s
taken
result
Endurance-only breakdown
First wave whose damage alone (ignoring clear time) exceeds the castle's HP.
component
wave
deals
One-shot checks
Castle gets one-shot at wave
—
Hero gets one-shot at wave
—
Medal investment advisor
Finds the least extra medal levels Castle and each fielded hero need so none of them gets one-shot before the wave where clear-time already caps you out — i.e. "don't die to one hit before you'd naturally stop clearing waves fast enough anyway." Uses the Team tab's active fielded roster and whichever Relic preset you pick below, independent of what Castle/Hero/Team are each individually pointed at. The relic advice is set-bonus aware (same swap logic as the Quest tab's best-in-slot) and only ever suggests relics marked Owned on the Relic tab, 7★ excluded — same rule as every other optimizer here.
Clear-time-limited max wave (the target)
—
Castle
Fielded heroes
hero
one-shot wave now
medal now
medal needed
medal cost
Advice
Max stage accumulation suggester
Suggests the best 15-relic setup — from relics you've marked Owned on the Relic tab (7★ excluded) — to push the combined castle+team clear-time-limited max wave as far as possible. Real simulated search: tests a handful of damage-vs-HP allocation splits (0/15 through 15/0) and actually runs each one through the max-wave calc, picking whichever tested split goes furthest — not an exhaustive search of every possible combination. Each split's candidates are set-bonus aware (same swap logic as the Quest tab's best-in-slot: an owned set's missing pieces get pulled in over lower-value loose relics whenever the resulting set bonus is worth more), but ranking is still by raw stat value without checking whether a relic's target actually reaches your fielded team's tribes/types — the reported wave is still a real result for whatever it actually picked, even if a pick turns out irrelevant.
Best max wave found
—
Allocation split (damage / HP)
—
Suggested setup
relic
tier
grade
Set bonuses active in this setup
Team & castle setup suggester
Goes further than the relic-only suggester above: also searches which HEROES to field. Search (fast, a few seconds) runs Phase 1 (fielding 10 copies of each of your 28 heroes to find the best single carry) + Phase 3 (the relic search above, against that carry). Deep search (slower, opt-in) additionally runs Phase 2: swapping in 1 through all 10 copies of each "team buff" hero (see the catalog below) over that carry — covers both "mostly carry + a little support" AND the reverse, "mostly support + a little carry" (e.g. 9× Druid + 1× Sylphid), in case its team-wide effect (like Druid's +30 levels to Human/Elf) outweighs the DPS lost from those slots. Every step in both is a real simulated result, not a guess. Candidate slots assume whatever trans/enhance your active Team roster's own filled slots are already using (T3, no enhance, if the roster is empty). Uses the same Relic preset picker as the medal advisor above, and only ever suggests relics you've marked Owned, 7★ excluded.
Best max wave found
—
Composition:
Suggested team (10 slots)
slot
hero
Suggested relics (if any improved on team-only)
relic
tier
Castle
Medals needed
—
Hero (selected on the Hero tab)
Medals needed
—
Cross-readout vs. the Waves tab
The boss and hardest-hitting trash unit's damage per hit at the wave the Waves tab is set to, and how many landed hits the castle survives.
Quest
The idle gold-income Quest list (30 quests) — not the daily-quest checklist or the guild quest board, unrelated systems that happen to share the word "quest". Pick a quest, a Relic preset to price it with, and your current level to see open cost, level-up cost, payout, and time-to-afford.
which Relic preset's Quest relics (Account tab) feed the totals below.
the account's rolling rebirth-count buff — caps out at 5 rebirths in the window.
0 = not opened yet.
Cost & payout
Open cost
—
Effective max level
—
Cost to reach target
—
Collect interval
—
Reward at current level
—
Reward at target level
—
Gold/sec at current level
—
Gold/sec at target level
—
Time to afford
No live account connection — type in what you currently have and your current combined gold/sec income (sum of every active quest's payout, plus anything else you earn) to see how long these would take.
Time to afford opening
—
Time to afford reaching target level
—
Breakdown
Relic preset comparison & suggestions
All 5 saved Relic presets' quest-relevant totals, side by side — ★ marks the best combined total. Switching which preset feeds the row above is done on the "Using preset" dropdown up top.
preset
Gold Gain
Open Cost
Upgrade Cost
Time Down
Best-in-slot relic suggestions
Ranks every relic you've marked Owned on the Relic tab by its current value for one stat at a time (whatever trans/enhance you've set), independent of what's equipped anywhere right now. Set-bonus aware: starts from the top 15 by raw value, then tries swapping in any owned TREASURE_SET's missing pieces (replacing this selection's lowest-value non-set members) whenever that set has an active threshold bonus granting the SAME stat and the swap raises the total — a real greedy check against your real set data, not exhaustive. Two single-purpose rankings — not a combined optimization, so a relic great at one may not appear in the other. 7★ relics are never suggested — not activated for anyone yet. Nothing shows here until you mark some relics owned.
Gold Acquisition (Quest Gold Gain)
relic
value %
Quest Open Cost
relic
value %
What this is
A browser port of ef2-calc.py, the desktop calculator: same data, same formulas, same
caveats — just a web UI instead of Tkinter. Everything runs client-side; nothing is sent anywhere.
Account-wide setup — Pets, Relics, and your Team roster — lives under the Account tab now, each
as its own sub-tab. Relic ownership: 5 presets, up to 15 relics each, matching the game's own preset
system. Trans and enhance are shared across every preset (one physical item); only "equipped in this
preset" is preset-specific. Team roster: 5 saved 10-slot rosters, same switchable-preset idea. The
Castle and Hero tabs each pick which Relic preset feeds their totals, and no longer have their own
separate relic-editing tables.
Not included / known gaps
Hero Gold Skill (per-hero level/enhance milestone unlocks, both the Quest-economy codes and the combat ATK/HP/DEF/ATK SPD/Crit codes) is modeled from the active fielded Team roster — see the Quest and Hero tabs. Crit is modeled from equipped relics + Hero Gold Skill only (see the Hero tab) — pets and emblems, which contribute far more crit in practice, aren't in the calculator's data. Still not modeled at all: special-attack multipliers, most pet buffs, other hero unique skills (besides the plusLv/questGold/tribe-pact ones), emblems/runes, and ascend points.
The Max Wave scan is a model, not a simulation — see the caveats on that tab.
Values use plain JS numbers (doubles), same as the live game client itself, instead of the desktop tool's arbitrary-precision Decimal. This only matters past level ~24013 (1.03^level overflows a double there) — the same point the live client's own numbers would show Infinity. Every realistic account level is far inside a double's precision.
Neither the gold-level cap nor the medal-level cap is known — nothing is enforced or invented.
Source
Formulas ported 1:1 from ef2-calc.py. See the repo's ef2-calc.py and
README.md for the original desktop tool and the full formula writeups.
Saved inputs
Every input on this page is saved to your browser's local storage as you type, and reloaded automatically next visit — nothing is sent anywhere. Clearing your browser's site data for this page, or the button below, resets everything back to the defaults.