Master Data Reference of GS2-Buff

{
  "version": "2024-04-15",
  "buffEntryModels": [
    {
      "name": "[string]Buff entity name",
      "metadata": "[string?]metadata",
      "expression": "[string]Application type of buff",
      "targetType": "[string]Type of target to apply buff",
      "targetModel": {
        "targetModelName": "[string]Types of model to apply buffs",
        "targetFieldName": "[string]Field name to which the buff is applied",
        "conditionGrns": [
          {
            "targetModelName": "[string]Buff application condition model name",
            "targetGrn": "[string]Buff application condition GRN"
          }
        ],
        "rate": "[float]Rate"
      },
      "targetAction": {
        "targetActionName": "[string]Types of action to apply buffs",
        "targetFieldName": "[string]Field name to which the buff is applied",
        "conditionGrns": [
          {
            "targetModelName": "[string]Buff application condition model name",
            "targetGrn": "[string]Buff application condition GRN"
          }
        ],
        "rate": "[float]Rate"
      },
      "priority": "[int]Priority of buff application",
      "applyPeriodScheduleEventId": "[string?]Event ID to apply buff"
    }
  ]
}
TypeConditionRequireDefaultLimitationDescription
version2024-04-15Format version of master data
buffEntryModelsList<BuffEntryModel>~ 100 itemsBuff Model

BuffTargetModel

Buff Target Model

TypeConditionRequireDefaultLimitationDescription
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 charsTypes of model to apply buffs
targetFieldNamestring~ 64 charsField name to which the buff is applied
conditionGrnsList<BuffTargetGrn>1 ~ 10 itemsList of buff application condition GRNs
ratefloat~ 1000000Rate

BuffTargetAction

Buff Target Action

TypeConditionRequireDefaultLimitationDescription
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 charsTypes of action to apply buffs
targetFieldNamestring~ 64 charsField name to which the buff is applied
conditionGrnsList<BuffTargetGrn>1 ~ 10 itemsList of buff application condition GRNs
ratefloat~ 1000000Rate

BuffTargetGrn

Buff Target GRN pattern

TypeConditionRequireDefaultLimitationDescription
targetModelNamestring~ 64 charsBuff application condition model name
targetGrnstring~ 1024 charsBuff application condition GRN

BuffEntryModel

Buff Model

The amount of buff is managed by BuffEntryModel, and it is possible to associate multiple BuffEntryModels with a specific entry. The application order of BuffEntryModel is managed by the priority of BuffEntryModel, and the smaller the value of priority, the higher the priority.

There are two types of buff application methods, “Add” and “Mul”. Add is an instruction to add to the buff application rate, and Mul is an instruction to multiply the buff application rate. The default rate is 1.0, and setting Add 0.2 will make the buff application rate 1.2. Setting Mul 0.5 will make the buff application rate 0.5 times.

BuffEntryModel can be associated with events of GS2-Schedule, and it is possible to set to apply buffs only during the event holding period.

TypeConditionRequireDefaultLimitationDescription
buffEntryModelIdstring~ 1024 charsBuff entity model GRN
namestring~ 128 charsBuff entity name
metadatastring~ 2048 charsmetadata
expressionenum {
    “rate_add”,
    “mul”,
    “value_add”
}
~ 128 charsApplication type of buff
targetTypeenum {
    “model”,
    “action”
}
~ 128 charsType of target to apply buff
targetModelBuffTargetModel{targetType} == “model”Model to apply buff
targetActionBuffTargetAction{targetType} == “action”Action to apply buff
priorityint~ 2147483646Priority of buff application
applyPeriodScheduleEventIdstring~ 1024 charsEvent ID to apply buff

Enumeration type definition to specify as expression

Enumerator String DefinitionDescription
rate_addRate Add
mulMul
value_addValue Add

Enumeration type definition to specify as targetType

Enumerator String DefinitionDescription
modelModel
actionAction

OverrideBuffRate

Buff application rate override model

TypeConditionRequireDefaultLimitationDescription
namestring~ 128 charsBuff entity name
ratefloat~ 100Rate