Achievement Grade Info
Overview
Section titled “Overview”AchievementGradeInfo.xml defines grade tiers used by the achievement system: per-category tier thresholds and time-based seasonal grade periods.
Version support
Section titled “Version support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
DSL support
Section titled “DSL support”Section: achievementGradeInfo
Sub-entities: categoryGrades, seasons
Operations: create, update, delete, upsert (per sub-entity)
File organization: SingleFile — AchievementGradeInfo.xml
Quick recipes
Section titled “Quick recipes”Category grades
Section titled “Category grades”Create
Section titled “Create”spec: version: "1.0" schema: v92
achievementGradeInfo: categoryGrades: create: - id: 99001 grades: - id: 1 name: "Bronze" needRate: 0.2 - id: 2 name: "Silver" needRate: 0.5 - id: 3 name: "Gold" needRate: 0.8Update
Section titled “Update”achievementGradeInfo: categoryGrades: update: - id: 99001 changes: grades: - id: 1 name: "Bronze" needRate: 0.25 - id: 2 name: "Silver" needRate: 0.6Delete
Section titled “Delete”achievementGradeInfo: categoryGrades: delete: - 99001Seasons
Section titled “Seasons”Create
Section titled “Create”spec: version: "1.0" schema: v92
achievementGradeInfo: seasons: create: - id: 99001 active: true name: "Season 1" startDate: 20250101 point: 15000 grades: - id: 1 name: "Bronze" needRate: 0.2 - id: 2 name: "Silver" needRate: 0.5Update
Section titled “Update”achievementGradeInfo: seasons: update: - id: 99001 changes: active: false name: "Season 1 (Ended)"Delete
Section titled “Delete”achievementGradeInfo: seasons: delete: - 99001Properties reference
Section titled “Properties reference”Category grade attributes
Section titled “Category grade attributes”| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
id | int | v92 | Yes | Category grade identifier |
grades | list[Grade] | v92 | No | List of grade tier definitions |
Season attributes
Section titled “Season attributes”| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
id | int | v92 | Yes | Season identifier |
active | bool | v92 | No | Whether the season is active |
name | string | v92 | No | Season name (string table reference) |
startDate | int | v92 | No | Season start date (YYYYMMDD format) |
point | int | v92 | No | Total point threshold for the season |
grades | list[Grade] | v92 | No | List of grade tier definitions |
Grade (nested element)
Section titled “Grade (nested element)”Shared structure used by both category grades and seasons. Defines a single tier threshold.
| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
id | int | v92 | Yes | Grade tier identifier |
name | string | v92 | Yes | Grade tier name (e.g., “Bronze”, “Silver”) |
needRate | decimal | v92 | Yes | Completion rate threshold (0.0–1.0) |
icon | string | v92 | No | Grade icon (structural default: "") |
compensation | string | v92 | No | Compensation reference (structural default: "") |
XML structure
Section titled “XML structure”AchievementGradeInfo.xml└── AchievementGradeInfo ├── GeneralGrade (not modeled) │ └── Grade (0..5) │ @id @name @desc ├── CategoryGrade (0..6) │ @id │ └── Grade (0..5) │ @id @name @needRate @icon @compensation └── Season (0..10) @id @active @name @startDate @point? └── Grade (0..5) @id @name @needRate @icon @compensation- Two entities, one file: Category grades and seasons share
AchievementGradeInfo.xml. Both can be modified in the same YAML spec under theachievementGradeInfosection. - GeneralGrade: The
GeneralGradeelement is a singleton with fixed content and is not currently modeled in the DSL. - Structural defaults: Grade
iconandcompensationattributes are structurally required in XML but default to empty strings. They do not need to be specified in YAML — the pipeline writes the type-zero value ("") automatically. - Clear-and-replace: Grades use clear-and-replace semantics. Providing a
gradeslist on update replaces all existing grade children.