anchor.diff:     end;
   end;
   inc(Phase);
  +if (fSerf.fCurrentAction=nil)and(not TaskDone) then
  +  Assert(false);
   end;
   
   { TTaskBuildRoad }
  
positive.code:     3: TaskDone:=true;
    end;
    inc(Phase);
  end;
  
  
  
negative.code:  2: SetAction(TUnitActionGoIn.Create(ua_Walk,gid_In)); //Enter Inn
   3: if fInn.CheckResIn(rt_Bread)>0 then begin
        fInn.ResTakeFromIn(rt_Bread);
        //Choose spot 
        //fVisible:=true; Direction:=dir_N; //Make it overlay Inn
        SetAction(TUnitActionStay.Create(29,ua_Eat,false));
        Feed(UNIT_MAX_CONDITION/3);
      end else
        SetAction(TUnitActionStay.Create(0,ua_Walk));
   4: if (fCondition<UNIT_MAX_CONDITION)and(fInn.CheckResIn(rt_Sausages)>0) then begin
        fInn.ResTakeFromIn(rt_Sausages);
        SetAction(TUnitActionStay.Create(29,ua_Eat,false));
        Feed(UNIT_MAX_CONDITION/2);
      end else
        SetAction(TUnitActionStay.Create(0,ua_Walk));
   5: if (fCondition<UNIT_MAX_CONDITION)and(fInn.CheckResIn(rt_Wine)>0) then begin
        fInn.ResTakeFromIn(rt_Wine);
        SetAction(TUnitActionStay.Create(29,ua_Eat,false));
        Feed(UNIT_MAX_CONDITION/4);
      end else
        SetAction(TUnitActionStay.Create(0,ua_Walk));
   6: if (fCondition<UNIT_MAX_CONDITION)and(fInn.CheckResIn(rt_Fish)>0) then begin
        fInn.ResTakeFromIn(rt_Fish);
        SetAction(TUnitActionStay.Create(29,ua_Eat,false));
        Feed(UNIT_MAX_CONDITION/4);
      end else
        SetAction(TUnitActionStay.Create(0,ua_Walk));
   7: SetAction(TUnitActionGoIn.Create(ua_Walk,gid_Out)); //Exit Inn
   8: TaskDone:=true;
  end;
  inc(Phase);
  if (fUnit.fCurrentAction=nil)and(not TaskDone) then
    Assert(false);
  end;
  
  
  