anchor.diff:  
   //* Version: 7000+
   //* Occurs when player built a road.
  -procedure TKMScriptEvents.ProcRoadBuilt(aPlayer: TKMHandID; aX, aY: Word);
  +procedure TKMScriptEvents.ProcRoadBuilt(aPlayer: TKMHandID; aX, aY: Integer);
   begin
     if MethodAssigned(evtRoadBuilt) then
       CallEventHandlers(evtRoadBuilt, [aPlayer, aX, aY]);
  
positive.code:     procedure Clear;
  
      procedure ProcBeacon(aPlayer: TKMHandID; aX, aY: Integer);
      procedure ProcFieldBuilt(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcHouseAfterDestroyed(aHouseType: TKMHouseType; aOwner: TKMHandID; aX, aY: Word);
      procedure ProcHouseBuilt(aHouse: TKMHouse);
      procedure ProcHousePlanDigged(aHouse: TKMHouse);
      procedure ProcHousePlanPlaced(aPlayer: TKMHandID; aX, aY: Word; aType: TKMHouseType);
      procedure ProcHousePlanRemoved(aPlayer: TKMHandID; aX, aY: Word; aType: TKMHouseType);
      procedure ProcHouseDamaged(aHouse: TKMHouse; aAttacker: TKMUnit);
      procedure ProcHouseDestroyed(aHouse: TKMHouse; aDestroyerIndex: TKMHandID);
      procedure ProcHouseWareCountChanged(aHouse: TKMHouse; aWare: TKMWareType; aCnt: Word; aChangeCnt: Integer);
      procedure ProcGameSpeedChanged(aSpeed: Single);
      procedure ProcGroupHungry(aGroup: TKMUnitGroup);
      procedure ProcGroupOrderAttackHouse(aGroup: TKMUnitGroup; aHouse: TKMHouse);
      procedure ProcGroupOrderAttackUnit(aGroup: TKMUnitGroup; aUnit: TKMUnit);
      procedure ProcGroupBeforeOrderSplit(aGroup: TKMUnitGroup; var aNewType: TKMUnitType; var aNewCnt: Integer; var aMixed: Boolean);
      procedure ProcGroupOrderMove(aGroup: TKMUnitGroup; aX, aY: Word);
      procedure ProcGroupOrderLink(aGroup1, aGroup2: TKMUnitGroup);
      procedure ProcGroupOrderSplit(aGroup, aNewGroup: TKMUnitGroup);
      procedure ProcMarketTrade(aMarket: TKMHouse; aFrom, aTo: TKMWareType);
      procedure ProcMissionStart;
      procedure ProcPeacetimeEnd;
      procedure ProcPlanRoadDigged(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlanRoadPlaced(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlanRoadRemoved(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlanFieldPlaced(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlanFieldRemoved(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlanWinefieldDigged(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlanWinefieldPlaced(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlanWinefieldRemoved(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcPlayerDefeated(aPlayer: TKMHandID);
      procedure ProcPlayerVictory(aPlayer: TKMHandID);
      procedure ProcRoadBuilt(aPlayer: TKMHandID; aX, aY: Word);
      procedure ProcTick;
      procedure ProcUnitAfterDied(aUnitType: TKMUnitType; aOwner: TKMHandID; aX, aY: Word);
      procedure ProcUnitAttacked(aUnit, aAttacker: TKMUnit);
      procedure ProcUnitDied(aUnit: TKMUnit; aKillerOwner: TKMHandID);
      procedure ProcUnitTrained(aUnit: TKMUnit);
      procedure ProcUnitWounded(aUnit, aAttacker: TKMUnit);
      procedure ProcWareProduced(aHouse: TKMHouse; aType: TKMWareType; aCount: Word);
      procedure ProcWarriorEquipped(aUnit: TKMUnit; aGroup: TKMUnitGroup);
      procedure ProcWarriorWalked(aUnit: TKMUnit; aToX, aToY: Integer);
      procedure ProcWinefieldBuilt(aPlayer: TKMHandID; aX, aY: Word);
  
      procedure Save(SaveStream: TKMemoryStream);
      procedure Load(LoadStream: TKMemoryStream);
  
negative.code: 
  //* Version: 5964
  //* Occurs when player has placed a road plan.
  procedure TKMScriptEvents.ProcPlanRoadPlaced(aPlayer: TKMHandID; aX, aY: Integer);
  begin
    if MethodAssigned(evtPlanRoadPlaced) then
      CallEventHandlers(evtPlanRoadPlaced, [aPlayer, aX, aY]);
  