GS2-Buff マスターデータリファレンス
マスターデータのフォーマット
{
"version": "2024-04-15",
"buffEntryModels": [
{
"name": "[string]バフエントリーモデル名",
"metadata": "[string?]メタデータ",
"expression": "[string enum]バフの適用タイプ",
"targetType": "[string enum]バフを適用する対象の種類",
"targetModel": {
"targetModelName": "[string]バフを適用するモデルの種類",
"targetFieldName": "[string]バフの適用対象フィールド名",
"conditionGrns": [
{
"targetModelName": "[string]バフの適用条件のモデル名",
"targetGrn": "[string]バフの適用条件GRN"
}
],
"rate": "[float]補正レート"
},
"targetAction": {
"targetActionName": "[string]バフを適用するアクションの種類",
"targetFieldName": "[string]バフの適用対象フィールド名",
"conditionGrns": [
{
"targetModelName": "[string]バフの適用条件のモデル名",
"targetGrn": "[string]バフの適用条件GRN"
}
],
"rate": "[float]レート"
},
"priority": "[int]バフの適用優先度",
"applyPeriodScheduleEventId": "[string?]バフを適用するイベントの開催期間GRN"
}
]
}| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2024-04-15 | マスターデータのフォーマットバージョン | ||
| buffEntryModels | List<BuffEntryModel> | ~ 100 items | バフエントリーモデル バフの適用量はバフエントリーモデルで管理し、特定のエントリーに対して複数のバフエントリーモデルを関連づけることが可能です。 バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、priority の値が小さいほど優先度が高くなります。バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。 Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。 Value Add はバフの補正計算後の値に加算を行う命令です。 たとえば、デフォルトのレートが 1.0 で、Add 0.2 と設定するとバフの適用レートは 1.2 になります。 Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。 バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。 |
モデル
BuffEntryModel
バフエントリーモデル
バフの適用量はバフエントリーモデルで管理し、特定のエントリーに対して複数のバフエントリーモデルを関連づけることが可能です。
バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、priority の値が小さいほど優先度が高くなります。
バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。
Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。
Value Add はバフの補正計算後の値に加算を行う命令です。
たとえば、デフォルトのレートが 1.0 で、Add 0.2 と設定するとバフの適用レートは 1.2 になります。
Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。
バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| buffEntryModelId | string | ※ | ~ 1024文字 | バフエントリーモデル
GRN ※ サーバーが自動で設定 | ||||||||||
| name | string | ✓ | ~ 128文字 | バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 | ||||||||||
| metadata | string | ~ 2048文字 | メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 | |||||||||||
| expression | 文字列列挙型 enum { “rate_add”, “mul”, “value_add” } | ✓ | バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算(例: 1.0 + 0.2 = 1.2)、「Mul」は補正レートに乗算(例: レート * 0.5)、「Value Add」はレートベースの補正計算後の値に直接加算します。
| |||||||||||
| targetType | 文字列列挙型 enum { “model”, “action” } | ✓ | バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション(例:入手量や消費量)のパラメータを対象とします。
| |||||||||||
| targetModel | BuffTargetModel | {targetType} == “model” | ✓※ | バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば 必須 | ||||||||||
| targetAction | BuffTargetAction | {targetType} == “action” | ✓※ | バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば 必須 | ||||||||||
| priority | int | ✓ | 0 ~ 2147483646 | バフの適用優先度 バフエントリーが評価される順序を決定します。値が小さいほど先に評価されます。同じフィールドを対象とする複数のバフがある場合、Rate Add と Mul 演算の相互作用により、適用順序が最終結果に影響します。 | ||||||||||
| applyPeriodScheduleEventId | string | ~ 1024文字 | バフを適用するイベントの開催期間
GRN このバフの有効期間を制御する GS2-Schedule イベントの GRN です。指定した場合、イベントの開催期間中のみバフが適用されます。未指定の場合、バフは常に有効です。 |
BuffTargetModel
バフを適用する対象のモデル
バフ適用の対象となる GS2 リソースモデルとフィールドを定義します。どのモデルのどのフィールド値をバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| targetModelName | 文字列列挙型 enum { "Gs2Exchange:RateModel", "Gs2Exchange:IncrementalRateModel", "Gs2Experience:Status", "Gs2Formation:Mold", "Gs2Idle:Status", "Gs2Idle:CategoryModel", "Gs2Inventory:Inventory", "Gs2LoginReward:BonusModel", "Gs2Mission:MissionTaskModel", "Gs2Quest:QuestModel", "Gs2Showcase:DisplayItem", "Gs2Showcase:RandomDisplayItemModel", "Gs2SkillTree:NodeModel", "Gs2Stamina:Stamina", } | ✓ | バフを適用するモデルの種類 | |||
| targetFieldName | string | ✓ | ~ 64文字 | バフの適用対象フィールド名 バフによって値が変更される対象モデル上の数値フィールド名です。例えば、経験値や攻撃力などの数値属性を表すフィールドが対象となります。 | ||
| conditionGrns | List<BuffTargetGrn> | ✓ | 1 ~ 10 items | バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 | ||
| rate | float | ✓ | 0 ~ 1000000 | 補正レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のフィールド値に直接加算されます。 |
BuffTargetAction
バフを適用する対象のアクション
バフ適用の対象となる GS2 アクションとパラメータを定義します。どのアクションのどのパラメータをバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。
BuffTargetGrn
バフを適用するリソースのGRNパターン
バフを適用する対象のリソースインスタンスを特定するための、プレースホルダーを含む GRN テンプレートです。モデル名で GS2 サービスモデルを特定し、GRN パターンにはランタイムで解決されるコンテキスト変数(例:region、ownerId、namespaceName)が含まれます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| targetModelName | string | ✓ | ~ 64文字 | バフの適用条件のモデル名 条件GRNを解決するために使用される GS2 サービスモデルの名前です。GRN パターンがどのサービスのリソースモデルを参照するかを特定します。 | ||
| targetGrn | string | ✓ | ~ 1024文字 | バフの適用条件GRN ランタイムで解決されるコンテキストプレースホルダー(例:{region}、{ownerId})を含む GRN テンプレートです。バフの対象となる特定のリソースインスタンスを特定するために使用されます。 |