anchor.diff:      procedure Paint; virtual;
     end;
   
  +  //Common class for all civil units
  +  TKMCivilUnit = class(TKMUnit)
  +  public
  +    function GoEat(aInn: TKMHouseInn): Boolean;
  +    function CheckCondition: Boolean;
  +  end;
  +
     //This is common class for all units, who can be an owner for house (recruits and all citizen workers)
  -  TKMSettledUnit = class(TKMUnit)
  +  TKMSettledUnit = class(TKMCivilUnit)
     private
       procedure CleanHousePointer(aFreeAndNilTask: Boolean = False);
     protected
  
positive.code:   OldThought := fThought;
    fThought := th_None;
  
    if fCondition < UNIT_MIN_CONDITION then
    begin
      H := gHands[fOwner].FindInn(fCurrPosition, Self);
      if H <> nil then
        fUnitTask := TKMTaskGoEat.Create(H, Self);
    end;
  
    //Only show quest thought if we have been idle since the last update (not HadTask)
    //and not thinking anything else (e.g. death)
  
negative.code:     procedure SetActionWalkPushed(const aLocB: TKMPoint; aActionType: TKMUnitActionType = ua_Walk);
  
      procedure Feed(Amount: Single);
      function IsHungry: Boolean;
      procedure AbandonWalk;
      property  DesiredPassability: TKMTerrainPassability read GetDesiredPassability;
      property  Owner: TKMHandIndex read fOwner;
  