anchor.diff:  {$I KaM_Remake.inc}
   interface
   uses
  -   Classes,
  +   Classes, SysUtils,
      KM_Controls, KM_Defaults, KM_Pics,
      KM_Points, KM_AIAttacks;
   
  
positive.code: 
  
  procedure TKMMapEdAttack.Attack_Close(Sender: TObject);
  var
    AA: TAIAttack;
    GT: TGroupType;
  begin
    if Sender = Button_AttackOk then
    begin
      //Copy attack info from controls to Attacks
      AA.AttackType := TAIAttackType(Radio_AttackType.ItemIndex);
      AA.Delay := NumEdit_AttackDelay.Value * 10;
      AA.TotalMen := NumEdit_AttackMen.Value;
      for GT := Low(TGroupType) to High(TGroupType) do
        AA.GroupAmounts[GT] := NumEdit_AttackAmount[GT].Value;
      AA.TakeAll := CheckBox_AttackTakeAll.Checked;
      AA.Target := TAIAttackTarget(Radio_AttackTarget.ItemIndex);
      AA.Range := TrackBar_AttackRange.Position;
      AA.CustomPosition := KMPoint(NumEdit_AttackLocX.Value, NumEdit_AttackLocY.Value);
  
      gPlayers[fOwner].AI.General.Attacks[fIndex] := AA;
    end;
  
    Panel_Attack.Hide;
    fOnDone(Self);
  
negative.code: var
    GT: TGroupType;
  begin
    Label_AttackHeader.Caption := gResTexts[TX_MAPED_AI_ATTACK_INFO] + ' (' + IntToStr(fIndex) + ')';
  
    //Set attack properties to UI
    Radio_AttackType.ItemIndex := Byte(aAttack.AttackType);
    NumEdit_AttackDelay.Value := aAttack.Delay div 10;
  