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’s reward should be given automatically upon completion.
auto_resetboolWhether the achievement should reset after completion.
categorystringThe category that this achievement belongs to.
countint64The initial progress towards completion.
descriptionstringThe description text for this achievement.
reset_cronexprstringThe reset schedule expressed 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 must be progressed before it can be claimed. Set this to 0 (zero) to allow for immediate claiming, so long as all preconditions are met.
namestringThe display friendly name for this achievement.
precondition_ids[]stringAchievement IDs the user must have completed to be able to start this achievement.
rewardRewardThe rewards that a user should be able to claim once they complete this achievement.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.