anchor.diff:  
     fOwnerNikname := '';
     fHandType   := hndComputer;
  -  fHandAITypes := [];
     for I := 0 to MAX_HANDS - 1 do
     begin
       fShareFOW[I] := True; //Share FOW between allies by default (it only affects allied players)
  
positive.code:     property UnitGroups: TKMUnitGroups read fUnitGroups;
      property MessageLog: TKMMessageLog read fMessageLog;
  
      procedure SetHandIndex(aNewIndex: TKMHandIndex);
      procedure SetOwnerNikname(const aName: AnsiString); //MP owner nikname (empty in SP)
      property OwnerNikname: AnsiString read fOwnerNikname;
      function OwnerName(aNumberedAIs: Boolean = True): UnicodeString; //Universal owner name
      function GetOwnerName: UnicodeString;
      function HasAssets: Boolean;
      property HandType: TKMHandType read fHandType write fHandType; //Is it Human or AI
      property HandAITypes: TKMAITypeSet read fHandAITypes;
      property FlagColor: Cardinal read fFlagColor write fFlagColor;
      property GameFlagColor: Cardinal read GetGameFlagColor;
      property FlagColorIndex: Byte read GetColorIndex;
  
negative.code: procedure TKMHand.SetAlliances(aIndex: Integer; aValue: TKMAllianceType);
  begin
    fAlliances[aIndex] := aValue;
    gAIFields.Supervisor.UpdateAlliances();
  end;
  
  
  