anchor.diff:      FAmount: Integer;
       FNeverFlees: boolean;
       FNoGrowing: boolean;
  +    FReward: TRewards;
       FRewardArtifact: AnsiString;
       FRewardMessage: TLocalizedString;
       FRewardResources: TResourceSet;
       function IsRewardArtifactStored: Boolean;
       function IsRewardMessageStored: Boolean;
       function IsRewardResourcesStored: Boolean;
  +    function IsRewardStored: Boolean;
       procedure SetAmount(AValue: Integer);
       procedure SetNeverFlees(AValue: boolean);
       procedure SetNoGrowing(AValue: boolean);
  
positive.code:     procedure AddReward(AType: TMetaclass; AIdentifier: AnsiString; AValue: Int64);
    end;
  
  {$pop}
  
    { TCustomObjectOptions }
  
    TCustomObjectOptions = class(TObjectOptions)
  
    end;
  
    { TGuardedObjectOptions }
  
  
negative.code:   private
      Fvalue: array[TResType] of Integer;
  
    protected
      function GetAmount(AType: TResType): integer; virtual;
      procedure SetAmount(AType: TResType; AValue: integer); virtual;
  
    public
      property Amount[AType: TResType]: integer read GetAmount write SetAmount;
      function IsEmpty: Boolean; virtual;
      procedure Clear; virtual;
  
    published
      property Wood: integer index TResType.wood read GetAmount write SetAmount default 0;
      property Mercury: integer index TResType.mercury read GetAmount write SetAmount default 0;
  