anchor.diff:        end;
       end;
   
  -    TrunkConsumption := WoodPerMin / WT;
  -    TrunkReserve := gHands[fOwner].Stats.GetWareBalance(wt_Trunk) / TrunkConsumption;
  +    TrunkConsumption := WoodPerMin / Max(1,WT);
  +    TrunkReserve := gHands[fOwner].Stats.GetWareBalance(wt_Trunk) / Max(1,TrunkConsumption);
       TrunkProduction := TrunkPerMin + Max(TrunkReserve - 30, 0);
   
       //Trunk shares
  
positive.code:       if (WoodConsumption > 0) and (WoodProduction > WoodNeed) then
        begin
          DeficitWood := WoodConsumption - WoodProduction;
          WoodWeapon.WoodTheory := Max(0, WeaponsPerMin - DeficitWood / WEAP_COST);
          LeatherArmor.WoodTheory := Max(0, ShieldsPerMin - DeficitWood);
        end
        else
  
negative.code:   end;
  
    IronConsumption := SteelConsumptionRate; //Any not being used for steel is excess
    IronReserve := gHands[fOwner].Stats.GetWareBalance(wt_IronOre) / Max(1,IronConsumption);
    IronProduction := IronPerMin + Max(IronReserve - 30, 0);
  
    if IronProduction >= IronConsumption then
  