anchor.diff:    sqr_RANGE = 12*12;
     sqr_INTEREST_DISTANCE_Group = 30*30;
     sqr_INTEREST_DISTANCE_House = 20*20;
  +  sqr_MAX_DISTANCE_FROM_HOUSE = 10*10;
  +  MAX_ATTACKERS_PER_HOUSE = 12;
     WarriorPrice: array [utMilitia..utHorseman] of Single = (
       1.5,2.0,2.5,2.0,2.5, // utMilitia,utAxeFighter,utSwordsman,utBowman,utArbaletman,
       2.0,2.5,2.0,2.5,     // utPikeman,utHallebardman,utHorseScout,utCavalry
  
positive.code:   SQR_DANGEROUS_DISTANCE = 15*15;
    SQR_OFFENSIVE_DISTANCE = 30*30;
    INFLUENCE_THRESHOLD = 1;
  var
    InCombat: Boolean;
    PL: TKMHandID;
  
negative.code:     end;
  
      // Set targets
      // Archers - higher distance
      for IdxA := 0 to CntA - 1 do
        if (A[IdxA].GroupType = gtRanged) then
        begin
  