anchor.diff:        Output := + GetHouseQty(htAny) * HOUSE_WEIGHT
                   + GetWeaponsProduced * WEAPONS_WEIGHT
                   - GetCitizensLost * CITIZENS_LOST;
  -      IronArmy := Min( GetWaresProduced(wtMetalArmor),
  -                         GetWaresProduced(wtHallebard)
  -                       + GetWaresProduced(wtArbalet)
  -                       + Min(GetWaresProduced(wtSword), GetWaresProduced(wtMetalShield))
  +      IronArmy := Min( GetWaresProduced(wtIronArmor),
  +                         GetWaresProduced(wtPike)
  +                       + GetWaresProduced(wtCrossbow)
  +                       + Min(GetWaresProduced(wtSword), GetWaresProduced(wtIronShield))
                        );
  -      WoodArmy := Min( GetWaresProduced(wtArmor),
  +      WoodArmy := Min( GetWaresProduced(wtLeatherArmor),
                            GetWaresProduced(wtBow)
                          + GetWaresProduced(wtPike)
  -                       + Min(GetWaresProduced(wtShield), GetWaresProduced(wtAxe))
  +                       + Min(GetWaresProduced(wtWoodenShield), GetWaresProduced(wtAxe))
                        );
  -      Militia := Min( Max(0,WoodArmy - GetWaresProduced(wtArmor)), GetWaresProduced(wtAxe));
  +      Militia := Min( Max(0,WoodArmy - GetWaresProduced(wtLeatherArmor)), GetWaresProduced(wtAxe));
         Output := Output
                   + IronArmy * IRON_SOLDIER
                   + WoodArmy * WOOD_SOLDIER
  
positive.code:     Output := + GetHouseQty(htAny) * HOUSE_WEIGHT
                + GetWeaponsProduced * WEAPONS_WEIGHT
                - GetCitizensLost * CITIZENS_LOST;
      IronArmy := Min( GetWaresProduced(wtMetalArmor),
                         GetWaresProduced(wtHallebard)
                       + GetWaresProduced(wtArbalet)
                       + Min(GetWaresProduced(wtSword), GetWaresProduced(wtMetalShield))
                     );
      WoodArmy := Min( GetWaresProduced(wtArmor),
                         GetWaresProduced(wtBow)
                       + GetWaresProduced(wtPike)
                       + Min(GetWaresProduced(wtShield), GetWaresProduced(wtAxe))
                     );
      Militia := Min( Max(0,WoodArmy - GetWaresProduced(wtArmor)), GetWaresProduced(wtAxe));
      Output := Output
                + IronArmy * IRON_SOLDIER
                + WoodArmy * WOOD_SOLDIER
  
negative.code:   MILITIA_SOLDIER = 3;
    COMPLETE_HOUSE = 5;
    {
      utMilitia,      utAxeFighter,   utSwordFighter,  utBowman,
      utArbaletman,   utPikeman,      utHallebardman,  utHorseScout,
      utCavalry,      utBarbarian,
      utPeasant,      utSlingshot,    utMetalBarbarian,utHorseman,
    }
    WARRIOR_PRICE: array[WARRIOR_MIN..WARRIOR_MAX] of Integer = (
      1, 3, 6, 3+4, // Militia     AxeFighter  utSwordFighter  utBowman
      5+4, 3, 5, 4, // Arbaletman  Pikeman     Hallebardman    utHorseScout
      7, 6,       // Cavalry     Barbarian
      2, 2+4, 6, 3  // Peasant     Slingshot   MetalBarbarian  utHorseman
  