VIP Benefit
Version support
Section titled “Version support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
VIPBenefit.xml defines VIP benefit entries with per-grade property lists that control UI display strings for each benefit at different VIP levels.
Benefit entries are identified by benefitId.
DSL support
Section titled “DSL support”Entity: vipBenefits
Operations: create, update, delete, upsert
File organization: SingleFile — VIPBenefit.xml
Quick recipes
Section titled “Quick recipes”Create
Section titled “Create”spec: version: "1.0" schema: v92
vipBenefits: create: - benefitId: 1 properties: - name: "expBoost" grade: 1 value: "10%" nameString: "EXP Boost" prevPageStr: "None" nextPageStr: "15%" levelUpStr: "Unlocked at VIP 1" - name: "expBoost" grade: 2 value: "15%" nameString: "EXP Boost" prevPageStr: "10%" nextPageStr: "20%" levelUpStr: "Upgraded at VIP 2"Update
Section titled “Update”spec: version: "1.0" schema: v92
vipBenefits: update: - benefitId: 1 changes: properties: - name: "expBoost" grade: 1 value: "12%" nameString: "EXP Boost"Delete
Section titled “Delete”spec: version: "1.0" schema: v92
vipBenefits: delete: - benefitId: 1Upsert
Section titled “Upsert”spec: version: "1.0" schema: v92
vipBenefits: upsert: - benefitId: 2 properties: - name: "goldBoost" grade: 1 value: "5%" nameString: "Gold Boost"Properties reference
Section titled “Properties reference”Benefit attributes
Section titled “Benefit attributes”| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
benefitId | int | v92 | Yes | Unique benefit identifier |
properties | list[Property] | v92 | No | Per-grade property entries. See Property. |
Nested elements
Section titled “Nested elements”Property
Section titled “Property”Defines a benefit property entry for a specific grade. When properties is specified, all existing property elements are replaced (clear-and-replace).
| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
name | string | v92 | No | Property internal name |
grade | int | v92 | No | VIP grade this property applies to |
value | string | v92 | No | Property value (displayed in UI) |
nameString | string | v92 | No | Display name string |
prevPageStr | string | v92 | No | Previous page comparison string |
nextPageStr | string | v92 | No | Next page comparison string |
levelUpStr | string | v92 | No | Level-up notification string |
XML structure
Section titled “XML structure”VIPBenefit.xml└── Benefit (0..∞) @id (key) └── Property (0..∞) @name @grade @value @nameString @prevPageStr @nextPageStr @levelUpStrCommon pitfalls
Section titled “Common pitfalls”- Property replacement: Specifying
propertiesreplaces all existingPropertychild elements for that benefit. Always provide the complete property list. - ID attribute: The YAML alias is
benefitId, which maps to the XMLidattribute on theBenefitelement.