I’ve done a lot of research and work on the damage formula for Kingshot, and most of the posts and discussions about hero skills and SkillMod come from my work. Since Lordrush is similar to Kingshot, I thought it would help to write a simple damage formula guide for new Lordrush players too. This way, they can better understand the damage mechanics and plan their lineups around them.
Let me know in the comments if you want to see more Lordrush content from me, and whether I should build a battle simulator site for Lordrush similar to my kingshotsimulator.com.
The simplest way to write the expedition damage formula for the game is:
Kills = √Troops × (Your Attack × Your Lethality) / (Enemy's Defense × Enemy's Health) × SkillMod
Where SkillMod is:
SkillMod = (DamageUp × OppDefenseDown) / (OppDamageDown × DefenseUp)
Attack, Lethality, Defense, and Health are raw stats that come from many sources, such as hero stats, research, pets, and alliance research.
The Attack Up, Lethality Up, Defense Up, and Health Up you see in hero skill descriptions don’t change your actual Attack, Lethality, Defense, and Health values. You can confirm this by checking your battle reports. These bonuses go separately into SkillMod.
Attack Up, Lethality Up, Damage Up, and similar wordings usually go in the numerator of SkillMod. Defense Up, Health Up, Enemy Attack Down, and similar wordings go in the denominator.
SkillMod includes hero skill modifiers from your 3 main rally heroes and the first skills of your 4 joiners. If you use mythic main rally heroes, you get a total of 9 expedition skills from them and 4 skills from your joiners, so 13 hero skills go into SkillMod during battles. Troop skills are also included, so you get modifiers from troop skills on top of your hero skills.
When a hero’s first skill boosts Attack or Lethality, it counts as DamageUp. That means Attack and Lethality joiners basically work the same way. For example, 4 Miko equal 4 Rita in terms of joiner value.
The only difference is their identifiers (effect_op):
- Attack = 102
- Lethality = 101
Because the game treats them as separate identifiers, they stack differently. In Python, it looks like this:
damageUp = math.prod((1.0 + val/100.0) for val in stats_dict['DamageUp'].values())
Stacking Joiners: Same vs. Different
Stacking the same hero makes their buffs add up.
Mixing different heroes makes their buffs multiply, which gives you more damage.
Example 1: Four of the Same Hero (Miko or Rita, 25% each)
Four Mikos: bonus_effects['DamageUp'][102] = 25 + 25 + 25 + 25 = 100
Four Ritas: bonus_effects['DamageUp'][101] = 25 + 25 + 25 + 25 = 100
damageUp = 1 + 100/100 = 2.0 (100% boost)
Example 2: Two Mikos + Two Ritas (25% each)
Miko = effect_op 102, total 50
Rita = effect_op 101, total 50
bonus_effects['DamageUp'] = {101: 50, 102: 50}
damageUp = (1 + 50/100) * (1 + 50/100)
damageUp = 1.5 * 1.5 = 2.25 (125% boost)
Result
Four identical heroes give 2.0 (100% boost).
Two Mikos and two Ritas give 2.25 (125% boost).
That’s 12.5% extra damage just from mixing heroes.
Joiner Heroes, Their Effects, and Identifiers
Here’s a list of joiner heroes and how their first skills are counted:
- Rita: DamageUp (101)
- Sebastian: DamageUp (101)
- Hyeri: DamageUp (101)
- Miko: DamageUp (102)
- Bane: DefenseUp (111)
- Cyprus: DefenseUp (111)
- Flint: DefenseUp (113)
- Azad: OppDamageDown (201)
- Porter: DefenseUp / DefenseUp (112 / 113)
If you stack joiners with the same effect but different effect_op values, you’ll get a stronger SkillMod than if you use heroes with the same effect and the same effect_op.
Troop Stats
Troop stats are another misleading part of the game, and relying on the values shown on in-game troop cards isn’t a great idea. I’ve documented the actual base stats the game uses here: Troop Base Stats
Since Infantry have low base Attack and Lethality, Attack and Lethality bonuses give them very little value. The same goes for boosting Archer Health and Defense. Archers have very low base stats there, so those boosts aren’t worth much either, because bonuses apply to base stats.
For example, say we use T6 troops in a battle. Their known base stats are:
- Infantry T6: Attack 243, Lethality 10, Health 730, Defense 10
- Cavalry T6: Attack 730, Lethality 10, Health 243, Defense 10
- Archer T6: Attack 974, Lethality 10, Health 183, Defense 10
If you have +25% Attack, your calculations look like this. Here is the per-troop attack formula (no heroes, so SkillMod stays constant):
attack_per_troop = base_attack × (1 + attack_bonus) × base_lethality / 100
Because Lethality is 10:
attack_per_troop = base_attack × 1.25 × 10 / 100
= base_attack × 0.125
So:
Infantry attack per troop = 243 × 0.125 = 30.375
Cavalry attack per troop = 730 × 0.125 = 91.25
Archer attack per troop = 974 × 0.125 = 121.75