http://eador.com/B2/viewtopic.php?p=111627#111627 ============
Medal for Courage
CurrentMorale - MaxMorale - MapMorale/2 > 5
MeleeKills + RangedKills > 0
Random(21 + CurrentMorale - MaxMorale) >= 30,
Current morale - unit's morale in the end of the battle.
Mapmorale - unit's morale before the start of the battle.
============
Medal for Resilience
TotalDamageReceived >= MaxLife
MeleeKills + RangedKills > 0
Random(21 + TotalDamageReceived - MaxLife) >= 20
============
Order of the Marksman
Ammos > 2
MagicShotAbility == 0
RangedDamage >= 3 * RangedAttack
RangedKills > 1
Random(21 + RangedDamage + 5 * RangedKills - 3 * RangedAttack * Ammos) >= 30
Random(NumSniperMedals + 1) == 0
============
Will for Victory Order
MeleeDamage > 3 * (Attack + CounterAttack)
Random(21 + MeleeDamage - 3 * (Attack + CounterAttack)) >= 20
============
Medal for Zeal
UsedStamina >= MaxStamina
Random(21 + UsedStamina - MaxStamina) >= 20,
============
Mercenary Badge
Given to tavern units
============
Star of the Mage
MagicShotAbility > 0
RangedDamage >= 3 * RangedAttack
RangedKills > 1
Random(21 + RangedDamage + 5 * RangedKills - 3 * RangedAttack * Ammos) >= 30
Random(NumMageMedals + 1) == 0
============
Hero's Cross
MeleeKills + RangedKills > 4
Random(11 + MeleeKills + RangedKills) >= 13
DamageReceived >= MaxLife * 2 / 3
============
Healer's Medal
HealingAbility > 0
HealedLife >= 3 * HealingAbility
Random(21 + HealedLife - HealingAbility * 3) >= 20
Random(NumHealingMedals + 1) == 0
============
Order of the Victor
floor(TotalAllies / AliveAllies) > 5
MeleeKills + RangedKills > 0
Random(21 + TotalAllies + MeleeKills + RangedKills) >= 20,
hero and summons doesn't count. This is why militia/goblins useful - let someone make a kill, then finish enemy with chaos spells :)
============
Medal for Agility
RangedDamageReceived > CurrentLife/2
MeleeKills + RangedKills > 0
Random(21 + RangedDamageReceived - CurrentLife/2) >= 20
============
Order of the Defender
MeleeDamageReceived > CurrentLife/2
MeleeKills > 0
Random(21 + MeleeDamageReceived - CurrentLife/2) >= 20,
============
Medal for Resolution
SpellDamageReceived > CurrentLife/2
MeleeKills + RangedKills > 0
Random(21 + SpellDamageReceived - CurrentLife/2) >= 20,
============
Battlemage's Badge
SpellsStamina >= 3
RangedKills > 0
Random(10 + SpellsStamina + RangedKills) >= 10
Random(NumBattlemageBadges + 1) == 0
============
Fire pennant
Ammo > 2
RangedAttack > 0
RangedDamage >= RangedAttack * 3
MagicShot == 0
RangedKills > 1
DamageReceived >= MaxLife * 2 / 3
Random(21 + RangedDamage + 5 * RangedKills - 3 * RangedAttack * Ammo) >= 30
Random(NumFirePennants + 1) == 0
===============