anchor.diff:  function TKMScriptStates.PlayerAllianceCheck(aPlayer1, aPlayer2: Byte): Boolean;
   begin
     if  InRange(aPlayer1, 0, gHands.Count - 1)
  -  and InRange(aPlayer2, 0, gHands.Count - 1) then
  +  and InRange(aPlayer2, 0, gHands.Count - 1)
  +  and (gHands[aPlayer1].Enabled)
  +  and (gHands[aPlayer2].Enabled)then
       Result := gHands[aPlayer1].Alliances[aPlayer2] = at_Ally
     else
     begin
  
positive.code: procedure TKMScriptActions.PlayerShareFog(aPlayer1, aPlayer2: Word; aShare: Boolean);
  begin
    if  InRange(aPlayer1, 0, gHands.Count - 1)
    and InRange(aPlayer2, 0, gHands.Count - 1) then
      gHands[aPlayer1].ShareFOW[aPlayer2] := aShare
    else
      LogError('Actions.PlayerShareFog', [aPlayer1, aPlayer2, Byte(aShare)]);
  
negative.code:   //Verify all input parameters
    if InRange(aPlayer1, 0, gHands.Count - 1)
    and InRange(aPlayer2, 0, gHands.Count - 1)
    and (aPlayer1 <> aPlayer2)
    and (gHands[aPlayer1].Enabled)
    and (gHands[aPlayer2].Enabled) then
    begin
      gHands[aPlayer1].Alliances[aPlayer2] := ALLIED[aAllied];
      if aAllied then
  