anchor.diff:  
   
   //* Version: 7000+
  -//* Sets array of tiles info, with possible change of 
  -//* 1. terrain (tile type), rotation (same as for MapTileSet), 
  +//* Sets array of tiles info, with possible change of
  +//* 1. terrain (tile type), rotation (same as for MapTileSet),
   //* 2. tile height (same as for MapTileHeightSet)
   //* 3. tile object (same as for MapTileObjectSet)
   //* Works much faster, then applying all changes successively for every tile, because pathfinding compute is executed only once after all changes have been done
  -//* aTiles: array of TKMTerrainTileBrief. Check detailed info on this type further
  -//* aRevertOnFail - do we need to revert all changes on any error while applying changes. If True, then no changes will be applied on error. If False - we will continue apply changes where possible
  -//* aShowDetailedErrors - show detailed errors after. Can slow down the execution, because of logging. If aRevertOnFail is set to True, then only first error will be shown
  -//* Returns true, if there was no errors on any tile. False if there was at least 1 error.
  -//*
  -//* TKMTerrainTileBrief = record
  -//*    X, Y: Byte;     // Tile map coordinates
  -//*    Terrain: Byte;  // Terrain tile type (0..255)
  -//*    Rotation: Byte; // Tile rotation (0..3)
  -//*    Height: Byte;   // Heigth (0..100)
  -//*    Obj: Byte;      // Object (0..255)
  -//*    ChangeSet: TKMTileChangeTypeSet; // Set of changes. F.e. if we want to change terrain type and height, than ChangeSet should contain tctTerrain and tctHeight
  -//*  end
  -//* where TKMTileChangeTypeSet = set of TKMTileChangeType
  -//* where TKMTileChangeType = (tctTerrain, tctHeight, tctObject) // Determines what should be changed on tile
  +//* <pre>TKMTerrainTileBrief = record
  +//*   X, Y: Byte;     // Tile map coordinates
  +//*   Terrain: Byte;  // Terrain tile type (0..255)
  +//*   Rotation: Byte; // Tile rotation (0..3)
  +//*   Height: Byte;   // Heigth (0..100)
  +//*   Obj: Byte;      // Object (0..255)
  +//*   ChangeSet: TKMTileChangeTypeSet; // Set of changes.
  +//* end;
  +//* TKMTileChangeTypeSet = set of TKMTileChangeType
  +//* TKMTileChangeType = (tctTerrain, tctHeight, tctObject)</pre>
  +//* ChangeSet determines what should be changed on tile
  +//* F.e. if we want to change terrain type and height, then ChangeSet should contain tctTerrain and tctHeight
   //* Note: aTiles elements should start from 0, as for dynamic array. So f.e. to change map tile 1,1 we should set aTiles[0][0].
   //* Note: Errors are shown as map tiles (f.e. for error while applying aTiles[0][0] tile there will be a message with for map tile 1,1)
  -
  +//*
  +//* aTiles: Check detailed info on this type in description
  +//* aRevertOnFail: do we need to revert all changes on any error while applying changes. If True, then no changes will be applied on error. If False - we will continue apply changes where possible
  +//* aShowDetailedErrors: show detailed errors after. Can slow down the execution, because of logging. If aRevertOnFail is set to True, then only first error will be shown
  +//* Returns true, if there was no errors on any tile. False if there was at least 1 error.
   function TKMScriptActions.MapTilesArraySet(aTiles: array of TKMTerrainTileBrief; aRevertOnFail, aShowDetailedErrors: Boolean): Boolean;
     function GetTileErrorsStr(aErrorsIn: TKMTileChangeTypeSet): string;
     var TileChangeType: TKMTileChangeType;
  
positive.code: 
  //* Version: 7000+
  //* Stops playing any sound that was previously started by any of PlayWAV***, PlayOGG*** or PlaySound*** functions
  //* aSoundIndex is the value that was returned by either of those functions when the sound was started.
  procedure TKMScriptActions.StopSound(aSoundIndex: Integer);
  begin
    try
  
negative.code:     procedure PlayerAllianceChange(aPlayer1, aPlayer2: Byte; aCompliment, aAllied: Boolean);
      procedure PlayerAddDefaultGoals(aPlayer: Byte; aBuildings: Boolean);
      procedure PlayerDefeat(aPlayer: Word);
      procedure PlayerShareBeacons(aPlayer1, aPlayer2: Word; aBothWays, aShare: Boolean);
      procedure PlayerShareFog(aPlayer1, aPlayer2: Word; aShare: Boolean);
      procedure PlayerShareFogCompliment(aPlayer1, aPlayer2: Word; aShare: Boolean);
      procedure PlayerWareDistribution(aPlayer, aWareType, aHouseType, aAmount: Byte);
  