> eiq2.sh Loot Craft Brawl Repeat
Turn-based fights with elemental damage, armor, and capped stats
At level 1 your hero has 500 HP. Every level adds a flat 150.
| Level | HP |
|---|---|
| 1 | 500 |
| 10 | 1,850 |
| 50 | 7,850 |
| 100 | 15,350 |
| 200 | 30,350 |
| 500 | 75,350 |
| 1000 | 150,350 |
Enemies use the same base formula as players, but their HP is multiplied by 0.25 — making them significantly squishier than the player at equal level/difficulty.
| Difficulty | Enemy HP |
|---|---|
| 1 | 125 |
| 10 | 463 |
| 50 | 1,963 |
| 100 | 3,838 |
| 200 | 7,588 |
| 500 | 18,838 |
| 1000 | 37,588 |
Both players and enemies use the same base damage formula. This is added to weapon damage to form total attack power.
| Level | Base Damage |
|---|---|
| 1 | 23 |
| 10 | 50 |
| 50 | 170 |
| 100 | 320 |
| 200 | 620 |
| 500 | 1,520 |
| 1000 | 3,020 |
Every attack passes through a multi-step damage pipeline. Understanding each step is key to gearing effectively.
Adjusts damage based on level difference. Fighting enemies above your level reduces your damage; below your level increases it. The +50 offset prevents extreme swings at low levels.
Total item damage is your weapon's min-max damage (scaled by item level) plus your level-based base damage, multiplied by the level scaling factor.
Players always have a base of 100% physical. Elemental damage attributes add on top — they don't redistribute from physical. A weapon with 12% fire elemental_damage deals 100% physical + 12% fire = 112% total. Each element's share then runs through the reduction/weakness pipeline separately.
Flat elemental damage bonuses from gear are added on top, per element, before any reductions apply.
Each element's damage is modified by the defender's effective reduction (decreases damage) and weakness (increases damage) for that element. Reduction is hard-capped at 99% per element — at least 1% of post-weakness damage always gets through. See Caps. 30% reduction with 0% weakness = 0.70x damage. 0% reduction with 30% weakness = 1.30x damage.
Flat reduction absorbs a fixed amount of damage per element after percentage modifiers but before armor. Unlike percentage reduction, flat reduction does not create elemental weakness.
Armor provides diminishing returns damage reduction. See the Armor Formula section below for the full breakdown.
A gaussian roll with mean 1.0 and sigma 0.1, clamped between 0.7 and 1.3, adds slight variance to every hit. Most hits land near 1.0x but occasional high/low rolls create drama.
Every hit always deals at least 1 damage. No attack can be fully nullified by armor or reductions.
Armor uses a hyperbolic formula that provides diminishing returns. The ad (armor divisor) value scales with defender level, meaning higher-level defenders need more armor to achieve the same reduction percentage.
Player armor from equipment is multiplied by an effectiveness factor before entering the formula. This reduces the raw armor value to prevent over-stacking.
| Difficulty Range | Effectiveness |
|---|---|
| 0 – 149 | 0.50 |
| 150 – 249 | 0.49 |
| 250 – 499 | 0.48 |
| 500 – 749 | 0.47 |
| 750 – 999 | 0.46 |
| 1000+ | 0.45 |
The chart below shows how much damage armor absorbs at different defender levels. Higher-level defenders have a larger ad divisor, so they need proportionally more armor to reach the same reduction.
At level 50 (ad=2000), 10,000 armor absorbs ~83% of damage. At level 500 (ad=11,000), the same armor only absorbs ~48%. Gear must scale with level to maintain the same protection.
At the start of each fight, both sides roll initiative. The combatant with higher initiative attacks first each round. Ties go to the player.
| Mechanic | Effect | Details |
|---|---|---|
| Critical Hit | 2.0x base (physical only) | Base multiplier of 2.0x, plus crit_multiplier_bonus from gear. Only applies to the physical portion of damage. A weapon dealing 60% fire + 40% physical with a 3.0x crit multiplies only the 40% physical part by 3.0x. |
| Dodge | Avoids all damage | Checked before block. If dodged, can trigger a counterattack. |
| Block | 50% damage reduction | Shield block_chance (5–20%). Checked after dodge fails. Can trigger shield stun. |
| Reflect | Excludes + bounces % back | Per-element, pre-pipeline. Reflected portion is excluded from incoming damage AND dealt back to the attacker. Amplified by Elemental Damage Boost. See below. |
| Elemental Dmg Boost | Amplifies elemental output | Per non-physical element (5–20% per attr). Applied to outgoing damage after calc_damage, before crit. Also amplifies reflect (both exclusion and reflected damage). Softcapped at 150%. |
| Heal over Time | Heals HP per round | Applied at the start of each round, before any attacks. Both sides benefit from their own HoT. |
| Life Leech | Heals % of damage dealt | floor(damage × leech% / 100). Only triggers on successful hits (not dodged/blocked to 0). |
| Summon | Extra attack (item_level × 2) | Procs per attack based on weapon's summon chance (20–50%). Single-element. Amplified by Elemental Damage Boost. Max 1 summon attribute per weapon, max 1 proc per side per round. |
Reflect operates pre-pipeline — before the defender's resist, weakness, and armor are applied. The reflected portion is simultaneously excluded from the incoming hit and dealt back to the attacker.
Resist and reflect stack multiplicatively: 20% exclusion + 30% resist = 44% total reduction for that element. This gives two distinct paths to elemental mitigation.
When the defender blocks an attack, there is a chance to stun the attacker. Stun has two effects: an immediate shield bash and the attacker skips their next attack.
Stun chance comes from the stun_chance armor attribute (2–10% per attr, all armor slots) and the Resilience skill (+1.0% per pick). No softcap on stun_chance — block_chance is already softcapped, and the multiplicative gate limits effective rates.
The bash uses the shield's effective armor value as its damage input. Resistance attributes on the shield add elemental damage to the bash — a fire-resistant shield hits with fire, an ice-resistant shield hits with ice, and so on.
| Property | Bash |
|---|---|
| Damage input | Shield effective armor |
| Elemental distribution | Physical 100% base + shield reduction attributes add elemental % |
| Flat elemental damage | Shield flat_reduction attributes add flat elemental damage |
| Elemental boost | Yes (uses blocker's elemental_damage_boost) |
| Crit | Yes (uses blocker's crit chance and multiplier) |
| Life leech | Yes |
| Summon | No |
| Enemy can dodge | No (reactive hit) |
| Enemy can block | Yes |
| Enemy reflect | Yes |
The stunned enemy skips their next attack opportunity. Stunned enemies still receive HoT healing.
Stun creates a self-limiting steady state: stunned rounds have no enemy attack, so no chance to trigger more stuns.
At 22.7% block × 55.1% stun = 12.5% effective stun rate: 11.1% of rounds are stunned, enemy attacks in 88.9% of rounds.
When the defender dodges an attack, there is a chance to immediately counterattack with a full weapon strike.
Counterattack chance comes from the counterattack_chance armor attribute (2–10% per attr, all armor except shield) and the Evasion skill (+1.0% per pick). No softcap on counterattack_chance.
| Property | Counterattack |
|---|---|
| Damage input | Full weapon damage (same as normal attack) |
| Elemental distribution | Same as normal attack |
| Flat elemental damage | Yes |
| Crit | Yes |
| Life leech | Yes |
| Summon | Yes |
| Enemy can dodge | No (too fast to react — prevents infinite chains) |
| Enemy can block | Yes (blocking a counter can trigger stun) |
| Enemy reflect | Yes |
When a counterattack lands, the attacker gains a Momentum buff — a burst of speed that grants one bonus weapon attack per round for a short duration.
| Parameter | Value |
|---|---|
| Duration | 3 rounds of bonus attacks (including the proc round) |
| Cooldown | 10 rounds after the buff expires before it can proc again |
| Property | Momentum Attack |
|---|---|
| Damage input | Full weapon damage (same as normal attack) |
| Crit | Yes |
| Life leech | Yes |
| Summon | Yes |
| Enemy can dodge | Yes |
| Enemy can block | Yes |
| Triggers counter on dodge? | No (prevents infinite chains) |
| Triggers stun on block? | No |
If the Momentum holder is stunned, the bonus attack is skipped for that round. However, the Momentum timer still ticks down — stun effectively wastes a round of the buff.
Several combat stats use soft caps to prevent extreme stacking. Above a threshold, each additional bracket of effective value costs increasingly more raw stat points.
Threshold: 50%. Bracket size: 10%.
| Raw Value | Effective Value | Ratio |
|---|---|---|
| 0 – 50% | 0 – 50% | 1:1 (no penalty) |
| 50 – 70% | 50 – 60% | 2:1 |
| 70 – 100% | 60 – 70% | 3:1 |
| 100 – 140% | 70 – 80% | 4:1 |
| 140 – 190% | 80 – 90% | 5:1 |
| 190 – 250% | 90 – 100% | 6:1 |
Getting from 50% to 60% effective costs 20 raw points. Getting from 80% to 90% costs 50 raw points. Reaching 100% effective requires 250 raw points — five times the no-penalty threshold.
Hard cap: 99%. No soft cap — every point of raw reduction applies 1:1 up to the cap. Capped per element independently (Physical, Earth, Fire, Ice, Magic, Energy).
| Raw Value | Effective Value | Notes |
|---|---|---|
| 0 – 99% | 0 – 99% | 1:1 (no penalty) |
| 99% + | 99% (hard cap) | — no benefit from extra raw |
The hard cap applies symmetrically to both players and enemies. At 99% effective resistance, at least 1% of post-weakness damage always gets through. Stacking beyond 99% raw has no benefit.
Flat reduction (absolute points per hit) is not capped — it already has a natural per-hit floor at 0 and doesn't benefit unboundedly from stacking.
Base multiplier: 2.0x. Threshold: 5.0x (300 raw units above base). Bracket: 1.0x (100 raw units). Same diminishing pattern as chance stats.
Below 50% raw, the curve follows the 1:1 diagonal exactly. Above the threshold, each successive bracket requires more raw stat for less effective gain. At 200% raw, you only get ~91.7% effective — still short of the theoretical 100% cap.
Threshold: 150%. Bracket size: 50%. Applied per element independently. Same diminishing pattern as chance stats.
Natural drop dilution keeps boost well below the softcap for most players. The cap primarily prevents extreme attune-smithing abuse.
Stun chance and counterattack chance have no softcap. Their primary trigger stats (block and dodge) are already softcapped, and the multiplicative gate limits effective rates. Even at 50% block × 100% stun, effective stun rate is 50%. Double-softcapping would make these builds unviable.