- summary: One NPC, the quests it can give and the quests it can take back.
- area: Game.Npc
One NPC, the quests it can give and the quests it can take back.
Kind struct · Area Game.Npc
One NPC of a MapNpcQuest entry, with two lists of quest ids.
NpcWithQuest.quests_to_start are quests the NPC can give;
NpcWithQuest.quests_to_validate are quests it can take back. When the client picks
the NPC's marker it looks at the quests to validate first, then records whether the
quest it picked is one to start - which is what decides the marker's kind.
DO NOT GO BY FIELD NUMBER. The two lists are renumbered from build to build and some builds declare a third list of quest ids, a string, an int64 or a nested enum beside them that the client never reads.
HOW TO USE IT. Find the NPC among the map's actors by NpcWithQuest.npc_id. A
non-empty quests_to_validate means the NPC can complete a quest of yours now; a
non-empty quests_to_start means it can give you a new one. The client shows the
validate marker in preference when both are present.
Not sent on its own — it is only ever an element of MapNpcQuest.npcs_with_quests. inferred
Used by
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | quests_to_start | repeated int32 | Quests this NPC can give. (quest id) The only list the world map uses: a map gets a marker when one of its NPCs has a quest to start that the client's quest table knows. | never |
| 2 | quests_to_validate | repeated int32 | Quests this NPC can take back. (quest id) Looked at before quests_to_start when the client picks the NPC's marker. Never shown on the world map. | never |
| 3 | npc_id | int32 | Which NPC. (npc id) The contextual id the NPC has on the current map - the one the map's actor list carries and NpcGenericActionRequest expects, routinely negative - not an NPC template id. The client finds the NPC by looking this id up, widened to 64 bits, in its table of the entities on the map. | never |