+0x000 | N | N — client index; for HSK 0xF0000000 | index quests.md §9.2 | Quest.m_dwIndex | — | client | derived | 2610 values; most often 0 (0%) |
+0x004 | Code | packed code: (letter − A) << 24 + 6 hex characters quests.md §9.2, §9.4 | Quest.m_strCode | — | client | derived | 2610 values; most often 268894208 (0%) |
+0x008 | QuestType | quest type quests.md §9.2 | Quest.m_nQuestType | — | client | derived | 2 values; most often 0 (82%) |
+0x009 | DifficultyLv | quest level quests.md §9.2 | Quest.m_nDifficultyLevel | — | client | derived | 56 values; most often 1 (10%) |
+0x00A | Race | race (0xFF — shared) quests.md §9.2 | Quest.m_n2 | — | client | derived | 3 values; most often 0 (34%) |
+0x00B | LvLim | level cap quests.md §9.2 | Quest.m_nLimLv | — | client | derived | 2 values; most often -1 (100%) |
+0x010 | ActionType ×3 | target N: type (stride 0x20, 3 targets) quests.md §9.2, §4 | Quest.m_nActType | — | client | derived | 27 values; most often -1 / -1 / -1 (61%) |
+0x011 | skp ×3 | padding, constant 0 quests.md §9.2 | — | — | client | derived | always 0 / 0 / 0 |
+0x012 | (unnamed) ×3 | padding, constant 0 quests.md §9.2 | — | — | client | derived | always 0 / 0 / 0 |
+0x014 | Target ID ×3 | target N: object (monster/NPC — hex, item — group and ID) quests.md §9.2, §9.4 | Quest.m_strActSub | — | client | derived | 425 values; most often 4294967295 / 4294967295 / 4294967295 (61%) |
+0x018 | Action Subject One ×3 | target N: item (for %ITEM) quests.md §9.2, §9.4 | Quest.m_strActSub | — | client | derived | 93 values; most often 4294967295 / 4294967295 / 4294967295 (89%) |
+0x01C | Action Subject Two ×3 | target N: item ID m_strActSub2 (type 14, the group is at +0x8 of the action); −1 for other types quests.md §9.2 [user, 29.10.2026; bytes Q6], §4 | Quest.m_strActSub2 | — | client | derived | 91 values; most often 4294967295 / 4294967295 / 4294967295 (61%) |
+0x020 | Quantity ×3 | target N: how many quests.md §9.2 | Quest.m_nReqAct | — | client | derived | 41 values; most often -1 / -1 / -1 (60%) |
+0x024 | QObjectiveTextIdx ×3 | target N: target text (number in NDQuest) quests.md §9.2 (layout confirmed in game) | entity text | — | client | derived | 47 values; most often -1 / -1 / -1 (60%) |
+0x028 | QProgressTextIdx ×3 | target N: progress text quests.md §9.2 | entity text | — | client | derived | 47 values; most often -1 / -1 / -1 (60%) |
+0x02C | QuestItem ×3 | target N: QuestItem — row number of table 8 quests.md §9.2, §4 | Quest.m_strLinkQuestItem | — | client | derived | 27 values; most often -1 / -1 / -1 (98%) |
+0x070 | Reward: Exp | experience (double) quests.md §9.2, §5 | Quest.m_dConsExp | — | client | derived | 72 values; most often 0 (49%) |
+0x078 | Reward: Dalant | dalant quests.md §9.2, §5 | Quest.m_nConsDalant | — | client | derived | 72 values; most often 0 (85%) |
+0x07C | Reward: Gold | gold quests.md §9.2, §5 | Quest.m_nConsGold | — | client | derived | always 0 |
+0x080 | Reward: CP | CP quests.md §9.2, §5 | Quest.m_nConsContribution | — | client | derived | 23 values; most often 0 (89%) |
+0x084 | Reward: PvPPoint | PvP points quests.md §9.2, §5 | Quest.m_nConsPvP | — | client | derived | 2 values; most often 0 (99%) |
+0x088 | Reward Type ×6 | reward: 6 × {u8 group (FF — none), 3 b., u32 code, u8 quantity (mod 256), 3 b.}; wrongly i32 in STRS quests.md §9.2, §5 | Quest.m_strConsITCode, m_nConsITCnt | — | client | derived | 50 values; most often -1 / -1 / -1 / -1 … (80%) |
+0x089 | (skip) ×6 | reward: 6 × {u8 group (FF — none), 3 b., u32 code, u8 quantity (mod 256), 3 b.}; wrongly i32 in STRS quests.md §9.2, §5 | Quest.m_strConsITCode, m_nConsITCnt | — | client | derived | always 000000 / 000000 / 000000 / 000000 … |
+0x08C | Reward Code ×6 | reward: 6 × {u8 group (FF — none), 3 b., u32 code, u8 quantity (mod 256), 3 b.}; wrongly i32 in STRS quests.md §9.2, §5 | Quest.m_strConsITCode, m_nConsITCnt | — | client | derived | 246 values; most often 4294967295 / 4294967295 / 4294967295 / 4294967295 … (80%) |
+0x090 | Reward Quantity ×6 | reward: 6 × {u8 group (FF — none), 3 b., u32 code, u8 quantity (mod 256), 3 b.}; wrongly i32 in STRS quests.md §9.2, §5 | Quest.m_strConsITCode, m_nConsITCnt | — | client | derived | 24 values; most often 255 / 255 / 255 / 255 … (80%) |
+0x091 | (skip) ×6 | reward: 6 × {u8 group (FF — none), 3 b., u32 code, u8 quantity (mod 256), 3 b.}; wrongly i32 in STRS quests.md §9.2, §5 | Quest.m_strConsITCode, m_nConsITCnt | — | client | derived | always 000000 / 000000 / 000000 / 000000 … |
+0x0D0 | Reward: Mastery Code ×2 | mastery: 2 × {u8 kind, u8 subkind, u16, i32 points} quests.md §9.2, §5 | Quest.m_nConsMasteryID/SubID/Cnt | — | client | derived | 4 values; most often -1 / -1 (100%) |
+0x0D1 | Reward: SubMastery Code ×2 | mastery: 2 × {u8 kind, u8 subkind, u16, i32 points} quests.md §9.2, §5 | Quest.m_nConsMasteryID/SubID/Cnt | — | client | derived | 2 values; most often -1 / -1 (100%) |
+0x0D2 | ?? ×2 | mastery: 2 × {u8 kind, u8 subkind, u16, i32 points} quests.md §9.2, §5 | Quest.m_nConsMasteryID/SubID/Cnt | — | client | derived | always 0 / 0 |
+0x0D4 | Reward: Mastery Points ×2 | mastery: 2 × {u8 kind, u8 subkind, u16, i32 points} quests.md §9.2, §5 | Quest.m_nConsMasteryID/SubID/Cnt | — | client | derived | 2 values; most often -1 / -1 (100%) |
+0x0E0 | Reward: Skill Code | skill, force: code + points (the client does not show them in the reward window) quests.md §9.2, §5 | Quest.m_strConsSkillCode, m_nConsSkillCnt, m_strConsForceCode, m_nConsForceCnt | — | client | derived | always 4294967295 |
+0x0E4 | Reward: Skill Points | skill, force: code + points (the client does not show them in the reward window) quests.md §9.2, §5 | Quest.m_strConsSkillCode, m_nConsSkillCnt, m_strConsForceCode, m_nConsForceCnt | — | client | derived | always -1 |
+0x0E8 | Reward: Force Code | skill, force: code + points (the client does not show them in the reward window) quests.md §9.2, §5 | Quest.m_strConsSkillCode, m_nConsSkillCnt, m_strConsForceCode, m_nConsForceCnt | — | client | derived | always 4294967295 |
+0x0EC | Reward: Force Points | skill, force: code + points (the client does not show them in the reward window) quests.md §9.2, §5 | Quest.m_strConsSkillCode, m_nConsSkillCnt, m_strConsForceCode, m_nConsForceCnt | — | client | derived | always -1 |
+0x0F0 | QSuccBriefingText ×5 | 5 × success text (NDQuest) quests.md §9.2 | entity text | — | client | derived | 528 values; most often -1 / -1 / -1 / -1 … (75%) |
+0x104 | QFailBriefingText ×5 | 5 × failure text (NDQuest) quests.md §9.2 | entity text | — | client | derived | 13 values; most often -1 / -1 / -1 / -1 … (100%) |
+0x140 | Quest Title | name (NDQuest) quests.md §9.2 | entity text | — | client | derived | 996 values; most often -1 (62%) |
+0x144 | QBriefTalkingHead ×5 | 5 × briefing quests.md §9.2 | entity text | — | client | derived | 900 values; most often -1 / -1 / -1 / -1 … (61%) |
+0x158 | QDescriptionInQuestWindow ×5 | 5 × description in the quest window quests.md §9.2 | entity text | — | client | derived | 934 values; most often -1 / -1 / -1 / -1 … (59%) |
+0x16C | StoreTrade | NPC portrait (group in npc/<race>.spr) quests.md §9.2 | Quest.m_nStore_trade | — | client | derived | 15 values; most often 15 (60%) |
+0x170 | isFailCheck | check failure quests.md §9.2 | Quest.m_bFailCheck | — | client | derived | 2 values; most often 0 (98%) |
+0x174 | failCondition ×3 | failure conditions: 3 × {i32 condition, u32 code, u8 table, 3 b.} quests.md §9.2, §6 | Quest.m_nFailCondition, m_strFailCode | — | client | derived | 2 values; most often -1 / -1 / -1 (98%) |
+0x178 | failCode ×3 | failure conditions: 3 × {i32 condition, u32 code, u8 table, 3 b.} quests.md §9.2, §6 | Quest.m_nFailCondition, m_strFailCode | — | client | derived | 5 values; most often -1 / -1 / -1 (98%) |
+0x17C | none ×3 | failure conditions: 3 × {i32 condition, u32 code, u8 table, 3 b.} quests.md §9.2, §6 | Quest.m_nFailCondition, m_strFailCode | — | client | derived | always 0 / 0 / 0 |
+0x1A4 | failLinkQuest | failLinkQuest quests.md §9.2 | Quest.m_nFailLinkQuest | — | client | derived | 10 values; most often -1 (100%) |