anchor.diff:    if not TUnitActionWalkTo(fCurrentAction).fRouteBuilt then SetActionStay(5, ua_Walk);
   
     fLog.AssertToLog(fCurrentAction<>nil,'Unit has no action!');
  +end;
  +
  +
  +procedure TKMUnitAnimal.Paint();
  +var AnimAct,AnimDir:integer;
  +begin
  +inherited;
  +  if fUnitType = ut_Fish then
  +       AnimAct:=byte(fFishCount) //For fish the action is the number of fish in the group
  +  else AnimAct:=byte(fCurrentAction.fActionType); //should correspond with UnitAction
  +
  +  AnimDir:=byte(Direction);
  +  fRender.RenderUnit(byte(Self.GetUnitType), AnimAct, AnimDir, AnimStep, 0, fPosition.X+0.5, fPosition.Y+1,true);
   end;
   
   
  
positive.code: var HasTask,HasAct:boolean;
  begin
    SaveStream.Write(fUnitType, 4);
    //SaveStream.Write('Unit', 4);
  
    HasTask := fUnitTask <> nil; //Thats our switch to know if unit should write down his task.
    SaveStream.Write(HasTask, 4);
    if HasTask then
      fUnitTask.Save(SaveStream); //TaskType gets written first in fUnitTask.Save
  
    HasAct := fCurrentAction <> nil;
    SaveStream.Write(HasAct, 4);
  
negative.code:   fUnitType     := ut_None;
    Direction     := dir_NA;
    fVisible      := false;
    fCondition    := 0;
    AnimStep      := 0;
    FreeAndNil(fCurrentAction);
  