anchor.diff:  
     //First make sure the animal isn't stuck (check passibility of our position)
     if (not fTerrain.CheckPassability(fCurrPosition,GetDesiredPassability))
  -  or fTerrain.CheckAnimalIsStuck(fCurrPosition,GetDesiredPassability,false) then begin
  +  or fTerrain.CheckAnimalIsStuck(fCurrPosition,GetDesiredPassability) then begin
       KillUnit; //Animal is stuck so it dies
       exit;
     end;
  
positive.code: 
      procedure Feed(Amount:single);
      procedure AbandonWalk;
      function GetDesiredPassability(aIgnoreRoads:boolean=false):TPassability;
      property GetOwner:TPlayerIndex read fOwner;
      property GetHome:TKMHouse read fHome;
      property GetUnitAction: TUnitAction read fCurrentAction;
  
negative.code:   if (fUnitType in [ut_Woodcutter, ut_Farmer, ut_Fisher, ut_StoneCutter])
    and (fUnitTask is TTaskMining)
    then
      Result := CanWalk;
  end;
  
  