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

# GS2-Experience Buff Reference

Describes the fields within models/actions whose parameters can be adjusted when applying buffs with GS2-Buff, and how to configure the scope in which those buffs are applied.




{{% alert title="Note" color="info" %}}
See [BuffEntryModel](api_reference/buff/master_data/#buffentrymodel) for more information on the buff entry model.
{{% /alert %}}

## Models
Target model types available for buff application

### Gs2Experience:Status
Status


#### Target fields for buff application

##### rankCapValue


|  | Type | Condition | Required | Default | Value Limits | Description |
| --- | --- | --- | --- | --- | --- | --- |
| rankCapValue | long |  | ✓|  | 0 ~ 9223372036854775805 | Current Rank Cap<br>The maximum rank this status can currently reach. Initially set to the experience model's defaultRankCap, and can be raised up to maxRankCap through rank cap increase operations such as limit breaking. |


##### Example Master Data

`rate` specifies the multiplier applied to the target field.


**JSON**
```json
"targetModel": {
    "targetModelName": "Gs2Experience:Status",
    "targetFieldName": "rankCapValue",
    "conditionGrns": [
    ],
    "rate": 1.0
}
```



#### Buff Application Condition Model

##### Gs2Experience:ExperienceModel


Experience Model


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:ExperienceModel",
        "targetGrn": "grn:gs2:any:any:experience:{namespaceName}:model:{experienceName}"
    }
]
```


##### Gs2Experience:Status


Status


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:Status",
        "targetGrn": "grn:gs2:any:any:experience:{namespaceName}:user:any:experienceModel:{experienceName}:property:{propertyId}"
    }
]
```


---
## Action
Types of actions that can apply buffs

### Gs2Experience:AddExperienceByUserId
Add experience by User ID

Adds experience points to the specified user's status. Rank is automatically recalculated based on the rank-up threshold values.
When truncateExperienceWhenRankUp is true, excess experience beyond the rank-up threshold is discarded on rank up; when false (default), it carries over to the next rank.


#### Target fields for buff application

##### experienceValue


[Status - Status](../sdk#status)



|  | Type | Condition | Required | Default | Value Limits | Description |
| --- | --- | --- | --- | --- | --- | --- |
| experienceValue | long |  | | 0 | 0 ~ 9223372036854775805 | Gained Experience |


##### Example Master Data



**JSON**
```json
"targetAction": {
    "targetActionName": "Gs2Experience:AddExperienceByUserId",
    "targetFieldName": "experienceValue",
    "conditionGrns": [
    ],
    "rate": 1.0
}
```

#### Buff Application Condition Model

##### Gs2Experience:ExperienceModel


Experience Model


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:ExperienceModel",
        "targetGrn": "grn:gs2:{region}:{ownerId}:experience:{namespaceName}:model:{experienceName}"
    }
]
```


##### Gs2Experience:Status


Status


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:Status",
        "targetGrn": "grn:gs2:{region}:{ownerId}:experience:{namespaceName}:user:{userId}:experienceModel:{experienceName}:property:{propertyId}"
    }
]
```



---

### Gs2Experience:SubExperience
Subtract experience

Subtracts experience points from the requesting user's status. Experience will not go below 0.
Rank is automatically recalculated based on the rank-up threshold values.


#### Target fields for buff application

##### experienceValue


[Status - Status](../sdk#status)



|  | Type | Condition | Required | Default | Value Limits | Description |
| --- | --- | --- | --- | --- | --- | --- |
| experienceValue | long |  | | 0 | 0 ~ 9223372036854775805 | Lost Experience |


##### Example Master Data



**JSON**
```json
"targetAction": {
    "targetActionName": "Gs2Experience:SubExperience",
    "targetFieldName": "experienceValue",
    "conditionGrns": [
    ],
    "rate": 1.0
}
```

#### Buff Application Condition Model

##### Gs2Experience:ExperienceModel


Experience Model


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:ExperienceModel",
        "targetGrn": "grn:gs2:{region}:{ownerId}:experience:{namespaceName}:model:{experienceName}"
    }
]
```


##### Gs2Experience:Status


Status


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:Status",
        "targetGrn": "grn:gs2:{region}:{ownerId}:experience:{namespaceName}:user:{userId}:experienceModel:{experienceName}:property:{propertyId}"
    }
]
```



---

### Gs2Experience:SubExperienceByUserId
Subtract experience by User ID

Subtracts experience points from the specified user's status. Experience will not go below 0.
Rank is automatically recalculated based on the rank-up threshold values.


#### Target fields for buff application

##### experienceValue


[Status - Status](../sdk#status)



|  | Type | Condition | Required | Default | Value Limits | Description |
| --- | --- | --- | --- | --- | --- | --- |
| experienceValue | long |  | | 0 | 0 ~ 9223372036854775805 | Lost Experience |


##### Example Master Data



**JSON**
```json
"targetAction": {
    "targetActionName": "Gs2Experience:SubExperienceByUserId",
    "targetFieldName": "experienceValue",
    "conditionGrns": [
    ],
    "rate": 1.0
}
```

#### Buff Application Condition Model

##### Gs2Experience:ExperienceModel


Experience Model


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:ExperienceModel",
        "targetGrn": "grn:gs2:{region}:{ownerId}:experience:{namespaceName}:model:{experienceName}"
    }
]
```


##### Gs2Experience:Status


Status


##### Example Master Data


**JSON**
```json
"conditionGrns": [
    {
        "targetModelName": "Gs2Experience:Status",
        "targetGrn": "grn:gs2:{region}:{ownerId}:experience:{namespaceName}:user:{userId}:experienceModel:{experienceName}:property:{propertyId}"
    }
]
```



---



