anchor.diff:  var i:integer;
   begin
     Inherited;
  -  fCommander := TKMUnitWarrior(fPlayers.GetUnitByID(integer(fPrivatePointerCommander))); //Using public access will update pointer usage
  -  OrderTarget := TKMUnitWarrior(fPlayers.GetUnitByID(integer(fOrderTarget))); //Using public access will update pointer usage
  +  fCommander := TKMUnitWarrior(fPlayers.GetUnitByID(integer(fCommander)));
  +  fOrderTarget := TKMUnitWarrior(fPlayers.GetUnitByID(integer(fOrderTarget)));
     if fMembers<>nil then
       for i:=1 to fMembers.Count do
         fMembers.Items[i-1] := TKMUnitWarrior(fPlayers.GetUnitByID(integer(fMembers.Items[i-1])));
  
positive.code: begin
    Inherited;
    fCommander    := nil;
    fOrderedFood  := false;
    fFlagAnim     := 0;
    fTimeSinceHungryReminder := 0;
  
negative.code:     //Now set our commander to be the new commander, so that we have some way of referencing units after they die
      fCommander := NewCommander;
    end;
    ClearOrderTarget; //This ensures that pointer usage tracking is reset
  
    Inherited;
  end;
  
  
  