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: 
    TKMUnitWarrior = class(TKMUnit)
    private
      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
  
negative.code:     procedure SyncLoad; override;
      procedure CloseUnit(aRemoveTileUsage: Boolean = True); override;
      destructor Destroy; override;
  
      property Group: pointer read fGroup; // Property for GetGroupByMember function
      procedure SetGroup(aGroup: pointer); // This procedure should not be called by anyone except UnitGroups class (it is out of property)
  
      function GetWarriorActivityText(aIsAttackingUnit: Boolean): UnicodeString;
      procedure KillUnit(aFrom: TKMHandIndex; aShowAnimation, aForceDelay: Boolean); override;
  