anchor.diff:    gHands[aHandIndex].MessageLog.Add(aKind, aTextID, aLoc);
   
     //Don't play sound in replays or spectator
  -  if (aHandIndex = gMySpectator.HandID) and (fGameMode in [gmSingle, gmCampaign, gmMulti]) then
  +  if (aHandIndex = gMySpectator.HandID) and IsNormalGame then
       gSoundPlayer.Play(sfxMessageNotice, 2);
   end;
   
  
positive.code:     //MP does not saves view position cos of save identity for all players
      fActiveInterface.SyncUIView(KMPointF(gMySpectator.Hand.CenterScreen));
      //In MP saves hotkeys can't be saved by UI, they must be network synced
      if fGameMode in [gmSingle, gmCampaign, gmMulti] then
        fGamePlayInterface.LoadHotkeysFromHand;
    end;
  
  
negative.code: function TKMGame.GetControlledHandIndex: TKMHandID;
  begin
    Result := -1;
    if IsNormalGame then
      Result := gMySpectator.HandID;
  end;
  
  