SMSG_QUEST_QUERY_RESPONSE

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_query_response.wowm:11.

smsg SMSG_QUEST_QUERY_RESPONSE = 0x005D {
    u32 quest_id;
    u32 quest_method;
    Level32 quest_level;
    u32 zone_or_sort;
    u32 quest_type;
    Faction reputation_objective_faction;
    u32 reputation_objective_value;
    Faction required_opposite_faction;
    u32 required_opposite_reputation_value;
    u32 next_quest_in_chain;
    Gold money_reward;
    Gold max_level_money_reward;
    u32 reward_spell;
    u32 source_item_id;
    u32 quest_flags;
    QuestItemReward[4] rewards;
    QuestItemReward[6] choice_rewards;
    u32 point_map_id;
    Vector2d position;
    u32 point_opt;
    CString title;
    CString objective_text;
    CString details;
    CString end_text;
    QuestObjective[4] objectives;
    CString[4] objective_texts;
}

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32quest_methodAccepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details)
0x0C4 / LittleLevel32quest_level
0x104 / Littleu32zone_or_sort
0x144 / Littleu32quest_type
0x182 / -Factionreputation_objective_factioncmangos: shown in quest log as part of quest objective
0x1A4 / Littleu32reputation_objective_valuecmangos: shown in quest log as part of quest objective
0x1E2 / -Factionrequired_opposite_factioncmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x204 / Littleu32required_opposite_reputation_valuecmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x244 / Littleu32next_quest_in_chain
0x284 / LittleGoldmoney_reward
0x2C4 / LittleGoldmax_level_money_rewardcmangos: used in XP calculation at client
0x304 / Littleu32reward_spellcmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
0x344 / Littleu32source_item_id
0x384 / Littleu32quest_flags
0x3C32 / -QuestItemReward[4]rewards
0x5C48 / -QuestItemReward[6]choice_rewards
0x8C4 / Littleu32point_map_id
0x908 / -Vector2dposition
0x984 / Littleu32point_opt
0x9C- / -CStringtitle
-- / -CStringobjective_text
-- / -CStringdetails
-- / -CStringend_text
-64 / -QuestObjective[4]objectives
-? / -CString[4]objective_texts

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_query_response.wowm:49.

smsg SMSG_QUEST_QUERY_RESPONSE = 0x005D {
    u32 quest_id;
    u32 quest_method;
    Level32 quest_level;
    u32 zone_or_sort;
    u32 quest_type;
    u32 suggest_player_amount;
    Faction reputation_objective_faction;
    u32 reputation_objective_value;
    Faction required_opposite_faction;
    u32 required_opposite_reputation_value;
    u32 next_quest_in_chain;
    Gold money_reward;
    Gold max_level_money_reward;
    u32 reward_spell;
    u32 casted_reward_spell;
    u32 honor_reward;
    u32 source_item_id;
    u32 quest_flags;
    u32 title_reward;
    QuestItemReward[4] rewards;
    QuestItemReward[6] choice_rewards;
    u32 point_map_id;
    Vector2d position;
    u32 point_opt;
    CString title;
    CString objective_text;
    CString details;
    CString end_text;
    QuestObjective[4] objectives;
    CString[4] objective_texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x044 / Littleu32quest_id
0x084 / Littleu32quest_methodAccepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details)
0x0C4 / LittleLevel32quest_level
0x104 / Littleu32zone_or_sort
0x144 / Littleu32quest_type
0x184 / Littleu32suggest_player_amount
0x1C2 / -Factionreputation_objective_factioncmangos: shown in quest log as part of quest objective
0x1E4 / Littleu32reputation_objective_valuecmangos: shown in quest log as part of quest objective
0x222 / -Factionrequired_opposite_factioncmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x244 / Littleu32required_opposite_reputation_valuecmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0
0x284 / Littleu32next_quest_in_chain
0x2C4 / LittleGoldmoney_reward
0x304 / LittleGoldmax_level_money_rewardcmangos: used in XP calculation at client
0x344 / Littleu32reward_spellcmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
0x384 / Littleu32casted_reward_spellmangosone: casted spell
0x3C4 / Littleu32honor_reward
0x404 / Littleu32source_item_id
0x444 / Littleu32quest_flags
0x484 / Littleu32title_rewardCharTitleId, new 2.4.0, player gets this title (id from CharTitles)
0x4C32 / -QuestItemReward[4]rewards
0x6C48 / -QuestItemReward[6]choice_rewards
0x9C4 / Littleu32point_map_id
0xA08 / -Vector2dposition
0xA84 / Littleu32point_opt
0xAC- / -CStringtitle
-- / -CStringobjective_text
-- / -CStringdetails
-- / -CStringend_text
-64 / -QuestObjective[4]objectives
-? / -CString[4]objective_texts

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_quest_query_response.wowm:93.

smsg SMSG_QUEST_QUERY_RESPONSE = 0x005D {
    u32 quest_id;
    u32 quest_method;
    Level32 quest_level;
    Level32 minimum_quest_level;
    u32 zone_or_sort;
    u32 quest_type;
    u32 suggest_player_amount;
    Faction reputation_objective_faction;
    u32 reputation_objective_value;
    Faction required_opposite_faction;
    u32 required_opposite_reputation_value;
    u32 next_quest_in_chain;
    Gold money_reward;
    Gold max_level_money_reward;
    u32 reward_spell;
    u32 casted_reward_spell;
    u32 honor_reward;
    f32 honor_reward_multiplier;
    u32 source_item_id;
    u32 quest_flags;
    u32 title_reward;
    u32 players_slain;
    u32 bonus_talents;
    u32 bonus_arena_points;
    u32 unknown1;
    QuestItemReward[4] rewards;
    QuestItemReward[6] choice_rewards;
    u32[5] reputation_rewards;
    u32[5] reputation_reward_amounts;
    u32[5] reputation_reward_overrides;
    u32 point_map_id;
    Vector2d position;
    u32 point_opt;
    CString title;
    CString objective_text;
    CString details;
    CString end_text;
    CString completed_text;
    QuestObjective[4] objectives;
    QuestItemRequirement[6] item_requirements;
    CString[4] objective_texts;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32quest_id
-4 / Littleu32quest_methodAccepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details)
-4 / LittleLevel32quest_level
-4 / LittleLevel32minimum_quest_levelmin required level to obtain (added for 3.3).
Assumed allowed (database) range is -1 to 255 (still using uint32, since negative value would not be of any known use for client)
-4 / Littleu32zone_or_sort
-4 / Littleu32quest_type
-4 / Littleu32suggest_player_amount
-2 / -Factionreputation_objective_factioncmangos: shown in quest log as part of quest objective
-4 / Littleu32reputation_objective_valuecmangos: shown in quest log as part of quest objective
-2 / -Factionrequired_opposite_factioncmangos: RequiredOpositeRepFaction, required faction value with another (oposite) faction (objective). cmangos sets to 0
-4 / Littleu32required_opposite_reputation_valuecmangos: RequiredOpositeRepValue, required faction value with another (oposite) faction (objective). cmangos sets to 0
-4 / Littleu32next_quest_in_chain
-4 / LittleGoldmoney_reward
-4 / LittleGoldmax_level_money_rewardcmangos: used in XP calculation at client
-4 / Littleu32reward_spellcmangos: reward spell, this spell will display (icon) (casted if RewSpellCast==0)
-4 / Littleu32casted_reward_spellmangosone: casted spell
-4 / Littleu32honor_reward
-4 / Littlef32honor_reward_multipliernew reward honor (multiplied by around 62 at client side)
-4 / Littleu32source_item_id
-4 / Littleu32quest_flags
-4 / Littleu32title_rewardCharTitleId, new 2.4.0, player gets this title (id from CharTitles)
-4 / Littleu32players_slain
-4 / Littleu32bonus_talents
-4 / Littleu32bonus_arena_points
-4 / Littleu32unknown1
-32 / -QuestItemReward[4]rewards
-48 / -QuestItemReward[6]choice_rewards
-20 / -u32[5]reputation_rewards
-20 / -u32[5]reputation_reward_amounts
-20 / -u32[5]reputation_reward_overrides
-4 / Littleu32point_map_id
-8 / -Vector2dposition
-4 / Littleu32point_opt
-- / -CStringtitle
-- / -CStringobjective_text
-- / -CStringdetails
-- / -CStringend_text
-- / -CStringcompleted_text
-64 / -QuestObjective[4]objectives
-72 / -QuestItemRequirement[6]item_requirements
-? / -CString[4]objective_texts