anchor.diff:  
   
   function TKMScriptActions.GiveHouse(aPlayer, aHouseType, X,Y: Integer): Integer;
  -var H: TKMHouse;
  -begin
  -  Result := -1;
  +var
  +  H: TKMHouse;
  +begin
  +  Result := -1;
  +
     //Verify all input parameters
     if InRange(aPlayer, 0, fPlayers.Count - 1)
  -  and (aHouseType in [Low(HouseIndexToType)..High(HouseIndexToType)])
  -  and gTerrain.TileInMapCoords(X,Y) then
  +  and (aHouseType in [Low(HouseIndexToType) .. High(HouseIndexToType)])
  +  and gTerrain.TileInMapCoords(X, Y) then
     begin
       if gTerrain.CanPlaceHouseFromScript(HouseIndexToType[aHouseType], KMPoint(X, Y)) then
       begin
  
positive.code: 
  
  function TKMScriptActions.GiveUnit(aPlayer, aType, X, Y, aDir: Word): Integer;
  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
    begin
      U := fPlayers[aPlayer].AddUnit(UnitIndexToType[aType], KMPoint(X,Y));
      if U = nil then Exit;
      Result := U.ID;
      U.Direction := TKMDirection(aDir+1);
    end
    else
      LogError('Actions.GiveUnit', [aPlayer, aType, X, Y, aDir]);
  
negative.code: 
  
  function TKMScriptActions.GiveAnimal(aType, X, Y: Word): Integer;
  var
    U: TKMUnit;
  begin
    Result := -1;
  
    //Verify all input parameters
    if (aType in [UnitTypeToIndex[ANIMAL_MIN] .. UnitTypeToIndex[ANIMAL_MAX]])
    and gTerrain.TileInMapCoords(X, Y) then
    begin
      U := fPlayers.PlayerAnimals.AddUnit(UnitIndexToType[aType], KMPoint(X,Y));
      if U <> nil then
  