anchor.diff:  procedure TKMUnitWarrior.SyncLoad;
   begin
     inherited;
  +  fGroup := TKMUnitGroup(  gHands.GetGroupByUID( Cardinal(fGroup) )  );
     fOrderTargetUnit := TKMUnitWarrior(gHands.GetUnitByUID(cardinal(fOrderTargetUnit)));
     fOrderTargetHouse := gHands.GetHouseByUID(cardinal(fOrderTargetHouse));
     if GetUnitAction is TUnitActionGoInOut then
  
positive.code: end;
  
  
  procedure TKMUnitWarrior.CloseUnit;
  begin
    //This ensures that pointer usage tracking is reset
  
negative.code: 
    TKMUnitWarrior = class(TKMUnit)
    private
      fGroup: pointer; // Warrior's group (pointer will be converted to TKMUnitGroup in TKMHandsCollection.GetGroupByMember
      fNextOrder: TKMWarriorOrder; //New order we should perform as soon as we can change tasks
      fOrder: TKMWarriorOrder; //Order we are performing
      fOrderLoc: TKMPoint; //Dir is the direction to face after order
  