anchor.diff:    inherited Destroy;
   end;
   
  -procedure TMapObjectAppearance.Assign(AOther: TMapObjectTemplate);
  -begin
  -  FAnimation := AOther.Animation;
  -  FEditorAnimation := AOther.EditorAnimation;
  -  FVisitableFrom.Assign(AOther.VisitableFrom);
  -  FMask.Assign(AOther.Mask);
  -
  -  SetDef(AOther.Def);
  -
  -
  -  FZIndex := AOther.ZIndex;
  +procedure TMapObjectAppearance.Assign(ASource: TMapObjectTemplate);
  +begin
  +  FAnimation := ASource.Animation;
  +  FEditorAnimation := ASource.EditorAnimation;
  +  FVisitableFrom.Assign(ASource.VisitableFrom);
  +  FMask.Assign(ASource.Mask);
  +  SetDef(ASource.Def);
  +  FZIndex := ASource.ZIndex;
   end;
   
   procedure TMapObjectAppearance.BeforeSerialize(Sender: TObject);
  
positive.code: 
      FLastTick := new_tick;
  
      if FLastFrame >= Template.FDef.FrameCount then
        FLastFrame := 0;
    end;
  
  
negative.code:     constructor Create(AOwner: TMapObject);
      destructor Destroy; override;
  
      procedure Assign(ASource: TMapObjectTemplate);
      procedure BeforeSerialize(Sender:TObject);
      procedure BeforeDeSerialize(Sender:TObject; AData: TJSONData);
      procedure AfterSerialize(Sender:TObject; AData: TJSONData);
  