anchor.diff:  
   
   procedure TKMArmyManagement.Paint();
  -const
  -  COLOR_WHITE = $80FFFFFF;
  -  COLOR_BLACK = $80000000;
  -  COLOR_GREEN = $6000FF00;
  -  COLOR_RED = $800000FF;
  -  COLOR_YELLOW = $8000FFFF;
  -  COLOR_GREEN_Field = $4400FF00;
  -  COLOR_GREEN_Wine = $3355FFFF;
  -  COLOR_BLUE = $60FF0000;
  -begin
  -  gRenderAux.LineOnTerrain(KMPoint(2,2), KMPoint(4,4), $CCFF2222);
  -  //gRenderAux.CircleOnTerrain(CenterPlatoon.X, CenterPlatoon.Y, 5, $09FFFFFF, $99FFFFFF);
  -  //gRenderAux.Quad(Loc.X, Loc.Y, Color);
  +begin
  +  //gRenderAux.CircleOnTerrain(X, Y, 5, $09FFFFFF, $99FFFFFF);
  +  //gRenderAux.Quad(X, Y, Color: Cardinal);
   end;
   
   
  
positive.code: 
  
  procedure TKMArmyManagement.UpdateState(aTick: Cardinal);
  begin
  
  
    if (aTick + Byte(fOwner)) mod MAX_HANDS = 0 then
    begin
      if (gGame.MissionMode = mm_Tactic) then  // DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG
        fAttack.UpdateState(aTick);
  
      //CheckEnemyPresence; //Check enemy threat in close range and issue defensive attacks (or flee?)
      //CheckAndIssueAttack; //Attack enemy
      //Anything Else?
    end;
  end;
  
  
negative.code: interface
  uses
    Classes, KromUtils, Math, SysUtils,
    KM_CommonClasses, KM_Defaults, KM_Points,
    KM_Units, KM_UnitGroups, KM_AISetup,
    KM_HandStats, KM_ArmyAttack, KM_ArmyDefence,
    KM_NavMeshFloodPositioning;
  
  type
    TKMArmyManagement = class
    private
      fOwner: TKMHandIndex;
      fSetup: TKMHandAISetup;
      fLastEquippedTimeIron, fLastEquippedTimeLeather: Cardinal;
  
      fAttack: TKMArmyAttack;
      fDefence: TKMArmyDefence;
  
      fBalanceText: UnicodeString;
  
      procedure RecruitSoldiers();
      procedure CheckGroupsState();
      procedure CheckAttack();
    public
      constructor Create(aPlayer: TKMHandIndex; aSetup: TKMHandAISetup);
      destructor Destroy; override;
      procedure Save(SaveStream: TKMemoryStream);
      procedure Load(LoadStream: TKMemoryStream);
      procedure SyncLoad();
  
      property Attack: TKMArmyAttack read fAttack write fAttack;
      property Defence: TKMArmyDefence read fDefence write fDefence;
  
      procedure AfterMissionInit();
      procedure UpdateState(aTick: Cardinal);
      procedure OwnerUpdate(aPlayer: TKMHandIndex);
      procedure WarriorEquipped(aGroup: TKMUnitGroup);
      //function GetArmyDemand(): ...;
      //procedure RetaliateAgainstThreat(aAttacker: TKMUnit);
  
      procedure LogStatus(var aBalanceText: UnicodeString);
      procedure Paint();
  