anchor.diff:      gHands[fOwner].Stats.WareDistribution[wt_coal, ht_WeaponSmithy] := 2;
       gHands[fOwner].Stats.WareDistribution[wt_coal, ht_IronSmithy] := 3;
       gHands[fOwner].Stats.WareDistribution[wt_coal, ht_ArmorSmithy] := 2;
  +    gHands[fOwner].Stats.WareDistribution[wt_wood, ht_ArmorWorkshop] := 2;
  +    gHands[fOwner].Stats.WareDistribution[wt_wood, ht_WeaponWorkshop] := 5;
   
       gHands[fOwner].Houses.UpdateResRequest;
     end;
   const
     WORKER_COEF = 125.0; // Max build cnt ~ 5400
   var
  -  GoldCnt, IronCnt, FieldCnt, BuildCnt, FreeWorkersCnt, I, Cnt: Integer;
  -begin
  +  GoldCnt, IronCnt, FieldCnt, BuildCnt: Integer;
  +begin
  +
  +  //gGame.GameOptions.Peacetime := 100; // DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG
  +
     SetWareDistribution();
   
     fSetup.ApplyAgressiveBuilderSetup; // DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG DELETE DEBUG
  
positive.code:   SELL_LIMIT = 100;
  begin
  
  
    MarketCnt := gHands[fOwner].Stats.GetHouseQty(ht_Marketplace);
    if MarketCnt = 0 then
      Exit;
  
    //TryBuyItem(wt_Coal, wt_GoldOre);
    //{
    RequiedCnt := 0;
    SetLength(RequiredWares,3);
  
    // Gold
    if (gHands[fOwner].Stats.GetHouseQty(ht_Metallurgists) = 0)
       AND (gHands[fOwner].Stats.GetWareBalance(wt_Gold) <= LACK_OF_GOLD) then
       AddWare(wt_Gold);
    // Gold ore
    if ( gHands[fOwner].Stats.GetHouseQty(ht_GoldMine) < gHands[fOwner].Stats.GetHouseQty(ht_Metallurgists) )
      AND ( gHands[fOwner].Stats.GetWareBalance(wt_Gold) < MIN_GOLD_AMOUNT )
      AND ( gHands[fOwner].Stats.GetWareBalance(wt_GoldOre) < MIN_GOLD_AMOUNT ) then
      AddWare(wt_GoldOre);
    // Coal
    if ( gHands[fOwner].Stats.GetHouseQty(ht_CoalMine) < (gHands[fOwner].Stats.GetHouseQty(ht_Metallurgists) + gHands[fOwner].Stats.GetHouseQty(ht_IronSmithy) + gHands[fOwner].Stats.GetHouseQty(ht_WeaponSmithy) + gHands[fOwner].Stats.GetHouseQty(ht_ArmorSmithy)) )
      AND ( gHands[fOwner].Stats.GetWareBalance(wt_Coal) < MIN_GOLD_AMOUNT ) then
      AddWare(wt_Coal);
    // Stone
    if (gHands[fOwner].Stats.GetWareBalance(wt_Gold) < LACK_OF_STONE)
      AND (gHands[fOwner].Stats.GetHouseQty(ht_Quary) = 0) then
      AddWare(wt_Stone);
  
    if RequiedCnt = 0 then
      Exit;
  
negative.code:   EnemyEval := gAIFields.Eye.ArmyEvaluation.AllianceEvaluation[fOwner, at_Enemy];
  
    // Compute requirements of warriors
    for UT := Low(fWarriorsDemands) to High(fWarriorsDemands) do
      fWarriorsDemands[UT] := 0;
    for GT := Low(TGroupType) to High(TGroupType) do
      ComputeGroupDemands(GT, IronRatio);
  
    // Make sure that we always produce something
    Sum := 0;
    for UT := Low(fWarriorsDemands) to High(fWarriorsDemands) do
      Sum := Sum + fWarriorsDemands[UT];
    if (Sum < 20) then
      CheckMinArmyReq();
  
  