Sub Achievements #

Sub achievements are used to reward players for completing multiple achievements in Guild Wars 2 by ArenaNet.
Sub achievements are used to reward players for completing multiple achievements in Guild Wars 2 by ArenaNet.

Sub achievements can be used to enhance the player experience by creating a reward ladder, with each sub achievement granting an increasingly valuable reward as the player progresses.

Sub achievements belong to a parent achievement and can have their own associated reward, and a “total completion” reward for when all sub achievements have been completed. For example, the parent achievement could be “Complete this level” and the sub achievements could be “Complete this level with 3 stars”, “Complete this level with 4 stars”, and “Complete this level with 5 stars”.

Customization Parameters #

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{
    "achievements": {
        "adventureGuideVolumeOne": {
            "auto_claim": false,
            "auto_claim_total": false,
            "auto_reset": false,
            "category": "Adventure Guide",
            "count": 0,
            "description": "Complete 14 of the 16 Adventure Guide: Volume One achievements.",
            "reset_cronexpr": "* * * * *",
            "duration_sec": 0,
            "max_count": 1,
            "name": "Adventure Guide: Volume One",   
            "reward": {},
            "total_reward": {
              "guaranteed": {
                "currencies": {
                  "gold": {
                    "min": 100
                  }
                },
                "items": {
                  "hero_card": {
                    "min": 1,
                    "max": 5
                  }
                }
              }
            },
            "sub_achievements": {
                "defeatingEnemiesI": {
                  "auto_claim": true,
                  "auto_reset": false,
                  "category": "Adventure Guide: Volume One",
                  "count": 0,
                  "description": "Defeat 10 enemies.",
                  "reset_cronexpr": "* * * * *",
                  "duration_sec": 0,
                  "max_count": 1,
                  "name": "Defeating Enemies I",     
                  "reward": {
                    "guaranteed": {
                      "currencies": {
                        "gold": {
                          "min": 100
                        }
                      },
                      "items": {
                        "hero_card": {
                          "min": 1,
                          "max": 5
                        }
                      }
                    }
                  },
                  "additional_properties": {
                    "<propertyName": "value"
                  }
                },
                "lootingEnemies": { 
                  // ...
                },
                "usingWaypoints": {
                  // ...
                },
                // ...
            }
        }
    }
}

Each individual sub-achievement is keyed by id and may define the following:

Sub Achievement #

PropertyTypeDescription
auto_claimboolWhether the achievement reward should be given automatically upon completion.
auto_resetboolWhether the achievement should reset after completion.
categorystringThe category name for this achievement.
countint64The initial count towards progress for this achievement.
descriptionstringThe description for this achievement.
reset_cronexprstringThe reset interval in CRON format.
duration_secint64How long (in seconds) this achievement is available for progression after creation. Used for limited time achievements.
max_countint64The number of times this achievement can be progressed before it can be claimed.
namestringThe display friendly name of this achievement.
precondition_ids[]stringAchievement IDs the user must have completed to qualify for starting this achievement.
rewardRewardThe rewards a user should receive once they complete this achievement.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.