anchor.diff:      procedure SetAttackPopUp(aValue: TKMMapEdTownAttack);
     protected
       Panel_Offence: TKMPanel;
  -    CheckBox_AutoAttack: TKMCheckBox;
  -    ColumnBox_Attacks: TKMColumnBox;
  -    Button_AttacksAdd: TKMButton;
  -    Button_AttacksDel: TKMButton;
  +      CheckBox_AutoAttack: TKMCheckBox;
  +      ColumnBox_Attacks: TKMColumnBox;
  +      Button_AttacksAdd: TKMButton;
  +      Button_AttacksDel: TKMButton;
     public
       constructor Create(aParent: TKMPanel);
   
  
positive.code: 
  procedure TKMMapEdTownOffence.Attacks_Refresh;
  const
    Typ: array [TAIAttackType] of string = ('O', 'R');
    Tgt: array [TAIAttackTarget] of string = ('U', 'HA', 'HS', 'Pos');
  var
    I: Integer;
    A: TAIAttack;
  begin
    ColumnBox_Attacks.Clear;
  
    for I := 0 to gMySpectator.Hand.AI.General.Attacks.Count - 1 do
    begin
      A := gMySpectator.Hand.AI.General.Attacks[I];
      ColumnBox_Attacks.AddItem(MakeListRow([Typ[A.AttackType], IntToStr(A.Delay div 10), IntToStr(A.TotalMen), Tgt[A.Target], TypeToString(A.CustomPosition)]));
    end;
  
    Attacks_ListClick(nil);
  
negative.code:      gResTexts[TX_MAPED_AI_ATTACK_COL_DELAY],
       gResTexts[TX_MAPED_AI_ATTACK_COL_MEN],
       gResTexts[TX_MAPED_AI_ATTACK_COL_TARGET],
       gResTexts[TX_MAPED_AI_ATTACK_COL_LOC]], [0, 20, 60, 100, 130], True);
    ColumnBox_Attacks.OnClick := Attacks_ListClick;
    ColumnBox_Attacks.OnDoubleClick := Attacks_ListDoubleClick;
  
  