anchor.diff:          break;
         end;
   
  +  if not gAIFields.Influences.GetAllianceIdx(fOwner,AllianceIdx) then
  +    Exit;
     // First line of defences
     for I := 0 to fPositions.Count - 1 do
       if (Positions[I].Line = 0) then
       begin
  -      Threat := 0;
         Loc := Positions[I].Position.Loc;
         Idx := gAIFields.NavMesh.KMPoint2Polygon[Loc];
  -      for GT := Low(TKMGroupType) to High(TKMGroupType) do
  -        Threat := Threat + gAIFields.Influences.EnemyGroupPresence[ fOwner, Idx, GT ];
  +      Threat := 0;
  +      for GT := Low(GT) to High(GT) do
  +        Threat := Threat + gAIFields.Influences.Presence[ AllianceIdx, Idx, GT ];
   
         // Draw defensive lines as a triangles
         Col := Max( $22, Min($FF, Threat) );
  
positive.code:   fOwner := aOwner;
    fCityUnderAttack := False;
    fPositions := TKMList.Create;
    fAttack := aAttack;
  
    for GT := Low(TKMGroupType) to High(TKMGroupType) do
    begin
  
negative.code: 
  
  { TKMArmyDefence }
  constructor TKMArmyDefence.Create(aOwner: TKMHandID);
  var
    GT: TKMGroupType;
  begin
  