anchor.diff:    if (not fUnit.GetHome.IsDestroyed) and (fUnit.GetHome.GetState = hst_Work) then
       fUnit.GetHome.SetState(hst_Idle); //Make sure we don't abandon and leave our house with "working" animations
     FreeAndNil(fWorkPlan);
  +
     inherited;
   end;
   
  
positive.code: unit KM_UnitTaskMining;
  {$I KaM_Remake.inc}
  interface
  uses Math, SysUtils,
    KM_CommonClasses, KM_Defaults, KM_Points,
    KM_Units, KM_Units_Workplan, KM_Terrain,
    KM_ResWares;
  
  
  {Perform resource mining}
  type
    TTaskMining = class(TUnitTask)
    private
  
negative.code: 
  
  { TTaskMining }
  constructor TTaskMining.Create(aUnit: TKMUnit; aWare: TWareType);
  begin
    inherited Create(aUnit);
  
    fTaskName := utn_Mining;
    fWorkPlan := TUnitWorkPlan.Create;
    fBeastID  := 0;
  
    fWorkPlan.FindPlan( fUnit,
                        fUnit.GetHome.HouseType,
                        aWare,
                        KMPointBelow(aUnit.GetHome.GetEntrance),
                        ChooseToCutOrPlant
                        );
  