anchor.diff:  end;
   
   
  +procedure TKMHandAI.AfterMissionInit();
  +begin
  +  fMayor.AfterMissionInit;
  +  fCityManagement.AfterMissionInit;
  +end;   
  +
  +
   //todo: Updates should be well separated, maybe we can make an interleaved array or something
   //where updates will stacked to execute 1 at a tick
   //OR maybe we can collect all Updates into one list and run them from there (sounds like a better more manageble idea)
  
positive.code:     property Goals: TKMGoals read fGoals;
      property Mayor: TKMayor read fMayor;
      property Setup: TKMHandAISetup read fSetup;
  
      procedure Defeat(aShowDefeatMessage: Boolean = True); //Defeat the player, this is not reversible
      procedure Victory; //Set this player as victorious, this is not reversible
  
negative.code:   fGeneral := TKMGeneral.Create(fOwner, fSetup);
    fGoals := TKMGoals.Create;
    fWonOrLost := wol_None;
    
    fCityManagement := TKMCityManagement.Create(fOwner, fSetup);
  end;
  
  
  