anchor.diff:    end;
   {$pop}
   
  -  { TCreatureInstInfo }
  -
  -  TCreatureInstInfo = class (TCollectionItem)
  +  { TBaseCreatureInstInfo }
  +
  +  TBaseCreatureInstInfo = class (TCollectionItem)
     private
       FAmount: Integer;
  +    FType: AnsiString;
  +    procedure SetAmount(AValue: Integer);
  +    procedure SetType(AValue: AnsiString);
  +  public
  +    constructor Create(ACollection: TCollection); override;
  +    function IsEmpty: Boolean; virtual;
  +  published
  +    property &type: AnsiString read FType write SetType;
  +    property Amount: Integer read FAmount write SetAmount default 0;
  +  end;
  +
  +  { TCreatureInstInfo }
  +
  +  TCreatureInstInfo = class(TBaseCreatureInstInfo)
  +  private
       FLevel: Integer;
  -    FType: AnsiString;
       FUpgraded: Boolean;
       function GetRawRandom: integer;
  -    procedure SetAmount(AValue: Integer);
       procedure SetRawRandom(AValue: integer);
  -    procedure SetType(AValue: AnsiString);
  -  public
  -    constructor Create(ACollection: TCollection); override;
  -    function IsEmpty: Boolean;
  +  public
       property RawRandom: integer Read GetRawRandom write SetRawRandom;
  -  published
  -    property &type: AnsiString read FType write SetType;
  -    property Amount: Integer read FAmount write SetAmount default 0;
  -
  +    function IsEmpty: Boolean; override;
  +  published
       property Level: Integer read FLevel write FLevel default 0;
       property Upgraded: Boolean Read FUpgraded write FUpgraded default false;
     end;
  
positive.code:   end;
  
  implementation
  
  { TRewardPrimarySkills }
  
  
negative.code:   Result:=True;
  end;
  
  { TBaseCreatureInstInfo }
  
  constructor TBaseCreatureInstInfo.Create(ACollection: TCollection);
  begin
    inherited Create(ACollection);
  end;
  
  function TBaseCreatureInstInfo.IsEmpty: Boolean;
  begin
    Result := (FType = '') and (FAmount = 0);
  end;
  
  procedure TBaseCreatureInstInfo.SetAmount(AValue: Integer);
  begin
    FAmount := AValue;
  end;
  
  procedure TBaseCreatureInstInfo.SetType(AValue: AnsiString);
  begin
    if FType=AValue then Exit;
  
  