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

{
  "version": "2024-04-15",
  "buffEntryModels": [
    {
      "name": "[string]バフエンティティ名",
      "metadata": "[string?]メタデータ",
      "expression": "[string]バフの適用タイプ",
      "targetType": "[string]バフをかける対象の種類",
      "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?]バフを適用するイベントの開催期間"
    }
  ]
}
有効化条件必須デフォルト値の制限説明
version2024-04-15マスターデータのフォーマットバージョン
buffEntryModelsList<BuffEntryModel>~ 100 itemsバフモデル

BuffTargetModel

バフを適用する対象のモデル

有効化条件必須デフォルト値の制限説明
targetModelNameenum {
"Gs2Exchange:RateModel",
"Gs2Exchange:IncrementalRateModel",
"Gs2Experience:Status",
"Gs2Formation:Mold",
"Gs2Idle:CategoryModel",
"Gs2Idle:Status",
"Gs2Inventory:Inventory",
"Gs2LoginReward:BonusModel",
"Gs2Mission:MissionTaskModel",
"Gs2Quest:QuestModel",
"Gs2Showcase:DisplayItem",
"Gs2Showcase:RandomDisplayItemModel",
"Gs2SkillTree:NodeModel",
"Gs2Stamina:Stamina",
}
~ 128文字バフを適用するモデルの種類
targetFieldNamestring~ 64文字バフの適用対象フィールド名
conditionGrnsList<BuffTargetGrn>1 ~ 10 itemsバフの適用条件GRNのリスト
ratefloat~ 1000000レート

BuffTargetAction

バフを適用する対象のアクション

有効化条件必須デフォルト値の制限説明
targetActionNameenum {
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SubExperience",
"Gs2Experience:SubExperienceByUserId",
"Gs2Inventory:AcquireItemSetByUserId",
"Gs2Inventory:ConsumeItemSet",
"Gs2Inventory:ConsumeItemSetByUserId",
"Gs2Inventory:AcquireSimpleItemsByUserId",
"Gs2Inventory:ConsumeSimpleItems",
"Gs2Inventory:ConsumeSimpleItemsByUserId",
"Gs2Inventory:AcquireBigItemByUserId",
"Gs2Inventory:ConsumeBigItem",
"Gs2Inventory:ConsumeBigItemByUserId",
"Gs2Limit:CountUp",
"Gs2Limit:CountUpByUserId",
"Gs2Money:DepositByUserId",
"Gs2Money:Withdraw",
"Gs2Money:WithdrawByUserId",
"Gs2Money2:DepositByUserId",
"Gs2Money2:Withdraw",
"Gs2Money2:WithdrawByUserId",
"Gs2Stamina:ConsumeStamina",
"Gs2Stamina:ConsumeStaminaByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
}
~ 128文字バフを適用するアクションの種類
targetFieldNamestring~ 64文字バフの適用対象フィールド名
conditionGrnsList<BuffTargetGrn>1 ~ 10 itemsバフの適用条件GRNのリスト
ratefloat~ 1000000レート

BuffTargetGrn

バフを適用するリソースのGRNパターン

有効化条件必須デフォルト値の制限説明
targetModelNamestring~ 64文字バフの適用条件のモデル名
targetGrnstring~ 1024文字バフの適用条件GRN

BuffEntryModel

バフモデル

バフの適用量は BuffEntryModel で管理し、特定のエントリーに対して複数の BuffEntryModel を関連づけることが可能です。
BuffEntryModel の適用順番は BuffEntryModel の priority で管理し、priority の値が小さいほど優先度が高くなります。

バフの適用方式は2種類存在し「Add」と「Mul」があります。
Add はバフの適用レートに加算する命令で、Mul はバフの適用レートに乗算する命令です。
デフォルトのレートは 1.0 で、Add 0.2 と設定するとバフの適用レートが 1.2 になります。
Mul 0.5 と設定するとバフの適用レートが 0.5 倍になります。

BuffEntryModel には GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。

有効化条件必須デフォルト値の制限説明
buffEntryModelIdstring~ 1024文字バフモデルGRN
namestring~ 128文字バフエンティティ名
metadatastring~ 2048文字メタデータ
expressionenum {
    “rate_add”,
    “mul”,
    “value_add”
}
~ 128文字バフの適用タイプ
targetTypeenum {
    “model”,
    “action”
}
~ 128文字バフをかける対象の種類
targetModelBuffTargetModel{targetType} == “model”バフをかける対象のモデル
targetActionBuffTargetAction{targetType} == “action”バフをかける対象のアクション
priorityint~ 2147483646バフの適用優先度
applyPeriodScheduleEventIdstring~ 1024文字バフを適用するイベントの開催期間

expression に指定する列挙型の定義

定義説明
rate_addRate Add
mulMul
value_addValue Add

targetType に指定する列挙型の定義

定義説明
modelモデル
actionアクション

OverrideBuffRate

バフの適用レート上書きモデル

有効化条件必須デフォルト値の制限説明
namestring~ 128文字バフエンティティ名
ratefloat~ 100レート