- summary: One achievement the character has completed: which one, who completed it, the level it was finished at and its pioneer rank.
- area: Game.Achievement
One achievement the character has completed: which one, who completed it, the level it was finished at and its pioneer rank.
Kind struct · Area Game.Achievement
One achievement the character has completed: which achievement
(AchievedAchievement.achievement_id), who completed it
(AchievedAchievement.achieved_by), the level it was finished at
(AchievedAchievement.finished_level) and its pioneer rank
(AchievedAchievement.pioneer_rank).
A shared record, not a message anyone sends. AchievementsEvent carries the full list
of them; two further achievement events carry exactly one each - the "you just finished
an achievement" notice and the announcement of someone else's achievement - and have no
signature here yet.
HOW THE CLIENT USES IT
- achievement_id is the key. The client looks the achievement up in its achievement
data by this id, and matches a reward result against its records by it.
- finished_level is read through the generated accessor, so an absent value reads as
0. The client treats a value above 0 as "reward not claimed yet": when the reward
result for that achievement arrives, it checks the value is above 0 and sets it to
0. See AchievementRewardRequest for claiming.
- pioneer_rank is copied into the client's record and read nowhere else on 3.6.12.16.
WIRE NUMBERS MOVE. The four members take different field numbers on every build, and builds pad the record with an unread string, a second int64 or a second int32. Match the members by the rules above, never by number.
Not sent on its own — it is a record embedded in the achievement events, never sent on its own. inferred
Used by
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | achievement_id | int32 | Which achievement was completed; the key the client looks it up and matches reward results by. (achievement id) | never |
| 2 | achieved_by | int64 | Who completed it: an id the client stores without interpreting it further. The name says who achieved it; that it is a character id is inferred from the name and the int64 type, not from client behaviour. | never |
| 3 | finished_level | int32 | Optional. Above 0 while the reward is still unclaimed; the client sets it to 0 when the reward result arrives. Explicit presence: absent is not the same as zero. Read through the generated accessor, so an absent value reads as 0. | never |
| 4 | pioneer_rank | int32 | The character's pioneer rank for this achievement; the client keeps it but reads it nowhere else on 3.6.12.16. | never |