GS2-Exchange Buff Reference
Note
See BuffEntryModel for more information on the buff entry model.Model
Target model types available for buff application
Gs2Exchange:RateModel
Exchange Rate Model
Target fields for buff application
lockTime
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| lockTime | int | {timingType} == “await” | ✓* | 0 ~ 538214400 | Waiting time (minutes) from the execution of the exchange until the reward is actually received Only applicable when timingType is await. Specifies the number of minutes that must elapse in real time after the exchange is initiated before the player can claim the rewards. The waiting time can be shortened by using the skip mechanism.* Required if timingType is “await” |
Example Master Data
rate specifies the multiplier applied to the target field.
"targetModel": {
"targetModelName": "Gs2Exchange:RateModel",
"targetFieldName": "lockTime",
"conditionGrns": [
],
"rate": 1.0
}Buff Application Condition Model
Gs2Exchange:Namespace
Namespace
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:Namespace",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}"
}
]Gs2Exchange:RateModel
Exchange Rate Model
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:RateModel",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}:model:{rateName}"
}
]acquireActions
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| acquireActions | List<AcquireAction> | [] | 0 ~ 100 items | List of Acquire Actions Defines the resources (rewards) that the player receives upon completing the exchange. Multiple acquire actions can be specified to grant various resource types simultaneously. These actions are executed as acquire actions within a distributed transaction. |
Example Master Data
rate specifies the multiplier applied to the target field.
"targetModel": {
"targetModelName": "Gs2Exchange:RateModel",
"targetFieldName": "acquireActions",
"conditionGrns": [
],
"rate": 1.0
}Buff Application Condition Model
Gs2Exchange:Namespace
Namespace
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:Namespace",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}"
}
]Gs2Exchange:RateModel
Exchange Rate Model
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:RateModel",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}:model:{rateName}"
}
]verifyActions
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| verifyActions | List<VerifyAction> | [] | 0 ~ 10 items | List of Verify Actions Precondition checks that must all pass before the exchange is executed. If any verify action fails, the exchange is aborted without consuming resources. Used to enforce conditions such as level requirements or inventory capacity. |
Example Master Data
rate specifies the multiplier applied to the target field.
"targetModel": {
"targetModelName": "Gs2Exchange:RateModel",
"targetFieldName": "verifyActions",
"conditionGrns": [
],
"rate": 1.0
}Buff Application Condition Model
Gs2Exchange:Namespace
Namespace
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:Namespace",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}"
}
]Gs2Exchange:RateModel
Exchange Rate Model
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:RateModel",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}:model:{rateName}"
}
]consumeActions
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| consumeActions | List<ConsumeAction> | [] | 0 ~ 10 items | List of Consume Actions Defines the resources (cost) that the player must pay to perform this exchange. Multiple consume actions can be specified, allowing complex exchange costs such as requiring both gold and items. These actions are executed as consume actions within a distributed transaction. |
Example Master Data
rate specifies the multiplier applied to the target field.
"targetModel": {
"targetModelName": "Gs2Exchange:RateModel",
"targetFieldName": "consumeActions",
"conditionGrns": [
],
"rate": 1.0
}Buff Application Condition Model
Gs2Exchange:Namespace
Namespace
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:Namespace",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}"
}
]Gs2Exchange:RateModel
Exchange Rate Model
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:RateModel",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}:model:{rateName}"
}
]Gs2Exchange:IncrementalRateModel
Incremental Cost Exchange Rate Model
Target fields for buff application
acquireActions
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| acquireActions | List<AcquireAction> | [] | 0 ~ 100 items | List of Acquire Actions Defines the resources (rewards) that the player receives upon completing the incremental exchange. The rewards remain constant regardless of the exchange count; only the cost increases with each exchange. |
Example Master Data
rate specifies the multiplier applied to the target field.
"targetModel": {
"targetModelName": "Gs2Exchange:IncrementalRateModel",
"targetFieldName": "acquireActions",
"conditionGrns": [
],
"rate": 1.0
}Buff Application Condition Model
Gs2Exchange:Namespace
Namespace
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:Namespace",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}"
}
]Gs2Exchange:IncrementalRateModel
Incremental Cost Exchange Rate Model
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:IncrementalRateModel",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}:incremental:model:{rateName}"
}
]consumeAction
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| consumeAction | ConsumeAction | ✓ | Consume Action (Quantity and Value are overwritten automatically) Defines the type of resource consumed as cost for the exchange. The actual quantity is calculated dynamically based on the exchange count and the calculation type (linear, power, or script). Only the action type and target resource need to be specified; the quantity field is overwritten automatically. |
Example Master Data
rate specifies the multiplier applied to the target field.
"targetModel": {
"targetModelName": "Gs2Exchange:IncrementalRateModel",
"targetFieldName": "consumeAction",
"conditionGrns": [
],
"rate": 1.0
}Buff Application Condition Model
Gs2Exchange:Namespace
Namespace
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:Namespace",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}"
}
]Gs2Exchange:IncrementalRateModel
Incremental Cost Exchange Rate Model
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:IncrementalRateModel",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}:incremental:model:{rateName}"
}
]maximumExchangeCount
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| maximumExchangeCount | int | 2147483646 | 0 ~ 2147483646 | Maximum number of exchanges The maximum number of times this incremental exchange can be performed by a user. Once the exchange count reaches this limit, further exchanges are denied until the count is reset via GS2-Limit. |
Example Master Data
rate specifies the multiplier applied to the target field.
"targetModel": {
"targetModelName": "Gs2Exchange:IncrementalRateModel",
"targetFieldName": "maximumExchangeCount",
"conditionGrns": [
],
"rate": 1.0
}Buff Application Condition Model
Gs2Exchange:Namespace
Namespace
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:Namespace",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}"
}
]Gs2Exchange:IncrementalRateModel
Incremental Cost Exchange Rate Model
Example Master Data
"conditionGrns": [
{
"targetModelName": "Gs2Exchange:IncrementalRateModel",
"targetGrn": "grn:gs2:any:any:exchange:{namespaceName}:incremental:model:{rateName}"
}
]