diff options
author | Gtker <git@gtker.com> | 2022-11-11 19:53:04 +0100 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2023-02-10 19:45:14 +0000 |
commit | f5fcd860da284969ab37ac8607405084a84c00b6 (patch) | |
tree | 43b07a398b271d6fb53bc976c3f44b1414bd8591 /epan/dissectors/packet-woww.c | |
parent | 61a54a9d3b30f556bc03670e94f3d2effa133b4c (diff) |
woww: Add more of SMSG_LOOT_RESPONSE layout
Diffstat (limited to 'epan/dissectors/packet-woww.c')
-rw-r--r-- | epan/dissectors/packet-woww.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/epan/dissectors/packet-woww.c b/epan/dissectors/packet-woww.c index 49641f505a..ffb26bcbf0 100644 --- a/epan/dissectors/packet-woww.c +++ b/epan/dissectors/packet-woww.c @@ -485,6 +485,7 @@ static int hf_woww_loot = -1; static int hf_woww_loot_master = -1; static int hf_woww_loot_method = -1; static int hf_woww_loot_slot = -1; +static int hf_woww_loot_slot_type = -1; static int hf_woww_looted_target_guid = -1; static int hf_woww_loyalty = -1; static int hf_woww_mail_id = -1; @@ -3863,6 +3864,22 @@ static const value_string e_guild_member_status_strings[] = { }; typedef enum { + LOOT_SLOT_TYPE_TYPE_ALLOW_LOOT = 0x0, + LOOT_SLOT_TYPE_TYPE_ROLL_ONGOING = 0x1, + LOOT_SLOT_TYPE_TYPE_MASTER = 0x2, + LOOT_SLOT_TYPE_TYPE_LOCKED = 0x3, + LOOT_SLOT_TYPE_TYPE_OWNER = 0x4, +} e_loot_slot_type; +static const value_string e_loot_slot_type_strings[] = { + { LOOT_SLOT_TYPE_TYPE_ALLOW_LOOT, "Type Allow Loot" }, + { LOOT_SLOT_TYPE_TYPE_ROLL_ONGOING, "Type Roll Ongoing" }, + { LOOT_SLOT_TYPE_TYPE_MASTER, "Type Master" }, + { LOOT_SLOT_TYPE_TYPE_LOCKED, "Type Locked" }, + { LOOT_SLOT_TYPE_TYPE_OWNER, "Type Owner" }, + { 0, NULL } +}; + +typedef enum { MAIL_TYPE_NORMAL = 0x0, MAIL_TYPE_AUCTION = 0x2, MAIL_TYPE_CREATURE = 0x3, @@ -13911,6 +13928,15 @@ add_body_fields(guint32 opcode, case SMSG_LOOT_RESPONSE: ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN); ptvcursor_add(ptv, hf_woww_loot_method, 1, ENC_LITTLE_ENDIAN); + ptvcursor_add(ptv, hf_woww_gold, 4, ENC_LITTLE_ENDIAN); + ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_items, 1, ENC_LITTLE_ENDIAN, &amount_of_items); + for (i = 0; i < amount_of_items; ++i) { + ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "LootItem"); + ptvcursor_add(ptv, hf_woww_index, 1, ENC_LITTLE_ENDIAN); + ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN); + ptvcursor_add(ptv, hf_woww_loot_slot_type, 1, ENC_LITTLE_ENDIAN); + ptvcursor_pop_subtree(ptv); + } break; case SMSG_LOOT_ROLL: ptvcursor_add(ptv, hf_woww_creature_guid, 8, ENC_LITTLE_ENDIAN); @@ -18079,6 +18105,12 @@ proto_register_woww(void) NULL, HFILL } }, + { &hf_woww_loot_slot_type, + { "Loot Slot Type", "woww.loot.slot.type", + FT_UINT8, BASE_HEX_DEC, VALS(e_loot_slot_type_strings), 0, + NULL, HFILL + } + }, { &hf_woww_looted_target_guid, { "Looted Target Guid", "woww.looted.target.guid", FT_UINT64, BASE_HEX_DEC, NULL, 0, |