GS2-Enhance マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス

マスターデータのフォーマット

{
  "version": "2020-08-22",
  "rateModels": [
    {
      "name": "[string]強化レートモデル名",
      "description": "[string?]説明文",
      "metadata": "[string?]メタデータ",
      "targetInventoryModelId": "[string]強化対象に使用できる GS2-Inventory インベントリモデルの GRN",
      "acquireExperienceSuffix": "[string]GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス",
      "materialInventoryModelId": "[string]強化の素材に使用できる GS2-Inventory インベントリモデル GRN",
      "acquireExperienceHierarchy": [
        "[string]ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義"
      ],
      "experienceModelId": "[string]強化の結果得られる GS2-Experience 経験値モデル GRN",
      "bonusRates": [
        {
          "rate": "[float]経験値ボーナスの倍率 (1.0 = ボーナスなし)",
          "weight": "[int]抽選重み"
        }
      ]
    }
  ],
  "unleashRateModels": [
    {
      "name": "[string]限界突破レートモデル名",
      "description": "[string?]説明文",
      "metadata": "[string?]メタデータ",
      "targetInventoryModelId": "[string]限界突破対象に使用できる GS2-Inventory インベントリモデル GRN",
      "gradeModelId": "[string]グレードモデル GRN",
      "gradeEntries": [
        {
          "gradeValue": "[long]対象グレード",
          "needCount": "[int]同種のアイテムを何個消費するか"
        }
      ]
    }
  ]
}
有効化条件必須デフォルト値の制限説明
versionstring
2020-08-22マスターデータのフォーマットバージョン
rateModelsList<RateModel>~ 10000 items強化レートモデル
強化レートは強化に使用する素材と強化対象を定義したデータです。

素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。
強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。
ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。

強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。
その抽選確率もこのエンティティで定義します。
unleashRateModelsList<UnleashRateModel>~ 10000 items限界突破レートモデル
アイテムの限界突破(解放)条件を定義します。GS2-Inventory で管理されるアイテムと GS2-Grade のグレードモデルを関連付け、グレードの進行を可能にします。各グレードレベルで消費する同種アイテムの数を個別に設定でき、各限界突破段階のコストを細かく制御できます。

モデル

RateModel

強化レートモデル

強化レートは強化に使用する素材と強化対象を定義したデータです。

素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。
強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。
ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。

強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。
その抽選確率もこのエンティティで定義します。

有効化条件必須デフォルト値の制限説明
rateModelIdstring
~ 1024文字強化レートモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字強化レートモデル名
強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
targetInventoryModelIdstring
~ 1024文字強化対象に使用できる GS2-Inventory インベントリモデルの GRN
強化対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。強化されるアイテムはこのインベントリモデルに属している必要があります。
acquireExperienceSuffixstring
~ 1024文字GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス
アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます(例: キャラクターレベルの “level”、好感度の “like”)。
materialInventoryModelIdstring
~ 1024文字強化の素材に使用できる GS2-Inventory インベントリモデル GRN
強化素材として使用できるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。各素材が提供する経験値は、acquireExperienceHierarchy で指定された JSON 階層を使用してアイテムモデルのメタデータに定義されます。
acquireExperienceHierarchyList<string>0 ~ 10 itemsItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義
GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。
例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。
詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。
experienceModelIdstring
~ 1024文字強化の結果得られる GS2-Experience 経験値モデル GRN
強化で得られた経験値が記録される GS2-Experience の経験値モデルを指定します。経験値は、対象アイテムのプロパティ ID と acquireExperienceSuffix を組み合わせて識別されるプロパティに加算されます。
bonusRatesList<BonusRate>0 ~ 1000 items経験値獲得量ボーナス
強化時のボーナス経験値倍率の重み付き抽選を定義します。各エントリは倍率(例: 1.5 で 150%)と排出重みを指定します。強化実行時に重み付き抽選で1つのエントリが選択され、「大成功」ボーナスが獲得経験値に適用されるかどうかが決定されます。

BonusRate

経験値獲得量ボーナス

強化時の経験値ボーナス倍率を決定する重み付き抽選の単一エントリを定義します。異なる倍率と重みを持つ複数のエントリを設定することで、制御された確率による「大成功」や「超成功」の仕組みを実装できます。

有効化条件必須デフォルト値の制限説明
ratefloat1.00 ~ 10000経験値ボーナスの倍率 (1.0 = ボーナスなし)
このエントリが抽選された際に基本経験値に適用される倍率です。1.0 はボーナスなしの通常強化、1.5 は経験値 150%(大成功)、2.0 は経験値 200%(超成功)などを意味します。
weightint10 ~ 2147483645抽選重み
ボーナスレートを選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このボーナスレートが選択される確率が高くなります。実際の確率は、この重みをボーナスレートリスト内のすべての重みの合計で割った値になります。

UnleashRateModel

限界突破レートモデル

アイテムの限界突破(解放)条件を定義します。GS2-Inventory で管理されるアイテムと GS2-Grade のグレードモデルを関連付け、グレードの進行を可能にします。各グレードレベルで消費する同種アイテムの数を個別に設定でき、各限界突破段階のコストを細かく制御できます。

有効化条件必須デフォルト値の制限説明
unleashRateModelIdstring
~ 1024文字限界突破レートモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字限界突破レートモデル名
限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
targetInventoryModelIdstring
~ 1024文字限界突破対象に使用できる GS2-Inventory インベントリモデル GRN
限界突破対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。限界突破するアイテムと素材として消費する同種アイテムの両方がこのインベントリモデルに属している必要があります。
gradeModelIdstring
~ 1024文字グレードモデル GRN
対象アイテムの限界突破レベルを追跡する GS2-Grade のグレードモデルを指定します。限界突破が成功すると、このグレードモデル内でアイテムのグレードが加算されます。
gradeEntriesList<UnleashRateEntryModel>
1 ~ 1000 itemsグレードエントリーリスト
限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。例えば、グレード1は複製1個、グレード2は複製3個のように設定できます。

UnleashRateEntryModel

限界突破レートエントリモデル

限界突破の進行における単一グレードレベルの素材コストを定義します。各エントリは対象となるグレード値と、そのグレードを達成するために消費する必要がある同種アイテムの数を指定します。

有効化条件必須デフォルト値の制限説明
gradeValuelong
1 ~ 1000対象グレード
このエントリがコストを定義するグレード値です。このグレードレベルへの限界突破を実行する際、needCount で指定された数のアイテムが消費されます。
needCountint
1 ~ 1000同種のアイテムを何個消費するか
対象グレードへの限界突破を実行するために消費する必要がある同種アイテムの数です。これらのアイテムは、限界突破されるアイテムと同じアイテムモデルのものです。