anchor.diff:      fWarfare.SteelArmor.SteelTheory := Max(0, ArmorPerMin - DeficitSteel);
     end;
   
  -  IronProduction := IronPerMin;
     IronConsumption := SteelConsumptionRate; //Any not being used for steel is excess
  +  IronReserve := gHands[fOwner].Stats.GetWareBalance(wt_IronOre) / IronConsumption;
  +  IronProduction := IronPerMin + Max(IronReserve - 30, 0);
   
     if IronProduction >= IronConsumption then
     begin
  
positive.code: 
  procedure TKMayorBalance.DistributeCoal;
  var
    CoalProductionRate, CoalConsumptionRate: Single;
    GoldPerMin, SteelPerMin, WeaponsPerMin, ArmorPerMin: Single;
    ExtraCoal, DeficitCoal: Single;
  begin
    CoalProductionRate := HouseCount(ht_CoalMine) * ProductionRate[wt_Coal];
  
    with fWarfare do
    begin
      //Theoretical gold production
  
negative.code: const
    BEAST_COST = 4;
  var
    CornProduction, CornConsumption, CornReserve: Single;
    FlourPerMin, PigPerMin, HorsePerMin: Single;
    CornExtra, CornDeficit: Single;
  begin
  
    //With stable production rate we can assume consumption rate that would be required
    FlourPerMin := HouseCount(ht_Mill) * ProductionRate[wt_Flour];
    PigPerMin   := HouseCount(ht_Swine) * ProductionRate[wt_Pig] * BEAST_COST;
    HorsePerMin := HouseCount(ht_Stables) * ProductionRate[wt_Horse] * BEAST_COST;
    CornConsumption := FlourPerMin + PigPerMin + HorsePerMin;
    CornReserve := gHands[fOwner].Stats.GetWareBalance(wt_Corn) / CornConsumption;
    CornProduction := HouseCount(ht_Farm) * ProductionRate[wt_Corn] + Max(CornReserve - 30, 0);
  
    if CornProduction >= CornConsumption then
    begin
  