anchor.diff:                              end
                               else
                               begin
  -                              Inc(fAttackPositionsCount);
  -                              SetLength(fAttackPositions, fAttackPositionsCount+1);
  -                              fAttackPositions[fAttackPositionsCount-1].Group := fLastTroop;
  -                              fAttackPositions[fAttackPositionsCount-1].Target := KMPoint(P[0]+1,P[1]+1);
  +                              attackPos.Group := fLastTroop;
  +                              attackPos.Target := KMPoint(P[0]+1,P[1]+1);
  +                              fAttackPositions.Add(attackPos);
                               end
                             else
                               AddError('ct_AttackPosition without prior declaration of Troop');
  
positive.code:   H: TKMHouse;
    U: TKMUnit;
  begin
    Assert((fParsingMode <> mpmEditor) or (fAttackPositionsCount = 0), 'AttackPositions should be handled by MapEd');
  
    for I := 0 to fAttackPositionsCount - 1 do
      with fAttackPositions[I] do
      begin
        H := gHands.HousesHitTest(Target.X, Target.Y); //Attack house
  
negative.code: constructor TKMMissionParserStandard.Create(aMode: TKMMissionParsingMode; var aPlayersEnabled: TKMHandEnabledArray);
  begin
    inherited Create;
  
    Init(aMode);
  
    //Tells us which player should be enabled and which ignored/skipped
    fPlayerEnabled := aPlayersEnabled;
  end;
  
  
  procedure TKMMissionParserStandard.Init(aMode: TKMMissionParsingMode);
  begin
    fAttackPositions := TList<TKMAttackPosition>.Create;
    fParsingMode := aMode;
    fDefaultLocation := 0;
  end;
  
  
  destructor TKMMissionParserStandard.Destroy;
  begin
    fAttackPositions.Free;
  
    inherited;
  end;
  
  
  