anchor.diff:  
   
   implementation
  -uses KM_PlayersCollection, KM_Terrain, KM_Sound, KM_Game, KM_Units_Warrior;
  +uses KM_PlayersCollection, KM_Terrain, KM_Sound, KM_Units_Warrior;
   
   
   { TUnitActionFight }
  
positive.code:                fOpponent.IsDead; //unlikely, since unit is already performed TTaskDie
    end;
  
  var Cycle,Step:byte; DirectionModifier:byte; IsHit: boolean; Damage: word;
  begin
    DoEnd := CheckDoEnd;
    if DoEnd then
  
negative.code:   //Only hit unit on step 5
    if Step = 5 then
    begin
      ut := byte(KMUnit.GetUnitType);
      ot := byte(fOpponent.GetUnitType);
      Damage := UnitStat[ut].Attack; //Base damage
      if InRange(ot, low(UnitGroups), high(UnitGroups)) then
        Damage := Damage + UnitStat[ut].AttackHorseBonus * byte(UnitGroups[ot] = gt_Mounted); //Add Anti-horse bonus
      Damage := Damage * GetDirModifier(KMUnit.Direction,fOpponent.Direction); //Direction modifier
      Damage := Damage div max(UnitStat[ot].Defence,1); //Not needed, but animals have 0 defence
  
      IsHit := (Damage >= Random(101)); //0..100
  
  