anchor.diff:      and (gHands[aPlayer2].Enabled) then
       begin
         gHands[aPlayer1].ShareBeacons[aPlayer2] := aShare;
  -      if aCompliment then
  +      if aBothWays then
           gHands[aPlayer2].ShareBeacons[aPlayer1] := aShare;
       end
       else
  -      LogParamWarning('Actions.PlayerShareBeacons', [aPlayer1, aPlayer2, Byte(aCompliment), Byte(aShare)]);
  +      LogParamWarning('Actions.PlayerShareBeacons', [aPlayer1, aPlayer2, Byte(aBothWays), Byte(aShare)]);
     except
       gScriptEvents.ExceptionOutsideScript := True; //Don't blame script for this exception
       raise;
  
positive.code:     procedure PlayerAllianceChange(aPlayer1, aPlayer2: Byte; aCompliment, aAllied: Boolean);
      procedure PlayerAddDefaultGoals(aPlayer: Byte; aBuildings: Boolean);
      procedure PlayerDefeat(aPlayer: Word);
      procedure PlayerShareBeacons(aPlayer1, aPlayer2: Word; aCompliment, aShare: Boolean);
      procedure PlayerShareFog(aPlayer1, aPlayer2: Word; aShare: Boolean);
      procedure PlayerShareFogCompliment(aPlayer1, aPlayer2: Word; aShare: Boolean);
      procedure PlayerWareDistribution(aPlayer, aWareType, aHouseType, aAmount: Byte);
  
negative.code: 
  //* Version: 7000+
  //* Stops playing a looped sound that was previously started with either Actions.PlayOGGLooped or Actions.PlayOGGAtLocationLooped.
  //* aSoundIndex: value that was returned by either of those functions when the looped sound was started.
  procedure TKMScriptActions.StopLoopedOGG(aSoundIndex: Integer);
  begin
    try
      gScriptSounds.RemoveLoopSound(aSoundIndex);
    except
      gScriptEvents.ExceptionOutsideScript := True; //Don't blame script for this exception
      raise;
  