SMSG_QUESTGIVER_OFFER_REWARD

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_offer_reward.wowm:1.

smsg SMSG_QUESTGIVER_OFFER_REWARD = 0x018D {
    Guid npc;
    u32 quest_id;
    CString title;
    CString offer_reward_text;
    Bool32 auto_finish;
    u32 amount_of_emotes;
    NpcTextUpdateEmote[amount_of_emotes] emotes;
    u32 amount_of_choice_item_rewards;
    QuestItemRequirement[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemRequirement[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    Spell reward_spell;
    Spell reward_spell_cast;
}

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
0x048 / LittleGuidnpc
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringoffer_reward_text
-4 / LittleBool32auto_finish
-4 / Littleu32amount_of_emotes
-? / -NpcTextUpdateEmote[amount_of_emotes]emotes
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemRequirement[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemRequirement[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / LittleSpellreward_spell
-4 / LittleSpellreward_spell_castmangoszero and cmangos disagree about which field is _cast, although they both agree that the _cast field should not be in zero (vanilla). They still both include both fields in the code though.

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_offer_reward.wowm:23.

smsg SMSG_QUESTGIVER_OFFER_REWARD = 0x018D {
    Guid npc;
    u32 quest_id;
    CString title;
    CString offer_reward_text;
    Bool32 auto_finish;
    u32 suggested_players;
    u32 amount_of_emotes;
    NpcTextUpdateEmote[amount_of_emotes] emotes;
    u32 amount_of_choice_item_rewards;
    QuestItemRequirement[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemRequirement[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    u32 honor_reward;
    u32 unknown1;
    Spell reward_spell;
    Spell reward_spell_cast;
    u32 title_reward;
}

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
0x048 / LittleGuidnpc
0x0C4 / Littleu32quest_id
0x10- / -CStringtitle
-- / -CStringoffer_reward_text
-4 / LittleBool32auto_finish
-4 / Littleu32suggested_players
-4 / Littleu32amount_of_emotes
-? / -NpcTextUpdateEmote[amount_of_emotes]emotes
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemRequirement[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemRequirement[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / Littleu32honor_reward
-4 / Littleu32unknown1mangostwo: unused by client?
mangostwo sets to 0x08.
-4 / LittleSpellreward_spell
-4 / LittleSpellreward_spell_castmangoszero and cmangos disagree about which field is _cast, although they both agree that the _cast field should not be in zero (vanilla). They still both include both fields in the code though.
-4 / Littleu32title_reward

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/quest/smsg_questgiver_offer_reward.wowm:51.

smsg SMSG_QUESTGIVER_OFFER_REWARD = 0x018D {
    Guid npc;
    u32 quest_id;
    CString title;
    CString offer_reward_text;
    Bool32 auto_finish;
    u32 flags1;
    u32 suggested_players;
    u32 amount_of_emotes;
    NpcTextUpdateEmote[amount_of_emotes] emotes;
    u32 amount_of_choice_item_rewards;
    QuestItemRequirement[amount_of_choice_item_rewards] choice_item_rewards;
    u32 amount_of_item_rewards;
    QuestItemRequirement[amount_of_item_rewards] item_rewards;
    Gold money_reward;
    u32 experience_reward;
    u32 honor_reward;
    f32 honor_reward_multiplier;
    u32 unknown1;
    Spell reward_spell;
    Spell reward_spell_cast;
    u32 title_reward;
    u32 reward_talents;
    u32 reward_arena_points;
    u32 reward_reputation_mask;
    u32[5] reward_factions;
    u32[5] reward_reputations;
    u32[5] reward_reputations_override;
}

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
-8 / LittleGuidnpc
-4 / Littleu32quest_id
-- / -CStringtitle
-- / -CStringoffer_reward_text
-4 / LittleBool32auto_finish
-4 / Littleu32flags1
-4 / Littleu32suggested_players
-4 / Littleu32amount_of_emotes
-? / -NpcTextUpdateEmote[amount_of_emotes]emotes
-4 / Littleu32amount_of_choice_item_rewards
-? / -QuestItemRequirement[amount_of_choice_item_rewards]choice_item_rewards
-4 / Littleu32amount_of_item_rewards
-? / -QuestItemRequirement[amount_of_item_rewards]item_rewards
-4 / LittleGoldmoney_reward
-4 / Littleu32experience_reward
-4 / Littleu32honor_reward
-4 / Littlef32honor_reward_multiplier
-4 / Littleu32unknown1mangostwo: unused by client?
mangostwo sets to 0x08.
-4 / LittleSpellreward_spell
-4 / LittleSpellreward_spell_castmangoszero and cmangos disagree about which field is _cast, although they both agree that the _cast field should not be in zero (vanilla). They still both include both fields in the code though.
-4 / Littleu32title_reward
-4 / Littleu32reward_talents
-4 / Littleu32reward_arena_points
-4 / Littleu32reward_reputation_mask
-20 / -u32[5]reward_factions
-20 / -u32[5]reward_reputationsmangostwo: columnid in QuestFactionReward.dbc (if negative, from second row)
-20 / -u32[5]reward_reputations_overridemangostwo: reward reputation override. No diplomacy bonus is expected given, reward also does not display in chat window