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

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

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




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


**JSON**
```json
{
  "version": "2023-09-06",
  "nodeModels": [
    {
      "name": "[string]ノードモデル名",
      "metadata": "[string?]メタデータ",
      "releaseVerifyActions": [
        {
          "action": "[string]検証アクションで実行するアクションの種類",
          "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
        }
      ],
      "releaseConsumeActions": [
        {
          "action": "[string]消費アクションで実行するアクションの種類",
          "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
        }
      ],
      "returnAcquireActions": [
        {
          "action": "[string]入手アクションで実行するアクションの種類",
          "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
        }
      ],
      "restrainReturnRate": "[float]返却率",
      "premiseNodeNames": [
        "[string]ノードモデル名"
      ]
    }
  ]
}
```


|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2023-09-06 | | マスターデータのフォーマットバージョン |
| nodeModels | [List&lt;NodeModel&gt;](#nodemodel) |  |  |  |  ~ 1000 items | ノードモデル<br>スキルツリー内のノードを定義するモデルで、解放コスト・前提条件・返却動作を含みます。<br>各ノードには検証アクション（解放前の条件チェック）、消費アクション（支払うコスト）、先に解放が必要な前提ノードを設定できます。<br>ノードを拘束（未解放状態に戻す）すると、消費したリソースが返却率に基づいて部分的に返却されます。<br>返却入手アクションは消費アクションに返却率を乗じて自動的に計算されます。 |

## モデル

### NodeModel

ノードモデル<br>

スキルツリー内のノードを定義するモデルで、解放コスト・前提条件・返却動作を含みます。<br>
各ノードには検証アクション（解放前の条件チェック）、消費アクション（支払うコスト）、先に解放が必要な前提ノードを設定できます。<br>
ノードを拘束（未解放状態に戻す）すると、消費したリソースが返却率に基づいて部分的に返却されます。<br>
返却入手アクションは消費アクションに返却率を乗じて自動的に計算されます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| nodeModelId | string |  | ※ |  |  ~ 1024文字 | ノードモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | ノードモデル名<br>ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| releaseVerifyActions | [List&lt;VerifyAction&gt;](#verifyaction) |  |  | [] | 0 ~ 10 items | 解放検証アクションリスト<br>このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。<br>例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。<br>いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 |
| releaseConsumeActions | [List&lt;ConsumeAction&gt;](#consumeaction) |  |  | [] | 1 ~ 10 items | 解放消費アクションリスト<br>このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。<br>これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。<br>最低1つの消費アクションが必要です。最大10アクション。 |
| returnAcquireActions | [List&lt;AcquireAction&gt;](#acquireaction) |  |  |  | 0 ~ 10 items | 返却入手アクションリスト<br>このノードを拘束（取り消し）する際に実行される入手アクションのリストで、プレイヤーに返却されるリソースを表します。<br>このフィールドは解放消費アクションに返却率を乗じて自動生成されます。<br>例えば、解放コストが100ゴールドで返却率が0.8の場合、拘束時に80ゴールドが返却されます。<br>最大10アクション。 |
| restrainReturnRate | float |  |  | 1.0 | 0.0 ~ 1.0 | 返却率<br>このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。<br>1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。<br>デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 |
| premiseNodeNames | List&lt;string&gt; |  |  | [] | 0 ~ 10 items | 前提ノードモデル名リスト<br>このノードを解放する前に解放済みでなければならない他のノードモデルの名前。<br>スキルツリーの依存関係グラフを定義します。前提ノードがすべて解放済みでなければ、このノードは解放できません。<br>最大10の前提ノード。 |

---

### ConsumeAction

消費アクション

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| action | 文字列列挙型<br>enum {<br>}<br> |  | ✓ |  |  | 消費アクションで実行するアクションの種類 |
| request | string |  | ✓ |  |  ~ 524288文字 | アクション実行時に使用されるリクエストのJSON文字列 |

---

### VerifyAction

検証アクション

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| action | 文字列列挙型<br>enum {<br>}<br> |  | ✓ |  |  | 検証アクションで実行するアクションの種類 |
| request | string |  | ✓ |  |  ~ 524288文字 | アクション実行時に使用されるリクエストのJSON文字列 |

---

### AcquireAction

入手アクション

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| action | 文字列列挙型<br>enum {<br>}<br> |  | ✓ |  |  | 入手アクションで実行するアクションの種類 |
| request | string |  | ✓ |  |  ~ 524288文字 | アクション実行時に使用されるリクエストのJSON文字列 |

---



