anchor.diff:  
   
   function TKMScriptActions.GiveUnit(aPlayer, aType, X, Y, aDir: Word): Integer;
  -var U: TKMUnit;
  -begin
  -  Result := -1;
  +var
  +  U: TKMUnit;
  +begin
  +  Result := -1;
  +
     //Verify all input parameters
     if InRange(aPlayer, 0, fPlayers.Count - 1)
  -  and (aType in [UnitTypeToIndex[CITIZEN_MIN]..UnitTypeToIndex[CITIZEN_MAX]])
  -  and gTerrain.TileInMapCoords(X,Y)
  -  and (TKMDirection(aDir+1) in [dir_N..dir_NW]) then
  +  and (aType in [UnitTypeToIndex[CITIZEN_MIN] .. UnitTypeToIndex[CITIZEN_MAX]])
  +  and gTerrain.TileInMapCoords(X, Y)
  +  and (TKMDirection(aDir + 1) in [dir_N .. dir_NW]) then
     begin
       U := fPlayers[aPlayer].AddUnit(UnitIndexToType[aType], KMPoint(X,Y));
       if U = nil then Exit;
       Result := U.ID;
  -    U.Direction := TKMDirection(aDir+1);
  +    U.Direction := TKMDirection(aDir + 1);
     end
     else
       LogError('Actions.GiveUnit', [aPlayer, aType, X, Y, aDir]);
  
positive.code:   //Verify all input parameters
    if InRange(aPlayer, 0, fPlayers.Count - 1)
    and InRange(aCount, 0, High(Word))
    and (aType in [Low(WareIndexToType)..High(WareIndexToType)]) then
    begin
      H := fPlayers[aPlayer].FindHouse(ht_Store, 1);
      if H <> nil then
  
negative.code:   //Verify all input parameters
    if InRange(aPlayer, 0, fPlayers.Count - 1)
    and InRange(aCount, 0, High(Word))
    and (WareIndexToType[aType] in [WARFARE_MIN .. WARFARE_MAX]) then
    begin
      H := fPlayers[aPlayer].FindHouse(ht_Barracks, 1);
      if H <> nil then
  