AchievementList.xml defines achievement entries: goals that players can complete to earn titles, items, money, and other rewards.
Version Status v92 Full v90 - v86 -
Entity: achievements
Operations: create, update, delete, upsert
File organization: RegionalVariants — AchievementList.xml, AchievementList_{region}.xml
name : " @Achievement:99001001 "
description : " @Achievement:99001002 "
iconName : " Icon_Achievement.Icon_Achievement_Title_dungeon_Tex "
conditionCheckMethod : " AND "
mailSender : " @Achievement:99001005 "
detail : " @Achievement:99001003 "
string : " @Achievement:99001004 "
title : " @Achievement:99001501 "
name : " @Achievement:99001001 "
description : " @Achievement:99001002 "
iconName : " Icon_Achievement.Icon_Achievement_Title_dungeon_Tex "
conditionCheckMethod : " AND "
Attribute Type Since Description idintv92 Unique achievement identifier namestringv92 Display name (string table reference) descriptionstringv92 Description text (string table reference) iconNamestringv92 Achievement icon texture name categoryIdintv92 Category this achievement belongs to gradeintv92 Achievement grade/tier (0-based) pointintv92 Points awarded on completion activeboolv92 Whether the achievement is active compareboolv92 Whether the achievement is comparable compareIdintv92 ID used for comparison logic conditionCheckMethodstringv92 How conditions are evaluated (AND or OR) classesstringv92 Class restriction (common for all classes) serverUniquestringv92 Server uniqueness constraint (none, region codes)
Attribute Type Since Description hiddenboolv92 Whether the achievement is hidden from the list hasTitleboolv92 Whether the achievement grants a title detailstringv92 Detailed description (string table reference) sortGroupstringv92 Grouping key for sort order isDailyPlayGuideboolv92 Whether shown in daily play guide notifyLevelintv92 Notification priority level mailSenderstringv92 Mail sender name for reward delivery withoutMsgClassesstringv92 Classes excluded from achievement messages withoutRewardClassesstringv92 Classes excluded from receiving rewards
Achievement completion conditions. Multiple conditions are combined using conditionCheckMethod.
Attribute Type Since Required Description idintv92 Yes Condition identifier (0 for single conditions) templateIdintv92 Yes Condition template defining the check type typestringv92 No Condition type (check, count) maxintv92 No Maximum count for count-type conditions stringstringv92 No Display string (string table reference) value1intv92 No Condition parameter 1 value2intv92 No Condition parameter 2 value3intv92 No Condition parameter 3 value4intv92 No Condition parameter 4 value5intv92 No Condition parameter 5 value6intv92 No Condition parameter 6
Achievement rewards. Each reward has a rewardType discriminator that determines which attributes apply.
Attribute Type Since Required Description rewardTypeRewardTypev92 Yes Discriminator for reward type
rewardTypeRequired attributes Optional attributes titletitledirectApplyitemtemplateId, amountdescmoneyamount— specialtype, desctargetId, targetType, valueabilityabilityId— awakengrade—
Attribute Type Since Description titlestringv92 Title string (string table reference) directApplyboolv92 Whether title is applied automatically templateIdintv92 Item template ID amountintv92 Item count or money amount descstringv92 Reward description typestringv92 Special reward type (extendInven, etc.) targetIdstringv92 Special reward target ID targetTypestringv92 Special reward target type (npc, etc.) valuedecimalv92 Special reward value abilityIdintv92 Ability reward ID gradeintv92 Awaken reward grade
Value Since Description titlev92 Grants a title itemv92 Grants an item moneyv92 Grants gold specialv92 Grants a special reward (inventory expansion, etc.) abilityv92 Grants an ability awakenv92 Grants an awaken grade
@id @name @description @iconName @categoryId @grade @point
@active @compare @compareId @conditionCheckMethod @classes
@serverUnique @hidden? @hasTitle? @detail? @sortGroup?
@isDailyPlayGuide? @notifyLevel? @mailSender?
@withoutMsgClasses? @withoutRewardClasses?
│ @id @templateId @type? @max? @string?
│ @value1? @value2? @value3? @value4? @value5? @value6?
├── TitleReward @title @directApply?
├── ItemReward @templateId @amount @desc?
├── SpecialReward @type @desc @targetId? @targetType? @value?
Regional variants: Achievement files use regional suffixes (_KR, _JP, _NAEU, etc.). Regional files contain only the achievements that differ from the base AchievementList.xml.
String table references: name, description, detail, mailSender, and condition string values are string table references (format @Achievement:{id}{suffix}), not literal text.
Condition values: The meaning of value1 through value6 depends on the templateId. Refer to the condition template definitions for the correct parameter mapping.
Reward discrimination: Each reward entry requires rewardType to determine which attributes are valid. Using attributes from the wrong reward type is silently ignored.
Clear-and-replace: Conditions and rewards use clear-and-replace semantics. On update, providing a new conditions or rewards list replaces the entire set — partial updates of individual conditions/rewards are not supported.