> For the complete documentation index, see [llms.txt](/llms.txt)

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

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




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


**JSON**
```json
{
  "version": "2023-12-25",
  "gradeModels": [
    {
      "name": "[string]グレードモデル名",
      "metadata": "[string?]メタデータ",
      "defaultGrades": [
        {
          "propertyIdRegex": "[string]プロパティID正規表現",
          "defaultGradeValue": "[long]デフォルトのグレード値"
        }
      ],
      "experienceModelId": "[string]GS2-Experience 経験値モデルGRN",
      "gradeEntries": [
        {
          "metadata": "[string?]メタデータ",
          "rankCapValue": "[long]ランクキャップ値",
          "propertyIdRegex": "[string]プロパティID正規表現",
          "gradeUpPropertyIdRegex": "[string]グレードアップ用プロパティID正規表現"
        }
      ],
      "acquireActionRates": [
        {
          "name": "[string]報酬加算テーブル名",
          "mode": "[string]報酬加算テーブルの種類",
          "rates": [
            "[double]倍率値"
          ],
          "bigRates": [
            "[string]倍率値（ビッグナンバー）"
          ]
        }
      ]
    }
  ]
}
```


|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2023-12-25 | | マスターデータのフォーマットバージョン |
| gradeModels | [List&lt;GradeModel&gt;](#grademodel) |  |  |  |  ~ 100 items | グレードモデル<br>グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。 |

## モデル

### GradeModel

グレードモデル<br>

グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| gradeModelId | string |  | ※ |  |  ~ 1024文字 | グレードモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | グレードモデル名<br>グレードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| defaultGrades | [List&lt;DefaultGradeModel&gt;](#defaultgrademodel) |  |  |  | 0 ~ 100 items | デフォルトグレードモデルリスト<br>新規ステータス作成時に評価されるデフォルトグレードルールの順序付きリストです。各エントリはプロパティIDの正規表現パターンとマッチした場合に割り当てるグレード値を定義します。どのパターンにもマッチしない場合はデフォルトのグレード値 0 が使用されます。 |
| experienceModelId | string |  | ✓ |  |  ~ 1024文字 | GS2-Experience 経験値モデルGRN<br>このグレードモデルと連動させる GS2-Experience の経験値モデルの GRN です。グレード値が変更されると、グレードエントリのマッピングに基づいて連動する経験値モデルのランクキャップが自動的に更新されます。これにより、高いグレードが高いランクキャップを解放するグレード駆動の成長が実現できます。 |
| gradeEntries | [List&lt;GradeEntryModel&gt;](#gradeentrymodel) |  | ✓ |  | 1 ~ 100 items | グレードエントリーモデルリスト<br>各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 |
| acquireActionRates | [List&lt;AcquireActionRate&gt;](#acquireactionrate) |  |  |  | 0 ~ 100 items | 報酬加算テーブルリスト<br>グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 |

---

### DefaultGradeModel

デフォルトグレードモデル<br>

グレードを新規作成する際にプロパティIDの正規表現へのマッチに応じてデフォルトのグレード値を設定することができます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| propertyIdRegex | string |  | ✓ |  |  ~ 1024文字 | プロパティID正規表現<br>新規作成されたグレードステータスのプロパティIDに対してマッチングされる正規表現パターンです。プロパティIDがこのパターンにマッチすると、0 の代わりに指定されたデフォルトグレード値が初期グレードとして割り当てられます。パターンは順番に評価され、最初にマッチしたものが使用されます。 |
| defaultGradeValue | long |  | ✓ |  | 0 ~ 9223372036854775805 | デフォルトのグレード値<br>プロパティIDが propertyIdRegex パターンにマッチした場合に新規作成されたステータスに割り当てられる初期グレード値です。このインデックスのグレードエントリが対応するランクキャップを定義するため、この値は連動する GS2-Experience モデルの開始ランクキャップを決定します。 |

---

### GradeEntryModel

グレードエントリーモデル<br>

グレード値と連動する GS2-Experience モデルのランクキャップのマッピングを定義します。各エントリはプロパティIDのマッチングに使用する正規表現パターンも指定し、グレードアップ操作に使用できるリソースとそのプロパティIDの変換方法を決定します。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| rankCapValue | long |  | ✓ |  | 0 ~ 9223372036854775805 | ランクキャップ値<br>このグレードが適用された際に連動する GS2-Experience モデルに設定するランクキャップ値です。プレイヤーのグレードがこのエントリに対応する値に変更されると、関連する経験値ステータスのランクキャップがこの値に自動更新され、到達可能な最大ランクが制御されます。 |
| propertyIdRegex | string |  | ✓ |  |  ~ 1024文字 | プロパティID正規表現<br>グレードアップマッチング用の変数を抽出するために、グレードステータスのプロパティIDに適用される正規表現パターンです。このパターン内のキャプチャグループ（括弧で囲まれた部分）は gradeUpPropertyIdRegex で $1、$2 などとして利用できます。例えば "character-(.+)" というパターンはキャラクター識別子を抽出し、グレードアップ素材のプロパティIDマッチングに使用します。 |
| gradeUpPropertyIdRegex | string |  | ✓ |  |  ~ 1024文字 | グレードアップ用プロパティID正規表現<br>グレード昇格のために消費できるリソースのプロパティIDを特定する正規表現パターンです。このパターンは propertyIdRegex のキャプチャグループを $1、$2 などで参照できます。例えば propertyIdRegex で "sword-001" を $1 として抽出した場合、このパターンを "grade-up-material-$1" とすることで、その剣に固有の素材をマッチさせることができます。 |

---

### AcquireActionRate

報酬加算テーブル<br>

現在のグレード値に基づいて報酬量をスケーリングする名前付き倍率テーブルを定義します。各グレード値は入手アクションに適用される倍率にマッピングされ、高いグレードのキャラクターや装備がより多くの報酬を受け取れるようになります。標準的な倍精度浮動小数点数モードと、非常に大きな値に対応するビッグナンバーモードの両方をサポートします。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| name | string |  | ✓ |  |  ~ 128文字 | 報酬加算テーブル名<br>グレードモデル内でこの倍率テーブルを一意に識別する名前です。トランザクションの特定の入手アクションにグレードベースの報酬スケーリングを適用する際に参照されます。 |
| mode | 文字列列挙型<br>enum {<br>"double",<br>"big"<br>}<br> |  |  | "double" |  | 報酬加算テーブルの種類<br>倍率値の数値精度モードを選択します。"double" モードはほとんどのケースに適した標準的な浮動小数点数を使用します。"big" モードは最大1024桁までの文字列表現の数値を使用し、非常に大きな値の計算を必要とするゲームに対応します。"double": 2^48 未満の浮動小数点数 / "big": 文字列表記で1024桁未満の浮動小数点数 /  |
| rates | List&lt;double&gt; | {mode} == "double" | ✓※ |  | 1 ~ 1000 items | グレードごとの倍率リスト（double モード）<br>グレード値でインデックスされた報酬倍率の配列で、倍精度浮動小数点数を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。mode が "double" に設定されている場合に使用されます。<br>※ mode が "double" であれば 必須 |
| bigRates | List&lt;string&gt; | {mode} == "big" | ✓※ |  | 1 ~ 1000 items | グレードごとの倍率リスト（big モード）<br>グレード値でインデックスされた報酬倍率の配列で、拡張精度のために文字列表現の数値を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。非常に大きな数値計算を必要とするゲーム向けに、mode が "big" に設定されている場合に使用されます。<br>※ mode が "big" であれば 必須 |

---



