- summary: New progress on one objective of an active quest. Update that objective's counter; nothing is sent back.
- area: Game.Quest
New progress on one objective of an active quest. Update that objective's counter; nothing is sent back.
Kind event · Area Game.Quest
New progress on one objective of a quest the character is doing - "3 of 10 killed". The server pushes it whenever the counter moves; it changes no other part of the quest.
WHAT TO DO WHEN YOU RECEIVE IT
1. Find the quest by QuestObjectiveUpdatedEvent.quest_id among the quests you hold
from QuestsEvent / QuestStepInformationEvent, then the objective by
QuestObjectiveUpdatedEvent.objective_id inside that quest's current step.
2. Set that objective's progress to Completion.current_completion out of
Completion.max_completion.
3. If you do not hold that quest or that objective, ignore the message - the client
does exactly that.
4. SEND NOTHING BACK. The handler builds no request.
WHAT THE CLIENT DOES. The quest service looks the quest up in its table of active quests, then the objective in that quest's table of objectives, and overwrites the objective's two progress counters (kept as 16-bit numbers). It then announces the (quest, objective) pair; the quest window refreshes its objective list when that quest is the one selected.
The two ids are the same wire type and change field numbers between builds; they are told apart by which one the client looks up FIRST (the quest) and which one it looks up inside the result (the objective).
When you may send it
- Requires
character_selectedinferred
Related messages
- Unsolicited - nothing you send causes this inferred — the server pushes it as an objective's counter moves; no request asks for it
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | objective_id | int32 | The objective that progressed, looked up inside that quest. (objective id) Named after the same member of QuestObjectiveValidatedEvent. | never |
| 3 | completion | Completion | The objective's new progress: current count and target. A Completion, the record QuestObjective carries for the same purpose. | never |
| 4 | quest_id | int32 | The quest whose objective progressed; the client looks it up first. (quest id) Named after the same member of QuestObjectiveValidatedEvent; no reference build names this message's fields. | never |