Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-woww.c
blob8593089ace39618c6cdbea83458aa50f5cdcefbf
1 /* packet-woww.c
2 * Routines for World of Warcraft World dissection
3 * Copyright 2021, Gtker <woww@gtker.com>
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
13 * The protocol is used for World of Warcraft World packets.
14 * These are seen when a client is connected to a world server and plays the game.
15 * The WOW protocol (no extra W) packets are Login packets, and they are handled in
16 * the packet-wow.c file.
18 * The message definitions are automatically generated from the `wowm` files at
19 * https://github.com/gtker/wow_messages.
21 * More info on world packets and login packets:
22 * https://wowdev.wiki/World_Packet
23 * https://wowdev.wiki/Login_Packet
25 * Currently this dissector is valid for 1.12.x, the most popular Vanilla version.
27 * All World packets contain a header with:
28 * * A 16 bit big endian size field.
29 * * A (32 or 16 bit) little endian opcode field.
30 * Server to client opcodes are 16 bits while client to server opcodes are 32 bits.
32 * All world packets other than SMSG_AUTH_CHALLENGE and CMSG_AUTH_SESSION have
33 * "encrypted" headers based on a 40 byte session key, however it is relatively
34 * easily broken.
36 * SMSG packets are Server messages (from server) and CMSG packets are Client messages
37 * (from client). MSG packets can be either.
39 * # SESSION KEY DEDUCTION:
41 * The header is encrypted through the formula `E = (x ^ S) + L` where:
42 * * E is the encrypted value.
43 * * x is the plain unencrypted value.
44 * * S is a byte of the session key.
45 * * L is the last encrypted value.
47 * The header is decrypted through the formula `x = (E - L) ^ S` with the same values.
49 * Notably, this allows us to deduce the session key value S if we know what the
50 * unencrypted value x is. The L value is simply the last encrypted value sent.
52 * Fortunately, the client sends opcodes as 32bit little endian values, but there are no
53 * opcodes that use the two most significant bytes meaning we can always count on them being 0.
54 * This means we can now deduce the session key value S through `S = 0 ^ (E - L)` (where 0 is x).
55 * Because of this we can deduce 2 bytes of the session key every client packet.
58 #include <config.h>
59 #include <epan/packet.h>
60 #include <epan/conversation.h>
61 #include <epan/wmem_scopes.h>
62 #include <ptvcursor.h>
64 void proto_reg_handoff_woww(void);
65 void proto_register_woww(void);
66 static dissector_handle_t woww_handle;
68 static int proto_woww;
70 /* Fields that all packets have */
71 static int hf_woww_size;
72 static int hf_woww_opcode;
74 static int hf_woww_string_length;
76 static int hf_woww_aura_mask;
77 static int hf_woww_aura;
78 static int hf_woww_amount_of_masks;
79 static int hf_woww_update_mask;
80 static int hf_woww_update_mask_index;
81 static int hf_woww_update_mask_value;
82 static int hf_woww_amount_of_splines;
83 static int hf_woww_packed_spline;
85 /* AUTOGENERATED_START_HF */
86 static int hf_woww_absorb;
87 static int hf_woww_absorbed;
88 static int hf_woww_absorbed_damage;
89 static int hf_woww_account_data_type;
90 static int hf_woww_action;
91 static int hf_woww_action_bar;
92 static int hf_woww_action_bars;
93 static int hf_woww_action_type;
94 static int hf_woww_activate_taxi_reply;
95 static int hf_woww_actual_roll;
96 static int hf_woww_addon_crc;
97 static int hf_woww_addon_extra_crc;
98 static int hf_woww_addon_has_signature;
99 static int hf_woww_addon_name;
100 static int hf_woww_addon_type;
101 static int hf_woww_agility;
102 static int hf_woww_ai_reaction;
103 static int hf_woww_allow_movement;
104 static int hf_woww_allowed_class;
105 static int hf_woww_allowed_genders;
106 static int hf_woww_allowed_guild_id;
107 static int hf_woww_allowed_maximum_level;
108 static int hf_woww_allowed_minimum_level;
109 static int hf_woww_allowed_race;
110 static int hf_woww_ammo_display_id;
111 static int hf_woww_ammo_inventory_type;
112 static int hf_woww_ammo_type;
113 static int hf_woww_amount;
114 static int hf_woww_amount_bought;
115 static int hf_woww_amount_for_sale;
116 static int hf_woww_amount_of_accounts_in_guild;
117 static int hf_woww_amount_of_auras;
118 static int hf_woww_amount_of_carriers;
119 static int hf_woww_amount_of_characters;
120 static int hf_woww_amount_of_characters_in_guild;
121 static int hf_woww_amount_of_choice_item_rewards;
122 static int hf_woww_amount_of_cooldowns;
123 static int hf_woww_amount_of_damages;
124 static int hf_woww_amount_of_effects;
125 static int hf_woww_amount_of_emotes;
126 static int hf_woww_amount_of_entries;
127 static int hf_woww_amount_of_events;
128 static int hf_woww_amount_of_extra_fields;
129 static int hf_woww_amount_of_faction_standings;
130 static int hf_woww_amount_of_factions;
131 static int hf_woww_amount_of_friends;
132 static int hf_woww_amount_of_gossip_items;
133 static int hf_woww_amount_of_hits;
134 static int hf_woww_amount_of_ignored;
135 static int hf_woww_amount_of_item_rewards;
136 static int hf_woww_amount_of_items;
137 static int hf_woww_amount_of_logs;
138 static int hf_woww_amount_of_mails;
139 static int hf_woww_amount_of_members;
140 static int hf_woww_amount_of_misses;
141 static int hf_woww_amount_of_nodes;
142 static int hf_woww_amount_of_objects;
143 static int hf_woww_amount_of_outbid_items;
144 static int hf_woww_amount_of_petitions;
145 static int hf_woww_amount_of_pets;
146 static int hf_woww_amount_of_players;
147 static int hf_woww_amount_of_quests;
148 static int hf_woww_amount_of_raid_infos;
149 static int hf_woww_amount_of_reactions;
150 static int hf_woww_amount_of_records;
151 static int hf_woww_amount_of_required_items;
152 static int hf_woww_amount_of_rights;
153 static int hf_woww_amount_of_signatures;
154 static int hf_woww_amount_of_spells;
155 static int hf_woww_amount_of_states;
156 static int hf_woww_amount_of_strings;
157 static int hf_woww_amount_of_targets;
158 static int hf_woww_amount_of_teammates;
159 static int hf_woww_amount_of_zones;
160 static int hf_woww_angle;
161 static int hf_woww_animation_id;
162 static int hf_woww_answer;
163 static int hf_woww_answer_comment;
164 static int hf_woww_apply;
165 static int hf_woww_arcane_resistance;
166 static int hf_woww_area;
167 static int hf_woww_argument;
168 static int hf_woww_armor;
169 static int hf_woww_attacker;
170 static int hf_woww_auction_command_action;
171 static int hf_woww_auction_command_result;
172 static int hf_woww_auction_command_result_two;
173 static int hf_woww_auction_duration_in_minutes;
174 static int hf_woww_auction_house;
175 static int hf_woww_auction_id;
176 static int hf_woww_auction_main_category;
177 static int hf_woww_auction_out_bid;
178 static int hf_woww_auction_outbid;
179 static int hf_woww_auction_slot_id;
180 static int hf_woww_auction_sub_category;
181 static int hf_woww_auctioneer;
182 static int hf_woww_aura_duration;
183 static int hf_woww_aura_slot;
184 static int hf_woww_aura_type;
185 static int hf_woww_auto_decline_time;
186 static int hf_woww_auto_finish;
187 static int hf_woww_autocast_enabled;
188 static int hf_woww_average_wait_time_in_ms;
189 static int hf_woww_background_color;
190 static int hf_woww_backwards_running_speed;
191 static int hf_woww_backwards_swimming_speed;
192 static int hf_woww_bag;
193 static int hf_woww_bag_family;
194 static int hf_woww_bag_index;
195 static int hf_woww_bag_slot;
196 static int hf_woww_bag_type_subclass;
197 static int hf_woww_battlefield_port_action;
198 static int hf_woww_battleground_bracket;
199 static int hf_woww_battleground_end_status;
200 static int hf_woww_battleground_winner;
201 static int hf_woww_battlegrounds;
202 static int hf_woww_battlemaster;
203 static int hf_woww_bg_type_id;
204 static int hf_woww_bid;
205 static int hf_woww_bidder;
206 static int hf_woww_billing_flags;
207 static int hf_woww_billing_rested;
208 static int hf_woww_billing_time;
209 static int hf_woww_block;
210 static int hf_woww_blocked;
211 static int hf_woww_blocked_amount;
212 static int hf_woww_body;
213 static int hf_woww_body_text;
214 static int hf_woww_bonding;
215 static int hf_woww_bonus_honor;
216 static int hf_woww_border_color;
217 static int hf_woww_border_style;
218 static int hf_woww_bug_type;
219 static int hf_woww_build;
220 static int hf_woww_button;
221 static int hf_woww_buy_bank_slot_result;
222 static int hf_woww_buy_price;
223 static int hf_woww_buy_result;
224 static int hf_woww_buyback_slot;
225 static int hf_woww_buyout;
226 static int hf_woww_buyout_amount;
227 static int hf_woww_cash_on_delivery_amount;
228 static int hf_woww_cast_failure_reason;
229 static int hf_woww_cast_flags;
230 static int hf_woww_cast_item;
231 static int hf_woww_caster;
232 static int hf_woww_category_cooldown;
233 static int hf_woww_channel;
234 static int hf_woww_channel_flags;
235 static int hf_woww_channel_member_flags;
236 static int hf_woww_channel_name;
237 static int hf_woww_channel_password;
238 static int hf_woww_character_flags;
239 static int hf_woww_character_guid;
240 static int hf_woww_character_name;
241 static int hf_woww_charter_display_id;
242 static int hf_woww_charter_entry;
243 static int hf_woww_charter_owner;
244 static int hf_woww_chat_credit;
245 static int hf_woww_chat_data_line_count;
246 static int hf_woww_chat_notify;
247 static int hf_woww_chat_type;
248 static int hf_woww_checked_timestamp;
249 static int hf_woww_cinematic_sequence_id;
250 static int hf_woww_civilian;
251 static int hf_woww_class;
252 static int hf_woww_class_mask;
253 static int hf_woww_client_instance_id;
254 static int hf_woww_client_proof;
255 static int hf_woww_client_seed;
256 static int hf_woww_code;
257 static int hf_woww_coded;
258 static int hf_woww_comment;
259 static int hf_woww_compressed_chat_data;
260 static int hf_woww_compressed_data;
261 static int hf_woww_compressed_move_opcode;
262 static int hf_woww_container_slots;
263 static int hf_woww_content;
264 static int hf_woww_cooldown;
265 static int hf_woww_cooldown_count;
266 static int hf_woww_cooldown_time;
267 static int hf_woww_corpse;
268 static int hf_woww_corpse_query_result;
269 static int hf_woww_cos_angle;
270 static int hf_woww_cost_in_copper;
271 static int hf_woww_count;
272 static int hf_woww_countdown_time;
273 static int hf_woww_counter;
274 static int hf_woww_created_day;
275 static int hf_woww_created_month;
276 static int hf_woww_created_year;
277 static int hf_woww_creature;
278 static int hf_woww_creature_entry;
279 static int hf_woww_creature_family;
280 static int hf_woww_creature_id;
281 static int hf_woww_creature_rank;
282 static int hf_woww_creature_type;
283 static int hf_woww_critical;
284 static int hf_woww_current_health;
285 static int hf_woww_current_power;
286 static int hf_woww_damage;
287 static int hf_woww_damage_float;
288 static int hf_woww_damage_maximum;
289 static int hf_woww_damage_minimum;
290 static int hf_woww_damage_state;
291 static int hf_woww_damage_uint;
292 static int hf_woww_data;
293 static int hf_woww_data_type;
294 static int hf_woww_datetime;
295 static int hf_woww_days_since_last_updated;
296 static int hf_woww_days_since_oldest_ticket_creation;
297 static int hf_woww_days_since_ticket_creation;
298 static int hf_woww_deadline;
299 static int hf_woww_deaths;
300 static int hf_woww_debug_log_format;
301 static int hf_woww_decompressed_size;
302 static int hf_woww_delay;
303 static int hf_woww_delay_time;
304 static int hf_woww_description;
305 static int hf_woww_destination_bag;
306 static int hf_woww_destination_node;
307 static int hf_woww_destination_slot;
308 static int hf_woww_destionation_slot;
309 static int hf_woww_details;
310 static int hf_woww_dismount_result;
311 static int hf_woww_display_id;
312 static int hf_woww_duel_winner_reason;
313 static int hf_woww_durability;
314 static int hf_woww_duration;
315 static int hf_woww_eff;
316 static int hf_woww_emblem_color;
317 static int hf_woww_emblem_style;
318 static int hf_woww_emote_delay;
319 static int hf_woww_emote_enum;
320 static int hf_woww_emote_int;
321 static int hf_woww_enable_pvp;
322 static int hf_woww_enchantment;
323 static int hf_woww_encrypted_data;
324 static int hf_woww_end_text;
325 static int hf_woww_ended_without_interruption;
326 static int hf_woww_enemy;
327 static int hf_woww_energize_amount;
328 static int hf_woww_energize_power;
329 static int hf_woww_energy;
330 static int hf_woww_entry;
331 static int hf_woww_entry_id;
332 static int hf_woww_environmental_damage_type;
333 static int hf_woww_equip_error;
334 static int hf_woww_equipment_display_id;
335 static int hf_woww_equipped_item_class;
336 static int hf_woww_equipped_item_inventory_type_mask;
337 static int hf_woww_equipped_item_subclass_mask;
338 static int hf_woww_event_descriptions;
339 static int hf_woww_exp_group_bonus;
340 static int hf_woww_experience;
341 static int hf_woww_experience_award_type;
342 static int hf_woww_experience_reward;
343 static int hf_woww_experience_without_rested;
344 static int hf_woww_expiration_time;
345 static int hf_woww_extend_flag;
346 static int hf_woww_extra_attacks;
347 static int hf_woww_face;
348 static int hf_woww_facial_hair;
349 static int hf_woww_faction;
350 static int hf_woww_faction_flag;
351 static int hf_woww_fall_time;
352 static int hf_woww_far_sight_operation;
353 static int hf_woww_feed_pet_item;
354 static int hf_woww_fields;
355 static int hf_woww_fire_resistance;
356 static int hf_woww_first_bag_display_id;
357 static int hf_woww_first_bag_inventory_id;
358 static int hf_woww_first_login;
359 static int hf_woww_first_rank;
360 static int hf_woww_flags;
361 static int hf_woww_focus;
362 static int hf_woww_friend_result;
363 static int hf_woww_friend_status;
364 static int hf_woww_frost_resistance;
365 static int hf_woww_gain_multiplier;
366 static int hf_woww_gameobject;
367 static int hf_woww_gender;
368 static int hf_woww_gift_bag_index;
369 static int hf_woww_gift_slot;
370 static int hf_woww_gift_wrapper;
371 static int hf_woww_gm_ticket_escalation_status;
372 static int hf_woww_gm_ticket_queue_status;
373 static int hf_woww_gm_ticket_response;
374 static int hf_woww_gm_ticket_status;
375 static int hf_woww_gm_ticket_status_response;
376 static int hf_woww_gm_ticket_type;
377 static int hf_woww_gold;
378 static int hf_woww_gossip_list_id;
379 static int hf_woww_grade;
380 static int hf_woww_greeting;
381 static int hf_woww_group_loot_setting;
382 static int hf_woww_group_member_online_status;
383 static int hf_woww_group_number;
384 static int hf_woww_group_type;
385 static int hf_woww_group_update_flags;
386 static int hf_woww_guid;
387 static int hf_woww_guids;
388 static int hf_woww_guild;
389 static int hf_woww_guild_charter_cost;
390 static int hf_woww_guild_command;
391 static int hf_woww_guild_command_result;
392 static int hf_woww_guild_emblem_result;
393 static int hf_woww_guild_event;
394 static int hf_woww_guild_id;
395 static int hf_woww_guild_info;
396 static int hf_woww_guild_member_status;
397 static int hf_woww_guild_name;
398 static int hf_woww_hair_color;
399 static int hf_woww_hair_style;
400 static int hf_woww_happiness;
401 static int hf_woww_has_transport;
402 static int hf_woww_heal_amount;
403 static int hf_woww_heal_critical;
404 static int hf_woww_health;
405 static int hf_woww_higher_bidder;
406 static int hf_woww_highest_bid;
407 static int hf_woww_highest_bidder;
408 static int hf_woww_hit_info;
409 static int hf_woww_hits;
410 static int hf_woww_holy_resistance;
411 static int hf_woww_homebind_timer;
412 static int hf_woww_honor_points;
413 static int hf_woww_honorable_kills;
414 static int hf_woww_horizontal_speed;
415 static int hf_woww_icon;
416 static int hf_woww_id;
417 static int hf_woww_ignored;
418 static int hf_woww_inactive;
419 static int hf_woww_index;
420 static int hf_woww_info_block;
421 static int hf_woww_info_type;
422 static int hf_woww_initiator;
423 static int hf_woww_initiator_name;
424 static int hf_woww_instance_id;
425 static int hf_woww_instance_reset_failed_reason;
426 static int hf_woww_intellect;
427 static int hf_woww_interrupted_spell;
428 static int hf_woww_inventory_result;
429 static int hf_woww_inventory_type;
430 static int hf_woww_invited_player;
431 static int hf_woww_is_applied;
432 static int hf_woww_is_frozen;
433 static int hf_woww_is_online;
434 static int hf_woww_issue_date;
435 static int hf_woww_item;
436 static int hf_woww_item_bag_index;
437 static int hf_woww_item_charges;
438 static int hf_woww_item_class;
439 static int hf_woww_item_class_and_sub_class;
440 static int hf_woww_item_count;
441 static int hf_woww_item_creator;
442 static int hf_woww_item_display_id;
443 static int hf_woww_item_enchant_id;
444 static int hf_woww_item_enchantment;
445 static int hf_woww_item_flag;
446 static int hf_woww_item_icon;
447 static int hf_woww_item_id;
448 static int hf_woww_item_level;
449 static int hf_woww_item_limit_category_id;
450 static int hf_woww_item_name;
451 static int hf_woww_item_owner;
452 static int hf_woww_item_quality;
453 static int hf_woww_item_random_properties_id;
454 static int hf_woww_item_random_property_id;
455 static int hf_woww_item_random_suffix;
456 static int hf_woww_item_random_suffix_id;
457 static int hf_woww_item_set;
458 static int hf_woww_item_slot;
459 static int hf_woww_item_slot_int;
460 static int hf_woww_item_spell_charges;
461 static int hf_woww_item_stack_count;
462 static int hf_woww_item_stack_size;
463 static int hf_woww_item_stat_type;
464 static int hf_woww_item_sub_class_mask;
465 static int hf_woww_item_suffix_factor;
466 static int hf_woww_item_template;
467 static int hf_woww_item_text_id;
468 static int hf_woww_item_to_damage;
469 static int hf_woww_items_required;
470 static int hf_woww_join_as_group;
471 static int hf_woww_key_version;
472 static int hf_woww_kill_count;
473 static int hf_woww_killing_blows;
474 static int hf_woww_lag;
475 static int hf_woww_language;
476 static int hf_woww_last_week_honor;
477 static int hf_woww_last_week_honorable;
478 static int hf_woww_leader;
479 static int hf_woww_level;
480 static int hf_woww_level_played_time;
481 static int hf_woww_lifetime_dishonorable;
482 static int hf_woww_lifetime_honorable;
483 static int hf_woww_list_from;
484 static int hf_woww_list_start_item;
485 static int hf_woww_listed_players;
486 static int hf_woww_living_orientation;
487 static int hf_woww_location_name;
488 static int hf_woww_lock_id;
489 static int hf_woww_log_format;
490 static int hf_woww_logout_result;
491 static int hf_woww_logout_speed;
492 static int hf_woww_loot;
493 static int hf_woww_loot_master;
494 static int hf_woww_loot_method;
495 static int hf_woww_loot_method_error;
496 static int hf_woww_loot_slot;
497 static int hf_woww_loot_slot_type;
498 static int hf_woww_looted_target;
499 static int hf_woww_loyalty;
500 static int hf_woww_mail_action;
501 static int hf_woww_mail_id;
502 static int hf_woww_mail_result;
503 static int hf_woww_mail_result_two;
504 static int hf_woww_mail_template_id;
505 static int hf_woww_mail_type;
506 static int hf_woww_mailbox;
507 static int hf_woww_mailbox_id;
508 static int hf_woww_mana;
509 static int hf_woww_map;
510 static int hf_woww_master_loot;
511 static int hf_woww_material;
512 static int hf_woww_max_count;
513 static int hf_woww_max_durability;
514 static int hf_woww_max_health;
515 static int hf_woww_max_items;
516 static int hf_woww_max_level_money_reward;
517 static int hf_woww_max_power;
518 static int hf_woww_maximum;
519 static int hf_woww_maximum_level;
520 static int hf_woww_maximum_signatures;
521 static int hf_woww_meeting_stone_failure;
522 static int hf_woww_meeting_stone_status;
523 static int hf_woww_member;
524 static int hf_woww_message;
525 static int hf_woww_message_id;
526 static int hf_woww_message_of_the_day;
527 static int hf_woww_minimum;
528 static int hf_woww_minimum_bid;
529 static int hf_woww_minimum_level;
530 static int hf_woww_minimum_signatures;
531 static int hf_woww_misc;
532 static int hf_woww_misc_value;
533 static int hf_woww_money;
534 static int hf_woww_money_in_trade;
535 static int hf_woww_money_reward;
536 static int hf_woww_monster;
537 static int hf_woww_monster_move_type;
538 static int hf_woww_monster_name;
539 static int hf_woww_motd;
540 static int hf_woww_mount_result;
541 static int hf_woww_move_event;
542 static int hf_woww_movement_counter;
543 static int hf_woww_movement_flags;
544 static int hf_woww_multiplier;
545 static int hf_woww_name;
546 static int hf_woww_nature_resistance;
547 static int hf_woww_nearest_node;
548 static int hf_woww_new_bid;
549 static int hf_woww_new_guild_leader_name;
550 static int hf_woww_new_item_chat_alert;
551 static int hf_woww_new_item_creation_type;
552 static int hf_woww_new_item_source;
553 static int hf_woww_new_level;
554 static int hf_woww_new_name;
555 static int hf_woww_new_owner;
556 static int hf_woww_new_speed;
557 static int hf_woww_new_spell_id;
558 static int hf_woww_next_page_id;
559 static int hf_woww_next_quest_in_chain;
560 static int hf_woww_next_resurrect_time;
561 static int hf_woww_node_count;
562 static int hf_woww_nodes;
563 static int hf_woww_note;
564 static int hf_woww_notification;
565 static int hf_woww_npc;
566 static int hf_woww_number_of_battlegrounds;
567 static int hf_woww_number_of_choices;
568 static int hf_woww_object_type;
569 static int hf_woww_object_unk;
570 static int hf_woww_objective_text;
571 static int hf_woww_objective_texts;
572 static int hf_woww_objectives;
573 static int hf_woww_offer_reward_text;
574 static int hf_woww_officer_note;
575 static int hf_woww_old_mover;
576 static int hf_woww_old_spell_id;
577 static int hf_woww_online_players;
578 static int hf_woww_op;
579 static int hf_woww_opponent_name;
580 static int hf_woww_orientation;
581 static int hf_woww_out_bid;
582 static int hf_woww_outbid_item_ids;
583 static int hf_woww_outfit_id;
584 static int hf_woww_owner;
585 static int hf_woww_page_id;
586 static int hf_woww_page_text;
587 static int hf_woww_page_text_material;
588 static int hf_woww_party_operation;
589 static int hf_woww_party_result;
590 static int hf_woww_party_status;
591 static int hf_woww_periodic_log;
592 static int hf_woww_pet;
593 static int hf_woww_pet_command_state;
594 static int hf_woww_pet_current_health;
595 static int hf_woww_pet_current_power;
596 static int hf_woww_pet_display_id;
597 static int hf_woww_pet_enabled;
598 static int hf_woww_pet_feedback;
599 static int hf_woww_pet_level;
600 static int hf_woww_pet_max_health;
601 static int hf_woww_pet_max_power;
602 static int hf_woww_pet_name;
603 static int hf_woww_pet_name_timestamp;
604 static int hf_woww_pet_number;
605 static int hf_woww_pet_react_state;
606 static int hf_woww_pet_slot;
607 static int hf_woww_pet_talk_reason;
608 static int hf_woww_pet_tame_failure_reason;
609 static int hf_woww_petition;
610 static int hf_woww_petition_id;
611 static int hf_woww_petition_result;
612 static int hf_woww_pitch;
613 static int hf_woww_player;
614 static int hf_woww_player_chat_tag;
615 static int hf_woww_player_is_saved_to_a_raid;
616 static int hf_woww_player_name;
617 static int hf_woww_player_rank;
618 static int hf_woww_player_with_killing_blow;
619 static int hf_woww_point_map_id;
620 static int hf_woww_point_opt;
621 static int hf_woww_position;
622 static int hf_woww_position_x;
623 static int hf_woww_position_x_int;
624 static int hf_woww_position_y;
625 static int hf_woww_position_y_int;
626 static int hf_woww_power;
627 static int hf_woww_price;
628 static int hf_woww_probability;
629 static int hf_woww_public_key;
630 static int hf_woww_public_note;
631 static int hf_woww_pvp_corpse;
632 static int hf_woww_pvp_rank;
633 static int hf_woww_query;
634 static int hf_woww_quest_completable;
635 static int hf_woww_quest_failed_reason;
636 static int hf_woww_quest_flags;
637 static int hf_woww_quest_giver_status;
638 static int hf_woww_quest_icon;
639 static int hf_woww_quest_id;
640 static int hf_woww_quest_level;
641 static int hf_woww_quest_method;
642 static int hf_woww_quest_party_message;
643 static int hf_woww_quest_title;
644 static int hf_woww_quest_type;
645 static int hf_woww_question_id;
646 static int hf_woww_queue_position;
647 static int hf_woww_queue_slot;
648 static int hf_woww_race;
649 static int hf_woww_race_mask;
650 static int hf_woww_racial_leader;
651 static int hf_woww_rage;
652 static int hf_woww_raid_group_error;
653 static int hf_woww_raid_instance_message;
654 static int hf_woww_raid_target_index;
655 static int hf_woww_raid_target_update_type;
656 static int hf_woww_random_property;
657 static int hf_woww_random_property_id;
658 static int hf_woww_ranged_range_modification;
659 static int hf_woww_rank;
660 static int hf_woww_rank_id;
661 static int hf_woww_rank_name;
662 static int hf_woww_rank_names;
663 static int hf_woww_rank_progress_bar;
664 static int hf_woww_raw_data;
665 static int hf_woww_read_by_gm;
666 static int hf_woww_realm_name;
667 static int hf_woww_receiver;
668 static int hf_woww_records;
669 static int hf_woww_reputation_objective_value;
670 static int hf_woww_reputation_rank;
671 static int hf_woww_request_items_text;
672 static int hf_woww_requested_rank;
673 static int hf_woww_required_city_rank;
674 static int hf_woww_required_faction_rank;
675 static int hf_woww_required_honor_rank;
676 static int hf_woww_required_item_count;
677 static int hf_woww_required_item_id;
678 static int hf_woww_required_kill_count;
679 static int hf_woww_required_level;
680 static int hf_woww_required_money;
681 static int hf_woww_required_opposite_reputation_value;
682 static int hf_woww_required_skill_rank;
683 static int hf_woww_required_skill_value;
684 static int hf_woww_required_spell;
685 static int hf_woww_required_spell_focus;
686 static int hf_woww_required_spells;
687 static int hf_woww_reserved_for_future_use;
688 static int hf_woww_reset_time;
689 static int hf_woww_resist;
690 static int hf_woww_resisted;
691 static int hf_woww_reward;
692 static int hf_woww_reward_spell;
693 static int hf_woww_reward_spell_cast;
694 static int hf_woww_rights;
695 static int hf_woww_roll_number;
696 static int hf_woww_roll_vote;
697 static int hf_woww_round_time_in_ms;
698 static int hf_woww_running_speed;
699 static int hf_woww_scale;
700 static int hf_woww_search_strings;
701 static int hf_woww_searched_name;
702 static int hf_woww_self_player;
703 static int hf_woww_sell_item_result;
704 static int hf_woww_sell_price;
705 static int hf_woww_sender;
706 static int hf_woww_sender_id;
707 static int hf_woww_sender_name;
708 static int hf_woww_sequence_id;
709 static int hf_woww_server_id;
710 static int hf_woww_server_message_type;
711 static int hf_woww_server_seed;
712 static int hf_woww_set_assistant;
713 static int hf_woww_shadow_resistance;
714 static int hf_woww_sheath_state;
715 static int hf_woww_sheathe_type;
716 static int hf_woww_show_affiliation;
717 static int hf_woww_signer;
718 static int hf_woww_simple_spell_cast_result;
719 static int hf_woww_sin_angle;
720 static int hf_woww_size_struct;
721 static int hf_woww_skill;
722 static int hf_woww_skin;
723 static int hf_woww_skin_color;
724 static int hf_woww_slot;
725 static int hf_woww_slot_id;
726 static int hf_woww_slot_index;
727 static int hf_woww_sound_id;
728 static int hf_woww_source_bag;
729 static int hf_woww_source_item_id;
730 static int hf_woww_source_node;
731 static int hf_woww_source_slot;
732 static int hf_woww_speech_bubble_credit;
733 static int hf_woww_speed;
734 static int hf_woww_spell;
735 static int hf_woww_spell_art_kit;
736 static int hf_woww_spell_cast_result;
737 static int hf_woww_spell_cast_target_flags;
738 static int hf_woww_spell_category;
739 static int hf_woww_spell_category_cooldown;
740 static int hf_woww_spell_charges;
741 static int hf_woww_spell_cooldown;
742 static int hf_woww_spell_cost;
743 static int hf_woww_spell_count;
744 static int hf_woww_spell_data_id;
745 static int hf_woww_spell_effect;
746 static int hf_woww_spell_id;
747 static int hf_woww_spell_index;
748 static int hf_woww_spell_miss_info;
749 static int hf_woww_spell_on_lowest_slot;
750 static int hf_woww_spell_school;
751 static int hf_woww_spell_school_mask;
752 static int hf_woww_spell_trigger_type;
753 static int hf_woww_spell_visual_kit;
754 static int hf_woww_spells;
755 static int hf_woww_spirit;
756 static int hf_woww_spirit_released;
757 static int hf_woww_spline_elevation;
758 static int hf_woww_spline_flag;
759 static int hf_woww_spline_id;
760 static int hf_woww_stable_master;
761 static int hf_woww_stable_result;
762 static int hf_woww_stable_slots;
763 static int hf_woww_stack_count;
764 static int hf_woww_stackable;
765 static int hf_woww_stamina;
766 static int hf_woww_standing;
767 static int hf_woww_start_bid;
768 static int hf_woww_start_from_page;
769 static int hf_woww_start_quest;
770 static int hf_woww_starting_bid;
771 static int hf_woww_state;
772 static int hf_woww_stationery;
773 static int hf_woww_status;
774 static int hf_woww_status_id;
775 static int hf_woww_strength;
776 static int hf_woww_string;
777 static int hf_woww_sub_name;
778 static int hf_woww_subject;
779 static int hf_woww_suggestion;
780 static int hf_woww_summoner;
781 static int hf_woww_survey_id;
782 static int hf_woww_swap_with_name;
783 static int hf_woww_swimming_speed;
784 static int hf_woww_talent;
785 static int hf_woww_talent_point_cost;
786 static int hf_woww_talent_reset_cost;
787 static int hf_woww_target;
788 static int hf_woww_target_error;
789 static int hf_woww_target_player;
790 static int hf_woww_target_string;
791 static int hf_woww_targets;
792 static int hf_woww_taxi_mask_node_known;
793 static int hf_woww_text;
794 static int hf_woww_text_emote;
795 static int hf_woww_text_id;
796 static int hf_woww_texts;
797 static int hf_woww_this_week_honor;
798 static int hf_woww_this_week_honorable;
799 static int hf_woww_time;
800 static int hf_woww_time_in_queue_in_ms;
801 static int hf_woww_time_left;
802 static int hf_woww_time_offline;
803 static int hf_woww_time_passed;
804 static int hf_woww_time_remaining;
805 static int hf_woww_time_skipped;
806 static int hf_woww_time_to_bg_autoleave_in_ms;
807 static int hf_woww_time_to_bg_start_in_ms;
808 static int hf_woww_time_to_remove_in_queue_in_ms;
809 static int hf_woww_timer;
810 static int hf_woww_timer_type;
811 static int hf_woww_timescale;
812 static int hf_woww_timestamp;
813 static int hf_woww_title;
814 static int hf_woww_title_text_id;
815 static int hf_woww_today_honorable_and_dishonorable;
816 static int hf_woww_todo_amount_of_signers;
817 static int hf_woww_total_amount_of_auctions;
818 static int hf_woww_total_cost;
819 static int hf_woww_total_damage;
820 static int hf_woww_total_exp;
821 static int hf_woww_total_played_time;
822 static int hf_woww_trade_item;
823 static int hf_woww_trade_slot;
824 static int hf_woww_trade_slot_count;
825 static int hf_woww_trade_slot_number;
826 static int hf_woww_trade_status;
827 static int hf_woww_trainer_spell_state;
828 static int hf_woww_trainer_type;
829 static int hf_woww_training_failure_reason;
830 static int hf_woww_transfer_abort_reason;
831 static int hf_woww_transport;
832 static int hf_woww_transport_guid;
833 static int hf_woww_transport_orientation;
834 static int hf_woww_transport_progress_in_ms;
835 static int hf_woww_trigger_id;
836 static int hf_woww_turn_rate;
837 static int hf_woww_tutorial_data;
838 static int hf_woww_tutorial_flag;
839 static int hf_woww_type_flags;
840 static int hf_woww_unit_stand_state;
841 static int hf_woww_unit_target;
842 static int hf_woww_unknown_flags;
843 static int hf_woww_unknown_float;
844 static int hf_woww_unknown_guid;
845 static int hf_woww_unknown_int;
846 static int hf_woww_unread_mails;
847 static int hf_woww_unused;
848 static int hf_woww_update_available_flag;
849 static int hf_woww_update_flag;
850 static int hf_woww_update_type;
851 static int hf_woww_url;
852 static int hf_woww_url_info;
853 static int hf_woww_usable;
854 static int hf_woww_username;
855 static int hf_woww_v_cos;
856 static int hf_woww_v_sin;
857 static int hf_woww_value;
858 static int hf_woww_vendor;
859 static int hf_woww_vendor_slot;
860 static int hf_woww_vertical_speed;
861 static int hf_woww_victim;
862 static int hf_woww_walking_speed;
863 static int hf_woww_weather_change_type;
864 static int hf_woww_weather_type;
865 static int hf_woww_winning_player;
866 static int hf_woww_winning_roll;
867 static int hf_woww_wiping_npc;
868 static int hf_woww_won;
869 static int hf_woww_world_result;
870 static int hf_woww_wrapped;
871 static int hf_woww_x;
872 static int hf_woww_xy_speed;
873 static int hf_woww_y;
874 static int hf_woww_yesterday_honor;
875 static int hf_woww_yesterday_honorable;
876 static int hf_woww_z;
877 static int hf_woww_z_speed;
878 static int hf_woww_zone_or_sort;
879 static int hf_woww_zones;
880 /* AUTOGENERATED_END_HF */
882 #define WOWW_CLIENT_TO_SERVER pinfo->srcport > pinfo->destport
883 #define WOWW_SERVER_TO_CLIENT pinfo->srcport < pinfo->destport
885 // Allocate 8 because tree wants 32 bit aligned data
886 #define WOWW_HEADER_ARRAY_ALLOC_SIZE 8
888 #define WOWW_HEADER_SIZE_FIELD_WIDTH 2
890 // The session key is the result of two SHA-1 hashes appended, so it is
891 // _always_ 40 bytes.
892 #define WOWW_SESSION_KEY_LENGTH 40
894 static int ett_woww;
895 static int ett_message;
896 static int ett_character;
898 // Packets that do not have at least a u16 size field and a u16 opcode field are not valid.
899 #define WOWW_MIN_LENGTH 4
901 // A participant can either be the server or a client.
902 typedef struct WowwParticipant {
903 // The previous encrypted value sent. Persists through headers.
904 uint8_t last_encrypted_value;
905 // Index into the session key. Must always be in [0; WOWW_SESSION_KEY_LENGTH - 1].
906 // Named idx because there's a check for 'index'
907 uint8_t idx;
908 // The first header is unencrypted. Tracks if that header has been encountered.
909 bool unencrypted_packet_encountered;
910 // If a server message is unable to be fully decrypted we stop decrypting any
911 // any more, since it's impossible to know if the PDU contains multiple messages
912 // and thus how many times the session key index should be incremented.
913 uint64_t stopped_at;
914 } WowwParticipant_t;
916 typedef struct WowwConversation {
917 // Secret session key known to the client and host.
918 uint8_t session_key[WOWW_SESSION_KEY_LENGTH];
919 // Which values of the session key have been deduced.
920 bool known_indices[WOWW_SESSION_KEY_LENGTH];
921 // Cache headers that have already been decrypted to save time
922 // as well as reduce headaches from out of order packets.
923 wmem_map_t* decrypted_headers;
924 // Packets that are not fully decryptable when received will need
925 // to be decrypted later.
926 wmem_map_t* headers_need_decryption;
927 // The client and server will have different indices/last values
928 // because they send different amounts of packets and with different
929 // header lengths.
930 WowwParticipant_t client;
931 WowwParticipant_t server;
932 } WowwConversation_t;
934 typedef struct {
935 // Index into the session key, named idx because there's a check for 'index'
936 uint8_t idx;
937 uint8_t last_encrypted_value;
938 } WowwPreviousValues_t;
940 typedef struct {
941 uint8_t size[2];
942 uint8_t opcode[];
943 } WowwDecryptedHeader_t;
945 /* AUTOGENERATED_START_ENUM */
946 typedef enum {
947 ADDON_TYPE_BANNED = 0x0,
948 ADDON_TYPE_ENABLED = 0x1,
949 ADDON_TYPE_BLIZZARD = 0x2,
950 } e_addon_type;
951 static const value_string e_addon_type_strings[] = {
952 { ADDON_TYPE_BANNED, "Banned" },
953 { ADDON_TYPE_ENABLED, "Enabled" },
954 { ADDON_TYPE_BLIZZARD, "Blizzard" },
955 { 0, NULL }
958 typedef enum {
959 INFO_BLOCK_UNAVAILABLE = 0x0,
960 INFO_BLOCK_AVAILABLE = 0x1,
961 } e_info_block;
962 static const value_string e_info_block_strings[] = {
963 { INFO_BLOCK_UNAVAILABLE, "Unavailable" },
964 { INFO_BLOCK_AVAILABLE, "Available" },
965 { 0, NULL }
968 typedef enum {
969 KEY_VERSION_ZERO = 0x0,
970 KEY_VERSION_ONE = 0x1,
971 KEY_VERSION_TWO = 0x2,
972 KEY_VERSION_THREE = 0x3,
973 KEY_VERSION_FOUR = 0x4,
974 KEY_VERSION_FIVE = 0x5,
975 KEY_VERSION_SIX = 0x6,
976 KEY_VERSION_SEVEN = 0x7,
977 KEY_VERSION_EIGHT = 0x8,
978 KEY_VERSION_NINE = 0x9,
979 } e_key_version;
980 static const value_string e_key_version_strings[] = {
981 { KEY_VERSION_ZERO, "Zero" },
982 { KEY_VERSION_ONE, "One" },
983 { KEY_VERSION_TWO, "Two" },
984 { KEY_VERSION_THREE, "Three" },
985 { KEY_VERSION_FOUR, "Four" },
986 { KEY_VERSION_FIVE, "Five" },
987 { KEY_VERSION_SIX, "Six" },
988 { KEY_VERSION_SEVEN, "Seven" },
989 { KEY_VERSION_EIGHT, "Eight" },
990 { KEY_VERSION_NINE, "Nine" },
991 { 0, NULL }
994 typedef enum {
995 URL_INFO_UNAVAILABLE = 0x0,
996 URL_INFO_AVAILABLE = 0x1,
997 } e_url_info;
998 static const value_string e_url_info_strings[] = {
999 { URL_INFO_UNAVAILABLE, "Unavailable" },
1000 { URL_INFO_AVAILABLE, "Available" },
1001 { 0, NULL }
1004 typedef enum {
1005 AURA_TYPE_NONE = 0x00,
1006 AURA_TYPE_BIND_SIGHT = 0x01,
1007 AURA_TYPE_MOD_POSSESS = 0x02,
1008 AURA_TYPE_PERIODIC_DAMAGE = 0x03,
1009 AURA_TYPE_DUMMY = 0x04,
1010 AURA_TYPE_MOD_CONFUSE = 0x05,
1011 AURA_TYPE_MOD_CHARM = 0x06,
1012 AURA_TYPE_MOD_FEAR = 0x07,
1013 AURA_TYPE_PERIODIC_HEAL = 0x08,
1014 AURA_TYPE_MOD_ATTACKSPEED = 0x09,
1015 AURA_TYPE_MOD_THREAT = 0x0A,
1016 AURA_TYPE_MOD_TAUNT = 0x0B,
1017 AURA_TYPE_MOD_STUN = 0x0C,
1018 AURA_TYPE_MOD_DAMAGE_DONE = 0x0D,
1019 AURA_TYPE_MOD_DAMAGE_TAKEN = 0x0E,
1020 AURA_TYPE_DAMAGE_SHIELD = 0x0F,
1021 AURA_TYPE_MOD_STEALTH = 0x10,
1022 AURA_TYPE_MOD_STEALTH_DETECT = 0x11,
1023 AURA_TYPE_MOD_INVISIBILITY = 0x12,
1024 AURA_TYPE_MOD_INVISIBILITY_DETECTION = 0x13,
1025 AURA_TYPE_OBS_MOD_HEALTH = 0x14,
1026 AURA_TYPE_OBS_MOD_MANA = 0x15,
1027 AURA_TYPE_MOD_RESISTANCE = 0x16,
1028 AURA_TYPE_PERIODIC_TRIGGER_SPELL = 0x17,
1029 AURA_TYPE_PERIODIC_ENERGIZE = 0x18,
1030 AURA_TYPE_MOD_PACIFY = 0x19,
1031 AURA_TYPE_MOD_ROOT = 0x1A,
1032 AURA_TYPE_MOD_SILENCE = 0x1B,
1033 AURA_TYPE_REFLECT_SPELLS = 0x1C,
1034 AURA_TYPE_MOD_STAT = 0x1D,
1035 AURA_TYPE_MOD_SKILL = 0x1E,
1036 AURA_TYPE_MOD_INCREASE_SPEED = 0x1F,
1037 AURA_TYPE_MOD_INCREASE_MOUNTED_SPEED = 0x20,
1038 AURA_TYPE_MOD_DECREASE_SPEED = 0x21,
1039 AURA_TYPE_MOD_INCREASE_HEALTH = 0x22,
1040 AURA_TYPE_MOD_INCREASE_ENERGY = 0x23,
1041 AURA_TYPE_MOD_SHAPESHIFT = 0x24,
1042 AURA_TYPE_EFFECT_IMMUNITY = 0x25,
1043 AURA_TYPE_STATE_IMMUNITY = 0x26,
1044 AURA_TYPE_SCHOOL_IMMUNITY = 0x27,
1045 AURA_TYPE_DAMAGE_IMMUNITY = 0x28,
1046 AURA_TYPE_DISPEL_IMMUNITY = 0x29,
1047 AURA_TYPE_PROC_TRIGGER_SPELL = 0x2A,
1048 AURA_TYPE_PROC_TRIGGER_DAMAGE = 0x2B,
1049 AURA_TYPE_TRACK_CREATURES = 0x2C,
1050 AURA_TYPE_TRACK_RESOURCES = 0x2D,
1051 AURA_TYPE_UNKNOWN46 = 0x2E,
1052 AURA_TYPE_MOD_PARRY_PERCENT = 0x2F,
1053 AURA_TYPE_UNKNOWN48 = 0x30,
1054 AURA_TYPE_MOD_DODGE_PERCENT = 0x31,
1055 AURA_TYPE_MOD_BLOCK_SKILL = 0x32,
1056 AURA_TYPE_MOD_BLOCK_PERCENT = 0x33,
1057 AURA_TYPE_MOD_CRIT_PERCENT = 0x34,
1058 AURA_TYPE_PERIODIC_LEECH = 0x35,
1059 AURA_TYPE_MOD_HIT_CHANCE = 0x36,
1060 AURA_TYPE_MOD_SPELL_HIT_CHANCE = 0x37,
1061 AURA_TYPE_TRANSFORM = 0x38,
1062 AURA_TYPE_MOD_SPELL_CRIT_CHANCE = 0x39,
1063 AURA_TYPE_MOD_INCREASE_SWIM_SPEED = 0x3A,
1064 AURA_TYPE_MOD_DAMAGE_DONE_CREATURE = 0x3B,
1065 AURA_TYPE_MOD_PACIFY_SILENCE = 0x3C,
1066 AURA_TYPE_MOD_SCALE = 0x3D,
1067 AURA_TYPE_PERIODIC_HEALTH_FUNNEL = 0x3E,
1068 AURA_TYPE_PERIODIC_MANA_FUNNEL = 0x3F,
1069 AURA_TYPE_PERIODIC_MANA_LEECH = 0x40,
1070 AURA_TYPE_MOD_CASTING_SPEED_NOT_STACK = 0x41,
1071 AURA_TYPE_FEIGN_DEATH = 0x42,
1072 AURA_TYPE_MOD_DISARM = 0x43,
1073 AURA_TYPE_MOD_STALKED = 0x44,
1074 AURA_TYPE_SCHOOL_ABSORB = 0x45,
1075 AURA_TYPE_EXTRA_ATTACKS = 0x46,
1076 AURA_TYPE_MOD_SPELL_CRIT_CHANCE_SCHOOL = 0x47,
1077 AURA_TYPE_MOD_POWER_COST_SCHOOL_PCT = 0x48,
1078 AURA_TYPE_MOD_POWER_COST_SCHOOL = 0x49,
1079 AURA_TYPE_REFLECT_SPELLS_SCHOOL = 0x4A,
1080 AURA_TYPE_MOD_LANGUAGE = 0x4B,
1081 AURA_TYPE_FAR_SIGHT = 0x4C,
1082 AURA_TYPE_MECHANIC_IMMUNITY = 0x4D,
1083 AURA_TYPE_MOUNTED = 0x4E,
1084 AURA_TYPE_MOD_DAMAGE_PERCENT_DONE = 0x4F,
1085 AURA_TYPE_MOD_PERCENT_STAT = 0x50,
1086 AURA_TYPE_SPLIT_DAMAGE_PCT = 0x51,
1087 AURA_TYPE_WATER_BREATHING = 0x52,
1088 AURA_TYPE_MOD_BASE_RESISTANCE = 0x53,
1089 AURA_TYPE_MOD_REGEN = 0x54,
1090 AURA_TYPE_MOD_POWER_REGEN = 0x55,
1091 AURA_TYPE_CHANNEL_DEATH_ITEM = 0x56,
1092 AURA_TYPE_MOD_DAMAGE_PERCENT_TAKEN = 0x57,
1093 AURA_TYPE_MOD_HEALTH_REGEN_PERCENT = 0x58,
1094 AURA_TYPE_PERIODIC_DAMAGE_PERCENT = 0x59,
1095 AURA_TYPE_MOD_RESIST_CHANCE = 0x5A,
1096 AURA_TYPE_MOD_DETECT_RANGE = 0x5B,
1097 AURA_TYPE_PREVENTS_FLEEING = 0x5C,
1098 AURA_TYPE_MOD_UNATTACKABLE = 0x5D,
1099 AURA_TYPE_INTERRUPT_REGEN = 0x5E,
1100 AURA_TYPE_GHOST = 0x5F,
1101 AURA_TYPE_SPELL_MAGNET = 0x60,
1102 AURA_TYPE_MANA_SHIELD = 0x61,
1103 AURA_TYPE_MOD_SKILL_TALENT = 0x62,
1104 AURA_TYPE_MOD_ATTACK_POWER = 0x63,
1105 AURA_TYPE_AURAS_VISIBLE = 0x64,
1106 AURA_TYPE_MOD_RESISTANCE_PCT = 0x65,
1107 AURA_TYPE_MOD_MELEE_ATTACK_POWER_VERSUS = 0x66,
1108 AURA_TYPE_MOD_TOTAL_THREAT = 0x67,
1109 AURA_TYPE_WATER_WALK = 0x68,
1110 AURA_TYPE_FEATHER_FALL = 0x69,
1111 AURA_TYPE_HOVER = 0x6A,
1112 AURA_TYPE_ADD_FLAT_MODIFIER = 0x6B,
1113 AURA_TYPE_ADD_PCT_MODIFIER = 0x6C,
1114 AURA_TYPE_ADD_TARGET_TRIGGER = 0x6D,
1115 AURA_TYPE_MOD_POWER_REGEN_PERCENT = 0x6E,
1116 AURA_TYPE_ADD_CASTER_HIT_TRIGGER = 0x6F,
1117 AURA_TYPE_OVERRIDE_CLASS_SCRIPTS = 0x70,
1118 AURA_TYPE_MOD_RANGED_DAMAGE_TAKEN = 0x71,
1119 AURA_TYPE_MOD_RANGED_DAMAGE_TAKEN_PCT = 0x72,
1120 AURA_TYPE_MOD_HEALING = 0x73,
1121 AURA_TYPE_MOD_REGEN_DURING_COMBAT = 0x74,
1122 AURA_TYPE_MOD_MECHANIC_RESISTANCE = 0x75,
1123 AURA_TYPE_MOD_HEALING_PCT = 0x76,
1124 AURA_TYPE_SHARE_PET_TRACKING = 0x77,
1125 AURA_TYPE_UNTRACKABLE = 0x78,
1126 AURA_TYPE_EMPATHY = 0x79,
1127 AURA_TYPE_MOD_OFFHAND_DAMAGE_PCT = 0x7A,
1128 AURA_TYPE_MOD_TARGET_RESISTANCE = 0x7B,
1129 AURA_TYPE_MOD_RANGED_ATTACK_POWER = 0x7C,
1130 AURA_TYPE_MOD_MELEE_DAMAGE_TAKEN = 0x7D,
1131 AURA_TYPE_MOD_MELEE_DAMAGE_TAKEN_PCT = 0x7E,
1132 AURA_TYPE_RANGED_ATTACK_POWER_ATTACKER_BONUS = 0x7F,
1133 AURA_TYPE_MOD_POSSESS_PET = 0x80,
1134 AURA_TYPE_MOD_SPEED_ALWAYS = 0x81,
1135 AURA_TYPE_MOD_MOUNTED_SPEED_ALWAYS = 0x82,
1136 AURA_TYPE_MOD_RANGED_ATTACK_POWER_VERSUS = 0x83,
1137 AURA_TYPE_MOD_INCREASE_ENERGY_PERCENT = 0x84,
1138 AURA_TYPE_MOD_INCREASE_HEALTH_PERCENT = 0x85,
1139 AURA_TYPE_MOD_MANA_REGEN_INTERRUPT = 0x86,
1140 AURA_TYPE_MOD_HEALING_DONE = 0x87,
1141 AURA_TYPE_MOD_HEALING_DONE_PERCENT = 0x88,
1142 AURA_TYPE_MOD_TOTAL_STAT_PERCENTAGE = 0x89,
1143 AURA_TYPE_MOD_MELEE_HASTE = 0x8A,
1144 AURA_TYPE_FORCE_REACTION = 0x8B,
1145 AURA_TYPE_MOD_RANGED_HASTE = 0x8C,
1146 AURA_TYPE_MOD_RANGED_AMMO_HASTE = 0x8D,
1147 AURA_TYPE_MOD_BASE_RESISTANCE_PCT = 0x8E,
1148 AURA_TYPE_MOD_RESISTANCE_EXCLUSIVE = 0x8F,
1149 AURA_TYPE_SAFE_FALL = 0x90,
1150 AURA_TYPE_CHARISMA = 0x91,
1151 AURA_TYPE_PERSUADED = 0x92,
1152 AURA_TYPE_MECHANIC_IMMUNITY_MASK = 0x93,
1153 AURA_TYPE_RETAIN_COMBO_POINTS = 0x94,
1154 AURA_TYPE_RESIST_PUSHBACK = 0x95,
1155 AURA_TYPE_MOD_SHIELD_BLOCKVALUE_PCT = 0x96,
1156 AURA_TYPE_TRACK_STEALTHED = 0x97,
1157 AURA_TYPE_MOD_DETECTED_RANGE = 0x98,
1158 AURA_TYPE_SPLIT_DAMAGE_FLAT = 0x99,
1159 AURA_TYPE_MOD_STEALTH_LEVEL = 0x9A,
1160 AURA_TYPE_MOD_WATER_BREATHING = 0x9B,
1161 AURA_TYPE_MOD_REPUTATION_GAIN = 0x9C,
1162 AURA_TYPE_PET_DAMAGE_MULTI = 0x9D,
1163 AURA_TYPE_MOD_SHIELD_BLOCKVALUE = 0x9E,
1164 AURA_TYPE_NO_PVP_CREDIT = 0x9F,
1165 AURA_TYPE_MOD_AOE_AVOIDANCE = 0xA0,
1166 AURA_TYPE_MOD_HEALTH_REGEN_IN_COMBAT = 0xA1,
1167 AURA_TYPE_POWER_BURN_MANA = 0xA2,
1168 AURA_TYPE_MOD_CRIT_DAMAGE_BONUS = 0xA3,
1169 AURA_TYPE_UNKNOWN164 = 0xA4,
1170 AURA_TYPE_MELEE_ATTACK_POWER_ATTACKER_BONUS = 0xA5,
1171 AURA_TYPE_MOD_ATTACK_POWER_PCT = 0xA6,
1172 AURA_TYPE_MOD_RANGED_ATTACK_POWER_PCT = 0xA7,
1173 AURA_TYPE_MOD_DAMAGE_DONE_VERSUS = 0xA8,
1174 AURA_TYPE_MOD_CRIT_PERCENT_VERSUS = 0xA9,
1175 AURA_TYPE_DETECT_AMORE = 0xAA,
1176 AURA_TYPE_MOD_SPEED_NOT_STACK = 0xAB,
1177 AURA_TYPE_MOD_MOUNTED_SPEED_NOT_STACK = 0xAC,
1178 AURA_TYPE_ALLOW_CHAMPION_SPELLS = 0xAD,
1179 AURA_TYPE_MOD_SPELL_DAMAGE_OF_STAT_PERCENT = 0xAE,
1180 AURA_TYPE_MOD_SPELL_HEALING_OF_STAT_PERCENT = 0xAF,
1181 AURA_TYPE_SPIRIT_OF_REDEMPTION = 0xB0,
1182 AURA_TYPE_AOE_CHARM = 0xB1,
1183 AURA_TYPE_MOD_DEBUFF_RESISTANCE = 0xB2,
1184 AURA_TYPE_MOD_ATTACKER_SPELL_CRIT_CHANCE = 0xB3,
1185 AURA_TYPE_MOD_FLAT_SPELL_DAMAGE_VERSUS = 0xB4,
1186 AURA_TYPE_MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS = 0xB5,
1187 AURA_TYPE_MOD_RESISTANCE_OF_STAT_PERCENT = 0xB6,
1188 AURA_TYPE_MOD_CRITICAL_THREAT = 0xB7,
1189 AURA_TYPE_MOD_ATTACKER_MELEE_HIT_CHANCE = 0xB8,
1190 AURA_TYPE_MOD_ATTACKER_RANGED_HIT_CHANCE = 0xB9,
1191 AURA_TYPE_MOD_ATTACKER_SPELL_HIT_CHANCE = 0xBA,
1192 AURA_TYPE_MOD_ATTACKER_MELEE_CRIT_CHANCE = 0xBB,
1193 AURA_TYPE_MOD_ATTACKER_RANGED_CRIT_CHANCE = 0xBC,
1194 AURA_TYPE_MOD_RATING = 0xBD,
1195 AURA_TYPE_MOD_FACTION_REPUTATION_GAIN = 0xBE,
1196 AURA_TYPE_USE_NORMAL_MOVEMENT_SPEED = 0xBF,
1197 } e_aura_type;
1198 static const value_string e_aura_type_strings[] = {
1199 { AURA_TYPE_NONE, "None" },
1200 { AURA_TYPE_BIND_SIGHT, "Bind Sight" },
1201 { AURA_TYPE_MOD_POSSESS, "Mod Possess" },
1202 { AURA_TYPE_PERIODIC_DAMAGE, "Periodic Damage" },
1203 { AURA_TYPE_DUMMY, "Dummy" },
1204 { AURA_TYPE_MOD_CONFUSE, "Mod Confuse" },
1205 { AURA_TYPE_MOD_CHARM, "Mod Charm" },
1206 { AURA_TYPE_MOD_FEAR, "Mod Fear" },
1207 { AURA_TYPE_PERIODIC_HEAL, "Periodic Heal" },
1208 { AURA_TYPE_MOD_ATTACKSPEED, "Mod Attackspeed" },
1209 { AURA_TYPE_MOD_THREAT, "Mod Threat" },
1210 { AURA_TYPE_MOD_TAUNT, "Mod Taunt" },
1211 { AURA_TYPE_MOD_STUN, "Mod Stun" },
1212 { AURA_TYPE_MOD_DAMAGE_DONE, "Mod Damage Done" },
1213 { AURA_TYPE_MOD_DAMAGE_TAKEN, "Mod Damage Taken" },
1214 { AURA_TYPE_DAMAGE_SHIELD, "Damage Shield" },
1215 { AURA_TYPE_MOD_STEALTH, "Mod Stealth" },
1216 { AURA_TYPE_MOD_STEALTH_DETECT, "Mod Stealth Detect" },
1217 { AURA_TYPE_MOD_INVISIBILITY, "Mod Invisibility" },
1218 { AURA_TYPE_MOD_INVISIBILITY_DETECTION, "Mod Invisibility Detection" },
1219 { AURA_TYPE_OBS_MOD_HEALTH, "Obs Mod Health" },
1220 { AURA_TYPE_OBS_MOD_MANA, "Obs Mod Mana" },
1221 { AURA_TYPE_MOD_RESISTANCE, "Mod Resistance" },
1222 { AURA_TYPE_PERIODIC_TRIGGER_SPELL, "Periodic Trigger Spell" },
1223 { AURA_TYPE_PERIODIC_ENERGIZE, "Periodic Energize" },
1224 { AURA_TYPE_MOD_PACIFY, "Mod Pacify" },
1225 { AURA_TYPE_MOD_ROOT, "Mod Root" },
1226 { AURA_TYPE_MOD_SILENCE, "Mod Silence" },
1227 { AURA_TYPE_REFLECT_SPELLS, "Reflect Spells" },
1228 { AURA_TYPE_MOD_STAT, "Mod Stat" },
1229 { AURA_TYPE_MOD_SKILL, "Mod Skill" },
1230 { AURA_TYPE_MOD_INCREASE_SPEED, "Mod Increase Speed" },
1231 { AURA_TYPE_MOD_INCREASE_MOUNTED_SPEED, "Mod Increase Mounted Speed" },
1232 { AURA_TYPE_MOD_DECREASE_SPEED, "Mod Decrease Speed" },
1233 { AURA_TYPE_MOD_INCREASE_HEALTH, "Mod Increase Health" },
1234 { AURA_TYPE_MOD_INCREASE_ENERGY, "Mod Increase Energy" },
1235 { AURA_TYPE_MOD_SHAPESHIFT, "Mod Shapeshift" },
1236 { AURA_TYPE_EFFECT_IMMUNITY, "Effect Immunity" },
1237 { AURA_TYPE_STATE_IMMUNITY, "State Immunity" },
1238 { AURA_TYPE_SCHOOL_IMMUNITY, "School Immunity" },
1239 { AURA_TYPE_DAMAGE_IMMUNITY, "Damage Immunity" },
1240 { AURA_TYPE_DISPEL_IMMUNITY, "Dispel Immunity" },
1241 { AURA_TYPE_PROC_TRIGGER_SPELL, "Proc Trigger Spell" },
1242 { AURA_TYPE_PROC_TRIGGER_DAMAGE, "Proc Trigger Damage" },
1243 { AURA_TYPE_TRACK_CREATURES, "Track Creatures" },
1244 { AURA_TYPE_TRACK_RESOURCES, "Track Resources" },
1245 { AURA_TYPE_UNKNOWN46, "Unknown46" },
1246 { AURA_TYPE_MOD_PARRY_PERCENT, "Mod Parry Percent" },
1247 { AURA_TYPE_UNKNOWN48, "Unknown48" },
1248 { AURA_TYPE_MOD_DODGE_PERCENT, "Mod Dodge Percent" },
1249 { AURA_TYPE_MOD_BLOCK_SKILL, "Mod Block Skill" },
1250 { AURA_TYPE_MOD_BLOCK_PERCENT, "Mod Block Percent" },
1251 { AURA_TYPE_MOD_CRIT_PERCENT, "Mod Crit Percent" },
1252 { AURA_TYPE_PERIODIC_LEECH, "Periodic Leech" },
1253 { AURA_TYPE_MOD_HIT_CHANCE, "Mod Hit Chance" },
1254 { AURA_TYPE_MOD_SPELL_HIT_CHANCE, "Mod Spell Hit Chance" },
1255 { AURA_TYPE_TRANSFORM, "Transform" },
1256 { AURA_TYPE_MOD_SPELL_CRIT_CHANCE, "Mod Spell Crit Chance" },
1257 { AURA_TYPE_MOD_INCREASE_SWIM_SPEED, "Mod Increase Swim Speed" },
1258 { AURA_TYPE_MOD_DAMAGE_DONE_CREATURE, "Mod Damage Done Creature" },
1259 { AURA_TYPE_MOD_PACIFY_SILENCE, "Mod Pacify Silence" },
1260 { AURA_TYPE_MOD_SCALE, "Mod Scale" },
1261 { AURA_TYPE_PERIODIC_HEALTH_FUNNEL, "Periodic Health Funnel" },
1262 { AURA_TYPE_PERIODIC_MANA_FUNNEL, "Periodic Mana Funnel" },
1263 { AURA_TYPE_PERIODIC_MANA_LEECH, "Periodic Mana Leech" },
1264 { AURA_TYPE_MOD_CASTING_SPEED_NOT_STACK, "Mod Casting Speed Not Stack" },
1265 { AURA_TYPE_FEIGN_DEATH, "Feign Death" },
1266 { AURA_TYPE_MOD_DISARM, "Mod Disarm" },
1267 { AURA_TYPE_MOD_STALKED, "Mod Stalked" },
1268 { AURA_TYPE_SCHOOL_ABSORB, "School Absorb" },
1269 { AURA_TYPE_EXTRA_ATTACKS, "Extra Attacks" },
1270 { AURA_TYPE_MOD_SPELL_CRIT_CHANCE_SCHOOL, "Mod Spell Crit Chance School" },
1271 { AURA_TYPE_MOD_POWER_COST_SCHOOL_PCT, "Mod Power Cost School Pct" },
1272 { AURA_TYPE_MOD_POWER_COST_SCHOOL, "Mod Power Cost School" },
1273 { AURA_TYPE_REFLECT_SPELLS_SCHOOL, "Reflect Spells School" },
1274 { AURA_TYPE_MOD_LANGUAGE, "Mod Language" },
1275 { AURA_TYPE_FAR_SIGHT, "Far Sight" },
1276 { AURA_TYPE_MECHANIC_IMMUNITY, "Mechanic Immunity" },
1277 { AURA_TYPE_MOUNTED, "Mounted" },
1278 { AURA_TYPE_MOD_DAMAGE_PERCENT_DONE, "Mod Damage Percent Done" },
1279 { AURA_TYPE_MOD_PERCENT_STAT, "Mod Percent Stat" },
1280 { AURA_TYPE_SPLIT_DAMAGE_PCT, "Split Damage Pct" },
1281 { AURA_TYPE_WATER_BREATHING, "Water Breathing" },
1282 { AURA_TYPE_MOD_BASE_RESISTANCE, "Mod Base Resistance" },
1283 { AURA_TYPE_MOD_REGEN, "Mod Regen" },
1284 { AURA_TYPE_MOD_POWER_REGEN, "Mod Power Regen" },
1285 { AURA_TYPE_CHANNEL_DEATH_ITEM, "Channel Death Item" },
1286 { AURA_TYPE_MOD_DAMAGE_PERCENT_TAKEN, "Mod Damage Percent Taken" },
1287 { AURA_TYPE_MOD_HEALTH_REGEN_PERCENT, "Mod Health Regen Percent" },
1288 { AURA_TYPE_PERIODIC_DAMAGE_PERCENT, "Periodic Damage Percent" },
1289 { AURA_TYPE_MOD_RESIST_CHANCE, "Mod Resist Chance" },
1290 { AURA_TYPE_MOD_DETECT_RANGE, "Mod Detect Range" },
1291 { AURA_TYPE_PREVENTS_FLEEING, "Prevents Fleeing" },
1292 { AURA_TYPE_MOD_UNATTACKABLE, "Mod Unattackable" },
1293 { AURA_TYPE_INTERRUPT_REGEN, "Interrupt Regen" },
1294 { AURA_TYPE_GHOST, "Ghost" },
1295 { AURA_TYPE_SPELL_MAGNET, "Spell Magnet" },
1296 { AURA_TYPE_MANA_SHIELD, "Mana Shield" },
1297 { AURA_TYPE_MOD_SKILL_TALENT, "Mod Skill Talent" },
1298 { AURA_TYPE_MOD_ATTACK_POWER, "Mod Attack Power" },
1299 { AURA_TYPE_AURAS_VISIBLE, "Auras Visible" },
1300 { AURA_TYPE_MOD_RESISTANCE_PCT, "Mod Resistance Pct" },
1301 { AURA_TYPE_MOD_MELEE_ATTACK_POWER_VERSUS, "Mod Melee Attack Power Versus" },
1302 { AURA_TYPE_MOD_TOTAL_THREAT, "Mod Total Threat" },
1303 { AURA_TYPE_WATER_WALK, "Water Walk" },
1304 { AURA_TYPE_FEATHER_FALL, "Feather Fall" },
1305 { AURA_TYPE_HOVER, "Hover" },
1306 { AURA_TYPE_ADD_FLAT_MODIFIER, "Add Flat Modifier" },
1307 { AURA_TYPE_ADD_PCT_MODIFIER, "Add Pct Modifier" },
1308 { AURA_TYPE_ADD_TARGET_TRIGGER, "Add Target Trigger" },
1309 { AURA_TYPE_MOD_POWER_REGEN_PERCENT, "Mod Power Regen Percent" },
1310 { AURA_TYPE_ADD_CASTER_HIT_TRIGGER, "Add Caster Hit Trigger" },
1311 { AURA_TYPE_OVERRIDE_CLASS_SCRIPTS, "Override Class Scripts" },
1312 { AURA_TYPE_MOD_RANGED_DAMAGE_TAKEN, "Mod Ranged Damage Taken" },
1313 { AURA_TYPE_MOD_RANGED_DAMAGE_TAKEN_PCT, "Mod Ranged Damage Taken Pct" },
1314 { AURA_TYPE_MOD_HEALING, "Mod Healing" },
1315 { AURA_TYPE_MOD_REGEN_DURING_COMBAT, "Mod Regen During Combat" },
1316 { AURA_TYPE_MOD_MECHANIC_RESISTANCE, "Mod Mechanic Resistance" },
1317 { AURA_TYPE_MOD_HEALING_PCT, "Mod Healing Pct" },
1318 { AURA_TYPE_SHARE_PET_TRACKING, "Share Pet Tracking" },
1319 { AURA_TYPE_UNTRACKABLE, "Untrackable" },
1320 { AURA_TYPE_EMPATHY, "Empathy" },
1321 { AURA_TYPE_MOD_OFFHAND_DAMAGE_PCT, "Mod Offhand Damage Pct" },
1322 { AURA_TYPE_MOD_TARGET_RESISTANCE, "Mod Target Resistance" },
1323 { AURA_TYPE_MOD_RANGED_ATTACK_POWER, "Mod Ranged Attack Power" },
1324 { AURA_TYPE_MOD_MELEE_DAMAGE_TAKEN, "Mod Melee Damage Taken" },
1325 { AURA_TYPE_MOD_MELEE_DAMAGE_TAKEN_PCT, "Mod Melee Damage Taken Pct" },
1326 { AURA_TYPE_RANGED_ATTACK_POWER_ATTACKER_BONUS, "Ranged Attack Power Attacker Bonus" },
1327 { AURA_TYPE_MOD_POSSESS_PET, "Mod Possess Pet" },
1328 { AURA_TYPE_MOD_SPEED_ALWAYS, "Mod Speed Always" },
1329 { AURA_TYPE_MOD_MOUNTED_SPEED_ALWAYS, "Mod Mounted Speed Always" },
1330 { AURA_TYPE_MOD_RANGED_ATTACK_POWER_VERSUS, "Mod Ranged Attack Power Versus" },
1331 { AURA_TYPE_MOD_INCREASE_ENERGY_PERCENT, "Mod Increase Energy Percent" },
1332 { AURA_TYPE_MOD_INCREASE_HEALTH_PERCENT, "Mod Increase Health Percent" },
1333 { AURA_TYPE_MOD_MANA_REGEN_INTERRUPT, "Mod Mana Regen Interrupt" },
1334 { AURA_TYPE_MOD_HEALING_DONE, "Mod Healing Done" },
1335 { AURA_TYPE_MOD_HEALING_DONE_PERCENT, "Mod Healing Done Percent" },
1336 { AURA_TYPE_MOD_TOTAL_STAT_PERCENTAGE, "Mod Total Stat Percentage" },
1337 { AURA_TYPE_MOD_MELEE_HASTE, "Mod Melee Haste" },
1338 { AURA_TYPE_FORCE_REACTION, "Force Reaction" },
1339 { AURA_TYPE_MOD_RANGED_HASTE, "Mod Ranged Haste" },
1340 { AURA_TYPE_MOD_RANGED_AMMO_HASTE, "Mod Ranged Ammo Haste" },
1341 { AURA_TYPE_MOD_BASE_RESISTANCE_PCT, "Mod Base Resistance Pct" },
1342 { AURA_TYPE_MOD_RESISTANCE_EXCLUSIVE, "Mod Resistance Exclusive" },
1343 { AURA_TYPE_SAFE_FALL, "Safe Fall" },
1344 { AURA_TYPE_CHARISMA, "Charisma" },
1345 { AURA_TYPE_PERSUADED, "Persuaded" },
1346 { AURA_TYPE_MECHANIC_IMMUNITY_MASK, "Mechanic Immunity Mask" },
1347 { AURA_TYPE_RETAIN_COMBO_POINTS, "Retain Combo Points" },
1348 { AURA_TYPE_RESIST_PUSHBACK, "Resist Pushback" },
1349 { AURA_TYPE_MOD_SHIELD_BLOCKVALUE_PCT, "Mod Shield Blockvalue Pct" },
1350 { AURA_TYPE_TRACK_STEALTHED, "Track Stealthed" },
1351 { AURA_TYPE_MOD_DETECTED_RANGE, "Mod Detected Range" },
1352 { AURA_TYPE_SPLIT_DAMAGE_FLAT, "Split Damage Flat" },
1353 { AURA_TYPE_MOD_STEALTH_LEVEL, "Mod Stealth Level" },
1354 { AURA_TYPE_MOD_WATER_BREATHING, "Mod Water Breathing" },
1355 { AURA_TYPE_MOD_REPUTATION_GAIN, "Mod Reputation Gain" },
1356 { AURA_TYPE_PET_DAMAGE_MULTI, "Pet Damage Multi" },
1357 { AURA_TYPE_MOD_SHIELD_BLOCKVALUE, "Mod Shield Blockvalue" },
1358 { AURA_TYPE_NO_PVP_CREDIT, "No Pvp Credit" },
1359 { AURA_TYPE_MOD_AOE_AVOIDANCE, "Mod Aoe Avoidance" },
1360 { AURA_TYPE_MOD_HEALTH_REGEN_IN_COMBAT, "Mod Health Regen In Combat" },
1361 { AURA_TYPE_POWER_BURN_MANA, "Power Burn Mana" },
1362 { AURA_TYPE_MOD_CRIT_DAMAGE_BONUS, "Mod Crit Damage Bonus" },
1363 { AURA_TYPE_UNKNOWN164, "Unknown164" },
1364 { AURA_TYPE_MELEE_ATTACK_POWER_ATTACKER_BONUS, "Melee Attack Power Attacker Bonus" },
1365 { AURA_TYPE_MOD_ATTACK_POWER_PCT, "Mod Attack Power Pct" },
1366 { AURA_TYPE_MOD_RANGED_ATTACK_POWER_PCT, "Mod Ranged Attack Power Pct" },
1367 { AURA_TYPE_MOD_DAMAGE_DONE_VERSUS, "Mod Damage Done Versus" },
1368 { AURA_TYPE_MOD_CRIT_PERCENT_VERSUS, "Mod Crit Percent Versus" },
1369 { AURA_TYPE_DETECT_AMORE, "Detect Amore" },
1370 { AURA_TYPE_MOD_SPEED_NOT_STACK, "Mod Speed Not Stack" },
1371 { AURA_TYPE_MOD_MOUNTED_SPEED_NOT_STACK, "Mod Mounted Speed Not Stack" },
1372 { AURA_TYPE_ALLOW_CHAMPION_SPELLS, "Allow Champion Spells" },
1373 { AURA_TYPE_MOD_SPELL_DAMAGE_OF_STAT_PERCENT, "Mod Spell Damage Of Stat Percent" },
1374 { AURA_TYPE_MOD_SPELL_HEALING_OF_STAT_PERCENT, "Mod Spell Healing Of Stat Percent" },
1375 { AURA_TYPE_SPIRIT_OF_REDEMPTION, "Spirit Of Redemption" },
1376 { AURA_TYPE_AOE_CHARM, "Aoe Charm" },
1377 { AURA_TYPE_MOD_DEBUFF_RESISTANCE, "Mod Debuff Resistance" },
1378 { AURA_TYPE_MOD_ATTACKER_SPELL_CRIT_CHANCE, "Mod Attacker Spell Crit Chance" },
1379 { AURA_TYPE_MOD_FLAT_SPELL_DAMAGE_VERSUS, "Mod Flat Spell Damage Versus" },
1380 { AURA_TYPE_MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS, "Mod Flat Spell Crit Damage Versus" },
1381 { AURA_TYPE_MOD_RESISTANCE_OF_STAT_PERCENT, "Mod Resistance Of Stat Percent" },
1382 { AURA_TYPE_MOD_CRITICAL_THREAT, "Mod Critical Threat" },
1383 { AURA_TYPE_MOD_ATTACKER_MELEE_HIT_CHANCE, "Mod Attacker Melee Hit Chance" },
1384 { AURA_TYPE_MOD_ATTACKER_RANGED_HIT_CHANCE, "Mod Attacker Ranged Hit Chance" },
1385 { AURA_TYPE_MOD_ATTACKER_SPELL_HIT_CHANCE, "Mod Attacker Spell Hit Chance" },
1386 { AURA_TYPE_MOD_ATTACKER_MELEE_CRIT_CHANCE, "Mod Attacker Melee Crit Chance" },
1387 { AURA_TYPE_MOD_ATTACKER_RANGED_CRIT_CHANCE, "Mod Attacker Ranged Crit Chance" },
1388 { AURA_TYPE_MOD_RATING, "Mod Rating" },
1389 { AURA_TYPE_MOD_FACTION_REPUTATION_GAIN, "Mod Faction Reputation Gain" },
1390 { AURA_TYPE_USE_NORMAL_MOVEMENT_SPEED, "Use Normal Movement Speed" },
1391 { 0, NULL }
1394 typedef enum {
1395 SPELL_SCHOOL_NORMAL = 0x0,
1396 SPELL_SCHOOL_HOLY = 0x1,
1397 SPELL_SCHOOL_FIRE = 0x2,
1398 SPELL_SCHOOL_NATURE = 0x3,
1399 SPELL_SCHOOL_FROST = 0x4,
1400 SPELL_SCHOOL_SHADOW = 0x5,
1401 SPELL_SCHOOL_ARCANE = 0x6,
1402 } e_spell_school;
1403 static const value_string e_spell_school_strings[] = {
1404 { SPELL_SCHOOL_NORMAL, "Normal" },
1405 { SPELL_SCHOOL_HOLY, "Holy" },
1406 { SPELL_SCHOOL_FIRE, "Fire" },
1407 { SPELL_SCHOOL_NATURE, "Nature" },
1408 { SPELL_SCHOOL_FROST, "Frost" },
1409 { SPELL_SCHOOL_SHADOW, "Shadow" },
1410 { SPELL_SCHOOL_ARCANE, "Arcane" },
1411 { 0, NULL }
1414 typedef enum {
1415 PVP_RANK_NO_RANK = 0x00,
1416 PVP_RANK_PARIAH = 0x01,
1417 PVP_RANK_OUTLAW = 0x02,
1418 PVP_RANK_EXILED = 0x03,
1419 PVP_RANK_DISHONORED = 0x04,
1420 PVP_RANK_RANK1 = 0x05,
1421 PVP_RANK_RANK2 = 0x06,
1422 PVP_RANK_RANK3 = 0x07,
1423 PVP_RANK_RANK4 = 0x08,
1424 PVP_RANK_RANK5 = 0x09,
1425 PVP_RANK_RANK6 = 0x0A,
1426 PVP_RANK_RANK7 = 0x0B,
1427 PVP_RANK_RANK8 = 0x0C,
1428 PVP_RANK_RANK9 = 0x0D,
1429 PVP_RANK_RANK10 = 0x0E,
1430 PVP_RANK_RANK11 = 0x0F,
1431 PVP_RANK_RANK12 = 0x10,
1432 PVP_RANK_RANK13 = 0x11,
1433 PVP_RANK_RANK14 = 0x12,
1434 PVP_RANK_FACTION_LEADER = 0x13,
1435 } e_pvp_rank;
1436 static const value_string e_pvp_rank_strings[] = {
1437 { PVP_RANK_NO_RANK, "No Rank" },
1438 { PVP_RANK_PARIAH, "Pariah" },
1439 { PVP_RANK_OUTLAW, "Outlaw" },
1440 { PVP_RANK_EXILED, "Exiled" },
1441 { PVP_RANK_DISHONORED, "Dishonored" },
1442 { PVP_RANK_RANK1, "Rank1" },
1443 { PVP_RANK_RANK2, "Rank2" },
1444 { PVP_RANK_RANK3, "Rank3" },
1445 { PVP_RANK_RANK4, "Rank4" },
1446 { PVP_RANK_RANK5, "Rank5" },
1447 { PVP_RANK_RANK6, "Rank6" },
1448 { PVP_RANK_RANK7, "Rank7" },
1449 { PVP_RANK_RANK8, "Rank8" },
1450 { PVP_RANK_RANK9, "Rank9" },
1451 { PVP_RANK_RANK10, "Rank10" },
1452 { PVP_RANK_RANK11, "Rank11" },
1453 { PVP_RANK_RANK12, "Rank12" },
1454 { PVP_RANK_RANK13, "Rank13" },
1455 { PVP_RANK_RANK14, "Rank14" },
1456 { PVP_RANK_FACTION_LEADER, "Faction Leader" },
1457 { 0, NULL }
1460 typedef enum {
1461 RACE_HUMAN = 0x1,
1462 RACE_ORC = 0x2,
1463 RACE_DWARF = 0x3,
1464 RACE_NIGHT_ELF = 0x4,
1465 RACE_UNDEAD = 0x5,
1466 RACE_TAUREN = 0x6,
1467 RACE_GNOME = 0x7,
1468 RACE_TROLL = 0x8,
1469 RACE_GOBLIN = 0x9,
1470 } e_race;
1471 static const value_string e_race_strings[] = {
1472 { RACE_HUMAN, "Human" },
1473 { RACE_ORC, "Orc" },
1474 { RACE_DWARF, "Dwarf" },
1475 { RACE_NIGHT_ELF, "Night Elf" },
1476 { RACE_UNDEAD, "Undead" },
1477 { RACE_TAUREN, "Tauren" },
1478 { RACE_GNOME, "Gnome" },
1479 { RACE_TROLL, "Troll" },
1480 { RACE_GOBLIN, "Goblin" },
1481 { 0, NULL }
1484 typedef enum {
1485 CLASS_WARRIOR = 0x1,
1486 CLASS_PALADIN = 0x2,
1487 CLASS_HUNTER = 0x3,
1488 CLASS_ROGUE = 0x4,
1489 CLASS_PRIEST = 0x5,
1490 CLASS_SHAMAN = 0x7,
1491 CLASS_MAGE = 0x8,
1492 CLASS_WARLOCK = 0x9,
1493 CLASS_DRUID = 0xB,
1494 } e_class;
1495 static const value_string e_class_strings[] = {
1496 { CLASS_WARRIOR, "Warrior" },
1497 { CLASS_PALADIN, "Paladin" },
1498 { CLASS_HUNTER, "Hunter" },
1499 { CLASS_ROGUE, "Rogue" },
1500 { CLASS_PRIEST, "Priest" },
1501 { CLASS_SHAMAN, "Shaman" },
1502 { CLASS_MAGE, "Mage" },
1503 { CLASS_WARLOCK, "Warlock" },
1504 { CLASS_DRUID, "Druid" },
1505 { 0, NULL }
1508 typedef enum {
1509 GENDER_MALE = 0x0,
1510 GENDER_FEMALE = 0x1,
1511 GENDER_NONE = 0x2,
1512 } e_gender;
1513 static const value_string e_gender_strings[] = {
1514 { GENDER_MALE, "Male" },
1515 { GENDER_FEMALE, "Female" },
1516 { GENDER_NONE, "None" },
1517 { 0, NULL }
1520 typedef enum {
1521 AREA_NONE = 0x000,
1522 AREA_DUN_MOROGH = 0x001,
1523 AREA_LONGSHORE = 0x002,
1524 AREA_BADLANDS = 0x003,
1525 AREA_BLASTED_LANDS = 0x004,
1526 AREA_BLACKWATER_COVE = 0x007,
1527 AREA_SWAMP_OF_SORROWS = 0x008,
1528 AREA_NORTHSHIRE_VALLEY = 0x009,
1529 AREA_DUSKWOOD = 0x00A,
1530 AREA_WETLANDS = 0x00B,
1531 AREA_ELWYNN_FOREST = 0x00C,
1532 AREA_THE_WORLD_TREE = 0x00D,
1533 AREA_DUROTAR = 0x00E,
1534 AREA_DUSTWALLOW_MARSH = 0x00F,
1535 AREA_AZSHARA = 0x010,
1536 AREA_THE_BARRENS = 0x011,
1537 AREA_CRYSTAL_LAKE = 0x012,
1538 AREA_ZUL_GURUB0 = 0x013,
1539 AREA_MOONBROOK = 0x014,
1540 AREA_KUL_TIRAS = 0x015,
1541 AREA_PROGRAMMER_ISLE = 0x016,
1542 AREA_NORTHSHIRE_RIVER = 0x017,
1543 AREA_NORTHSHIRE_ABBEY = 0x018,
1544 AREA_BLACKROCK_MOUNTAIN0 = 0x019,
1545 AREA_LIGHTHOUSE = 0x01A,
1546 AREA_WESTERN_PLAGUELANDS = 0x01C,
1547 AREA_NINE = 0x01E,
1548 AREA_THE_CEMETARY = 0x020,
1549 AREA_STRANGLETHORN_VALE = 0x021,
1550 AREA_ECHO_RIDGE_MINE = 0x022,
1551 AREA_BOOTY_BAY = 0x023,
1552 AREA_ALTERAC_MOUNTAINS = 0x024,
1553 AREA_LAKE_NAZFERITI = 0x025,
1554 AREA_LOCH_MODAN = 0x026,
1555 AREA_WESTFALL0 = 0x028,
1556 AREA_DEADWIND_PASS = 0x029,
1557 AREA_DARKSHIRE = 0x02A,
1558 AREA_WILD_SHORE = 0x02B,
1559 AREA_REDRIDGE_MOUNTAINS = 0x02C,
1560 AREA_ARATHI_HIGHLANDS = 0x02D,
1561 AREA_BURNING_STEPPES = 0x02E,
1562 AREA_THE_HINTERLANDS = 0x02F,
1563 AREA_DEAD_MANS_HOLE = 0x031,
1564 AREA_SEARING_GORGE = 0x033,
1565 AREA_THIEVES_CAMP = 0x035,
1566 AREA_JASPERLODE_MINE = 0x036,
1567 AREA_VALLEY_OF_HEROES_UNUSED = 0x037,
1568 AREA_HEROES_VIGIL = 0x038,
1569 AREA_FARGODEEP_MINE = 0x039,
1570 AREA_NORTHSHIRE_VINEYARDS = 0x03B,
1571 AREA_FORESTS_EDGE = 0x03C,
1572 AREA_THUNDER_FALLS = 0x03D,
1573 AREA_BRACKWELL_PUMPKIN_PATCH = 0x03E,
1574 AREA_THE_STONEFIELD_FARM = 0x03F,
1575 AREA_THE_MACLURE_VINEYARDS = 0x040,
1576 AREA_ON_MAP_DUNGEON0 = 0x041,
1577 AREA_ON_MAP_DUNGEON1 = 0x042,
1578 AREA_ON_MAP_DUNGEON2 = 0x043,
1579 AREA_LAKE_EVERSTILL = 0x044,
1580 AREA_LAKESHIRE = 0x045,
1581 AREA_STONEWATCH = 0x046,
1582 AREA_STONEWATCH_FALLS = 0x047,
1583 AREA_THE_DARK_PORTAL = 0x048,
1584 AREA_THE_TAINTED_SCAR = 0x049,
1585 AREA_POOL_OF_TEARS = 0x04A,
1586 AREA_STONARD = 0x04B,
1587 AREA_FALLOW_SANCTUARY = 0x04C,
1588 AREA_ANVILMAR = 0x04D,
1589 AREA_STORMWIND_MOUNTAINS = 0x050,
1590 AREA_JEFF_NE_QUADRANT_CHANGED = 0x051,
1591 AREA_JEFF_NW_QUADRANT = 0x052,
1592 AREA_JEFF_SE_QUADRANT = 0x053,
1593 AREA_JEFF_SW_QUADRANT = 0x054,
1594 AREA_TIRISFAL_GLADES = 0x055,
1595 AREA_STONE_CAIRN_LAKE = 0x056,
1596 AREA_GOLDSHIRE = 0x057,
1597 AREA_EASTVALE_LOGGING_CAMP = 0x058,
1598 AREA_MIRROR_LAKE_ORCHARD = 0x059,
1599 AREA_TOWER_OF_AZORA = 0x05B,
1600 AREA_MIRROR_LAKE = 0x05C,
1601 AREA_VUL_GOL_OGRE_MOUND = 0x05D,
1602 AREA_RAVEN_HILL = 0x05E,
1603 AREA_REDRIDGE_CANYONS = 0x05F,
1604 AREA_TOWER_OF_ILGALAR = 0x060,
1605 AREA_ALTHERS_MILL = 0x061,
1606 AREA_RETHBAN_CAVERNS = 0x062,
1607 AREA_REBEL_CAMP = 0x063,
1608 AREA_NESINGWARYS_EXPEDITION = 0x064,
1609 AREA_KURZENS_COMPOUND = 0x065,
1610 AREA_RUINS_OF_ZUL_KUNDA = 0x066,
1611 AREA_RUINS_OF_ZUL_MAMWE = 0x067,
1612 AREA_THE_VILE_REEF = 0x068,
1613 AREA_MOSH_OGG_OGRE_MOUND = 0x069,
1614 AREA_THE_STOCKPILE = 0x06A,
1615 AREA_SALDEANS_FARM = 0x06B,
1616 AREA_SENTINEL_HILL = 0x06C,
1617 AREA_FURLBROWS_PUMPKIN_FARM = 0x06D,
1618 AREA_JANGOLODE_MINE = 0x06F,
1619 AREA_GOLD_COAST_QUARRY = 0x071,
1620 AREA_WESTFALL_LIGHTHOUSE = 0x073,
1621 AREA_MISTY_VALLEY = 0x074,
1622 AREA_GROM_GOL_BASE_CAMP = 0x075,
1623 AREA_WHELGARS_EXCAVATION_SITE = 0x076,
1624 AREA_WESTBROOK_GARRISON = 0x078,
1625 AREA_TRANQUIL_GARDENS_CEMETERY = 0x079,
1626 AREA_ZUULDAIA_RUINS = 0x07A,
1627 AREA_BAL_LAL_RUINS = 0x07B,
1628 AREA_KAL_AI_RUINS = 0x07D,
1629 AREA_TKASHI_RUINS = 0x07E,
1630 AREA_BALIA_MAH_RUINS = 0x07F,
1631 AREA_ZIATAJAI_RUINS = 0x080,
1632 AREA_MIZJAH_RUINS = 0x081,
1633 AREA_SILVERPINE_FOREST = 0x082,
1634 AREA_KHARANOS = 0x083,
1635 AREA_COLDRIDGE_VALLEY = 0x084,
1636 AREA_GNOMEREGAN0 = 0x085,
1637 AREA_GOL_BOLAR_QUARRY = 0x086,
1638 AREA_FROSTMANE_HOLD = 0x087,
1639 AREA_THE_GRIZZLED_DEN = 0x088,
1640 AREA_BREWNALL_VILLAGE = 0x089,
1641 AREA_MISTY_PINE_REFUGE = 0x08A,
1642 AREA_EASTERN_PLAGUELANDS = 0x08B,
1643 AREA_TELDRASSIL = 0x08D,
1644 AREA_IRONBANDS_EXCAVATION_SITE = 0x08E,
1645 AREA_MO_GROSH_STRONGHOLD = 0x08F,
1646 AREA_THELSAMAR = 0x090,
1647 AREA_ALGAZ_GATE = 0x091,
1648 AREA_STONEWROUGHT_DAM = 0x092,
1649 AREA_THE_FARSTRIDER_LODGE = 0x093,
1650 AREA_DARKSHORE = 0x094,
1651 AREA_SILVER_STREAM_MINE = 0x095,
1652 AREA_MENETHIL_HARBOR = 0x096,
1653 AREA_DESIGNER_ISLAND = 0x097,
1654 AREA_THE_BULWARK0 = 0x098,
1655 AREA_RUINS_OF_LORDAERON = 0x099,
1656 AREA_DEATHKNELL = 0x09A,
1657 AREA_NIGHT_WEBS_HOLLOW = 0x09B,
1658 AREA_SOLLIDEN_FARMSTEAD = 0x09C,
1659 AREA_AGAMAND_MILLS = 0x09D,
1660 AREA_AGAMAND_FAMILY_CRYPT = 0x09E,
1661 AREA_BRILL = 0x09F,
1662 AREA_WHISPERING_GARDENS = 0x0A0,
1663 AREA_TERRACE_OF_REPOSE = 0x0A1,
1664 AREA_BRIGHTWATER_LAKE = 0x0A2,
1665 AREA_GUNTHERS_RETREAT = 0x0A3,
1666 AREA_GARRENS_HAUNT = 0x0A4,
1667 AREA_BALNIR_FARMSTEAD = 0x0A5,
1668 AREA_COLD_HEARTH_MANOR = 0x0A6,
1669 AREA_CRUSADER_OUTPOST = 0x0A7,
1670 AREA_THE_NORTH_COAST = 0x0A8,
1671 AREA_WHISPERING_SHORE = 0x0A9,
1672 AREA_LORDAMERE_LAKE0 = 0x0AA,
1673 AREA_FENRIS_ISLE = 0x0AC,
1674 AREA_FAOLS_REST = 0x0AD,
1675 AREA_DOLANAAR = 0x0BA,
1676 AREA_DARNASSUS_UNUSED = 0x0BB,
1677 AREA_SHADOWGLEN = 0x0BC,
1678 AREA_STEELGRILLS_DEPOT = 0x0BD,
1679 AREA_HEARTHGLEN = 0x0BE,
1680 AREA_NORTHRIDGE_LUMBER_CAMP = 0x0C0,
1681 AREA_RUINS_OF_ANDORHAL = 0x0C1,
1682 AREA_SCHOOL_OF_NECROMANCY = 0x0C3,
1683 AREA_UTHERS_TOMB = 0x0C4,
1684 AREA_SORROW_HILL = 0x0C5,
1685 AREA_THE_WEEPING_CAVE = 0x0C6,
1686 AREA_FELSTONE_FIELD = 0x0C7,
1687 AREA_DALSONS_TEARS = 0x0C8,
1688 AREA_GAHRRONS_WITHERING = 0x0C9,
1689 AREA_THE_WRITHING_HAUNT = 0x0CA,
1690 AREA_MARDENHOLDE_KEEP = 0x0CB,
1691 AREA_PYREWOOD_VILLAGE = 0x0CC,
1692 AREA_DUN_MODR = 0x0CD,
1693 AREA_WESTFALL1 = 0x0CE,
1694 AREA_THE_GREAT_SEA0 = 0x0CF,
1695 AREA_UNUSED_IRONCLADCOVE = 0x0D0,
1696 AREA_SHADOWFANG_KEEP0 = 0x0D1,
1697 AREA_ON_MAP_DUNGEON3 = 0x0D2,
1698 AREA_ICEFLOW_LAKE = 0x0D3,
1699 AREA_HELMS_BED_LAKE = 0x0D4,
1700 AREA_DEEP_ELEM_MINE = 0x0D5,
1701 AREA_THE_GREAT_SEA1 = 0x0D6,
1702 AREA_MULGORE = 0x0D7,
1703 AREA_ALEXSTON_FARMSTEAD = 0x0DB,
1704 AREA_RED_CLOUD_MESA = 0x0DC,
1705 AREA_CAMP_NARACHE = 0x0DD,
1706 AREA_BLOODHOOF_VILLAGE = 0x0DE,
1707 AREA_STONEBULL_LAKE = 0x0DF,
1708 AREA_RAVAGED_CARAVAN = 0x0E0,
1709 AREA_RED_ROCKS = 0x0E1,
1710 AREA_THE_SKITTERING_DARK = 0x0E2,
1711 AREA_VALGANS_FIELD = 0x0E3,
1712 AREA_THE_SEPULCHER = 0x0E4,
1713 AREA_OLSENS_FARTHING = 0x0E5,
1714 AREA_THE_GREYMANE_WALL = 0x0E6,
1715 AREA_BERENS_PERIL = 0x0E7,
1716 AREA_THE_DAWNING_ISLES = 0x0E8,
1717 AREA_AMBERMILL = 0x0E9,
1718 AREA_FENRIS_KEEP = 0x0EB,
1719 AREA_SHADOWFANG_KEEP1 = 0x0EC,
1720 AREA_THE_DECREPIT_FERRY = 0x0ED,
1721 AREA_MALDENS_ORCHARD = 0x0EE,
1722 AREA_THE_IVAR_PATCH = 0x0EF,
1723 AREA_THE_DEAD_FIELD = 0x0F0,
1724 AREA_THE_ROTTING_ORCHARD = 0x0F1,
1725 AREA_BRIGHTWOOD_GROVE = 0x0F2,
1726 AREA_FORLORN_ROWE = 0x0F3,
1727 AREA_THE_WHIPPLE_ESTATE = 0x0F4,
1728 AREA_THE_YORGEN_FARMSTEAD = 0x0F5,
1729 AREA_THE_CAULDRON = 0x0F6,
1730 AREA_GRIMESILT_DIG_SITE = 0x0F7,
1731 AREA_DREADMAUL_ROCK = 0x0F9,
1732 AREA_RUINS_OF_THAURISSAN = 0x0FA,
1733 AREA_FLAME_CREST = 0x0FB,
1734 AREA_BLACKROCK_STRONGHOLD = 0x0FC,
1735 AREA_THE_PILLAR_OF_ASH = 0x0FD,
1736 AREA_BLACKROCK_MOUNTAIN1 = 0x0FE,
1737 AREA_ALTAR_OF_STORMS0 = 0x0FF,
1738 AREA_ALDRASSIL = 0x100,
1739 AREA_SHADOWTHREAD_CAVE = 0x101,
1740 AREA_FEL_ROCK = 0x102,
1741 AREA_LAKE_AL_AMETH = 0x103,
1742 AREA_STARBREEZE_VILLAGE = 0x104,
1743 AREA_GNARLPINE_HOLD = 0x105,
1744 AREA_BAN_ETHIL_BARROW_DEN = 0x106,
1745 AREA_THE_CLEFT = 0x107,
1746 AREA_THE_ORACLE_GLADE = 0x108,
1747 AREA_WELLSPRING_RIVER = 0x109,
1748 AREA_WELLSPRING_LAKE = 0x10A,
1749 AREA_HILLSBRAD_FOOTHILLS = 0x10B,
1750 AREA_AZSHARA_CRATER = 0x10C,
1751 AREA_DUN_ALGAZ0 = 0x10D,
1752 AREA_SOUTHSHORE0 = 0x10F,
1753 AREA_TARREN_MILL0 = 0x110,
1754 AREA_DURNHOLDE_KEEP0 = 0x113,
1755 AREA_UNUSED_STONEWROUGHT_PASS = 0x114,
1756 AREA_THE_FOOTHILL_CAVERNS = 0x115,
1757 AREA_LORDAMERE_INTERNMENT_CAMP = 0x116,
1758 AREA_DALARAN = 0x117,
1759 AREA_STRAHNBRAD = 0x118,
1760 AREA_RUINS_OF_ALTERAC = 0x119,
1761 AREA_CRUSHRIDGE_HOLD = 0x11A,
1762 AREA_SLAUGHTER_HOLLOW = 0x11B,
1763 AREA_THE_UPLANDS = 0x11C,
1764 AREA_SOUTHPOINT_TOWER0 = 0x11D,
1765 AREA_HILLSBRAD_FIELDS0 = 0x11E,
1766 AREA_HILLSBRAD = 0x11F,
1767 AREA_AZURELODE_MINE0 = 0x120,
1768 AREA_NETHANDER_STEAD0 = 0x121,
1769 AREA_DUN_GAROK0 = 0x122,
1770 AREA_THORADINS_WALL0 = 0x125,
1771 AREA_EASTERN_STRAND0 = 0x126,
1772 AREA_WESTERN_STRAND0 = 0x127,
1773 AREA_SOUTH_SEAS_UNUSED = 0x128,
1774 AREA_JAGUERO_ISLE = 0x129,
1775 AREA_BARADIN_BAY = 0x12A,
1776 AREA_MENETHIL_BAY = 0x12B,
1777 AREA_MISTY_REED_STRAND = 0x12C,
1778 AREA_THE_SAVAGE_COAST = 0x12D,
1779 AREA_THE_CRYSTAL_SHORE = 0x12E,
1780 AREA_SHELL_BEACH = 0x12F,
1781 AREA_NORTH_TIDES_RUN = 0x131,
1782 AREA_SOUTH_TIDES_RUN = 0x132,
1783 AREA_THE_OVERLOOK_CLIFFS = 0x133,
1784 AREA_THE_FORBIDDING_SEA0 = 0x134,
1785 AREA_IRONBEARDS_TOMB = 0x135,
1786 AREA_CRYSTALVEIN_MINE = 0x136,
1787 AREA_RUINS_OF_ABORAZ = 0x137,
1788 AREA_JANEIROS_POINT = 0x138,
1789 AREA_NORTHFOLD_MANOR = 0x139,
1790 AREA_GO_SHEK_FARM = 0x13A,
1791 AREA_DABYRIES_FARMSTEAD = 0x13B,
1792 AREA_BOULDERFIST_HALL = 0x13C,
1793 AREA_WITHERBARK_VILLAGE = 0x13D,
1794 AREA_DRYWHISKER_GORGE = 0x13E,
1795 AREA_REFUGE_POINTE = 0x140,
1796 AREA_HAMMERFALL = 0x141,
1797 AREA_BLACKWATER_SHIPWRECKS = 0x142,
1798 AREA_O_BREENS_CAMP = 0x143,
1799 AREA_STROMGARDE_KEEP = 0x144,
1800 AREA_THE_TOWER_OF_ARATHOR = 0x145,
1801 AREA_THE_SANCTUM = 0x146,
1802 AREA_FALDIRS_COVE = 0x147,
1803 AREA_THE_DROWNED_REEF = 0x148,
1804 AREA_THANDOL_SPAN0 = 0x14A,
1805 AREA_ASHENVALE = 0x14B,
1806 AREA_THE_GREAT_SEA2 = 0x14C,
1807 AREA_CIRCLE_OF_EAST_BINDING = 0x14D,
1808 AREA_CIRCLE_OF_WEST_BINDING = 0x14E,
1809 AREA_CIRCLE_OF_INNER_BINDING = 0x14F,
1810 AREA_CIRCLE_OF_OUTER_BINDING = 0x150,
1811 AREA_APOCRYPHANS_REST = 0x151,
1812 AREA_ANGOR_FORTRESS = 0x152,
1813 AREA_LETHLOR_RAVINE = 0x153,
1814 AREA_KARGATH = 0x154,
1815 AREA_CAMP_KOSH = 0x155,
1816 AREA_CAMP_BOFF = 0x156,
1817 AREA_CAMP_WURG = 0x157,
1818 AREA_CAMP_CAGG = 0x158,
1819 AREA_AGMONDS_END = 0x159,
1820 AREA_HAMMERTOES_DIGSITE = 0x15A,
1821 AREA_DUSTBELCH_GROTTO = 0x15B,
1822 AREA_AERIE_PEAK = 0x15C,
1823 AREA_WILDHAMMER_KEEP = 0x15D,
1824 AREA_QUEL_DANIL_LODGE = 0x15E,
1825 AREA_SKULK_ROCK = 0x15F,
1826 AREA_ZUN_WATHA = 0x160,
1827 AREA_SHADRA_ALOR = 0x161,
1828 AREA_JINTHA_ALOR = 0x162,
1829 AREA_THE_ALTAR_OF_ZUL = 0x163,
1830 AREA_SERADANE = 0x164,
1831 AREA_FERALAS = 0x165,
1832 AREA_BRAMBLEBLADE_RAVINE = 0x166,
1833 AREA_BAEL_MODAN = 0x167,
1834 AREA_THE_VENTURE_CO_MINE = 0x168,
1835 AREA_FELWOOD = 0x169,
1836 AREA_RAZOR_HILL = 0x16A,
1837 AREA_VALLEY_OF_TRIALS = 0x16B,
1838 AREA_THE_DEN = 0x16C,
1839 AREA_BURNING_BLADE_COVEN = 0x16D,
1840 AREA_KOLKAR_CRAG = 0x16E,
1841 AREA_SEN_JIN_VILLAGE = 0x16F,
1842 AREA_ECHO_ISLES = 0x170,
1843 AREA_THUNDER_RIDGE = 0x171,
1844 AREA_DRYGULCH_RAVINE = 0x172,
1845 AREA_DUSTWIND_CAVE = 0x173,
1846 AREA_TIRAGARDE_KEEP = 0x174,
1847 AREA_SCUTTLE_COAST = 0x175,
1848 AREA_BLADEFIST_BAY = 0x176,
1849 AREA_DEADEYE_SHORE = 0x177,
1850 AREA_SOUTHFURY_RIVER0 = 0x179,
1851 AREA_CAMP_TAURAJO = 0x17A,
1852 AREA_FAR_WATCH_POST = 0x17B,
1853 AREA_THE_CROSSROADS = 0x17C,
1854 AREA_BOULDER_LODE_MINE = 0x17D,
1855 AREA_THE_SLUDGE_FEN = 0x17E,
1856 AREA_THE_DRY_HILLS = 0x17F,
1857 AREA_DREADMIST_PEAK = 0x180,
1858 AREA_NORTHWATCH_HOLD = 0x181,
1859 AREA_THE_FORGOTTEN_POOLS = 0x182,
1860 AREA_LUSHWATER_OASIS = 0x183,
1861 AREA_THE_STAGNANT_OASIS = 0x184,
1862 AREA_FIELD_OF_GIANTS = 0x186,
1863 AREA_THE_MERCHANT_COAST = 0x187,
1864 AREA_RATCHET = 0x188,
1865 AREA_DARKSPEAR_STRAND = 0x189,
1866 AREA_DARROWMERE_LAKE_UNUSED = 0x18A,
1867 AREA_CAER_DARROW_UNUSED = 0x18B,
1868 AREA_WINTERHOOF_WATER_WELL = 0x18C,
1869 AREA_THUNDERHORN_WATER_WELL = 0x18D,
1870 AREA_WILDMANE_WATER_WELL = 0x18E,
1871 AREA_SKYLINE_RIDGE = 0x18F,
1872 AREA_THOUSAND_NEEDLES = 0x190,
1873 AREA_THE_TIDUS_STAIR = 0x191,
1874 AREA_SHADY_REST_INN = 0x193,
1875 AREA_BAEL_DUN_DIGSITE = 0x194,
1876 AREA_DESOLACE = 0x195,
1877 AREA_STONETALON_MOUNTAINS = 0x196,
1878 AREA_ORGRIMMAR_UNUSED = 0x197,
1879 AREA_GILLIJIMS_ISLE = 0x198,
1880 AREA_ISLAND_OF_DOCTOR_LAPIDIS = 0x199,
1881 AREA_RAZORWIND_CANYON = 0x19A,
1882 AREA_BATHRANS_HAUNT = 0x19B,
1883 AREA_THE_RUINS_OF_ORDIL_ARAN = 0x19C,
1884 AREA_MAESTRAS_POST = 0x19D,
1885 AREA_THE_ZORAM_STRAND = 0x19E,
1886 AREA_ASTRANAAR = 0x19F,
1887 AREA_THE_SHRINE_OF_AESSINA = 0x1A0,
1888 AREA_FIRE_SCAR_SHRINE = 0x1A1,
1889 AREA_THE_RUINS_OF_STARDUST = 0x1A2,
1890 AREA_THE_HOWLING_VALE = 0x1A3,
1891 AREA_SILVERWIND_REFUGE = 0x1A4,
1892 AREA_MYSTRAL_LAKE = 0x1A5,
1893 AREA_FALLEN_SKY_LAKE = 0x1A6,
1894 AREA_IRIS_LAKE = 0x1A8,
1895 AREA_MOONWELL = 0x1A9,
1896 AREA_RAYNEWOOD_RETREAT = 0x1AA,
1897 AREA_THE_SHADY_NOOK = 0x1AB,
1898 AREA_NIGHT_RUN = 0x1AC,
1899 AREA_XAVIAN = 0x1AD,
1900 AREA_SATYRNAAR = 0x1AE,
1901 AREA_SPLINTERTREE_POST = 0x1AF,
1902 AREA_THE_DOR_DANIL_BARROW_DEN = 0x1B0,
1903 AREA_FALFARREN_RIVER = 0x1B1,
1904 AREA_FELFIRE_HILL = 0x1B2,
1905 AREA_DEMON_FALL_CANYON = 0x1B3,
1906 AREA_DEMON_FALL_RIDGE = 0x1B4,
1907 AREA_WARSONG_LUMBER_CAMP = 0x1B5,
1908 AREA_BOUGH_SHADOW = 0x1B6,
1909 AREA_THE_SHIMMERING_FLATS = 0x1B7,
1910 AREA_TANARIS = 0x1B8,
1911 AREA_LAKE_FALATHIM = 0x1B9,
1912 AREA_AUBERDINE = 0x1BA,
1913 AREA_RUINS_OF_MATHYSTRA = 0x1BB,
1914 AREA_TOWER_OF_ALTHALAXX = 0x1BC,
1915 AREA_CLIFFSPRING_FALLS = 0x1BD,
1916 AREA_BASHAL_ARAN = 0x1BE,
1917 AREA_AMETH_ARAN = 0x1BF,
1918 AREA_GROVE_OF_THE_ANCIENTS = 0x1C0,
1919 AREA_THE_MASTERS_GLAIVE = 0x1C1,
1920 AREA_REMTRAVELS_EXCAVATION = 0x1C2,
1921 AREA_MISTS_EDGE = 0x1C4,
1922 AREA_THE_LONG_WASH = 0x1C5,
1923 AREA_WILDBEND_RIVER = 0x1C6,
1924 AREA_BLACKWOOD_DEN = 0x1C7,
1925 AREA_CLIFFSPRING_RIVER = 0x1C8,
1926 AREA_THE_VEILED_SEA0 = 0x1C9,
1927 AREA_GOLD_ROAD = 0x1CA,
1928 AREA_SCARLET_WATCH_POST = 0x1CB,
1929 AREA_SUN_ROCK_RETREAT = 0x1CC,
1930 AREA_WINDSHEAR_CRAG = 0x1CD,
1931 AREA_CRAGPOOL_LAKE = 0x1CF,
1932 AREA_MIRKFALLON_LAKE = 0x1D0,
1933 AREA_THE_CHARRED_VALE = 0x1D1,
1934 AREA_VALLEY_OF_THE_BLOODFURIES = 0x1D2,
1935 AREA_STONETALON_PEAK = 0x1D3,
1936 AREA_THE_TALON_DEN = 0x1D4,
1937 AREA_GREATWOOD_VALE = 0x1D5,
1938 AREA_THUNDER_BLUFF_UNUSED = 0x1D6,
1939 AREA_BRAVE_WIND_MESA = 0x1D7,
1940 AREA_FIRE_STONE_MESA = 0x1D8,
1941 AREA_MANTLE_ROCK = 0x1D9,
1942 AREA_HUNTER_RISE_UNUSED = 0x1DA,
1943 AREA_SPIRIT_RISE_UNUSED = 0x1DB,
1944 AREA_ELDER_RISE_UNUSED = 0x1DC,
1945 AREA_RUINS_OF_JUBUWAL = 0x1DD,
1946 AREA_POOLS_OF_ARLITHRIEN = 0x1DE,
1947 AREA_THE_RUSTMAUL_DIG_SITE = 0x1DF,
1948 AREA_CAMP_E_THOK = 0x1E0,
1949 AREA_SPLITHOOF_CRAG = 0x1E1,
1950 AREA_HIGHPERCH = 0x1E2,
1951 AREA_THE_SCREECHING_CANYON = 0x1E3,
1952 AREA_FREEWIND_POST = 0x1E4,
1953 AREA_THE_GREAT_LIFT0 = 0x1E5,
1954 AREA_GALAK_HOLD = 0x1E6,
1955 AREA_ROGUEFEATHER_DEN = 0x1E7,
1956 AREA_THE_WEATHERED_NOOK = 0x1E8,
1957 AREA_THALANAAR = 0x1E9,
1958 AREA_UN_GORO_CRATER = 0x1EA,
1959 AREA_RAZORFEN_KRAUL0 = 0x1EB,
1960 AREA_RAVEN_HILL_CEMETERY = 0x1EC,
1961 AREA_MOONGLADE = 0x1ED,
1962 AREA_DELETE_ME0 = 0x1EF,
1963 AREA_BRACKENWALL_VILLAGE = 0x1F0,
1964 AREA_SWAMPLIGHT_MANOR = 0x1F1,
1965 AREA_BLOODFEN_BURROW = 0x1F2,
1966 AREA_DARKMIST_CAVERN = 0x1F3,
1967 AREA_MOGGLE_POINT = 0x1F4,
1968 AREA_BEEZILS_WRECK = 0x1F5,
1969 AREA_WITCH_HILL = 0x1F6,
1970 AREA_SENTRY_POINT = 0x1F7,
1971 AREA_NORTH_POINT_TOWER = 0x1F8,
1972 AREA_WEST_POINT_TOWER = 0x1F9,
1973 AREA_LOST_POINT = 0x1FA,
1974 AREA_BLUEFEN = 0x1FB,
1975 AREA_STONEMAUL_RUINS = 0x1FC,
1976 AREA_THE_DEN_OF_FLAME = 0x1FD,
1977 AREA_THE_DRAGONMURK = 0x1FE,
1978 AREA_WYRMBOG = 0x1FF,
1979 AREA_ONYXIAS_LAIR_UNUSED = 0x200,
1980 AREA_THERAMORE_ISLE = 0x201,
1981 AREA_FOOTHOLD_CITADEL = 0x202,
1982 AREA_IRONCLAD_PRISON = 0x203,
1983 AREA_DUSTWALLOW_BAY = 0x204,
1984 AREA_TIDEFURY_COVE = 0x205,
1985 AREA_DREADMURK_SHORE = 0x206,
1986 AREA_ADDLES_STEAD = 0x218,
1987 AREA_FIRE_PLUME_RIDGE = 0x219,
1988 AREA_LAKKARI_TAR_PITS = 0x21A,
1989 AREA_TERROR_RUN = 0x21B,
1990 AREA_THE_SLITHERING_SCAR = 0x21C,
1991 AREA_MARSHALS_REFUGE = 0x21D,
1992 AREA_FUNGAL_ROCK = 0x21E,
1993 AREA_GOLAKKA_HOT_SPRINGS = 0x21F,
1994 AREA_THE_LOCH = 0x22C,
1995 AREA_BEGGARS_HAUNT = 0x240,
1996 AREA_KODO_GRAVEYARD = 0x254,
1997 AREA_GHOST_WALKER_POST = 0x255,
1998 AREA_SAR_THERIS_STRAND = 0x256,
1999 AREA_THUNDER_AXE_FORTRESS = 0x257,
2000 AREA_BOLGANS_HOLE = 0x258,
2001 AREA_MANNOROC_COVEN = 0x25A,
2002 AREA_SARGERON = 0x25B,
2003 AREA_MAGRAM_VILLAGE = 0x25C,
2004 AREA_GELKIS_VILLAGE = 0x25E,
2005 AREA_VALLEY_OF_SPEARS = 0x25F,
2006 AREA_NIJELS_POINT = 0x260,
2007 AREA_KOLKAR_VILLAGE = 0x261,
2008 AREA_HYJAL = 0x268,
2009 AREA_WINTERSPRING = 0x26A,
2010 AREA_BLACKWOLF_RIVER = 0x27C,
2011 AREA_KODO_ROCK = 0x27D,
2012 AREA_HIDDEN_PATH = 0x27E,
2013 AREA_SPIRIT_ROCK = 0x27F,
2014 AREA_SHRINE_OF_THE_DORMANT_FLAME = 0x280,
2015 AREA_LAKE_ELUNE_ARA = 0x290,
2016 AREA_THE_HARBORAGE = 0x291,
2017 AREA_OUTLAND = 0x2A4,
2018 AREA_CRAFTSMENS_TERRACE_UNUSED = 0x2B8,
2019 AREA_TRADESMENS_TERRACE_UNUSED = 0x2B9,
2020 AREA_THE_TEMPLE_GARDENS_UNUSED = 0x2BA,
2021 AREA_TEMPLE_OF_ELUNE_UNUSED = 0x2BB,
2022 AREA_CENARION_ENCLAVE_UNUSED = 0x2BC,
2023 AREA_WARRIORS_TERRACE_UNUSED = 0x2BD,
2024 AREA_RUT_THERAN_VILLAGE = 0x2BE,
2025 AREA_IRONBANDS_COMPOUND = 0x2CC,
2026 AREA_THE_STOCKADE = 0x2CD,
2027 AREA_WAILING_CAVERNS = 0x2CE,
2028 AREA_BLACKFATHOM_DEEPS0 = 0x2CF,
2029 AREA_FRAY_ISLAND = 0x2D0,
2030 AREA_GNOMEREGAN1 = 0x2D1,
2031 AREA_RAZORFEN_DOWNS0 = 0x2D2,
2032 AREA_BAN_ETHIL_HOLLOW = 0x2E0,
2033 AREA_SCARLET_MONASTERY = 0x31C,
2034 AREA_JERODS_LANDING = 0x31D,
2035 AREA_RIDGEPOINT_TOWER = 0x31E,
2036 AREA_THE_DARKENED_BANK = 0x31F,
2037 AREA_COLDRIDGE_PASS = 0x320,
2038 AREA_CHILL_BREEZE_VALLEY = 0x321,
2039 AREA_SHIMMER_RIDGE = 0x322,
2040 AREA_AMBERSTILL_RANCH = 0x323,
2041 AREA_THE_TUNDRID_HILLS = 0x324,
2042 AREA_SOUTH_GATE_PASS0 = 0x325,
2043 AREA_SOUTH_GATE_OUTPOST = 0x326,
2044 AREA_NORTH_GATE_PASS0 = 0x327,
2045 AREA_NORTH_GATE_OUTPOST = 0x328,
2046 AREA_GATES_OF_IRONFORGE = 0x329,
2047 AREA_STILLWATER_POND = 0x32A,
2048 AREA_NIGHTMARE_VALE = 0x32B,
2049 AREA_VENOMWEB_VALE = 0x32C,
2050 AREA_THE_BULWARK1 = 0x32D,
2051 AREA_SOUTHFURY_RIVER1 = 0x32E,
2052 AREA_SOUTHFURY_RIVER2 = 0x32F,
2053 AREA_RAZORMANE_GROUNDS = 0x330,
2054 AREA_SKULL_ROCK = 0x331,
2055 AREA_PALEMANE_ROCK = 0x332,
2056 AREA_WINDFURY_RIDGE = 0x333,
2057 AREA_THE_GOLDEN_PLAINS = 0x334,
2058 AREA_THE_ROLLING_PLAINS = 0x335,
2059 AREA_DUN_ALGAZ1 = 0x344,
2060 AREA_DUN_ALGAZ2 = 0x345,
2061 AREA_NORTH_GATE_PASS1 = 0x346,
2062 AREA_SOUTH_GATE_PASS1 = 0x347,
2063 AREA_TWILIGHT_GROVE = 0x358,
2064 AREA_GM_ISLAND = 0x36C,
2065 AREA_DELETE_ME1 = 0x36D,
2066 AREA_SOUTHFURY_RIVER3 = 0x36E,
2067 AREA_SOUTHFURY_RIVER4 = 0x36F,
2068 AREA_THANDOL_SPAN1 = 0x370,
2069 AREA_THANDOL_SPAN2 = 0x371,
2070 AREA_PURGATION_ISLE = 0x380,
2071 AREA_THE_JANSEN_STEAD = 0x394,
2072 AREA_THE_DEAD_ACRE = 0x395,
2073 AREA_THE_MOLSEN_FARM = 0x396,
2074 AREA_STENDELS_POND = 0x397,
2075 AREA_THE_DAGGER_HILLS = 0x398,
2076 AREA_DEMONTS_PLACE = 0x399,
2077 AREA_THE_DUST_PLAINS = 0x39A,
2078 AREA_STONESPLINTER_VALLEY = 0x39B,
2079 AREA_VALLEY_OF_KINGS = 0x39C,
2080 AREA_ALGAZ_STATION = 0x39D,
2081 AREA_BUCKLEBREE_FARM = 0x39E,
2082 AREA_THE_SHINING_STRAND = 0x39F,
2083 AREA_NORTH_TIDES_HOLLOW = 0x3A0,
2084 AREA_GRIZZLEPAW_RIDGE = 0x3A8,
2085 AREA_THE_VERDANT_FIELDS = 0x3BC,
2086 AREA_GADGETZAN = 0x3D0,
2087 AREA_STEAMWHEEDLE_PORT = 0x3D1,
2088 AREA_ZUL_FARRAK0 = 0x3D2,
2089 AREA_SANDSORROW_WATCH = 0x3D3,
2090 AREA_THISTLESHRUB_VALLEY = 0x3D4,
2091 AREA_THE_GAPING_CHASM = 0x3D5,
2092 AREA_THE_NOXIOUS_LAIR = 0x3D6,
2093 AREA_DUNEMAUL_COMPOUND = 0x3D7,
2094 AREA_EASTMOON_RUINS = 0x3D8,
2095 AREA_WATERSPRING_FIELD = 0x3D9,
2096 AREA_ZALASHJIS_DEN = 0x3DA,
2097 AREA_LANDS_END_BEACH = 0x3DB,
2098 AREA_WAVESTRIDER_BEACH = 0x3DC,
2099 AREA_ULDUM = 0x3DD,
2100 AREA_VALLEY_OF_THE_WATCHERS = 0x3DE,
2101 AREA_GUNSTANS_POST = 0x3DF,
2102 AREA_SOUTHMOON_RUINS = 0x3E0,
2103 AREA_RENDERS_CAMP = 0x3E4,
2104 AREA_RENDERS_VALLEY = 0x3E5,
2105 AREA_RENDERS_ROCK = 0x3E6,
2106 AREA_STONEWATCH_TOWER = 0x3E7,
2107 AREA_GALARDELL_VALLEY = 0x3E8,
2108 AREA_LAKERIDGE_HIGHWAY = 0x3E9,
2109 AREA_THREE_CORNERS = 0x3EA,
2110 AREA_DIREFORGE_HILL = 0x3F8,
2111 AREA_RAPTOR_RIDGE = 0x3F9,
2112 AREA_BLACK_CHANNEL_MARSH = 0x3FA,
2113 AREA_THE_GREEN_BELT0 = 0x3FB,
2114 AREA_MOSSHIDE_FEN = 0x3FC,
2115 AREA_THELGEN_ROCK = 0x3FD,
2116 AREA_BLUEGILL_MARSH = 0x3FE,
2117 AREA_SALTSPRAY_GLEN = 0x3FF,
2118 AREA_SUNDOWN_MARSH = 0x400,
2119 AREA_THE_GREEN_BELT1 = 0x401,
2120 AREA_ANGERFANG_ENCAMPMENT = 0x40C,
2121 AREA_GRIM_BATOL = 0x40D,
2122 AREA_DRAGONMAW_GATES = 0x40E,
2123 AREA_THE_LOST_FLEET = 0x40F,
2124 AREA_DARROW_HILL0 = 0x420,
2125 AREA_THORADINS_WALL1 = 0x421,
2126 AREA_WEBWINDER_PATH = 0x434,
2127 AREA_THE_HUSHED_BANK = 0x449,
2128 AREA_MANOR_MISTMANTLE = 0x44A,
2129 AREA_CAMP_MOJACHE = 0x44B,
2130 AREA_GRIMTOTEM_COMPOUND = 0x44C,
2131 AREA_THE_WRITHING_DEEP = 0x44D,
2132 AREA_WILDWIND_LAKE = 0x44E,
2133 AREA_GORDUNNI_OUTPOST = 0x44F,
2134 AREA_MOK_GORDUN = 0x450,
2135 AREA_FERAL_SCAR_VALE = 0x451,
2136 AREA_FRAYFEATHER_HIGHLANDS = 0x452,
2137 AREA_IDLEWIND_LAKE = 0x453,
2138 AREA_THE_FORGOTTEN_COAST = 0x454,
2139 AREA_EAST_PILLAR = 0x455,
2140 AREA_WEST_PILLAR = 0x456,
2141 AREA_DREAM_BOUGH = 0x457,
2142 AREA_JADEMIR_LAKE = 0x458,
2143 AREA_ONEIROS = 0x459,
2144 AREA_RUINS_OF_RAVENWIND = 0x45A,
2145 AREA_RAGE_SCAR_HOLD = 0x45B,
2146 AREA_FEATHERMOON_STRONGHOLD = 0x45C,
2147 AREA_RUINS_OF_SOLARSAL = 0x45D,
2148 AREA_LOWER_WILDS_UNUSED = 0x45E,
2149 AREA_THE_TWIN_COLOSSALS = 0x45F,
2150 AREA_SARDOR_ISLE = 0x460,
2151 AREA_ISLE_OF_DREAD = 0x461,
2152 AREA_HIGH_WILDERNESS = 0x470,
2153 AREA_LOWER_WILDS = 0x471,
2154 AREA_SOUTHERN_BARRENS = 0x484,
2155 AREA_SOUTHERN_GOLD_ROAD = 0x485,
2156 AREA_ZUL_FARRAK1 = 0x498,
2157 AREA_UNUSED_ALCAZ_ISLAND = 0x4AC,
2158 AREA_TIMBERMAW_HOLD0 = 0x4C0,
2159 AREA_VANNDIR_ENCAMPMENT = 0x4C1,
2160 AREA_TEST_AZSHARA = 0x4C2,
2161 AREA_LEGASH_ENCAMPMENT = 0x4C3,
2162 AREA_THALASSIAN_BASE_CAMP = 0x4C4,
2163 AREA_RUINS_OF_ELDARATH = 0x4C5,
2164 AREA_HETAERAS_CLUTCH = 0x4C6,
2165 AREA_TEMPLE_OF_ZIN_MALOR = 0x4C7,
2166 AREA_BEARS_HEAD = 0x4C8,
2167 AREA_URSOLAN = 0x4C9,
2168 AREA_TEMPLE_OF_ARKKORAN = 0x4CA,
2169 AREA_BAY_OF_STORMS = 0x4CB,
2170 AREA_THE_SHATTERED_STRAND = 0x4CC,
2171 AREA_TOWER_OF_ELDARA = 0x4CD,
2172 AREA_JAGGED_REEF = 0x4CE,
2173 AREA_SOUTHRIDGE_BEACH = 0x4CF,
2174 AREA_RAVENCREST_MONUMENT = 0x4D0,
2175 AREA_FORLORN_RIDGE = 0x4D1,
2176 AREA_LAKE_MENNAR = 0x4D2,
2177 AREA_SHADOWSONG_SHRINE = 0x4D3,
2178 AREA_HALDARR_ENCAMPMENT = 0x4D4,
2179 AREA_VALORMOK = 0x4D5,
2180 AREA_THE_RUINED_REACHES = 0x4E8,
2181 AREA_THE_TALONDEEP_PATH0 = 0x4FC,
2182 AREA_THE_TALONDEEP_PATH1 = 0x4FD,
2183 AREA_ROCKTUSK_FARM = 0x510,
2184 AREA_JAGGEDSWINE_FARM = 0x511,
2185 AREA_RAZORFEN_DOWNS1 = 0x524,
2186 AREA_LOST_RIGGER_COVE = 0x538,
2187 AREA_ULDAMAN0 = 0x539,
2188 AREA_LORDAMERE_LAKE1 = 0x53A,
2189 AREA_LORDAMERE_LAKE2 = 0x53B,
2190 AREA_GALLOWS_CORNER = 0x54D,
2191 AREA_SILITHUS = 0x561,
2192 AREA_EMERALD_FOREST = 0x575,
2193 AREA_SUNKEN_TEMPLE = 0x589,
2194 AREA_DREADMAUL_HOLD = 0x59D,
2195 AREA_NETHERGARDE_KEEP = 0x59E,
2196 AREA_DREADMAUL_POST = 0x59F,
2197 AREA_SERPENTS_COIL = 0x5A0,
2198 AREA_ALTAR_OF_STORMS1 = 0x5A1,
2199 AREA_FIREWATCH_RIDGE = 0x5A2,
2200 AREA_THE_SLAG_PIT = 0x5A3,
2201 AREA_THE_SEA_OF_CINDERS = 0x5A4,
2202 AREA_BLACKROCK_MOUNTAIN2 = 0x5A5,
2203 AREA_THORIUM_POINT = 0x5A6,
2204 AREA_GARRISON_ARMORY = 0x5B1,
2205 AREA_THE_TEMPLE_OF_ATAL_HAKKAR = 0x5C5,
2206 AREA_UNDERCITY = 0x5D9,
2207 AREA_ULDAMAN1 = 0x5ED,
2208 AREA_NOT_USED_DEADMINES = 0x5EE,
2209 AREA_STORMWIND_CITY = 0x5EF,
2210 AREA_IRONFORGE = 0x601,
2211 AREA_SPLITHOOF_HOLD = 0x615,
2212 AREA_THE_CAPE_OF_STRANGLETHORN = 0x629,
2213 AREA_SOUTHERN_SAVAGE_COAST = 0x62A,
2214 AREA_UNUSED_THE_DEADMINES_002 = 0x62B,
2215 AREA_UNUSED_IRONCLAD_COVE_003 = 0x62C,
2216 AREA_THE_DEADMINES = 0x62D,
2217 AREA_IRONCLAD_COVE = 0x62E,
2218 AREA_BLACKROCK_SPIRE = 0x62F,
2219 AREA_BLACKROCK_DEPTHS = 0x630,
2220 AREA_RAPTOR_GROUNDS_UNUSED = 0x63D,
2221 AREA_GROL_DOM_FARM_UNUSED = 0x63E,
2222 AREA_MORSHAN_BASE_CAMP = 0x63F,
2223 AREA_HONORS_STAND_UNUSED = 0x640,
2224 AREA_BLACKTHORN_RIDGE_UNUSED = 0x641,
2225 AREA_BRAMBLESCAR_UNUSED = 0x642,
2226 AREA_AGAMA_GOR_UNUSED = 0x643,
2227 AREA_VALLEY_OF_HEROES = 0x651,
2228 AREA_ORGRIMMAR = 0x665,
2229 AREA_THUNDER_BLUFF = 0x666,
2230 AREA_ELDER_RISE = 0x667,
2231 AREA_SPIRIT_RISE = 0x668,
2232 AREA_HUNTER_RISE = 0x669,
2233 AREA_DARNASSUS = 0x679,
2234 AREA_CENARION_ENCLAVE = 0x67A,
2235 AREA_CRAFTSMENS_TERRACE = 0x67B,
2236 AREA_WARRIORS_TERRACE = 0x67C,
2237 AREA_THE_TEMPLE_GARDENS = 0x67D,
2238 AREA_TRADESMENS_TERRACE = 0x67E,
2239 AREA_GAVINS_NAZE = 0x68D,
2240 AREA_SOFERAS_NAZE = 0x68E,
2241 AREA_CORRAHNS_DAGGER = 0x68F,
2242 AREA_THE_HEADLAND = 0x690,
2243 AREA_MISTY_SHORE = 0x691,
2244 AREA_DANDREDS_FOLD = 0x692,
2245 AREA_GROWLESS_CAVE = 0x693,
2246 AREA_CHILLWIND_POINT = 0x694,
2247 AREA_RAPTOR_GROUNDS = 0x6A1,
2248 AREA_BRAMBLESCAR = 0x6A2,
2249 AREA_THORN_HILL = 0x6A3,
2250 AREA_AGAMA_GOR = 0x6A4,
2251 AREA_BLACKTHORN_RIDGE = 0x6A5,
2252 AREA_HONORS_STAND = 0x6A6,
2253 AREA_THE_MORSHAN_RAMPART = 0x6A7,
2254 AREA_GROL_DOM_FARM = 0x6A8,
2255 AREA_RAZORFEN_KRAUL1 = 0x6B5,
2256 AREA_THE_GREAT_LIFT1 = 0x6B6,
2257 AREA_MISTVALE_VALLEY = 0x6C9,
2258 AREA_NEK_MANI_WELLSPRING = 0x6CA,
2259 AREA_BLOODSAIL_COMPOUND = 0x6CB,
2260 AREA_VENTURE_CO_BASE_CAMP = 0x6CC,
2261 AREA_GURUBASHI_ARENA = 0x6CD,
2262 AREA_SPIRIT_DEN = 0x6CE,
2263 AREA_THE_CRIMSON_VEIL = 0x6DD,
2264 AREA_THE_RIPTIDE = 0x6DE,
2265 AREA_THE_DAMSELS_LUCK = 0x6DF,
2266 AREA_VENTURE_CO_OPERATIONS_CENTER = 0x6E0,
2267 AREA_DEADWOOD_VILLAGE = 0x6E1,
2268 AREA_FELPAW_VILLAGE = 0x6E2,
2269 AREA_JAEDENAR = 0x6E3,
2270 AREA_BLOODVENOM_RIVER = 0x6E4,
2271 AREA_BLOODVENOM_FALLS = 0x6E5,
2272 AREA_SHATTER_SCAR_VALE = 0x6E6,
2273 AREA_IRONTREE_WOODS = 0x6E7,
2274 AREA_IRONTREE_CAVERN = 0x6E8,
2275 AREA_TIMBERMAW_HOLD1 = 0x6E9,
2276 AREA_SHADOW_HOLD = 0x6EA,
2277 AREA_SHRINE_OF_THE_DECEIVER = 0x6EB,
2278 AREA_ITHARIUSS_CAVE = 0x6F1,
2279 AREA_SORROWMURK = 0x6F2,
2280 AREA_DRAENIL_DUR_VILLAGE = 0x6F3,
2281 AREA_SPLINTERSPEAR_JUNCTION = 0x6F4,
2282 AREA_STAGALBOG = 0x705,
2283 AREA_THE_SHIFTING_MIRE = 0x706,
2284 AREA_STAGALBOG_CAVE = 0x719,
2285 AREA_WITHERBARK_CAVERNS = 0x72D,
2286 AREA_THORADINS_WALL2 = 0x741,
2287 AREA_BOULDER_GOR = 0x742,
2288 AREA_VALLEY_OF_FANGS = 0x755,
2289 AREA_THE_DUSTBOWL = 0x756,
2290 AREA_MIRAGE_FLATS = 0x757,
2291 AREA_FEATHERBEARDS_HOVEL = 0x758,
2292 AREA_SHINDIGGERS_CAMP = 0x759,
2293 AREA_PLAGUEMIST_RAVINE = 0x75A,
2294 AREA_VALORWIND_LAKE = 0x75B,
2295 AREA_AGOL_WATHA = 0x75C,
2296 AREA_HIRI_WATHA = 0x75D,
2297 AREA_THE_CREEPING_RUIN = 0x75E,
2298 AREA_BOGENS_LEDGE = 0x75F,
2299 AREA_THE_MAKERS_TERRACE = 0x769,
2300 AREA_DUSTWIND_GULCH = 0x76A,
2301 AREA_SHAOL_WATHA = 0x77D,
2302 AREA_NOONSHADE_RUINS = 0x791,
2303 AREA_BROKEN_PILLAR = 0x792,
2304 AREA_ABYSSAL_SANDS = 0x793,
2305 AREA_SOUTHBREAK_SHORE = 0x794,
2306 AREA_CAVERNS_OF_TIME0 = 0x795,
2307 AREA_THE_MARSHLANDS = 0x796,
2308 AREA_IRONSTONE_PLATEAU = 0x797,
2309 AREA_BLACKCHAR_CAVE = 0x7A5,
2310 AREA_TANNER_CAMP = 0x7A6,
2311 AREA_DUSTFIRE_VALLEY = 0x7A7,
2312 AREA_ZUL_GURUB1 = 0x7B9,
2313 AREA_MISTY_REED_POST = 0x7BA,
2314 AREA_BLOODVENOM_POST = 0x7CD,
2315 AREA_TALONBRANCH_GLADE = 0x7CE,
2316 AREA_STRATHOLME0 = 0x7E1,
2317 AREA_UNUSED_SHADOWFANG_KEEP_003 = 0x7F5,
2318 AREA_SCHOLOMANCE = 0x809,
2319 AREA_TWILIGHT_VALE = 0x81D,
2320 AREA_TWILIGHT_SHORE = 0x81E,
2321 AREA_ALCAZ_ISLAND = 0x81F,
2322 AREA_DARKCLOUD_PINNACLE = 0x831,
2323 AREA_DAWNING_WOOD_CATACOMBS = 0x832,
2324 AREA_STONEWATCH_KEEP = 0x833,
2325 AREA_MARAUDON = 0x834,
2326 AREA_STOUTLAGER_INN = 0x835,
2327 AREA_THUNDERBREW_DISTILLERY = 0x836,
2328 AREA_MENETHIL_KEEP = 0x837,
2329 AREA_DEEPWATER_TAVERN = 0x838,
2330 AREA_SHADOW_GRAVE = 0x845,
2331 AREA_BRILL_TOWN_HALL = 0x846,
2332 AREA_GALLOWS_END_TAVERN = 0x847,
2333 AREA_THE_POOLS_OF_VISION_UNUSED = 0x859,
2334 AREA_DREADMIST_DEN = 0x85A,
2335 AREA_BAEL_DUN_KEEP = 0x86D,
2336 AREA_EMBERSTRIFES_DEN = 0x86E,
2337 AREA_ONYXIAS_LAIR = 0x86F,
2338 AREA_WINDSHEAR_MINE = 0x870,
2339 AREA_ROLANDS_DOOM = 0x871,
2340 AREA_BATTLE_RING = 0x881,
2341 AREA_THE_POOLS_OF_VISION = 0x895,
2342 AREA_SHADOWBREAK_RAVINE = 0x896,
2343 AREA_BROKEN_SPEAR_VILLAGE = 0x8A9,
2344 AREA_WHITEREACH_POST = 0x8BD,
2345 AREA_GORNIA = 0x8BE,
2346 AREA_ZANES_EYE_CRATER = 0x8BF,
2347 AREA_MIRAGE_RACEWAY = 0x8C0,
2348 AREA_FROSTSABER_ROCK = 0x8C1,
2349 AREA_THE_HIDDEN_GROVE = 0x8C2,
2350 AREA_TIMBERMAW_POST = 0x8C3,
2351 AREA_WINTERFALL_VILLAGE = 0x8C4,
2352 AREA_MAZTHORIL = 0x8C5,
2353 AREA_FROSTFIRE_HOT_SPRINGS = 0x8C6,
2354 AREA_ICE_THISTLE_HILLS = 0x8C7,
2355 AREA_DUN_MANDARR = 0x8C8,
2356 AREA_FROSTWHISPER_GORGE = 0x8C9,
2357 AREA_OWL_WING_THICKET = 0x8CA,
2358 AREA_LAKE_KEL_THERIL = 0x8CB,
2359 AREA_THE_RUINS_OF_KEL_THERIL = 0x8CC,
2360 AREA_STARFALL_VILLAGE = 0x8CD,
2361 AREA_BAN_THALLOW_BARROW_DEN = 0x8CE,
2362 AREA_EVERLOOK = 0x8CF,
2363 AREA_DARKWHISPER_GORGE = 0x8D0,
2364 AREA_DEEPRUN_TRAM = 0x8D1,
2365 AREA_THE_FUNGAL_VALE = 0x8D2,
2366 AREA_UNUSED_THE_MARRIS_STEAD = 0x8D3,
2367 AREA_THE_MARRIS_STEAD = 0x8D4,
2368 AREA_THE_UNDERCROFT = 0x8D5,
2369 AREA_DARROWSHIRE = 0x8D6,
2370 AREA_CROWN_GUARD_TOWER = 0x8D7,
2371 AREA_CORINS_CROSSING = 0x8D8,
2372 AREA_SCARLET_BASE_CAMP = 0x8D9,
2373 AREA_TYRS_HAND = 0x8DA,
2374 AREA_THE_SCARLET_BASILICA = 0x8DB,
2375 AREA_LIGHTS_HOPE_CHAPEL = 0x8DC,
2376 AREA_BROWMAN_MILL = 0x8DD,
2377 AREA_THE_NOXIOUS_GLADE = 0x8DE,
2378 AREA_EASTWALL_TOWER = 0x8DF,
2379 AREA_NORTHDALE = 0x8E0,
2380 AREA_ZUL_MASHAR = 0x8E1,
2381 AREA_MAZRA_ALOR = 0x8E2,
2382 AREA_NORTHPASS_TOWER = 0x8E3,
2383 AREA_QUEL_LITHIEN_LODGE = 0x8E4,
2384 AREA_PLAGUEWOOD = 0x8E5,
2385 AREA_SCOURGEHOLD = 0x8E6,
2386 AREA_STRATHOLME1 = 0x8E7,
2387 AREA_UNUSED_STRATHOLME = 0x8E8,
2388 AREA_DARROWMERE_LAKE0 = 0x8F9,
2389 AREA_CAER_DARROW = 0x8FA,
2390 AREA_DARROWMERE_LAKE1 = 0x8FB,
2391 AREA_CAVERNS_OF_TIME1 = 0x8FC,
2392 AREA_THISTLEFUR_VILLAGE = 0x8FD,
2393 AREA_THE_QUAGMIRE = 0x8FE,
2394 AREA_WINDBREAK_CANYON = 0x8FF,
2395 AREA_SOUTH_SEAS0 = 0x90D,
2396 AREA_THE_GREAT_SEA3 = 0x90E,
2397 AREA_THE_GREAT_SEA4 = 0x90F,
2398 AREA_THE_GREAT_SEA5 = 0x910,
2399 AREA_THE_GREAT_SEA6 = 0x911,
2400 AREA_THE_VEILED_SEA1 = 0x912,
2401 AREA_THE_VEILED_SEA2 = 0x913,
2402 AREA_THE_VEILED_SEA3 = 0x914,
2403 AREA_THE_VEILED_SEA4 = 0x915,
2404 AREA_THE_VEILED_SEA5 = 0x916,
2405 AREA_RAZOR_HILL_BARRACKS = 0x921,
2406 AREA_SOUTH_SEAS1 = 0x922,
2407 AREA_THE_GREAT_SEA7 = 0x923,
2408 AREA_BLOODTOOTH_CAMP = 0x935,
2409 AREA_FOREST_SONG = 0x936,
2410 AREA_GREENPAW_VILLAGE = 0x937,
2411 AREA_SILVERWING_OUTPOST = 0x938,
2412 AREA_NIGHTHAVEN = 0x939,
2413 AREA_SHRINE_OF_REMULOS = 0x93A,
2414 AREA_STORMRAGE_BARROW_DENS = 0x93B,
2415 AREA_THE_GREAT_SEA8 = 0x93C,
2416 AREA_THE_GREAT_SEA9 = 0x93D,
2417 AREA_THE_BLACK_MORASS = 0x93E,
2418 AREA_OLD_HILLSBRAD_FOOTHILLS = 0x93F,
2419 AREA_TARREN_MILL1 = 0x940,
2420 AREA_SOUTHSHORE1 = 0x941,
2421 AREA_DURNHOLDE_KEEP1 = 0x942,
2422 AREA_DUN_GAROK1 = 0x943,
2423 AREA_HILLSBRAD_FIELDS1 = 0x944,
2424 AREA_EASTERN_STRAND1 = 0x945,
2425 AREA_NETHANDER_STEAD1 = 0x946,
2426 AREA_DARROW_HILL1 = 0x947,
2427 AREA_SOUTHPOINT_TOWER1 = 0x948,
2428 AREA_THORADINS_WALL3 = 0x949,
2429 AREA_WESTERN_STRAND1 = 0x94A,
2430 AREA_AZURELODE_MINE1 = 0x94B,
2431 AREA_THE_GREAT_SEA10 = 0x95D,
2432 AREA_THE_GREAT_SEA11 = 0x95E,
2433 AREA_THE_GREAT_SEA12 = 0x95F,
2434 AREA_THE_FORBIDDING_SEA1 = 0x960,
2435 AREA_THE_FORBIDDING_SEA2 = 0x961,
2436 AREA_THE_FORBIDDING_SEA3 = 0x962,
2437 AREA_THE_FORBIDDING_SEA4 = 0x963,
2438 AREA_TETHRIS_ARAN = 0x964,
2439 AREA_ETHEL_RETHOR = 0x965,
2440 AREA_RANAZJAR_ISLE = 0x966,
2441 AREA_KORMEKS_HUT = 0x967,
2442 AREA_SHADOWPREY_VILLAGE = 0x968,
2443 AREA_BLACKROCK_PASS = 0x971,
2444 AREA_MORGANS_VIGIL = 0x972,
2445 AREA_SLITHER_ROCK = 0x973,
2446 AREA_TERROR_WING_PATH = 0x974,
2447 AREA_DRACO_DAR = 0x975,
2448 AREA_RAGEFIRE_CHASM = 0x985,
2449 AREA_NIGHTSONG_WOODS = 0x999,
2450 AREA_THE_VEILED_SEA6 = 0x9AD,
2451 AREA_MORLOS_ARAN = 0x9AE,
2452 AREA_EMERALD_SANCTUARY = 0x9AF,
2453 AREA_JADEFIRE_GLEN = 0x9B0,
2454 AREA_RUINS_OF_CONSTELLAS = 0x9B1,
2455 AREA_BITTER_REACHES = 0x9C1,
2456 AREA_RISE_OF_THE_DEFILER = 0x9D5,
2457 AREA_LARISS_PAVILION = 0x9D6,
2458 AREA_WOODPAW_HILLS = 0x9D7,
2459 AREA_WOODPAW_DEN = 0x9D8,
2460 AREA_VERDANTIS_RIVER = 0x9D9,
2461 AREA_RUINS_OF_ISILDIEN = 0x9DA,
2462 AREA_GRIMTOTEM_POST = 0x9E9,
2463 AREA_CAMP_APARAJE = 0x9EA,
2464 AREA_MALAKA_JIN = 0x9EB,
2465 AREA_BOULDERSLIDE_RAVINE = 0x9EC,
2466 AREA_SISHIR_CANYON = 0x9ED,
2467 AREA_DIRE_MAUL0 = 0x9FD,
2468 AREA_DEADWIND_RAVINE = 0x9FE,
2469 AREA_DIAMONDHEAD_RIVER = 0x9FF,
2470 AREA_ARIDENS_CAMP = 0xA00,
2471 AREA_THE_VICE = 0xA01,
2472 AREA_KARAZHAN = 0xA02,
2473 AREA_MORGANS_PLOT = 0xA03,
2474 AREA_DIRE_MAUL1 = 0xA11,
2475 AREA_ALTERAC_VALLEY0 = 0xA25,
2476 AREA_SCRABBLESCREWS_CAMP = 0xA39,
2477 AREA_JADEFIRE_RUN = 0xA3A,
2478 AREA_THONDRORIL_RIVER0 = 0xA3B,
2479 AREA_THONDRORIL_RIVER1 = 0xA3C,
2480 AREA_LAKE_MERELDAR = 0xA3D,
2481 AREA_PESTILENT_SCAR = 0xA3E,
2482 AREA_THE_INFECTIS_SCAR = 0xA3F,
2483 AREA_BLACKWOOD_LAKE = 0xA40,
2484 AREA_EASTWALL_GATE = 0xA41,
2485 AREA_TERRORWEB_TUNNEL = 0xA42,
2486 AREA_TERRORDALE = 0xA43,
2487 AREA_KARGATHIA_KEEP = 0xA4D,
2488 AREA_VALLEY_OF_BONES = 0xA61,
2489 AREA_BLACKWING_LAIR = 0xA75,
2490 AREA_DEADMANS_CROSSING = 0xA89,
2491 AREA_MOLTEN_CORE = 0xA9D,
2492 AREA_THE_SCARAB_WALL = 0xAB1,
2493 AREA_SOUTHWIND_VILLAGE = 0xAB2,
2494 AREA_TWILIGHT_BASE_CAMP = 0xAB3,
2495 AREA_THE_CRYSTAL_VALE = 0xAB4,
2496 AREA_THE_SCARAB_DAIS = 0xAB5,
2497 AREA_HIVE_ASHI = 0xAB6,
2498 AREA_HIVE_ZORA = 0xAB7,
2499 AREA_HIVE_REGAL = 0xAB8,
2500 AREA_SHRINE_OF_THE_FALLEN_WARRIOR = 0xAC5,
2501 AREA_UNUSED_ALTERAC_VALLEY = 0xAD9,
2502 AREA_BLACKFATHOM_DEEPS1 = 0xAED,
2503 AREA_ON_MAP_DUNGEON4 = 0xB01,
2504 AREA_THE_MASTERS_CELLAR = 0xB15,
2505 AREA_STONEWROUGHT_PASS = 0xB16,
2506 AREA_ALTERAC_VALLEY1 = 0xB17,
2507 AREA_THE_RUMBLE_CAGE = 0xB29,
2508 AREA_CHUNK_TEST = 0xB3D,
2509 AREA_ZORAMGAR_OUTPOST = 0xB51,
2510 AREA_HALL_OF_LEGENDS = 0xB65,
2511 AREA_CHAMPIONS_HALL = 0xB66,
2512 AREA_GROSH_GOK_COMPOUND = 0xB79,
2513 AREA_SLEEPING_GORGE = 0xB7A,
2514 AREA_IRONDEEP_MINE = 0xB8D,
2515 AREA_STONEHEARTH_OUTPOST = 0xB8E,
2516 AREA_DUN_BALDAR = 0xB8F,
2517 AREA_ICEWING_PASS = 0xB90,
2518 AREA_FROSTWOLF_VILLAGE = 0xB91,
2519 AREA_TOWER_POINT = 0xB92,
2520 AREA_COLDTOOTH_MINE = 0xB93,
2521 AREA_WINTERAX_HOLD = 0xB94,
2522 AREA_ICEBLOOD_GARRISON = 0xBA1,
2523 AREA_FROSTWOLF_KEEP = 0xBA2,
2524 AREA_TOR_KREN_FARM = 0xBA3,
2525 AREA_FROST_DAGGER_PASS = 0xBC9,
2526 AREA_IRONSTONE_CAMP = 0xBDD,
2527 AREA_WEAZELS_CRATER = 0xBDE,
2528 AREA_TAHONDA_RUINS = 0xBDF,
2529 AREA_FIELD_OF_STRIFE = 0xBF1,
2530 AREA_ICEWING_CAVERN = 0xBF2,
2531 AREA_VALORS_REST = 0xC05,
2532 AREA_THE_SWARMING_PILLAR = 0xC19,
2533 AREA_TWILIGHT_POST = 0xC1A,
2534 AREA_TWILIGHT_OUTPOST = 0xC1B,
2535 AREA_RAVAGED_TWILIGHT_CAMP = 0xC1C,
2536 AREA_SHALZARUS_LAIR = 0xC2D,
2537 AREA_TALRENDIS_POINT = 0xC41,
2538 AREA_RETHRESS_SANCTUM = 0xC42,
2539 AREA_MOON_HORROR_DEN = 0xC43,
2540 AREA_SCALEBEARDS_CAVE = 0xC44,
2541 AREA_BOULDERSLIDE_CAVERN = 0xC55,
2542 AREA_WARSONG_LABOR_CAMP = 0xC69,
2543 AREA_CHILLWIND_CAMP = 0xC7D,
2544 AREA_THE_MAUL = 0xC91,
2545 AREA_THE_MAUL_UNUSED = 0xCA5,
2546 AREA_BONES_OF_GRAKKAROND = 0xCB9,
2547 AREA_WARSONG_GULCH = 0xCCD,
2548 AREA_FROSTWOLF_GRAVEYARD = 0xCE1,
2549 AREA_FROSTWOLF_PASS = 0xCE2,
2550 AREA_DUN_BALDAR_PASS = 0xCE3,
2551 AREA_ICEBLOOD_GRAVEYARD = 0xCE4,
2552 AREA_SNOWFALL_GRAVEYARD = 0xCE5,
2553 AREA_STONEHEARTH_GRAVEYARD = 0xCE6,
2554 AREA_STORMPIKE_GRAVEYARD = 0xCE7,
2555 AREA_ICEWING_BUNKER = 0xCE8,
2556 AREA_STONEHEARTH_BUNKER = 0xCE9,
2557 AREA_WILDPAW_RIDGE = 0xCEA,
2558 AREA_REVANTUSK_VILLAGE = 0xCF5,
2559 AREA_ROCK_OF_DUROTAN = 0xCF6,
2560 AREA_SILVERWING_GROVE = 0xCF7,
2561 AREA_WARSONG_LUMBER_MILL = 0xCF8,
2562 AREA_SILVERWING_HOLD = 0xCF9,
2563 AREA_WILDPAW_CAVERN = 0xD09,
2564 AREA_THE_VEILED_CLEFT = 0xD0A,
2565 AREA_YOJAMBA_ISLE = 0xD1D,
2566 AREA_ARATHI_BASIN = 0xD1E,
2567 AREA_THE_COIL = 0xD31,
2568 AREA_ALTAR_OF_HIR_EEK = 0xD32,
2569 AREA_SHADRA_ZAAR = 0xD33,
2570 AREA_HAKKARI_GROUNDS = 0xD34,
2571 AREA_NAZE_OF_SHIRVALLAH = 0xD35,
2572 AREA_TEMPLE_OF_BETHEKK = 0xD36,
2573 AREA_THE_BLOODFIRE_PIT = 0xD37,
2574 AREA_ALTAR_OF_THE_BLOOD_GOD = 0xD38,
2575 AREA_ZANZAS_RISE = 0xD45,
2576 AREA_EDGE_OF_MADNESS = 0xD46,
2577 AREA_TROLLBANE_HALL = 0xD59,
2578 AREA_DEFILERS_DEN = 0xD5A,
2579 AREA_PAGLES_POINTE = 0xD5B,
2580 AREA_FARM = 0xD5C,
2581 AREA_BLACKSMITH = 0xD5D,
2582 AREA_LUMBER_MILL = 0xD5E,
2583 AREA_GOLD_MINE = 0xD5F,
2584 AREA_STABLES = 0xD60,
2585 AREA_CENARION_HOLD = 0xD61,
2586 AREA_STAGHELM_POINT = 0xD62,
2587 AREA_BRONZEBEARD_ENCAMPMENT = 0xD63,
2588 AREA_AHN_QIRAJ = 0xD64,
2589 AREA_RUINS_OF_AHN_QIRAJ0 = 0xD65,
2590 AREA_TWILIGHTS_RUN = 0xD76,
2591 AREA_ORTELLS_HIDEOUT = 0xD77,
2592 AREA_SCARAB_TERRACE = 0xD78,
2593 AREA_GENERALS_TERRACE = 0xD79,
2594 AREA_THE_RESERVOIR = 0xD7A,
2595 AREA_THE_HATCHERY = 0xD7B,
2596 AREA_THE_COMB = 0xD7C,
2597 AREA_WATCHERS_TERRACE = 0xD7D,
2598 AREA_RUINS_OF_AHN_QIRAJ1 = 0xD7E,
2599 AREA_NAXXRAMAS = 0xD80,
2600 AREA_CITY = 0xD83,
2601 AREA_GATES_OF_AHN_QIRAJ = 0xD96,
2602 AREA_RAVENHOLDT_MANOR = 0xD9E,
2603 } e_area;
2604 static const value_string e_area_strings[] = {
2605 { AREA_NONE, "None" },
2606 { AREA_DUN_MOROGH, "Dun Morogh" },
2607 { AREA_LONGSHORE, "Longshore" },
2608 { AREA_BADLANDS, "Badlands" },
2609 { AREA_BLASTED_LANDS, "Blasted Lands" },
2610 { AREA_BLACKWATER_COVE, "Blackwater Cove" },
2611 { AREA_SWAMP_OF_SORROWS, "Swamp Of Sorrows" },
2612 { AREA_NORTHSHIRE_VALLEY, "Northshire Valley" },
2613 { AREA_DUSKWOOD, "Duskwood" },
2614 { AREA_WETLANDS, "Wetlands" },
2615 { AREA_ELWYNN_FOREST, "Elwynn Forest" },
2616 { AREA_THE_WORLD_TREE, "The World Tree" },
2617 { AREA_DUROTAR, "Durotar" },
2618 { AREA_DUSTWALLOW_MARSH, "Dustwallow Marsh" },
2619 { AREA_AZSHARA, "Azshara" },
2620 { AREA_THE_BARRENS, "The Barrens" },
2621 { AREA_CRYSTAL_LAKE, "Crystal Lake" },
2622 { AREA_ZUL_GURUB0, "Zul Gurub0" },
2623 { AREA_MOONBROOK, "Moonbrook" },
2624 { AREA_KUL_TIRAS, "Kul Tiras" },
2625 { AREA_PROGRAMMER_ISLE, "Programmer Isle" },
2626 { AREA_NORTHSHIRE_RIVER, "Northshire River" },
2627 { AREA_NORTHSHIRE_ABBEY, "Northshire Abbey" },
2628 { AREA_BLACKROCK_MOUNTAIN0, "Blackrock Mountain0" },
2629 { AREA_LIGHTHOUSE, "Lighthouse" },
2630 { AREA_WESTERN_PLAGUELANDS, "Western Plaguelands" },
2631 { AREA_NINE, "Nine" },
2632 { AREA_THE_CEMETARY, "The Cemetary" },
2633 { AREA_STRANGLETHORN_VALE, "Stranglethorn Vale" },
2634 { AREA_ECHO_RIDGE_MINE, "Echo Ridge Mine" },
2635 { AREA_BOOTY_BAY, "Booty Bay" },
2636 { AREA_ALTERAC_MOUNTAINS, "Alterac Mountains" },
2637 { AREA_LAKE_NAZFERITI, "Lake Nazferiti" },
2638 { AREA_LOCH_MODAN, "Loch Modan" },
2639 { AREA_WESTFALL0, "Westfall0" },
2640 { AREA_DEADWIND_PASS, "Deadwind Pass" },
2641 { AREA_DARKSHIRE, "Darkshire" },
2642 { AREA_WILD_SHORE, "Wild Shore" },
2643 { AREA_REDRIDGE_MOUNTAINS, "Redridge Mountains" },
2644 { AREA_ARATHI_HIGHLANDS, "Arathi Highlands" },
2645 { AREA_BURNING_STEPPES, "Burning Steppes" },
2646 { AREA_THE_HINTERLANDS, "The Hinterlands" },
2647 { AREA_DEAD_MANS_HOLE, "Dead Mans Hole" },
2648 { AREA_SEARING_GORGE, "Searing Gorge" },
2649 { AREA_THIEVES_CAMP, "Thieves Camp" },
2650 { AREA_JASPERLODE_MINE, "Jasperlode Mine" },
2651 { AREA_VALLEY_OF_HEROES_UNUSED, "Valley Of Heroes Unused" },
2652 { AREA_HEROES_VIGIL, "Heroes Vigil" },
2653 { AREA_FARGODEEP_MINE, "Fargodeep Mine" },
2654 { AREA_NORTHSHIRE_VINEYARDS, "Northshire Vineyards" },
2655 { AREA_FORESTS_EDGE, "Forests Edge" },
2656 { AREA_THUNDER_FALLS, "Thunder Falls" },
2657 { AREA_BRACKWELL_PUMPKIN_PATCH, "Brackwell Pumpkin Patch" },
2658 { AREA_THE_STONEFIELD_FARM, "The Stonefield Farm" },
2659 { AREA_THE_MACLURE_VINEYARDS, "The Maclure Vineyards" },
2660 { AREA_ON_MAP_DUNGEON0, "On Map Dungeon0" },
2661 { AREA_ON_MAP_DUNGEON1, "On Map Dungeon1" },
2662 { AREA_ON_MAP_DUNGEON2, "On Map Dungeon2" },
2663 { AREA_LAKE_EVERSTILL, "Lake Everstill" },
2664 { AREA_LAKESHIRE, "Lakeshire" },
2665 { AREA_STONEWATCH, "Stonewatch" },
2666 { AREA_STONEWATCH_FALLS, "Stonewatch Falls" },
2667 { AREA_THE_DARK_PORTAL, "The Dark Portal" },
2668 { AREA_THE_TAINTED_SCAR, "The Tainted Scar" },
2669 { AREA_POOL_OF_TEARS, "Pool Of Tears" },
2670 { AREA_STONARD, "Stonard" },
2671 { AREA_FALLOW_SANCTUARY, "Fallow Sanctuary" },
2672 { AREA_ANVILMAR, "Anvilmar" },
2673 { AREA_STORMWIND_MOUNTAINS, "Stormwind Mountains" },
2674 { AREA_JEFF_NE_QUADRANT_CHANGED, "Jeff Ne Quadrant Changed" },
2675 { AREA_JEFF_NW_QUADRANT, "Jeff Nw Quadrant" },
2676 { AREA_JEFF_SE_QUADRANT, "Jeff Se Quadrant" },
2677 { AREA_JEFF_SW_QUADRANT, "Jeff Sw Quadrant" },
2678 { AREA_TIRISFAL_GLADES, "Tirisfal Glades" },
2679 { AREA_STONE_CAIRN_LAKE, "Stone Cairn Lake" },
2680 { AREA_GOLDSHIRE, "Goldshire" },
2681 { AREA_EASTVALE_LOGGING_CAMP, "Eastvale Logging Camp" },
2682 { AREA_MIRROR_LAKE_ORCHARD, "Mirror Lake Orchard" },
2683 { AREA_TOWER_OF_AZORA, "Tower Of Azora" },
2684 { AREA_MIRROR_LAKE, "Mirror Lake" },
2685 { AREA_VUL_GOL_OGRE_MOUND, "Vul Gol Ogre Mound" },
2686 { AREA_RAVEN_HILL, "Raven Hill" },
2687 { AREA_REDRIDGE_CANYONS, "Redridge Canyons" },
2688 { AREA_TOWER_OF_ILGALAR, "Tower Of Ilgalar" },
2689 { AREA_ALTHERS_MILL, "Althers Mill" },
2690 { AREA_RETHBAN_CAVERNS, "Rethban Caverns" },
2691 { AREA_REBEL_CAMP, "Rebel Camp" },
2692 { AREA_NESINGWARYS_EXPEDITION, "Nesingwarys Expedition" },
2693 { AREA_KURZENS_COMPOUND, "Kurzens Compound" },
2694 { AREA_RUINS_OF_ZUL_KUNDA, "Ruins Of Zul Kunda" },
2695 { AREA_RUINS_OF_ZUL_MAMWE, "Ruins Of Zul Mamwe" },
2696 { AREA_THE_VILE_REEF, "The Vile Reef" },
2697 { AREA_MOSH_OGG_OGRE_MOUND, "Mosh Ogg Ogre Mound" },
2698 { AREA_THE_STOCKPILE, "The Stockpile" },
2699 { AREA_SALDEANS_FARM, "Saldeans Farm" },
2700 { AREA_SENTINEL_HILL, "Sentinel Hill" },
2701 { AREA_FURLBROWS_PUMPKIN_FARM, "Furlbrows Pumpkin Farm" },
2702 { AREA_JANGOLODE_MINE, "Jangolode Mine" },
2703 { AREA_GOLD_COAST_QUARRY, "Gold Coast Quarry" },
2704 { AREA_WESTFALL_LIGHTHOUSE, "Westfall Lighthouse" },
2705 { AREA_MISTY_VALLEY, "Misty Valley" },
2706 { AREA_GROM_GOL_BASE_CAMP, "Grom Gol Base Camp" },
2707 { AREA_WHELGARS_EXCAVATION_SITE, "Whelgars Excavation Site" },
2708 { AREA_WESTBROOK_GARRISON, "Westbrook Garrison" },
2709 { AREA_TRANQUIL_GARDENS_CEMETERY, "Tranquil Gardens Cemetery" },
2710 { AREA_ZUULDAIA_RUINS, "Zuuldaia Ruins" },
2711 { AREA_BAL_LAL_RUINS, "Bal Lal Ruins" },
2712 { AREA_KAL_AI_RUINS, "Kal Ai Ruins" },
2713 { AREA_TKASHI_RUINS, "Tkashi Ruins" },
2714 { AREA_BALIA_MAH_RUINS, "Balia Mah Ruins" },
2715 { AREA_ZIATAJAI_RUINS, "Ziatajai Ruins" },
2716 { AREA_MIZJAH_RUINS, "Mizjah Ruins" },
2717 { AREA_SILVERPINE_FOREST, "Silverpine Forest" },
2718 { AREA_KHARANOS, "Kharanos" },
2719 { AREA_COLDRIDGE_VALLEY, "Coldridge Valley" },
2720 { AREA_GNOMEREGAN0, "Gnomeregan0" },
2721 { AREA_GOL_BOLAR_QUARRY, "Gol Bolar Quarry" },
2722 { AREA_FROSTMANE_HOLD, "Frostmane Hold" },
2723 { AREA_THE_GRIZZLED_DEN, "The Grizzled Den" },
2724 { AREA_BREWNALL_VILLAGE, "Brewnall Village" },
2725 { AREA_MISTY_PINE_REFUGE, "Misty Pine Refuge" },
2726 { AREA_EASTERN_PLAGUELANDS, "Eastern Plaguelands" },
2727 { AREA_TELDRASSIL, "Teldrassil" },
2728 { AREA_IRONBANDS_EXCAVATION_SITE, "Ironbands Excavation Site" },
2729 { AREA_MO_GROSH_STRONGHOLD, "Mo Grosh Stronghold" },
2730 { AREA_THELSAMAR, "Thelsamar" },
2731 { AREA_ALGAZ_GATE, "Algaz Gate" },
2732 { AREA_STONEWROUGHT_DAM, "Stonewrought Dam" },
2733 { AREA_THE_FARSTRIDER_LODGE, "The Farstrider Lodge" },
2734 { AREA_DARKSHORE, "Darkshore" },
2735 { AREA_SILVER_STREAM_MINE, "Silver Stream Mine" },
2736 { AREA_MENETHIL_HARBOR, "Menethil Harbor" },
2737 { AREA_DESIGNER_ISLAND, "Designer Island" },
2738 { AREA_THE_BULWARK0, "The Bulwark0" },
2739 { AREA_RUINS_OF_LORDAERON, "Ruins Of Lordaeron" },
2740 { AREA_DEATHKNELL, "Deathknell" },
2741 { AREA_NIGHT_WEBS_HOLLOW, "Night Webs Hollow" },
2742 { AREA_SOLLIDEN_FARMSTEAD, "Solliden Farmstead" },
2743 { AREA_AGAMAND_MILLS, "Agamand Mills" },
2744 { AREA_AGAMAND_FAMILY_CRYPT, "Agamand Family Crypt" },
2745 { AREA_BRILL, "Brill" },
2746 { AREA_WHISPERING_GARDENS, "Whispering Gardens" },
2747 { AREA_TERRACE_OF_REPOSE, "Terrace Of Repose" },
2748 { AREA_BRIGHTWATER_LAKE, "Brightwater Lake" },
2749 { AREA_GUNTHERS_RETREAT, "Gunthers Retreat" },
2750 { AREA_GARRENS_HAUNT, "Garrens Haunt" },
2751 { AREA_BALNIR_FARMSTEAD, "Balnir Farmstead" },
2752 { AREA_COLD_HEARTH_MANOR, "Cold Hearth Manor" },
2753 { AREA_CRUSADER_OUTPOST, "Crusader Outpost" },
2754 { AREA_THE_NORTH_COAST, "The North Coast" },
2755 { AREA_WHISPERING_SHORE, "Whispering Shore" },
2756 { AREA_LORDAMERE_LAKE0, "Lordamere Lake0" },
2757 { AREA_FENRIS_ISLE, "Fenris Isle" },
2758 { AREA_FAOLS_REST, "Faols Rest" },
2759 { AREA_DOLANAAR, "Dolanaar" },
2760 { AREA_DARNASSUS_UNUSED, "Darnassus Unused" },
2761 { AREA_SHADOWGLEN, "Shadowglen" },
2762 { AREA_STEELGRILLS_DEPOT, "Steelgrills Depot" },
2763 { AREA_HEARTHGLEN, "Hearthglen" },
2764 { AREA_NORTHRIDGE_LUMBER_CAMP, "Northridge Lumber Camp" },
2765 { AREA_RUINS_OF_ANDORHAL, "Ruins Of Andorhal" },
2766 { AREA_SCHOOL_OF_NECROMANCY, "School Of Necromancy" },
2767 { AREA_UTHERS_TOMB, "Uthers Tomb" },
2768 { AREA_SORROW_HILL, "Sorrow Hill" },
2769 { AREA_THE_WEEPING_CAVE, "The Weeping Cave" },
2770 { AREA_FELSTONE_FIELD, "Felstone Field" },
2771 { AREA_DALSONS_TEARS, "Dalsons Tears" },
2772 { AREA_GAHRRONS_WITHERING, "Gahrrons Withering" },
2773 { AREA_THE_WRITHING_HAUNT, "The Writhing Haunt" },
2774 { AREA_MARDENHOLDE_KEEP, "Mardenholde Keep" },
2775 { AREA_PYREWOOD_VILLAGE, "Pyrewood Village" },
2776 { AREA_DUN_MODR, "Dun Modr" },
2777 { AREA_WESTFALL1, "Westfall1" },
2778 { AREA_THE_GREAT_SEA0, "The Great Sea0" },
2779 { AREA_UNUSED_IRONCLADCOVE, "Unused Ironcladcove" },
2780 { AREA_SHADOWFANG_KEEP0, "Shadowfang Keep0" },
2781 { AREA_ON_MAP_DUNGEON3, "On Map Dungeon3" },
2782 { AREA_ICEFLOW_LAKE, "Iceflow Lake" },
2783 { AREA_HELMS_BED_LAKE, "Helms Bed Lake" },
2784 { AREA_DEEP_ELEM_MINE, "Deep Elem Mine" },
2785 { AREA_THE_GREAT_SEA1, "The Great Sea1" },
2786 { AREA_MULGORE, "Mulgore" },
2787 { AREA_ALEXSTON_FARMSTEAD, "Alexston Farmstead" },
2788 { AREA_RED_CLOUD_MESA, "Red Cloud Mesa" },
2789 { AREA_CAMP_NARACHE, "Camp Narache" },
2790 { AREA_BLOODHOOF_VILLAGE, "Bloodhoof Village" },
2791 { AREA_STONEBULL_LAKE, "Stonebull Lake" },
2792 { AREA_RAVAGED_CARAVAN, "Ravaged Caravan" },
2793 { AREA_RED_ROCKS, "Red Rocks" },
2794 { AREA_THE_SKITTERING_DARK, "The Skittering Dark" },
2795 { AREA_VALGANS_FIELD, "Valgans Field" },
2796 { AREA_THE_SEPULCHER, "The Sepulcher" },
2797 { AREA_OLSENS_FARTHING, "Olsens Farthing" },
2798 { AREA_THE_GREYMANE_WALL, "The Greymane Wall" },
2799 { AREA_BERENS_PERIL, "Berens Peril" },
2800 { AREA_THE_DAWNING_ISLES, "The Dawning Isles" },
2801 { AREA_AMBERMILL, "Ambermill" },
2802 { AREA_FENRIS_KEEP, "Fenris Keep" },
2803 { AREA_SHADOWFANG_KEEP1, "Shadowfang Keep1" },
2804 { AREA_THE_DECREPIT_FERRY, "The Decrepit Ferry" },
2805 { AREA_MALDENS_ORCHARD, "Maldens Orchard" },
2806 { AREA_THE_IVAR_PATCH, "The Ivar Patch" },
2807 { AREA_THE_DEAD_FIELD, "The Dead Field" },
2808 { AREA_THE_ROTTING_ORCHARD, "The Rotting Orchard" },
2809 { AREA_BRIGHTWOOD_GROVE, "Brightwood Grove" },
2810 { AREA_FORLORN_ROWE, "Forlorn Rowe" },
2811 { AREA_THE_WHIPPLE_ESTATE, "The Whipple Estate" },
2812 { AREA_THE_YORGEN_FARMSTEAD, "The Yorgen Farmstead" },
2813 { AREA_THE_CAULDRON, "The Cauldron" },
2814 { AREA_GRIMESILT_DIG_SITE, "Grimesilt Dig Site" },
2815 { AREA_DREADMAUL_ROCK, "Dreadmaul Rock" },
2816 { AREA_RUINS_OF_THAURISSAN, "Ruins Of Thaurissan" },
2817 { AREA_FLAME_CREST, "Flame Crest" },
2818 { AREA_BLACKROCK_STRONGHOLD, "Blackrock Stronghold" },
2819 { AREA_THE_PILLAR_OF_ASH, "The Pillar Of Ash" },
2820 { AREA_BLACKROCK_MOUNTAIN1, "Blackrock Mountain1" },
2821 { AREA_ALTAR_OF_STORMS0, "Altar Of Storms0" },
2822 { AREA_ALDRASSIL, "Aldrassil" },
2823 { AREA_SHADOWTHREAD_CAVE, "Shadowthread Cave" },
2824 { AREA_FEL_ROCK, "Fel Rock" },
2825 { AREA_LAKE_AL_AMETH, "Lake Al Ameth" },
2826 { AREA_STARBREEZE_VILLAGE, "Starbreeze Village" },
2827 { AREA_GNARLPINE_HOLD, "Gnarlpine Hold" },
2828 { AREA_BAN_ETHIL_BARROW_DEN, "Ban Ethil Barrow Den" },
2829 { AREA_THE_CLEFT, "The Cleft" },
2830 { AREA_THE_ORACLE_GLADE, "The Oracle Glade" },
2831 { AREA_WELLSPRING_RIVER, "Wellspring River" },
2832 { AREA_WELLSPRING_LAKE, "Wellspring Lake" },
2833 { AREA_HILLSBRAD_FOOTHILLS, "Hillsbrad Foothills" },
2834 { AREA_AZSHARA_CRATER, "Azshara Crater" },
2835 { AREA_DUN_ALGAZ0, "Dun Algaz0" },
2836 { AREA_SOUTHSHORE0, "Southshore0" },
2837 { AREA_TARREN_MILL0, "Tarren Mill0" },
2838 { AREA_DURNHOLDE_KEEP0, "Durnholde Keep0" },
2839 { AREA_UNUSED_STONEWROUGHT_PASS, "Unused Stonewrought Pass" },
2840 { AREA_THE_FOOTHILL_CAVERNS, "The Foothill Caverns" },
2841 { AREA_LORDAMERE_INTERNMENT_CAMP, "Lordamere Internment Camp" },
2842 { AREA_DALARAN, "Dalaran" },
2843 { AREA_STRAHNBRAD, "Strahnbrad" },
2844 { AREA_RUINS_OF_ALTERAC, "Ruins Of Alterac" },
2845 { AREA_CRUSHRIDGE_HOLD, "Crushridge Hold" },
2846 { AREA_SLAUGHTER_HOLLOW, "Slaughter Hollow" },
2847 { AREA_THE_UPLANDS, "The Uplands" },
2848 { AREA_SOUTHPOINT_TOWER0, "Southpoint Tower0" },
2849 { AREA_HILLSBRAD_FIELDS0, "Hillsbrad Fields0" },
2850 { AREA_HILLSBRAD, "Hillsbrad" },
2851 { AREA_AZURELODE_MINE0, "Azurelode Mine0" },
2852 { AREA_NETHANDER_STEAD0, "Nethander Stead0" },
2853 { AREA_DUN_GAROK0, "Dun Garok0" },
2854 { AREA_THORADINS_WALL0, "Thoradins Wall0" },
2855 { AREA_EASTERN_STRAND0, "Eastern Strand0" },
2856 { AREA_WESTERN_STRAND0, "Western Strand0" },
2857 { AREA_SOUTH_SEAS_UNUSED, "South Seas Unused" },
2858 { AREA_JAGUERO_ISLE, "Jaguero Isle" },
2859 { AREA_BARADIN_BAY, "Baradin Bay" },
2860 { AREA_MENETHIL_BAY, "Menethil Bay" },
2861 { AREA_MISTY_REED_STRAND, "Misty Reed Strand" },
2862 { AREA_THE_SAVAGE_COAST, "The Savage Coast" },
2863 { AREA_THE_CRYSTAL_SHORE, "The Crystal Shore" },
2864 { AREA_SHELL_BEACH, "Shell Beach" },
2865 { AREA_NORTH_TIDES_RUN, "North Tides Run" },
2866 { AREA_SOUTH_TIDES_RUN, "South Tides Run" },
2867 { AREA_THE_OVERLOOK_CLIFFS, "The Overlook Cliffs" },
2868 { AREA_THE_FORBIDDING_SEA0, "The Forbidding Sea0" },
2869 { AREA_IRONBEARDS_TOMB, "Ironbeards Tomb" },
2870 { AREA_CRYSTALVEIN_MINE, "Crystalvein Mine" },
2871 { AREA_RUINS_OF_ABORAZ, "Ruins Of Aboraz" },
2872 { AREA_JANEIROS_POINT, "Janeiros Point" },
2873 { AREA_NORTHFOLD_MANOR, "Northfold Manor" },
2874 { AREA_GO_SHEK_FARM, "Go Shek Farm" },
2875 { AREA_DABYRIES_FARMSTEAD, "Dabyries Farmstead" },
2876 { AREA_BOULDERFIST_HALL, "Boulderfist Hall" },
2877 { AREA_WITHERBARK_VILLAGE, "Witherbark Village" },
2878 { AREA_DRYWHISKER_GORGE, "Drywhisker Gorge" },
2879 { AREA_REFUGE_POINTE, "Refuge Pointe" },
2880 { AREA_HAMMERFALL, "Hammerfall" },
2881 { AREA_BLACKWATER_SHIPWRECKS, "Blackwater Shipwrecks" },
2882 { AREA_O_BREENS_CAMP, "O Breens Camp" },
2883 { AREA_STROMGARDE_KEEP, "Stromgarde Keep" },
2884 { AREA_THE_TOWER_OF_ARATHOR, "The Tower Of Arathor" },
2885 { AREA_THE_SANCTUM, "The Sanctum" },
2886 { AREA_FALDIRS_COVE, "Faldirs Cove" },
2887 { AREA_THE_DROWNED_REEF, "The Drowned Reef" },
2888 { AREA_THANDOL_SPAN0, "Thandol Span0" },
2889 { AREA_ASHENVALE, "Ashenvale" },
2890 { AREA_THE_GREAT_SEA2, "The Great Sea2" },
2891 { AREA_CIRCLE_OF_EAST_BINDING, "Circle Of East Binding" },
2892 { AREA_CIRCLE_OF_WEST_BINDING, "Circle Of West Binding" },
2893 { AREA_CIRCLE_OF_INNER_BINDING, "Circle Of Inner Binding" },
2894 { AREA_CIRCLE_OF_OUTER_BINDING, "Circle Of Outer Binding" },
2895 { AREA_APOCRYPHANS_REST, "Apocryphans Rest" },
2896 { AREA_ANGOR_FORTRESS, "Angor Fortress" },
2897 { AREA_LETHLOR_RAVINE, "Lethlor Ravine" },
2898 { AREA_KARGATH, "Kargath" },
2899 { AREA_CAMP_KOSH, "Camp Kosh" },
2900 { AREA_CAMP_BOFF, "Camp Boff" },
2901 { AREA_CAMP_WURG, "Camp Wurg" },
2902 { AREA_CAMP_CAGG, "Camp Cagg" },
2903 { AREA_AGMONDS_END, "Agmonds End" },
2904 { AREA_HAMMERTOES_DIGSITE, "Hammertoes Digsite" },
2905 { AREA_DUSTBELCH_GROTTO, "Dustbelch Grotto" },
2906 { AREA_AERIE_PEAK, "Aerie Peak" },
2907 { AREA_WILDHAMMER_KEEP, "Wildhammer Keep" },
2908 { AREA_QUEL_DANIL_LODGE, "Quel Danil Lodge" },
2909 { AREA_SKULK_ROCK, "Skulk Rock" },
2910 { AREA_ZUN_WATHA, "Zun Watha" },
2911 { AREA_SHADRA_ALOR, "Shadra Alor" },
2912 { AREA_JINTHA_ALOR, "Jintha Alor" },
2913 { AREA_THE_ALTAR_OF_ZUL, "The Altar Of Zul" },
2914 { AREA_SERADANE, "Seradane" },
2915 { AREA_FERALAS, "Feralas" },
2916 { AREA_BRAMBLEBLADE_RAVINE, "Brambleblade Ravine" },
2917 { AREA_BAEL_MODAN, "Bael Modan" },
2918 { AREA_THE_VENTURE_CO_MINE, "The Venture Co Mine" },
2919 { AREA_FELWOOD, "Felwood" },
2920 { AREA_RAZOR_HILL, "Razor Hill" },
2921 { AREA_VALLEY_OF_TRIALS, "Valley Of Trials" },
2922 { AREA_THE_DEN, "The Den" },
2923 { AREA_BURNING_BLADE_COVEN, "Burning Blade Coven" },
2924 { AREA_KOLKAR_CRAG, "Kolkar Crag" },
2925 { AREA_SEN_JIN_VILLAGE, "Sen Jin Village" },
2926 { AREA_ECHO_ISLES, "Echo Isles" },
2927 { AREA_THUNDER_RIDGE, "Thunder Ridge" },
2928 { AREA_DRYGULCH_RAVINE, "Drygulch Ravine" },
2929 { AREA_DUSTWIND_CAVE, "Dustwind Cave" },
2930 { AREA_TIRAGARDE_KEEP, "Tiragarde Keep" },
2931 { AREA_SCUTTLE_COAST, "Scuttle Coast" },
2932 { AREA_BLADEFIST_BAY, "Bladefist Bay" },
2933 { AREA_DEADEYE_SHORE, "Deadeye Shore" },
2934 { AREA_SOUTHFURY_RIVER0, "Southfury River0" },
2935 { AREA_CAMP_TAURAJO, "Camp Taurajo" },
2936 { AREA_FAR_WATCH_POST, "Far Watch Post" },
2937 { AREA_THE_CROSSROADS, "The Crossroads" },
2938 { AREA_BOULDER_LODE_MINE, "Boulder Lode Mine" },
2939 { AREA_THE_SLUDGE_FEN, "The Sludge Fen" },
2940 { AREA_THE_DRY_HILLS, "The Dry Hills" },
2941 { AREA_DREADMIST_PEAK, "Dreadmist Peak" },
2942 { AREA_NORTHWATCH_HOLD, "Northwatch Hold" },
2943 { AREA_THE_FORGOTTEN_POOLS, "The Forgotten Pools" },
2944 { AREA_LUSHWATER_OASIS, "Lushwater Oasis" },
2945 { AREA_THE_STAGNANT_OASIS, "The Stagnant Oasis" },
2946 { AREA_FIELD_OF_GIANTS, "Field Of Giants" },
2947 { AREA_THE_MERCHANT_COAST, "The Merchant Coast" },
2948 { AREA_RATCHET, "Ratchet" },
2949 { AREA_DARKSPEAR_STRAND, "Darkspear Strand" },
2950 { AREA_DARROWMERE_LAKE_UNUSED, "Darrowmere Lake Unused" },
2951 { AREA_CAER_DARROW_UNUSED, "Caer Darrow Unused" },
2952 { AREA_WINTERHOOF_WATER_WELL, "Winterhoof Water Well" },
2953 { AREA_THUNDERHORN_WATER_WELL, "Thunderhorn Water Well" },
2954 { AREA_WILDMANE_WATER_WELL, "Wildmane Water Well" },
2955 { AREA_SKYLINE_RIDGE, "Skyline Ridge" },
2956 { AREA_THOUSAND_NEEDLES, "Thousand Needles" },
2957 { AREA_THE_TIDUS_STAIR, "The Tidus Stair" },
2958 { AREA_SHADY_REST_INN, "Shady Rest Inn" },
2959 { AREA_BAEL_DUN_DIGSITE, "Bael Dun Digsite" },
2960 { AREA_DESOLACE, "Desolace" },
2961 { AREA_STONETALON_MOUNTAINS, "Stonetalon Mountains" },
2962 { AREA_ORGRIMMAR_UNUSED, "Orgrimmar Unused" },
2963 { AREA_GILLIJIMS_ISLE, "Gillijims Isle" },
2964 { AREA_ISLAND_OF_DOCTOR_LAPIDIS, "Island Of Doctor Lapidis" },
2965 { AREA_RAZORWIND_CANYON, "Razorwind Canyon" },
2966 { AREA_BATHRANS_HAUNT, "Bathrans Haunt" },
2967 { AREA_THE_RUINS_OF_ORDIL_ARAN, "The Ruins Of Ordil Aran" },
2968 { AREA_MAESTRAS_POST, "Maestras Post" },
2969 { AREA_THE_ZORAM_STRAND, "The Zoram Strand" },
2970 { AREA_ASTRANAAR, "Astranaar" },
2971 { AREA_THE_SHRINE_OF_AESSINA, "The Shrine Of Aessina" },
2972 { AREA_FIRE_SCAR_SHRINE, "Fire Scar Shrine" },
2973 { AREA_THE_RUINS_OF_STARDUST, "The Ruins Of Stardust" },
2974 { AREA_THE_HOWLING_VALE, "The Howling Vale" },
2975 { AREA_SILVERWIND_REFUGE, "Silverwind Refuge" },
2976 { AREA_MYSTRAL_LAKE, "Mystral Lake" },
2977 { AREA_FALLEN_SKY_LAKE, "Fallen Sky Lake" },
2978 { AREA_IRIS_LAKE, "Iris Lake" },
2979 { AREA_MOONWELL, "Moonwell" },
2980 { AREA_RAYNEWOOD_RETREAT, "Raynewood Retreat" },
2981 { AREA_THE_SHADY_NOOK, "The Shady Nook" },
2982 { AREA_NIGHT_RUN, "Night Run" },
2983 { AREA_XAVIAN, "Xavian" },
2984 { AREA_SATYRNAAR, "Satyrnaar" },
2985 { AREA_SPLINTERTREE_POST, "Splintertree Post" },
2986 { AREA_THE_DOR_DANIL_BARROW_DEN, "The Dor Danil Barrow Den" },
2987 { AREA_FALFARREN_RIVER, "Falfarren River" },
2988 { AREA_FELFIRE_HILL, "Felfire Hill" },
2989 { AREA_DEMON_FALL_CANYON, "Demon Fall Canyon" },
2990 { AREA_DEMON_FALL_RIDGE, "Demon Fall Ridge" },
2991 { AREA_WARSONG_LUMBER_CAMP, "Warsong Lumber Camp" },
2992 { AREA_BOUGH_SHADOW, "Bough Shadow" },
2993 { AREA_THE_SHIMMERING_FLATS, "The Shimmering Flats" },
2994 { AREA_TANARIS, "Tanaris" },
2995 { AREA_LAKE_FALATHIM, "Lake Falathim" },
2996 { AREA_AUBERDINE, "Auberdine" },
2997 { AREA_RUINS_OF_MATHYSTRA, "Ruins Of Mathystra" },
2998 { AREA_TOWER_OF_ALTHALAXX, "Tower Of Althalaxx" },
2999 { AREA_CLIFFSPRING_FALLS, "Cliffspring Falls" },
3000 { AREA_BASHAL_ARAN, "Bashal Aran" },
3001 { AREA_AMETH_ARAN, "Ameth Aran" },
3002 { AREA_GROVE_OF_THE_ANCIENTS, "Grove Of The Ancients" },
3003 { AREA_THE_MASTERS_GLAIVE, "The Masters Glaive" },
3004 { AREA_REMTRAVELS_EXCAVATION, "Remtravels Excavation" },
3005 { AREA_MISTS_EDGE, "Mists Edge" },
3006 { AREA_THE_LONG_WASH, "The Long Wash" },
3007 { AREA_WILDBEND_RIVER, "Wildbend River" },
3008 { AREA_BLACKWOOD_DEN, "Blackwood Den" },
3009 { AREA_CLIFFSPRING_RIVER, "Cliffspring River" },
3010 { AREA_THE_VEILED_SEA0, "The Veiled Sea0" },
3011 { AREA_GOLD_ROAD, "Gold Road" },
3012 { AREA_SCARLET_WATCH_POST, "Scarlet Watch Post" },
3013 { AREA_SUN_ROCK_RETREAT, "Sun Rock Retreat" },
3014 { AREA_WINDSHEAR_CRAG, "Windshear Crag" },
3015 { AREA_CRAGPOOL_LAKE, "Cragpool Lake" },
3016 { AREA_MIRKFALLON_LAKE, "Mirkfallon Lake" },
3017 { AREA_THE_CHARRED_VALE, "The Charred Vale" },
3018 { AREA_VALLEY_OF_THE_BLOODFURIES, "Valley Of The Bloodfuries" },
3019 { AREA_STONETALON_PEAK, "Stonetalon Peak" },
3020 { AREA_THE_TALON_DEN, "The Talon Den" },
3021 { AREA_GREATWOOD_VALE, "Greatwood Vale" },
3022 { AREA_THUNDER_BLUFF_UNUSED, "Thunder Bluff Unused" },
3023 { AREA_BRAVE_WIND_MESA, "Brave Wind Mesa" },
3024 { AREA_FIRE_STONE_MESA, "Fire Stone Mesa" },
3025 { AREA_MANTLE_ROCK, "Mantle Rock" },
3026 { AREA_HUNTER_RISE_UNUSED, "Hunter Rise Unused" },
3027 { AREA_SPIRIT_RISE_UNUSED, "Spirit Rise Unused" },
3028 { AREA_ELDER_RISE_UNUSED, "Elder Rise Unused" },
3029 { AREA_RUINS_OF_JUBUWAL, "Ruins Of Jubuwal" },
3030 { AREA_POOLS_OF_ARLITHRIEN, "Pools Of Arlithrien" },
3031 { AREA_THE_RUSTMAUL_DIG_SITE, "The Rustmaul Dig Site" },
3032 { AREA_CAMP_E_THOK, "Camp E Thok" },
3033 { AREA_SPLITHOOF_CRAG, "Splithoof Crag" },
3034 { AREA_HIGHPERCH, "Highperch" },
3035 { AREA_THE_SCREECHING_CANYON, "The Screeching Canyon" },
3036 { AREA_FREEWIND_POST, "Freewind Post" },
3037 { AREA_THE_GREAT_LIFT0, "The Great Lift0" },
3038 { AREA_GALAK_HOLD, "Galak Hold" },
3039 { AREA_ROGUEFEATHER_DEN, "Roguefeather Den" },
3040 { AREA_THE_WEATHERED_NOOK, "The Weathered Nook" },
3041 { AREA_THALANAAR, "Thalanaar" },
3042 { AREA_UN_GORO_CRATER, "Un Goro Crater" },
3043 { AREA_RAZORFEN_KRAUL0, "Razorfen Kraul0" },
3044 { AREA_RAVEN_HILL_CEMETERY, "Raven Hill Cemetery" },
3045 { AREA_MOONGLADE, "Moonglade" },
3046 { AREA_DELETE_ME0, "Delete Me0" },
3047 { AREA_BRACKENWALL_VILLAGE, "Brackenwall Village" },
3048 { AREA_SWAMPLIGHT_MANOR, "Swamplight Manor" },
3049 { AREA_BLOODFEN_BURROW, "Bloodfen Burrow" },
3050 { AREA_DARKMIST_CAVERN, "Darkmist Cavern" },
3051 { AREA_MOGGLE_POINT, "Moggle Point" },
3052 { AREA_BEEZILS_WRECK, "Beezils Wreck" },
3053 { AREA_WITCH_HILL, "Witch Hill" },
3054 { AREA_SENTRY_POINT, "Sentry Point" },
3055 { AREA_NORTH_POINT_TOWER, "North Point Tower" },
3056 { AREA_WEST_POINT_TOWER, "West Point Tower" },
3057 { AREA_LOST_POINT, "Lost Point" },
3058 { AREA_BLUEFEN, "Bluefen" },
3059 { AREA_STONEMAUL_RUINS, "Stonemaul Ruins" },
3060 { AREA_THE_DEN_OF_FLAME, "The Den Of Flame" },
3061 { AREA_THE_DRAGONMURK, "The Dragonmurk" },
3062 { AREA_WYRMBOG, "Wyrmbog" },
3063 { AREA_ONYXIAS_LAIR_UNUSED, "Onyxias Lair Unused" },
3064 { AREA_THERAMORE_ISLE, "Theramore Isle" },
3065 { AREA_FOOTHOLD_CITADEL, "Foothold Citadel" },
3066 { AREA_IRONCLAD_PRISON, "Ironclad Prison" },
3067 { AREA_DUSTWALLOW_BAY, "Dustwallow Bay" },
3068 { AREA_TIDEFURY_COVE, "Tidefury Cove" },
3069 { AREA_DREADMURK_SHORE, "Dreadmurk Shore" },
3070 { AREA_ADDLES_STEAD, "Addles Stead" },
3071 { AREA_FIRE_PLUME_RIDGE, "Fire Plume Ridge" },
3072 { AREA_LAKKARI_TAR_PITS, "Lakkari Tar Pits" },
3073 { AREA_TERROR_RUN, "Terror Run" },
3074 { AREA_THE_SLITHERING_SCAR, "The Slithering Scar" },
3075 { AREA_MARSHALS_REFUGE, "Marshals Refuge" },
3076 { AREA_FUNGAL_ROCK, "Fungal Rock" },
3077 { AREA_GOLAKKA_HOT_SPRINGS, "Golakka Hot Springs" },
3078 { AREA_THE_LOCH, "The Loch" },
3079 { AREA_BEGGARS_HAUNT, "Beggars Haunt" },
3080 { AREA_KODO_GRAVEYARD, "Kodo Graveyard" },
3081 { AREA_GHOST_WALKER_POST, "Ghost Walker Post" },
3082 { AREA_SAR_THERIS_STRAND, "Sar Theris Strand" },
3083 { AREA_THUNDER_AXE_FORTRESS, "Thunder Axe Fortress" },
3084 { AREA_BOLGANS_HOLE, "Bolgans Hole" },
3085 { AREA_MANNOROC_COVEN, "Mannoroc Coven" },
3086 { AREA_SARGERON, "Sargeron" },
3087 { AREA_MAGRAM_VILLAGE, "Magram Village" },
3088 { AREA_GELKIS_VILLAGE, "Gelkis Village" },
3089 { AREA_VALLEY_OF_SPEARS, "Valley Of Spears" },
3090 { AREA_NIJELS_POINT, "Nijels Point" },
3091 { AREA_KOLKAR_VILLAGE, "Kolkar Village" },
3092 { AREA_HYJAL, "Hyjal" },
3093 { AREA_WINTERSPRING, "Winterspring" },
3094 { AREA_BLACKWOLF_RIVER, "Blackwolf River" },
3095 { AREA_KODO_ROCK, "Kodo Rock" },
3096 { AREA_HIDDEN_PATH, "Hidden Path" },
3097 { AREA_SPIRIT_ROCK, "Spirit Rock" },
3098 { AREA_SHRINE_OF_THE_DORMANT_FLAME, "Shrine Of The Dormant Flame" },
3099 { AREA_LAKE_ELUNE_ARA, "Lake Elune Ara" },
3100 { AREA_THE_HARBORAGE, "The Harborage" },
3101 { AREA_OUTLAND, "Outland" },
3102 { AREA_CRAFTSMENS_TERRACE_UNUSED, "Craftsmens Terrace Unused" },
3103 { AREA_TRADESMENS_TERRACE_UNUSED, "Tradesmens Terrace Unused" },
3104 { AREA_THE_TEMPLE_GARDENS_UNUSED, "The Temple Gardens Unused" },
3105 { AREA_TEMPLE_OF_ELUNE_UNUSED, "Temple Of Elune Unused" },
3106 { AREA_CENARION_ENCLAVE_UNUSED, "Cenarion Enclave Unused" },
3107 { AREA_WARRIORS_TERRACE_UNUSED, "Warriors Terrace Unused" },
3108 { AREA_RUT_THERAN_VILLAGE, "Rut Theran Village" },
3109 { AREA_IRONBANDS_COMPOUND, "Ironbands Compound" },
3110 { AREA_THE_STOCKADE, "The Stockade" },
3111 { AREA_WAILING_CAVERNS, "Wailing Caverns" },
3112 { AREA_BLACKFATHOM_DEEPS0, "Blackfathom Deeps0" },
3113 { AREA_FRAY_ISLAND, "Fray Island" },
3114 { AREA_GNOMEREGAN1, "Gnomeregan1" },
3115 { AREA_RAZORFEN_DOWNS0, "Razorfen Downs0" },
3116 { AREA_BAN_ETHIL_HOLLOW, "Ban Ethil Hollow" },
3117 { AREA_SCARLET_MONASTERY, "Scarlet Monastery" },
3118 { AREA_JERODS_LANDING, "Jerods Landing" },
3119 { AREA_RIDGEPOINT_TOWER, "Ridgepoint Tower" },
3120 { AREA_THE_DARKENED_BANK, "The Darkened Bank" },
3121 { AREA_COLDRIDGE_PASS, "Coldridge Pass" },
3122 { AREA_CHILL_BREEZE_VALLEY, "Chill Breeze Valley" },
3123 { AREA_SHIMMER_RIDGE, "Shimmer Ridge" },
3124 { AREA_AMBERSTILL_RANCH, "Amberstill Ranch" },
3125 { AREA_THE_TUNDRID_HILLS, "The Tundrid Hills" },
3126 { AREA_SOUTH_GATE_PASS0, "South Gate Pass0" },
3127 { AREA_SOUTH_GATE_OUTPOST, "South Gate Outpost" },
3128 { AREA_NORTH_GATE_PASS0, "North Gate Pass0" },
3129 { AREA_NORTH_GATE_OUTPOST, "North Gate Outpost" },
3130 { AREA_GATES_OF_IRONFORGE, "Gates Of Ironforge" },
3131 { AREA_STILLWATER_POND, "Stillwater Pond" },
3132 { AREA_NIGHTMARE_VALE, "Nightmare Vale" },
3133 { AREA_VENOMWEB_VALE, "Venomweb Vale" },
3134 { AREA_THE_BULWARK1, "The Bulwark1" },
3135 { AREA_SOUTHFURY_RIVER1, "Southfury River1" },
3136 { AREA_SOUTHFURY_RIVER2, "Southfury River2" },
3137 { AREA_RAZORMANE_GROUNDS, "Razormane Grounds" },
3138 { AREA_SKULL_ROCK, "Skull Rock" },
3139 { AREA_PALEMANE_ROCK, "Palemane Rock" },
3140 { AREA_WINDFURY_RIDGE, "Windfury Ridge" },
3141 { AREA_THE_GOLDEN_PLAINS, "The Golden Plains" },
3142 { AREA_THE_ROLLING_PLAINS, "The Rolling Plains" },
3143 { AREA_DUN_ALGAZ1, "Dun Algaz1" },
3144 { AREA_DUN_ALGAZ2, "Dun Algaz2" },
3145 { AREA_NORTH_GATE_PASS1, "North Gate Pass1" },
3146 { AREA_SOUTH_GATE_PASS1, "South Gate Pass1" },
3147 { AREA_TWILIGHT_GROVE, "Twilight Grove" },
3148 { AREA_GM_ISLAND, "Gm Island" },
3149 { AREA_DELETE_ME1, "Delete Me1" },
3150 { AREA_SOUTHFURY_RIVER3, "Southfury River3" },
3151 { AREA_SOUTHFURY_RIVER4, "Southfury River4" },
3152 { AREA_THANDOL_SPAN1, "Thandol Span1" },
3153 { AREA_THANDOL_SPAN2, "Thandol Span2" },
3154 { AREA_PURGATION_ISLE, "Purgation Isle" },
3155 { AREA_THE_JANSEN_STEAD, "The Jansen Stead" },
3156 { AREA_THE_DEAD_ACRE, "The Dead Acre" },
3157 { AREA_THE_MOLSEN_FARM, "The Molsen Farm" },
3158 { AREA_STENDELS_POND, "Stendels Pond" },
3159 { AREA_THE_DAGGER_HILLS, "The Dagger Hills" },
3160 { AREA_DEMONTS_PLACE, "Demonts Place" },
3161 { AREA_THE_DUST_PLAINS, "The Dust Plains" },
3162 { AREA_STONESPLINTER_VALLEY, "Stonesplinter Valley" },
3163 { AREA_VALLEY_OF_KINGS, "Valley Of Kings" },
3164 { AREA_ALGAZ_STATION, "Algaz Station" },
3165 { AREA_BUCKLEBREE_FARM, "Bucklebree Farm" },
3166 { AREA_THE_SHINING_STRAND, "The Shining Strand" },
3167 { AREA_NORTH_TIDES_HOLLOW, "North Tides Hollow" },
3168 { AREA_GRIZZLEPAW_RIDGE, "Grizzlepaw Ridge" },
3169 { AREA_THE_VERDANT_FIELDS, "The Verdant Fields" },
3170 { AREA_GADGETZAN, "Gadgetzan" },
3171 { AREA_STEAMWHEEDLE_PORT, "Steamwheedle Port" },
3172 { AREA_ZUL_FARRAK0, "Zul Farrak0" },
3173 { AREA_SANDSORROW_WATCH, "Sandsorrow Watch" },
3174 { AREA_THISTLESHRUB_VALLEY, "Thistleshrub Valley" },
3175 { AREA_THE_GAPING_CHASM, "The Gaping Chasm" },
3176 { AREA_THE_NOXIOUS_LAIR, "The Noxious Lair" },
3177 { AREA_DUNEMAUL_COMPOUND, "Dunemaul Compound" },
3178 { AREA_EASTMOON_RUINS, "Eastmoon Ruins" },
3179 { AREA_WATERSPRING_FIELD, "Waterspring Field" },
3180 { AREA_ZALASHJIS_DEN, "Zalashjis Den" },
3181 { AREA_LANDS_END_BEACH, "Lands End Beach" },
3182 { AREA_WAVESTRIDER_BEACH, "Wavestrider Beach" },
3183 { AREA_ULDUM, "Uldum" },
3184 { AREA_VALLEY_OF_THE_WATCHERS, "Valley Of The Watchers" },
3185 { AREA_GUNSTANS_POST, "Gunstans Post" },
3186 { AREA_SOUTHMOON_RUINS, "Southmoon Ruins" },
3187 { AREA_RENDERS_CAMP, "Renders Camp" },
3188 { AREA_RENDERS_VALLEY, "Renders Valley" },
3189 { AREA_RENDERS_ROCK, "Renders Rock" },
3190 { AREA_STONEWATCH_TOWER, "Stonewatch Tower" },
3191 { AREA_GALARDELL_VALLEY, "Galardell Valley" },
3192 { AREA_LAKERIDGE_HIGHWAY, "Lakeridge Highway" },
3193 { AREA_THREE_CORNERS, "Three Corners" },
3194 { AREA_DIREFORGE_HILL, "Direforge Hill" },
3195 { AREA_RAPTOR_RIDGE, "Raptor Ridge" },
3196 { AREA_BLACK_CHANNEL_MARSH, "Black Channel Marsh" },
3197 { AREA_THE_GREEN_BELT0, "The Green Belt0" },
3198 { AREA_MOSSHIDE_FEN, "Mosshide Fen" },
3199 { AREA_THELGEN_ROCK, "Thelgen Rock" },
3200 { AREA_BLUEGILL_MARSH, "Bluegill Marsh" },
3201 { AREA_SALTSPRAY_GLEN, "Saltspray Glen" },
3202 { AREA_SUNDOWN_MARSH, "Sundown Marsh" },
3203 { AREA_THE_GREEN_BELT1, "The Green Belt1" },
3204 { AREA_ANGERFANG_ENCAMPMENT, "Angerfang Encampment" },
3205 { AREA_GRIM_BATOL, "Grim Batol" },
3206 { AREA_DRAGONMAW_GATES, "Dragonmaw Gates" },
3207 { AREA_THE_LOST_FLEET, "The Lost Fleet" },
3208 { AREA_DARROW_HILL0, "Darrow Hill0" },
3209 { AREA_THORADINS_WALL1, "Thoradins Wall1" },
3210 { AREA_WEBWINDER_PATH, "Webwinder Path" },
3211 { AREA_THE_HUSHED_BANK, "The Hushed Bank" },
3212 { AREA_MANOR_MISTMANTLE, "Manor Mistmantle" },
3213 { AREA_CAMP_MOJACHE, "Camp Mojache" },
3214 { AREA_GRIMTOTEM_COMPOUND, "Grimtotem Compound" },
3215 { AREA_THE_WRITHING_DEEP, "The Writhing Deep" },
3216 { AREA_WILDWIND_LAKE, "Wildwind Lake" },
3217 { AREA_GORDUNNI_OUTPOST, "Gordunni Outpost" },
3218 { AREA_MOK_GORDUN, "Mok Gordun" },
3219 { AREA_FERAL_SCAR_VALE, "Feral Scar Vale" },
3220 { AREA_FRAYFEATHER_HIGHLANDS, "Frayfeather Highlands" },
3221 { AREA_IDLEWIND_LAKE, "Idlewind Lake" },
3222 { AREA_THE_FORGOTTEN_COAST, "The Forgotten Coast" },
3223 { AREA_EAST_PILLAR, "East Pillar" },
3224 { AREA_WEST_PILLAR, "West Pillar" },
3225 { AREA_DREAM_BOUGH, "Dream Bough" },
3226 { AREA_JADEMIR_LAKE, "Jademir Lake" },
3227 { AREA_ONEIROS, "Oneiros" },
3228 { AREA_RUINS_OF_RAVENWIND, "Ruins Of Ravenwind" },
3229 { AREA_RAGE_SCAR_HOLD, "Rage Scar Hold" },
3230 { AREA_FEATHERMOON_STRONGHOLD, "Feathermoon Stronghold" },
3231 { AREA_RUINS_OF_SOLARSAL, "Ruins Of Solarsal" },
3232 { AREA_LOWER_WILDS_UNUSED, "Lower Wilds Unused" },
3233 { AREA_THE_TWIN_COLOSSALS, "The Twin Colossals" },
3234 { AREA_SARDOR_ISLE, "Sardor Isle" },
3235 { AREA_ISLE_OF_DREAD, "Isle Of Dread" },
3236 { AREA_HIGH_WILDERNESS, "High Wilderness" },
3237 { AREA_LOWER_WILDS, "Lower Wilds" },
3238 { AREA_SOUTHERN_BARRENS, "Southern Barrens" },
3239 { AREA_SOUTHERN_GOLD_ROAD, "Southern Gold Road" },
3240 { AREA_ZUL_FARRAK1, "Zul Farrak1" },
3241 { AREA_UNUSED_ALCAZ_ISLAND, "Unused Alcaz Island" },
3242 { AREA_TIMBERMAW_HOLD0, "Timbermaw Hold0" },
3243 { AREA_VANNDIR_ENCAMPMENT, "Vanndir Encampment" },
3244 { AREA_TEST_AZSHARA, "Test Azshara" },
3245 { AREA_LEGASH_ENCAMPMENT, "Legash Encampment" },
3246 { AREA_THALASSIAN_BASE_CAMP, "Thalassian Base Camp" },
3247 { AREA_RUINS_OF_ELDARATH, "Ruins Of Eldarath" },
3248 { AREA_HETAERAS_CLUTCH, "Hetaeras Clutch" },
3249 { AREA_TEMPLE_OF_ZIN_MALOR, "Temple Of Zin Malor" },
3250 { AREA_BEARS_HEAD, "Bears Head" },
3251 { AREA_URSOLAN, "Ursolan" },
3252 { AREA_TEMPLE_OF_ARKKORAN, "Temple Of Arkkoran" },
3253 { AREA_BAY_OF_STORMS, "Bay Of Storms" },
3254 { AREA_THE_SHATTERED_STRAND, "The Shattered Strand" },
3255 { AREA_TOWER_OF_ELDARA, "Tower Of Eldara" },
3256 { AREA_JAGGED_REEF, "Jagged Reef" },
3257 { AREA_SOUTHRIDGE_BEACH, "Southridge Beach" },
3258 { AREA_RAVENCREST_MONUMENT, "Ravencrest Monument" },
3259 { AREA_FORLORN_RIDGE, "Forlorn Ridge" },
3260 { AREA_LAKE_MENNAR, "Lake Mennar" },
3261 { AREA_SHADOWSONG_SHRINE, "Shadowsong Shrine" },
3262 { AREA_HALDARR_ENCAMPMENT, "Haldarr Encampment" },
3263 { AREA_VALORMOK, "Valormok" },
3264 { AREA_THE_RUINED_REACHES, "The Ruined Reaches" },
3265 { AREA_THE_TALONDEEP_PATH0, "The Talondeep Path0" },
3266 { AREA_THE_TALONDEEP_PATH1, "The Talondeep Path1" },
3267 { AREA_ROCKTUSK_FARM, "Rocktusk Farm" },
3268 { AREA_JAGGEDSWINE_FARM, "Jaggedswine Farm" },
3269 { AREA_RAZORFEN_DOWNS1, "Razorfen Downs1" },
3270 { AREA_LOST_RIGGER_COVE, "Lost Rigger Cove" },
3271 { AREA_ULDAMAN0, "Uldaman0" },
3272 { AREA_LORDAMERE_LAKE1, "Lordamere Lake1" },
3273 { AREA_LORDAMERE_LAKE2, "Lordamere Lake2" },
3274 { AREA_GALLOWS_CORNER, "Gallows Corner" },
3275 { AREA_SILITHUS, "Silithus" },
3276 { AREA_EMERALD_FOREST, "Emerald Forest" },
3277 { AREA_SUNKEN_TEMPLE, "Sunken Temple" },
3278 { AREA_DREADMAUL_HOLD, "Dreadmaul Hold" },
3279 { AREA_NETHERGARDE_KEEP, "Nethergarde Keep" },
3280 { AREA_DREADMAUL_POST, "Dreadmaul Post" },
3281 { AREA_SERPENTS_COIL, "Serpents Coil" },
3282 { AREA_ALTAR_OF_STORMS1, "Altar Of Storms1" },
3283 { AREA_FIREWATCH_RIDGE, "Firewatch Ridge" },
3284 { AREA_THE_SLAG_PIT, "The Slag Pit" },
3285 { AREA_THE_SEA_OF_CINDERS, "The Sea Of Cinders" },
3286 { AREA_BLACKROCK_MOUNTAIN2, "Blackrock Mountain2" },
3287 { AREA_THORIUM_POINT, "Thorium Point" },
3288 { AREA_GARRISON_ARMORY, "Garrison Armory" },
3289 { AREA_THE_TEMPLE_OF_ATAL_HAKKAR, "The Temple Of Atal Hakkar" },
3290 { AREA_UNDERCITY, "Undercity" },
3291 { AREA_ULDAMAN1, "Uldaman1" },
3292 { AREA_NOT_USED_DEADMINES, "Not Used Deadmines" },
3293 { AREA_STORMWIND_CITY, "Stormwind City" },
3294 { AREA_IRONFORGE, "Ironforge" },
3295 { AREA_SPLITHOOF_HOLD, "Splithoof Hold" },
3296 { AREA_THE_CAPE_OF_STRANGLETHORN, "The Cape Of Stranglethorn" },
3297 { AREA_SOUTHERN_SAVAGE_COAST, "Southern Savage Coast" },
3298 { AREA_UNUSED_THE_DEADMINES_002, "Unused The Deadmines 002" },
3299 { AREA_UNUSED_IRONCLAD_COVE_003, "Unused Ironclad Cove 003" },
3300 { AREA_THE_DEADMINES, "The Deadmines" },
3301 { AREA_IRONCLAD_COVE, "Ironclad Cove" },
3302 { AREA_BLACKROCK_SPIRE, "Blackrock Spire" },
3303 { AREA_BLACKROCK_DEPTHS, "Blackrock Depths" },
3304 { AREA_RAPTOR_GROUNDS_UNUSED, "Raptor Grounds Unused" },
3305 { AREA_GROL_DOM_FARM_UNUSED, "Grol Dom Farm Unused" },
3306 { AREA_MORSHAN_BASE_CAMP, "Morshan Base Camp" },
3307 { AREA_HONORS_STAND_UNUSED, "Honors Stand Unused" },
3308 { AREA_BLACKTHORN_RIDGE_UNUSED, "Blackthorn Ridge Unused" },
3309 { AREA_BRAMBLESCAR_UNUSED, "Bramblescar Unused" },
3310 { AREA_AGAMA_GOR_UNUSED, "Agama Gor Unused" },
3311 { AREA_VALLEY_OF_HEROES, "Valley Of Heroes" },
3312 { AREA_ORGRIMMAR, "Orgrimmar" },
3313 { AREA_THUNDER_BLUFF, "Thunder Bluff" },
3314 { AREA_ELDER_RISE, "Elder Rise" },
3315 { AREA_SPIRIT_RISE, "Spirit Rise" },
3316 { AREA_HUNTER_RISE, "Hunter Rise" },
3317 { AREA_DARNASSUS, "Darnassus" },
3318 { AREA_CENARION_ENCLAVE, "Cenarion Enclave" },
3319 { AREA_CRAFTSMENS_TERRACE, "Craftsmens Terrace" },
3320 { AREA_WARRIORS_TERRACE, "Warriors Terrace" },
3321 { AREA_THE_TEMPLE_GARDENS, "The Temple Gardens" },
3322 { AREA_TRADESMENS_TERRACE, "Tradesmens Terrace" },
3323 { AREA_GAVINS_NAZE, "Gavins Naze" },
3324 { AREA_SOFERAS_NAZE, "Soferas Naze" },
3325 { AREA_CORRAHNS_DAGGER, "Corrahns Dagger" },
3326 { AREA_THE_HEADLAND, "The Headland" },
3327 { AREA_MISTY_SHORE, "Misty Shore" },
3328 { AREA_DANDREDS_FOLD, "Dandreds Fold" },
3329 { AREA_GROWLESS_CAVE, "Growless Cave" },
3330 { AREA_CHILLWIND_POINT, "Chillwind Point" },
3331 { AREA_RAPTOR_GROUNDS, "Raptor Grounds" },
3332 { AREA_BRAMBLESCAR, "Bramblescar" },
3333 { AREA_THORN_HILL, "Thorn Hill" },
3334 { AREA_AGAMA_GOR, "Agama Gor" },
3335 { AREA_BLACKTHORN_RIDGE, "Blackthorn Ridge" },
3336 { AREA_HONORS_STAND, "Honors Stand" },
3337 { AREA_THE_MORSHAN_RAMPART, "The Morshan Rampart" },
3338 { AREA_GROL_DOM_FARM, "Grol Dom Farm" },
3339 { AREA_RAZORFEN_KRAUL1, "Razorfen Kraul1" },
3340 { AREA_THE_GREAT_LIFT1, "The Great Lift1" },
3341 { AREA_MISTVALE_VALLEY, "Mistvale Valley" },
3342 { AREA_NEK_MANI_WELLSPRING, "Nek Mani Wellspring" },
3343 { AREA_BLOODSAIL_COMPOUND, "Bloodsail Compound" },
3344 { AREA_VENTURE_CO_BASE_CAMP, "Venture Co Base Camp" },
3345 { AREA_GURUBASHI_ARENA, "Gurubashi Arena" },
3346 { AREA_SPIRIT_DEN, "Spirit Den" },
3347 { AREA_THE_CRIMSON_VEIL, "The Crimson Veil" },
3348 { AREA_THE_RIPTIDE, "The Riptide" },
3349 { AREA_THE_DAMSELS_LUCK, "The Damsels Luck" },
3350 { AREA_VENTURE_CO_OPERATIONS_CENTER, "Venture Co Operations Center" },
3351 { AREA_DEADWOOD_VILLAGE, "Deadwood Village" },
3352 { AREA_FELPAW_VILLAGE, "Felpaw Village" },
3353 { AREA_JAEDENAR, "Jaedenar" },
3354 { AREA_BLOODVENOM_RIVER, "Bloodvenom River" },
3355 { AREA_BLOODVENOM_FALLS, "Bloodvenom Falls" },
3356 { AREA_SHATTER_SCAR_VALE, "Shatter Scar Vale" },
3357 { AREA_IRONTREE_WOODS, "Irontree Woods" },
3358 { AREA_IRONTREE_CAVERN, "Irontree Cavern" },
3359 { AREA_TIMBERMAW_HOLD1, "Timbermaw Hold1" },
3360 { AREA_SHADOW_HOLD, "Shadow Hold" },
3361 { AREA_SHRINE_OF_THE_DECEIVER, "Shrine Of The Deceiver" },
3362 { AREA_ITHARIUSS_CAVE, "Ithariuss Cave" },
3363 { AREA_SORROWMURK, "Sorrowmurk" },
3364 { AREA_DRAENIL_DUR_VILLAGE, "Draenil Dur Village" },
3365 { AREA_SPLINTERSPEAR_JUNCTION, "Splinterspear Junction" },
3366 { AREA_STAGALBOG, "Stagalbog" },
3367 { AREA_THE_SHIFTING_MIRE, "The Shifting Mire" },
3368 { AREA_STAGALBOG_CAVE, "Stagalbog Cave" },
3369 { AREA_WITHERBARK_CAVERNS, "Witherbark Caverns" },
3370 { AREA_THORADINS_WALL2, "Thoradins Wall2" },
3371 { AREA_BOULDER_GOR, "Boulder Gor" },
3372 { AREA_VALLEY_OF_FANGS, "Valley Of Fangs" },
3373 { AREA_THE_DUSTBOWL, "The Dustbowl" },
3374 { AREA_MIRAGE_FLATS, "Mirage Flats" },
3375 { AREA_FEATHERBEARDS_HOVEL, "Featherbeards Hovel" },
3376 { AREA_SHINDIGGERS_CAMP, "Shindiggers Camp" },
3377 { AREA_PLAGUEMIST_RAVINE, "Plaguemist Ravine" },
3378 { AREA_VALORWIND_LAKE, "Valorwind Lake" },
3379 { AREA_AGOL_WATHA, "Agol Watha" },
3380 { AREA_HIRI_WATHA, "Hiri Watha" },
3381 { AREA_THE_CREEPING_RUIN, "The Creeping Ruin" },
3382 { AREA_BOGENS_LEDGE, "Bogens Ledge" },
3383 { AREA_THE_MAKERS_TERRACE, "The Makers Terrace" },
3384 { AREA_DUSTWIND_GULCH, "Dustwind Gulch" },
3385 { AREA_SHAOL_WATHA, "Shaol Watha" },
3386 { AREA_NOONSHADE_RUINS, "Noonshade Ruins" },
3387 { AREA_BROKEN_PILLAR, "Broken Pillar" },
3388 { AREA_ABYSSAL_SANDS, "Abyssal Sands" },
3389 { AREA_SOUTHBREAK_SHORE, "Southbreak Shore" },
3390 { AREA_CAVERNS_OF_TIME0, "Caverns Of Time0" },
3391 { AREA_THE_MARSHLANDS, "The Marshlands" },
3392 { AREA_IRONSTONE_PLATEAU, "Ironstone Plateau" },
3393 { AREA_BLACKCHAR_CAVE, "Blackchar Cave" },
3394 { AREA_TANNER_CAMP, "Tanner Camp" },
3395 { AREA_DUSTFIRE_VALLEY, "Dustfire Valley" },
3396 { AREA_ZUL_GURUB1, "Zul Gurub1" },
3397 { AREA_MISTY_REED_POST, "Misty Reed Post" },
3398 { AREA_BLOODVENOM_POST, "Bloodvenom Post" },
3399 { AREA_TALONBRANCH_GLADE, "Talonbranch Glade" },
3400 { AREA_STRATHOLME0, "Stratholme0" },
3401 { AREA_UNUSED_SHADOWFANG_KEEP_003, "Unused Shadowfang Keep 003" },
3402 { AREA_SCHOLOMANCE, "Scholomance" },
3403 { AREA_TWILIGHT_VALE, "Twilight Vale" },
3404 { AREA_TWILIGHT_SHORE, "Twilight Shore" },
3405 { AREA_ALCAZ_ISLAND, "Alcaz Island" },
3406 { AREA_DARKCLOUD_PINNACLE, "Darkcloud Pinnacle" },
3407 { AREA_DAWNING_WOOD_CATACOMBS, "Dawning Wood Catacombs" },
3408 { AREA_STONEWATCH_KEEP, "Stonewatch Keep" },
3409 { AREA_MARAUDON, "Maraudon" },
3410 { AREA_STOUTLAGER_INN, "Stoutlager Inn" },
3411 { AREA_THUNDERBREW_DISTILLERY, "Thunderbrew Distillery" },
3412 { AREA_MENETHIL_KEEP, "Menethil Keep" },
3413 { AREA_DEEPWATER_TAVERN, "Deepwater Tavern" },
3414 { AREA_SHADOW_GRAVE, "Shadow Grave" },
3415 { AREA_BRILL_TOWN_HALL, "Brill Town Hall" },
3416 { AREA_GALLOWS_END_TAVERN, "Gallows End Tavern" },
3417 { AREA_THE_POOLS_OF_VISION_UNUSED, "The Pools Of Vision Unused" },
3418 { AREA_DREADMIST_DEN, "Dreadmist Den" },
3419 { AREA_BAEL_DUN_KEEP, "Bael Dun Keep" },
3420 { AREA_EMBERSTRIFES_DEN, "Emberstrifes Den" },
3421 { AREA_ONYXIAS_LAIR, "Onyxias Lair" },
3422 { AREA_WINDSHEAR_MINE, "Windshear Mine" },
3423 { AREA_ROLANDS_DOOM, "Rolands Doom" },
3424 { AREA_BATTLE_RING, "Battle Ring" },
3425 { AREA_THE_POOLS_OF_VISION, "The Pools Of Vision" },
3426 { AREA_SHADOWBREAK_RAVINE, "Shadowbreak Ravine" },
3427 { AREA_BROKEN_SPEAR_VILLAGE, "Broken Spear Village" },
3428 { AREA_WHITEREACH_POST, "Whitereach Post" },
3429 { AREA_GORNIA, "Gornia" },
3430 { AREA_ZANES_EYE_CRATER, "Zanes Eye Crater" },
3431 { AREA_MIRAGE_RACEWAY, "Mirage Raceway" },
3432 { AREA_FROSTSABER_ROCK, "Frostsaber Rock" },
3433 { AREA_THE_HIDDEN_GROVE, "The Hidden Grove" },
3434 { AREA_TIMBERMAW_POST, "Timbermaw Post" },
3435 { AREA_WINTERFALL_VILLAGE, "Winterfall Village" },
3436 { AREA_MAZTHORIL, "Mazthoril" },
3437 { AREA_FROSTFIRE_HOT_SPRINGS, "Frostfire Hot Springs" },
3438 { AREA_ICE_THISTLE_HILLS, "Ice Thistle Hills" },
3439 { AREA_DUN_MANDARR, "Dun Mandarr" },
3440 { AREA_FROSTWHISPER_GORGE, "Frostwhisper Gorge" },
3441 { AREA_OWL_WING_THICKET, "Owl Wing Thicket" },
3442 { AREA_LAKE_KEL_THERIL, "Lake Kel Theril" },
3443 { AREA_THE_RUINS_OF_KEL_THERIL, "The Ruins Of Kel Theril" },
3444 { AREA_STARFALL_VILLAGE, "Starfall Village" },
3445 { AREA_BAN_THALLOW_BARROW_DEN, "Ban Thallow Barrow Den" },
3446 { AREA_EVERLOOK, "Everlook" },
3447 { AREA_DARKWHISPER_GORGE, "Darkwhisper Gorge" },
3448 { AREA_DEEPRUN_TRAM, "Deeprun Tram" },
3449 { AREA_THE_FUNGAL_VALE, "The Fungal Vale" },
3450 { AREA_UNUSED_THE_MARRIS_STEAD, "Unused The Marris Stead" },
3451 { AREA_THE_MARRIS_STEAD, "The Marris Stead" },
3452 { AREA_THE_UNDERCROFT, "The Undercroft" },
3453 { AREA_DARROWSHIRE, "Darrowshire" },
3454 { AREA_CROWN_GUARD_TOWER, "Crown Guard Tower" },
3455 { AREA_CORINS_CROSSING, "Corins Crossing" },
3456 { AREA_SCARLET_BASE_CAMP, "Scarlet Base Camp" },
3457 { AREA_TYRS_HAND, "Tyrs Hand" },
3458 { AREA_THE_SCARLET_BASILICA, "The Scarlet Basilica" },
3459 { AREA_LIGHTS_HOPE_CHAPEL, "Lights Hope Chapel" },
3460 { AREA_BROWMAN_MILL, "Browman Mill" },
3461 { AREA_THE_NOXIOUS_GLADE, "The Noxious Glade" },
3462 { AREA_EASTWALL_TOWER, "Eastwall Tower" },
3463 { AREA_NORTHDALE, "Northdale" },
3464 { AREA_ZUL_MASHAR, "Zul Mashar" },
3465 { AREA_MAZRA_ALOR, "Mazra Alor" },
3466 { AREA_NORTHPASS_TOWER, "Northpass Tower" },
3467 { AREA_QUEL_LITHIEN_LODGE, "Quel Lithien Lodge" },
3468 { AREA_PLAGUEWOOD, "Plaguewood" },
3469 { AREA_SCOURGEHOLD, "Scourgehold" },
3470 { AREA_STRATHOLME1, "Stratholme1" },
3471 { AREA_UNUSED_STRATHOLME, "Unused Stratholme" },
3472 { AREA_DARROWMERE_LAKE0, "Darrowmere Lake0" },
3473 { AREA_CAER_DARROW, "Caer Darrow" },
3474 { AREA_DARROWMERE_LAKE1, "Darrowmere Lake1" },
3475 { AREA_CAVERNS_OF_TIME1, "Caverns Of Time1" },
3476 { AREA_THISTLEFUR_VILLAGE, "Thistlefur Village" },
3477 { AREA_THE_QUAGMIRE, "The Quagmire" },
3478 { AREA_WINDBREAK_CANYON, "Windbreak Canyon" },
3479 { AREA_SOUTH_SEAS0, "South Seas0" },
3480 { AREA_THE_GREAT_SEA3, "The Great Sea3" },
3481 { AREA_THE_GREAT_SEA4, "The Great Sea4" },
3482 { AREA_THE_GREAT_SEA5, "The Great Sea5" },
3483 { AREA_THE_GREAT_SEA6, "The Great Sea6" },
3484 { AREA_THE_VEILED_SEA1, "The Veiled Sea1" },
3485 { AREA_THE_VEILED_SEA2, "The Veiled Sea2" },
3486 { AREA_THE_VEILED_SEA3, "The Veiled Sea3" },
3487 { AREA_THE_VEILED_SEA4, "The Veiled Sea4" },
3488 { AREA_THE_VEILED_SEA5, "The Veiled Sea5" },
3489 { AREA_RAZOR_HILL_BARRACKS, "Razor Hill Barracks" },
3490 { AREA_SOUTH_SEAS1, "South Seas1" },
3491 { AREA_THE_GREAT_SEA7, "The Great Sea7" },
3492 { AREA_BLOODTOOTH_CAMP, "Bloodtooth Camp" },
3493 { AREA_FOREST_SONG, "Forest Song" },
3494 { AREA_GREENPAW_VILLAGE, "Greenpaw Village" },
3495 { AREA_SILVERWING_OUTPOST, "Silverwing Outpost" },
3496 { AREA_NIGHTHAVEN, "Nighthaven" },
3497 { AREA_SHRINE_OF_REMULOS, "Shrine Of Remulos" },
3498 { AREA_STORMRAGE_BARROW_DENS, "Stormrage Barrow Dens" },
3499 { AREA_THE_GREAT_SEA8, "The Great Sea8" },
3500 { AREA_THE_GREAT_SEA9, "The Great Sea9" },
3501 { AREA_THE_BLACK_MORASS, "The Black Morass" },
3502 { AREA_OLD_HILLSBRAD_FOOTHILLS, "Old Hillsbrad Foothills" },
3503 { AREA_TARREN_MILL1, "Tarren Mill1" },
3504 { AREA_SOUTHSHORE1, "Southshore1" },
3505 { AREA_DURNHOLDE_KEEP1, "Durnholde Keep1" },
3506 { AREA_DUN_GAROK1, "Dun Garok1" },
3507 { AREA_HILLSBRAD_FIELDS1, "Hillsbrad Fields1" },
3508 { AREA_EASTERN_STRAND1, "Eastern Strand1" },
3509 { AREA_NETHANDER_STEAD1, "Nethander Stead1" },
3510 { AREA_DARROW_HILL1, "Darrow Hill1" },
3511 { AREA_SOUTHPOINT_TOWER1, "Southpoint Tower1" },
3512 { AREA_THORADINS_WALL3, "Thoradins Wall3" },
3513 { AREA_WESTERN_STRAND1, "Western Strand1" },
3514 { AREA_AZURELODE_MINE1, "Azurelode Mine1" },
3515 { AREA_THE_GREAT_SEA10, "The Great Sea10" },
3516 { AREA_THE_GREAT_SEA11, "The Great Sea11" },
3517 { AREA_THE_GREAT_SEA12, "The Great Sea12" },
3518 { AREA_THE_FORBIDDING_SEA1, "The Forbidding Sea1" },
3519 { AREA_THE_FORBIDDING_SEA2, "The Forbidding Sea2" },
3520 { AREA_THE_FORBIDDING_SEA3, "The Forbidding Sea3" },
3521 { AREA_THE_FORBIDDING_SEA4, "The Forbidding Sea4" },
3522 { AREA_TETHRIS_ARAN, "Tethris Aran" },
3523 { AREA_ETHEL_RETHOR, "Ethel Rethor" },
3524 { AREA_RANAZJAR_ISLE, "Ranazjar Isle" },
3525 { AREA_KORMEKS_HUT, "Kormeks Hut" },
3526 { AREA_SHADOWPREY_VILLAGE, "Shadowprey Village" },
3527 { AREA_BLACKROCK_PASS, "Blackrock Pass" },
3528 { AREA_MORGANS_VIGIL, "Morgans Vigil" },
3529 { AREA_SLITHER_ROCK, "Slither Rock" },
3530 { AREA_TERROR_WING_PATH, "Terror Wing Path" },
3531 { AREA_DRACO_DAR, "Draco Dar" },
3532 { AREA_RAGEFIRE_CHASM, "Ragefire Chasm" },
3533 { AREA_NIGHTSONG_WOODS, "Nightsong Woods" },
3534 { AREA_THE_VEILED_SEA6, "The Veiled Sea6" },
3535 { AREA_MORLOS_ARAN, "Morlos Aran" },
3536 { AREA_EMERALD_SANCTUARY, "Emerald Sanctuary" },
3537 { AREA_JADEFIRE_GLEN, "Jadefire Glen" },
3538 { AREA_RUINS_OF_CONSTELLAS, "Ruins Of Constellas" },
3539 { AREA_BITTER_REACHES, "Bitter Reaches" },
3540 { AREA_RISE_OF_THE_DEFILER, "Rise Of The Defiler" },
3541 { AREA_LARISS_PAVILION, "Lariss Pavilion" },
3542 { AREA_WOODPAW_HILLS, "Woodpaw Hills" },
3543 { AREA_WOODPAW_DEN, "Woodpaw Den" },
3544 { AREA_VERDANTIS_RIVER, "Verdantis River" },
3545 { AREA_RUINS_OF_ISILDIEN, "Ruins Of Isildien" },
3546 { AREA_GRIMTOTEM_POST, "Grimtotem Post" },
3547 { AREA_CAMP_APARAJE, "Camp Aparaje" },
3548 { AREA_MALAKA_JIN, "Malaka Jin" },
3549 { AREA_BOULDERSLIDE_RAVINE, "Boulderslide Ravine" },
3550 { AREA_SISHIR_CANYON, "Sishir Canyon" },
3551 { AREA_DIRE_MAUL0, "Dire Maul0" },
3552 { AREA_DEADWIND_RAVINE, "Deadwind Ravine" },
3553 { AREA_DIAMONDHEAD_RIVER, "Diamondhead River" },
3554 { AREA_ARIDENS_CAMP, "Aridens Camp" },
3555 { AREA_THE_VICE, "The Vice" },
3556 { AREA_KARAZHAN, "Karazhan" },
3557 { AREA_MORGANS_PLOT, "Morgans Plot" },
3558 { AREA_DIRE_MAUL1, "Dire Maul1" },
3559 { AREA_ALTERAC_VALLEY0, "Alterac Valley0" },
3560 { AREA_SCRABBLESCREWS_CAMP, "Scrabblescrews Camp" },
3561 { AREA_JADEFIRE_RUN, "Jadefire Run" },
3562 { AREA_THONDRORIL_RIVER0, "Thondroril River0" },
3563 { AREA_THONDRORIL_RIVER1, "Thondroril River1" },
3564 { AREA_LAKE_MERELDAR, "Lake Mereldar" },
3565 { AREA_PESTILENT_SCAR, "Pestilent Scar" },
3566 { AREA_THE_INFECTIS_SCAR, "The Infectis Scar" },
3567 { AREA_BLACKWOOD_LAKE, "Blackwood Lake" },
3568 { AREA_EASTWALL_GATE, "Eastwall Gate" },
3569 { AREA_TERRORWEB_TUNNEL, "Terrorweb Tunnel" },
3570 { AREA_TERRORDALE, "Terrordale" },
3571 { AREA_KARGATHIA_KEEP, "Kargathia Keep" },
3572 { AREA_VALLEY_OF_BONES, "Valley Of Bones" },
3573 { AREA_BLACKWING_LAIR, "Blackwing Lair" },
3574 { AREA_DEADMANS_CROSSING, "Deadmans Crossing" },
3575 { AREA_MOLTEN_CORE, "Molten Core" },
3576 { AREA_THE_SCARAB_WALL, "The Scarab Wall" },
3577 { AREA_SOUTHWIND_VILLAGE, "Southwind Village" },
3578 { AREA_TWILIGHT_BASE_CAMP, "Twilight Base Camp" },
3579 { AREA_THE_CRYSTAL_VALE, "The Crystal Vale" },
3580 { AREA_THE_SCARAB_DAIS, "The Scarab Dais" },
3581 { AREA_HIVE_ASHI, "Hive Ashi" },
3582 { AREA_HIVE_ZORA, "Hive Zora" },
3583 { AREA_HIVE_REGAL, "Hive Regal" },
3584 { AREA_SHRINE_OF_THE_FALLEN_WARRIOR, "Shrine Of The Fallen Warrior" },
3585 { AREA_UNUSED_ALTERAC_VALLEY, "Unused Alterac Valley" },
3586 { AREA_BLACKFATHOM_DEEPS1, "Blackfathom Deeps1" },
3587 { AREA_ON_MAP_DUNGEON4, "On Map Dungeon4" },
3588 { AREA_THE_MASTERS_CELLAR, "The Masters Cellar" },
3589 { AREA_STONEWROUGHT_PASS, "Stonewrought Pass" },
3590 { AREA_ALTERAC_VALLEY1, "Alterac Valley1" },
3591 { AREA_THE_RUMBLE_CAGE, "The Rumble Cage" },
3592 { AREA_CHUNK_TEST, "Chunk Test" },
3593 { AREA_ZORAMGAR_OUTPOST, "Zoramgar Outpost" },
3594 { AREA_HALL_OF_LEGENDS, "Hall Of Legends" },
3595 { AREA_CHAMPIONS_HALL, "Champions Hall" },
3596 { AREA_GROSH_GOK_COMPOUND, "Grosh Gok Compound" },
3597 { AREA_SLEEPING_GORGE, "Sleeping Gorge" },
3598 { AREA_IRONDEEP_MINE, "Irondeep Mine" },
3599 { AREA_STONEHEARTH_OUTPOST, "Stonehearth Outpost" },
3600 { AREA_DUN_BALDAR, "Dun Baldar" },
3601 { AREA_ICEWING_PASS, "Icewing Pass" },
3602 { AREA_FROSTWOLF_VILLAGE, "Frostwolf Village" },
3603 { AREA_TOWER_POINT, "Tower Point" },
3604 { AREA_COLDTOOTH_MINE, "Coldtooth Mine" },
3605 { AREA_WINTERAX_HOLD, "Winterax Hold" },
3606 { AREA_ICEBLOOD_GARRISON, "Iceblood Garrison" },
3607 { AREA_FROSTWOLF_KEEP, "Frostwolf Keep" },
3608 { AREA_TOR_KREN_FARM, "Tor Kren Farm" },
3609 { AREA_FROST_DAGGER_PASS, "Frost Dagger Pass" },
3610 { AREA_IRONSTONE_CAMP, "Ironstone Camp" },
3611 { AREA_WEAZELS_CRATER, "Weazels Crater" },
3612 { AREA_TAHONDA_RUINS, "Tahonda Ruins" },
3613 { AREA_FIELD_OF_STRIFE, "Field Of Strife" },
3614 { AREA_ICEWING_CAVERN, "Icewing Cavern" },
3615 { AREA_VALORS_REST, "Valors Rest" },
3616 { AREA_THE_SWARMING_PILLAR, "The Swarming Pillar" },
3617 { AREA_TWILIGHT_POST, "Twilight Post" },
3618 { AREA_TWILIGHT_OUTPOST, "Twilight Outpost" },
3619 { AREA_RAVAGED_TWILIGHT_CAMP, "Ravaged Twilight Camp" },
3620 { AREA_SHALZARUS_LAIR, "Shalzarus Lair" },
3621 { AREA_TALRENDIS_POINT, "Talrendis Point" },
3622 { AREA_RETHRESS_SANCTUM, "Rethress Sanctum" },
3623 { AREA_MOON_HORROR_DEN, "Moon Horror Den" },
3624 { AREA_SCALEBEARDS_CAVE, "Scalebeards Cave" },
3625 { AREA_BOULDERSLIDE_CAVERN, "Boulderslide Cavern" },
3626 { AREA_WARSONG_LABOR_CAMP, "Warsong Labor Camp" },
3627 { AREA_CHILLWIND_CAMP, "Chillwind Camp" },
3628 { AREA_THE_MAUL, "The Maul" },
3629 { AREA_THE_MAUL_UNUSED, "The Maul Unused" },
3630 { AREA_BONES_OF_GRAKKAROND, "Bones Of Grakkarond" },
3631 { AREA_WARSONG_GULCH, "Warsong Gulch" },
3632 { AREA_FROSTWOLF_GRAVEYARD, "Frostwolf Graveyard" },
3633 { AREA_FROSTWOLF_PASS, "Frostwolf Pass" },
3634 { AREA_DUN_BALDAR_PASS, "Dun Baldar Pass" },
3635 { AREA_ICEBLOOD_GRAVEYARD, "Iceblood Graveyard" },
3636 { AREA_SNOWFALL_GRAVEYARD, "Snowfall Graveyard" },
3637 { AREA_STONEHEARTH_GRAVEYARD, "Stonehearth Graveyard" },
3638 { AREA_STORMPIKE_GRAVEYARD, "Stormpike Graveyard" },
3639 { AREA_ICEWING_BUNKER, "Icewing Bunker" },
3640 { AREA_STONEHEARTH_BUNKER, "Stonehearth Bunker" },
3641 { AREA_WILDPAW_RIDGE, "Wildpaw Ridge" },
3642 { AREA_REVANTUSK_VILLAGE, "Revantusk Village" },
3643 { AREA_ROCK_OF_DUROTAN, "Rock Of Durotan" },
3644 { AREA_SILVERWING_GROVE, "Silverwing Grove" },
3645 { AREA_WARSONG_LUMBER_MILL, "Warsong Lumber Mill" },
3646 { AREA_SILVERWING_HOLD, "Silverwing Hold" },
3647 { AREA_WILDPAW_CAVERN, "Wildpaw Cavern" },
3648 { AREA_THE_VEILED_CLEFT, "The Veiled Cleft" },
3649 { AREA_YOJAMBA_ISLE, "Yojamba Isle" },
3650 { AREA_ARATHI_BASIN, "Arathi Basin" },
3651 { AREA_THE_COIL, "The Coil" },
3652 { AREA_ALTAR_OF_HIR_EEK, "Altar Of Hir Eek" },
3653 { AREA_SHADRA_ZAAR, "Shadra Zaar" },
3654 { AREA_HAKKARI_GROUNDS, "Hakkari Grounds" },
3655 { AREA_NAZE_OF_SHIRVALLAH, "Naze Of Shirvallah" },
3656 { AREA_TEMPLE_OF_BETHEKK, "Temple Of Bethekk" },
3657 { AREA_THE_BLOODFIRE_PIT, "The Bloodfire Pit" },
3658 { AREA_ALTAR_OF_THE_BLOOD_GOD, "Altar Of The Blood God" },
3659 { AREA_ZANZAS_RISE, "Zanzas Rise" },
3660 { AREA_EDGE_OF_MADNESS, "Edge Of Madness" },
3661 { AREA_TROLLBANE_HALL, "Trollbane Hall" },
3662 { AREA_DEFILERS_DEN, "Defilers Den" },
3663 { AREA_PAGLES_POINTE, "Pagles Pointe" },
3664 { AREA_FARM, "Farm" },
3665 { AREA_BLACKSMITH, "Blacksmith" },
3666 { AREA_LUMBER_MILL, "Lumber Mill" },
3667 { AREA_GOLD_MINE, "Gold Mine" },
3668 { AREA_STABLES, "Stables" },
3669 { AREA_CENARION_HOLD, "Cenarion Hold" },
3670 { AREA_STAGHELM_POINT, "Staghelm Point" },
3671 { AREA_BRONZEBEARD_ENCAMPMENT, "Bronzebeard Encampment" },
3672 { AREA_AHN_QIRAJ, "Ahn Qiraj" },
3673 { AREA_RUINS_OF_AHN_QIRAJ0, "Ruins Of Ahn Qiraj0" },
3674 { AREA_TWILIGHTS_RUN, "Twilights Run" },
3675 { AREA_ORTELLS_HIDEOUT, "Ortells Hideout" },
3676 { AREA_SCARAB_TERRACE, "Scarab Terrace" },
3677 { AREA_GENERALS_TERRACE, "Generals Terrace" },
3678 { AREA_THE_RESERVOIR, "The Reservoir" },
3679 { AREA_THE_HATCHERY, "The Hatchery" },
3680 { AREA_THE_COMB, "The Comb" },
3681 { AREA_WATCHERS_TERRACE, "Watchers Terrace" },
3682 { AREA_RUINS_OF_AHN_QIRAJ1, "Ruins Of Ahn Qiraj1" },
3683 { AREA_NAXXRAMAS, "Naxxramas" },
3684 { AREA_CITY, "City" },
3685 { AREA_GATES_OF_AHN_QIRAJ, "Gates Of Ahn Qiraj" },
3686 { AREA_RAVENHOLDT_MANOR, "Ravenholdt Manor" },
3687 { 0, NULL }
3690 typedef enum {
3691 MAP_EASTERN_KINGDOMS = 0x000,
3692 MAP_KALIMDOR = 0x001,
3693 MAP_TESTING = 0x00D,
3694 MAP_SCOTT_TEST = 0x019,
3695 MAP_CASH_TEST = 0x01D,
3696 MAP_ALTERAC_VALLEY = 0x01E,
3697 MAP_SHADOWFANG_KEEP = 0x021,
3698 MAP_STORMWIND_STOCKADE = 0x022,
3699 MAP_STORMWIND_PRISON = 0x023,
3700 MAP_DEADMINES = 0x024,
3701 MAP_AZSHARA_CRATER = 0x025,
3702 MAP_COLLINS_TEST = 0x02A,
3703 MAP_WAILING_CAVERNS = 0x02B,
3704 MAP_MONASTERY_UNUSED = 0x02C,
3705 MAP_RAZORFEN_KRAUL = 0x02F,
3706 MAP_BLACKFATHOM_DEEPS = 0x030,
3707 MAP_ULDAMAN = 0x046,
3708 MAP_GNOMEREGAN = 0x05A,
3709 MAP_SUNKEN_TEMPLE = 0x06D,
3710 MAP_RAZORFEN_DOWNS = 0x081,
3711 MAP_EMERALD_DREAM = 0x0A9,
3712 MAP_SCARLET_MONASTERY = 0x0BD,
3713 MAP_ZUL_FARRAK = 0x0D1,
3714 MAP_BLACKROCK_SPIRE = 0x0E5,
3715 MAP_BLACKROCK_DEPTHS = 0x0E6,
3716 MAP_ONYXIAS_LAIR = 0x0F9,
3717 MAP_OPENING_OF_THE_DARK_PORTAL = 0x10D,
3718 MAP_SCHOLOMANCE = 0x121,
3719 MAP_ZUL_GURUB = 0x135,
3720 MAP_STRATHOLME = 0x149,
3721 MAP_MARAUDON = 0x15D,
3722 MAP_DEEPRUN_TRAM = 0x171,
3723 MAP_RAGEFIRE_CHASM = 0x185,
3724 MAP_MOLTEN_CORE = 0x199,
3725 MAP_DIRE_MAUL = 0x1AD,
3726 MAP_ALLIANCE_PVP_BARRACKS = 0x1C1,
3727 MAP_HORDE_PVP_BARRACKS = 0x1C2,
3728 MAP_DEVELOPMENT_LAND = 0x1C3,
3729 MAP_BLACKWING_LAIR = 0x1D5,
3730 MAP_WARSONG_GULCH = 0x1E9,
3731 MAP_RUINS_OF_AHN_QIRAJ = 0x1FD,
3732 MAP_ARATHI_BASIN = 0x211,
3733 MAP_AHN_QIRAJ_TEMPLE = 0x213,
3734 MAP_NAXXRAMAS = 0x215,
3735 } e_map;
3736 static const value_string e_map_strings[] = {
3737 { MAP_EASTERN_KINGDOMS, "Eastern Kingdoms" },
3738 { MAP_KALIMDOR, "Kalimdor" },
3739 { MAP_TESTING, "Testing" },
3740 { MAP_SCOTT_TEST, "Scott Test" },
3741 { MAP_CASH_TEST, "Cash Test" },
3742 { MAP_ALTERAC_VALLEY, "Alterac Valley" },
3743 { MAP_SHADOWFANG_KEEP, "Shadowfang Keep" },
3744 { MAP_STORMWIND_STOCKADE, "Stormwind Stockade" },
3745 { MAP_STORMWIND_PRISON, "Stormwind Prison" },
3746 { MAP_DEADMINES, "Deadmines" },
3747 { MAP_AZSHARA_CRATER, "Azshara Crater" },
3748 { MAP_COLLINS_TEST, "Collins Test" },
3749 { MAP_WAILING_CAVERNS, "Wailing Caverns" },
3750 { MAP_MONASTERY_UNUSED, "Monastery Unused" },
3751 { MAP_RAZORFEN_KRAUL, "Razorfen Kraul" },
3752 { MAP_BLACKFATHOM_DEEPS, "Blackfathom Deeps" },
3753 { MAP_ULDAMAN, "Uldaman" },
3754 { MAP_GNOMEREGAN, "Gnomeregan" },
3755 { MAP_SUNKEN_TEMPLE, "Sunken Temple" },
3756 { MAP_RAZORFEN_DOWNS, "Razorfen Downs" },
3757 { MAP_EMERALD_DREAM, "Emerald Dream" },
3758 { MAP_SCARLET_MONASTERY, "Scarlet Monastery" },
3759 { MAP_ZUL_FARRAK, "Zul Farrak" },
3760 { MAP_BLACKROCK_SPIRE, "Blackrock Spire" },
3761 { MAP_BLACKROCK_DEPTHS, "Blackrock Depths" },
3762 { MAP_ONYXIAS_LAIR, "Onyxias Lair" },
3763 { MAP_OPENING_OF_THE_DARK_PORTAL, "Opening Of The Dark Portal" },
3764 { MAP_SCHOLOMANCE, "Scholomance" },
3765 { MAP_ZUL_GURUB, "Zul Gurub" },
3766 { MAP_STRATHOLME, "Stratholme" },
3767 { MAP_MARAUDON, "Maraudon" },
3768 { MAP_DEEPRUN_TRAM, "Deeprun Tram" },
3769 { MAP_RAGEFIRE_CHASM, "Ragefire Chasm" },
3770 { MAP_MOLTEN_CORE, "Molten Core" },
3771 { MAP_DIRE_MAUL, "Dire Maul" },
3772 { MAP_ALLIANCE_PVP_BARRACKS, "Alliance Pvp Barracks" },
3773 { MAP_HORDE_PVP_BARRACKS, "Horde Pvp Barracks" },
3774 { MAP_DEVELOPMENT_LAND, "Development Land" },
3775 { MAP_BLACKWING_LAIR, "Blackwing Lair" },
3776 { MAP_WARSONG_GULCH, "Warsong Gulch" },
3777 { MAP_RUINS_OF_AHN_QIRAJ, "Ruins Of Ahn Qiraj" },
3778 { MAP_ARATHI_BASIN, "Arathi Basin" },
3779 { MAP_AHN_QIRAJ_TEMPLE, "Ahn Qiraj Temple" },
3780 { MAP_NAXXRAMAS, "Naxxramas" },
3781 { 0, NULL }
3784 typedef enum {
3785 CREATURE_FAMILY_NONE = 0x00,
3786 CREATURE_FAMILY_WOLF = 0x01,
3787 CREATURE_FAMILY_CAT = 0x02,
3788 CREATURE_FAMILY_SPIDER = 0x03,
3789 CREATURE_FAMILY_BEAR = 0x04,
3790 CREATURE_FAMILY_BOAR = 0x05,
3791 CREATURE_FAMILY_CROCOLISK = 0x06,
3792 CREATURE_FAMILY_CARRION_BIRD = 0x07,
3793 CREATURE_FAMILY_CRAB = 0x08,
3794 CREATURE_FAMILY_GORILLA = 0x09,
3795 CREATURE_FAMILY_RAPTOR = 0x0B,
3796 CREATURE_FAMILY_TALLSTRIDER = 0x0C,
3797 CREATURE_FAMILY_FELHUNTER = 0x0F,
3798 CREATURE_FAMILY_VOIDWALKER = 0x10,
3799 CREATURE_FAMILY_SUCCUBUS = 0x11,
3800 CREATURE_FAMILY_DOOMGUARD = 0x13,
3801 CREATURE_FAMILY_SCORPID = 0x14,
3802 CREATURE_FAMILY_TURTLE = 0x15,
3803 CREATURE_FAMILY_IMP = 0x17,
3804 CREATURE_FAMILY_BAT = 0x18,
3805 CREATURE_FAMILY_HYENA = 0x19,
3806 CREATURE_FAMILY_OWL = 0x1A,
3807 CREATURE_FAMILY_WIND_SERPENT = 0x1B,
3808 CREATURE_FAMILY_REMOTE_CONTROL = 0x1C,
3809 } e_creature_family;
3810 static const value_string e_creature_family_strings[] = {
3811 { CREATURE_FAMILY_NONE, "None" },
3812 { CREATURE_FAMILY_WOLF, "Wolf" },
3813 { CREATURE_FAMILY_CAT, "Cat" },
3814 { CREATURE_FAMILY_SPIDER, "Spider" },
3815 { CREATURE_FAMILY_BEAR, "Bear" },
3816 { CREATURE_FAMILY_BOAR, "Boar" },
3817 { CREATURE_FAMILY_CROCOLISK, "Crocolisk" },
3818 { CREATURE_FAMILY_CARRION_BIRD, "Carrion Bird" },
3819 { CREATURE_FAMILY_CRAB, "Crab" },
3820 { CREATURE_FAMILY_GORILLA, "Gorilla" },
3821 { CREATURE_FAMILY_RAPTOR, "Raptor" },
3822 { CREATURE_FAMILY_TALLSTRIDER, "Tallstrider" },
3823 { CREATURE_FAMILY_FELHUNTER, "Felhunter" },
3824 { CREATURE_FAMILY_VOIDWALKER, "Voidwalker" },
3825 { CREATURE_FAMILY_SUCCUBUS, "Succubus" },
3826 { CREATURE_FAMILY_DOOMGUARD, "Doomguard" },
3827 { CREATURE_FAMILY_SCORPID, "Scorpid" },
3828 { CREATURE_FAMILY_TURTLE, "Turtle" },
3829 { CREATURE_FAMILY_IMP, "Imp" },
3830 { CREATURE_FAMILY_BAT, "Bat" },
3831 { CREATURE_FAMILY_HYENA, "Hyena" },
3832 { CREATURE_FAMILY_OWL, "Owl" },
3833 { CREATURE_FAMILY_WIND_SERPENT, "Wind Serpent" },
3834 { CREATURE_FAMILY_REMOTE_CONTROL, "Remote Control" },
3835 { 0, NULL }
3838 typedef enum {
3839 INVENTORY_TYPE_NON_EQUIP = 0x00,
3840 INVENTORY_TYPE_HEAD = 0x01,
3841 INVENTORY_TYPE_NECK = 0x02,
3842 INVENTORY_TYPE_SHOULDERS = 0x03,
3843 INVENTORY_TYPE_BODY = 0x04,
3844 INVENTORY_TYPE_CHEST = 0x05,
3845 INVENTORY_TYPE_WAIST = 0x06,
3846 INVENTORY_TYPE_LEGS = 0x07,
3847 INVENTORY_TYPE_FEET = 0x08,
3848 INVENTORY_TYPE_WRISTS = 0x09,
3849 INVENTORY_TYPE_HANDS = 0x0A,
3850 INVENTORY_TYPE_FINGER = 0x0B,
3851 INVENTORY_TYPE_TRINKET = 0x0C,
3852 INVENTORY_TYPE_WEAPON = 0x0D,
3853 INVENTORY_TYPE_SHIELD = 0x0E,
3854 INVENTORY_TYPE_RANGED = 0x0F,
3855 INVENTORY_TYPE_CLOAK = 0x10,
3856 INVENTORY_TYPE_TWO_HANDED_WEAPON = 0x11,
3857 INVENTORY_TYPE_BAG = 0x12,
3858 INVENTORY_TYPE_TABARD = 0x13,
3859 INVENTORY_TYPE_ROBE = 0x14,
3860 INVENTORY_TYPE_WEAPON_MAIN_HAND = 0x15,
3861 INVENTORY_TYPE_WEAPON_OFF_HAND = 0x16,
3862 INVENTORY_TYPE_HOLDABLE = 0x17,
3863 INVENTORY_TYPE_AMMO = 0x18,
3864 INVENTORY_TYPE_THROWN = 0x19,
3865 INVENTORY_TYPE_RANGED_RIGHT = 0x1A,
3866 INVENTORY_TYPE_QUIVER = 0x1B,
3867 INVENTORY_TYPE_RELIC = 0x1C,
3868 } e_inventory_type;
3869 static const value_string e_inventory_type_strings[] = {
3870 { INVENTORY_TYPE_NON_EQUIP, "Non Equip" },
3871 { INVENTORY_TYPE_HEAD, "Head" },
3872 { INVENTORY_TYPE_NECK, "Neck" },
3873 { INVENTORY_TYPE_SHOULDERS, "Shoulders" },
3874 { INVENTORY_TYPE_BODY, "Body" },
3875 { INVENTORY_TYPE_CHEST, "Chest" },
3876 { INVENTORY_TYPE_WAIST, "Waist" },
3877 { INVENTORY_TYPE_LEGS, "Legs" },
3878 { INVENTORY_TYPE_FEET, "Feet" },
3879 { INVENTORY_TYPE_WRISTS, "Wrists" },
3880 { INVENTORY_TYPE_HANDS, "Hands" },
3881 { INVENTORY_TYPE_FINGER, "Finger" },
3882 { INVENTORY_TYPE_TRINKET, "Trinket" },
3883 { INVENTORY_TYPE_WEAPON, "Weapon" },
3884 { INVENTORY_TYPE_SHIELD, "Shield" },
3885 { INVENTORY_TYPE_RANGED, "Ranged" },
3886 { INVENTORY_TYPE_CLOAK, "Cloak" },
3887 { INVENTORY_TYPE_TWO_HANDED_WEAPON, "Two Handed Weapon" },
3888 { INVENTORY_TYPE_BAG, "Bag" },
3889 { INVENTORY_TYPE_TABARD, "Tabard" },
3890 { INVENTORY_TYPE_ROBE, "Robe" },
3891 { INVENTORY_TYPE_WEAPON_MAIN_HAND, "Weapon Main Hand" },
3892 { INVENTORY_TYPE_WEAPON_OFF_HAND, "Weapon Off Hand" },
3893 { INVENTORY_TYPE_HOLDABLE, "Holdable" },
3894 { INVENTORY_TYPE_AMMO, "Ammo" },
3895 { INVENTORY_TYPE_THROWN, "Thrown" },
3896 { INVENTORY_TYPE_RANGED_RIGHT, "Ranged Right" },
3897 { INVENTORY_TYPE_QUIVER, "Quiver" },
3898 { INVENTORY_TYPE_RELIC, "Relic" },
3899 { 0, NULL }
3902 typedef enum {
3903 COMPRESSED_MOVE_OPCODE_SMSG_MONSTER_MOVE = 0x0DD,
3904 COMPRESSED_MOVE_OPCODE_SMSG_MONSTER_MOVE_TRANSPORT = 0x2AE,
3905 COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_SET_RUN_SPEED = 0x2FE,
3906 COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_MOVE_UNROOT = 0x304,
3907 COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_MOVE_SET_RUN_MODE = 0x30D,
3908 COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x30E,
3909 } e_compressed_move_opcode;
3910 static const value_string e_compressed_move_opcode_strings[] = {
3911 { COMPRESSED_MOVE_OPCODE_SMSG_MONSTER_MOVE, "Smsg Monster Move" },
3912 { COMPRESSED_MOVE_OPCODE_SMSG_MONSTER_MOVE_TRANSPORT, "Smsg Monster Move Transport" },
3913 { COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_SET_RUN_SPEED, "Smsg Spline Set Run Speed" },
3914 { COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_MOVE_UNROOT, "Smsg Spline Move Unroot" },
3915 { COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_MOVE_SET_RUN_MODE, "Smsg Spline Move Set Run Mode" },
3916 { COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_MOVE_SET_WALK_MODE, "Smsg Spline Move Set Walk Mode" },
3917 { 0, NULL }
3920 typedef enum {
3921 FACTION_NONE = 0x000,
3922 FACTION_PLAYER_HUMAN = 0x001,
3923 FACTION_PLAYER_ORC = 0x002,
3924 FACTION_PLAYER_DWARF = 0x003,
3925 FACTION_PLAYER_NIGHT_ELF = 0x004,
3926 FACTION_PLAYER_UNDEAD = 0x005,
3927 FACTION_PLAYER_TAUREN = 0x006,
3928 FACTION_CREATURE = 0x007,
3929 FACTION_PLAYER_GNOME = 0x008,
3930 FACTION_PLAYER_TROLL = 0x009,
3931 FACTION_MONSTER = 0x00E,
3932 FACTION_DEFIAS_BROTHERHOOD = 0x00F,
3933 FACTION_GNOLL_RIVERPAW = 0x010,
3934 FACTION_GNOLL_REDRIDGE = 0x011,
3935 FACTION_GNOLL_SHADOWHIDE = 0x012,
3936 FACTION_MURLOC = 0x013,
3937 FACTION_UNDEAD_SCOURGE = 0x014,
3938 FACTION_BOOTY_BAY = 0x015,
3939 FACTION_BEAST_SPIDER = 0x016,
3940 FACTION_BEAST_BOAR = 0x017,
3941 FACTION_WORGEN = 0x018,
3942 FACTION_KOBOLD = 0x019,
3943 FACTION_TROLL_BLOODSCALP = 0x01A,
3944 FACTION_TROLL_SKULLSPLITTER = 0x01B,
3945 FACTION_PREY = 0x01C,
3946 FACTION_BEAST_WOLF = 0x01D,
3947 FACTION_DEFIAS_BROTHERHOOD_TRAITOR = 0x01E,
3948 FACTION_FRIENDLY = 0x01F,
3949 FACTION_TROGG = 0x020,
3950 FACTION_TROLL_FROSTMANE = 0x021,
3951 FACTION_ORC_BLACKROCK = 0x022,
3952 FACTION_VILLIAN = 0x023,
3953 FACTION_VICTIM = 0x024,
3954 FACTION_BEAST_BEAR = 0x025,
3955 FACTION_OGRE = 0x026,
3956 FACTION_KURZENS_MERCENARIES = 0x027,
3957 FACTION_ESCORTEE = 0x028,
3958 FACTION_VENTURE_COMPANY = 0x029,
3959 FACTION_BEAST_RAPTOR = 0x02A,
3960 FACTION_BASILISK = 0x02B,
3961 FACTION_DRAGONFLIGHT_GREEN = 0x02C,
3962 FACTION_LOST_ONES = 0x02D,
3963 FACTION_BLACKSMITHING_ARMORSMITHING = 0x02E,
3964 FACTION_IRONFORGE = 0x02F,
3965 FACTION_DARK_IRON_DWARVES = 0x030,
3966 FACTION_HUMAN_NIGHT_WATCH = 0x031,
3967 FACTION_DRAGONFLIGHT_RED = 0x032,
3968 FACTION_GNOLL_MOSSHIDE = 0x033,
3969 FACTION_ORC_DRAGONMAW = 0x034,
3970 FACTION_GNOME_LEPER = 0x035,
3971 FACTION_GNOMEREGAN_EXILES = 0x036,
3972 FACTION_LEOPARD = 0x037,
3973 FACTION_SCARLET_CRUSADE = 0x038,
3974 FACTION_GNOLL_ROTHIDE = 0x039,
3975 FACTION_BEAST_GORILLA = 0x03A,
3976 FACTION_THORIUM_BROTHERHOOD = 0x03B,
3977 FACTION_NAGA = 0x03C,
3978 FACTION_DALARAN = 0x03D,
3979 FACTION_FORLORN_SPIRIT = 0x03E,
3980 FACTION_DARKHOWL = 0x03F,
3981 FACTION_GRELL = 0x040,
3982 FACTION_FURBOLG = 0x041,
3983 FACTION_HORDE_GENERIC = 0x042,
3984 FACTION_HORDE = 0x043,
3985 FACTION_UNDERCITY = 0x044,
3986 FACTION_DARNASSUS = 0x045,
3987 FACTION_SYNDICATE = 0x046,
3988 FACTION_HILLSBRAD_MILITIA = 0x047,
3989 FACTION_STORMWIND = 0x048,
3990 FACTION_DEMON = 0x049,
3991 FACTION_ELEMENTAL = 0x04A,
3992 FACTION_SPIRIT = 0x04B,
3993 FACTION_ORGRIMMAR = 0x04C,
3994 FACTION_TREASURE = 0x04D,
3995 FACTION_GNOLL_MUDSNOUT = 0x04E,
3996 FACTION_HILLSBRAD_SOUTHSHORE_MAYOR = 0x04F,
3997 FACTION_DRAGONFLIGHT_BLACK = 0x050,
3998 FACTION_THUNDER_BLUFF = 0x051,
3999 FACTION_TROLL_WITHERBARK = 0x052,
4000 FACTION_LEATHERWORKING_ELEMENTAL = 0x053,
4001 FACTION_QUILBOAR_RAZORMANE = 0x054,
4002 FACTION_QUILBOAR_BRISTLEBACK = 0x055,
4003 FACTION_LEATHERWORKING_DRAGONSCALE = 0x056,
4004 FACTION_BLOODSAIL_BUCCANEERS = 0x057,
4005 FACTION_BLACKFATHOM = 0x058,
4006 FACTION_MAKRURA = 0x059,
4007 FACTION_CENTAUR_KOLKAR = 0x05A,
4008 FACTION_CENTAUR_GALAK = 0x05B,
4009 FACTION_GELKIS_CLAN_CENTAUR = 0x05C,
4010 FACTION_MAGRAM_CLAN_CENTAUR = 0x05D,
4011 FACTION_MARAUDINE = 0x05E,
4012 FACTION_THERAMORE = 0x06C,
4013 FACTION_QUILBOAR_RAZORFEN = 0x06D,
4014 FACTION_QUILBOAR_RAZORMANE_2 = 0x06E,
4015 FACTION_QUILBOAR_DEATHSHEAD = 0x06F,
4016 FACTION_ENEMY = 0x080,
4017 FACTION_AMBIENT = 0x094,
4018 FACTION_NETHERGARDE_CARAVAN = 0x0A8,
4019 FACTION_STEAMWHEEDLE_CARTEL = 0x0A9,
4020 FACTION_ALLIANCE_GENERIC = 0x0BD,
4021 FACTION_NETHERGARDE = 0x0D1,
4022 FACTION_WAILING_CAVERNS = 0x0E5,
4023 FACTION_SILITHID = 0x0F9,
4024 FACTION_SILVERMOON_REMNANT = 0x10D,
4025 FACTION_ZANDALAR_TRIBE = 0x10E,
4026 FACTION_BLACKSMITHING_WEAPONSMITHING = 0x121,
4027 FACTION_SCORPID = 0x135,
4028 FACTION_BEAST_BAT = 0x136,
4029 FACTION_TITAN = 0x137,
4030 FACTION_TASKMASTER_FIZZULE = 0x149,
4031 FACTION_RAVENHOLDT = 0x15D,
4032 FACTION_GADGETZAN = 0x171,
4033 FACTION_GNOMEREGAN_BUG = 0x185,
4034 FACTION_HARPY = 0x199,
4035 FACTION_BURNING_BLADE = 0x1AD,
4036 FACTION_SHADOWSILK_POACHER = 0x1C1,
4037 FACTION_SEARING_SPIDER = 0x1C2,
4038 FACTION_ALLIANCE = 0x1D5,
4039 FACTION_RATCHET = 0x1D6,
4040 FACTION_WILDHAMMER_CLAN = 0x1D7,
4041 FACTION_GOBLIN_DARK_IRON_BAR_PATRON = 0x1E9,
4042 FACTION_THE_LEAGUE_OF_ARATHOR = 0x1FD,
4043 FACTION_THE_DEFILERS = 0x1FE,
4044 FACTION_GIANT = 0x1FF,
4045 FACTION_ARGENT_DAWN = 0x211,
4046 FACTION_DARKSPEAR_TROLLS = 0x212,
4047 FACTION_DRAGONFLIGHT_BRONZE = 0x213,
4048 FACTION_DRAGONFLIGHT_BLUE = 0x214,
4049 FACTION_LEATHERWORKING_TRIBAL = 0x225,
4050 FACTION_ENGINEERING_GOBLIN = 0x226,
4051 FACTION_ENGINEERING_GNOME = 0x227,
4052 FACTION_BLACKSMITHING_HAMMERSMITHING = 0x239,
4053 FACTION_BLACKSMITHING_AXESMITHING = 0x23A,
4054 FACTION_BLACKSMITHING_SWORDSMITHING = 0x23B,
4055 FACTION_TROLL_VILEBRANCH = 0x23C,
4056 FACTION_SOUTHSEA_FREEBOOTERS = 0x23D,
4057 FACTION_CAER_DARROW = 0x23E,
4058 FACTION_FURBOLG_UNCORRUPTED = 0x23F,
4059 FACTION_TIMBERMAW_HOLD = 0x240,
4060 FACTION_EVERLOOK = 0x241,
4061 FACTION_WINTERSABER_TRAINERS = 0x24D,
4062 FACTION_CENARION_CIRCLE = 0x261,
4063 FACTION_SHATTERSPEAR_TROLLS = 0x275,
4064 FACTION_RAVASAUR_TRAINERS = 0x276,
4065 FACTION_MAJORDOMO_EXECUTUS = 0x289,
4066 FACTION_BEAST_CARRION_BIRD = 0x29D,
4067 FACTION_BEAST_CAT = 0x29E,
4068 FACTION_BEAST_CRAB = 0x29F,
4069 FACTION_BEAST_CROCILISK = 0x2A0,
4070 FACTION_BEAST_HYENA = 0x2A1,
4071 FACTION_BEAST_OWL = 0x2A2,
4072 FACTION_BEAST_SCORPID = 0x2A3,
4073 FACTION_BEAST_TALLSTRIDER = 0x2A4,
4074 FACTION_BEAST_TURTLE = 0x2A5,
4075 FACTION_BEAST_WIND_SERPENT = 0x2A6,
4076 FACTION_TRAINING_DUMMY = 0x2A7,
4077 FACTION_DRAGONFLIGHT_BLACK_BAIT = 0x2B1,
4078 FACTION_BATTLEGROUND_NEUTRAL = 0x2C5,
4079 FACTION_FROSTWOLF_CLAN = 0x2D9,
4080 FACTION_STORMPIKE_GUARD = 0x2DA,
4081 FACTION_HYDRAXIAN_WATERLORDS = 0x2ED,
4082 FACTION_SULFURON_FIRELORDS = 0x2EE,
4083 FACTION_GIZLOCKS_DUMMY = 0x301,
4084 FACTION_GIZLOCKS_CHARM = 0x302,
4085 FACTION_GIZLOCK = 0x303,
4086 FACTION_MORO_GAI = 0x315,
4087 FACTION_SPIRIT_GUIDE_ALLIANCE = 0x316,
4088 FACTION_SHEN_DRALAR = 0x329,
4089 FACTION_OGRE_CAPTAIN_KROMCRUSH = 0x33D,
4090 FACTION_SPIRIT_GUIDE_HORDE = 0x351,
4091 FACTION_JAEDENAR = 0x365,
4092 FACTION_WARSONG_OUTRIDERS = 0x379,
4093 FACTION_SILVERWING_SENTINELS = 0x37A,
4094 FACTION_ALLIANCE_FORCES = 0x37B,
4095 FACTION_HORDE_FORCES = 0x37C,
4096 FACTION_REVANTUSK_TROLLS = 0x37D,
4097 FACTION_DARKMOON_FAIRE = 0x38D,
4098 FACTION_BROOD_OF_NOZDORMU = 0x38E,
4099 FACTION_MIGHT_OF_KALIMDOR = 0x390,
4100 FACTION_ARMIES_OF_C_THUN = 0x393,
4101 FACTION_SILITHID_ATTACKERS = 0x394,
4102 FACTION_THE_IRONFORGE_BRIGADE = 0x395,
4103 FACTION_RC_ENEMIES = 0x396,
4104 FACTION_RC_OBJECTS = 0x397,
4105 FACTION_RED = 0x398,
4106 FACTION_BLUE = 0x399,
4107 FACTION_SCOURGE_INVADERS = 0x3A0,
4108 FACTION_TEST_FACTION_NOT_A_REAL_FACTION = 0x3A3,
4109 FACTION_TOWOW_FLAG = 0x3B6,
4110 FACTION_TOWOW_FLAG_TRIGGER_ALLIANCE_DND = 0x3B7,
4111 FACTION_TOWOW_FLAG_TRIGGER_HORDE_DND = 0x3BA,
4112 } e_faction;
4113 static const value_string e_faction_strings[] = {
4114 { FACTION_NONE, "None" },
4115 { FACTION_PLAYER_HUMAN, "Player Human" },
4116 { FACTION_PLAYER_ORC, "Player Orc" },
4117 { FACTION_PLAYER_DWARF, "Player Dwarf" },
4118 { FACTION_PLAYER_NIGHT_ELF, "Player Night Elf" },
4119 { FACTION_PLAYER_UNDEAD, "Player Undead" },
4120 { FACTION_PLAYER_TAUREN, "Player Tauren" },
4121 { FACTION_CREATURE, "Creature" },
4122 { FACTION_PLAYER_GNOME, "Player Gnome" },
4123 { FACTION_PLAYER_TROLL, "Player Troll" },
4124 { FACTION_MONSTER, "Monster" },
4125 { FACTION_DEFIAS_BROTHERHOOD, "Defias Brotherhood" },
4126 { FACTION_GNOLL_RIVERPAW, "Gnoll Riverpaw" },
4127 { FACTION_GNOLL_REDRIDGE, "Gnoll Redridge" },
4128 { FACTION_GNOLL_SHADOWHIDE, "Gnoll Shadowhide" },
4129 { FACTION_MURLOC, "Murloc" },
4130 { FACTION_UNDEAD_SCOURGE, "Undead Scourge" },
4131 { FACTION_BOOTY_BAY, "Booty Bay" },
4132 { FACTION_BEAST_SPIDER, "Beast Spider" },
4133 { FACTION_BEAST_BOAR, "Beast Boar" },
4134 { FACTION_WORGEN, "Worgen" },
4135 { FACTION_KOBOLD, "Kobold" },
4136 { FACTION_TROLL_BLOODSCALP, "Troll Bloodscalp" },
4137 { FACTION_TROLL_SKULLSPLITTER, "Troll Skullsplitter" },
4138 { FACTION_PREY, "Prey" },
4139 { FACTION_BEAST_WOLF, "Beast Wolf" },
4140 { FACTION_DEFIAS_BROTHERHOOD_TRAITOR, "Defias Brotherhood Traitor" },
4141 { FACTION_FRIENDLY, "Friendly" },
4142 { FACTION_TROGG, "Trogg" },
4143 { FACTION_TROLL_FROSTMANE, "Troll Frostmane" },
4144 { FACTION_ORC_BLACKROCK, "Orc Blackrock" },
4145 { FACTION_VILLIAN, "Villian" },
4146 { FACTION_VICTIM, "Victim" },
4147 { FACTION_BEAST_BEAR, "Beast Bear" },
4148 { FACTION_OGRE, "Ogre" },
4149 { FACTION_KURZENS_MERCENARIES, "Kurzens Mercenaries" },
4150 { FACTION_ESCORTEE, "Escortee" },
4151 { FACTION_VENTURE_COMPANY, "Venture Company" },
4152 { FACTION_BEAST_RAPTOR, "Beast Raptor" },
4153 { FACTION_BASILISK, "Basilisk" },
4154 { FACTION_DRAGONFLIGHT_GREEN, "Dragonflight Green" },
4155 { FACTION_LOST_ONES, "Lost Ones" },
4156 { FACTION_BLACKSMITHING_ARMORSMITHING, "Blacksmithing Armorsmithing" },
4157 { FACTION_IRONFORGE, "Ironforge" },
4158 { FACTION_DARK_IRON_DWARVES, "Dark Iron Dwarves" },
4159 { FACTION_HUMAN_NIGHT_WATCH, "Human Night Watch" },
4160 { FACTION_DRAGONFLIGHT_RED, "Dragonflight Red" },
4161 { FACTION_GNOLL_MOSSHIDE, "Gnoll Mosshide" },
4162 { FACTION_ORC_DRAGONMAW, "Orc Dragonmaw" },
4163 { FACTION_GNOME_LEPER, "Gnome Leper" },
4164 { FACTION_GNOMEREGAN_EXILES, "Gnomeregan Exiles" },
4165 { FACTION_LEOPARD, "Leopard" },
4166 { FACTION_SCARLET_CRUSADE, "Scarlet Crusade" },
4167 { FACTION_GNOLL_ROTHIDE, "Gnoll Rothide" },
4168 { FACTION_BEAST_GORILLA, "Beast Gorilla" },
4169 { FACTION_THORIUM_BROTHERHOOD, "Thorium Brotherhood" },
4170 { FACTION_NAGA, "Naga" },
4171 { FACTION_DALARAN, "Dalaran" },
4172 { FACTION_FORLORN_SPIRIT, "Forlorn Spirit" },
4173 { FACTION_DARKHOWL, "Darkhowl" },
4174 { FACTION_GRELL, "Grell" },
4175 { FACTION_FURBOLG, "Furbolg" },
4176 { FACTION_HORDE_GENERIC, "Horde Generic" },
4177 { FACTION_HORDE, "Horde" },
4178 { FACTION_UNDERCITY, "Undercity" },
4179 { FACTION_DARNASSUS, "Darnassus" },
4180 { FACTION_SYNDICATE, "Syndicate" },
4181 { FACTION_HILLSBRAD_MILITIA, "Hillsbrad Militia" },
4182 { FACTION_STORMWIND, "Stormwind" },
4183 { FACTION_DEMON, "Demon" },
4184 { FACTION_ELEMENTAL, "Elemental" },
4185 { FACTION_SPIRIT, "Spirit" },
4186 { FACTION_ORGRIMMAR, "Orgrimmar" },
4187 { FACTION_TREASURE, "Treasure" },
4188 { FACTION_GNOLL_MUDSNOUT, "Gnoll Mudsnout" },
4189 { FACTION_HILLSBRAD_SOUTHSHORE_MAYOR, "Hillsbrad Southshore Mayor" },
4190 { FACTION_DRAGONFLIGHT_BLACK, "Dragonflight Black" },
4191 { FACTION_THUNDER_BLUFF, "Thunder Bluff" },
4192 { FACTION_TROLL_WITHERBARK, "Troll Witherbark" },
4193 { FACTION_LEATHERWORKING_ELEMENTAL, "Leatherworking Elemental" },
4194 { FACTION_QUILBOAR_RAZORMANE, "Quilboar Razormane" },
4195 { FACTION_QUILBOAR_BRISTLEBACK, "Quilboar Bristleback" },
4196 { FACTION_LEATHERWORKING_DRAGONSCALE, "Leatherworking Dragonscale" },
4197 { FACTION_BLOODSAIL_BUCCANEERS, "Bloodsail Buccaneers" },
4198 { FACTION_BLACKFATHOM, "Blackfathom" },
4199 { FACTION_MAKRURA, "Makrura" },
4200 { FACTION_CENTAUR_KOLKAR, "Centaur Kolkar" },
4201 { FACTION_CENTAUR_GALAK, "Centaur Galak" },
4202 { FACTION_GELKIS_CLAN_CENTAUR, "Gelkis Clan Centaur" },
4203 { FACTION_MAGRAM_CLAN_CENTAUR, "Magram Clan Centaur" },
4204 { FACTION_MARAUDINE, "Maraudine" },
4205 { FACTION_THERAMORE, "Theramore" },
4206 { FACTION_QUILBOAR_RAZORFEN, "Quilboar Razorfen" },
4207 { FACTION_QUILBOAR_RAZORMANE_2, "Quilboar Razormane 2" },
4208 { FACTION_QUILBOAR_DEATHSHEAD, "Quilboar Deathshead" },
4209 { FACTION_ENEMY, "Enemy" },
4210 { FACTION_AMBIENT, "Ambient" },
4211 { FACTION_NETHERGARDE_CARAVAN, "Nethergarde Caravan" },
4212 { FACTION_STEAMWHEEDLE_CARTEL, "Steamwheedle Cartel" },
4213 { FACTION_ALLIANCE_GENERIC, "Alliance Generic" },
4214 { FACTION_NETHERGARDE, "Nethergarde" },
4215 { FACTION_WAILING_CAVERNS, "Wailing Caverns" },
4216 { FACTION_SILITHID, "Silithid" },
4217 { FACTION_SILVERMOON_REMNANT, "Silvermoon Remnant" },
4218 { FACTION_ZANDALAR_TRIBE, "Zandalar Tribe" },
4219 { FACTION_BLACKSMITHING_WEAPONSMITHING, "Blacksmithing Weaponsmithing" },
4220 { FACTION_SCORPID, "Scorpid" },
4221 { FACTION_BEAST_BAT, "Beast Bat" },
4222 { FACTION_TITAN, "Titan" },
4223 { FACTION_TASKMASTER_FIZZULE, "Taskmaster Fizzule" },
4224 { FACTION_RAVENHOLDT, "Ravenholdt" },
4225 { FACTION_GADGETZAN, "Gadgetzan" },
4226 { FACTION_GNOMEREGAN_BUG, "Gnomeregan Bug" },
4227 { FACTION_HARPY, "Harpy" },
4228 { FACTION_BURNING_BLADE, "Burning Blade" },
4229 { FACTION_SHADOWSILK_POACHER, "Shadowsilk Poacher" },
4230 { FACTION_SEARING_SPIDER, "Searing Spider" },
4231 { FACTION_ALLIANCE, "Alliance" },
4232 { FACTION_RATCHET, "Ratchet" },
4233 { FACTION_WILDHAMMER_CLAN, "Wildhammer Clan" },
4234 { FACTION_GOBLIN_DARK_IRON_BAR_PATRON, "Goblin Dark Iron Bar Patron" },
4235 { FACTION_THE_LEAGUE_OF_ARATHOR, "The League Of Arathor" },
4236 { FACTION_THE_DEFILERS, "The Defilers" },
4237 { FACTION_GIANT, "Giant" },
4238 { FACTION_ARGENT_DAWN, "Argent Dawn" },
4239 { FACTION_DARKSPEAR_TROLLS, "Darkspear Trolls" },
4240 { FACTION_DRAGONFLIGHT_BRONZE, "Dragonflight Bronze" },
4241 { FACTION_DRAGONFLIGHT_BLUE, "Dragonflight Blue" },
4242 { FACTION_LEATHERWORKING_TRIBAL, "Leatherworking Tribal" },
4243 { FACTION_ENGINEERING_GOBLIN, "Engineering Goblin" },
4244 { FACTION_ENGINEERING_GNOME, "Engineering Gnome" },
4245 { FACTION_BLACKSMITHING_HAMMERSMITHING, "Blacksmithing Hammersmithing" },
4246 { FACTION_BLACKSMITHING_AXESMITHING, "Blacksmithing Axesmithing" },
4247 { FACTION_BLACKSMITHING_SWORDSMITHING, "Blacksmithing Swordsmithing" },
4248 { FACTION_TROLL_VILEBRANCH, "Troll Vilebranch" },
4249 { FACTION_SOUTHSEA_FREEBOOTERS, "Southsea Freebooters" },
4250 { FACTION_CAER_DARROW, "Caer Darrow" },
4251 { FACTION_FURBOLG_UNCORRUPTED, "Furbolg Uncorrupted" },
4252 { FACTION_TIMBERMAW_HOLD, "Timbermaw Hold" },
4253 { FACTION_EVERLOOK, "Everlook" },
4254 { FACTION_WINTERSABER_TRAINERS, "Wintersaber Trainers" },
4255 { FACTION_CENARION_CIRCLE, "Cenarion Circle" },
4256 { FACTION_SHATTERSPEAR_TROLLS, "Shatterspear Trolls" },
4257 { FACTION_RAVASAUR_TRAINERS, "Ravasaur Trainers" },
4258 { FACTION_MAJORDOMO_EXECUTUS, "Majordomo Executus" },
4259 { FACTION_BEAST_CARRION_BIRD, "Beast Carrion Bird" },
4260 { FACTION_BEAST_CAT, "Beast Cat" },
4261 { FACTION_BEAST_CRAB, "Beast Crab" },
4262 { FACTION_BEAST_CROCILISK, "Beast Crocilisk" },
4263 { FACTION_BEAST_HYENA, "Beast Hyena" },
4264 { FACTION_BEAST_OWL, "Beast Owl" },
4265 { FACTION_BEAST_SCORPID, "Beast Scorpid" },
4266 { FACTION_BEAST_TALLSTRIDER, "Beast Tallstrider" },
4267 { FACTION_BEAST_TURTLE, "Beast Turtle" },
4268 { FACTION_BEAST_WIND_SERPENT, "Beast Wind Serpent" },
4269 { FACTION_TRAINING_DUMMY, "Training Dummy" },
4270 { FACTION_DRAGONFLIGHT_BLACK_BAIT, "Dragonflight Black Bait" },
4271 { FACTION_BATTLEGROUND_NEUTRAL, "Battleground Neutral" },
4272 { FACTION_FROSTWOLF_CLAN, "Frostwolf Clan" },
4273 { FACTION_STORMPIKE_GUARD, "Stormpike Guard" },
4274 { FACTION_HYDRAXIAN_WATERLORDS, "Hydraxian Waterlords" },
4275 { FACTION_SULFURON_FIRELORDS, "Sulfuron Firelords" },
4276 { FACTION_GIZLOCKS_DUMMY, "Gizlocks Dummy" },
4277 { FACTION_GIZLOCKS_CHARM, "Gizlocks Charm" },
4278 { FACTION_GIZLOCK, "Gizlock" },
4279 { FACTION_MORO_GAI, "Moro Gai" },
4280 { FACTION_SPIRIT_GUIDE_ALLIANCE, "Spirit Guide Alliance" },
4281 { FACTION_SHEN_DRALAR, "Shen Dralar" },
4282 { FACTION_OGRE_CAPTAIN_KROMCRUSH, "Ogre Captain Kromcrush" },
4283 { FACTION_SPIRIT_GUIDE_HORDE, "Spirit Guide Horde" },
4284 { FACTION_JAEDENAR, "Jaedenar" },
4285 { FACTION_WARSONG_OUTRIDERS, "Warsong Outriders" },
4286 { FACTION_SILVERWING_SENTINELS, "Silverwing Sentinels" },
4287 { FACTION_ALLIANCE_FORCES, "Alliance Forces" },
4288 { FACTION_HORDE_FORCES, "Horde Forces" },
4289 { FACTION_REVANTUSK_TROLLS, "Revantusk Trolls" },
4290 { FACTION_DARKMOON_FAIRE, "Darkmoon Faire" },
4291 { FACTION_BROOD_OF_NOZDORMU, "Brood Of Nozdormu" },
4292 { FACTION_MIGHT_OF_KALIMDOR, "Might Of Kalimdor" },
4293 { FACTION_ARMIES_OF_C_THUN, "Armies Of C Thun" },
4294 { FACTION_SILITHID_ATTACKERS, "Silithid Attackers" },
4295 { FACTION_THE_IRONFORGE_BRIGADE, "The Ironforge Brigade" },
4296 { FACTION_RC_ENEMIES, "Rc Enemies" },
4297 { FACTION_RC_OBJECTS, "Rc Objects" },
4298 { FACTION_RED, "Red" },
4299 { FACTION_BLUE, "Blue" },
4300 { FACTION_SCOURGE_INVADERS, "Scourge Invaders" },
4301 { FACTION_TEST_FACTION_NOT_A_REAL_FACTION, "Test Faction Not A Real Faction" },
4302 { FACTION_TOWOW_FLAG, "Towow Flag" },
4303 { FACTION_TOWOW_FLAG_TRIGGER_ALLIANCE_DND, "Towow Flag Trigger Alliance Dnd" },
4304 { FACTION_TOWOW_FLAG_TRIGGER_HORDE_DND, "Towow Flag Trigger Horde Dnd" },
4305 { 0, NULL }
4308 typedef enum {
4309 FRIEND_STATUS_OFFLINE = 0x0,
4310 FRIEND_STATUS_ONLINE = 0x1,
4311 FRIEND_STATUS_AFK = 0x2,
4312 FRIEND_STATUS_UNKNOWN3 = 0x3,
4313 FRIEND_STATUS_DND = 0x4,
4314 } e_friend_status;
4315 static const value_string e_friend_status_strings[] = {
4316 { FRIEND_STATUS_OFFLINE, "Offline" },
4317 { FRIEND_STATUS_ONLINE, "Online" },
4318 { FRIEND_STATUS_AFK, "Afk" },
4319 { FRIEND_STATUS_UNKNOWN3, "Unknown3" },
4320 { FRIEND_STATUS_DND, "Dnd" },
4321 { 0, NULL }
4324 typedef enum {
4325 GUILD_MEMBER_STATUS_OFFLINE = 0x0,
4326 GUILD_MEMBER_STATUS_ONLINE = 0x1,
4327 } e_guild_member_status;
4328 static const value_string e_guild_member_status_strings[] = {
4329 { GUILD_MEMBER_STATUS_OFFLINE, "Offline" },
4330 { GUILD_MEMBER_STATUS_ONLINE, "Online" },
4331 { 0, NULL }
4334 typedef enum {
4335 SPELL_TRIGGER_TYPE_ON_USE = 0x0,
4336 SPELL_TRIGGER_TYPE_ON_EQUIP = 0x1,
4337 SPELL_TRIGGER_TYPE_CHANCE_ON_HIT = 0x2,
4338 } e_spell_trigger_type;
4339 static const value_string e_spell_trigger_type_strings[] = {
4340 { SPELL_TRIGGER_TYPE_ON_USE, "On Use" },
4341 { SPELL_TRIGGER_TYPE_ON_EQUIP, "On Equip" },
4342 { SPELL_TRIGGER_TYPE_CHANCE_ON_HIT, "Chance On Hit" },
4343 { 0, NULL }
4346 typedef enum {
4347 ITEM_STAT_TYPE_MANA = 0x0,
4348 ITEM_STAT_TYPE_HEALTH = 0x1,
4349 ITEM_STAT_TYPE_AGILITY = 0x3,
4350 ITEM_STAT_TYPE_STRENGTH = 0x4,
4351 ITEM_STAT_TYPE_INTELLECT = 0x5,
4352 ITEM_STAT_TYPE_SPIRIT = 0x6,
4353 ITEM_STAT_TYPE_STAMINA = 0x7,
4354 } e_item_stat_type;
4355 static const value_string e_item_stat_type_strings[] = {
4356 { ITEM_STAT_TYPE_MANA, "Mana" },
4357 { ITEM_STAT_TYPE_HEALTH, "Health" },
4358 { ITEM_STAT_TYPE_AGILITY, "Agility" },
4359 { ITEM_STAT_TYPE_STRENGTH, "Strength" },
4360 { ITEM_STAT_TYPE_INTELLECT, "Intellect" },
4361 { ITEM_STAT_TYPE_SPIRIT, "Spirit" },
4362 { ITEM_STAT_TYPE_STAMINA, "Stamina" },
4363 { 0, NULL }
4366 typedef enum {
4367 LOOT_SLOT_TYPE_TYPE_ALLOW_LOOT = 0x0,
4368 LOOT_SLOT_TYPE_TYPE_ROLL_ONGOING = 0x1,
4369 LOOT_SLOT_TYPE_TYPE_MASTER = 0x2,
4370 LOOT_SLOT_TYPE_TYPE_LOCKED = 0x3,
4371 LOOT_SLOT_TYPE_TYPE_OWNER = 0x4,
4372 } e_loot_slot_type;
4373 static const value_string e_loot_slot_type_strings[] = {
4374 { LOOT_SLOT_TYPE_TYPE_ALLOW_LOOT, "Type Allow Loot" },
4375 { LOOT_SLOT_TYPE_TYPE_ROLL_ONGOING, "Type Roll Ongoing" },
4376 { LOOT_SLOT_TYPE_TYPE_MASTER, "Type Master" },
4377 { LOOT_SLOT_TYPE_TYPE_LOCKED, "Type Locked" },
4378 { LOOT_SLOT_TYPE_TYPE_OWNER, "Type Owner" },
4379 { 0, NULL }
4382 typedef enum {
4383 MAIL_TYPE_NORMAL = 0x0,
4384 MAIL_TYPE_AUCTION = 0x2,
4385 MAIL_TYPE_CREATURE = 0x3,
4386 MAIL_TYPE_GAMEOBJECT = 0x4,
4387 MAIL_TYPE_ITEM = 0x5,
4388 } e_mail_type;
4389 static const value_string e_mail_type_strings[] = {
4390 { MAIL_TYPE_NORMAL, "Normal" },
4391 { MAIL_TYPE_AUCTION, "Auction" },
4392 { MAIL_TYPE_CREATURE, "Creature" },
4393 { MAIL_TYPE_GAMEOBJECT, "Gameobject" },
4394 { MAIL_TYPE_ITEM, "Item" },
4395 { 0, NULL }
4398 typedef enum {
4399 MONSTER_MOVE_TYPE_NORMAL = 0x0,
4400 MONSTER_MOVE_TYPE_STOP = 0x1,
4401 MONSTER_MOVE_TYPE_FACING_SPOT = 0x2,
4402 MONSTER_MOVE_TYPE_FACING_TARGET = 0x3,
4403 MONSTER_MOVE_TYPE_FACING_ANGLE = 0x4,
4404 } e_monster_move_type;
4405 static const value_string e_monster_move_type_strings[] = {
4406 { MONSTER_MOVE_TYPE_NORMAL, "Normal" },
4407 { MONSTER_MOVE_TYPE_STOP, "Stop" },
4408 { MONSTER_MOVE_TYPE_FACING_SPOT, "Facing Spot" },
4409 { MONSTER_MOVE_TYPE_FACING_TARGET, "Facing Target" },
4410 { MONSTER_MOVE_TYPE_FACING_ANGLE, "Facing Angle" },
4411 { 0, NULL }
4414 typedef enum {
4415 LANGUAGE_UNIVERSAL = 0x00000000,
4416 LANGUAGE_ORCISH = 0x00000001,
4417 LANGUAGE_DARNASSIAN = 0x00000002,
4418 LANGUAGE_TAURAHE = 0x00000003,
4419 LANGUAGE_DWARVISH = 0x00000006,
4420 LANGUAGE_COMMON = 0x00000007,
4421 LANGUAGE_DEMONIC = 0x00000008,
4422 LANGUAGE_TITAN = 0x00000009,
4423 LANGUAGE_THALASSIAN = 0x0000000A,
4424 LANGUAGE_DRACONIC = 0x0000000B,
4425 LANGUAGE_KALIMAG = 0x0000000C,
4426 LANGUAGE_GNOMISH = 0x0000000D,
4427 LANGUAGE_TROLL = 0x0000000E,
4428 LANGUAGE_GUTTERSPEAK = 0x00000021,
4429 LANGUAGE_ADDON = -0x0000001,
4430 } e_language;
4431 static const value_string e_language_strings[] = {
4432 { LANGUAGE_UNIVERSAL, "Universal" },
4433 { LANGUAGE_ORCISH, "Orcish" },
4434 { LANGUAGE_DARNASSIAN, "Darnassian" },
4435 { LANGUAGE_TAURAHE, "Taurahe" },
4436 { LANGUAGE_DWARVISH, "Dwarvish" },
4437 { LANGUAGE_COMMON, "Common" },
4438 { LANGUAGE_DEMONIC, "Demonic" },
4439 { LANGUAGE_TITAN, "Titan" },
4440 { LANGUAGE_THALASSIAN, "Thalassian" },
4441 { LANGUAGE_DRACONIC, "Draconic" },
4442 { LANGUAGE_KALIMAG, "Kalimag" },
4443 { LANGUAGE_GNOMISH, "Gnomish" },
4444 { LANGUAGE_TROLL, "Troll" },
4445 { LANGUAGE_GUTTERSPEAK, "Gutterspeak" },
4446 { LANGUAGE_ADDON, "Addon" },
4447 { 0, NULL }
4450 typedef enum {
4451 UPDATE_TYPE_VALUES = 0x0,
4452 UPDATE_TYPE_MOVEMENT = 0x1,
4453 UPDATE_TYPE_CREATE_OBJECT = 0x2,
4454 UPDATE_TYPE_CREATE_OBJECT2 = 0x3,
4455 UPDATE_TYPE_OUT_OF_RANGE_OBJECTS = 0x4,
4456 UPDATE_TYPE_NEAR_OBJECTS = 0x5,
4457 } e_update_type;
4458 static const value_string e_update_type_strings[] = {
4459 { UPDATE_TYPE_VALUES, "Values" },
4460 { UPDATE_TYPE_MOVEMENT, "Movement" },
4461 { UPDATE_TYPE_CREATE_OBJECT, "Create Object" },
4462 { UPDATE_TYPE_CREATE_OBJECT2, "Create Object2" },
4463 { UPDATE_TYPE_OUT_OF_RANGE_OBJECTS, "Out Of Range Objects" },
4464 { UPDATE_TYPE_NEAR_OBJECTS, "Near Objects" },
4465 { 0, NULL }
4468 typedef enum {
4469 OBJECT_TYPE_OBJECT = 0x0,
4470 OBJECT_TYPE_ITEM = 0x1,
4471 OBJECT_TYPE_CONTAINER = 0x2,
4472 OBJECT_TYPE_UNIT = 0x3,
4473 OBJECT_TYPE_PLAYER = 0x4,
4474 OBJECT_TYPE_GAME_OBJECT = 0x5,
4475 OBJECT_TYPE_DYNAMIC_OBJECT = 0x6,
4476 OBJECT_TYPE_CORPSE = 0x7,
4477 } e_object_type;
4478 static const value_string e_object_type_strings[] = {
4479 { OBJECT_TYPE_OBJECT, "Object" },
4480 { OBJECT_TYPE_ITEM, "Item" },
4481 { OBJECT_TYPE_CONTAINER, "Container" },
4482 { OBJECT_TYPE_UNIT, "Unit" },
4483 { OBJECT_TYPE_PLAYER, "Player" },
4484 { OBJECT_TYPE_GAME_OBJECT, "Game Object" },
4485 { OBJECT_TYPE_DYNAMIC_OBJECT, "Dynamic Object" },
4486 { OBJECT_TYPE_CORPSE, "Corpse" },
4487 { 0, NULL }
4490 typedef enum {
4491 RAID_TARGET_INDEX_UNKNOWN0 = 0x00,
4492 RAID_TARGET_INDEX_UNKNOWN1 = 0x01,
4493 RAID_TARGET_INDEX_UNKNOWN2 = 0x02,
4494 RAID_TARGET_INDEX_UNKNOWN3 = 0x03,
4495 RAID_TARGET_INDEX_UNKNOWN4 = 0x04,
4496 RAID_TARGET_INDEX_UNKNOWN5 = 0x05,
4497 RAID_TARGET_INDEX_UNKNOWN6 = 0x06,
4498 RAID_TARGET_INDEX_UNKNOWN7 = 0x07,
4499 RAID_TARGET_INDEX_UNKNOWN8 = 0x08,
4500 RAID_TARGET_INDEX_REQUEST_ICONS = 0xFF,
4501 } e_raid_target_index;
4502 static const value_string e_raid_target_index_strings[] = {
4503 { RAID_TARGET_INDEX_UNKNOWN0, "Unknown0" },
4504 { RAID_TARGET_INDEX_UNKNOWN1, "Unknown1" },
4505 { RAID_TARGET_INDEX_UNKNOWN2, "Unknown2" },
4506 { RAID_TARGET_INDEX_UNKNOWN3, "Unknown3" },
4507 { RAID_TARGET_INDEX_UNKNOWN4, "Unknown4" },
4508 { RAID_TARGET_INDEX_UNKNOWN5, "Unknown5" },
4509 { RAID_TARGET_INDEX_UNKNOWN6, "Unknown6" },
4510 { RAID_TARGET_INDEX_UNKNOWN7, "Unknown7" },
4511 { RAID_TARGET_INDEX_UNKNOWN8, "Unknown8" },
4512 { RAID_TARGET_INDEX_REQUEST_ICONS, "Request Icons" },
4513 { 0, NULL }
4516 typedef enum {
4517 SPELL_EFFECT_NONE = 0x00,
4518 SPELL_EFFECT_INSTAKILL = 0x01,
4519 SPELL_EFFECT_SCHOOL_DAMAGE = 0x02,
4520 SPELL_EFFECT_DUMMY = 0x03,
4521 SPELL_EFFECT_PORTAL_TELEPORT = 0x04,
4522 SPELL_EFFECT_TELEPORT_UNITS = 0x05,
4523 SPELL_EFFECT_APPLY_AURA = 0x06,
4524 SPELL_EFFECT_ENVIRONMENTAL_DAMAGE = 0x07,
4525 SPELL_EFFECT_POWER_DRAIN = 0x08,
4526 SPELL_EFFECT_HEALTH_LEECH = 0x09,
4527 SPELL_EFFECT_HEAL = 0x0A,
4528 SPELL_EFFECT_BIND = 0x0B,
4529 SPELL_EFFECT_PORTAL = 0x0C,
4530 SPELL_EFFECT_RITUAL_BASE = 0x0D,
4531 SPELL_EFFECT_RITUAL_SPECIALIZE = 0x0E,
4532 SPELL_EFFECT_RITUAL_ACTIVATE_PORTAL = 0x0F,
4533 SPELL_EFFECT_QUEST_COMPLETE = 0x10,
4534 SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL = 0x11,
4535 SPELL_EFFECT_RESURRECT = 0x12,
4536 SPELL_EFFECT_ADD_EXTRA_ATTACKS = 0x13,
4537 SPELL_EFFECT_DODGE = 0x14,
4538 SPELL_EFFECT_EVADE = 0x15,
4539 SPELL_EFFECT_PARRY = 0x16,
4540 SPELL_EFFECT_BLOCK = 0x17,
4541 SPELL_EFFECT_CREATE_ITEM = 0x18,
4542 SPELL_EFFECT_WEAPON = 0x19,
4543 SPELL_EFFECT_DEFENSE = 0x1A,
4544 SPELL_EFFECT_PERSISTENT_AREA_AURA = 0x1B,
4545 SPELL_EFFECT_SUMMON = 0x1C,
4546 SPELL_EFFECT_LEAP = 0x1D,
4547 SPELL_EFFECT_ENERGIZE = 0x1E,
4548 SPELL_EFFECT_WEAPON_PERCENT_DAMAGE = 0x1F,
4549 SPELL_EFFECT_TRIGGER_MISSILE = 0x20,
4550 SPELL_EFFECT_OPEN_LOCK = 0x21,
4551 SPELL_EFFECT_SUMMON_CHANGE_ITEM = 0x22,
4552 SPELL_EFFECT_APPLY_AREA_AURA_PARTY = 0x23,
4553 SPELL_EFFECT_LEARN_SPELL = 0x24,
4554 SPELL_EFFECT_SPELL_DEFENSE = 0x25,
4555 SPELL_EFFECT_DISPEL = 0x26,
4556 SPELL_EFFECT_LANGUAGE = 0x27,
4557 SPELL_EFFECT_DUAL_WIELD = 0x28,
4558 SPELL_EFFECT_SUMMON_WILD = 0x29,
4559 SPELL_EFFECT_SUMMON_GUARDIAN = 0x2A,
4560 SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER = 0x2B,
4561 SPELL_EFFECT_SKILL_STEP = 0x2C,
4562 SPELL_EFFECT_ADD_HONOR = 0x2D,
4563 SPELL_EFFECT_SPAWN = 0x2E,
4564 SPELL_EFFECT_TRADE_SKILL = 0x2F,
4565 SPELL_EFFECT_STEALTH = 0x30,
4566 SPELL_EFFECT_DETECT = 0x31,
4567 SPELL_EFFECT_TRANS_DOOR = 0x32,
4568 SPELL_EFFECT_FORCE_CRITICAL_HIT = 0x33,
4569 SPELL_EFFECT_GUARANTEE_HIT = 0x34,
4570 SPELL_EFFECT_ENCHANT_ITEM = 0x35,
4571 SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY = 0x36,
4572 SPELL_EFFECT_TAMECREATURE = 0x37,
4573 SPELL_EFFECT_SUMMON_PET = 0x38,
4574 SPELL_EFFECT_LEARN_PET_SPELL = 0x39,
4575 SPELL_EFFECT_WEAPON_DAMAGE = 0x3A,
4576 SPELL_EFFECT_OPEN_LOCK_ITEM = 0x3B,
4577 SPELL_EFFECT_PROFICIENCY = 0x3C,
4578 SPELL_EFFECT_SEND_EVENT = 0x3D,
4579 SPELL_EFFECT_POWER_BURN = 0x3E,
4580 SPELL_EFFECT_THREAT = 0x3F,
4581 SPELL_EFFECT_TRIGGER_SPELL = 0x40,
4582 SPELL_EFFECT_HEALTH_FUNNEL = 0x41,
4583 SPELL_EFFECT_POWER_FUNNEL = 0x42,
4584 SPELL_EFFECT_HEAL_MAX_HEALTH = 0x43,
4585 SPELL_EFFECT_INTERRUPT_CAST = 0x44,
4586 SPELL_EFFECT_DISTRACT = 0x45,
4587 SPELL_EFFECT_PULL = 0x46,
4588 SPELL_EFFECT_PICKPOCKET = 0x47,
4589 SPELL_EFFECT_ADD_FARSIGHT = 0x48,
4590 SPELL_EFFECT_SUMMON_POSSESSED = 0x49,
4591 SPELL_EFFECT_SUMMON_TOTEM = 0x4A,
4592 SPELL_EFFECT_HEAL_MECHANICAL = 0x4B,
4593 SPELL_EFFECT_SUMMON_OBJECT_WILD = 0x4C,
4594 SPELL_EFFECT_SCRIPT_EFFECT = 0x4D,
4595 SPELL_EFFECT_ATTACK = 0x4E,
4596 SPELL_EFFECT_SANCTUARY = 0x4F,
4597 SPELL_EFFECT_ADD_COMBO_POINTS = 0x50,
4598 SPELL_EFFECT_CREATE_HOUSE = 0x51,
4599 SPELL_EFFECT_BIND_SIGHT = 0x52,
4600 SPELL_EFFECT_DUEL = 0x53,
4601 SPELL_EFFECT_STUCK = 0x54,
4602 SPELL_EFFECT_SUMMON_PLAYER = 0x55,
4603 SPELL_EFFECT_ACTIVATE_OBJECT = 0x56,
4604 SPELL_EFFECT_SUMMON_TOTEM_SLOT1 = 0x57,
4605 SPELL_EFFECT_SUMMON_TOTEM_SLOT2 = 0x58,
4606 SPELL_EFFECT_SUMMON_TOTEM_SLOT3 = 0x59,
4607 SPELL_EFFECT_SUMMON_TOTEM_SLOT4 = 0x5A,
4608 SPELL_EFFECT_THREAT_ALL = 0x5B,
4609 SPELL_EFFECT_ENCHANT_HELD_ITEM = 0x5C,
4610 SPELL_EFFECT_SUMMON_PHANTASM = 0x5D,
4611 SPELL_EFFECT_SELF_RESURRECT = 0x5E,
4612 SPELL_EFFECT_SKINNING = 0x5F,
4613 SPELL_EFFECT_CHARGE = 0x60,
4614 SPELL_EFFECT_SUMMON_CRITTER = 0x61,
4615 SPELL_EFFECT_KNOCK_BACK = 0x62,
4616 SPELL_EFFECT_DISENCHANT = 0x63,
4617 SPELL_EFFECT_INEBRIATE = 0x64,
4618 SPELL_EFFECT_FEED_PET = 0x65,
4619 SPELL_EFFECT_DISMISS_PET = 0x66,
4620 SPELL_EFFECT_REPUTATION = 0x67,
4621 SPELL_EFFECT_SUMMON_OBJECT_SLOT1 = 0x68,
4622 SPELL_EFFECT_SUMMON_OBJECT_SLOT2 = 0x69,
4623 SPELL_EFFECT_SUMMON_OBJECT_SLOT3 = 0x6A,
4624 SPELL_EFFECT_SUMMON_OBJECT_SLOT4 = 0x6B,
4625 SPELL_EFFECT_DISPEL_MECHANIC = 0x6C,
4626 SPELL_EFFECT_SUMMON_DEAD_PET = 0x6D,
4627 SPELL_EFFECT_DESTROY_ALL_TOTEMS = 0x6E,
4628 SPELL_EFFECT_DURABILITY_DAMAGE = 0x6F,
4629 SPELL_EFFECT_SUMMON_DEMON = 0x70,
4630 SPELL_EFFECT_RESURRECT_NEW = 0x71,
4631 SPELL_EFFECT_ATTACK_ME = 0x72,
4632 SPELL_EFFECT_DURABILITY_DAMAGE_PCT = 0x73,
4633 SPELL_EFFECT_SKIN_PLAYER_CORPSE = 0x74,
4634 SPELL_EFFECT_SPIRIT_HEAL = 0x75,
4635 SPELL_EFFECT_SKILL = 0x76,
4636 SPELL_EFFECT_APPLY_AREA_AURA_PET = 0x77,
4637 SPELL_EFFECT_TELEPORT_GRAVEYARD = 0x78,
4638 SPELL_EFFECT_NORMALIZED_WEAPON_DMG = 0x79,
4639 SPELL_EFFECT_UNKNOWN122 = 0x7A,
4640 SPELL_EFFECT_SEND_TAXI = 0x7B,
4641 SPELL_EFFECT_PLAYER_PULL = 0x7C,
4642 SPELL_EFFECT_MODIFY_THREAT_PERCENT = 0x7D,
4643 SPELL_EFFECT_UNKNOWN126 = 0x7E,
4644 SPELL_EFFECT_UNKNOWN127 = 0x7F,
4645 } e_spell_effect;
4646 static const value_string e_spell_effect_strings[] = {
4647 { SPELL_EFFECT_NONE, "None" },
4648 { SPELL_EFFECT_INSTAKILL, "Instakill" },
4649 { SPELL_EFFECT_SCHOOL_DAMAGE, "School Damage" },
4650 { SPELL_EFFECT_DUMMY, "Dummy" },
4651 { SPELL_EFFECT_PORTAL_TELEPORT, "Portal Teleport" },
4652 { SPELL_EFFECT_TELEPORT_UNITS, "Teleport Units" },
4653 { SPELL_EFFECT_APPLY_AURA, "Apply Aura" },
4654 { SPELL_EFFECT_ENVIRONMENTAL_DAMAGE, "Environmental Damage" },
4655 { SPELL_EFFECT_POWER_DRAIN, "Power Drain" },
4656 { SPELL_EFFECT_HEALTH_LEECH, "Health Leech" },
4657 { SPELL_EFFECT_HEAL, "Heal" },
4658 { SPELL_EFFECT_BIND, "Bind" },
4659 { SPELL_EFFECT_PORTAL, "Portal" },
4660 { SPELL_EFFECT_RITUAL_BASE, "Ritual Base" },
4661 { SPELL_EFFECT_RITUAL_SPECIALIZE, "Ritual Specialize" },
4662 { SPELL_EFFECT_RITUAL_ACTIVATE_PORTAL, "Ritual Activate Portal" },
4663 { SPELL_EFFECT_QUEST_COMPLETE, "Quest Complete" },
4664 { SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, "Weapon Damage Noschool" },
4665 { SPELL_EFFECT_RESURRECT, "Resurrect" },
4666 { SPELL_EFFECT_ADD_EXTRA_ATTACKS, "Add Extra Attacks" },
4667 { SPELL_EFFECT_DODGE, "Dodge" },
4668 { SPELL_EFFECT_EVADE, "Evade" },
4669 { SPELL_EFFECT_PARRY, "Parry" },
4670 { SPELL_EFFECT_BLOCK, "Block" },
4671 { SPELL_EFFECT_CREATE_ITEM, "Create Item" },
4672 { SPELL_EFFECT_WEAPON, "Weapon" },
4673 { SPELL_EFFECT_DEFENSE, "Defense" },
4674 { SPELL_EFFECT_PERSISTENT_AREA_AURA, "Persistent Area Aura" },
4675 { SPELL_EFFECT_SUMMON, "Summon" },
4676 { SPELL_EFFECT_LEAP, "Leap" },
4677 { SPELL_EFFECT_ENERGIZE, "Energize" },
4678 { SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, "Weapon Percent Damage" },
4679 { SPELL_EFFECT_TRIGGER_MISSILE, "Trigger Missile" },
4680 { SPELL_EFFECT_OPEN_LOCK, "Open Lock" },
4681 { SPELL_EFFECT_SUMMON_CHANGE_ITEM, "Summon Change Item" },
4682 { SPELL_EFFECT_APPLY_AREA_AURA_PARTY, "Apply Area Aura Party" },
4683 { SPELL_EFFECT_LEARN_SPELL, "Learn Spell" },
4684 { SPELL_EFFECT_SPELL_DEFENSE, "Spell Defense" },
4685 { SPELL_EFFECT_DISPEL, "Dispel" },
4686 { SPELL_EFFECT_LANGUAGE, "Language" },
4687 { SPELL_EFFECT_DUAL_WIELD, "Dual Wield" },
4688 { SPELL_EFFECT_SUMMON_WILD, "Summon Wild" },
4689 { SPELL_EFFECT_SUMMON_GUARDIAN, "Summon Guardian" },
4690 { SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER, "Teleport Units Face Caster" },
4691 { SPELL_EFFECT_SKILL_STEP, "Skill Step" },
4692 { SPELL_EFFECT_ADD_HONOR, "Add Honor" },
4693 { SPELL_EFFECT_SPAWN, "Spawn" },
4694 { SPELL_EFFECT_TRADE_SKILL, "Trade Skill" },
4695 { SPELL_EFFECT_STEALTH, "Stealth" },
4696 { SPELL_EFFECT_DETECT, "Detect" },
4697 { SPELL_EFFECT_TRANS_DOOR, "Trans Door" },
4698 { SPELL_EFFECT_FORCE_CRITICAL_HIT, "Force Critical Hit" },
4699 { SPELL_EFFECT_GUARANTEE_HIT, "Guarantee Hit" },
4700 { SPELL_EFFECT_ENCHANT_ITEM, "Enchant Item" },
4701 { SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY, "Enchant Item Temporary" },
4702 { SPELL_EFFECT_TAMECREATURE, "Tamecreature" },
4703 { SPELL_EFFECT_SUMMON_PET, "Summon Pet" },
4704 { SPELL_EFFECT_LEARN_PET_SPELL, "Learn Pet Spell" },
4705 { SPELL_EFFECT_WEAPON_DAMAGE, "Weapon Damage" },
4706 { SPELL_EFFECT_OPEN_LOCK_ITEM, "Open Lock Item" },
4707 { SPELL_EFFECT_PROFICIENCY, "Proficiency" },
4708 { SPELL_EFFECT_SEND_EVENT, "Send Event" },
4709 { SPELL_EFFECT_POWER_BURN, "Power Burn" },
4710 { SPELL_EFFECT_THREAT, "Threat" },
4711 { SPELL_EFFECT_TRIGGER_SPELL, "Trigger Spell" },
4712 { SPELL_EFFECT_HEALTH_FUNNEL, "Health Funnel" },
4713 { SPELL_EFFECT_POWER_FUNNEL, "Power Funnel" },
4714 { SPELL_EFFECT_HEAL_MAX_HEALTH, "Heal Max Health" },
4715 { SPELL_EFFECT_INTERRUPT_CAST, "Interrupt Cast" },
4716 { SPELL_EFFECT_DISTRACT, "Distract" },
4717 { SPELL_EFFECT_PULL, "Pull" },
4718 { SPELL_EFFECT_PICKPOCKET, "Pickpocket" },
4719 { SPELL_EFFECT_ADD_FARSIGHT, "Add Farsight" },
4720 { SPELL_EFFECT_SUMMON_POSSESSED, "Summon Possessed" },
4721 { SPELL_EFFECT_SUMMON_TOTEM, "Summon Totem" },
4722 { SPELL_EFFECT_HEAL_MECHANICAL, "Heal Mechanical" },
4723 { SPELL_EFFECT_SUMMON_OBJECT_WILD, "Summon Object Wild" },
4724 { SPELL_EFFECT_SCRIPT_EFFECT, "Script Effect" },
4725 { SPELL_EFFECT_ATTACK, "Attack" },
4726 { SPELL_EFFECT_SANCTUARY, "Sanctuary" },
4727 { SPELL_EFFECT_ADD_COMBO_POINTS, "Add Combo Points" },
4728 { SPELL_EFFECT_CREATE_HOUSE, "Create House" },
4729 { SPELL_EFFECT_BIND_SIGHT, "Bind Sight" },
4730 { SPELL_EFFECT_DUEL, "Duel" },
4731 { SPELL_EFFECT_STUCK, "Stuck" },
4732 { SPELL_EFFECT_SUMMON_PLAYER, "Summon Player" },
4733 { SPELL_EFFECT_ACTIVATE_OBJECT, "Activate Object" },
4734 { SPELL_EFFECT_SUMMON_TOTEM_SLOT1, "Summon Totem Slot1" },
4735 { SPELL_EFFECT_SUMMON_TOTEM_SLOT2, "Summon Totem Slot2" },
4736 { SPELL_EFFECT_SUMMON_TOTEM_SLOT3, "Summon Totem Slot3" },
4737 { SPELL_EFFECT_SUMMON_TOTEM_SLOT4, "Summon Totem Slot4" },
4738 { SPELL_EFFECT_THREAT_ALL, "Threat All" },
4739 { SPELL_EFFECT_ENCHANT_HELD_ITEM, "Enchant Held Item" },
4740 { SPELL_EFFECT_SUMMON_PHANTASM, "Summon Phantasm" },
4741 { SPELL_EFFECT_SELF_RESURRECT, "Self Resurrect" },
4742 { SPELL_EFFECT_SKINNING, "Skinning" },
4743 { SPELL_EFFECT_CHARGE, "Charge" },
4744 { SPELL_EFFECT_SUMMON_CRITTER, "Summon Critter" },
4745 { SPELL_EFFECT_KNOCK_BACK, "Knock Back" },
4746 { SPELL_EFFECT_DISENCHANT, "Disenchant" },
4747 { SPELL_EFFECT_INEBRIATE, "Inebriate" },
4748 { SPELL_EFFECT_FEED_PET, "Feed Pet" },
4749 { SPELL_EFFECT_DISMISS_PET, "Dismiss Pet" },
4750 { SPELL_EFFECT_REPUTATION, "Reputation" },
4751 { SPELL_EFFECT_SUMMON_OBJECT_SLOT1, "Summon Object Slot1" },
4752 { SPELL_EFFECT_SUMMON_OBJECT_SLOT2, "Summon Object Slot2" },
4753 { SPELL_EFFECT_SUMMON_OBJECT_SLOT3, "Summon Object Slot3" },
4754 { SPELL_EFFECT_SUMMON_OBJECT_SLOT4, "Summon Object Slot4" },
4755 { SPELL_EFFECT_DISPEL_MECHANIC, "Dispel Mechanic" },
4756 { SPELL_EFFECT_SUMMON_DEAD_PET, "Summon Dead Pet" },
4757 { SPELL_EFFECT_DESTROY_ALL_TOTEMS, "Destroy All Totems" },
4758 { SPELL_EFFECT_DURABILITY_DAMAGE, "Durability Damage" },
4759 { SPELL_EFFECT_SUMMON_DEMON, "Summon Demon" },
4760 { SPELL_EFFECT_RESURRECT_NEW, "Resurrect New" },
4761 { SPELL_EFFECT_ATTACK_ME, "Attack Me" },
4762 { SPELL_EFFECT_DURABILITY_DAMAGE_PCT, "Durability Damage Pct" },
4763 { SPELL_EFFECT_SKIN_PLAYER_CORPSE, "Skin Player Corpse" },
4764 { SPELL_EFFECT_SPIRIT_HEAL, "Spirit Heal" },
4765 { SPELL_EFFECT_SKILL, "Skill" },
4766 { SPELL_EFFECT_APPLY_AREA_AURA_PET, "Apply Area Aura Pet" },
4767 { SPELL_EFFECT_TELEPORT_GRAVEYARD, "Teleport Graveyard" },
4768 { SPELL_EFFECT_NORMALIZED_WEAPON_DMG, "Normalized Weapon Dmg" },
4769 { SPELL_EFFECT_UNKNOWN122, "Unknown122" },
4770 { SPELL_EFFECT_SEND_TAXI, "Send Taxi" },
4771 { SPELL_EFFECT_PLAYER_PULL, "Player Pull" },
4772 { SPELL_EFFECT_MODIFY_THREAT_PERCENT, "Modify Threat Percent" },
4773 { SPELL_EFFECT_UNKNOWN126, "Unknown126" },
4774 { SPELL_EFFECT_UNKNOWN127, "Unknown127" },
4775 { 0, NULL }
4778 typedef enum {
4779 POWER_MANA = 0x00,
4780 POWER_RAGE = 0x01,
4781 POWER_FOCUS = 0x02,
4782 POWER_ENERGY = 0x03,
4783 POWER_HAPPINESS = 0x04,
4784 POWER_HEALTH = 0xFE,
4785 } e_power;
4786 static const value_string e_power_strings[] = {
4787 { POWER_MANA, "Mana" },
4788 { POWER_RAGE, "Rage" },
4789 { POWER_FOCUS, "Focus" },
4790 { POWER_ENERGY, "Energy" },
4791 { POWER_HAPPINESS, "Happiness" },
4792 { POWER_HEALTH, "Health" },
4793 { 0, NULL }
4796 typedef enum {
4797 SPELL_MISS_INFO_NONE = 0x0,
4798 SPELL_MISS_INFO_MISS = 0x1,
4799 SPELL_MISS_INFO_RESIST = 0x2,
4800 SPELL_MISS_INFO_DODGE = 0x3,
4801 SPELL_MISS_INFO_PARRY = 0x4,
4802 SPELL_MISS_INFO_BLOCK = 0x5,
4803 SPELL_MISS_INFO_EVADE = 0x6,
4804 SPELL_MISS_INFO_IMMUNE = 0x7,
4805 SPELL_MISS_INFO_IMMUNE2 = 0x8,
4806 SPELL_MISS_INFO_DEFLECT = 0x9,
4807 SPELL_MISS_INFO_ABSORB = 0xA,
4808 SPELL_MISS_INFO_REFLECT = 0xB,
4809 } e_spell_miss_info;
4810 static const value_string e_spell_miss_info_strings[] = {
4811 { SPELL_MISS_INFO_NONE, "None" },
4812 { SPELL_MISS_INFO_MISS, "Miss" },
4813 { SPELL_MISS_INFO_RESIST, "Resist" },
4814 { SPELL_MISS_INFO_DODGE, "Dodge" },
4815 { SPELL_MISS_INFO_PARRY, "Parry" },
4816 { SPELL_MISS_INFO_BLOCK, "Block" },
4817 { SPELL_MISS_INFO_EVADE, "Evade" },
4818 { SPELL_MISS_INFO_IMMUNE, "Immune" },
4819 { SPELL_MISS_INFO_IMMUNE2, "Immune2" },
4820 { SPELL_MISS_INFO_DEFLECT, "Deflect" },
4821 { SPELL_MISS_INFO_ABSORB, "Absorb" },
4822 { SPELL_MISS_INFO_REFLECT, "Reflect" },
4823 { 0, NULL }
4826 typedef enum {
4827 TRAINER_SPELL_STATE_GREEN = 0x0,
4828 TRAINER_SPELL_STATE_RED = 0x1,
4829 TRAINER_SPELL_STATE_GRAY = 0x2,
4830 } e_trainer_spell_state;
4831 static const value_string e_trainer_spell_state_strings[] = {
4832 { TRAINER_SPELL_STATE_GREEN, "Green" },
4833 { TRAINER_SPELL_STATE_RED, "Red" },
4834 { TRAINER_SPELL_STATE_GRAY, "Gray" },
4835 { 0, NULL }
4838 typedef enum {
4839 SKILL_NONE = 0x000,
4840 SKILL_FROST = 0x006,
4841 SKILL_FIRE = 0x008,
4842 SKILL_ARMS = 0x01A,
4843 SKILL_COMBAT = 0x026,
4844 SKILL_SUBTLETY = 0x027,
4845 SKILL_POISONS = 0x028,
4846 SKILL_SWORDS = 0x02B,
4847 SKILL_AXES = 0x02C,
4848 SKILL_BOWS = 0x02D,
4849 SKILL_GUNS = 0x02E,
4850 SKILL_BEAST_MASTERY = 0x032,
4851 SKILL_SURVIVAL = 0x033,
4852 SKILL_MACES = 0x036,
4853 SKILL_TWO_HANDED_SWORDS = 0x037,
4854 SKILL_HOLY = 0x038,
4855 SKILL_SHADOW = 0x04E,
4856 SKILL_DEFENSE = 0x05F,
4857 SKILL_LANGUAGE_COMMON = 0x062,
4858 SKILL_RACIAL_DWARVEN = 0x065,
4859 SKILL_LANGUAGE_ORCISH = 0x06D,
4860 SKILL_LANGUAGE_DWARVEN = 0x06F,
4861 SKILL_LANGUAGE_DARNASSIAN = 0x071,
4862 SKILL_LANGUAGE_TAURAHE = 0x073,
4863 SKILL_DUAL_WIELD = 0x076,
4864 SKILL_RACIAL_TAUREN = 0x07C,
4865 SKILL_ORC_RACIAL = 0x07D,
4866 SKILL_RACIAL_NIGHT_ELF = 0x07E,
4867 SKILL_FIRST_AID = 0x081,
4868 SKILL_FERAL_COMBAT = 0x086,
4869 SKILL_STAVES = 0x088,
4870 SKILL_LANGUAGE_THALASSIAN = 0x089,
4871 SKILL_LANGUAGE_DRACONIC = 0x08A,
4872 SKILL_LANGUAGE_DEMON_TONGUE = 0x08B,
4873 SKILL_LANGUAGE_TITAN = 0x08C,
4874 SKILL_LANGUAGE_OLD_TONGUE = 0x08D,
4875 SKILL_SURVIVAL2 = 0x08E,
4876 SKILL_RIDING_HORSE = 0x094,
4877 SKILL_RIDING_WOLF = 0x095,
4878 SKILL_RIDING_TIGER = 0x096,
4879 SKILL_RIDING_RAM = 0x098,
4880 SKILL_SWIMMING = 0x09B,
4881 SKILL_TWO_HANDED_MACES = 0x0A0,
4882 SKILL_UNARMED = 0x0A2,
4883 SKILL_MARKSMANSHIP = 0x0A3,
4884 SKILL_BLACKSMITHING = 0x0A4,
4885 SKILL_LEATHERWORKING = 0x0A5,
4886 SKILL_ALCHEMY = 0x0AB,
4887 SKILL_TWO_HANDED_AXES = 0x0AC,
4888 SKILL_DAGGERS = 0x0AD,
4889 SKILL_THROWN = 0x0B0,
4890 SKILL_HERBALISM = 0x0B6,
4891 SKILL_GENERIC_DND = 0x0B7,
4892 SKILL_RETRIBUTION = 0x0B8,
4893 SKILL_COOKING = 0x0B9,
4894 SKILL_MINING = 0x0BA,
4895 SKILL_PET_IMP = 0x0BC,
4896 SKILL_PET_FELHUNTER = 0x0BD,
4897 SKILL_TAILORING = 0x0C5,
4898 SKILL_ENGINEERING = 0x0CA,
4899 SKILL_PET_SPIDER = 0x0CB,
4900 SKILL_PET_VOIDWALKER = 0x0CC,
4901 SKILL_PET_SUCCUBUS = 0x0CD,
4902 SKILL_PET_INFERNAL = 0x0CE,
4903 SKILL_PET_DOOMGUARD = 0x0CF,
4904 SKILL_PET_WOLF = 0x0D0,
4905 SKILL_PET_CAT = 0x0D1,
4906 SKILL_PET_BEAR = 0x0D2,
4907 SKILL_PET_BOAR = 0x0D3,
4908 SKILL_PET_CROCILISK = 0x0D4,
4909 SKILL_PET_CARRION_BIRD = 0x0D5,
4910 SKILL_PET_CRAB = 0x0D6,
4911 SKILL_PET_GORILLA = 0x0D7,
4912 SKILL_PET_RAPTOR = 0x0D9,
4913 SKILL_PET_TALLSTRIDER = 0x0DA,
4914 SKILL_RACIAL_UNDED = 0x0DC,
4915 SKILL_CROSSBOWS = 0x0E2,
4916 SKILL_WANDS = 0x0E4,
4917 SKILL_POLEARMS = 0x0E5,
4918 SKILL_PET_SCORPID = 0x0EC,
4919 SKILL_ARCANE = 0x0ED,
4920 SKILL_PET_TURTLE = 0x0FB,
4921 SKILL_ASSASSINATION = 0x0FD,
4922 SKILL_FURY = 0x100,
4923 SKILL_PROTECTION = 0x101,
4924 SKILL_BEAST_TRAINING = 0x105,
4925 SKILL_PROTECTION2 = 0x10B,
4926 SKILL_PET_TALENTS = 0x10E,
4927 SKILL_PLATE_MAIL = 0x125,
4928 SKILL_LANGUAGE_GNOMISH = 0x139,
4929 SKILL_LANGUAGE_TROLL = 0x13B,
4930 SKILL_ENCHANTING = 0x14D,
4931 SKILL_DEMONOLOGY = 0x162,
4932 SKILL_AFFLICTION = 0x163,
4933 SKILL_FISHING = 0x164,
4934 SKILL_ENHANCEMENT = 0x175,
4935 SKILL_RESTORATION = 0x176,
4936 SKILL_ELEMENTAL_COMBAT = 0x177,
4937 SKILL_SKINNING = 0x189,
4938 SKILL_MAIL = 0x19D,
4939 SKILL_LEATHER = 0x19E,
4940 SKILL_CLOTH = 0x19F,
4941 SKILL_SHIELD = 0x1B1,
4942 SKILL_FIST_WEAPONS = 0x1D9,
4943 SKILL_RIDING_RAPTOR = 0x215,
4944 SKILL_RIDING_MECHANOSTRIDER = 0x229,
4945 SKILL_RIDING_UNDEAD_HORSE = 0x22A,
4946 SKILL_RESTORATION2 = 0x23D,
4947 SKILL_BALANCE = 0x23E,
4948 SKILL_DESTRUCTION = 0x251,
4949 SKILL_HOLY2 = 0x252,
4950 SKILL_DISCIPLINE = 0x265,
4951 SKILL_LOCKPICKING = 0x279,
4952 SKILL_PET_BAT = 0x28D,
4953 SKILL_PET_HYENA = 0x28E,
4954 SKILL_PET_OWL = 0x28F,
4955 SKILL_PET_WIND_SERPENT = 0x290,
4956 SKILL_LANGUAGE_GUTTERSPEAK = 0x2A1,
4957 SKILL_RIDING_KODO = 0x2C9,
4958 SKILL_RACIAL_TROLL = 0x2DD,
4959 SKILL_RACIAL_GNOME = 0x2F1,
4960 SKILL_RACIAL_HUMAN = 0x2F2,
4961 SKILL_PET_EVENT_RC = 0x2F6,
4962 SKILL_RIDING = 0x2FA,
4963 } e_skill;
4964 static const value_string e_skill_strings[] = {
4965 { SKILL_NONE, "None" },
4966 { SKILL_FROST, "Frost" },
4967 { SKILL_FIRE, "Fire" },
4968 { SKILL_ARMS, "Arms" },
4969 { SKILL_COMBAT, "Combat" },
4970 { SKILL_SUBTLETY, "Subtlety" },
4971 { SKILL_POISONS, "Poisons" },
4972 { SKILL_SWORDS, "Swords" },
4973 { SKILL_AXES, "Axes" },
4974 { SKILL_BOWS, "Bows" },
4975 { SKILL_GUNS, "Guns" },
4976 { SKILL_BEAST_MASTERY, "Beast Mastery" },
4977 { SKILL_SURVIVAL, "Survival" },
4978 { SKILL_MACES, "Maces" },
4979 { SKILL_TWO_HANDED_SWORDS, "Two Handed Swords" },
4980 { SKILL_HOLY, "Holy" },
4981 { SKILL_SHADOW, "Shadow" },
4982 { SKILL_DEFENSE, "Defense" },
4983 { SKILL_LANGUAGE_COMMON, "Language Common" },
4984 { SKILL_RACIAL_DWARVEN, "Racial Dwarven" },
4985 { SKILL_LANGUAGE_ORCISH, "Language Orcish" },
4986 { SKILL_LANGUAGE_DWARVEN, "Language Dwarven" },
4987 { SKILL_LANGUAGE_DARNASSIAN, "Language Darnassian" },
4988 { SKILL_LANGUAGE_TAURAHE, "Language Taurahe" },
4989 { SKILL_DUAL_WIELD, "Dual Wield" },
4990 { SKILL_RACIAL_TAUREN, "Racial Tauren" },
4991 { SKILL_ORC_RACIAL, "Orc Racial" },
4992 { SKILL_RACIAL_NIGHT_ELF, "Racial Night Elf" },
4993 { SKILL_FIRST_AID, "First Aid" },
4994 { SKILL_FERAL_COMBAT, "Feral Combat" },
4995 { SKILL_STAVES, "Staves" },
4996 { SKILL_LANGUAGE_THALASSIAN, "Language Thalassian" },
4997 { SKILL_LANGUAGE_DRACONIC, "Language Draconic" },
4998 { SKILL_LANGUAGE_DEMON_TONGUE, "Language Demon Tongue" },
4999 { SKILL_LANGUAGE_TITAN, "Language Titan" },
5000 { SKILL_LANGUAGE_OLD_TONGUE, "Language Old Tongue" },
5001 { SKILL_SURVIVAL2, "Survival2" },
5002 { SKILL_RIDING_HORSE, "Riding Horse" },
5003 { SKILL_RIDING_WOLF, "Riding Wolf" },
5004 { SKILL_RIDING_TIGER, "Riding Tiger" },
5005 { SKILL_RIDING_RAM, "Riding Ram" },
5006 { SKILL_SWIMMING, "Swimming" },
5007 { SKILL_TWO_HANDED_MACES, "Two Handed Maces" },
5008 { SKILL_UNARMED, "Unarmed" },
5009 { SKILL_MARKSMANSHIP, "Marksmanship" },
5010 { SKILL_BLACKSMITHING, "Blacksmithing" },
5011 { SKILL_LEATHERWORKING, "Leatherworking" },
5012 { SKILL_ALCHEMY, "Alchemy" },
5013 { SKILL_TWO_HANDED_AXES, "Two Handed Axes" },
5014 { SKILL_DAGGERS, "Daggers" },
5015 { SKILL_THROWN, "Thrown" },
5016 { SKILL_HERBALISM, "Herbalism" },
5017 { SKILL_GENERIC_DND, "Generic Dnd" },
5018 { SKILL_RETRIBUTION, "Retribution" },
5019 { SKILL_COOKING, "Cooking" },
5020 { SKILL_MINING, "Mining" },
5021 { SKILL_PET_IMP, "Pet Imp" },
5022 { SKILL_PET_FELHUNTER, "Pet Felhunter" },
5023 { SKILL_TAILORING, "Tailoring" },
5024 { SKILL_ENGINEERING, "Engineering" },
5025 { SKILL_PET_SPIDER, "Pet Spider" },
5026 { SKILL_PET_VOIDWALKER, "Pet Voidwalker" },
5027 { SKILL_PET_SUCCUBUS, "Pet Succubus" },
5028 { SKILL_PET_INFERNAL, "Pet Infernal" },
5029 { SKILL_PET_DOOMGUARD, "Pet Doomguard" },
5030 { SKILL_PET_WOLF, "Pet Wolf" },
5031 { SKILL_PET_CAT, "Pet Cat" },
5032 { SKILL_PET_BEAR, "Pet Bear" },
5033 { SKILL_PET_BOAR, "Pet Boar" },
5034 { SKILL_PET_CROCILISK, "Pet Crocilisk" },
5035 { SKILL_PET_CARRION_BIRD, "Pet Carrion Bird" },
5036 { SKILL_PET_CRAB, "Pet Crab" },
5037 { SKILL_PET_GORILLA, "Pet Gorilla" },
5038 { SKILL_PET_RAPTOR, "Pet Raptor" },
5039 { SKILL_PET_TALLSTRIDER, "Pet Tallstrider" },
5040 { SKILL_RACIAL_UNDED, "Racial Unded" },
5041 { SKILL_CROSSBOWS, "Crossbows" },
5042 { SKILL_WANDS, "Wands" },
5043 { SKILL_POLEARMS, "Polearms" },
5044 { SKILL_PET_SCORPID, "Pet Scorpid" },
5045 { SKILL_ARCANE, "Arcane" },
5046 { SKILL_PET_TURTLE, "Pet Turtle" },
5047 { SKILL_ASSASSINATION, "Assassination" },
5048 { SKILL_FURY, "Fury" },
5049 { SKILL_PROTECTION, "Protection" },
5050 { SKILL_BEAST_TRAINING, "Beast Training" },
5051 { SKILL_PROTECTION2, "Protection2" },
5052 { SKILL_PET_TALENTS, "Pet Talents" },
5053 { SKILL_PLATE_MAIL, "Plate Mail" },
5054 { SKILL_LANGUAGE_GNOMISH, "Language Gnomish" },
5055 { SKILL_LANGUAGE_TROLL, "Language Troll" },
5056 { SKILL_ENCHANTING, "Enchanting" },
5057 { SKILL_DEMONOLOGY, "Demonology" },
5058 { SKILL_AFFLICTION, "Affliction" },
5059 { SKILL_FISHING, "Fishing" },
5060 { SKILL_ENHANCEMENT, "Enhancement" },
5061 { SKILL_RESTORATION, "Restoration" },
5062 { SKILL_ELEMENTAL_COMBAT, "Elemental Combat" },
5063 { SKILL_SKINNING, "Skinning" },
5064 { SKILL_MAIL, "Mail" },
5065 { SKILL_LEATHER, "Leather" },
5066 { SKILL_CLOTH, "Cloth" },
5067 { SKILL_SHIELD, "Shield" },
5068 { SKILL_FIST_WEAPONS, "Fist Weapons" },
5069 { SKILL_RIDING_RAPTOR, "Riding Raptor" },
5070 { SKILL_RIDING_MECHANOSTRIDER, "Riding Mechanostrider" },
5071 { SKILL_RIDING_UNDEAD_HORSE, "Riding Undead Horse" },
5072 { SKILL_RESTORATION2, "Restoration2" },
5073 { SKILL_BALANCE, "Balance" },
5074 { SKILL_DESTRUCTION, "Destruction" },
5075 { SKILL_HOLY2, "Holy2" },
5076 { SKILL_DISCIPLINE, "Discipline" },
5077 { SKILL_LOCKPICKING, "Lockpicking" },
5078 { SKILL_PET_BAT, "Pet Bat" },
5079 { SKILL_PET_HYENA, "Pet Hyena" },
5080 { SKILL_PET_OWL, "Pet Owl" },
5081 { SKILL_PET_WIND_SERPENT, "Pet Wind Serpent" },
5082 { SKILL_LANGUAGE_GUTTERSPEAK, "Language Gutterspeak" },
5083 { SKILL_RIDING_KODO, "Riding Kodo" },
5084 { SKILL_RACIAL_TROLL, "Racial Troll" },
5085 { SKILL_RACIAL_GNOME, "Racial Gnome" },
5086 { SKILL_RACIAL_HUMAN, "Racial Human" },
5087 { SKILL_PET_EVENT_RC, "Pet Event Rc" },
5088 { SKILL_RIDING, "Riding" },
5089 { 0, NULL }
5092 typedef enum {
5093 ITEM_QUALITY_POOR = 0x0,
5094 ITEM_QUALITY_NORMAL = 0x1,
5095 ITEM_QUALITY_UNCOMMON = 0x2,
5096 ITEM_QUALITY_RARE = 0x3,
5097 ITEM_QUALITY_EPIC = 0x4,
5098 ITEM_QUALITY_LEGENDARY = 0x5,
5099 ITEM_QUALITY_ARTIFACT = 0x6,
5100 } e_item_quality;
5101 static const value_string e_item_quality_strings[] = {
5102 { ITEM_QUALITY_POOR, "Poor" },
5103 { ITEM_QUALITY_NORMAL, "Normal" },
5104 { ITEM_QUALITY_UNCOMMON, "Uncommon" },
5105 { ITEM_QUALITY_RARE, "Rare" },
5106 { ITEM_QUALITY_EPIC, "Epic" },
5107 { ITEM_QUALITY_LEGENDARY, "Legendary" },
5108 { ITEM_QUALITY_ARTIFACT, "Artifact" },
5109 { 0, NULL }
5112 typedef enum {
5113 BATTLEFIELD_PORT_ACTION_LEAVE_QUEUE = 0x0,
5114 BATTLEFIELD_PORT_ACTION_ENTER_BATTLE = 0x1,
5115 } e_battlefield_port_action;
5116 static const value_string e_battlefield_port_action_strings[] = {
5117 { BATTLEFIELD_PORT_ACTION_LEAVE_QUEUE, "Leave Queue" },
5118 { BATTLEFIELD_PORT_ACTION_ENTER_BATTLE, "Enter Battle" },
5119 { 0, NULL }
5122 typedef enum {
5123 BUYBACK_SLOT_SLOT1 = 0x45,
5124 BUYBACK_SLOT_SLOT2 = 0x46,
5125 BUYBACK_SLOT_SLOT3 = 0x47,
5126 BUYBACK_SLOT_SLOT4 = 0x48,
5127 BUYBACK_SLOT_SLOT5 = 0x49,
5128 BUYBACK_SLOT_SLOT6 = 0x4A,
5129 BUYBACK_SLOT_SLOT7 = 0x4B,
5130 BUYBACK_SLOT_SLOT8 = 0x4C,
5131 BUYBACK_SLOT_SLOT9 = 0x4D,
5132 BUYBACK_SLOT_SLOT10 = 0x4E,
5133 BUYBACK_SLOT_SLOT11 = 0x4F,
5134 BUYBACK_SLOT_SLOT12 = 0x50,
5135 BUYBACK_SLOT_SLOT13 = 0x51,
5136 } e_buyback_slot;
5137 static const value_string e_buyback_slot_strings[] = {
5138 { BUYBACK_SLOT_SLOT1, "Slot1" },
5139 { BUYBACK_SLOT_SLOT2, "Slot2" },
5140 { BUYBACK_SLOT_SLOT3, "Slot3" },
5141 { BUYBACK_SLOT_SLOT4, "Slot4" },
5142 { BUYBACK_SLOT_SLOT5, "Slot5" },
5143 { BUYBACK_SLOT_SLOT6, "Slot6" },
5144 { BUYBACK_SLOT_SLOT7, "Slot7" },
5145 { BUYBACK_SLOT_SLOT8, "Slot8" },
5146 { BUYBACK_SLOT_SLOT9, "Slot9" },
5147 { BUYBACK_SLOT_SLOT10, "Slot10" },
5148 { BUYBACK_SLOT_SLOT11, "Slot11" },
5149 { BUYBACK_SLOT_SLOT12, "Slot12" },
5150 { BUYBACK_SLOT_SLOT13, "Slot13" },
5151 { 0, NULL }
5154 typedef enum {
5155 EMOTE_ONESHOT_NONE = 0x000,
5156 EMOTE_ONESHOT_TALK = 0x001,
5157 EMOTE_ONESHOT_BOW = 0x002,
5158 EMOTE_ONESHOT_WAVE = 0x003,
5159 EMOTE_ONESHOT_CHEER = 0x004,
5160 EMOTE_ONESHOT_EXCLAMATION = 0x005,
5161 EMOTE_ONESHOT_QUESTION = 0x006,
5162 EMOTE_ONESHOT_EAT = 0x007,
5163 EMOTE_STATE_DANCE = 0x00A,
5164 EMOTE_ONESHOT_LAUGH = 0x00B,
5165 EMOTE_STATE_SLEEP = 0x00C,
5166 EMOTE_STATE_SIT = 0x00D,
5167 EMOTE_ONESHOT_RUDE = 0x00E,
5168 EMOTE_ONESHOT_ROAR = 0x00F,
5169 EMOTE_ONESHOT_KNEEL = 0x010,
5170 EMOTE_ONESHOT_KISS = 0x011,
5171 EMOTE_ONESHOT_CRY = 0x012,
5172 EMOTE_ONESHOT_CHICKEN = 0x013,
5173 EMOTE_ONESHOT_BEG = 0x014,
5174 EMOTE_ONESHOT_APPLAUD = 0x015,
5175 EMOTE_ONESHOT_SHOUT = 0x016,
5176 EMOTE_ONESHOT_FLEX = 0x017,
5177 EMOTE_ONESHOT_SHY = 0x018,
5178 EMOTE_ONESHOT_POINT = 0x019,
5179 EMOTE_STATE_STAND = 0x01A,
5180 EMOTE_STATE_READYUNARMED = 0x01B,
5181 EMOTE_STATE_WORK_SHEATHED = 0x01C,
5182 EMOTE_STATE_POINT = 0x01D,
5183 EMOTE_STATE_NONE = 0x01E,
5184 EMOTE_ONESHOT_WOUND = 0x021,
5185 EMOTE_ONESHOT_WOUNDCRITICAL = 0x022,
5186 EMOTE_ONESHOT_ATTACKUNARMED = 0x023,
5187 EMOTE_ONESHOT_ATTACK1H = 0x024,
5188 EMOTE_ONESHOT_ATTACK2HTIGHT = 0x025,
5189 EMOTE_ONESHOT_ATTACK2HLOOSE = 0x026,
5190 EMOTE_ONESHOT_PARRYUNARMED = 0x027,
5191 EMOTE_ONESHOT_PARRYSHIELD = 0x02B,
5192 EMOTE_ONESHOT_READYUNARMED = 0x02C,
5193 EMOTE_ONESHOT_READY1H = 0x02D,
5194 EMOTE_ONESHOT_READYBOW = 0x030,
5195 EMOTE_ONESHOT_SPELLPRECAST = 0x032,
5196 EMOTE_ONESHOT_SPELLCAST = 0x033,
5197 EMOTE_ONESHOT_BATTLEROAR = 0x035,
5198 EMOTE_ONESHOT_SPECIALATTACK1H = 0x036,
5199 EMOTE_ONESHOT_KICK = 0x03C,
5200 EMOTE_ONESHOT_ATTACKTHROWN = 0x03D,
5201 EMOTE_STATE_STUN = 0x040,
5202 EMOTE_STATE_DEAD = 0x041,
5203 EMOTE_ONESHOT_SALUTE = 0x042,
5204 EMOTE_STATE_KNEEL = 0x044,
5205 EMOTE_STATE_USESTANDING = 0x045,
5206 EMOTE_ONESHOT_WAVE_NOSHEATHE = 0x046,
5207 EMOTE_ONESHOT_CHEER_NOSHEATHE = 0x047,
5208 EMOTE_ONESHOT_EAT_NOSHEATHE = 0x05C,
5209 EMOTE_STATE_STUN_NOSHEATHE = 0x05D,
5210 EMOTE_ONESHOT_DANCE = 0x05E,
5211 EMOTE_ONESHOT_SALUTE_NOSHEATH = 0x071,
5212 EMOTE_STATE_USESTANDING_NOSHEATHE = 0x085,
5213 EMOTE_ONESHOT_LAUGH_NOSHEATHE = 0x099,
5214 EMOTE_STATE_WORK = 0x0AD,
5215 EMOTE_STATE_SPELLPRECAST = 0x0C1,
5216 EMOTE_ONESHOT_READYRIFLE = 0x0D5,
5217 EMOTE_STATE_READYRIFLE = 0x0D6,
5218 EMOTE_STATE_WORK_MINING = 0x0E9,
5219 EMOTE_STATE_WORK_CHOPWOOD = 0x0EA,
5220 EMOTE_STATE_APPLAUD = 0x0FD,
5221 EMOTE_ONESHOT_LIFTOFF = 0x0FE,
5222 EMOTE_ONESHOT_YES = 0x111,
5223 EMOTE_ONESHOT_NO = 0x112,
5224 EMOTE_ONESHOT_TRAIN = 0x113,
5225 EMOTE_ONESHOT_LAND = 0x125,
5226 EMOTE_STATE_AT_EASE = 0x139,
5227 EMOTE_STATE_READY1H = 0x14D,
5228 EMOTE_STATE_SPELLKNEELSTART = 0x161,
5229 EMOTE_STATE_SUBMERGED = 0x175,
5230 EMOTE_ONESHOT_SUBMERGE = 0x176,
5231 EMOTE_STATE_READY2H = 0x177,
5232 EMOTE_STATE_READYBOW = 0x178,
5233 EMOTE_ONESHOT_MOUNTSPECIAL = 0x179,
5234 EMOTE_STATE_TALK = 0x17A,
5235 EMOTE_STATE_FISHING = 0x17B,
5236 EMOTE_ONESHOT_FISHING = 0x17C,
5237 EMOTE_ONESHOT_LOOT = 0x17D,
5238 EMOTE_STATE_WHIRLWIND = 0x17E,
5239 EMOTE_STATE_DROWNED = 0x17F,
5240 EMOTE_STATE_HOLD_BOW = 0x180,
5241 EMOTE_STATE_HOLD_RIFLE = 0x181,
5242 EMOTE_STATE_HOLD_THROWN = 0x182,
5243 EMOTE_ONESHOT_DROWN = 0x183,
5244 EMOTE_ONESHOT_STOMP = 0x184,
5245 EMOTE_ONESHOT_ATTACKOFF = 0x185,
5246 EMOTE_ONESHOT_ATTACKOFFPIERCE = 0x186,
5247 EMOTE_STATE_ROAR = 0x187,
5248 EMOTE_STATE_LAUGH = 0x188,
5249 EMOTE_ONESHOT_CREATURE_SPECIAL = 0x189,
5250 EMOTE_ONESHOT_JUMPLANDRUN = 0x18A,
5251 EMOTE_ONESHOT_JUMPEND = 0x18B,
5252 EMOTE_ONESHOT_TALK_NOSHEATHE = 0x18C,
5253 EMOTE_ONESHOT_POINT_NOSHEATHE = 0x18D,
5254 EMOTE_STATE_CANNIBALIZE = 0x18E,
5255 EMOTE_ONESHOT_JUMPSTART = 0x18F,
5256 EMOTE_STATE_DANCESPECIAL = 0x190,
5257 EMOTE_ONESHOT_DANCESPECIAL = 0x191,
5258 EMOTE_ONESHOT_CUSTOMSPELL01 = 0x192,
5259 EMOTE_ONESHOT_CUSTOMSPELL02 = 0x193,
5260 EMOTE_ONESHOT_CUSTOMSPELL03 = 0x194,
5261 EMOTE_ONESHOT_CUSTOMSPELL04 = 0x195,
5262 EMOTE_ONESHOT_CUSTOMSPELL05 = 0x196,
5263 EMOTE_ONESHOT_CUSTOMSPELL06 = 0x197,
5264 EMOTE_ONESHOT_CUSTOMSPELL07 = 0x198,
5265 EMOTE_ONESHOT_CUSTOMSPELL08 = 0x199,
5266 EMOTE_ONESHOT_CUSTOMSPELL09 = 0x19A,
5267 EMOTE_ONESHOT_CUSTOMSPELL10 = 0x19B,
5268 EMOTE_STATE_EXCLAIM = 0x19C,
5269 EMOTE_STATE_SIT_CHAIR_MED = 0x19F,
5270 EMOTE_STATE_SPELLEFFECT_HOLD = 0x1A6,
5271 EMOTE_STATE_EAT_NO_SHEATHE = 0x1A7,
5272 } e_emote;
5273 static const value_string e_emote_strings[] = {
5274 { EMOTE_ONESHOT_NONE, "Oneshot None" },
5275 { EMOTE_ONESHOT_TALK, "Oneshot Talk" },
5276 { EMOTE_ONESHOT_BOW, "Oneshot Bow" },
5277 { EMOTE_ONESHOT_WAVE, "Oneshot Wave" },
5278 { EMOTE_ONESHOT_CHEER, "Oneshot Cheer" },
5279 { EMOTE_ONESHOT_EXCLAMATION, "Oneshot Exclamation" },
5280 { EMOTE_ONESHOT_QUESTION, "Oneshot Question" },
5281 { EMOTE_ONESHOT_EAT, "Oneshot Eat" },
5282 { EMOTE_STATE_DANCE, "State Dance" },
5283 { EMOTE_ONESHOT_LAUGH, "Oneshot Laugh" },
5284 { EMOTE_STATE_SLEEP, "State Sleep" },
5285 { EMOTE_STATE_SIT, "State Sit" },
5286 { EMOTE_ONESHOT_RUDE, "Oneshot Rude" },
5287 { EMOTE_ONESHOT_ROAR, "Oneshot Roar" },
5288 { EMOTE_ONESHOT_KNEEL, "Oneshot Kneel" },
5289 { EMOTE_ONESHOT_KISS, "Oneshot Kiss" },
5290 { EMOTE_ONESHOT_CRY, "Oneshot Cry" },
5291 { EMOTE_ONESHOT_CHICKEN, "Oneshot Chicken" },
5292 { EMOTE_ONESHOT_BEG, "Oneshot Beg" },
5293 { EMOTE_ONESHOT_APPLAUD, "Oneshot Applaud" },
5294 { EMOTE_ONESHOT_SHOUT, "Oneshot Shout" },
5295 { EMOTE_ONESHOT_FLEX, "Oneshot Flex" },
5296 { EMOTE_ONESHOT_SHY, "Oneshot Shy" },
5297 { EMOTE_ONESHOT_POINT, "Oneshot Point" },
5298 { EMOTE_STATE_STAND, "State Stand" },
5299 { EMOTE_STATE_READYUNARMED, "State Readyunarmed" },
5300 { EMOTE_STATE_WORK_SHEATHED, "State Work Sheathed" },
5301 { EMOTE_STATE_POINT, "State Point" },
5302 { EMOTE_STATE_NONE, "State None" },
5303 { EMOTE_ONESHOT_WOUND, "Oneshot Wound" },
5304 { EMOTE_ONESHOT_WOUNDCRITICAL, "Oneshot Woundcritical" },
5305 { EMOTE_ONESHOT_ATTACKUNARMED, "Oneshot Attackunarmed" },
5306 { EMOTE_ONESHOT_ATTACK1H, "Oneshot Attack1h" },
5307 { EMOTE_ONESHOT_ATTACK2HTIGHT, "Oneshot Attack2htight" },
5308 { EMOTE_ONESHOT_ATTACK2HLOOSE, "Oneshot Attack2hloose" },
5309 { EMOTE_ONESHOT_PARRYUNARMED, "Oneshot Parryunarmed" },
5310 { EMOTE_ONESHOT_PARRYSHIELD, "Oneshot Parryshield" },
5311 { EMOTE_ONESHOT_READYUNARMED, "Oneshot Readyunarmed" },
5312 { EMOTE_ONESHOT_READY1H, "Oneshot Ready1h" },
5313 { EMOTE_ONESHOT_READYBOW, "Oneshot Readybow" },
5314 { EMOTE_ONESHOT_SPELLPRECAST, "Oneshot Spellprecast" },
5315 { EMOTE_ONESHOT_SPELLCAST, "Oneshot Spellcast" },
5316 { EMOTE_ONESHOT_BATTLEROAR, "Oneshot Battleroar" },
5317 { EMOTE_ONESHOT_SPECIALATTACK1H, "Oneshot Specialattack1h" },
5318 { EMOTE_ONESHOT_KICK, "Oneshot Kick" },
5319 { EMOTE_ONESHOT_ATTACKTHROWN, "Oneshot Attackthrown" },
5320 { EMOTE_STATE_STUN, "State Stun" },
5321 { EMOTE_STATE_DEAD, "State Dead" },
5322 { EMOTE_ONESHOT_SALUTE, "Oneshot Salute" },
5323 { EMOTE_STATE_KNEEL, "State Kneel" },
5324 { EMOTE_STATE_USESTANDING, "State Usestanding" },
5325 { EMOTE_ONESHOT_WAVE_NOSHEATHE, "Oneshot Wave Nosheathe" },
5326 { EMOTE_ONESHOT_CHEER_NOSHEATHE, "Oneshot Cheer Nosheathe" },
5327 { EMOTE_ONESHOT_EAT_NOSHEATHE, "Oneshot Eat Nosheathe" },
5328 { EMOTE_STATE_STUN_NOSHEATHE, "State Stun Nosheathe" },
5329 { EMOTE_ONESHOT_DANCE, "Oneshot Dance" },
5330 { EMOTE_ONESHOT_SALUTE_NOSHEATH, "Oneshot Salute Nosheath" },
5331 { EMOTE_STATE_USESTANDING_NOSHEATHE, "State Usestanding Nosheathe" },
5332 { EMOTE_ONESHOT_LAUGH_NOSHEATHE, "Oneshot Laugh Nosheathe" },
5333 { EMOTE_STATE_WORK, "State Work" },
5334 { EMOTE_STATE_SPELLPRECAST, "State Spellprecast" },
5335 { EMOTE_ONESHOT_READYRIFLE, "Oneshot Readyrifle" },
5336 { EMOTE_STATE_READYRIFLE, "State Readyrifle" },
5337 { EMOTE_STATE_WORK_MINING, "State Work Mining" },
5338 { EMOTE_STATE_WORK_CHOPWOOD, "State Work Chopwood" },
5339 { EMOTE_STATE_APPLAUD, "State Applaud" },
5340 { EMOTE_ONESHOT_LIFTOFF, "Oneshot Liftoff" },
5341 { EMOTE_ONESHOT_YES, "Oneshot Yes" },
5342 { EMOTE_ONESHOT_NO, "Oneshot No" },
5343 { EMOTE_ONESHOT_TRAIN, "Oneshot Train" },
5344 { EMOTE_ONESHOT_LAND, "Oneshot Land" },
5345 { EMOTE_STATE_AT_EASE, "State At Ease" },
5346 { EMOTE_STATE_READY1H, "State Ready1h" },
5347 { EMOTE_STATE_SPELLKNEELSTART, "State Spellkneelstart" },
5348 { EMOTE_STATE_SUBMERGED, "State Submerged" },
5349 { EMOTE_ONESHOT_SUBMERGE, "Oneshot Submerge" },
5350 { EMOTE_STATE_READY2H, "State Ready2h" },
5351 { EMOTE_STATE_READYBOW, "State Readybow" },
5352 { EMOTE_ONESHOT_MOUNTSPECIAL, "Oneshot Mountspecial" },
5353 { EMOTE_STATE_TALK, "State Talk" },
5354 { EMOTE_STATE_FISHING, "State Fishing" },
5355 { EMOTE_ONESHOT_FISHING, "Oneshot Fishing" },
5356 { EMOTE_ONESHOT_LOOT, "Oneshot Loot" },
5357 { EMOTE_STATE_WHIRLWIND, "State Whirlwind" },
5358 { EMOTE_STATE_DROWNED, "State Drowned" },
5359 { EMOTE_STATE_HOLD_BOW, "State Hold Bow" },
5360 { EMOTE_STATE_HOLD_RIFLE, "State Hold Rifle" },
5361 { EMOTE_STATE_HOLD_THROWN, "State Hold Thrown" },
5362 { EMOTE_ONESHOT_DROWN, "Oneshot Drown" },
5363 { EMOTE_ONESHOT_STOMP, "Oneshot Stomp" },
5364 { EMOTE_ONESHOT_ATTACKOFF, "Oneshot Attackoff" },
5365 { EMOTE_ONESHOT_ATTACKOFFPIERCE, "Oneshot Attackoffpierce" },
5366 { EMOTE_STATE_ROAR, "State Roar" },
5367 { EMOTE_STATE_LAUGH, "State Laugh" },
5368 { EMOTE_ONESHOT_CREATURE_SPECIAL, "Oneshot Creature Special" },
5369 { EMOTE_ONESHOT_JUMPLANDRUN, "Oneshot Jumplandrun" },
5370 { EMOTE_ONESHOT_JUMPEND, "Oneshot Jumpend" },
5371 { EMOTE_ONESHOT_TALK_NOSHEATHE, "Oneshot Talk Nosheathe" },
5372 { EMOTE_ONESHOT_POINT_NOSHEATHE, "Oneshot Point Nosheathe" },
5373 { EMOTE_STATE_CANNIBALIZE, "State Cannibalize" },
5374 { EMOTE_ONESHOT_JUMPSTART, "Oneshot Jumpstart" },
5375 { EMOTE_STATE_DANCESPECIAL, "State Dancespecial" },
5376 { EMOTE_ONESHOT_DANCESPECIAL, "Oneshot Dancespecial" },
5377 { EMOTE_ONESHOT_CUSTOMSPELL01, "Oneshot Customspell01" },
5378 { EMOTE_ONESHOT_CUSTOMSPELL02, "Oneshot Customspell02" },
5379 { EMOTE_ONESHOT_CUSTOMSPELL03, "Oneshot Customspell03" },
5380 { EMOTE_ONESHOT_CUSTOMSPELL04, "Oneshot Customspell04" },
5381 { EMOTE_ONESHOT_CUSTOMSPELL05, "Oneshot Customspell05" },
5382 { EMOTE_ONESHOT_CUSTOMSPELL06, "Oneshot Customspell06" },
5383 { EMOTE_ONESHOT_CUSTOMSPELL07, "Oneshot Customspell07" },
5384 { EMOTE_ONESHOT_CUSTOMSPELL08, "Oneshot Customspell08" },
5385 { EMOTE_ONESHOT_CUSTOMSPELL09, "Oneshot Customspell09" },
5386 { EMOTE_ONESHOT_CUSTOMSPELL10, "Oneshot Customspell10" },
5387 { EMOTE_STATE_EXCLAIM, "State Exclaim" },
5388 { EMOTE_STATE_SIT_CHAIR_MED, "State Sit Chair Med" },
5389 { EMOTE_STATE_SPELLEFFECT_HOLD, "State Spelleffect Hold" },
5390 { EMOTE_STATE_EAT_NO_SHEATHE, "State Eat No Sheathe" },
5391 { 0, NULL }
5394 typedef enum {
5395 FAR_SIGHT_OPERATION_REMOVE = 0x0,
5396 FAR_SIGHT_OPERATION_ADD = 0x1,
5397 } e_far_sight_operation;
5398 static const value_string e_far_sight_operation_strings[] = {
5399 { FAR_SIGHT_OPERATION_REMOVE, "Remove" },
5400 { FAR_SIGHT_OPERATION_ADD, "Add" },
5401 { 0, NULL }
5404 typedef enum {
5405 GM_TICKET_TYPE_STUCK = 0x1,
5406 GM_TICKET_TYPE_BEHAVIOR_HARASSMENT = 0x2,
5407 GM_TICKET_TYPE_GUILD = 0x3,
5408 GM_TICKET_TYPE_ITEM = 0x4,
5409 GM_TICKET_TYPE_ENVIRONMENTAL = 0x5,
5410 GM_TICKET_TYPE_NONQUEST_CREEP = 0x6,
5411 GM_TICKET_TYPE_QUEST_QUESTNPC = 0x7,
5412 GM_TICKET_TYPE_TECHNICAL = 0x8,
5413 GM_TICKET_TYPE_ACCOUNT_BILLING = 0x9,
5414 GM_TICKET_TYPE_CHARACTER = 0xA,
5415 } e_gm_ticket_type;
5416 static const value_string e_gm_ticket_type_strings[] = {
5417 { GM_TICKET_TYPE_STUCK, "Stuck" },
5418 { GM_TICKET_TYPE_BEHAVIOR_HARASSMENT, "Behavior Harassment" },
5419 { GM_TICKET_TYPE_GUILD, "Guild" },
5420 { GM_TICKET_TYPE_ITEM, "Item" },
5421 { GM_TICKET_TYPE_ENVIRONMENTAL, "Environmental" },
5422 { GM_TICKET_TYPE_NONQUEST_CREEP, "Nonquest Creep" },
5423 { GM_TICKET_TYPE_QUEST_QUESTNPC, "Quest Questnpc" },
5424 { GM_TICKET_TYPE_TECHNICAL, "Technical" },
5425 { GM_TICKET_TYPE_ACCOUNT_BILLING, "Account Billing" },
5426 { GM_TICKET_TYPE_CHARACTER, "Character" },
5427 { 0, NULL }
5430 typedef enum {
5431 TALENT_BURNING_SOUL = 0x017,
5432 TALENT_IMPROVED_FIRE_WARD = 0x018,
5433 TALENT_IMPROVED_SCORCH = 0x019,
5434 TALENT_IMPROVED_FIREBALL = 0x01A,
5435 TALENT_IMPROVED_FIRE_BLAST = 0x01B,
5436 TALENT_FLAME_THROWING = 0x01C,
5437 TALENT_PYROBLAST = 0x01D,
5438 TALENT_IMPACT = 0x01E,
5439 TALENT_IMPROVED_FLAMESTRIKE = 0x01F,
5440 TALENT_BLAST_WAVE = 0x020,
5441 TALENT_CRITICAL_MASS = 0x021,
5442 TALENT_IGNITE = 0x022,
5443 TALENT_FIRE_POWER = 0x023,
5444 TALENT_COMBUSTION = 0x024,
5445 TALENT_IMPROVED_FROSTBOLT = 0x025,
5446 TALENT_FROSTBITE = 0x026,
5447 TALENT_PIERCING_ICE = 0x03D,
5448 TALENT_IMPROVED_FROST_NOVA = 0x03E,
5449 TALENT_IMPROVED_BLIZZARD = 0x03F,
5450 TALENT_IMPROVED_CONE_OF_COLD = 0x040,
5451 TALENT_PERMAFROST = 0x041,
5452 TALENT_FROST_CHANNELING = 0x042,
5453 TALENT_SHATTER = 0x043,
5454 TALENT_WINTERS_CHILL = 0x044,
5455 TALENT_COLD_SNAP = 0x045,
5456 TALENT_FROST_WARDING = 0x046,
5457 TALENT_ICE_BARRIER = 0x047,
5458 TALENT_ICE_BLOCK = 0x048,
5459 TALENT_ICE_SHARDS = 0x049,
5460 TALENT_ARCANE_SUBTLETY = 0x04A,
5461 TALENT_ARCANE_CONCENTRATION = 0x04B,
5462 TALENT_ARCANE_FOCUS = 0x04C,
5463 TALENT_ARCANE_MIND = 0x04D,
5464 TALENT_MAGE_WAND_SPECIALIZATION = 0x04E,
5465 TALENT_IMPROVED_ARCANE_MISSILES = 0x050,
5466 TALENT_IMPROVED_ARCANE_EXPLOSION = 0x051,
5467 TALENT_MAGIC_ATTUNEMENT = 0x052,
5468 TALENT_IMPROVED_MANA_SHIELD = 0x053,
5469 TALENT_ARCANE_RESILIENCE = 0x055,
5470 TALENT_PRESENCE_OF_MIND = 0x056,
5471 TALENT_ARCANE_POWER = 0x057,
5472 TALENT_IMPROVED_COUNTERSPELL = 0x058,
5473 TALENT_DEEP_WOUNDS = 0x079,
5474 TALENT_WARRIOR_SWORD_SPECIALIZATION = 0x07B,
5475 TALENT_IMPROVED_HEROIC_STRIKE = 0x07C,
5476 TALENT_WARRIOR_MACE_SPECIALIZATION = 0x07D,
5477 TALENT_IMPROVED_CHARGE = 0x07E,
5478 TALENT_IMPROVED_REND = 0x07F,
5479 TALENT_IMPROVED_THUNDER_CLAP = 0x080,
5480 TALENT_IMPROVED_HAMSTRING = 0x081,
5481 TALENT_WARRIOR_DEFLECTION = 0x082,
5482 TALENT_IMPROVED_OVERPOWER = 0x083,
5483 TALENT_AXE_SPECIALIZATION = 0x084,
5484 TALENT_SWEEPING_STRIKES = 0x085,
5485 TALENT_POLEARM_SPECIALIZATION = 0x086,
5486 TALENT_MORTAL_STRIKE = 0x087,
5487 TALENT_WARRIOR_TWO_HANDED_WEAPON_SPECIALIZATION = 0x088,
5488 TALENT_ANGER_MANAGEMENT = 0x089,
5489 TALENT_WARRIOR_ANTICIPATION = 0x08A,
5490 TALENT_WARRIOR_TOUGHNESS = 0x08C,
5491 TALENT_IRON_WILL = 0x08D,
5492 TALENT_IMPROVED_BLOODRAGE = 0x08E,
5493 TALENT_IMPROVED_TAUNT = 0x08F,
5494 TALENT_DEFIANCE = 0x090,
5495 TALENT_IMPROVED_SHIELD_BLOCK = 0x091,
5496 TALENT_IMPROVED_SUNDER_ARMOR = 0x092,
5497 TALENT_IMPROVED_REVENGE = 0x093,
5498 TALENT_SHIELD_SLAM = 0x094,
5499 TALENT_IMPROVED_SHIELD_BASH = 0x095,
5500 TALENT_IMPROVED_SHIELD_WALL = 0x096,
5501 TALENT_IMPROVED_DISARM = 0x097,
5502 TALENT_CONCUSSION_BLOW = 0x098,
5503 TALENT_LAST_STAND = 0x099,
5504 TALENT_IMPROVED_BATTLE_SHOUT = 0x09A,
5505 TALENT_ENRAGE = 0x09B,
5506 TALENT_WARRIOR_FLURRY = 0x09C,
5507 TALENT_CRUELTY = 0x09D,
5508 TALENT_BOOMING_VOICE = 0x09E,
5509 TALENT_UNBRIDLED_WRATH = 0x09F,
5510 TALENT_PIERCING_HOWL = 0x0A0,
5511 TALENT_IMPROVED_DEMORALIZING_SHOUT = 0x0A1,
5512 TALENT_DEATH_WISH = 0x0A5,
5513 TALENT_IMPROVED_CLEAVE = 0x0A6,
5514 TALENT_BLOODTHIRST = 0x0A7,
5515 TALENT_IMPROVED_SLAM = 0x0A8,
5516 TALENT_ROGUE_PRECISION = 0x0B5,
5517 TALENT_DAGGER_SPECIALIZATION = 0x0B6,
5518 TALENT_FIST_WEAPON_SPECIALIZATION = 0x0B7,
5519 TALENT_ROGUE_MACE_SPECIALIZATION = 0x0B8,
5520 TALENT_ROGUE_LIGHTNING_REFLEXES = 0x0BA,
5521 TALENT_ROGUE_DEFLECTION = 0x0BB,
5522 TALENT_IMPROVED_SINISTER_STRIKE = 0x0C9,
5523 TALENT_IMPROVED_BACKSTAB = 0x0CA,
5524 TALENT_IMPROVED_GOUGE = 0x0CB,
5525 TALENT_ENDURANCE = 0x0CC,
5526 TALENT_ADRENALINE_RUSH = 0x0CD,
5527 TALENT_IMPROVED_KICK = 0x0CE,
5528 TALENT_ROGUE_DUAL_WIELD_SPECIALIZATION = 0x0DD,
5529 TALENT_IMPROVED_SPRINT = 0x0DE,
5530 TALENT_BLADE_FLURRY = 0x0DF,
5531 TALENT_MASTER_OF_DECEPTION = 0x0F1,
5532 TALENT_ROGUE_SWORD_SPECIALIZATION = 0x0F2,
5533 TALENT_CAMOUFLAGE = 0x0F4,
5534 TALENT_INITIATIVE = 0x0F5,
5535 TALENT_SETUP = 0x0F6,
5536 TALENT_ELUSIVENESS = 0x0F7,
5537 TALENT_OPPORTUNITY = 0x105,
5538 TALENT_IMPROVED_SAP = 0x106,
5539 TALENT_IMPROVED_AMBUSH = 0x107,
5540 TALENT_DIRTY_DEEDS = 0x109,
5541 TALENT_IMPROVED_POISONS = 0x10C,
5542 TALENT_LETHALITY = 0x10D,
5543 TALENT_MALICE = 0x10E,
5544 TALENT_REMORSELESS_ATTACKS = 0x110,
5545 TALENT_RUTHLESSNESS = 0x111,
5546 TALENT_MURDER = 0x112,
5547 TALENT_IMPROVED_EVISCERATE = 0x114,
5548 TALENT_IMPROVED_SLICE_AND_DICE = 0x115,
5549 TALENT_IMPROVED_EXPOSE_ARMOR = 0x116,
5550 TALENT_IMPROVED_KIDNEY_SHOT = 0x117,
5551 TALENT_COLD_BLOOD = 0x118,
5552 TALENT_RELENTLESS_STRIKES = 0x119,
5553 TALENT_SEAL_FATE = 0x11B,
5554 TALENT_PREPARATION = 0x11C,
5555 TALENT_RIPOSTE = 0x12D,
5556 TALENT_GHOSTLY_STRIKE = 0x12F,
5557 TALENT_MARTYRDOM = 0x141,
5558 TALENT_POWER_INFUSION = 0x142,
5559 TALENT_MENTAL_AGILITY = 0x155,
5560 TALENT_UNBREAKABLE_WILL = 0x156,
5561 TALENT_IMPROVED_POWER_WORD_SHIELD = 0x157,
5562 TALENT_IMPROVED_POWER_WORD_FORTITUDE = 0x158,
5563 TALENT_PRIEST_WAND_SPECIALIZATION = 0x159,
5564 TALENT_IMPROVED_INNER_FIRE = 0x15A,
5565 TALENT_MEDITATION = 0x15B,
5566 TALENT_INNER_FOCUS = 0x15C,
5567 TALENT_IMPROVED_MANA_BURN = 0x15E,
5568 TALENT_DIVINE_SPIRIT = 0x15F,
5569 TALENT_SILENT_RESOLVE = 0x160,
5570 TALENT_INSPIRATION = 0x169,
5571 TALENT_PREMEDITATION = 0x17D,
5572 TALENT_VIGOR = 0x17E,
5573 TALENT_HOLY_SPECIALIZATION = 0x191,
5574 TALENT_SPIRITUAL_GUIDANCE = 0x192,
5575 TALENT_SEARING_LIGHT = 0x193,
5576 TALENT_SPIRITUAL_HEALING = 0x194,
5577 TALENT_IMPROVED_RENEW = 0x196,
5578 TALENT_IMPROVED_HEALING = 0x198,
5579 TALENT_PRIEST_HEALING_FOCUS = 0x19A,
5580 TALENT_SPELL_WARDING = 0x19B,
5581 TALENT_IMPROVED_PRAYER_OF_HEALING = 0x19D,
5582 TALENT_ARCANE_INSTABILITY = 0x1A5,
5583 TALENT_HOLY_NOVA = 0x1BA,
5584 TALENT_SHADOW_WEAVING = 0x1CD,
5585 TALENT_DARKNESS = 0x1CE,
5586 TALENT_SHADOW_FOCUS = 0x1CF,
5587 TALENT_BLACKOUT = 0x1D0,
5588 TALENT_SPIRIT_TAP = 0x1D1,
5589 TALENT_SHADOW_AFFINITY = 0x1D2,
5590 TALENT_IMPROVED_MIND_BLAST = 0x1E1,
5591 TALENT_IMPROVED_SHADOW_WORD_PAIN = 0x1E2,
5592 TALENT_IMPROVED_FADE = 0x1E3,
5593 TALENT_VAMPIRIC_EMBRACE = 0x1E4,
5594 TALENT_MIND_FLAY = 0x1F5,
5595 TALENT_SHADOWFORM = 0x209,
5596 TALENT_SILENCE = 0x21D,
5597 TALENT_IMPROVED_PSYCHIC_SCREAM = 0x21E,
5598 TALENT_CALL_OF_FLAME = 0x231,
5599 TALENT_CALL_OF_THUNDER = 0x232,
5600 TALENT_CONCUSSION = 0x233,
5601 TALENT_CONVECTION = 0x234,
5602 TALENT_ELEMENTAL_FURY = 0x235,
5603 TALENT_IMPROVED_FIRE_TOTEMS = 0x237,
5604 TALENT_EARTHS_GRASP = 0x23C,
5605 TALENT_ELEMENTAL_MASTERY = 0x23D,
5606 TALENT_ELEMENTAL_FOCUS = 0x23E,
5607 TALENT_REVERBERATION = 0x23F,
5608 TALENT_ANCESTRAL_HEALING = 0x245,
5609 TALENT_TOTEMIC_MASTERY = 0x246,
5610 TALENT_NATURES_GUIDANCE = 0x247,
5611 TALENT_IMPROVED_HEALING_WAVE = 0x24A,
5612 TALENT_SHAMAN_HEALING_FOCUS = 0x24B,
5613 TALENT_RESTORATIVE_TOTEMS = 0x24C,
5614 TALENT_IMPROVED_REINCARNATION = 0x24D,
5615 TALENT_MANA_TIDE_TOTEM = 0x24E,
5616 TALENT_SHAMAN_NATURES_SWIFTNESS = 0x24F,
5617 TALENT_PURIFICATION = 0x250,
5618 TALENT_TIDAL_FOCUS = 0x251,
5619 TALENT_TIDAL_MASTERY = 0x252,
5620 TALENT_TOTEMIC_FOCUS = 0x253,
5621 TALENT_SHAMAN_ANTICIPATION = 0x259,
5622 TALENT_SHAMAN_FLURRY = 0x25A,
5623 TALENT_IMPROVED_GHOST_WOLF = 0x25D,
5624 TALENT_IMPROVED_LIGHTNING_SHIELD = 0x25F,
5625 TALENT_GUARDIAN_TOTEMS = 0x261,
5626 TALENT_ENHANCING_TOTEMS = 0x262,
5627 TALENT_ELEMENTAL_WEAPONS = 0x263,
5628 TALENT_SHAMAN_SHIELD_SPECIALIZATION = 0x264,
5629 TALENT_THUNDERING_STRIKES = 0x265,
5630 TALENT_ANCESTRAL_KNOWLEDGE = 0x266,
5631 TALENT_SHAMAN_TOUGHNESS = 0x267,
5632 TALENT_PARRY = 0x268,
5633 TALENT_TWO_HANDED_AXES_AND_MACES = 0x269,
5634 TALENT_TACTICAL_MASTERY = 0x281,
5635 TALENT_BLOOD_CRAZE = 0x295,
5636 TALENT_IMPALE = 0x296,
5637 TALENT_HEMORRHAGE = 0x2A9,
5638 TALENT_VILE_POISONS = 0x2AA,
5639 TALENT_WARRIOR_ONE_HANDED_WEAPON_SPECIALIZATION = 0x2BE,
5640 TALENT_LIGHTNING_MASTERY = 0x2D1,
5641 TALENT_ARCTIC_REACH = 0x2E5,
5642 TALENT_NATURES_GRASP = 0x2F9,
5643 TALENT_IMPROVED_WRATH = 0x2FA,
5644 TALENT_IMPROVED_MOONFIRE = 0x2FB,
5645 TALENT_NATURES_REACH = 0x2FC,
5646 TALENT_NATURAL_SHAPESHIFTER = 0x30D,
5647 TALENT_IMPROVED_THORNS = 0x30E,
5648 TALENT_MOONGLOW = 0x30F,
5649 TALENT_IMPROVED_STARFIRE = 0x310,
5650 TALENT_IMPROVED_ENTANGLING_ROOTS = 0x313,
5651 TALENT_OMEN_OF_CLARITY = 0x314,
5652 TALENT_NATURES_GRACE = 0x315,
5653 TALENT_MOONFURY = 0x316,
5654 TALENT_NATURAL_WEAPONS = 0x317,
5655 TALENT_DRUID_VENGEANCE = 0x318,
5656 TALENT_MOONKIN_FORM = 0x319,
5657 TALENT_DRUID_THICK_HIDE = 0x31A,
5658 TALENT_FERAL_AGGRESSION = 0x31B,
5659 TALENT_DRUID_FEROCITY = 0x31C,
5660 TALENT_BRUTAL_IMPACT = 0x31D,
5661 TALENT_SHARPENED_CLAWS = 0x31E,
5662 TALENT_FERAL_INSTINCT = 0x31F,
5663 TALENT_BLOOD_FRENZY = 0x320,
5664 TALENT_PRIMAL_FURY = 0x321,
5665 TALENT_IMPROVED_SHRED = 0x322,
5666 TALENT_PREDATORY_STRIKES = 0x323,
5667 TALENT_FERAL_CHARGE = 0x324,
5668 TALENT_SAVAGE_FURY = 0x325,
5669 TALENT_FELINE_SWIFTNESS = 0x327,
5670 TALENT_HEART_OF_THE_WILD = 0x328,
5671 TALENT_LEADER_OF_THE_PACK = 0x329,
5672 TALENT_IMPROVED_MARK_OF_THE_WILD = 0x335,
5673 TALENT_FUROR = 0x336,
5674 TALENT_NATURES_FOCUS = 0x337,
5675 TALENT_IMPROVED_HEALING_TOUCH = 0x338,
5676 TALENT_IMPROVED_REGROWTH = 0x339,
5677 TALENT_IMPROVED_ENRAGE = 0x33A,
5678 TALENT_INSECT_SWARM = 0x33B,
5679 TALENT_GIFT_OF_NATURE = 0x33C,
5680 TALENT_REFLECTION = 0x33D,
5681 TALENT_IMPROVED_REJUVENATION = 0x33E,
5682 TALENT_DRUID_NATURES_SWIFTNESS = 0x33F,
5683 TALENT_SUBTLETY = 0x349,
5684 TALENT_IMPROVED_TRANQUILITY = 0x34A,
5685 TALENT_TRANQUIL_SPIRIT = 0x34B,
5686 TALENT_SWIFTMEND = 0x34C,
5687 TALENT_SHADOW_REACH = 0x371,
5688 TALENT_STORMSTRIKE = 0x385,
5689 TALENT_IMPROVED_NATURES_GRASP = 0x399,
5690 TALENT_CATACLYSM = 0x3AD,
5691 TALENT_BANE = 0x3AF,
5692 TALENT_IMPROVED_SHADOW_BOLT = 0x3B0,
5693 TALENT_IMPROVED_IMMOLATE = 0x3C1,
5694 TALENT_SHADOWBURN = 0x3C3,
5695 TALENT_DESTRUCTIVE_REACH = 0x3C4,
5696 TALENT_IMPROVED_SEARING_PAIN = 0x3C5,
5697 TALENT_EMBERSTORM = 0x3C6,
5698 TALENT_RUIN = 0x3C7,
5699 TALENT_CONFLAGRATE = 0x3C8,
5700 TALENT_DEVASTATION = 0x3D5,
5701 TALENT_AFTERMATH = 0x3D6,
5702 TALENT_IMPROVED_FIREBOLT = 0x3D7,
5703 TALENT_IMPROVED_LASH_OF_PAIN = 0x3D8,
5704 TALENT_INTENSITY = 0x3D9,
5705 TALENT_PYROCLASM = 0x3DA,
5706 TALENT_FEL_CONCENTRATION = 0x3E9,
5707 TALENT_NIGHTFALL = 0x3EA,
5708 TALENT_IMPROVED_CORRUPTION = 0x3EB,
5709 TALENT_IMPROVED_DRAIN_LIFE = 0x3EC,
5710 TALENT_SUPPRESSION = 0x3ED,
5711 TALENT_IMPROVED_CURSE_OF_WEAKNESS = 0x3EE,
5712 TALENT_IMPROVED_LIFE_TAP = 0x3EF,
5713 TALENT_GRIM_REACH = 0x3FD,
5714 TALENT_DARK_PACT = 0x3FE,
5715 TALENT_SIPHON_LIFE = 0x411,
5716 TALENT_SHADOW_MASTERY = 0x412,
5717 TALENT_AMPLIFY_CURSE = 0x425,
5718 TALENT_CURSE_OF_EXHAUSTION = 0x439,
5719 TALENT_IMPROVED_CURSE_OF_EXHAUSTION = 0x43A,
5720 TALENT_IMPROVED_DRAIN_SOUL = 0x44D,
5721 TALENT_IMPROVED_DRAIN_MANA = 0x461,
5722 TALENT_AGGRESSION = 0x462,
5723 TALENT_SERRATED_BLADES = 0x463,
5724 TALENT_INCINERATE = 0x475,
5725 TALENT_ARCANE_MEDITATION = 0x476,
5726 TALENT_FAERIE_FIRE_FERAL = 0x48A,
5727 TALENT_DIVINE_FURY = 0x49D,
5728 TALENT_MENTAL_STRENGTH = 0x4B1,
5729 TALENT_FORCE_OF_WILL = 0x4B2,
5730 TALENT_IMPROVED_HEALTHSTONE = 0x4C5,
5731 TALENT_IMPROVED_IMP = 0x4C6,
5732 TALENT_DEMONIC_EMBRACE = 0x4C7,
5733 TALENT_IMPROVED_HEALTH_FUNNEL = 0x4C8,
5734 TALENT_IMPROVED_VOIDWALKER = 0x4C9,
5735 TALENT_FEL_DOMINATION = 0x4CA,
5736 TALENT_MASTER_SUMMONER = 0x4CB,
5737 TALENT_FEL_STAMINA = 0x4D9,
5738 TALENT_FEL_INTELLECT = 0x4DA,
5739 TALENT_IMPROVED_SUCCUBUS = 0x4DB,
5740 TALENT_MASTER_DEMONOLOGIST = 0x4DC,
5741 TALENT_IMPROVED_FIRESTONE = 0x4ED,
5742 TALENT_UNHOLY_POWER = 0x4EE,
5743 TALENT_IMPROVED_SPELLSTONE = 0x4EF,
5744 TALENT_DEMONIC_SACRIFICE = 0x501,
5745 TALENT_SOUL_LINK = 0x502,
5746 TALENT_IMPROVED_ENSLAVE_DEMON = 0x503,
5747 TALENT_IMPROVED_CURSE_OF_AGONY = 0x504,
5748 TALENT_HUMANOID_SLAYING = 0x515,
5749 TALENT_HUNTER_LIGHTNING_REFLEXES = 0x517,
5750 TALENT_ENTRAPMENT = 0x518,
5751 TALENT_IMPROVED_WING_CLIP = 0x519,
5752 TALENT_CLEVER_TRAPS = 0x51A,
5753 TALENT_DETERRENCE = 0x51C,
5754 TALENT_IMPROVED_FEIGN_DEATH = 0x51D,
5755 TALENT_SUREFOOTED = 0x51E,
5756 TALENT_HUNTER_DEFLECTION = 0x51F,
5757 TALENT_COUNTERATTACK = 0x520,
5758 TALENT_KILLER_INSTINCT = 0x529,
5759 TALENT_TRAP_MASTERY = 0x52A,
5760 TALENT_WYVERN_STING = 0x52D,
5761 TALENT_IMPROVED_CONCUSSIVE_SHOT = 0x53D,
5762 TALENT_EFFICIENCY = 0x53E,
5763 TALENT_IMPROVED_HUNTERS_MARK = 0x53F,
5764 TALENT_LETHAL_SHOTS = 0x540,
5765 TALENT_AIMED_SHOT = 0x541,
5766 TALENT_IMPROVED_ARCANE_SHOT = 0x542,
5767 TALENT_BARRAGE = 0x543,
5768 TALENT_IMPROVED_SERPENT_STING = 0x544,
5769 TALENT_MORTAL_SHOTS = 0x545,
5770 TALENT_IMPROVED_SCORPID_STING = 0x547,
5771 TALENT_HAWK_EYE = 0x548,
5772 TALENT_SCATTER_SHOT = 0x549,
5773 TALENT_TRUESHOT_AURA = 0x551,
5774 TALENT_RANGED_WEAPON_SPECIALIZATION = 0x552,
5775 TALENT_IMPROVED_ASPECT_OF_THE_MONKEY = 0x565,
5776 TALENT_IMPROVED_ASPECT_OF_THE_HAWK = 0x566,
5777 TALENT_PATHFINDING = 0x568,
5778 TALENT_IMPROVED_MEND_PET = 0x569,
5779 TALENT_BESTIAL_WRATH = 0x56A,
5780 TALENT_INTIMIDATION = 0x56B,
5781 TALENT_SPIRIT_BOND = 0x56C,
5782 TALENT_ENDURANCE_TRAINING = 0x56D,
5783 TALENT_BESTIAL_DISCIPLINE = 0x56E,
5784 TALENT_BESTIAL_SWIFTNESS = 0x56F,
5785 TALENT_HUNTER_FEROCITY = 0x571,
5786 TALENT_HUNTER_THICK_HIDE = 0x573,
5787 TALENT_UNLEASHED_FURY = 0x574,
5788 TALENT_FRENZY = 0x575,
5789 TALENT_IMPROVED_BLESSING_OF_MIGHT = 0x579,
5790 TALENT_PALADIN_VENGEANCE = 0x57A,
5791 TALENT_PALADIN_DEFLECTION = 0x57B,
5792 TALENT_IMPROVED_RETRIBUTION_AURA = 0x57D,
5793 TALENT_BENEDICTION = 0x57F,
5794 TALENT_SANCTITY_AURA = 0x581,
5795 TALENT_PALADIN_TWO_HANDED_WEAPON_SPECIALIZATION = 0x582,
5796 TALENT_CONVICTION = 0x583,
5797 TALENT_REDOUBT = 0x58D,
5798 TALENT_IMPROVED_DEVOTION_AURA = 0x58E,
5799 TALENT_PALADIN_TOUGHNESS = 0x58F,
5800 TALENT_PALADIN_SHIELD_SPECIALIZATION = 0x590,
5801 TALENT_GUARDIANS_FAVOR = 0x591,
5802 TALENT_RECKONING = 0x592,
5803 TALENT_PALADIN_ONE_HANDED_WEAPON_SPECIALIZATION = 0x595,
5804 TALENT_HOLY_SHIELD = 0x596,
5805 TALENT_BLESSING_OF_SANCTUARY = 0x597,
5806 TALENT_SPIRITUAL_FOCUS = 0x598,
5807 TALENT_DIVINE_FAVOR = 0x599,
5808 TALENT_CONSECRATION = 0x59B,
5809 TALENT_REPENTANCE = 0x5A1,
5810 TALENT_BLESSING_OF_KINGS = 0x5A2,
5811 TALENT_IMPROVED_LAY_ON_HANDS = 0x5A3,
5812 TALENT_HEALING_LIGHT = 0x5A4,
5813 TALENT_IMPROVED_BLESSING_OF_WISDOM = 0x5A6,
5814 TALENT_DIVINE_INTELLECT = 0x5A9,
5815 TALENT_DIVINE_STRENGTH = 0x5AA,
5816 TALENT_ILLUMINATION = 0x5B5,
5817 TALENT_IMPROVED_SEAL_OF_RIGHTEOUSNESS = 0x5B7,
5818 TALENT_IMPROVED_SEAL_OF_THE_CRUSADER = 0x5B8,
5819 TALENT_LASTING_JUDGEMENT = 0x5B9,
5820 TALENT_SEAL_OF_COMMAND = 0x5C9,
5821 TALENT_IMPROVED_RIGHTEOUS_FURY = 0x5DD,
5822 TALENT_HOLY_SHOCK = 0x5DE,
5823 TALENT_IMPROVED_HAMMER_OF_JUSTICE = 0x5F1,
5824 TALENT_IMPROVED_BERSERKER_RAGE = 0x605,
5825 TALENT_IMPROVED_EXECUTE = 0x606,
5826 TALENT_IMPROVED_INTERCEPT = 0x607,
5827 TALENT_SPIRIT_OF_REDEMPTION = 0x619,
5828 TALENT_WARRIOR_DUAL_WIELD_SPECIALIZATION = 0x62D,
5829 TALENT_WARRIOR_SHIELD_SPECIALIZATION = 0x641,
5830 TALENT_SAVAGE_STRIKES = 0x655,
5831 TALENT_SURVIVALIST = 0x656,
5832 TALENT_MONSTER_SLAYING = 0x657,
5833 TALENT_IMPROVED_EYES_OF_THE_BEAST = 0x658,
5834 TALENT_IMPROVED_REVIVE_PET = 0x659,
5835 TALENT_IMPROVED_CONCENTRATION_AURA = 0x65A,
5836 TALENT_HOLY_POWER = 0x65B,
5837 TALENT_UNYIELDING_FAITH = 0x65C,
5838 TALENT_PALADIN_ANTICIPATION = 0x65D,
5839 TALENT_PALADIN_PRECISION = 0x65E,
5840 TALENT_IMPROVED_JUDGEMENT = 0x65F,
5841 TALENT_EYE_FOR_AN_EYE = 0x660,
5842 TALENT_VINDICATION = 0x661,
5843 TALENT_PURSUIT_OF_JUSTICE = 0x662,
5844 TALENT_HOLY_REACH = 0x663,
5845 TALENT_BLESSED_RECOVERY = 0x664,
5846 TALENT_LIGHTWELL = 0x665,
5847 TALENT_IMPROVED_VAMPIRIC_EMBRACE = 0x666,
5848 TALENT_MASTER_OF_ELEMENTS = 0x667,
5849 TALENT_ELEMENTAL_WARDING = 0x668,
5850 TALENT_STORM_REACH = 0x669,
5851 TALENT_EYE_OF_THE_STORM = 0x66A,
5852 TALENT_WEAPON_MASTERY = 0x66B,
5853 TALENT_ELEMENTAL_DEVASTATION = 0x66D,
5854 TALENT_HEALING_GRACE = 0x66E,
5855 TALENT_IMPROVED_WEAPON_TOTEMS = 0x66F,
5856 TALENT_HEALING_WAY = 0x670,
5857 TALENT_ELEMENTAL_PRECISION = 0x671,
5858 TALENT_MAGIC_ABSORPTION = 0x672,
5859 TALENT_SLEIGHT_OF_HAND = 0x6A4,
5860 TALENT_HEIGHTENED_SENSES = 0x6A5,
5861 TALENT_DEADLINESS = 0x6A6,
5862 TALENT_WEAPON_EXPERTISE = 0x6A7,
5863 } e_talent;
5864 static const value_string e_talent_strings[] = {
5865 { TALENT_BURNING_SOUL, "Burning Soul" },
5866 { TALENT_IMPROVED_FIRE_WARD, "Improved Fire Ward" },
5867 { TALENT_IMPROVED_SCORCH, "Improved Scorch" },
5868 { TALENT_IMPROVED_FIREBALL, "Improved Fireball" },
5869 { TALENT_IMPROVED_FIRE_BLAST, "Improved Fire Blast" },
5870 { TALENT_FLAME_THROWING, "Flame Throwing" },
5871 { TALENT_PYROBLAST, "Pyroblast" },
5872 { TALENT_IMPACT, "Impact" },
5873 { TALENT_IMPROVED_FLAMESTRIKE, "Improved Flamestrike" },
5874 { TALENT_BLAST_WAVE, "Blast Wave" },
5875 { TALENT_CRITICAL_MASS, "Critical Mass" },
5876 { TALENT_IGNITE, "Ignite" },
5877 { TALENT_FIRE_POWER, "Fire Power" },
5878 { TALENT_COMBUSTION, "Combustion" },
5879 { TALENT_IMPROVED_FROSTBOLT, "Improved Frostbolt" },
5880 { TALENT_FROSTBITE, "Frostbite" },
5881 { TALENT_PIERCING_ICE, "Piercing Ice" },
5882 { TALENT_IMPROVED_FROST_NOVA, "Improved Frost Nova" },
5883 { TALENT_IMPROVED_BLIZZARD, "Improved Blizzard" },
5884 { TALENT_IMPROVED_CONE_OF_COLD, "Improved Cone Of Cold" },
5885 { TALENT_PERMAFROST, "Permafrost" },
5886 { TALENT_FROST_CHANNELING, "Frost Channeling" },
5887 { TALENT_SHATTER, "Shatter" },
5888 { TALENT_WINTERS_CHILL, "Winters Chill" },
5889 { TALENT_COLD_SNAP, "Cold Snap" },
5890 { TALENT_FROST_WARDING, "Frost Warding" },
5891 { TALENT_ICE_BARRIER, "Ice Barrier" },
5892 { TALENT_ICE_BLOCK, "Ice Block" },
5893 { TALENT_ICE_SHARDS, "Ice Shards" },
5894 { TALENT_ARCANE_SUBTLETY, "Arcane Subtlety" },
5895 { TALENT_ARCANE_CONCENTRATION, "Arcane Concentration" },
5896 { TALENT_ARCANE_FOCUS, "Arcane Focus" },
5897 { TALENT_ARCANE_MIND, "Arcane Mind" },
5898 { TALENT_MAGE_WAND_SPECIALIZATION, "Mage Wand Specialization" },
5899 { TALENT_IMPROVED_ARCANE_MISSILES, "Improved Arcane Missiles" },
5900 { TALENT_IMPROVED_ARCANE_EXPLOSION, "Improved Arcane Explosion" },
5901 { TALENT_MAGIC_ATTUNEMENT, "Magic Attunement" },
5902 { TALENT_IMPROVED_MANA_SHIELD, "Improved Mana Shield" },
5903 { TALENT_ARCANE_RESILIENCE, "Arcane Resilience" },
5904 { TALENT_PRESENCE_OF_MIND, "Presence Of Mind" },
5905 { TALENT_ARCANE_POWER, "Arcane Power" },
5906 { TALENT_IMPROVED_COUNTERSPELL, "Improved Counterspell" },
5907 { TALENT_DEEP_WOUNDS, "Deep Wounds" },
5908 { TALENT_WARRIOR_SWORD_SPECIALIZATION, "Warrior Sword Specialization" },
5909 { TALENT_IMPROVED_HEROIC_STRIKE, "Improved Heroic Strike" },
5910 { TALENT_WARRIOR_MACE_SPECIALIZATION, "Warrior Mace Specialization" },
5911 { TALENT_IMPROVED_CHARGE, "Improved Charge" },
5912 { TALENT_IMPROVED_REND, "Improved Rend" },
5913 { TALENT_IMPROVED_THUNDER_CLAP, "Improved Thunder Clap" },
5914 { TALENT_IMPROVED_HAMSTRING, "Improved Hamstring" },
5915 { TALENT_WARRIOR_DEFLECTION, "Warrior Deflection" },
5916 { TALENT_IMPROVED_OVERPOWER, "Improved Overpower" },
5917 { TALENT_AXE_SPECIALIZATION, "Axe Specialization" },
5918 { TALENT_SWEEPING_STRIKES, "Sweeping Strikes" },
5919 { TALENT_POLEARM_SPECIALIZATION, "Polearm Specialization" },
5920 { TALENT_MORTAL_STRIKE, "Mortal Strike" },
5921 { TALENT_WARRIOR_TWO_HANDED_WEAPON_SPECIALIZATION, "Warrior Two Handed Weapon Specialization" },
5922 { TALENT_ANGER_MANAGEMENT, "Anger Management" },
5923 { TALENT_WARRIOR_ANTICIPATION, "Warrior Anticipation" },
5924 { TALENT_WARRIOR_TOUGHNESS, "Warrior Toughness" },
5925 { TALENT_IRON_WILL, "Iron Will" },
5926 { TALENT_IMPROVED_BLOODRAGE, "Improved Bloodrage" },
5927 { TALENT_IMPROVED_TAUNT, "Improved Taunt" },
5928 { TALENT_DEFIANCE, "Defiance" },
5929 { TALENT_IMPROVED_SHIELD_BLOCK, "Improved Shield Block" },
5930 { TALENT_IMPROVED_SUNDER_ARMOR, "Improved Sunder Armor" },
5931 { TALENT_IMPROVED_REVENGE, "Improved Revenge" },
5932 { TALENT_SHIELD_SLAM, "Shield Slam" },
5933 { TALENT_IMPROVED_SHIELD_BASH, "Improved Shield Bash" },
5934 { TALENT_IMPROVED_SHIELD_WALL, "Improved Shield Wall" },
5935 { TALENT_IMPROVED_DISARM, "Improved Disarm" },
5936 { TALENT_CONCUSSION_BLOW, "Concussion Blow" },
5937 { TALENT_LAST_STAND, "Last Stand" },
5938 { TALENT_IMPROVED_BATTLE_SHOUT, "Improved Battle Shout" },
5939 { TALENT_ENRAGE, "Enrage" },
5940 { TALENT_WARRIOR_FLURRY, "Warrior Flurry" },
5941 { TALENT_CRUELTY, "Cruelty" },
5942 { TALENT_BOOMING_VOICE, "Booming Voice" },
5943 { TALENT_UNBRIDLED_WRATH, "Unbridled Wrath" },
5944 { TALENT_PIERCING_HOWL, "Piercing Howl" },
5945 { TALENT_IMPROVED_DEMORALIZING_SHOUT, "Improved Demoralizing Shout" },
5946 { TALENT_DEATH_WISH, "Death Wish" },
5947 { TALENT_IMPROVED_CLEAVE, "Improved Cleave" },
5948 { TALENT_BLOODTHIRST, "Bloodthirst" },
5949 { TALENT_IMPROVED_SLAM, "Improved Slam" },
5950 { TALENT_ROGUE_PRECISION, "Rogue Precision" },
5951 { TALENT_DAGGER_SPECIALIZATION, "Dagger Specialization" },
5952 { TALENT_FIST_WEAPON_SPECIALIZATION, "Fist Weapon Specialization" },
5953 { TALENT_ROGUE_MACE_SPECIALIZATION, "Rogue Mace Specialization" },
5954 { TALENT_ROGUE_LIGHTNING_REFLEXES, "Rogue Lightning Reflexes" },
5955 { TALENT_ROGUE_DEFLECTION, "Rogue Deflection" },
5956 { TALENT_IMPROVED_SINISTER_STRIKE, "Improved Sinister Strike" },
5957 { TALENT_IMPROVED_BACKSTAB, "Improved Backstab" },
5958 { TALENT_IMPROVED_GOUGE, "Improved Gouge" },
5959 { TALENT_ENDURANCE, "Endurance" },
5960 { TALENT_ADRENALINE_RUSH, "Adrenaline Rush" },
5961 { TALENT_IMPROVED_KICK, "Improved Kick" },
5962 { TALENT_ROGUE_DUAL_WIELD_SPECIALIZATION, "Rogue Dual Wield Specialization" },
5963 { TALENT_IMPROVED_SPRINT, "Improved Sprint" },
5964 { TALENT_BLADE_FLURRY, "Blade Flurry" },
5965 { TALENT_MASTER_OF_DECEPTION, "Master Of Deception" },
5966 { TALENT_ROGUE_SWORD_SPECIALIZATION, "Rogue Sword Specialization" },
5967 { TALENT_CAMOUFLAGE, "Camouflage" },
5968 { TALENT_INITIATIVE, "Initiative" },
5969 { TALENT_SETUP, "Setup" },
5970 { TALENT_ELUSIVENESS, "Elusiveness" },
5971 { TALENT_OPPORTUNITY, "Opportunity" },
5972 { TALENT_IMPROVED_SAP, "Improved Sap" },
5973 { TALENT_IMPROVED_AMBUSH, "Improved Ambush" },
5974 { TALENT_DIRTY_DEEDS, "Dirty Deeds" },
5975 { TALENT_IMPROVED_POISONS, "Improved Poisons" },
5976 { TALENT_LETHALITY, "Lethality" },
5977 { TALENT_MALICE, "Malice" },
5978 { TALENT_REMORSELESS_ATTACKS, "Remorseless Attacks" },
5979 { TALENT_RUTHLESSNESS, "Ruthlessness" },
5980 { TALENT_MURDER, "Murder" },
5981 { TALENT_IMPROVED_EVISCERATE, "Improved Eviscerate" },
5982 { TALENT_IMPROVED_SLICE_AND_DICE, "Improved Slice And Dice" },
5983 { TALENT_IMPROVED_EXPOSE_ARMOR, "Improved Expose Armor" },
5984 { TALENT_IMPROVED_KIDNEY_SHOT, "Improved Kidney Shot" },
5985 { TALENT_COLD_BLOOD, "Cold Blood" },
5986 { TALENT_RELENTLESS_STRIKES, "Relentless Strikes" },
5987 { TALENT_SEAL_FATE, "Seal Fate" },
5988 { TALENT_PREPARATION, "Preparation" },
5989 { TALENT_RIPOSTE, "Riposte" },
5990 { TALENT_GHOSTLY_STRIKE, "Ghostly Strike" },
5991 { TALENT_MARTYRDOM, "Martyrdom" },
5992 { TALENT_POWER_INFUSION, "Power Infusion" },
5993 { TALENT_MENTAL_AGILITY, "Mental Agility" },
5994 { TALENT_UNBREAKABLE_WILL, "Unbreakable Will" },
5995 { TALENT_IMPROVED_POWER_WORD_SHIELD, "Improved Power Word Shield" },
5996 { TALENT_IMPROVED_POWER_WORD_FORTITUDE, "Improved Power Word Fortitude" },
5997 { TALENT_PRIEST_WAND_SPECIALIZATION, "Priest Wand Specialization" },
5998 { TALENT_IMPROVED_INNER_FIRE, "Improved Inner Fire" },
5999 { TALENT_MEDITATION, "Meditation" },
6000 { TALENT_INNER_FOCUS, "Inner Focus" },
6001 { TALENT_IMPROVED_MANA_BURN, "Improved Mana Burn" },
6002 { TALENT_DIVINE_SPIRIT, "Divine Spirit" },
6003 { TALENT_SILENT_RESOLVE, "Silent Resolve" },
6004 { TALENT_INSPIRATION, "Inspiration" },
6005 { TALENT_PREMEDITATION, "Premeditation" },
6006 { TALENT_VIGOR, "Vigor" },
6007 { TALENT_HOLY_SPECIALIZATION, "Holy Specialization" },
6008 { TALENT_SPIRITUAL_GUIDANCE, "Spiritual Guidance" },
6009 { TALENT_SEARING_LIGHT, "Searing Light" },
6010 { TALENT_SPIRITUAL_HEALING, "Spiritual Healing" },
6011 { TALENT_IMPROVED_RENEW, "Improved Renew" },
6012 { TALENT_IMPROVED_HEALING, "Improved Healing" },
6013 { TALENT_PRIEST_HEALING_FOCUS, "Priest Healing Focus" },
6014 { TALENT_SPELL_WARDING, "Spell Warding" },
6015 { TALENT_IMPROVED_PRAYER_OF_HEALING, "Improved Prayer Of Healing" },
6016 { TALENT_ARCANE_INSTABILITY, "Arcane Instability" },
6017 { TALENT_HOLY_NOVA, "Holy Nova" },
6018 { TALENT_SHADOW_WEAVING, "Shadow Weaving" },
6019 { TALENT_DARKNESS, "Darkness" },
6020 { TALENT_SHADOW_FOCUS, "Shadow Focus" },
6021 { TALENT_BLACKOUT, "Blackout" },
6022 { TALENT_SPIRIT_TAP, "Spirit Tap" },
6023 { TALENT_SHADOW_AFFINITY, "Shadow Affinity" },
6024 { TALENT_IMPROVED_MIND_BLAST, "Improved Mind Blast" },
6025 { TALENT_IMPROVED_SHADOW_WORD_PAIN, "Improved Shadow Word Pain" },
6026 { TALENT_IMPROVED_FADE, "Improved Fade" },
6027 { TALENT_VAMPIRIC_EMBRACE, "Vampiric Embrace" },
6028 { TALENT_MIND_FLAY, "Mind Flay" },
6029 { TALENT_SHADOWFORM, "Shadowform" },
6030 { TALENT_SILENCE, "Silence" },
6031 { TALENT_IMPROVED_PSYCHIC_SCREAM, "Improved Psychic Scream" },
6032 { TALENT_CALL_OF_FLAME, "Call Of Flame" },
6033 { TALENT_CALL_OF_THUNDER, "Call Of Thunder" },
6034 { TALENT_CONCUSSION, "Concussion" },
6035 { TALENT_CONVECTION, "Convection" },
6036 { TALENT_ELEMENTAL_FURY, "Elemental Fury" },
6037 { TALENT_IMPROVED_FIRE_TOTEMS, "Improved Fire Totems" },
6038 { TALENT_EARTHS_GRASP, "Earths Grasp" },
6039 { TALENT_ELEMENTAL_MASTERY, "Elemental Mastery" },
6040 { TALENT_ELEMENTAL_FOCUS, "Elemental Focus" },
6041 { TALENT_REVERBERATION, "Reverberation" },
6042 { TALENT_ANCESTRAL_HEALING, "Ancestral Healing" },
6043 { TALENT_TOTEMIC_MASTERY, "Totemic Mastery" },
6044 { TALENT_NATURES_GUIDANCE, "Natures Guidance" },
6045 { TALENT_IMPROVED_HEALING_WAVE, "Improved Healing Wave" },
6046 { TALENT_SHAMAN_HEALING_FOCUS, "Shaman Healing Focus" },
6047 { TALENT_RESTORATIVE_TOTEMS, "Restorative Totems" },
6048 { TALENT_IMPROVED_REINCARNATION, "Improved Reincarnation" },
6049 { TALENT_MANA_TIDE_TOTEM, "Mana Tide Totem" },
6050 { TALENT_SHAMAN_NATURES_SWIFTNESS, "Shaman Natures Swiftness" },
6051 { TALENT_PURIFICATION, "Purification" },
6052 { TALENT_TIDAL_FOCUS, "Tidal Focus" },
6053 { TALENT_TIDAL_MASTERY, "Tidal Mastery" },
6054 { TALENT_TOTEMIC_FOCUS, "Totemic Focus" },
6055 { TALENT_SHAMAN_ANTICIPATION, "Shaman Anticipation" },
6056 { TALENT_SHAMAN_FLURRY, "Shaman Flurry" },
6057 { TALENT_IMPROVED_GHOST_WOLF, "Improved Ghost Wolf" },
6058 { TALENT_IMPROVED_LIGHTNING_SHIELD, "Improved Lightning Shield" },
6059 { TALENT_GUARDIAN_TOTEMS, "Guardian Totems" },
6060 { TALENT_ENHANCING_TOTEMS, "Enhancing Totems" },
6061 { TALENT_ELEMENTAL_WEAPONS, "Elemental Weapons" },
6062 { TALENT_SHAMAN_SHIELD_SPECIALIZATION, "Shaman Shield Specialization" },
6063 { TALENT_THUNDERING_STRIKES, "Thundering Strikes" },
6064 { TALENT_ANCESTRAL_KNOWLEDGE, "Ancestral Knowledge" },
6065 { TALENT_SHAMAN_TOUGHNESS, "Shaman Toughness" },
6066 { TALENT_PARRY, "Parry" },
6067 { TALENT_TWO_HANDED_AXES_AND_MACES, "Two Handed Axes And Maces" },
6068 { TALENT_TACTICAL_MASTERY, "Tactical Mastery" },
6069 { TALENT_BLOOD_CRAZE, "Blood Craze" },
6070 { TALENT_IMPALE, "Impale" },
6071 { TALENT_HEMORRHAGE, "Hemorrhage" },
6072 { TALENT_VILE_POISONS, "Vile Poisons" },
6073 { TALENT_WARRIOR_ONE_HANDED_WEAPON_SPECIALIZATION, "Warrior One Handed Weapon Specialization" },
6074 { TALENT_LIGHTNING_MASTERY, "Lightning Mastery" },
6075 { TALENT_ARCTIC_REACH, "Arctic Reach" },
6076 { TALENT_NATURES_GRASP, "Natures Grasp" },
6077 { TALENT_IMPROVED_WRATH, "Improved Wrath" },
6078 { TALENT_IMPROVED_MOONFIRE, "Improved Moonfire" },
6079 { TALENT_NATURES_REACH, "Natures Reach" },
6080 { TALENT_NATURAL_SHAPESHIFTER, "Natural Shapeshifter" },
6081 { TALENT_IMPROVED_THORNS, "Improved Thorns" },
6082 { TALENT_MOONGLOW, "Moonglow" },
6083 { TALENT_IMPROVED_STARFIRE, "Improved Starfire" },
6084 { TALENT_IMPROVED_ENTANGLING_ROOTS, "Improved Entangling Roots" },
6085 { TALENT_OMEN_OF_CLARITY, "Omen Of Clarity" },
6086 { TALENT_NATURES_GRACE, "Natures Grace" },
6087 { TALENT_MOONFURY, "Moonfury" },
6088 { TALENT_NATURAL_WEAPONS, "Natural Weapons" },
6089 { TALENT_DRUID_VENGEANCE, "Druid Vengeance" },
6090 { TALENT_MOONKIN_FORM, "Moonkin Form" },
6091 { TALENT_DRUID_THICK_HIDE, "Druid Thick Hide" },
6092 { TALENT_FERAL_AGGRESSION, "Feral Aggression" },
6093 { TALENT_DRUID_FEROCITY, "Druid Ferocity" },
6094 { TALENT_BRUTAL_IMPACT, "Brutal Impact" },
6095 { TALENT_SHARPENED_CLAWS, "Sharpened Claws" },
6096 { TALENT_FERAL_INSTINCT, "Feral Instinct" },
6097 { TALENT_BLOOD_FRENZY, "Blood Frenzy" },
6098 { TALENT_PRIMAL_FURY, "Primal Fury" },
6099 { TALENT_IMPROVED_SHRED, "Improved Shred" },
6100 { TALENT_PREDATORY_STRIKES, "Predatory Strikes" },
6101 { TALENT_FERAL_CHARGE, "Feral Charge" },
6102 { TALENT_SAVAGE_FURY, "Savage Fury" },
6103 { TALENT_FELINE_SWIFTNESS, "Feline Swiftness" },
6104 { TALENT_HEART_OF_THE_WILD, "Heart Of The Wild" },
6105 { TALENT_LEADER_OF_THE_PACK, "Leader Of The Pack" },
6106 { TALENT_IMPROVED_MARK_OF_THE_WILD, "Improved Mark Of The Wild" },
6107 { TALENT_FUROR, "Furor" },
6108 { TALENT_NATURES_FOCUS, "Natures Focus" },
6109 { TALENT_IMPROVED_HEALING_TOUCH, "Improved Healing Touch" },
6110 { TALENT_IMPROVED_REGROWTH, "Improved Regrowth" },
6111 { TALENT_IMPROVED_ENRAGE, "Improved Enrage" },
6112 { TALENT_INSECT_SWARM, "Insect Swarm" },
6113 { TALENT_GIFT_OF_NATURE, "Gift Of Nature" },
6114 { TALENT_REFLECTION, "Reflection" },
6115 { TALENT_IMPROVED_REJUVENATION, "Improved Rejuvenation" },
6116 { TALENT_DRUID_NATURES_SWIFTNESS, "Druid Natures Swiftness" },
6117 { TALENT_SUBTLETY, "Subtlety" },
6118 { TALENT_IMPROVED_TRANQUILITY, "Improved Tranquility" },
6119 { TALENT_TRANQUIL_SPIRIT, "Tranquil Spirit" },
6120 { TALENT_SWIFTMEND, "Swiftmend" },
6121 { TALENT_SHADOW_REACH, "Shadow Reach" },
6122 { TALENT_STORMSTRIKE, "Stormstrike" },
6123 { TALENT_IMPROVED_NATURES_GRASP, "Improved Natures Grasp" },
6124 { TALENT_CATACLYSM, "Cataclysm" },
6125 { TALENT_BANE, "Bane" },
6126 { TALENT_IMPROVED_SHADOW_BOLT, "Improved Shadow Bolt" },
6127 { TALENT_IMPROVED_IMMOLATE, "Improved Immolate" },
6128 { TALENT_SHADOWBURN, "Shadowburn" },
6129 { TALENT_DESTRUCTIVE_REACH, "Destructive Reach" },
6130 { TALENT_IMPROVED_SEARING_PAIN, "Improved Searing Pain" },
6131 { TALENT_EMBERSTORM, "Emberstorm" },
6132 { TALENT_RUIN, "Ruin" },
6133 { TALENT_CONFLAGRATE, "Conflagrate" },
6134 { TALENT_DEVASTATION, "Devastation" },
6135 { TALENT_AFTERMATH, "Aftermath" },
6136 { TALENT_IMPROVED_FIREBOLT, "Improved Firebolt" },
6137 { TALENT_IMPROVED_LASH_OF_PAIN, "Improved Lash Of Pain" },
6138 { TALENT_INTENSITY, "Intensity" },
6139 { TALENT_PYROCLASM, "Pyroclasm" },
6140 { TALENT_FEL_CONCENTRATION, "Fel Concentration" },
6141 { TALENT_NIGHTFALL, "Nightfall" },
6142 { TALENT_IMPROVED_CORRUPTION, "Improved Corruption" },
6143 { TALENT_IMPROVED_DRAIN_LIFE, "Improved Drain Life" },
6144 { TALENT_SUPPRESSION, "Suppression" },
6145 { TALENT_IMPROVED_CURSE_OF_WEAKNESS, "Improved Curse Of Weakness" },
6146 { TALENT_IMPROVED_LIFE_TAP, "Improved Life Tap" },
6147 { TALENT_GRIM_REACH, "Grim Reach" },
6148 { TALENT_DARK_PACT, "Dark Pact" },
6149 { TALENT_SIPHON_LIFE, "Siphon Life" },
6150 { TALENT_SHADOW_MASTERY, "Shadow Mastery" },
6151 { TALENT_AMPLIFY_CURSE, "Amplify Curse" },
6152 { TALENT_CURSE_OF_EXHAUSTION, "Curse Of Exhaustion" },
6153 { TALENT_IMPROVED_CURSE_OF_EXHAUSTION, "Improved Curse Of Exhaustion" },
6154 { TALENT_IMPROVED_DRAIN_SOUL, "Improved Drain Soul" },
6155 { TALENT_IMPROVED_DRAIN_MANA, "Improved Drain Mana" },
6156 { TALENT_AGGRESSION, "Aggression" },
6157 { TALENT_SERRATED_BLADES, "Serrated Blades" },
6158 { TALENT_INCINERATE, "Incinerate" },
6159 { TALENT_ARCANE_MEDITATION, "Arcane Meditation" },
6160 { TALENT_FAERIE_FIRE_FERAL, "Faerie Fire Feral" },
6161 { TALENT_DIVINE_FURY, "Divine Fury" },
6162 { TALENT_MENTAL_STRENGTH, "Mental Strength" },
6163 { TALENT_FORCE_OF_WILL, "Force Of Will" },
6164 { TALENT_IMPROVED_HEALTHSTONE, "Improved Healthstone" },
6165 { TALENT_IMPROVED_IMP, "Improved Imp" },
6166 { TALENT_DEMONIC_EMBRACE, "Demonic Embrace" },
6167 { TALENT_IMPROVED_HEALTH_FUNNEL, "Improved Health Funnel" },
6168 { TALENT_IMPROVED_VOIDWALKER, "Improved Voidwalker" },
6169 { TALENT_FEL_DOMINATION, "Fel Domination" },
6170 { TALENT_MASTER_SUMMONER, "Master Summoner" },
6171 { TALENT_FEL_STAMINA, "Fel Stamina" },
6172 { TALENT_FEL_INTELLECT, "Fel Intellect" },
6173 { TALENT_IMPROVED_SUCCUBUS, "Improved Succubus" },
6174 { TALENT_MASTER_DEMONOLOGIST, "Master Demonologist" },
6175 { TALENT_IMPROVED_FIRESTONE, "Improved Firestone" },
6176 { TALENT_UNHOLY_POWER, "Unholy Power" },
6177 { TALENT_IMPROVED_SPELLSTONE, "Improved Spellstone" },
6178 { TALENT_DEMONIC_SACRIFICE, "Demonic Sacrifice" },
6179 { TALENT_SOUL_LINK, "Soul Link" },
6180 { TALENT_IMPROVED_ENSLAVE_DEMON, "Improved Enslave Demon" },
6181 { TALENT_IMPROVED_CURSE_OF_AGONY, "Improved Curse Of Agony" },
6182 { TALENT_HUMANOID_SLAYING, "Humanoid Slaying" },
6183 { TALENT_HUNTER_LIGHTNING_REFLEXES, "Hunter Lightning Reflexes" },
6184 { TALENT_ENTRAPMENT, "Entrapment" },
6185 { TALENT_IMPROVED_WING_CLIP, "Improved Wing Clip" },
6186 { TALENT_CLEVER_TRAPS, "Clever Traps" },
6187 { TALENT_DETERRENCE, "Deterrence" },
6188 { TALENT_IMPROVED_FEIGN_DEATH, "Improved Feign Death" },
6189 { TALENT_SUREFOOTED, "Surefooted" },
6190 { TALENT_HUNTER_DEFLECTION, "Hunter Deflection" },
6191 { TALENT_COUNTERATTACK, "Counterattack" },
6192 { TALENT_KILLER_INSTINCT, "Killer Instinct" },
6193 { TALENT_TRAP_MASTERY, "Trap Mastery" },
6194 { TALENT_WYVERN_STING, "Wyvern Sting" },
6195 { TALENT_IMPROVED_CONCUSSIVE_SHOT, "Improved Concussive Shot" },
6196 { TALENT_EFFICIENCY, "Efficiency" },
6197 { TALENT_IMPROVED_HUNTERS_MARK, "Improved Hunters Mark" },
6198 { TALENT_LETHAL_SHOTS, "Lethal Shots" },
6199 { TALENT_AIMED_SHOT, "Aimed Shot" },
6200 { TALENT_IMPROVED_ARCANE_SHOT, "Improved Arcane Shot" },
6201 { TALENT_BARRAGE, "Barrage" },
6202 { TALENT_IMPROVED_SERPENT_STING, "Improved Serpent Sting" },
6203 { TALENT_MORTAL_SHOTS, "Mortal Shots" },
6204 { TALENT_IMPROVED_SCORPID_STING, "Improved Scorpid Sting" },
6205 { TALENT_HAWK_EYE, "Hawk Eye" },
6206 { TALENT_SCATTER_SHOT, "Scatter Shot" },
6207 { TALENT_TRUESHOT_AURA, "Trueshot Aura" },
6208 { TALENT_RANGED_WEAPON_SPECIALIZATION, "Ranged Weapon Specialization" },
6209 { TALENT_IMPROVED_ASPECT_OF_THE_MONKEY, "Improved Aspect Of The Monkey" },
6210 { TALENT_IMPROVED_ASPECT_OF_THE_HAWK, "Improved Aspect Of The Hawk" },
6211 { TALENT_PATHFINDING, "Pathfinding" },
6212 { TALENT_IMPROVED_MEND_PET, "Improved Mend Pet" },
6213 { TALENT_BESTIAL_WRATH, "Bestial Wrath" },
6214 { TALENT_INTIMIDATION, "Intimidation" },
6215 { TALENT_SPIRIT_BOND, "Spirit Bond" },
6216 { TALENT_ENDURANCE_TRAINING, "Endurance Training" },
6217 { TALENT_BESTIAL_DISCIPLINE, "Bestial Discipline" },
6218 { TALENT_BESTIAL_SWIFTNESS, "Bestial Swiftness" },
6219 { TALENT_HUNTER_FEROCITY, "Hunter Ferocity" },
6220 { TALENT_HUNTER_THICK_HIDE, "Hunter Thick Hide" },
6221 { TALENT_UNLEASHED_FURY, "Unleashed Fury" },
6222 { TALENT_FRENZY, "Frenzy" },
6223 { TALENT_IMPROVED_BLESSING_OF_MIGHT, "Improved Blessing Of Might" },
6224 { TALENT_PALADIN_VENGEANCE, "Paladin Vengeance" },
6225 { TALENT_PALADIN_DEFLECTION, "Paladin Deflection" },
6226 { TALENT_IMPROVED_RETRIBUTION_AURA, "Improved Retribution Aura" },
6227 { TALENT_BENEDICTION, "Benediction" },
6228 { TALENT_SANCTITY_AURA, "Sanctity Aura" },
6229 { TALENT_PALADIN_TWO_HANDED_WEAPON_SPECIALIZATION, "Paladin Two Handed Weapon Specialization" },
6230 { TALENT_CONVICTION, "Conviction" },
6231 { TALENT_REDOUBT, "Redoubt" },
6232 { TALENT_IMPROVED_DEVOTION_AURA, "Improved Devotion Aura" },
6233 { TALENT_PALADIN_TOUGHNESS, "Paladin Toughness" },
6234 { TALENT_PALADIN_SHIELD_SPECIALIZATION, "Paladin Shield Specialization" },
6235 { TALENT_GUARDIANS_FAVOR, "Guardians Favor" },
6236 { TALENT_RECKONING, "Reckoning" },
6237 { TALENT_PALADIN_ONE_HANDED_WEAPON_SPECIALIZATION, "Paladin One Handed Weapon Specialization" },
6238 { TALENT_HOLY_SHIELD, "Holy Shield" },
6239 { TALENT_BLESSING_OF_SANCTUARY, "Blessing Of Sanctuary" },
6240 { TALENT_SPIRITUAL_FOCUS, "Spiritual Focus" },
6241 { TALENT_DIVINE_FAVOR, "Divine Favor" },
6242 { TALENT_CONSECRATION, "Consecration" },
6243 { TALENT_REPENTANCE, "Repentance" },
6244 { TALENT_BLESSING_OF_KINGS, "Blessing Of Kings" },
6245 { TALENT_IMPROVED_LAY_ON_HANDS, "Improved Lay On Hands" },
6246 { TALENT_HEALING_LIGHT, "Healing Light" },
6247 { TALENT_IMPROVED_BLESSING_OF_WISDOM, "Improved Blessing Of Wisdom" },
6248 { TALENT_DIVINE_INTELLECT, "Divine Intellect" },
6249 { TALENT_DIVINE_STRENGTH, "Divine Strength" },
6250 { TALENT_ILLUMINATION, "Illumination" },
6251 { TALENT_IMPROVED_SEAL_OF_RIGHTEOUSNESS, "Improved Seal Of Righteousness" },
6252 { TALENT_IMPROVED_SEAL_OF_THE_CRUSADER, "Improved Seal Of The Crusader" },
6253 { TALENT_LASTING_JUDGEMENT, "Lasting Judgement" },
6254 { TALENT_SEAL_OF_COMMAND, "Seal Of Command" },
6255 { TALENT_IMPROVED_RIGHTEOUS_FURY, "Improved Righteous Fury" },
6256 { TALENT_HOLY_SHOCK, "Holy Shock" },
6257 { TALENT_IMPROVED_HAMMER_OF_JUSTICE, "Improved Hammer Of Justice" },
6258 { TALENT_IMPROVED_BERSERKER_RAGE, "Improved Berserker Rage" },
6259 { TALENT_IMPROVED_EXECUTE, "Improved Execute" },
6260 { TALENT_IMPROVED_INTERCEPT, "Improved Intercept" },
6261 { TALENT_SPIRIT_OF_REDEMPTION, "Spirit Of Redemption" },
6262 { TALENT_WARRIOR_DUAL_WIELD_SPECIALIZATION, "Warrior Dual Wield Specialization" },
6263 { TALENT_WARRIOR_SHIELD_SPECIALIZATION, "Warrior Shield Specialization" },
6264 { TALENT_SAVAGE_STRIKES, "Savage Strikes" },
6265 { TALENT_SURVIVALIST, "Survivalist" },
6266 { TALENT_MONSTER_SLAYING, "Monster Slaying" },
6267 { TALENT_IMPROVED_EYES_OF_THE_BEAST, "Improved Eyes Of The Beast" },
6268 { TALENT_IMPROVED_REVIVE_PET, "Improved Revive Pet" },
6269 { TALENT_IMPROVED_CONCENTRATION_AURA, "Improved Concentration Aura" },
6270 { TALENT_HOLY_POWER, "Holy Power" },
6271 { TALENT_UNYIELDING_FAITH, "Unyielding Faith" },
6272 { TALENT_PALADIN_ANTICIPATION, "Paladin Anticipation" },
6273 { TALENT_PALADIN_PRECISION, "Paladin Precision" },
6274 { TALENT_IMPROVED_JUDGEMENT, "Improved Judgement" },
6275 { TALENT_EYE_FOR_AN_EYE, "Eye For An Eye" },
6276 { TALENT_VINDICATION, "Vindication" },
6277 { TALENT_PURSUIT_OF_JUSTICE, "Pursuit Of Justice" },
6278 { TALENT_HOLY_REACH, "Holy Reach" },
6279 { TALENT_BLESSED_RECOVERY, "Blessed Recovery" },
6280 { TALENT_LIGHTWELL, "Lightwell" },
6281 { TALENT_IMPROVED_VAMPIRIC_EMBRACE, "Improved Vampiric Embrace" },
6282 { TALENT_MASTER_OF_ELEMENTS, "Master Of Elements" },
6283 { TALENT_ELEMENTAL_WARDING, "Elemental Warding" },
6284 { TALENT_STORM_REACH, "Storm Reach" },
6285 { TALENT_EYE_OF_THE_STORM, "Eye Of The Storm" },
6286 { TALENT_WEAPON_MASTERY, "Weapon Mastery" },
6287 { TALENT_ELEMENTAL_DEVASTATION, "Elemental Devastation" },
6288 { TALENT_HEALING_GRACE, "Healing Grace" },
6289 { TALENT_IMPROVED_WEAPON_TOTEMS, "Improved Weapon Totems" },
6290 { TALENT_HEALING_WAY, "Healing Way" },
6291 { TALENT_ELEMENTAL_PRECISION, "Elemental Precision" },
6292 { TALENT_MAGIC_ABSORPTION, "Magic Absorption" },
6293 { TALENT_SLEIGHT_OF_HAND, "Sleight Of Hand" },
6294 { TALENT_HEIGHTENED_SENSES, "Heightened Senses" },
6295 { TALENT_DEADLINESS, "Deadliness" },
6296 { TALENT_WEAPON_EXPERTISE, "Weapon Expertise" },
6297 { 0, NULL }
6300 typedef enum {
6301 GROUP_LOOT_SETTING_FREE_FOR_ALL = 0x0,
6302 GROUP_LOOT_SETTING_ROUND_ROBIN = 0x1,
6303 GROUP_LOOT_SETTING_MASTER_LOOT = 0x2,
6304 GROUP_LOOT_SETTING_GROUP_LOOT = 0x3,
6305 GROUP_LOOT_SETTING_NEED_BEFORE_GREED = 0x4,
6306 } e_group_loot_setting;
6307 static const value_string e_group_loot_setting_strings[] = {
6308 { GROUP_LOOT_SETTING_FREE_FOR_ALL, "Free For All" },
6309 { GROUP_LOOT_SETTING_ROUND_ROBIN, "Round Robin" },
6310 { GROUP_LOOT_SETTING_MASTER_LOOT, "Master Loot" },
6311 { GROUP_LOOT_SETTING_GROUP_LOOT, "Group Loot" },
6312 { GROUP_LOOT_SETTING_NEED_BEFORE_GREED, "Need Before Greed" },
6313 { 0, NULL }
6316 typedef enum {
6317 ROLL_VOTE_PASS = 0x0,
6318 ROLL_VOTE_NEED = 0x1,
6319 ROLL_VOTE_GREED = 0x2,
6320 } e_roll_vote;
6321 static const value_string e_roll_vote_strings[] = {
6322 { ROLL_VOTE_PASS, "Pass" },
6323 { ROLL_VOTE_NEED, "Need" },
6324 { ROLL_VOTE_GREED, "Greed" },
6325 { 0, NULL }
6328 typedef enum {
6329 CHAT_TYPE_SAY = 0x00,
6330 CHAT_TYPE_PARTY = 0x01,
6331 CHAT_TYPE_RAID = 0x02,
6332 CHAT_TYPE_GUILD = 0x03,
6333 CHAT_TYPE_OFFICER = 0x04,
6334 CHAT_TYPE_YELL = 0x05,
6335 CHAT_TYPE_WHISPER = 0x06,
6336 CHAT_TYPE_WHISPER_INFORM = 0x07,
6337 CHAT_TYPE_EMOTE = 0x08,
6338 CHAT_TYPE_TEXT_EMOTE = 0x09,
6339 CHAT_TYPE_SYSTEM = 0x0A,
6340 CHAT_TYPE_MONSTER_SAY = 0x0B,
6341 CHAT_TYPE_MONSTER_YELL = 0x0C,
6342 CHAT_TYPE_MONSTER_EMOTE = 0x0D,
6343 CHAT_TYPE_CHANNEL = 0x0E,
6344 CHAT_TYPE_CHANNEL_JOIN = 0x0F,
6345 CHAT_TYPE_CHANNEL_LEAVE = 0x10,
6346 CHAT_TYPE_CHANNEL_LIST = 0x11,
6347 CHAT_TYPE_CHANNEL_NOTICE = 0x12,
6348 CHAT_TYPE_CHANNEL_NOTICE_USER = 0x13,
6349 CHAT_TYPE_AFK = 0x14,
6350 CHAT_TYPE_DND = 0x15,
6351 CHAT_TYPE_IGNORED = 0x16,
6352 CHAT_TYPE_SKILL = 0x17,
6353 CHAT_TYPE_LOOT = 0x18,
6354 CHAT_TYPE_MONSTER_WHISPER = 0x1A,
6355 CHAT_TYPE_BG_SYSTEM_NEUTRAL = 0x52,
6356 CHAT_TYPE_BG_SYSTEM_ALLIANCE = 0x53,
6357 CHAT_TYPE_BG_SYSTEM_HORDE = 0x54,
6358 CHAT_TYPE_RAID_LEADER = 0x57,
6359 CHAT_TYPE_RAID_WARNING = 0x58,
6360 CHAT_TYPE_RAID_BOSS_WHISPER = 0x59,
6361 CHAT_TYPE_RAID_BOSS_EMOTE = 0x5A,
6362 CHAT_TYPE_BATTLEGROUND = 0x5C,
6363 CHAT_TYPE_BATTLEGROUND_LEADER = 0x5D,
6364 } e_chat_type;
6365 static const value_string e_chat_type_strings[] = {
6366 { CHAT_TYPE_SAY, "Say" },
6367 { CHAT_TYPE_PARTY, "Party" },
6368 { CHAT_TYPE_RAID, "Raid" },
6369 { CHAT_TYPE_GUILD, "Guild" },
6370 { CHAT_TYPE_OFFICER, "Officer" },
6371 { CHAT_TYPE_YELL, "Yell" },
6372 { CHAT_TYPE_WHISPER, "Whisper" },
6373 { CHAT_TYPE_WHISPER_INFORM, "Whisper Inform" },
6374 { CHAT_TYPE_EMOTE, "Emote" },
6375 { CHAT_TYPE_TEXT_EMOTE, "Text Emote" },
6376 { CHAT_TYPE_SYSTEM, "System" },
6377 { CHAT_TYPE_MONSTER_SAY, "Monster Say" },
6378 { CHAT_TYPE_MONSTER_YELL, "Monster Yell" },
6379 { CHAT_TYPE_MONSTER_EMOTE, "Monster Emote" },
6380 { CHAT_TYPE_CHANNEL, "Channel" },
6381 { CHAT_TYPE_CHANNEL_JOIN, "Channel Join" },
6382 { CHAT_TYPE_CHANNEL_LEAVE, "Channel Leave" },
6383 { CHAT_TYPE_CHANNEL_LIST, "Channel List" },
6384 { CHAT_TYPE_CHANNEL_NOTICE, "Channel Notice" },
6385 { CHAT_TYPE_CHANNEL_NOTICE_USER, "Channel Notice User" },
6386 { CHAT_TYPE_AFK, "Afk" },
6387 { CHAT_TYPE_DND, "Dnd" },
6388 { CHAT_TYPE_IGNORED, "Ignored" },
6389 { CHAT_TYPE_SKILL, "Skill" },
6390 { CHAT_TYPE_LOOT, "Loot" },
6391 { CHAT_TYPE_MONSTER_WHISPER, "Monster Whisper" },
6392 { CHAT_TYPE_BG_SYSTEM_NEUTRAL, "Bg System Neutral" },
6393 { CHAT_TYPE_BG_SYSTEM_ALLIANCE, "Bg System Alliance" },
6394 { CHAT_TYPE_BG_SYSTEM_HORDE, "Bg System Horde" },
6395 { CHAT_TYPE_RAID_LEADER, "Raid Leader" },
6396 { CHAT_TYPE_RAID_WARNING, "Raid Warning" },
6397 { CHAT_TYPE_RAID_BOSS_WHISPER, "Raid Boss Whisper" },
6398 { CHAT_TYPE_RAID_BOSS_EMOTE, "Raid Boss Emote" },
6399 { CHAT_TYPE_BATTLEGROUND, "Battleground" },
6400 { CHAT_TYPE_BATTLEGROUND_LEADER, "Battleground Leader" },
6401 { 0, NULL }
6404 typedef enum {
6405 SHEATH_STATE_UNARMED = 0x0,
6406 SHEATH_STATE_MELEE = 0x1,
6407 SHEATH_STATE_RANGED = 0x2,
6408 } e_sheath_state;
6409 static const value_string e_sheath_state_strings[] = {
6410 { SHEATH_STATE_UNARMED, "Unarmed" },
6411 { SHEATH_STATE_MELEE, "Melee" },
6412 { SHEATH_STATE_RANGED, "Ranged" },
6413 { 0, NULL }
6416 typedef enum {
6417 UNIT_STAND_STATE_STAND = 0x0,
6418 UNIT_STAND_STATE_SIT = 0x1,
6419 UNIT_STAND_STATE_SIT_CHAIR = 0x2,
6420 UNIT_STAND_STATE_SLEEP = 0x3,
6421 UNIT_STAND_STATE_SIT_LOW_CHAIR = 0x4,
6422 UNIT_STAND_STATE_SIT_MEDIUM_CHAIR = 0x5,
6423 UNIT_STAND_STATE_SIT_HIGH_CHAIR = 0x6,
6424 UNIT_STAND_STATE_DEAD = 0x7,
6425 UNIT_STAND_STATE_KNEEL = 0x8,
6426 UNIT_STAND_STATE_CUSTOM = 0x9,
6427 } e_unit_stand_state;
6428 static const value_string e_unit_stand_state_strings[] = {
6429 { UNIT_STAND_STATE_STAND, "Stand" },
6430 { UNIT_STAND_STATE_SIT, "Sit" },
6431 { UNIT_STAND_STATE_SIT_CHAIR, "Sit Chair" },
6432 { UNIT_STAND_STATE_SLEEP, "Sleep" },
6433 { UNIT_STAND_STATE_SIT_LOW_CHAIR, "Sit Low Chair" },
6434 { UNIT_STAND_STATE_SIT_MEDIUM_CHAIR, "Sit Medium Chair" },
6435 { UNIT_STAND_STATE_SIT_HIGH_CHAIR, "Sit High Chair" },
6436 { UNIT_STAND_STATE_DEAD, "Dead" },
6437 { UNIT_STAND_STATE_KNEEL, "Kneel" },
6438 { UNIT_STAND_STATE_CUSTOM, "Custom" },
6439 { 0, NULL }
6442 typedef enum {
6443 ITEM_SLOT_HEAD = 0x00,
6444 ITEM_SLOT_NECK = 0x01,
6445 ITEM_SLOT_SHOULDERS = 0x02,
6446 ITEM_SLOT_SHIRT = 0x03,
6447 ITEM_SLOT_CHEST = 0x04,
6448 ITEM_SLOT_WAIST = 0x05,
6449 ITEM_SLOT_LEGS = 0x06,
6450 ITEM_SLOT_BOOTS = 0x07,
6451 ITEM_SLOT_WRIST = 0x08,
6452 ITEM_SLOT_HANDS = 0x09,
6453 ITEM_SLOT_RING1 = 0x0A,
6454 ITEM_SLOT_RING2 = 0x0B,
6455 ITEM_SLOT_TRINKET1 = 0x0C,
6456 ITEM_SLOT_TRINKET2 = 0x0D,
6457 ITEM_SLOT_BACK = 0x0E,
6458 ITEM_SLOT_MAIN_HAND = 0x0F,
6459 ITEM_SLOT_OFF_HAND = 0x10,
6460 ITEM_SLOT_RANGED_OR_RELIC = 0x11,
6461 ITEM_SLOT_TABARD = 0x12,
6462 ITEM_SLOT_BAG1 = 0x13,
6463 ITEM_SLOT_BAG2 = 0x14,
6464 ITEM_SLOT_BAG3 = 0x15,
6465 ITEM_SLOT_BAG4 = 0x16,
6466 ITEM_SLOT_INVENTORY_0 = 0x17,
6467 ITEM_SLOT_INVENTORY_1 = 0x18,
6468 ITEM_SLOT_INVENTORY_2 = 0x19,
6469 ITEM_SLOT_INVENTORY_3 = 0x1A,
6470 ITEM_SLOT_INVENTORY_4 = 0x1B,
6471 ITEM_SLOT_INVENTORY_5 = 0x1C,
6472 ITEM_SLOT_INVENTORY_6 = 0x1D,
6473 ITEM_SLOT_INVENTORY_7 = 0x1E,
6474 ITEM_SLOT_INVENTORY_8 = 0x1F,
6475 ITEM_SLOT_INVENTORY_9 = 0x20,
6476 ITEM_SLOT_INVENTORY_10 = 0x21,
6477 ITEM_SLOT_INVENTORY_11 = 0x22,
6478 ITEM_SLOT_INVENTORY_12 = 0x23,
6479 ITEM_SLOT_INVENTORY_13 = 0x24,
6480 ITEM_SLOT_INVENTORY_14 = 0x25,
6481 ITEM_SLOT_INVENTORY_15 = 0x26,
6482 ITEM_SLOT_BANK_1 = 0x27,
6483 ITEM_SLOT_BANK_2 = 0x28,
6484 ITEM_SLOT_BANK_3 = 0x29,
6485 ITEM_SLOT_BANK_4 = 0x2A,
6486 ITEM_SLOT_BANK_5 = 0x2B,
6487 ITEM_SLOT_BANK_6 = 0x2C,
6488 ITEM_SLOT_BANK_7 = 0x2D,
6489 ITEM_SLOT_BANK_8 = 0x2E,
6490 ITEM_SLOT_BANK_9 = 0x2F,
6491 ITEM_SLOT_BANK_10 = 0x30,
6492 ITEM_SLOT_BANK_11 = 0x31,
6493 ITEM_SLOT_BANK_12 = 0x32,
6494 ITEM_SLOT_BANK_13 = 0x33,
6495 ITEM_SLOT_BANK_14 = 0x34,
6496 ITEM_SLOT_BANK_15 = 0x35,
6497 ITEM_SLOT_BANK_16 = 0x36,
6498 ITEM_SLOT_BANK_17 = 0x37,
6499 ITEM_SLOT_BANK_18 = 0x38,
6500 ITEM_SLOT_BANK_19 = 0x39,
6501 ITEM_SLOT_BANK_20 = 0x3A,
6502 ITEM_SLOT_BANK_21 = 0x3B,
6503 ITEM_SLOT_BANK_22 = 0x3C,
6504 ITEM_SLOT_BANK_23 = 0x3D,
6505 ITEM_SLOT_BANK_24 = 0x3E,
6506 ITEM_SLOT_BANK_BAG_SLOT_1 = 0x3F,
6507 ITEM_SLOT_BANK_BAG_SLOT_2 = 0x40,
6508 ITEM_SLOT_BANK_BAG_SLOT_3 = 0x41,
6509 ITEM_SLOT_BANK_BAG_SLOT_4 = 0x42,
6510 ITEM_SLOT_BANK_BAG_SLOT_5 = 0x43,
6511 ITEM_SLOT_BANK_BAG_SLOT_6 = 0x44,
6512 ITEM_SLOT_VENDOR_BUYBACK_1 = 0x45,
6513 ITEM_SLOT_VENDOR_BUYBACK_2 = 0x46,
6514 ITEM_SLOT_VENDOR_BUYBACK_3 = 0x47,
6515 ITEM_SLOT_VENDOR_BUYBACK_4 = 0x48,
6516 ITEM_SLOT_VENDOR_BUYBACK_5 = 0x49,
6517 ITEM_SLOT_VENDOR_BUYBACK_6 = 0x4A,
6518 ITEM_SLOT_VENDOR_BUYBACK_7 = 0x4B,
6519 ITEM_SLOT_VENDOR_BUYBACK_8 = 0x4C,
6520 ITEM_SLOT_VENDOR_BUYBACK_9 = 0x4D,
6521 ITEM_SLOT_VENDOR_BUYBACK_10 = 0x4E,
6522 ITEM_SLOT_VENDOR_BUYBACK_11 = 0x4F,
6523 ITEM_SLOT_VENDOR_BUYBACK_12 = 0x50,
6524 ITEM_SLOT_KEYRING_1 = 0x51,
6525 ITEM_SLOT_KEYRING_2 = 0x52,
6526 ITEM_SLOT_KEYRING_3 = 0x53,
6527 ITEM_SLOT_KEYRING_4 = 0x54,
6528 ITEM_SLOT_KEYRING_5 = 0x55,
6529 ITEM_SLOT_KEYRING_6 = 0x56,
6530 ITEM_SLOT_KEYRING_7 = 0x57,
6531 ITEM_SLOT_KEYRING_8 = 0x58,
6532 ITEM_SLOT_KEYRING_9 = 0x59,
6533 ITEM_SLOT_KEYRING_10 = 0x5A,
6534 ITEM_SLOT_KEYRING_11 = 0x5B,
6535 ITEM_SLOT_KEYRING_12 = 0x5C,
6536 ITEM_SLOT_KEYRING_13 = 0x5D,
6537 ITEM_SLOT_KEYRING_14 = 0x5E,
6538 ITEM_SLOT_KEYRING_15 = 0x5F,
6539 ITEM_SLOT_KEYRING_16 = 0x60,
6540 ITEM_SLOT_KEYRING_17 = 0x61,
6541 ITEM_SLOT_KEYRING_18 = 0x62,
6542 ITEM_SLOT_KEYRING_19 = 0x63,
6543 ITEM_SLOT_KEYRING_20 = 0x64,
6544 ITEM_SLOT_KEYRING_21 = 0x65,
6545 ITEM_SLOT_KEYRING_22 = 0x66,
6546 ITEM_SLOT_KEYRING_23 = 0x67,
6547 ITEM_SLOT_KEYRING_24 = 0x68,
6548 ITEM_SLOT_KEYRING_25 = 0x69,
6549 ITEM_SLOT_KEYRING_26 = 0x6A,
6550 ITEM_SLOT_KEYRING_27 = 0x6B,
6551 ITEM_SLOT_KEYRING_28 = 0x6C,
6552 ITEM_SLOT_KEYRING_29 = 0x6D,
6553 ITEM_SLOT_KEYRING_30 = 0x6E,
6554 ITEM_SLOT_KEYRING_31 = 0x6F,
6555 ITEM_SLOT_KEYRING_32 = 0x70,
6556 } e_item_slot;
6557 static const value_string e_item_slot_strings[] = {
6558 { ITEM_SLOT_HEAD, "Head" },
6559 { ITEM_SLOT_NECK, "Neck" },
6560 { ITEM_SLOT_SHOULDERS, "Shoulders" },
6561 { ITEM_SLOT_SHIRT, "Shirt" },
6562 { ITEM_SLOT_CHEST, "Chest" },
6563 { ITEM_SLOT_WAIST, "Waist" },
6564 { ITEM_SLOT_LEGS, "Legs" },
6565 { ITEM_SLOT_BOOTS, "Boots" },
6566 { ITEM_SLOT_WRIST, "Wrist" },
6567 { ITEM_SLOT_HANDS, "Hands" },
6568 { ITEM_SLOT_RING1, "Ring1" },
6569 { ITEM_SLOT_RING2, "Ring2" },
6570 { ITEM_SLOT_TRINKET1, "Trinket1" },
6571 { ITEM_SLOT_TRINKET2, "Trinket2" },
6572 { ITEM_SLOT_BACK, "Back" },
6573 { ITEM_SLOT_MAIN_HAND, "Main Hand" },
6574 { ITEM_SLOT_OFF_HAND, "Off Hand" },
6575 { ITEM_SLOT_RANGED_OR_RELIC, "Ranged Or Relic" },
6576 { ITEM_SLOT_TABARD, "Tabard" },
6577 { ITEM_SLOT_BAG1, "Bag1" },
6578 { ITEM_SLOT_BAG2, "Bag2" },
6579 { ITEM_SLOT_BAG3, "Bag3" },
6580 { ITEM_SLOT_BAG4, "Bag4" },
6581 { ITEM_SLOT_INVENTORY_0, "Inventory 0" },
6582 { ITEM_SLOT_INVENTORY_1, "Inventory 1" },
6583 { ITEM_SLOT_INVENTORY_2, "Inventory 2" },
6584 { ITEM_SLOT_INVENTORY_3, "Inventory 3" },
6585 { ITEM_SLOT_INVENTORY_4, "Inventory 4" },
6586 { ITEM_SLOT_INVENTORY_5, "Inventory 5" },
6587 { ITEM_SLOT_INVENTORY_6, "Inventory 6" },
6588 { ITEM_SLOT_INVENTORY_7, "Inventory 7" },
6589 { ITEM_SLOT_INVENTORY_8, "Inventory 8" },
6590 { ITEM_SLOT_INVENTORY_9, "Inventory 9" },
6591 { ITEM_SLOT_INVENTORY_10, "Inventory 10" },
6592 { ITEM_SLOT_INVENTORY_11, "Inventory 11" },
6593 { ITEM_SLOT_INVENTORY_12, "Inventory 12" },
6594 { ITEM_SLOT_INVENTORY_13, "Inventory 13" },
6595 { ITEM_SLOT_INVENTORY_14, "Inventory 14" },
6596 { ITEM_SLOT_INVENTORY_15, "Inventory 15" },
6597 { ITEM_SLOT_BANK_1, "Bank 1" },
6598 { ITEM_SLOT_BANK_2, "Bank 2" },
6599 { ITEM_SLOT_BANK_3, "Bank 3" },
6600 { ITEM_SLOT_BANK_4, "Bank 4" },
6601 { ITEM_SLOT_BANK_5, "Bank 5" },
6602 { ITEM_SLOT_BANK_6, "Bank 6" },
6603 { ITEM_SLOT_BANK_7, "Bank 7" },
6604 { ITEM_SLOT_BANK_8, "Bank 8" },
6605 { ITEM_SLOT_BANK_9, "Bank 9" },
6606 { ITEM_SLOT_BANK_10, "Bank 10" },
6607 { ITEM_SLOT_BANK_11, "Bank 11" },
6608 { ITEM_SLOT_BANK_12, "Bank 12" },
6609 { ITEM_SLOT_BANK_13, "Bank 13" },
6610 { ITEM_SLOT_BANK_14, "Bank 14" },
6611 { ITEM_SLOT_BANK_15, "Bank 15" },
6612 { ITEM_SLOT_BANK_16, "Bank 16" },
6613 { ITEM_SLOT_BANK_17, "Bank 17" },
6614 { ITEM_SLOT_BANK_18, "Bank 18" },
6615 { ITEM_SLOT_BANK_19, "Bank 19" },
6616 { ITEM_SLOT_BANK_20, "Bank 20" },
6617 { ITEM_SLOT_BANK_21, "Bank 21" },
6618 { ITEM_SLOT_BANK_22, "Bank 22" },
6619 { ITEM_SLOT_BANK_23, "Bank 23" },
6620 { ITEM_SLOT_BANK_24, "Bank 24" },
6621 { ITEM_SLOT_BANK_BAG_SLOT_1, "Bank Bag Slot 1" },
6622 { ITEM_SLOT_BANK_BAG_SLOT_2, "Bank Bag Slot 2" },
6623 { ITEM_SLOT_BANK_BAG_SLOT_3, "Bank Bag Slot 3" },
6624 { ITEM_SLOT_BANK_BAG_SLOT_4, "Bank Bag Slot 4" },
6625 { ITEM_SLOT_BANK_BAG_SLOT_5, "Bank Bag Slot 5" },
6626 { ITEM_SLOT_BANK_BAG_SLOT_6, "Bank Bag Slot 6" },
6627 { ITEM_SLOT_VENDOR_BUYBACK_1, "Vendor Buyback 1" },
6628 { ITEM_SLOT_VENDOR_BUYBACK_2, "Vendor Buyback 2" },
6629 { ITEM_SLOT_VENDOR_BUYBACK_3, "Vendor Buyback 3" },
6630 { ITEM_SLOT_VENDOR_BUYBACK_4, "Vendor Buyback 4" },
6631 { ITEM_SLOT_VENDOR_BUYBACK_5, "Vendor Buyback 5" },
6632 { ITEM_SLOT_VENDOR_BUYBACK_6, "Vendor Buyback 6" },
6633 { ITEM_SLOT_VENDOR_BUYBACK_7, "Vendor Buyback 7" },
6634 { ITEM_SLOT_VENDOR_BUYBACK_8, "Vendor Buyback 8" },
6635 { ITEM_SLOT_VENDOR_BUYBACK_9, "Vendor Buyback 9" },
6636 { ITEM_SLOT_VENDOR_BUYBACK_10, "Vendor Buyback 10" },
6637 { ITEM_SLOT_VENDOR_BUYBACK_11, "Vendor Buyback 11" },
6638 { ITEM_SLOT_VENDOR_BUYBACK_12, "Vendor Buyback 12" },
6639 { ITEM_SLOT_KEYRING_1, "Keyring 1" },
6640 { ITEM_SLOT_KEYRING_2, "Keyring 2" },
6641 { ITEM_SLOT_KEYRING_3, "Keyring 3" },
6642 { ITEM_SLOT_KEYRING_4, "Keyring 4" },
6643 { ITEM_SLOT_KEYRING_5, "Keyring 5" },
6644 { ITEM_SLOT_KEYRING_6, "Keyring 6" },
6645 { ITEM_SLOT_KEYRING_7, "Keyring 7" },
6646 { ITEM_SLOT_KEYRING_8, "Keyring 8" },
6647 { ITEM_SLOT_KEYRING_9, "Keyring 9" },
6648 { ITEM_SLOT_KEYRING_10, "Keyring 10" },
6649 { ITEM_SLOT_KEYRING_11, "Keyring 11" },
6650 { ITEM_SLOT_KEYRING_12, "Keyring 12" },
6651 { ITEM_SLOT_KEYRING_13, "Keyring 13" },
6652 { ITEM_SLOT_KEYRING_14, "Keyring 14" },
6653 { ITEM_SLOT_KEYRING_15, "Keyring 15" },
6654 { ITEM_SLOT_KEYRING_16, "Keyring 16" },
6655 { ITEM_SLOT_KEYRING_17, "Keyring 17" },
6656 { ITEM_SLOT_KEYRING_18, "Keyring 18" },
6657 { ITEM_SLOT_KEYRING_19, "Keyring 19" },
6658 { ITEM_SLOT_KEYRING_20, "Keyring 20" },
6659 { ITEM_SLOT_KEYRING_21, "Keyring 21" },
6660 { ITEM_SLOT_KEYRING_22, "Keyring 22" },
6661 { ITEM_SLOT_KEYRING_23, "Keyring 23" },
6662 { ITEM_SLOT_KEYRING_24, "Keyring 24" },
6663 { ITEM_SLOT_KEYRING_25, "Keyring 25" },
6664 { ITEM_SLOT_KEYRING_26, "Keyring 26" },
6665 { ITEM_SLOT_KEYRING_27, "Keyring 27" },
6666 { ITEM_SLOT_KEYRING_28, "Keyring 28" },
6667 { ITEM_SLOT_KEYRING_29, "Keyring 29" },
6668 { ITEM_SLOT_KEYRING_30, "Keyring 30" },
6669 { ITEM_SLOT_KEYRING_31, "Keyring 31" },
6670 { ITEM_SLOT_KEYRING_32, "Keyring 32" },
6671 { 0, NULL }
6674 typedef enum {
6675 TEXT_EMOTE_AGREE = 0x001,
6676 TEXT_EMOTE_AMAZE = 0x002,
6677 TEXT_EMOTE_ANGRY = 0x003,
6678 TEXT_EMOTE_APOLOGIZE = 0x004,
6679 TEXT_EMOTE_APPLAUD = 0x005,
6680 TEXT_EMOTE_BASHFUL = 0x006,
6681 TEXT_EMOTE_BECKON = 0x007,
6682 TEXT_EMOTE_BEG = 0x008,
6683 TEXT_EMOTE_BITE = 0x009,
6684 TEXT_EMOTE_BLEED = 0x00A,
6685 TEXT_EMOTE_BLINK = 0x00B,
6686 TEXT_EMOTE_BLUSH = 0x00C,
6687 TEXT_EMOTE_BONK = 0x00D,
6688 TEXT_EMOTE_BORED = 0x00E,
6689 TEXT_EMOTE_BOUNCE = 0x00F,
6690 TEXT_EMOTE_BRB = 0x010,
6691 TEXT_EMOTE_BOW = 0x011,
6692 TEXT_EMOTE_BURP = 0x012,
6693 TEXT_EMOTE_BYE = 0x013,
6694 TEXT_EMOTE_CACKLE = 0x014,
6695 TEXT_EMOTE_CHEER = 0x015,
6696 TEXT_EMOTE_CHICKEN = 0x016,
6697 TEXT_EMOTE_CHUCKLE = 0x017,
6698 TEXT_EMOTE_CLAP = 0x018,
6699 TEXT_EMOTE_CONFUSED = 0x019,
6700 TEXT_EMOTE_CONGRATULATE = 0x01A,
6701 TEXT_EMOTE_COUGH = 0x01B,
6702 TEXT_EMOTE_COWER = 0x01C,
6703 TEXT_EMOTE_CRACK = 0x01D,
6704 TEXT_EMOTE_CRINGE = 0x01E,
6705 TEXT_EMOTE_CRY = 0x01F,
6706 TEXT_EMOTE_CURIOUS = 0x020,
6707 TEXT_EMOTE_CURTSEY = 0x021,
6708 TEXT_EMOTE_DANCE = 0x022,
6709 TEXT_EMOTE_DRINK = 0x023,
6710 TEXT_EMOTE_DROOL = 0x024,
6711 TEXT_EMOTE_EAT = 0x025,
6712 TEXT_EMOTE_EYE = 0x026,
6713 TEXT_EMOTE_FART = 0x027,
6714 TEXT_EMOTE_FIDGET = 0x028,
6715 TEXT_EMOTE_FLEX = 0x029,
6716 TEXT_EMOTE_FROWN = 0x02A,
6717 TEXT_EMOTE_GASP = 0x02B,
6718 TEXT_EMOTE_GAZE = 0x02C,
6719 TEXT_EMOTE_GIGGLE = 0x02D,
6720 TEXT_EMOTE_GLARE = 0x02E,
6721 TEXT_EMOTE_GLOAT = 0x02F,
6722 TEXT_EMOTE_GREET = 0x030,
6723 TEXT_EMOTE_GRIN = 0x031,
6724 TEXT_EMOTE_GROAN = 0x032,
6725 TEXT_EMOTE_GROVEL = 0x033,
6726 TEXT_EMOTE_GUFFAW = 0x034,
6727 TEXT_EMOTE_HAIL = 0x035,
6728 TEXT_EMOTE_HAPPY = 0x036,
6729 TEXT_EMOTE_HELLO = 0x037,
6730 TEXT_EMOTE_HUG = 0x038,
6731 TEXT_EMOTE_HUNGRY = 0x039,
6732 TEXT_EMOTE_KISS = 0x03A,
6733 TEXT_EMOTE_KNEEL = 0x03B,
6734 TEXT_EMOTE_LAUGH = 0x03C,
6735 TEXT_EMOTE_LAYDOWN = 0x03D,
6736 TEXT_EMOTE_MASSAGE = 0x03E,
6737 TEXT_EMOTE_MOAN = 0x03F,
6738 TEXT_EMOTE_MOON = 0x040,
6739 TEXT_EMOTE_MOURN = 0x041,
6740 TEXT_EMOTE_NO = 0x042,
6741 TEXT_EMOTE_NOD = 0x043,
6742 TEXT_EMOTE_NOSE_PICK = 0x044,
6743 TEXT_EMOTE_PANIC = 0x045,
6744 TEXT_EMOTE_PEER = 0x046,
6745 TEXT_EMOTE_PLEAD = 0x047,
6746 TEXT_EMOTE_POINT = 0x048,
6747 TEXT_EMOTE_POKE = 0x049,
6748 TEXT_EMOTE_PRAY = 0x04A,
6749 TEXT_EMOTE_ROAR = 0x04B,
6750 TEXT_EMOTE_ROFL = 0x04C,
6751 TEXT_EMOTE_RUDE = 0x04D,
6752 TEXT_EMOTE_SALUTE = 0x04E,
6753 TEXT_EMOTE_SCRATCH = 0x04F,
6754 TEXT_EMOTE_SEXY = 0x050,
6755 TEXT_EMOTE_SHAKE = 0x051,
6756 TEXT_EMOTE_SHOUT = 0x052,
6757 TEXT_EMOTE_SHRUG = 0x053,
6758 TEXT_EMOTE_SHY = 0x054,
6759 TEXT_EMOTE_SIGH = 0x055,
6760 TEXT_EMOTE_SIT = 0x056,
6761 TEXT_EMOTE_SLEEP = 0x057,
6762 TEXT_EMOTE_SNARL = 0x058,
6763 TEXT_EMOTE_SPIT = 0x059,
6764 TEXT_EMOTE_STARE = 0x05A,
6765 TEXT_EMOTE_SURPRISED = 0x05B,
6766 TEXT_EMOTE_SURRENDER = 0x05C,
6767 TEXT_EMOTE_TALK = 0x05D,
6768 TEXT_EMOTE_TALK_EX = 0x05E,
6769 TEXT_EMOTE_TALK_Q = 0x05F,
6770 TEXT_EMOTE_TAP = 0x060,
6771 TEXT_EMOTE_THANK = 0x061,
6772 TEXT_EMOTE_THREATEN = 0x062,
6773 TEXT_EMOTE_TIRED = 0x063,
6774 TEXT_EMOTE_VICTORY = 0x064,
6775 TEXT_EMOTE_WAVE = 0x065,
6776 TEXT_EMOTE_WELCOME = 0x066,
6777 TEXT_EMOTE_WHINE = 0x067,
6778 TEXT_EMOTE_WHISTLE = 0x068,
6779 TEXT_EMOTE_WORK = 0x069,
6780 TEXT_EMOTE_YAWN = 0x06A,
6781 TEXT_EMOTE_BOGGLE = 0x06B,
6782 TEXT_EMOTE_CALM = 0x06C,
6783 TEXT_EMOTE_COLD = 0x06D,
6784 TEXT_EMOTE_COMFORT = 0x06E,
6785 TEXT_EMOTE_CUDDLE = 0x06F,
6786 TEXT_EMOTE_DUCK = 0x070,
6787 TEXT_EMOTE_INSULT = 0x071,
6788 TEXT_EMOTE_INTRODUCE = 0x072,
6789 TEXT_EMOTE_JK = 0x073,
6790 TEXT_EMOTE_LICK = 0x074,
6791 TEXT_EMOTE_LISTEN = 0x075,
6792 TEXT_EMOTE_LOST = 0x076,
6793 TEXT_EMOTE_MOCK = 0x077,
6794 TEXT_EMOTE_PONDER = 0x078,
6795 TEXT_EMOTE_POUNCE = 0x079,
6796 TEXT_EMOTE_PRAISE = 0x07A,
6797 TEXT_EMOTE_PURR = 0x07B,
6798 TEXT_EMOTE_PUZZLE = 0x07C,
6799 TEXT_EMOTE_RAISE = 0x07D,
6800 TEXT_EMOTE_READY = 0x07E,
6801 TEXT_EMOTE_SHIMMY = 0x07F,
6802 TEXT_EMOTE_SHIVER = 0x080,
6803 TEXT_EMOTE_SHOO = 0x081,
6804 TEXT_EMOTE_SLAP = 0x082,
6805 TEXT_EMOTE_SMIRK = 0x083,
6806 TEXT_EMOTE_SNIFF = 0x084,
6807 TEXT_EMOTE_SNUB = 0x085,
6808 TEXT_EMOTE_SOOTHE = 0x086,
6809 TEXT_EMOTE_STINK = 0x087,
6810 TEXT_EMOTE_TAUNT = 0x088,
6811 TEXT_EMOTE_TEASE = 0x089,
6812 TEXT_EMOTE_THIRSTY = 0x08A,
6813 TEXT_EMOTE_VETO = 0x08B,
6814 TEXT_EMOTE_SNICKER = 0x08C,
6815 TEXT_EMOTE_STAND = 0x08D,
6816 TEXT_EMOTE_TICKLE = 0x08E,
6817 TEXT_EMOTE_VIOLIN = 0x08F,
6818 TEXT_EMOTE_SMILE = 0x0A3,
6819 TEXT_EMOTE_RASP = 0x0B7,
6820 TEXT_EMOTE_PITY = 0x0CB,
6821 TEXT_EMOTE_GROWL = 0x0CC,
6822 TEXT_EMOTE_BARK = 0x0CD,
6823 TEXT_EMOTE_SCARED = 0x0DF,
6824 TEXT_EMOTE_FLOP = 0x0E0,
6825 TEXT_EMOTE_LOVE = 0x0E1,
6826 TEXT_EMOTE_MOO = 0x0E2,
6827 TEXT_EMOTE_COMMEND = 0x0F3,
6828 TEXT_EMOTE_TRAIN = 0x108,
6829 TEXT_EMOTE_HELPME = 0x12F,
6830 TEXT_EMOTE_INCOMING = 0x130,
6831 TEXT_EMOTE_CHARGE = 0x131,
6832 TEXT_EMOTE_FLEE = 0x132,
6833 TEXT_EMOTE_ATTACK_MY_TARGET = 0x133,
6834 TEXT_EMOTE_OOM = 0x143,
6835 TEXT_EMOTE_FOLLOW = 0x144,
6836 TEXT_EMOTE_WAIT = 0x145,
6837 TEXT_EMOTE_HEAL_ME = 0x146,
6838 TEXT_EMOTE_OPEN_FIRE = 0x147,
6839 TEXT_EMOTE_FLIRT = 0x148,
6840 TEXT_EMOTE_JOKE = 0x149,
6841 TEXT_EMOTE_GOLF_CLAP = 0x157,
6842 TEXT_EMOTE_WINK = 0x16B,
6843 TEXT_EMOTE_PAT = 0x16C,
6844 } e_text_emote;
6845 static const value_string e_text_emote_strings[] = {
6846 { TEXT_EMOTE_AGREE, "Agree" },
6847 { TEXT_EMOTE_AMAZE, "Amaze" },
6848 { TEXT_EMOTE_ANGRY, "Angry" },
6849 { TEXT_EMOTE_APOLOGIZE, "Apologize" },
6850 { TEXT_EMOTE_APPLAUD, "Applaud" },
6851 { TEXT_EMOTE_BASHFUL, "Bashful" },
6852 { TEXT_EMOTE_BECKON, "Beckon" },
6853 { TEXT_EMOTE_BEG, "Beg" },
6854 { TEXT_EMOTE_BITE, "Bite" },
6855 { TEXT_EMOTE_BLEED, "Bleed" },
6856 { TEXT_EMOTE_BLINK, "Blink" },
6857 { TEXT_EMOTE_BLUSH, "Blush" },
6858 { TEXT_EMOTE_BONK, "Bonk" },
6859 { TEXT_EMOTE_BORED, "Bored" },
6860 { TEXT_EMOTE_BOUNCE, "Bounce" },
6861 { TEXT_EMOTE_BRB, "Brb" },
6862 { TEXT_EMOTE_BOW, "Bow" },
6863 { TEXT_EMOTE_BURP, "Burp" },
6864 { TEXT_EMOTE_BYE, "Bye" },
6865 { TEXT_EMOTE_CACKLE, "Cackle" },
6866 { TEXT_EMOTE_CHEER, "Cheer" },
6867 { TEXT_EMOTE_CHICKEN, "Chicken" },
6868 { TEXT_EMOTE_CHUCKLE, "Chuckle" },
6869 { TEXT_EMOTE_CLAP, "Clap" },
6870 { TEXT_EMOTE_CONFUSED, "Confused" },
6871 { TEXT_EMOTE_CONGRATULATE, "Congratulate" },
6872 { TEXT_EMOTE_COUGH, "Cough" },
6873 { TEXT_EMOTE_COWER, "Cower" },
6874 { TEXT_EMOTE_CRACK, "Crack" },
6875 { TEXT_EMOTE_CRINGE, "Cringe" },
6876 { TEXT_EMOTE_CRY, "Cry" },
6877 { TEXT_EMOTE_CURIOUS, "Curious" },
6878 { TEXT_EMOTE_CURTSEY, "Curtsey" },
6879 { TEXT_EMOTE_DANCE, "Dance" },
6880 { TEXT_EMOTE_DRINK, "Drink" },
6881 { TEXT_EMOTE_DROOL, "Drool" },
6882 { TEXT_EMOTE_EAT, "Eat" },
6883 { TEXT_EMOTE_EYE, "Eye" },
6884 { TEXT_EMOTE_FART, "Fart" },
6885 { TEXT_EMOTE_FIDGET, "Fidget" },
6886 { TEXT_EMOTE_FLEX, "Flex" },
6887 { TEXT_EMOTE_FROWN, "Frown" },
6888 { TEXT_EMOTE_GASP, "Gasp" },
6889 { TEXT_EMOTE_GAZE, "Gaze" },
6890 { TEXT_EMOTE_GIGGLE, "Giggle" },
6891 { TEXT_EMOTE_GLARE, "Glare" },
6892 { TEXT_EMOTE_GLOAT, "Gloat" },
6893 { TEXT_EMOTE_GREET, "Greet" },
6894 { TEXT_EMOTE_GRIN, "Grin" },
6895 { TEXT_EMOTE_GROAN, "Groan" },
6896 { TEXT_EMOTE_GROVEL, "Grovel" },
6897 { TEXT_EMOTE_GUFFAW, "Guffaw" },
6898 { TEXT_EMOTE_HAIL, "Hail" },
6899 { TEXT_EMOTE_HAPPY, "Happy" },
6900 { TEXT_EMOTE_HELLO, "Hello" },
6901 { TEXT_EMOTE_HUG, "Hug" },
6902 { TEXT_EMOTE_HUNGRY, "Hungry" },
6903 { TEXT_EMOTE_KISS, "Kiss" },
6904 { TEXT_EMOTE_KNEEL, "Kneel" },
6905 { TEXT_EMOTE_LAUGH, "Laugh" },
6906 { TEXT_EMOTE_LAYDOWN, "Laydown" },
6907 { TEXT_EMOTE_MASSAGE, "Massage" },
6908 { TEXT_EMOTE_MOAN, "Moan" },
6909 { TEXT_EMOTE_MOON, "Moon" },
6910 { TEXT_EMOTE_MOURN, "Mourn" },
6911 { TEXT_EMOTE_NO, "No" },
6912 { TEXT_EMOTE_NOD, "Nod" },
6913 { TEXT_EMOTE_NOSE_PICK, "Nose Pick" },
6914 { TEXT_EMOTE_PANIC, "Panic" },
6915 { TEXT_EMOTE_PEER, "Peer" },
6916 { TEXT_EMOTE_PLEAD, "Plead" },
6917 { TEXT_EMOTE_POINT, "Point" },
6918 { TEXT_EMOTE_POKE, "Poke" },
6919 { TEXT_EMOTE_PRAY, "Pray" },
6920 { TEXT_EMOTE_ROAR, "Roar" },
6921 { TEXT_EMOTE_ROFL, "Rofl" },
6922 { TEXT_EMOTE_RUDE, "Rude" },
6923 { TEXT_EMOTE_SALUTE, "Salute" },
6924 { TEXT_EMOTE_SCRATCH, "Scratch" },
6925 { TEXT_EMOTE_SEXY, "Sexy" },
6926 { TEXT_EMOTE_SHAKE, "Shake" },
6927 { TEXT_EMOTE_SHOUT, "Shout" },
6928 { TEXT_EMOTE_SHRUG, "Shrug" },
6929 { TEXT_EMOTE_SHY, "Shy" },
6930 { TEXT_EMOTE_SIGH, "Sigh" },
6931 { TEXT_EMOTE_SIT, "Sit" },
6932 { TEXT_EMOTE_SLEEP, "Sleep" },
6933 { TEXT_EMOTE_SNARL, "Snarl" },
6934 { TEXT_EMOTE_SPIT, "Spit" },
6935 { TEXT_EMOTE_STARE, "Stare" },
6936 { TEXT_EMOTE_SURPRISED, "Surprised" },
6937 { TEXT_EMOTE_SURRENDER, "Surrender" },
6938 { TEXT_EMOTE_TALK, "Talk" },
6939 { TEXT_EMOTE_TALK_EX, "Talk Ex" },
6940 { TEXT_EMOTE_TALK_Q, "Talk Q" },
6941 { TEXT_EMOTE_TAP, "Tap" },
6942 { TEXT_EMOTE_THANK, "Thank" },
6943 { TEXT_EMOTE_THREATEN, "Threaten" },
6944 { TEXT_EMOTE_TIRED, "Tired" },
6945 { TEXT_EMOTE_VICTORY, "Victory" },
6946 { TEXT_EMOTE_WAVE, "Wave" },
6947 { TEXT_EMOTE_WELCOME, "Welcome" },
6948 { TEXT_EMOTE_WHINE, "Whine" },
6949 { TEXT_EMOTE_WHISTLE, "Whistle" },
6950 { TEXT_EMOTE_WORK, "Work" },
6951 { TEXT_EMOTE_YAWN, "Yawn" },
6952 { TEXT_EMOTE_BOGGLE, "Boggle" },
6953 { TEXT_EMOTE_CALM, "Calm" },
6954 { TEXT_EMOTE_COLD, "Cold" },
6955 { TEXT_EMOTE_COMFORT, "Comfort" },
6956 { TEXT_EMOTE_CUDDLE, "Cuddle" },
6957 { TEXT_EMOTE_DUCK, "Duck" },
6958 { TEXT_EMOTE_INSULT, "Insult" },
6959 { TEXT_EMOTE_INTRODUCE, "Introduce" },
6960 { TEXT_EMOTE_JK, "Jk" },
6961 { TEXT_EMOTE_LICK, "Lick" },
6962 { TEXT_EMOTE_LISTEN, "Listen" },
6963 { TEXT_EMOTE_LOST, "Lost" },
6964 { TEXT_EMOTE_MOCK, "Mock" },
6965 { TEXT_EMOTE_PONDER, "Ponder" },
6966 { TEXT_EMOTE_POUNCE, "Pounce" },
6967 { TEXT_EMOTE_PRAISE, "Praise" },
6968 { TEXT_EMOTE_PURR, "Purr" },
6969 { TEXT_EMOTE_PUZZLE, "Puzzle" },
6970 { TEXT_EMOTE_RAISE, "Raise" },
6971 { TEXT_EMOTE_READY, "Ready" },
6972 { TEXT_EMOTE_SHIMMY, "Shimmy" },
6973 { TEXT_EMOTE_SHIVER, "Shiver" },
6974 { TEXT_EMOTE_SHOO, "Shoo" },
6975 { TEXT_EMOTE_SLAP, "Slap" },
6976 { TEXT_EMOTE_SMIRK, "Smirk" },
6977 { TEXT_EMOTE_SNIFF, "Sniff" },
6978 { TEXT_EMOTE_SNUB, "Snub" },
6979 { TEXT_EMOTE_SOOTHE, "Soothe" },
6980 { TEXT_EMOTE_STINK, "Stink" },
6981 { TEXT_EMOTE_TAUNT, "Taunt" },
6982 { TEXT_EMOTE_TEASE, "Tease" },
6983 { TEXT_EMOTE_THIRSTY, "Thirsty" },
6984 { TEXT_EMOTE_VETO, "Veto" },
6985 { TEXT_EMOTE_SNICKER, "Snicker" },
6986 { TEXT_EMOTE_STAND, "Stand" },
6987 { TEXT_EMOTE_TICKLE, "Tickle" },
6988 { TEXT_EMOTE_VIOLIN, "Violin" },
6989 { TEXT_EMOTE_SMILE, "Smile" },
6990 { TEXT_EMOTE_RASP, "Rasp" },
6991 { TEXT_EMOTE_PITY, "Pity" },
6992 { TEXT_EMOTE_GROWL, "Growl" },
6993 { TEXT_EMOTE_BARK, "Bark" },
6994 { TEXT_EMOTE_SCARED, "Scared" },
6995 { TEXT_EMOTE_FLOP, "Flop" },
6996 { TEXT_EMOTE_LOVE, "Love" },
6997 { TEXT_EMOTE_MOO, "Moo" },
6998 { TEXT_EMOTE_COMMEND, "Commend" },
6999 { TEXT_EMOTE_TRAIN, "Train" },
7000 { TEXT_EMOTE_HELPME, "Helpme" },
7001 { TEXT_EMOTE_INCOMING, "Incoming" },
7002 { TEXT_EMOTE_CHARGE, "Charge" },
7003 { TEXT_EMOTE_FLEE, "Flee" },
7004 { TEXT_EMOTE_ATTACK_MY_TARGET, "Attack My Target" },
7005 { TEXT_EMOTE_OOM, "Oom" },
7006 { TEXT_EMOTE_FOLLOW, "Follow" },
7007 { TEXT_EMOTE_WAIT, "Wait" },
7008 { TEXT_EMOTE_HEAL_ME, "Heal Me" },
7009 { TEXT_EMOTE_OPEN_FIRE, "Open Fire" },
7010 { TEXT_EMOTE_FLIRT, "Flirt" },
7011 { TEXT_EMOTE_JOKE, "Joke" },
7012 { TEXT_EMOTE_GOLF_CLAP, "Golf Clap" },
7013 { TEXT_EMOTE_WINK, "Wink" },
7014 { TEXT_EMOTE_PAT, "Pat" },
7015 { 0, NULL }
7018 typedef enum {
7019 ACCOUNT_DATA_TYPE_GLOBAL_CONFIG_CACHE = 0x0,
7020 ACCOUNT_DATA_TYPE_PER_CHARACTER_CONFIG_CACHE = 0x1,
7021 ACCOUNT_DATA_TYPE_GLOBAL_BINDINGS_CACHE = 0x2,
7022 ACCOUNT_DATA_TYPE_PER_CHARACTER_BINDINGS_CACHE = 0x3,
7023 ACCOUNT_DATA_TYPE_GLOBAL_MACROS_CACHE = 0x4,
7024 ACCOUNT_DATA_TYPE_PER_CHARACTER_MACROS_CACHE = 0x5,
7025 ACCOUNT_DATA_TYPE_PER_CHARACTER_LAYOUT_CACHE = 0x6,
7026 ACCOUNT_DATA_TYPE_PER_CHARACTER_CHAT_CACHE = 0x7,
7027 ACCOUNT_DATA_TYPE_NUM_ACCOUNT_DATA_TYPES = 0x8,
7028 } e_account_data_type;
7029 static const value_string e_account_data_type_strings[] = {
7030 { ACCOUNT_DATA_TYPE_GLOBAL_CONFIG_CACHE, "Global Config Cache" },
7031 { ACCOUNT_DATA_TYPE_PER_CHARACTER_CONFIG_CACHE, "Per Character Config Cache" },
7032 { ACCOUNT_DATA_TYPE_GLOBAL_BINDINGS_CACHE, "Global Bindings Cache" },
7033 { ACCOUNT_DATA_TYPE_PER_CHARACTER_BINDINGS_CACHE, "Per Character Bindings Cache" },
7034 { ACCOUNT_DATA_TYPE_GLOBAL_MACROS_CACHE, "Global Macros Cache" },
7035 { ACCOUNT_DATA_TYPE_PER_CHARACTER_MACROS_CACHE, "Per Character Macros Cache" },
7036 { ACCOUNT_DATA_TYPE_PER_CHARACTER_LAYOUT_CACHE, "Per Character Layout Cache" },
7037 { ACCOUNT_DATA_TYPE_PER_CHARACTER_CHAT_CACHE, "Per Character Chat Cache" },
7038 { ACCOUNT_DATA_TYPE_NUM_ACCOUNT_DATA_TYPES, "Num Account Data Types" },
7039 { 0, NULL }
7042 typedef enum {
7043 AUCTION_HOUSE_STORMWIND = 0x1,
7044 AUCTION_HOUSE_ALLIANCE = 0x2,
7045 AUCTION_HOUSE_DARNASSUS = 0x3,
7046 AUCTION_HOUSE_UNDERCITY = 0x4,
7047 AUCTION_HOUSE_THUNDER_BLUFF = 0x5,
7048 AUCTION_HOUSE_HORDE = 0x6,
7049 AUCTION_HOUSE_GOBLIN = 0x7,
7050 } e_auction_house;
7051 static const value_string e_auction_house_strings[] = {
7052 { AUCTION_HOUSE_STORMWIND, "Stormwind" },
7053 { AUCTION_HOUSE_ALLIANCE, "Alliance" },
7054 { AUCTION_HOUSE_DARNASSUS, "Darnassus" },
7055 { AUCTION_HOUSE_UNDERCITY, "Undercity" },
7056 { AUCTION_HOUSE_THUNDER_BLUFF, "Thunder Bluff" },
7057 { AUCTION_HOUSE_HORDE, "Horde" },
7058 { AUCTION_HOUSE_GOBLIN, "Goblin" },
7059 { 0, NULL }
7062 typedef enum {
7063 CORPSE_QUERY_RESULT_NOT_FOUND = 0x0,
7064 CORPSE_QUERY_RESULT_FOUND = 0x1,
7065 } e_corpse_query_result;
7066 static const value_string e_corpse_query_result_strings[] = {
7067 { CORPSE_QUERY_RESULT_NOT_FOUND, "Not Found" },
7068 { CORPSE_QUERY_RESULT_FOUND, "Found" },
7069 { 0, NULL }
7072 typedef enum {
7073 BATTLEGROUND_END_STATUS_NOT_ENDED = 0x0,
7074 BATTLEGROUND_END_STATUS_ENDED = 0x1,
7075 } e_battleground_end_status;
7076 static const value_string e_battleground_end_status_strings[] = {
7077 { BATTLEGROUND_END_STATUS_NOT_ENDED, "Not Ended" },
7078 { BATTLEGROUND_END_STATUS_ENDED, "Ended" },
7079 { 0, NULL }
7082 typedef enum {
7083 BATTLEGROUND_WINNER_HORDE = 0x0,
7084 BATTLEGROUND_WINNER_ALLIANCE = 0x1,
7085 BATTLEGROUND_WINNER_NONE = 0x2,
7086 } e_battleground_winner;
7087 static const value_string e_battleground_winner_strings[] = {
7088 { BATTLEGROUND_WINNER_HORDE, "Horde" },
7089 { BATTLEGROUND_WINNER_ALLIANCE, "Alliance" },
7090 { BATTLEGROUND_WINNER_NONE, "None" },
7091 { 0, NULL }
7094 typedef enum {
7095 QUEST_PARTY_MESSAGE_SHARING_QUEST = 0x0,
7096 QUEST_PARTY_MESSAGE_CANT_TAKE_QUEST = 0x1,
7097 QUEST_PARTY_MESSAGE_ACCEPT_QUEST = 0x2,
7098 QUEST_PARTY_MESSAGE_DECLINE_QUEST = 0x3,
7099 QUEST_PARTY_MESSAGE_TOO_FAR = 0x4,
7100 QUEST_PARTY_MESSAGE_BUSY = 0x5,
7101 QUEST_PARTY_MESSAGE_LOG_FULL = 0x6,
7102 QUEST_PARTY_MESSAGE_HAVE_QUEST = 0x7,
7103 QUEST_PARTY_MESSAGE_FINISH_QUEST = 0x8,
7104 } e_quest_party_message;
7105 static const value_string e_quest_party_message_strings[] = {
7106 { QUEST_PARTY_MESSAGE_SHARING_QUEST, "Sharing Quest" },
7107 { QUEST_PARTY_MESSAGE_CANT_TAKE_QUEST, "Cant Take Quest" },
7108 { QUEST_PARTY_MESSAGE_ACCEPT_QUEST, "Accept Quest" },
7109 { QUEST_PARTY_MESSAGE_DECLINE_QUEST, "Decline Quest" },
7110 { QUEST_PARTY_MESSAGE_TOO_FAR, "Too Far" },
7111 { QUEST_PARTY_MESSAGE_BUSY, "Busy" },
7112 { QUEST_PARTY_MESSAGE_LOG_FULL, "Log Full" },
7113 { QUEST_PARTY_MESSAGE_HAVE_QUEST, "Have Quest" },
7114 { QUEST_PARTY_MESSAGE_FINISH_QUEST, "Finish Quest" },
7115 { 0, NULL }
7118 typedef enum {
7119 RAID_TARGET_UPDATE_TYPE_PARTIAL = 0x0,
7120 RAID_TARGET_UPDATE_TYPE_FULL = 0x1,
7121 } e_raid_target_update_type;
7122 static const value_string e_raid_target_update_type_strings[] = {
7123 { RAID_TARGET_UPDATE_TYPE_PARTIAL, "Partial" },
7124 { RAID_TARGET_UPDATE_TYPE_FULL, "Full" },
7125 { 0, NULL }
7128 typedef enum {
7129 GUILD_EMBLEM_RESULT_SUCCESS = 0x0,
7130 GUILD_EMBLEM_RESULT_INVALID_TABARD_COLORS = 0x1,
7131 GUILD_EMBLEM_RESULT_NO_GUILD = 0x2,
7132 GUILD_EMBLEM_RESULT_NOT_GUILD_MASTER = 0x3,
7133 GUILD_EMBLEM_RESULT_NOT_ENOUGH_MONEY = 0x4,
7134 GUILD_EMBLEM_RESULT_NO_MESSAGE = 0x5,
7135 } e_guild_emblem_result;
7136 static const value_string e_guild_emblem_result_strings[] = {
7137 { GUILD_EMBLEM_RESULT_SUCCESS, "Success" },
7138 { GUILD_EMBLEM_RESULT_INVALID_TABARD_COLORS, "Invalid Tabard Colors" },
7139 { GUILD_EMBLEM_RESULT_NO_GUILD, "No Guild" },
7140 { GUILD_EMBLEM_RESULT_NOT_GUILD_MASTER, "Not Guild Master" },
7141 { GUILD_EMBLEM_RESULT_NOT_ENOUGH_MONEY, "Not Enough Money" },
7142 { GUILD_EMBLEM_RESULT_NO_MESSAGE, "No Message" },
7143 { 0, NULL }
7146 typedef enum {
7147 ACTIVATE_TAXI_REPLY_OK = 0x0,
7148 ACTIVATE_TAXI_REPLY_UNSPECIFIED_SERVER_ERROR = 0x1,
7149 ACTIVATE_TAXI_REPLY_NO_SUCH_PATH = 0x2,
7150 ACTIVATE_TAXI_REPLY_NOT_ENOUGH_MONEY = 0x3,
7151 ACTIVATE_TAXI_REPLY_TOO_FAR_AWAY = 0x4,
7152 ACTIVATE_TAXI_REPLY_NO_VENDOR_NEARBY = 0x5,
7153 ACTIVATE_TAXI_REPLY_NOT_VISITED = 0x6,
7154 ACTIVATE_TAXI_REPLY_PLAYER_BUSY = 0x7,
7155 ACTIVATE_TAXI_REPLY_PLAYER_ALREADY_MOUNTED = 0x8,
7156 ACTIVATE_TAXI_REPLY_PLAYER_SHAPE_SHIFTED = 0x9,
7157 ACTIVATE_TAXI_REPLY_PLAYER_MOVING = 0xA,
7158 ACTIVATE_TAXI_REPLY_SAME_NODE = 0xB,
7159 ACTIVATE_TAXI_REPLY_NOT_STANDING = 0xC,
7160 } e_activate_taxi_reply;
7161 static const value_string e_activate_taxi_reply_strings[] = {
7162 { ACTIVATE_TAXI_REPLY_OK, "Ok" },
7163 { ACTIVATE_TAXI_REPLY_UNSPECIFIED_SERVER_ERROR, "Unspecified Server Error" },
7164 { ACTIVATE_TAXI_REPLY_NO_SUCH_PATH, "No Such Path" },
7165 { ACTIVATE_TAXI_REPLY_NOT_ENOUGH_MONEY, "Not Enough Money" },
7166 { ACTIVATE_TAXI_REPLY_TOO_FAR_AWAY, "Too Far Away" },
7167 { ACTIVATE_TAXI_REPLY_NO_VENDOR_NEARBY, "No Vendor Nearby" },
7168 { ACTIVATE_TAXI_REPLY_NOT_VISITED, "Not Visited" },
7169 { ACTIVATE_TAXI_REPLY_PLAYER_BUSY, "Player Busy" },
7170 { ACTIVATE_TAXI_REPLY_PLAYER_ALREADY_MOUNTED, "Player Already Mounted" },
7171 { ACTIVATE_TAXI_REPLY_PLAYER_SHAPE_SHIFTED, "Player Shape Shifted" },
7172 { ACTIVATE_TAXI_REPLY_PLAYER_MOVING, "Player Moving" },
7173 { ACTIVATE_TAXI_REPLY_SAME_NODE, "Same Node" },
7174 { ACTIVATE_TAXI_REPLY_NOT_STANDING, "Not Standing" },
7175 { 0, NULL }
7178 typedef enum {
7179 AI_REACTION_ALERT = 0x0,
7180 AI_REACTION_FRIENDLY = 0x1,
7181 AI_REACTION_HOSTILE = 0x2,
7182 AI_REACTION_AFRAID = 0x3,
7183 AI_REACTION_DESTROY = 0x4,
7184 } e_ai_reaction;
7185 static const value_string e_ai_reaction_strings[] = {
7186 { AI_REACTION_ALERT, "Alert" },
7187 { AI_REACTION_FRIENDLY, "Friendly" },
7188 { AI_REACTION_HOSTILE, "Hostile" },
7189 { AI_REACTION_AFRAID, "Afraid" },
7190 { AI_REACTION_DESTROY, "Destroy" },
7191 { 0, NULL }
7194 typedef enum {
7195 HIT_INFO_NORMAL_SWING = 0x00000,
7196 HIT_INFO_UNK1 = 0x00001,
7197 HIT_INFO_AFFECTS_VICTIM = 0x00002,
7198 HIT_INFO_LEFT_SWING = 0x00004,
7199 HIT_INFO_EARLY_CRITICAL_HIT = 0x00008,
7200 HIT_INFO_MISS = 0x00010,
7201 HIT_INFO_ABSORB = 0x00020,
7202 HIT_INFO_RESIST = 0x00040,
7203 HIT_INFO_CRITICAL_HIT = 0x00080,
7204 HIT_INFO_UNK9 = 0x00100,
7205 HIT_INFO_UNK10 = 0x02000,
7206 HIT_INFO_GLANCING = 0x04000,
7207 HIT_INFO_CRUSHING = 0x08000,
7208 HIT_INFO_NO_ACTION = 0x10000,
7209 HIT_INFO_SWING_NO_HIT_SOUND = 0x80000,
7210 } e_hit_info;
7211 static const value_string e_hit_info_strings[] = {
7212 { HIT_INFO_NORMAL_SWING, "Normal Swing" },
7213 { HIT_INFO_UNK1, "Unk1" },
7214 { HIT_INFO_AFFECTS_VICTIM, "Affects Victim" },
7215 { HIT_INFO_LEFT_SWING, "Left Swing" },
7216 { HIT_INFO_EARLY_CRITICAL_HIT, "Early Critical Hit" },
7217 { HIT_INFO_MISS, "Miss" },
7218 { HIT_INFO_ABSORB, "Absorb" },
7219 { HIT_INFO_RESIST, "Resist" },
7220 { HIT_INFO_CRITICAL_HIT, "Critical Hit" },
7221 { HIT_INFO_UNK9, "Unk9" },
7222 { HIT_INFO_UNK10, "Unk10" },
7223 { HIT_INFO_GLANCING, "Glancing" },
7224 { HIT_INFO_CRUSHING, "Crushing" },
7225 { HIT_INFO_NO_ACTION, "No Action" },
7226 { HIT_INFO_SWING_NO_HIT_SOUND, "Swing No Hit Sound" },
7227 { 0, NULL }
7230 typedef enum {
7231 AUCTION_COMMAND_ACTION_STARTED = 0x0,
7232 AUCTION_COMMAND_ACTION_REMOVED = 0x1,
7233 AUCTION_COMMAND_ACTION_BID_PLACED = 0x2,
7234 } e_auction_command_action;
7235 static const value_string e_auction_command_action_strings[] = {
7236 { AUCTION_COMMAND_ACTION_STARTED, "Started" },
7237 { AUCTION_COMMAND_ACTION_REMOVED, "Removed" },
7238 { AUCTION_COMMAND_ACTION_BID_PLACED, "Bid Placed" },
7239 { 0, NULL }
7242 typedef enum {
7243 AUCTION_COMMAND_RESULT_OK = 0x0,
7244 AUCTION_COMMAND_RESULT_ERR_INVENTORY = 0x1,
7245 AUCTION_COMMAND_RESULT_ERR_DATABASE = 0x2,
7246 AUCTION_COMMAND_RESULT_ERR_NOT_ENOUGH_MONEY = 0x3,
7247 AUCTION_COMMAND_RESULT_ERR_ITEM_NOT_FOUND = 0x4,
7248 AUCTION_COMMAND_RESULT_ERR_HIGHER_BID = 0x5,
7249 AUCTION_COMMAND_RESULT_ERR_BID_INCREMENT = 0x7,
7250 AUCTION_COMMAND_RESULT_ERR_BID_OWN = 0xA,
7251 AUCTION_COMMAND_RESULT_ERR_RESTRICTED_ACCOUNT = 0xD,
7252 } e_auction_command_result;
7253 static const value_string e_auction_command_result_strings[] = {
7254 { AUCTION_COMMAND_RESULT_OK, "Ok" },
7255 { AUCTION_COMMAND_RESULT_ERR_INVENTORY, "Err Inventory" },
7256 { AUCTION_COMMAND_RESULT_ERR_DATABASE, "Err Database" },
7257 { AUCTION_COMMAND_RESULT_ERR_NOT_ENOUGH_MONEY, "Err Not Enough Money" },
7258 { AUCTION_COMMAND_RESULT_ERR_ITEM_NOT_FOUND, "Err Item Not Found" },
7259 { AUCTION_COMMAND_RESULT_ERR_HIGHER_BID, "Err Higher Bid" },
7260 { AUCTION_COMMAND_RESULT_ERR_BID_INCREMENT, "Err Bid Increment" },
7261 { AUCTION_COMMAND_RESULT_ERR_BID_OWN, "Err Bid Own" },
7262 { AUCTION_COMMAND_RESULT_ERR_RESTRICTED_ACCOUNT, "Err Restricted Account" },
7263 { 0, NULL }
7266 typedef enum {
7267 INVENTORY_RESULT_OK = 0x00,
7268 INVENTORY_RESULT_CANT_EQUIP_LEVEL_I = 0x01,
7269 INVENTORY_RESULT_CANT_EQUIP_SKILL = 0x02,
7270 INVENTORY_RESULT_ITEM_DOESNT_GO_TO_SLOT = 0x03,
7271 INVENTORY_RESULT_BAG_FULL = 0x04,
7272 INVENTORY_RESULT_NONEMPTY_BAG_OVER_OTHER_BAG = 0x05,
7273 INVENTORY_RESULT_CANT_TRADE_EQUIP_BAGS = 0x06,
7274 INVENTORY_RESULT_ONLY_AMMO_CAN_GO_HERE = 0x07,
7275 INVENTORY_RESULT_NO_REQUIRED_PROFICIENCY = 0x08,
7276 INVENTORY_RESULT_NO_EQUIPMENT_SLOT_AVAILABLE = 0x09,
7277 INVENTORY_RESULT_YOU_CAN_NEVER_USE_THAT_ITEM = 0x0A,
7278 INVENTORY_RESULT_YOU_CAN_NEVER_USE_THAT_ITEM2 = 0x0B,
7279 INVENTORY_RESULT_NO_EQUIPMENT_SLOT_AVAILABLE2 = 0x0C,
7280 INVENTORY_RESULT_CANT_EQUIP_WITH_TWOHANDED = 0x0D,
7281 INVENTORY_RESULT_CANT_DUAL_WIELD = 0x0E,
7282 INVENTORY_RESULT_ITEM_DOESNT_GO_INTO_BAG = 0x0F,
7283 INVENTORY_RESULT_ITEM_DOESNT_GO_INTO_BAG2 = 0x10,
7284 INVENTORY_RESULT_CANT_CARRY_MORE_OF_THIS = 0x11,
7285 INVENTORY_RESULT_NO_EQUIPMENT_SLOT_AVAILABLE3 = 0x12,
7286 INVENTORY_RESULT_ITEM_CANT_STACK = 0x13,
7287 INVENTORY_RESULT_ITEM_CANT_BE_EQUIPPED = 0x14,
7288 INVENTORY_RESULT_ITEMS_CANT_BE_SWAPPED = 0x15,
7289 INVENTORY_RESULT_SLOT_IS_EMPTY = 0x16,
7290 INVENTORY_RESULT_ITEM_NOT_FOUND = 0x17,
7291 INVENTORY_RESULT_CANT_DROP_SOULBOUND = 0x18,
7292 INVENTORY_RESULT_OUT_OF_RANGE = 0x19,
7293 INVENTORY_RESULT_TRIED_TO_SPLIT_MORE_THAN_COUNT = 0x1A,
7294 INVENTORY_RESULT_COULDNT_SPLIT_ITEMS = 0x1B,
7295 INVENTORY_RESULT_MISSING_REAGENT = 0x1C,
7296 INVENTORY_RESULT_NOT_ENOUGH_MONEY = 0x1D,
7297 INVENTORY_RESULT_NOT_A_BAG = 0x1E,
7298 INVENTORY_RESULT_CAN_ONLY_DO_WITH_EMPTY_BAGS = 0x1F,
7299 INVENTORY_RESULT_DONT_OWN_THAT_ITEM = 0x20,
7300 INVENTORY_RESULT_CAN_EQUIP_ONLY1_QUIVER = 0x21,
7301 INVENTORY_RESULT_MUST_PURCHASE_THAT_BAG_SLOT = 0x22,
7302 INVENTORY_RESULT_TOO_FAR_AWAY_FROM_BANK = 0x23,
7303 INVENTORY_RESULT_ITEM_LOCKED = 0x24,
7304 INVENTORY_RESULT_YOU_ARE_STUNNED = 0x25,
7305 INVENTORY_RESULT_YOU_ARE_DEAD = 0x26,
7306 INVENTORY_RESULT_CANT_DO_RIGHT_NOW = 0x27,
7307 INVENTORY_RESULT_INT_BAG_ERROR = 0x28,
7308 INVENTORY_RESULT_CAN_EQUIP_ONLY1_BOLT = 0x29,
7309 INVENTORY_RESULT_CAN_EQUIP_ONLY1_AMMOPOUCH = 0x2A,
7310 INVENTORY_RESULT_STACKABLE_CANT_BE_WRAPPED = 0x2B,
7311 INVENTORY_RESULT_EQUIPPED_CANT_BE_WRAPPED = 0x2C,
7312 INVENTORY_RESULT_WRAPPED_CANT_BE_WRAPPED = 0x2D,
7313 INVENTORY_RESULT_BOUND_CANT_BE_WRAPPED = 0x2E,
7314 INVENTORY_RESULT_UNIQUE_CANT_BE_WRAPPED = 0x2F,
7315 INVENTORY_RESULT_BAGS_CANT_BE_WRAPPED = 0x30,
7316 INVENTORY_RESULT_ALREADY_LOOTED = 0x31,
7317 INVENTORY_RESULT_INVENTORY_FULL = 0x32,
7318 INVENTORY_RESULT_BANK_FULL = 0x33,
7319 INVENTORY_RESULT_ITEM_IS_CURRENTLY_SOLD_OUT = 0x34,
7320 INVENTORY_RESULT_BAG_FULL3 = 0x35,
7321 INVENTORY_RESULT_ITEM_NOT_FOUND2 = 0x36,
7322 INVENTORY_RESULT_ITEM_CANT_STACK2 = 0x37,
7323 INVENTORY_RESULT_BAG_FULL4 = 0x38,
7324 INVENTORY_RESULT_ITEM_SOLD_OUT = 0x39,
7325 INVENTORY_RESULT_OBJECT_IS_BUSY = 0x3A,
7326 INVENTORY_RESULT_NONE = 0x3B,
7327 INVENTORY_RESULT_NOT_IN_COMBAT = 0x3C,
7328 INVENTORY_RESULT_NOT_WHILE_DISARMED = 0x3D,
7329 INVENTORY_RESULT_BAG_FULL6 = 0x3E,
7330 INVENTORY_RESULT_CANT_EQUIP_RANK = 0x3F,
7331 INVENTORY_RESULT_CANT_EQUIP_REPUTATION = 0x40,
7332 INVENTORY_RESULT_TOO_MANY_SPECIAL_BAGS = 0x41,
7333 INVENTORY_RESULT_LOOT_CANT_LOOT_THAT_NOW = 0x42,
7334 } e_inventory_result;
7335 static const value_string e_inventory_result_strings[] = {
7336 { INVENTORY_RESULT_OK, "Ok" },
7337 { INVENTORY_RESULT_CANT_EQUIP_LEVEL_I, "Cant Equip Level I" },
7338 { INVENTORY_RESULT_CANT_EQUIP_SKILL, "Cant Equip Skill" },
7339 { INVENTORY_RESULT_ITEM_DOESNT_GO_TO_SLOT, "Item Doesn't Go To Slot" },
7340 { INVENTORY_RESULT_BAG_FULL, "Bag Full" },
7341 { INVENTORY_RESULT_NONEMPTY_BAG_OVER_OTHER_BAG, "Nonempty Bag Over Other Bag" },
7342 { INVENTORY_RESULT_CANT_TRADE_EQUIP_BAGS, "Cant Trade Equip Bags" },
7343 { INVENTORY_RESULT_ONLY_AMMO_CAN_GO_HERE, "Only Ammo Can Go Here" },
7344 { INVENTORY_RESULT_NO_REQUIRED_PROFICIENCY, "No Required Proficiency" },
7345 { INVENTORY_RESULT_NO_EQUIPMENT_SLOT_AVAILABLE, "No Equipment Slot Available" },
7346 { INVENTORY_RESULT_YOU_CAN_NEVER_USE_THAT_ITEM, "You Can Never Use That Item" },
7347 { INVENTORY_RESULT_YOU_CAN_NEVER_USE_THAT_ITEM2, "You Can Never Use That Item2" },
7348 { INVENTORY_RESULT_NO_EQUIPMENT_SLOT_AVAILABLE2, "No Equipment Slot Available2" },
7349 { INVENTORY_RESULT_CANT_EQUIP_WITH_TWOHANDED, "Cant Equip With Twohanded" },
7350 { INVENTORY_RESULT_CANT_DUAL_WIELD, "Cant Dual Wield" },
7351 { INVENTORY_RESULT_ITEM_DOESNT_GO_INTO_BAG, "Item Doesn't Go Into Bag" },
7352 { INVENTORY_RESULT_ITEM_DOESNT_GO_INTO_BAG2, "Item Doesn't Go Into Bag2" },
7353 { INVENTORY_RESULT_CANT_CARRY_MORE_OF_THIS, "Cant Carry More Of This" },
7354 { INVENTORY_RESULT_NO_EQUIPMENT_SLOT_AVAILABLE3, "No Equipment Slot Available3" },
7355 { INVENTORY_RESULT_ITEM_CANT_STACK, "Item Cant Stack" },
7356 { INVENTORY_RESULT_ITEM_CANT_BE_EQUIPPED, "Item Cant Be Equipped" },
7357 { INVENTORY_RESULT_ITEMS_CANT_BE_SWAPPED, "Items Cant Be Swapped" },
7358 { INVENTORY_RESULT_SLOT_IS_EMPTY, "Slot Is Empty" },
7359 { INVENTORY_RESULT_ITEM_NOT_FOUND, "Item Not Found" },
7360 { INVENTORY_RESULT_CANT_DROP_SOULBOUND, "Cant Drop Soulbound" },
7361 { INVENTORY_RESULT_OUT_OF_RANGE, "Out Of Range" },
7362 { INVENTORY_RESULT_TRIED_TO_SPLIT_MORE_THAN_COUNT, "Tried To Split More Than Count" },
7363 { INVENTORY_RESULT_COULDNT_SPLIT_ITEMS, "Couldnt Split Items" },
7364 { INVENTORY_RESULT_MISSING_REAGENT, "Missing Reagent" },
7365 { INVENTORY_RESULT_NOT_ENOUGH_MONEY, "Not Enough Money" },
7366 { INVENTORY_RESULT_NOT_A_BAG, "Not A Bag" },
7367 { INVENTORY_RESULT_CAN_ONLY_DO_WITH_EMPTY_BAGS, "Can Only Do With Empty Bags" },
7368 { INVENTORY_RESULT_DONT_OWN_THAT_ITEM, "Dont Own That Item" },
7369 { INVENTORY_RESULT_CAN_EQUIP_ONLY1_QUIVER, "Can Equip Only1 Quiver" },
7370 { INVENTORY_RESULT_MUST_PURCHASE_THAT_BAG_SLOT, "Must Purchase That Bag Slot" },
7371 { INVENTORY_RESULT_TOO_FAR_AWAY_FROM_BANK, "Too Far Away From Bank" },
7372 { INVENTORY_RESULT_ITEM_LOCKED, "Item Locked" },
7373 { INVENTORY_RESULT_YOU_ARE_STUNNED, "You Are Stunned" },
7374 { INVENTORY_RESULT_YOU_ARE_DEAD, "You Are Dead" },
7375 { INVENTORY_RESULT_CANT_DO_RIGHT_NOW, "Cant Do Right Now" },
7376 { INVENTORY_RESULT_INT_BAG_ERROR, "Int Bag Error" },
7377 { INVENTORY_RESULT_CAN_EQUIP_ONLY1_BOLT, "Can Equip Only1 Bolt" },
7378 { INVENTORY_RESULT_CAN_EQUIP_ONLY1_AMMOPOUCH, "Can Equip Only1 Ammopouch" },
7379 { INVENTORY_RESULT_STACKABLE_CANT_BE_WRAPPED, "Stackable Cant Be Wrapped" },
7380 { INVENTORY_RESULT_EQUIPPED_CANT_BE_WRAPPED, "Equipped Cant Be Wrapped" },
7381 { INVENTORY_RESULT_WRAPPED_CANT_BE_WRAPPED, "Wrapped Cant Be Wrapped" },
7382 { INVENTORY_RESULT_BOUND_CANT_BE_WRAPPED, "Bound Cant Be Wrapped" },
7383 { INVENTORY_RESULT_UNIQUE_CANT_BE_WRAPPED, "Unique Cant Be Wrapped" },
7384 { INVENTORY_RESULT_BAGS_CANT_BE_WRAPPED, "Bags Cant Be Wrapped" },
7385 { INVENTORY_RESULT_ALREADY_LOOTED, "Already Looted" },
7386 { INVENTORY_RESULT_INVENTORY_FULL, "Inventory Full" },
7387 { INVENTORY_RESULT_BANK_FULL, "Bank Full" },
7388 { INVENTORY_RESULT_ITEM_IS_CURRENTLY_SOLD_OUT, "Item Is Currently Sold Out" },
7389 { INVENTORY_RESULT_BAG_FULL3, "Bag Full3" },
7390 { INVENTORY_RESULT_ITEM_NOT_FOUND2, "Item Not Found2" },
7391 { INVENTORY_RESULT_ITEM_CANT_STACK2, "Item Cant Stack2" },
7392 { INVENTORY_RESULT_BAG_FULL4, "Bag Full4" },
7393 { INVENTORY_RESULT_ITEM_SOLD_OUT, "Item Sold Out" },
7394 { INVENTORY_RESULT_OBJECT_IS_BUSY, "Object Is Busy" },
7395 { INVENTORY_RESULT_NONE, "None" },
7396 { INVENTORY_RESULT_NOT_IN_COMBAT, "Not In Combat" },
7397 { INVENTORY_RESULT_NOT_WHILE_DISARMED, "Not While Disarmed" },
7398 { INVENTORY_RESULT_BAG_FULL6, "Bag Full6" },
7399 { INVENTORY_RESULT_CANT_EQUIP_RANK, "Cant Equip Rank" },
7400 { INVENTORY_RESULT_CANT_EQUIP_REPUTATION, "Cant Equip Reputation" },
7401 { INVENTORY_RESULT_TOO_MANY_SPECIAL_BAGS, "Too Many Special Bags" },
7402 { INVENTORY_RESULT_LOOT_CANT_LOOT_THAT_NOW, "Loot Cant Loot That Now" },
7403 { 0, NULL }
7406 typedef enum {
7407 AUCTION_COMMAND_RESULT_TWO_OK = 0x0,
7408 AUCTION_COMMAND_RESULT_TWO_ERR_INVENTORY = 0x1,
7409 AUCTION_COMMAND_RESULT_TWO_ERR_DATABASE = 0x2,
7410 AUCTION_COMMAND_RESULT_TWO_ERR_NOT_ENOUGH_MONEY = 0x3,
7411 AUCTION_COMMAND_RESULT_TWO_ERR_ITEM_NOT_FOUND = 0x4,
7412 AUCTION_COMMAND_RESULT_TWO_ERR_HIGHER_BID = 0x5,
7413 AUCTION_COMMAND_RESULT_TWO_ERR_BID_INCREMENT = 0x7,
7414 AUCTION_COMMAND_RESULT_TWO_ERR_BID_OWN = 0xA,
7415 AUCTION_COMMAND_RESULT_TWO_ERR_RESTRICTED_ACCOUNT = 0xD,
7416 } e_auction_command_result_two;
7417 static const value_string e_auction_command_result_two_strings[] = {
7418 { AUCTION_COMMAND_RESULT_TWO_OK, "Ok" },
7419 { AUCTION_COMMAND_RESULT_TWO_ERR_INVENTORY, "Err Inventory" },
7420 { AUCTION_COMMAND_RESULT_TWO_ERR_DATABASE, "Err Database" },
7421 { AUCTION_COMMAND_RESULT_TWO_ERR_NOT_ENOUGH_MONEY, "Err Not Enough Money" },
7422 { AUCTION_COMMAND_RESULT_TWO_ERR_ITEM_NOT_FOUND, "Err Item Not Found" },
7423 { AUCTION_COMMAND_RESULT_TWO_ERR_HIGHER_BID, "Err Higher Bid" },
7424 { AUCTION_COMMAND_RESULT_TWO_ERR_BID_INCREMENT, "Err Bid Increment" },
7425 { AUCTION_COMMAND_RESULT_TWO_ERR_BID_OWN, "Err Bid Own" },
7426 { AUCTION_COMMAND_RESULT_TWO_ERR_RESTRICTED_ACCOUNT, "Err Restricted Account" },
7427 { 0, NULL }
7430 typedef enum {
7431 WORLD_RESULT_RESPONSE_SUCCESS = 0x00,
7432 WORLD_RESULT_RESPONSE_FAILURE = 0x01,
7433 WORLD_RESULT_RESPONSE_CANCELLED = 0x02,
7434 WORLD_RESULT_RESPONSE_DISCONNECTED = 0x03,
7435 WORLD_RESULT_RESPONSE_FAILED_TO_CONNECT = 0x04,
7436 WORLD_RESULT_RESPONSE_CONNECTED = 0x05,
7437 WORLD_RESULT_RESPONSE_VERSION_MISMATCH = 0x06,
7438 WORLD_RESULT_CSTATUS_CONNECTING = 0x07,
7439 WORLD_RESULT_CSTATUS_NEGOTIATING_SECURITY = 0x08,
7440 WORLD_RESULT_CSTATUS_NEGOTIATION_COMPLETE = 0x09,
7441 WORLD_RESULT_CSTATUS_NEGOTIATION_FAILED = 0x0A,
7442 WORLD_RESULT_CSTATUS_AUTHENTICATING = 0x0B,
7443 WORLD_RESULT_AUTH_OK = 0x0C,
7444 WORLD_RESULT_AUTH_FAILED = 0x0D,
7445 WORLD_RESULT_AUTH_REJECT = 0x0E,
7446 WORLD_RESULT_AUTH_BAD_SERVER_PROOF = 0x0F,
7447 WORLD_RESULT_AUTH_UNAVAILABLE = 0x10,
7448 WORLD_RESULT_AUTH_SYSTEM_ERROR = 0x11,
7449 WORLD_RESULT_AUTH_BILLING_ERROR = 0x12,
7450 WORLD_RESULT_AUTH_BILLING_EXPIRED = 0x13,
7451 WORLD_RESULT_AUTH_VERSION_MISMATCH = 0x14,
7452 WORLD_RESULT_AUTH_UNKNOWN_ACCOUNT = 0x15,
7453 WORLD_RESULT_AUTH_INCORRECT_PASSWORD = 0x16,
7454 WORLD_RESULT_AUTH_SESSION_EXPIRED = 0x17,
7455 WORLD_RESULT_AUTH_SERVER_SHUTTING_DOWN = 0x18,
7456 WORLD_RESULT_AUTH_ALREADY_LOGGING_IN = 0x19,
7457 WORLD_RESULT_AUTH_LOGIN_SERVER_NOT_FOUND = 0x1A,
7458 WORLD_RESULT_AUTH_WAIT_QUEUE = 0x1B,
7459 WORLD_RESULT_AUTH_BANNED = 0x1C,
7460 WORLD_RESULT_AUTH_ALREADY_ONLINE = 0x1D,
7461 WORLD_RESULT_AUTH_NO_TIME = 0x1E,
7462 WORLD_RESULT_AUTH_DB_BUSY = 0x1F,
7463 WORLD_RESULT_AUTH_SUSPENDED = 0x20,
7464 WORLD_RESULT_AUTH_PARENTAL_CONTROL = 0x21,
7465 WORLD_RESULT_REALM_LIST_IN_PROGRESS = 0x22,
7466 WORLD_RESULT_REALM_LIST_SUCCESS = 0x23,
7467 WORLD_RESULT_REALM_LIST_FAILED = 0x24,
7468 WORLD_RESULT_REALM_LIST_INVALID = 0x25,
7469 WORLD_RESULT_REALM_LIST_REALM_NOT_FOUND = 0x26,
7470 WORLD_RESULT_ACCOUNT_CREATE_IN_PROGRESS = 0x27,
7471 WORLD_RESULT_ACCOUNT_CREATE_SUCCESS = 0x28,
7472 WORLD_RESULT_ACCOUNT_CREATE_FAILED = 0x29,
7473 WORLD_RESULT_CHAR_LIST_RETRIEVING = 0x2A,
7474 WORLD_RESULT_CHAR_LIST_RETRIEVED = 0x2B,
7475 WORLD_RESULT_CHAR_LIST_FAILED = 0x2C,
7476 WORLD_RESULT_CHAR_CREATE_IN_PROGRESS = 0x2D,
7477 WORLD_RESULT_CHAR_CREATE_SUCCESS = 0x2E,
7478 WORLD_RESULT_CHAR_CREATE_ERROR = 0x2F,
7479 WORLD_RESULT_CHAR_CREATE_FAILED = 0x30,
7480 WORLD_RESULT_CHAR_CREATE_NAME_IN_USE = 0x31,
7481 WORLD_RESULT_CHAR_CREATE_DISABLED = 0x32,
7482 WORLD_RESULT_CHAR_CREATE_PVP_TEAMS_VIOLATION = 0x33,
7483 WORLD_RESULT_CHAR_CREATE_SERVER_LIMIT = 0x34,
7484 WORLD_RESULT_CHAR_CREATE_ACCOUNT_LIMIT = 0x35,
7485 WORLD_RESULT_CHAR_CREATE_SERVER_QUEUE = 0x36,
7486 WORLD_RESULT_CHAR_CREATE_ONLY_EXISTING = 0x37,
7487 WORLD_RESULT_CHAR_DELETE_IN_PROGRESS = 0x38,
7488 WORLD_RESULT_CHAR_DELETE_SUCCESS = 0x39,
7489 WORLD_RESULT_CHAR_DELETE_FAILED = 0x3A,
7490 WORLD_RESULT_CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x3B,
7491 WORLD_RESULT_CHAR_LOGIN_IN_PROGRESS = 0x3C,
7492 WORLD_RESULT_CHAR_LOGIN_SUCCESS = 0x3D,
7493 WORLD_RESULT_CHAR_LOGIN_NO_WORLD = 0x3E,
7494 WORLD_RESULT_CHAR_LOGIN_DUPLICATE_CHARACTER = 0x3F,
7495 WORLD_RESULT_CHAR_LOGIN_NO_INSTANCES = 0x40,
7496 WORLD_RESULT_CHAR_LOGIN_FAILED = 0x41,
7497 WORLD_RESULT_CHAR_LOGIN_DISABLED = 0x42,
7498 WORLD_RESULT_CHAR_LOGIN_NO_CHARACTER = 0x43,
7499 WORLD_RESULT_CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x44,
7500 WORLD_RESULT_CHAR_NAME_NO_NAME = 0x45,
7501 WORLD_RESULT_CHAR_NAME_TOO_SHORT = 0x46,
7502 WORLD_RESULT_CHAR_NAME_TOO_LONG = 0x47,
7503 WORLD_RESULT_CHAR_NAME_ONLY_LETTERS = 0x48,
7504 WORLD_RESULT_CHAR_NAME_MIXED_LANGUAGES = 0x49,
7505 WORLD_RESULT_CHAR_NAME_PROFANE = 0x4A,
7506 WORLD_RESULT_CHAR_NAME_RESERVED = 0x4B,
7507 WORLD_RESULT_CHAR_NAME_INVALID_APOSTROPHE = 0x4C,
7508 WORLD_RESULT_CHAR_NAME_MULTIPLE_APOSTROPHES = 0x4D,
7509 WORLD_RESULT_CHAR_NAME_THREE_CONSECUTIVE = 0x4E,
7510 WORLD_RESULT_CHAR_NAME_INVALID_SPACE = 0x4F,
7511 WORLD_RESULT_CHAR_NAME_SUCCESS = 0x50,
7512 WORLD_RESULT_CHAR_NAME_FAILURE = 0x51,
7513 } e_world_result;
7514 static const value_string e_world_result_strings[] = {
7515 { WORLD_RESULT_RESPONSE_SUCCESS, "Response Success" },
7516 { WORLD_RESULT_RESPONSE_FAILURE, "Response Failure" },
7517 { WORLD_RESULT_RESPONSE_CANCELLED, "Response Cancelled" },
7518 { WORLD_RESULT_RESPONSE_DISCONNECTED, "Response Disconnected" },
7519 { WORLD_RESULT_RESPONSE_FAILED_TO_CONNECT, "Response Failed To Connect" },
7520 { WORLD_RESULT_RESPONSE_CONNECTED, "Response Connected" },
7521 { WORLD_RESULT_RESPONSE_VERSION_MISMATCH, "Response Version Mismatch" },
7522 { WORLD_RESULT_CSTATUS_CONNECTING, "Cstatus Connecting" },
7523 { WORLD_RESULT_CSTATUS_NEGOTIATING_SECURITY, "Cstatus Negotiating Security" },
7524 { WORLD_RESULT_CSTATUS_NEGOTIATION_COMPLETE, "Cstatus Negotiation Complete" },
7525 { WORLD_RESULT_CSTATUS_NEGOTIATION_FAILED, "Cstatus Negotiation Failed" },
7526 { WORLD_RESULT_CSTATUS_AUTHENTICATING, "Cstatus Authenticating" },
7527 { WORLD_RESULT_AUTH_OK, "Auth Ok" },
7528 { WORLD_RESULT_AUTH_FAILED, "Auth Failed" },
7529 { WORLD_RESULT_AUTH_REJECT, "Auth Reject" },
7530 { WORLD_RESULT_AUTH_BAD_SERVER_PROOF, "Auth Bad Server Proof" },
7531 { WORLD_RESULT_AUTH_UNAVAILABLE, "Auth Unavailable" },
7532 { WORLD_RESULT_AUTH_SYSTEM_ERROR, "Auth System Error" },
7533 { WORLD_RESULT_AUTH_BILLING_ERROR, "Auth Billing Error" },
7534 { WORLD_RESULT_AUTH_BILLING_EXPIRED, "Auth Billing Expired" },
7535 { WORLD_RESULT_AUTH_VERSION_MISMATCH, "Auth Version Mismatch" },
7536 { WORLD_RESULT_AUTH_UNKNOWN_ACCOUNT, "Auth Unknown Account" },
7537 { WORLD_RESULT_AUTH_INCORRECT_PASSWORD, "Auth Incorrect Password" },
7538 { WORLD_RESULT_AUTH_SESSION_EXPIRED, "Auth Session Expired" },
7539 { WORLD_RESULT_AUTH_SERVER_SHUTTING_DOWN, "Auth Server Shutting Down" },
7540 { WORLD_RESULT_AUTH_ALREADY_LOGGING_IN, "Auth Already Logging In" },
7541 { WORLD_RESULT_AUTH_LOGIN_SERVER_NOT_FOUND, "Auth Login Server Not Found" },
7542 { WORLD_RESULT_AUTH_WAIT_QUEUE, "Auth Wait Queue" },
7543 { WORLD_RESULT_AUTH_BANNED, "Auth Banned" },
7544 { WORLD_RESULT_AUTH_ALREADY_ONLINE, "Auth Already Online" },
7545 { WORLD_RESULT_AUTH_NO_TIME, "Auth No Time" },
7546 { WORLD_RESULT_AUTH_DB_BUSY, "Auth Db Busy" },
7547 { WORLD_RESULT_AUTH_SUSPENDED, "Auth Suspended" },
7548 { WORLD_RESULT_AUTH_PARENTAL_CONTROL, "Auth Parental Control" },
7549 { WORLD_RESULT_REALM_LIST_IN_PROGRESS, "Realm List In Progress" },
7550 { WORLD_RESULT_REALM_LIST_SUCCESS, "Realm List Success" },
7551 { WORLD_RESULT_REALM_LIST_FAILED, "Realm List Failed" },
7552 { WORLD_RESULT_REALM_LIST_INVALID, "Realm List Invalid" },
7553 { WORLD_RESULT_REALM_LIST_REALM_NOT_FOUND, "Realm List Realm Not Found" },
7554 { WORLD_RESULT_ACCOUNT_CREATE_IN_PROGRESS, "Account Create In Progress" },
7555 { WORLD_RESULT_ACCOUNT_CREATE_SUCCESS, "Account Create Success" },
7556 { WORLD_RESULT_ACCOUNT_CREATE_FAILED, "Account Create Failed" },
7557 { WORLD_RESULT_CHAR_LIST_RETRIEVING, "Char List Retrieving" },
7558 { WORLD_RESULT_CHAR_LIST_RETRIEVED, "Char List Retrieved" },
7559 { WORLD_RESULT_CHAR_LIST_FAILED, "Char List Failed" },
7560 { WORLD_RESULT_CHAR_CREATE_IN_PROGRESS, "Char Create In Progress" },
7561 { WORLD_RESULT_CHAR_CREATE_SUCCESS, "Char Create Success" },
7562 { WORLD_RESULT_CHAR_CREATE_ERROR, "Char Create Error" },
7563 { WORLD_RESULT_CHAR_CREATE_FAILED, "Char Create Failed" },
7564 { WORLD_RESULT_CHAR_CREATE_NAME_IN_USE, "Char Create Name In Use" },
7565 { WORLD_RESULT_CHAR_CREATE_DISABLED, "Char Create Disabled" },
7566 { WORLD_RESULT_CHAR_CREATE_PVP_TEAMS_VIOLATION, "Char Create Pvp Teams Violation" },
7567 { WORLD_RESULT_CHAR_CREATE_SERVER_LIMIT, "Char Create Server Limit" },
7568 { WORLD_RESULT_CHAR_CREATE_ACCOUNT_LIMIT, "Char Create Account Limit" },
7569 { WORLD_RESULT_CHAR_CREATE_SERVER_QUEUE, "Char Create Server Queue" },
7570 { WORLD_RESULT_CHAR_CREATE_ONLY_EXISTING, "Char Create Only Existing" },
7571 { WORLD_RESULT_CHAR_DELETE_IN_PROGRESS, "Char Delete In Progress" },
7572 { WORLD_RESULT_CHAR_DELETE_SUCCESS, "Char Delete Success" },
7573 { WORLD_RESULT_CHAR_DELETE_FAILED, "Char Delete Failed" },
7574 { WORLD_RESULT_CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER, "Char Delete Failed Locked For Transfer" },
7575 { WORLD_RESULT_CHAR_LOGIN_IN_PROGRESS, "Char Login In Progress" },
7576 { WORLD_RESULT_CHAR_LOGIN_SUCCESS, "Char Login Success" },
7577 { WORLD_RESULT_CHAR_LOGIN_NO_WORLD, "Char Login No World" },
7578 { WORLD_RESULT_CHAR_LOGIN_DUPLICATE_CHARACTER, "Char Login Duplicate Character" },
7579 { WORLD_RESULT_CHAR_LOGIN_NO_INSTANCES, "Char Login No Instances" },
7580 { WORLD_RESULT_CHAR_LOGIN_FAILED, "Char Login Failed" },
7581 { WORLD_RESULT_CHAR_LOGIN_DISABLED, "Char Login Disabled" },
7582 { WORLD_RESULT_CHAR_LOGIN_NO_CHARACTER, "Char Login No Character" },
7583 { WORLD_RESULT_CHAR_LOGIN_LOCKED_FOR_TRANSFER, "Char Login Locked For Transfer" },
7584 { WORLD_RESULT_CHAR_NAME_NO_NAME, "Char Name No Name" },
7585 { WORLD_RESULT_CHAR_NAME_TOO_SHORT, "Char Name Too Short" },
7586 { WORLD_RESULT_CHAR_NAME_TOO_LONG, "Char Name Too Long" },
7587 { WORLD_RESULT_CHAR_NAME_ONLY_LETTERS, "Char Name Only Letters" },
7588 { WORLD_RESULT_CHAR_NAME_MIXED_LANGUAGES, "Char Name Mixed Languages" },
7589 { WORLD_RESULT_CHAR_NAME_PROFANE, "Char Name Profane" },
7590 { WORLD_RESULT_CHAR_NAME_RESERVED, "Char Name Reserved" },
7591 { WORLD_RESULT_CHAR_NAME_INVALID_APOSTROPHE, "Char Name Invalid Apostrophe" },
7592 { WORLD_RESULT_CHAR_NAME_MULTIPLE_APOSTROPHES, "Char Name Multiple Apostrophes" },
7593 { WORLD_RESULT_CHAR_NAME_THREE_CONSECUTIVE, "Char Name Three Consecutive" },
7594 { WORLD_RESULT_CHAR_NAME_INVALID_SPACE, "Char Name Invalid Space" },
7595 { WORLD_RESULT_CHAR_NAME_SUCCESS, "Char Name Success" },
7596 { WORLD_RESULT_CHAR_NAME_FAILURE, "Char Name Failure" },
7597 { 0, NULL }
7600 typedef enum {
7601 BATTLEGROUND_BRACKET_TENS = 0x0,
7602 BATTLEGROUND_BRACKET_TWENTIES = 0x1,
7603 BATTLEGROUND_BRACKET_THIRTIES = 0x2,
7604 BATTLEGROUND_BRACKET_FORTIES = 0x3,
7605 BATTLEGROUND_BRACKET_FIFTIES = 0x4,
7606 BATTLEGROUND_BRACKET_SIXTY = 0x5,
7607 } e_battleground_bracket;
7608 static const value_string e_battleground_bracket_strings[] = {
7609 { BATTLEGROUND_BRACKET_TENS, "Tens" },
7610 { BATTLEGROUND_BRACKET_TWENTIES, "Twenties" },
7611 { BATTLEGROUND_BRACKET_THIRTIES, "Thirties" },
7612 { BATTLEGROUND_BRACKET_FORTIES, "Forties" },
7613 { BATTLEGROUND_BRACKET_FIFTIES, "Fifties" },
7614 { BATTLEGROUND_BRACKET_SIXTY, "Sixty" },
7615 { 0, NULL }
7618 typedef enum {
7619 STATUS_ID_NONE = 0x0,
7620 STATUS_ID_WAIT_QUEUE = 0x1,
7621 STATUS_ID_WAIT_JOIN = 0x2,
7622 STATUS_ID_IN_PROGRESS = 0x3,
7623 STATUS_ID_WAIT_LEAVE = 0x4,
7624 } e_status_id;
7625 static const value_string e_status_id_strings[] = {
7626 { STATUS_ID_NONE, "None" },
7627 { STATUS_ID_WAIT_QUEUE, "Wait Queue" },
7628 { STATUS_ID_WAIT_JOIN, "Wait Join" },
7629 { STATUS_ID_IN_PROGRESS, "In Progress" },
7630 { STATUS_ID_WAIT_LEAVE, "Wait Leave" },
7631 { 0, NULL }
7634 typedef enum {
7635 BUY_BANK_SLOT_RESULT_FAILED_TOO_MANY = 0x0,
7636 BUY_BANK_SLOT_RESULT_INSUFFICIENT_FUNDS = 0x1,
7637 BUY_BANK_SLOT_RESULT_NOT_BANKER = 0x2,
7638 BUY_BANK_SLOT_RESULT_OK = 0x3,
7639 } e_buy_bank_slot_result;
7640 static const value_string e_buy_bank_slot_result_strings[] = {
7641 { BUY_BANK_SLOT_RESULT_FAILED_TOO_MANY, "Failed Too Many" },
7642 { BUY_BANK_SLOT_RESULT_INSUFFICIENT_FUNDS, "Insufficient Funds" },
7643 { BUY_BANK_SLOT_RESULT_NOT_BANKER, "Not Banker" },
7644 { BUY_BANK_SLOT_RESULT_OK, "Ok" },
7645 { 0, NULL }
7648 typedef enum {
7649 BUY_RESULT_CANT_FIND_ITEM = 0x0,
7650 BUY_RESULT_ITEM_ALREADY_SOLD = 0x1,
7651 BUY_RESULT_NOT_ENOUGH_MONEY = 0x2,
7652 BUY_RESULT_SELLER_DONT_LIKE_YOU = 0x4,
7653 BUY_RESULT_DISTANCE_TOO_FAR = 0x5,
7654 BUY_RESULT_ITEM_SOLD_OUT = 0x7,
7655 BUY_RESULT_CANT_CARRY_MORE = 0x8,
7656 BUY_RESULT_RANK_REQUIRE = 0xB,
7657 BUY_RESULT_REPUTATION_REQUIRE = 0xC,
7658 } e_buy_result;
7659 static const value_string e_buy_result_strings[] = {
7660 { BUY_RESULT_CANT_FIND_ITEM, "Cant Find Item" },
7661 { BUY_RESULT_ITEM_ALREADY_SOLD, "Item Already Sold" },
7662 { BUY_RESULT_NOT_ENOUGH_MONEY, "Not Enough Money" },
7663 { BUY_RESULT_SELLER_DONT_LIKE_YOU, "Seller Dont Like You" },
7664 { BUY_RESULT_DISTANCE_TOO_FAR, "Distance Too Far" },
7665 { BUY_RESULT_ITEM_SOLD_OUT, "Item Sold Out" },
7666 { BUY_RESULT_CANT_CARRY_MORE, "Cant Carry More" },
7667 { BUY_RESULT_RANK_REQUIRE, "Rank Require" },
7668 { BUY_RESULT_REPUTATION_REQUIRE, "Reputation Require" },
7669 { 0, NULL }
7672 typedef enum {
7673 SIMPLE_SPELL_CAST_RESULT_SUCCESS = 0x0,
7674 SIMPLE_SPELL_CAST_RESULT_FAILURE = 0x2,
7675 } e_simple_spell_cast_result;
7676 static const value_string e_simple_spell_cast_result_strings[] = {
7677 { SIMPLE_SPELL_CAST_RESULT_SUCCESS, "Success" },
7678 { SIMPLE_SPELL_CAST_RESULT_FAILURE, "Failure" },
7679 { 0, NULL }
7682 typedef enum {
7683 CAST_FAILURE_REASON_AFFECTING_COMBAT = 0x00,
7684 CAST_FAILURE_REASON_ALREADY_AT_FULL_HEALTH = 0x01,
7685 CAST_FAILURE_REASON_ALREADY_AT_FULL_POWER = 0x02,
7686 CAST_FAILURE_REASON_ALREADY_BEING_TAMED = 0x03,
7687 CAST_FAILURE_REASON_ALREADY_HAVE_CHARM = 0x04,
7688 CAST_FAILURE_REASON_ALREADY_HAVE_SUMMON = 0x05,
7689 CAST_FAILURE_REASON_ALREADY_OPEN = 0x06,
7690 CAST_FAILURE_REASON_AURA_BOUNCED = 0x07,
7691 CAST_FAILURE_REASON_AUTOTRACK_INTERRUPTED = 0x08,
7692 CAST_FAILURE_REASON_BAD_IMPLICIT_TARGETS = 0x09,
7693 CAST_FAILURE_REASON_BAD_TARGETS = 0x0A,
7694 CAST_FAILURE_REASON_CANT_BE_CHARMED = 0x0B,
7695 CAST_FAILURE_REASON_CANT_BE_DISENCHANTED = 0x0C,
7696 CAST_FAILURE_REASON_CANT_BE_PROSPECTED = 0x0D,
7697 CAST_FAILURE_REASON_CANT_CAST_ON_TAPPED = 0x0E,
7698 CAST_FAILURE_REASON_CANT_DUEL_WHILE_INVISIBLE = 0x0F,
7699 CAST_FAILURE_REASON_CANT_DUEL_WHILE_STEALTHED = 0x10,
7700 CAST_FAILURE_REASON_CANT_STEALTH = 0x11,
7701 CAST_FAILURE_REASON_CASTER_AURASTATE = 0x12,
7702 CAST_FAILURE_REASON_CASTER_DEAD = 0x13,
7703 CAST_FAILURE_REASON_CHARMED = 0x14,
7704 CAST_FAILURE_REASON_CHEST_IN_USE = 0x15,
7705 CAST_FAILURE_REASON_CONFUSED = 0x16,
7706 CAST_FAILURE_REASON_DONT_REPORT = 0x17,
7707 CAST_FAILURE_REASON_EQUIPPED_ITEM = 0x18,
7708 CAST_FAILURE_REASON_EQUIPPED_ITEM_CLASS = 0x19,
7709 CAST_FAILURE_REASON_EQUIPPED_ITEM_CLASS_MAINHAND = 0x1A,
7710 CAST_FAILURE_REASON_EQUIPPED_ITEM_CLASS_OFFHAND = 0x1B,
7711 CAST_FAILURE_REASON_ERROR = 0x1C,
7712 CAST_FAILURE_REASON_FIZZLE = 0x1D,
7713 CAST_FAILURE_REASON_FLEEING = 0x1E,
7714 CAST_FAILURE_REASON_FOOD_LOWLEVEL = 0x1F,
7715 CAST_FAILURE_REASON_HIGHLEVEL = 0x20,
7716 CAST_FAILURE_REASON_HUNGER_SATIATED = 0x21,
7717 CAST_FAILURE_REASON_IMMUNE = 0x22,
7718 CAST_FAILURE_REASON_INTERRUPTED = 0x23,
7719 CAST_FAILURE_REASON_INTERRUPTED_COMBAT = 0x24,
7720 CAST_FAILURE_REASON_ITEM_ALREADY_ENCHANTED = 0x25,
7721 CAST_FAILURE_REASON_ITEM_GONE = 0x26,
7722 CAST_FAILURE_REASON_ITEM_NOT_FOUND = 0x27,
7723 CAST_FAILURE_REASON_ITEM_NOT_READY = 0x28,
7724 CAST_FAILURE_REASON_LEVEL_REQUIREMENT = 0x29,
7725 CAST_FAILURE_REASON_LINE_OF_SIGHT = 0x2A,
7726 CAST_FAILURE_REASON_LOWLEVEL = 0x2B,
7727 CAST_FAILURE_REASON_LOW_CASTLEVEL = 0x2C,
7728 CAST_FAILURE_REASON_MAINHAND_EMPTY = 0x2D,
7729 CAST_FAILURE_REASON_MOVING = 0x2E,
7730 CAST_FAILURE_REASON_NEED_AMMO = 0x2F,
7731 CAST_FAILURE_REASON_NEED_AMMO_POUCH = 0x30,
7732 CAST_FAILURE_REASON_NEED_EXOTIC_AMMO = 0x31,
7733 CAST_FAILURE_REASON_NOPATH = 0x32,
7734 CAST_FAILURE_REASON_NOT_BEHIND = 0x33,
7735 CAST_FAILURE_REASON_NOT_FISHABLE = 0x34,
7736 CAST_FAILURE_REASON_NOT_HERE = 0x35,
7737 CAST_FAILURE_REASON_NOT_INFRONT = 0x36,
7738 CAST_FAILURE_REASON_NOT_IN_CONTROL = 0x37,
7739 CAST_FAILURE_REASON_NOT_KNOWN = 0x38,
7740 CAST_FAILURE_REASON_NOT_MOUNTED = 0x39,
7741 CAST_FAILURE_REASON_NOT_ON_TAXI = 0x3A,
7742 CAST_FAILURE_REASON_NOT_ON_TRANSPORT = 0x3B,
7743 CAST_FAILURE_REASON_NOT_READY = 0x3C,
7744 CAST_FAILURE_REASON_NOT_SHAPESHIFT = 0x3D,
7745 CAST_FAILURE_REASON_NOT_STANDING = 0x3E,
7746 CAST_FAILURE_REASON_NOT_TRADEABLE = 0x3F,
7747 CAST_FAILURE_REASON_NOT_TRADING = 0x40,
7748 CAST_FAILURE_REASON_NOT_UNSHEATHED = 0x41,
7749 CAST_FAILURE_REASON_NOT_WHILE_GHOST = 0x42,
7750 CAST_FAILURE_REASON_NO_AMMO = 0x43,
7751 CAST_FAILURE_REASON_NO_CHARGES_REMAIN = 0x44,
7752 CAST_FAILURE_REASON_NO_CHAMPION = 0x45,
7753 CAST_FAILURE_REASON_NO_COMBO_POINTS = 0x46,
7754 CAST_FAILURE_REASON_NO_DUELING = 0x47,
7755 CAST_FAILURE_REASON_NO_ENDURANCE = 0x48,
7756 CAST_FAILURE_REASON_NO_FISH = 0x49,
7757 CAST_FAILURE_REASON_NO_ITEMS_WHILE_SHAPESHIFTED = 0x4A,
7758 CAST_FAILURE_REASON_NO_MOUNTS_ALLOWED = 0x4B,
7759 CAST_FAILURE_REASON_NO_PET = 0x4C,
7760 CAST_FAILURE_REASON_NO_POWER = 0x4D,
7761 CAST_FAILURE_REASON_NOTHING_TO_DISPEL = 0x4E,
7762 CAST_FAILURE_REASON_NOTHING_TO_STEAL = 0x4F,
7763 CAST_FAILURE_REASON_ONLY_ABOVEWATER = 0x50,
7764 CAST_FAILURE_REASON_ONLY_DAYTIME = 0x51,
7765 CAST_FAILURE_REASON_ONLY_INDOORS = 0x52,
7766 CAST_FAILURE_REASON_ONLY_MOUNTED = 0x53,
7767 CAST_FAILURE_REASON_ONLY_NIGHTTIME = 0x54,
7768 CAST_FAILURE_REASON_ONLY_OUTDOORS = 0x55,
7769 CAST_FAILURE_REASON_ONLY_SHAPESHIFT = 0x56,
7770 CAST_FAILURE_REASON_ONLY_STEALTHED = 0x57,
7771 CAST_FAILURE_REASON_ONLY_UNDERWATER = 0x58,
7772 CAST_FAILURE_REASON_OUT_OF_RANGE = 0x59,
7773 CAST_FAILURE_REASON_PACIFIED = 0x5A,
7774 CAST_FAILURE_REASON_POSSESSED = 0x5B,
7775 CAST_FAILURE_REASON_REAGENTS = 0x5C,
7776 CAST_FAILURE_REASON_REQUIRES_AREA = 0x5D,
7777 CAST_FAILURE_REASON_REQUIRES_SPELL_FOCUS = 0x5E,
7778 CAST_FAILURE_REASON_ROOTED = 0x5F,
7779 CAST_FAILURE_REASON_SILENCED = 0x60,
7780 CAST_FAILURE_REASON_SPELL_IN_PROGRESS = 0x61,
7781 CAST_FAILURE_REASON_SPELL_LEARNED = 0x62,
7782 CAST_FAILURE_REASON_SPELL_UNAVAILABLE = 0x63,
7783 CAST_FAILURE_REASON_STUNNED = 0x64,
7784 CAST_FAILURE_REASON_TARGETS_DEAD = 0x65,
7785 CAST_FAILURE_REASON_TARGET_AFFECTING_COMBAT = 0x66,
7786 CAST_FAILURE_REASON_TARGET_AURASTATE = 0x67,
7787 CAST_FAILURE_REASON_TARGET_DUELING = 0x68,
7788 CAST_FAILURE_REASON_TARGET_ENEMY = 0x69,
7789 CAST_FAILURE_REASON_TARGET_ENRAGED = 0x6A,
7790 CAST_FAILURE_REASON_TARGET_FRIENDLY = 0x6B,
7791 CAST_FAILURE_REASON_TARGET_IN_COMBAT = 0x6C,
7792 CAST_FAILURE_REASON_TARGET_IS_PLAYER = 0x6D,
7793 CAST_FAILURE_REASON_TARGET_NOT_DEAD = 0x6E,
7794 CAST_FAILURE_REASON_TARGET_NOT_IN_PARTY = 0x6F,
7795 CAST_FAILURE_REASON_TARGET_NOT_LOOTED = 0x70,
7796 CAST_FAILURE_REASON_TARGET_NOT_PLAYER = 0x71,
7797 CAST_FAILURE_REASON_TARGET_NO_POCKETS = 0x72,
7798 CAST_FAILURE_REASON_TARGET_NO_WEAPONS = 0x73,
7799 CAST_FAILURE_REASON_TARGET_UNSKINNABLE = 0x74,
7800 CAST_FAILURE_REASON_THIRST_SATIATED = 0x75,
7801 CAST_FAILURE_REASON_TOO_CLOSE = 0x76,
7802 CAST_FAILURE_REASON_TOO_MANY_OF_ITEM = 0x77,
7803 CAST_FAILURE_REASON_TOTEMS = 0x78,
7804 CAST_FAILURE_REASON_TRAINING_POINTS = 0x79,
7805 CAST_FAILURE_REASON_TRY_AGAIN = 0x7A,
7806 CAST_FAILURE_REASON_UNIT_NOT_BEHIND = 0x7B,
7807 CAST_FAILURE_REASON_UNIT_NOT_INFRONT = 0x7C,
7808 CAST_FAILURE_REASON_WRONG_PET_FOOD = 0x7D,
7809 CAST_FAILURE_REASON_NOT_WHILE_FATIGUED = 0x7E,
7810 CAST_FAILURE_REASON_TARGET_NOT_IN_INSTANCE = 0x7F,
7811 CAST_FAILURE_REASON_NOT_WHILE_TRADING = 0x80,
7812 CAST_FAILURE_REASON_TARGET_NOT_IN_RAID = 0x81,
7813 CAST_FAILURE_REASON_DISENCHANT_WHILE_LOOTING = 0x82,
7814 CAST_FAILURE_REASON_PROSPECT_WHILE_LOOTING = 0x83,
7815 CAST_FAILURE_REASON_PROSPECT_NEED_MORE = 0x84,
7816 CAST_FAILURE_REASON_TARGET_FREEFORALL = 0x85,
7817 CAST_FAILURE_REASON_NO_EDIBLE_CORPSES = 0x86,
7818 CAST_FAILURE_REASON_ONLY_BATTLEGROUNDS = 0x87,
7819 CAST_FAILURE_REASON_TARGET_NOT_GHOST = 0x88,
7820 CAST_FAILURE_REASON_TOO_MANY_SKILLS = 0x89,
7821 CAST_FAILURE_REASON_TRANSFORM_UNUSABLE = 0x8A,
7822 CAST_FAILURE_REASON_WRONG_WEATHER = 0x8B,
7823 CAST_FAILURE_REASON_DAMAGE_IMMUNE = 0x8C,
7824 CAST_FAILURE_REASON_PREVENTED_BY_MECHANIC = 0x8D,
7825 CAST_FAILURE_REASON_PLAY_TIME = 0x8E,
7826 CAST_FAILURE_REASON_REPUTATION = 0x8F,
7827 CAST_FAILURE_REASON_MIN_SKILL = 0x90,
7828 CAST_FAILURE_REASON_UNKNOWN = 0x91,
7829 } e_cast_failure_reason;
7830 static const value_string e_cast_failure_reason_strings[] = {
7831 { CAST_FAILURE_REASON_AFFECTING_COMBAT, "Affecting Combat" },
7832 { CAST_FAILURE_REASON_ALREADY_AT_FULL_HEALTH, "Already At Full Health" },
7833 { CAST_FAILURE_REASON_ALREADY_AT_FULL_POWER, "Already At Full Power" },
7834 { CAST_FAILURE_REASON_ALREADY_BEING_TAMED, "Already Being Tamed" },
7835 { CAST_FAILURE_REASON_ALREADY_HAVE_CHARM, "Already Have Charm" },
7836 { CAST_FAILURE_REASON_ALREADY_HAVE_SUMMON, "Already Have Summon" },
7837 { CAST_FAILURE_REASON_ALREADY_OPEN, "Already Open" },
7838 { CAST_FAILURE_REASON_AURA_BOUNCED, "Aura Bounced" },
7839 { CAST_FAILURE_REASON_AUTOTRACK_INTERRUPTED, "Autotrack Interrupted" },
7840 { CAST_FAILURE_REASON_BAD_IMPLICIT_TARGETS, "Bad Implicit Targets" },
7841 { CAST_FAILURE_REASON_BAD_TARGETS, "Bad Targets" },
7842 { CAST_FAILURE_REASON_CANT_BE_CHARMED, "Cant Be Charmed" },
7843 { CAST_FAILURE_REASON_CANT_BE_DISENCHANTED, "Cant Be Disenchanted" },
7844 { CAST_FAILURE_REASON_CANT_BE_PROSPECTED, "Cant Be Prospected" },
7845 { CAST_FAILURE_REASON_CANT_CAST_ON_TAPPED, "Cant Cast On Tapped" },
7846 { CAST_FAILURE_REASON_CANT_DUEL_WHILE_INVISIBLE, "Cant Duel While Invisible" },
7847 { CAST_FAILURE_REASON_CANT_DUEL_WHILE_STEALTHED, "Cant Duel While Stealthed" },
7848 { CAST_FAILURE_REASON_CANT_STEALTH, "Cant Stealth" },
7849 { CAST_FAILURE_REASON_CASTER_AURASTATE, "Caster Aurastate" },
7850 { CAST_FAILURE_REASON_CASTER_DEAD, "Caster Dead" },
7851 { CAST_FAILURE_REASON_CHARMED, "Charmed" },
7852 { CAST_FAILURE_REASON_CHEST_IN_USE, "Chest In Use" },
7853 { CAST_FAILURE_REASON_CONFUSED, "Confused" },
7854 { CAST_FAILURE_REASON_DONT_REPORT, "Dont Report" },
7855 { CAST_FAILURE_REASON_EQUIPPED_ITEM, "Equipped Item" },
7856 { CAST_FAILURE_REASON_EQUIPPED_ITEM_CLASS, "Equipped Item Class" },
7857 { CAST_FAILURE_REASON_EQUIPPED_ITEM_CLASS_MAINHAND, "Equipped Item Class Mainhand" },
7858 { CAST_FAILURE_REASON_EQUIPPED_ITEM_CLASS_OFFHAND, "Equipped Item Class Offhand" },
7859 { CAST_FAILURE_REASON_ERROR, "Error" },
7860 { CAST_FAILURE_REASON_FIZZLE, "Fizzle" },
7861 { CAST_FAILURE_REASON_FLEEING, "Fleeing" },
7862 { CAST_FAILURE_REASON_FOOD_LOWLEVEL, "Food Lowlevel" },
7863 { CAST_FAILURE_REASON_HIGHLEVEL, "Highlevel" },
7864 { CAST_FAILURE_REASON_HUNGER_SATIATED, "Hunger Satiated" },
7865 { CAST_FAILURE_REASON_IMMUNE, "Immune" },
7866 { CAST_FAILURE_REASON_INTERRUPTED, "Interrupted" },
7867 { CAST_FAILURE_REASON_INTERRUPTED_COMBAT, "Interrupted Combat" },
7868 { CAST_FAILURE_REASON_ITEM_ALREADY_ENCHANTED, "Item Already Enchanted" },
7869 { CAST_FAILURE_REASON_ITEM_GONE, "Item Gone" },
7870 { CAST_FAILURE_REASON_ITEM_NOT_FOUND, "Item Not Found" },
7871 { CAST_FAILURE_REASON_ITEM_NOT_READY, "Item Not Ready" },
7872 { CAST_FAILURE_REASON_LEVEL_REQUIREMENT, "Level Requirement" },
7873 { CAST_FAILURE_REASON_LINE_OF_SIGHT, "Line Of Sight" },
7874 { CAST_FAILURE_REASON_LOWLEVEL, "Lowlevel" },
7875 { CAST_FAILURE_REASON_LOW_CASTLEVEL, "Low Castlevel" },
7876 { CAST_FAILURE_REASON_MAINHAND_EMPTY, "Mainhand Empty" },
7877 { CAST_FAILURE_REASON_MOVING, "Moving" },
7878 { CAST_FAILURE_REASON_NEED_AMMO, "Need Ammo" },
7879 { CAST_FAILURE_REASON_NEED_AMMO_POUCH, "Need Ammo Pouch" },
7880 { CAST_FAILURE_REASON_NEED_EXOTIC_AMMO, "Need Exotic Ammo" },
7881 { CAST_FAILURE_REASON_NOPATH, "Nopath" },
7882 { CAST_FAILURE_REASON_NOT_BEHIND, "Not Behind" },
7883 { CAST_FAILURE_REASON_NOT_FISHABLE, "Not Fishable" },
7884 { CAST_FAILURE_REASON_NOT_HERE, "Not Here" },
7885 { CAST_FAILURE_REASON_NOT_INFRONT, "Not Infront" },
7886 { CAST_FAILURE_REASON_NOT_IN_CONTROL, "Not In Control" },
7887 { CAST_FAILURE_REASON_NOT_KNOWN, "Not Known" },
7888 { CAST_FAILURE_REASON_NOT_MOUNTED, "Not Mounted" },
7889 { CAST_FAILURE_REASON_NOT_ON_TAXI, "Not On Taxi" },
7890 { CAST_FAILURE_REASON_NOT_ON_TRANSPORT, "Not On Transport" },
7891 { CAST_FAILURE_REASON_NOT_READY, "Not Ready" },
7892 { CAST_FAILURE_REASON_NOT_SHAPESHIFT, "Not Shapeshift" },
7893 { CAST_FAILURE_REASON_NOT_STANDING, "Not Standing" },
7894 { CAST_FAILURE_REASON_NOT_TRADEABLE, "Not Tradeable" },
7895 { CAST_FAILURE_REASON_NOT_TRADING, "Not Trading" },
7896 { CAST_FAILURE_REASON_NOT_UNSHEATHED, "Not Unsheathed" },
7897 { CAST_FAILURE_REASON_NOT_WHILE_GHOST, "Not While Ghost" },
7898 { CAST_FAILURE_REASON_NO_AMMO, "No Ammo" },
7899 { CAST_FAILURE_REASON_NO_CHARGES_REMAIN, "No Charges Remain" },
7900 { CAST_FAILURE_REASON_NO_CHAMPION, "No Champion" },
7901 { CAST_FAILURE_REASON_NO_COMBO_POINTS, "No Combo Points" },
7902 { CAST_FAILURE_REASON_NO_DUELING, "No Dueling" },
7903 { CAST_FAILURE_REASON_NO_ENDURANCE, "No Endurance" },
7904 { CAST_FAILURE_REASON_NO_FISH, "No Fish" },
7905 { CAST_FAILURE_REASON_NO_ITEMS_WHILE_SHAPESHIFTED, "No Items While Shapeshifted" },
7906 { CAST_FAILURE_REASON_NO_MOUNTS_ALLOWED, "No Mounts Allowed" },
7907 { CAST_FAILURE_REASON_NO_PET, "No Pet" },
7908 { CAST_FAILURE_REASON_NO_POWER, "No Power" },
7909 { CAST_FAILURE_REASON_NOTHING_TO_DISPEL, "Nothing To Dispel" },
7910 { CAST_FAILURE_REASON_NOTHING_TO_STEAL, "Nothing To Steal" },
7911 { CAST_FAILURE_REASON_ONLY_ABOVEWATER, "Only Abovewater" },
7912 { CAST_FAILURE_REASON_ONLY_DAYTIME, "Only Daytime" },
7913 { CAST_FAILURE_REASON_ONLY_INDOORS, "Only Indoors" },
7914 { CAST_FAILURE_REASON_ONLY_MOUNTED, "Only Mounted" },
7915 { CAST_FAILURE_REASON_ONLY_NIGHTTIME, "Only Nighttime" },
7916 { CAST_FAILURE_REASON_ONLY_OUTDOORS, "Only Outdoors" },
7917 { CAST_FAILURE_REASON_ONLY_SHAPESHIFT, "Only Shapeshift" },
7918 { CAST_FAILURE_REASON_ONLY_STEALTHED, "Only Stealthed" },
7919 { CAST_FAILURE_REASON_ONLY_UNDERWATER, "Only Underwater" },
7920 { CAST_FAILURE_REASON_OUT_OF_RANGE, "Out Of Range" },
7921 { CAST_FAILURE_REASON_PACIFIED, "Pacified" },
7922 { CAST_FAILURE_REASON_POSSESSED, "Possessed" },
7923 { CAST_FAILURE_REASON_REAGENTS, "Reagents" },
7924 { CAST_FAILURE_REASON_REQUIRES_AREA, "Requires Area" },
7925 { CAST_FAILURE_REASON_REQUIRES_SPELL_FOCUS, "Requires Spell Focus" },
7926 { CAST_FAILURE_REASON_ROOTED, "Rooted" },
7927 { CAST_FAILURE_REASON_SILENCED, "Silenced" },
7928 { CAST_FAILURE_REASON_SPELL_IN_PROGRESS, "Spell In Progress" },
7929 { CAST_FAILURE_REASON_SPELL_LEARNED, "Spell Learned" },
7930 { CAST_FAILURE_REASON_SPELL_UNAVAILABLE, "Spell Unavailable" },
7931 { CAST_FAILURE_REASON_STUNNED, "Stunned" },
7932 { CAST_FAILURE_REASON_TARGETS_DEAD, "Targets Dead" },
7933 { CAST_FAILURE_REASON_TARGET_AFFECTING_COMBAT, "Target Affecting Combat" },
7934 { CAST_FAILURE_REASON_TARGET_AURASTATE, "Target Aurastate" },
7935 { CAST_FAILURE_REASON_TARGET_DUELING, "Target Dueling" },
7936 { CAST_FAILURE_REASON_TARGET_ENEMY, "Target Enemy" },
7937 { CAST_FAILURE_REASON_TARGET_ENRAGED, "Target Enraged" },
7938 { CAST_FAILURE_REASON_TARGET_FRIENDLY, "Target Friendly" },
7939 { CAST_FAILURE_REASON_TARGET_IN_COMBAT, "Target In Combat" },
7940 { CAST_FAILURE_REASON_TARGET_IS_PLAYER, "Target Is Player" },
7941 { CAST_FAILURE_REASON_TARGET_NOT_DEAD, "Target Not Dead" },
7942 { CAST_FAILURE_REASON_TARGET_NOT_IN_PARTY, "Target Not In Party" },
7943 { CAST_FAILURE_REASON_TARGET_NOT_LOOTED, "Target Not Looted" },
7944 { CAST_FAILURE_REASON_TARGET_NOT_PLAYER, "Target Not Player" },
7945 { CAST_FAILURE_REASON_TARGET_NO_POCKETS, "Target No Pockets" },
7946 { CAST_FAILURE_REASON_TARGET_NO_WEAPONS, "Target No Weapons" },
7947 { CAST_FAILURE_REASON_TARGET_UNSKINNABLE, "Target Unskinnable" },
7948 { CAST_FAILURE_REASON_THIRST_SATIATED, "Thirst Satiated" },
7949 { CAST_FAILURE_REASON_TOO_CLOSE, "Too Close" },
7950 { CAST_FAILURE_REASON_TOO_MANY_OF_ITEM, "Too Many Of Item" },
7951 { CAST_FAILURE_REASON_TOTEMS, "Totems" },
7952 { CAST_FAILURE_REASON_TRAINING_POINTS, "Training Points" },
7953 { CAST_FAILURE_REASON_TRY_AGAIN, "Try Again" },
7954 { CAST_FAILURE_REASON_UNIT_NOT_BEHIND, "Unit Not Behind" },
7955 { CAST_FAILURE_REASON_UNIT_NOT_INFRONT, "Unit Not Infront" },
7956 { CAST_FAILURE_REASON_WRONG_PET_FOOD, "Wrong Pet Food" },
7957 { CAST_FAILURE_REASON_NOT_WHILE_FATIGUED, "Not While Fatigued" },
7958 { CAST_FAILURE_REASON_TARGET_NOT_IN_INSTANCE, "Target Not In Instance" },
7959 { CAST_FAILURE_REASON_NOT_WHILE_TRADING, "Not While Trading" },
7960 { CAST_FAILURE_REASON_TARGET_NOT_IN_RAID, "Target Not In Raid" },
7961 { CAST_FAILURE_REASON_DISENCHANT_WHILE_LOOTING, "Disenchant While Looting" },
7962 { CAST_FAILURE_REASON_PROSPECT_WHILE_LOOTING, "Prospect While Looting" },
7963 { CAST_FAILURE_REASON_PROSPECT_NEED_MORE, "Prospect Need More" },
7964 { CAST_FAILURE_REASON_TARGET_FREEFORALL, "Target Freeforall" },
7965 { CAST_FAILURE_REASON_NO_EDIBLE_CORPSES, "No Edible Corpses" },
7966 { CAST_FAILURE_REASON_ONLY_BATTLEGROUNDS, "Only Battlegrounds" },
7967 { CAST_FAILURE_REASON_TARGET_NOT_GHOST, "Target Not Ghost" },
7968 { CAST_FAILURE_REASON_TOO_MANY_SKILLS, "Too Many Skills" },
7969 { CAST_FAILURE_REASON_TRANSFORM_UNUSABLE, "Transform Unusable" },
7970 { CAST_FAILURE_REASON_WRONG_WEATHER, "Wrong Weather" },
7971 { CAST_FAILURE_REASON_DAMAGE_IMMUNE, "Damage Immune" },
7972 { CAST_FAILURE_REASON_PREVENTED_BY_MECHANIC, "Prevented By Mechanic" },
7973 { CAST_FAILURE_REASON_PLAY_TIME, "Play Time" },
7974 { CAST_FAILURE_REASON_REPUTATION, "Reputation" },
7975 { CAST_FAILURE_REASON_MIN_SKILL, "Min Skill" },
7976 { CAST_FAILURE_REASON_UNKNOWN, "Unknown" },
7977 { 0, NULL }
7980 typedef enum {
7981 CHAT_NOTIFY_JOINED_NOTICE = 0x00,
7982 CHAT_NOTIFY_LEFT_NOTICE = 0x01,
7983 CHAT_NOTIFY_YOU_JOINED_NOTICE = 0x02,
7984 CHAT_NOTIFY_YOU_LEFT_NOTICE = 0x03,
7985 CHAT_NOTIFY_WRONG_PASSWORD_NOTICE = 0x04,
7986 CHAT_NOTIFY_NOT_MEMBER_NOTICE = 0x05,
7987 CHAT_NOTIFY_NOT_MODERATOR_NOTICE = 0x06,
7988 CHAT_NOTIFY_PASSWORD_CHANGED_NOTICE = 0x07,
7989 CHAT_NOTIFY_OWNER_CHANGED_NOTICE = 0x08,
7990 CHAT_NOTIFY_PLAYER_NOT_FOUND_NOTICE = 0x09,
7991 CHAT_NOTIFY_NOT_OWNER_NOTICE = 0x0A,
7992 CHAT_NOTIFY_CHANNEL_OWNER_NOTICE = 0x0B,
7993 CHAT_NOTIFY_MODE_CHANGE_NOTICE = 0x0C,
7994 CHAT_NOTIFY_ANNOUNCEMENTS_ON_NOTICE = 0x0D,
7995 CHAT_NOTIFY_ANNOUNCEMENTS_OFF_NOTICE = 0x0E,
7996 CHAT_NOTIFY_MODERATION_ON_NOTICE = 0x0F,
7997 CHAT_NOTIFY_MODERATION_OFF_NOTICE = 0x10,
7998 CHAT_NOTIFY_MUTED_NOTICE = 0x11,
7999 CHAT_NOTIFY_PLAYER_KICKED_NOTICE = 0x12,
8000 CHAT_NOTIFY_BANNED_NOTICE = 0x13,
8001 CHAT_NOTIFY_PLAYER_BANNED_NOTICE = 0x14,
8002 CHAT_NOTIFY_PLAYER_UNBANNED_NOTICE = 0x15,
8003 CHAT_NOTIFY_PLAYER_NOT_BANNED_NOTICE = 0x16,
8004 CHAT_NOTIFY_PLAYER_ALREADY_MEMBER_NOTICE = 0x17,
8005 CHAT_NOTIFY_INVITE_NOTICE = 0x18,
8006 CHAT_NOTIFY_INVITE_WRONG_FACTION_NOTICE = 0x19,
8007 CHAT_NOTIFY_WRONG_FACTION_NOTICE = 0x1A,
8008 CHAT_NOTIFY_INVALID_NAME_NOTICE = 0x1B,
8009 CHAT_NOTIFY_NOT_MODERATED_NOTICE = 0x1C,
8010 CHAT_NOTIFY_PLAYER_INVITED_NOTICE = 0x1D,
8011 CHAT_NOTIFY_PLAYER_INVITE_BANNED_NOTICE = 0x1E,
8012 CHAT_NOTIFY_THROTTLED_NOTICE = 0x1F,
8013 } e_chat_notify;
8014 static const value_string e_chat_notify_strings[] = {
8015 { CHAT_NOTIFY_JOINED_NOTICE, "Joined Notice" },
8016 { CHAT_NOTIFY_LEFT_NOTICE, "Left Notice" },
8017 { CHAT_NOTIFY_YOU_JOINED_NOTICE, "You Joined Notice" },
8018 { CHAT_NOTIFY_YOU_LEFT_NOTICE, "You Left Notice" },
8019 { CHAT_NOTIFY_WRONG_PASSWORD_NOTICE, "Wrong Password Notice" },
8020 { CHAT_NOTIFY_NOT_MEMBER_NOTICE, "Not Member Notice" },
8021 { CHAT_NOTIFY_NOT_MODERATOR_NOTICE, "Not Moderator Notice" },
8022 { CHAT_NOTIFY_PASSWORD_CHANGED_NOTICE, "Password Changed Notice" },
8023 { CHAT_NOTIFY_OWNER_CHANGED_NOTICE, "Owner Changed Notice" },
8024 { CHAT_NOTIFY_PLAYER_NOT_FOUND_NOTICE, "Player Not Found Notice" },
8025 { CHAT_NOTIFY_NOT_OWNER_NOTICE, "Not Owner Notice" },
8026 { CHAT_NOTIFY_CHANNEL_OWNER_NOTICE, "Channel Owner Notice" },
8027 { CHAT_NOTIFY_MODE_CHANGE_NOTICE, "Mode Change Notice" },
8028 { CHAT_NOTIFY_ANNOUNCEMENTS_ON_NOTICE, "Announcements On Notice" },
8029 { CHAT_NOTIFY_ANNOUNCEMENTS_OFF_NOTICE, "Announcements Off Notice" },
8030 { CHAT_NOTIFY_MODERATION_ON_NOTICE, "Moderation On Notice" },
8031 { CHAT_NOTIFY_MODERATION_OFF_NOTICE, "Moderation Off Notice" },
8032 { CHAT_NOTIFY_MUTED_NOTICE, "Muted Notice" },
8033 { CHAT_NOTIFY_PLAYER_KICKED_NOTICE, "Player Kicked Notice" },
8034 { CHAT_NOTIFY_BANNED_NOTICE, "Banned Notice" },
8035 { CHAT_NOTIFY_PLAYER_BANNED_NOTICE, "Player Banned Notice" },
8036 { CHAT_NOTIFY_PLAYER_UNBANNED_NOTICE, "Player Unbanned Notice" },
8037 { CHAT_NOTIFY_PLAYER_NOT_BANNED_NOTICE, "Player Not Banned Notice" },
8038 { CHAT_NOTIFY_PLAYER_ALREADY_MEMBER_NOTICE, "Player Already Member Notice" },
8039 { CHAT_NOTIFY_INVITE_NOTICE, "Invite Notice" },
8040 { CHAT_NOTIFY_INVITE_WRONG_FACTION_NOTICE, "Invite Wrong Faction Notice" },
8041 { CHAT_NOTIFY_WRONG_FACTION_NOTICE, "Wrong Faction Notice" },
8042 { CHAT_NOTIFY_INVALID_NAME_NOTICE, "Invalid Name Notice" },
8043 { CHAT_NOTIFY_NOT_MODERATED_NOTICE, "Not Moderated Notice" },
8044 { CHAT_NOTIFY_PLAYER_INVITED_NOTICE, "Player Invited Notice" },
8045 { CHAT_NOTIFY_PLAYER_INVITE_BANNED_NOTICE, "Player Invite Banned Notice" },
8046 { CHAT_NOTIFY_THROTTLED_NOTICE, "Throttled Notice" },
8047 { 0, NULL }
8050 typedef enum {
8051 DISMOUNT_RESULT_NOT_MOUNTED = 0x1,
8052 DISMOUNT_RESULT_OK = 0x3,
8053 } e_dismount_result;
8054 static const value_string e_dismount_result_strings[] = {
8055 { DISMOUNT_RESULT_NOT_MOUNTED, "Not Mounted" },
8056 { DISMOUNT_RESULT_OK, "Ok" },
8057 { 0, NULL }
8060 typedef enum {
8061 DUEL_WINNER_REASON_WON = 0x0,
8062 DUEL_WINNER_REASON_FLED = 0x1,
8063 } e_duel_winner_reason;
8064 static const value_string e_duel_winner_reason_strings[] = {
8065 { DUEL_WINNER_REASON_WON, "Won" },
8066 { DUEL_WINNER_REASON_FLED, "Fled" },
8067 { 0, NULL }
8070 typedef enum {
8071 ENVIRONMENTAL_DAMAGE_TYPE_EXHAUSTED = 0x0,
8072 ENVIRONMENTAL_DAMAGE_TYPE_DROWNING = 0x1,
8073 ENVIRONMENTAL_DAMAGE_TYPE_FALL = 0x2,
8074 ENVIRONMENTAL_DAMAGE_TYPE_LAVA = 0x3,
8075 ENVIRONMENTAL_DAMAGE_TYPE_SLIME = 0x4,
8076 ENVIRONMENTAL_DAMAGE_TYPE_FIRE = 0x5,
8077 } e_environmental_damage_type;
8078 static const value_string e_environmental_damage_type_strings[] = {
8079 { ENVIRONMENTAL_DAMAGE_TYPE_EXHAUSTED, "Exhausted" },
8080 { ENVIRONMENTAL_DAMAGE_TYPE_DROWNING, "Drowning" },
8081 { ENVIRONMENTAL_DAMAGE_TYPE_FALL, "Fall" },
8082 { ENVIRONMENTAL_DAMAGE_TYPE_LAVA, "Lava" },
8083 { ENVIRONMENTAL_DAMAGE_TYPE_SLIME, "Slime" },
8084 { ENVIRONMENTAL_DAMAGE_TYPE_FIRE, "Fire" },
8085 { 0, NULL }
8088 typedef enum {
8089 FRIEND_RESULT_DB_ERROR = 0x00,
8090 FRIEND_RESULT_LIST_FULL = 0x01,
8091 FRIEND_RESULT_ONLINE = 0x02,
8092 FRIEND_RESULT_OFFLINE = 0x03,
8093 FRIEND_RESULT_NOT_FOUND = 0x04,
8094 FRIEND_RESULT_REMOVED = 0x05,
8095 FRIEND_RESULT_ADDED_ONLINE = 0x06,
8096 FRIEND_RESULT_ADDED_OFFLINE = 0x07,
8097 FRIEND_RESULT_ALREADY = 0x08,
8098 FRIEND_RESULT_SELF = 0x09,
8099 FRIEND_RESULT_ENEMY = 0x0A,
8100 FRIEND_RESULT_IGNORE_FULL = 0x0B,
8101 FRIEND_RESULT_IGNORE_SELF = 0x0C,
8102 FRIEND_RESULT_IGNORE_NOT_FOUND = 0x0D,
8103 FRIEND_RESULT_IGNORE_ALREADY = 0x0E,
8104 FRIEND_RESULT_IGNORE_ADDED = 0x0F,
8105 FRIEND_RESULT_IGNORE_REMOVED = 0x10,
8106 FRIEND_RESULT_IGNORE_AMBIGUOUS = 0x11,
8107 FRIEND_RESULT_MUTE_FULL = 0x12,
8108 FRIEND_RESULT_MUTE_SELF = 0x13,
8109 FRIEND_RESULT_MUTE_NOT_FOUND = 0x14,
8110 FRIEND_RESULT_MUTE_ALREADY = 0x15,
8111 FRIEND_RESULT_MUTE_ADDED = 0x16,
8112 FRIEND_RESULT_MUTE_REMOVED = 0x17,
8113 FRIEND_RESULT_MUTE_AMBIGUOUS = 0x18,
8114 FRIEND_RESULT_UNKNOWN19 = 0x19,
8115 FRIEND_RESULT_UNKNOWN20 = 0x1A,
8116 } e_friend_result;
8117 static const value_string e_friend_result_strings[] = {
8118 { FRIEND_RESULT_DB_ERROR, "Db Error" },
8119 { FRIEND_RESULT_LIST_FULL, "List Full" },
8120 { FRIEND_RESULT_ONLINE, "Online" },
8121 { FRIEND_RESULT_OFFLINE, "Offline" },
8122 { FRIEND_RESULT_NOT_FOUND, "Not Found" },
8123 { FRIEND_RESULT_REMOVED, "Removed" },
8124 { FRIEND_RESULT_ADDED_ONLINE, "Added Online" },
8125 { FRIEND_RESULT_ADDED_OFFLINE, "Added Offline" },
8126 { FRIEND_RESULT_ALREADY, "Already" },
8127 { FRIEND_RESULT_SELF, "Self" },
8128 { FRIEND_RESULT_ENEMY, "Enemy" },
8129 { FRIEND_RESULT_IGNORE_FULL, "Ignore Full" },
8130 { FRIEND_RESULT_IGNORE_SELF, "Ignore Self" },
8131 { FRIEND_RESULT_IGNORE_NOT_FOUND, "Ignore Not Found" },
8132 { FRIEND_RESULT_IGNORE_ALREADY, "Ignore Already" },
8133 { FRIEND_RESULT_IGNORE_ADDED, "Ignore Added" },
8134 { FRIEND_RESULT_IGNORE_REMOVED, "Ignore Removed" },
8135 { FRIEND_RESULT_IGNORE_AMBIGUOUS, "Ignore Ambiguous" },
8136 { FRIEND_RESULT_MUTE_FULL, "Mute Full" },
8137 { FRIEND_RESULT_MUTE_SELF, "Mute Self" },
8138 { FRIEND_RESULT_MUTE_NOT_FOUND, "Mute Not Found" },
8139 { FRIEND_RESULT_MUTE_ALREADY, "Mute Already" },
8140 { FRIEND_RESULT_MUTE_ADDED, "Mute Added" },
8141 { FRIEND_RESULT_MUTE_REMOVED, "Mute Removed" },
8142 { FRIEND_RESULT_MUTE_AMBIGUOUS, "Mute Ambiguous" },
8143 { FRIEND_RESULT_UNKNOWN19, "Unknown19" },
8144 { FRIEND_RESULT_UNKNOWN20, "Unknown20" },
8145 { 0, NULL }
8148 typedef enum {
8149 GM_TICKET_RESPONSE_NOT_EXIST = 0x0,
8150 GM_TICKET_RESPONSE_ALREADY_EXIST = 0x1,
8151 GM_TICKET_RESPONSE_CREATE_SUCCESS = 0x2,
8152 GM_TICKET_RESPONSE_CREATE_ERROR = 0x3,
8153 GM_TICKET_RESPONSE_UPDATE_SUCCESS = 0x4,
8154 GM_TICKET_RESPONSE_UPDATE_ERROR = 0x5,
8155 GM_TICKET_RESPONSE_TICKET_DELETED = 0x9,
8156 } e_gm_ticket_response;
8157 static const value_string e_gm_ticket_response_strings[] = {
8158 { GM_TICKET_RESPONSE_NOT_EXIST, "Not Exist" },
8159 { GM_TICKET_RESPONSE_ALREADY_EXIST, "Already Exist" },
8160 { GM_TICKET_RESPONSE_CREATE_SUCCESS, "Create Success" },
8161 { GM_TICKET_RESPONSE_CREATE_ERROR, "Create Error" },
8162 { GM_TICKET_RESPONSE_UPDATE_SUCCESS, "Update Success" },
8163 { GM_TICKET_RESPONSE_UPDATE_ERROR, "Update Error" },
8164 { GM_TICKET_RESPONSE_TICKET_DELETED, "Ticket Deleted" },
8165 { 0, NULL }
8168 typedef enum {
8169 GM_TICKET_STATUS_DB_ERROR = 0x0,
8170 GM_TICKET_STATUS_HAS_TEXT = 0x6,
8171 GM_TICKET_STATUS_DEFAULT = 0xA,
8172 } e_gm_ticket_status;
8173 static const value_string e_gm_ticket_status_strings[] = {
8174 { GM_TICKET_STATUS_DB_ERROR, "Db Error" },
8175 { GM_TICKET_STATUS_HAS_TEXT, "Has Text" },
8176 { GM_TICKET_STATUS_DEFAULT, "Default" },
8177 { 0, NULL }
8180 typedef enum {
8181 GM_TICKET_ESCALATION_STATUS_GMTICKET_ASSIGNEDTOGM_STATUS_NOT_ASSIGNED = 0x0,
8182 GM_TICKET_ESCALATION_STATUS_GMTICKET_ASSIGNEDTOGM_STATUS_ASSIGNED = 0x1,
8183 GM_TICKET_ESCALATION_STATUS_GMTICKET_ASSIGNEDTOGM_STATUS_ESCALATED = 0x2,
8184 } e_gm_ticket_escalation_status;
8185 static const value_string e_gm_ticket_escalation_status_strings[] = {
8186 { GM_TICKET_ESCALATION_STATUS_GMTICKET_ASSIGNEDTOGM_STATUS_NOT_ASSIGNED, "Gmticket Assignedtogm Status Not Assigned" },
8187 { GM_TICKET_ESCALATION_STATUS_GMTICKET_ASSIGNEDTOGM_STATUS_ASSIGNED, "Gmticket Assignedtogm Status Assigned" },
8188 { GM_TICKET_ESCALATION_STATUS_GMTICKET_ASSIGNEDTOGM_STATUS_ESCALATED, "Gmticket Assignedtogm Status Escalated" },
8189 { 0, NULL }
8192 typedef enum {
8193 GM_TICKET_QUEUE_STATUS_ENABLED = 0x1,
8194 GM_TICKET_QUEUE_STATUS_DISABLED = 0x0,
8195 } e_gm_ticket_queue_status;
8196 static const value_string e_gm_ticket_queue_status_strings[] = {
8197 { GM_TICKET_QUEUE_STATUS_ENABLED, "Enabled" },
8198 { GM_TICKET_QUEUE_STATUS_DISABLED, "Disabled" },
8199 { 0, NULL }
8202 typedef enum {
8203 GM_TICKET_STATUS_RESPONSE_UPDATED = 0x1,
8204 GM_TICKET_STATUS_RESPONSE_CLOSED = 0x2,
8205 GM_TICKET_STATUS_RESPONSE_SURVEY = 0x3,
8206 } e_gm_ticket_status_response;
8207 static const value_string e_gm_ticket_status_response_strings[] = {
8208 { GM_TICKET_STATUS_RESPONSE_UPDATED, "Updated" },
8209 { GM_TICKET_STATUS_RESPONSE_CLOSED, "Closed" },
8210 { GM_TICKET_STATUS_RESPONSE_SURVEY, "Survey" },
8211 { 0, NULL }
8214 typedef enum {
8215 BG_TYPE_ID_NOT_ELIGIBLE = 0x00000000,
8216 BG_TYPE_ID_QUEUED_FOR_AV = 0x00000001,
8217 BG_TYPE_ID_QUEUED_FOR_WSG = 0x00000002,
8218 BG_TYPE_ID_QUEUED_FOR_AB = 0x00000003,
8219 BG_TYPE_ID_REMOVE_FROM_QUEUE = -0x0000002,
8220 } e_bg_type_id;
8221 static const value_string e_bg_type_id_strings[] = {
8222 { BG_TYPE_ID_NOT_ELIGIBLE, "Not Eligible" },
8223 { BG_TYPE_ID_QUEUED_FOR_AV, "Queued For Av" },
8224 { BG_TYPE_ID_QUEUED_FOR_WSG, "Queued For Wsg" },
8225 { BG_TYPE_ID_QUEUED_FOR_AB, "Queued For Ab" },
8226 { BG_TYPE_ID_REMOVE_FROM_QUEUE, "Remove From Queue" },
8227 { 0, NULL }
8230 typedef enum {
8231 GROUP_TYPE_NORMAL = 0x0,
8232 GROUP_TYPE_RAID = 0x1,
8233 } e_group_type;
8234 static const value_string e_group_type_strings[] = {
8235 { GROUP_TYPE_NORMAL, "Normal" },
8236 { GROUP_TYPE_RAID, "Raid" },
8237 { 0, NULL }
8240 typedef enum {
8241 GUILD_COMMAND_CREATE = 0x00,
8242 GUILD_COMMAND_INVITE = 0x01,
8243 GUILD_COMMAND_QUIT = 0x03,
8244 GUILD_COMMAND_FOUNDER = 0x0E,
8245 GUILD_COMMAND_UNKNOWN19 = 0x13,
8246 GUILD_COMMAND_UNKNOWN20 = 0x14,
8247 } e_guild_command;
8248 static const value_string e_guild_command_strings[] = {
8249 { GUILD_COMMAND_CREATE, "Create" },
8250 { GUILD_COMMAND_INVITE, "Invite" },
8251 { GUILD_COMMAND_QUIT, "Quit" },
8252 { GUILD_COMMAND_FOUNDER, "Founder" },
8253 { GUILD_COMMAND_UNKNOWN19, "Unknown19" },
8254 { GUILD_COMMAND_UNKNOWN20, "Unknown20" },
8255 { 0, NULL }
8258 typedef enum {
8259 GUILD_COMMAND_RESULT_PLAYER_NO_MORE_IN_GUILD = 0x0,
8260 GUILD_COMMAND_RESULT_GUILD_INTERNAL = 0x1,
8261 GUILD_COMMAND_RESULT_ALREADY_IN_GUILD = 0x2,
8262 GUILD_COMMAND_RESULT_ALREADY_IN_GUILD_S = 0x3,
8263 GUILD_COMMAND_RESULT_INVITED_TO_GUILD = 0x4,
8264 GUILD_COMMAND_RESULT_ALREADY_INVITED_TO_GUILD_S = 0x5,
8265 GUILD_COMMAND_RESULT_GUILD_NAME_INVALID = 0x6,
8266 GUILD_COMMAND_RESULT_GUILD_NAME_EXISTS_S = 0x7,
8267 GUILD_COMMAND_RESULT_GUILD_PERMISSIONS_OR_LEADER = 0x8,
8268 GUILD_COMMAND_RESULT_GUILD_PLAYER_NOT_IN_GUILD = 0x9,
8269 GUILD_COMMAND_RESULT_GUILD_PLAYER_NOT_IN_GUILD_S = 0xA,
8270 GUILD_COMMAND_RESULT_GUILD_PLAYER_NOT_FOUND_S = 0xB,
8271 GUILD_COMMAND_RESULT_GUILD_NOT_ALLIED = 0xC,
8272 GUILD_COMMAND_RESULT_GUILD_RANK_TOO_HIGH_S = 0xD,
8273 GUILD_COMMAND_RESULT_GUILD_RANK_TOO_LOW_S = 0xE,
8274 } e_guild_command_result;
8275 static const value_string e_guild_command_result_strings[] = {
8276 { GUILD_COMMAND_RESULT_PLAYER_NO_MORE_IN_GUILD, "Player No More In Guild" },
8277 { GUILD_COMMAND_RESULT_GUILD_INTERNAL, "Guild Internal" },
8278 { GUILD_COMMAND_RESULT_ALREADY_IN_GUILD, "Already In Guild" },
8279 { GUILD_COMMAND_RESULT_ALREADY_IN_GUILD_S, "Already In Guild S" },
8280 { GUILD_COMMAND_RESULT_INVITED_TO_GUILD, "Invited To Guild" },
8281 { GUILD_COMMAND_RESULT_ALREADY_INVITED_TO_GUILD_S, "Already Invited To Guild S" },
8282 { GUILD_COMMAND_RESULT_GUILD_NAME_INVALID, "Guild Name Invalid" },
8283 { GUILD_COMMAND_RESULT_GUILD_NAME_EXISTS_S, "Guild Name Exists S" },
8284 { GUILD_COMMAND_RESULT_GUILD_PERMISSIONS_OR_LEADER, "Guild Permissions Or Leader" },
8285 { GUILD_COMMAND_RESULT_GUILD_PLAYER_NOT_IN_GUILD, "Guild Player Not In Guild" },
8286 { GUILD_COMMAND_RESULT_GUILD_PLAYER_NOT_IN_GUILD_S, "Guild Player Not In Guild S" },
8287 { GUILD_COMMAND_RESULT_GUILD_PLAYER_NOT_FOUND_S, "Guild Player Not Found S" },
8288 { GUILD_COMMAND_RESULT_GUILD_NOT_ALLIED, "Guild Not Allied" },
8289 { GUILD_COMMAND_RESULT_GUILD_RANK_TOO_HIGH_S, "Guild Rank Too High S" },
8290 { GUILD_COMMAND_RESULT_GUILD_RANK_TOO_LOW_S, "Guild Rank Too Low S" },
8291 { 0, NULL }
8294 typedef enum {
8295 GUILD_EVENT_PROMOTION = 0x0,
8296 GUILD_EVENT_DEMOTION = 0x1,
8297 GUILD_EVENT_MOTD = 0x2,
8298 GUILD_EVENT_JOINED = 0x3,
8299 GUILD_EVENT_LEFT = 0x4,
8300 GUILD_EVENT_REMOVED = 0x5,
8301 GUILD_EVENT_LEADER_IS = 0x6,
8302 GUILD_EVENT_LEADER_CHANGED = 0x7,
8303 GUILD_EVENT_DISBANDED = 0x8,
8304 GUILD_EVENT_TABARD_CHANGED = 0x9,
8305 GUILD_EVENT_UNKNOWN10 = 0xA,
8306 GUILD_EVENT_ROSTER_UPDATE = 0xB,
8307 GUILD_EVENT_SIGNED_ON = 0xC,
8308 GUILD_EVENT_SIGNED_OFF = 0xD,
8309 } e_guild_event;
8310 static const value_string e_guild_event_strings[] = {
8311 { GUILD_EVENT_PROMOTION, "Promotion" },
8312 { GUILD_EVENT_DEMOTION, "Demotion" },
8313 { GUILD_EVENT_MOTD, "Motd" },
8314 { GUILD_EVENT_JOINED, "Joined" },
8315 { GUILD_EVENT_LEFT, "Left" },
8316 { GUILD_EVENT_REMOVED, "Removed" },
8317 { GUILD_EVENT_LEADER_IS, "Leader Is" },
8318 { GUILD_EVENT_LEADER_CHANGED, "Leader Changed" },
8319 { GUILD_EVENT_DISBANDED, "Disbanded" },
8320 { GUILD_EVENT_TABARD_CHANGED, "Tabard Changed" },
8321 { GUILD_EVENT_UNKNOWN10, "Unknown10" },
8322 { GUILD_EVENT_ROSTER_UPDATE, "Roster Update" },
8323 { GUILD_EVENT_SIGNED_ON, "Signed On" },
8324 { GUILD_EVENT_SIGNED_OFF, "Signed Off" },
8325 { 0, NULL }
8328 typedef enum {
8329 INSTANCE_RESET_FAILED_REASON_GENERAL = 0x0,
8330 INSTANCE_RESET_FAILED_REASON_OFFLINE = 0x1,
8331 INSTANCE_RESET_FAILED_REASON_ZONING = 0x2,
8332 INSTANCE_RESET_FAILED_REASON_SILENTLY = 0x3,
8333 } e_instance_reset_failed_reason;
8334 static const value_string e_instance_reset_failed_reason_strings[] = {
8335 { INSTANCE_RESET_FAILED_REASON_GENERAL, "General" },
8336 { INSTANCE_RESET_FAILED_REASON_OFFLINE, "Offline" },
8337 { INSTANCE_RESET_FAILED_REASON_ZONING, "Zoning" },
8338 { INSTANCE_RESET_FAILED_REASON_SILENTLY, "Silently" },
8339 { 0, NULL }
8342 typedef enum {
8343 NEW_ITEM_SOURCE_LOOTED = 0x0,
8344 NEW_ITEM_SOURCE_FROM_NPC = 0x1,
8345 } e_new_item_source;
8346 static const value_string e_new_item_source_strings[] = {
8347 { NEW_ITEM_SOURCE_LOOTED, "Looted" },
8348 { NEW_ITEM_SOURCE_FROM_NPC, "From Npc" },
8349 { 0, NULL }
8352 typedef enum {
8353 NEW_ITEM_CREATION_TYPE_RECEIVED = 0x0,
8354 NEW_ITEM_CREATION_TYPE_CREATED = 0x1,
8355 } e_new_item_creation_type;
8356 static const value_string e_new_item_creation_type_strings[] = {
8357 { NEW_ITEM_CREATION_TYPE_RECEIVED, "Received" },
8358 { NEW_ITEM_CREATION_TYPE_CREATED, "Created" },
8359 { 0, NULL }
8362 typedef enum {
8363 NEW_ITEM_CHAT_ALERT_DO_NOT_SHOW = 0x0,
8364 NEW_ITEM_CHAT_ALERT_SHOW = 0x1,
8365 } e_new_item_chat_alert;
8366 static const value_string e_new_item_chat_alert_strings[] = {
8367 { NEW_ITEM_CHAT_ALERT_DO_NOT_SHOW, "Do Not Show" },
8368 { NEW_ITEM_CHAT_ALERT_SHOW, "Show" },
8369 { 0, NULL }
8372 typedef enum {
8373 ITEM_CLASS_AND_SUB_CLASS_CONSUMABLE = 0x0000000000,
8374 ITEM_CLASS_AND_SUB_CLASS_CHEESE_OR_BREAD_OBSOLETE = 0x0000000000,
8375 ITEM_CLASS_AND_SUB_CLASS_LIQUID_OBSOLETE = 0x0000000000,
8376 ITEM_CLASS_AND_SUB_CLASS_BAG = 0x0000000001,
8377 ITEM_CLASS_AND_SUB_CLASS_SOUL_BAG = 0x0000000001,
8378 ITEM_CLASS_AND_SUB_CLASS_HERB_BAG = 0x0000000001,
8379 ITEM_CLASS_AND_SUB_CLASS_ENCHANTING_BAG = 0x0000000001,
8380 ITEM_CLASS_AND_SUB_CLASS_ENGINEERING_BAG = 0x0000000001,
8381 ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_AXE = 0x0000000002,
8382 ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_AXE = 0x0000000002,
8383 ITEM_CLASS_AND_SUB_CLASS_BOW = 0x0000000002,
8384 ITEM_CLASS_AND_SUB_CLASS_GUN = 0x0000000002,
8385 ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_MACE = 0x0000000002,
8386 ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_MACE = 0x0000000002,
8387 ITEM_CLASS_AND_SUB_CLASS_POLEARM = 0x0000000002,
8388 ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_SWORD = 0x0000000002,
8389 ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_SWORD = 0x0000000002,
8390 ITEM_CLASS_AND_SUB_CLASS_OBSOLETE_WEAPON = 0x0000000002,
8391 ITEM_CLASS_AND_SUB_CLASS_STAFF = 0x0000000002,
8392 ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_EXOTIC = 0x0000000002,
8393 ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_EXOTIC = 0x0000000002,
8394 ITEM_CLASS_AND_SUB_CLASS_FIST_WEAPON = 0x0000000002,
8395 ITEM_CLASS_AND_SUB_CLASS_MISCELLANEOUS_WEAPON = 0x0000000002,
8396 ITEM_CLASS_AND_SUB_CLASS_DAGGER = 0x0000000002,
8397 ITEM_CLASS_AND_SUB_CLASS_THROWN = 0x0000000002,
8398 ITEM_CLASS_AND_SUB_CLASS_SPEAR = 0x0000000002,
8399 ITEM_CLASS_AND_SUB_CLASS_CROSSBOW = 0x0000000002,
8400 ITEM_CLASS_AND_SUB_CLASS_WAND = 0x0000000002,
8401 ITEM_CLASS_AND_SUB_CLASS_FISHING_POLE = 0x0000000002,
8402 ITEM_CLASS_AND_SUB_CLASS_JEWELRY_OBSOLETE = 0x0000000003,
8403 ITEM_CLASS_AND_SUB_CLASS_MISCELLANEOUS_ARMOR = 0x0000000004,
8404 ITEM_CLASS_AND_SUB_CLASS_CLOTH_ARMOR = 0x0000000004,
8405 ITEM_CLASS_AND_SUB_CLASS_LEATHER_ARMOR = 0x0000000004,
8406 ITEM_CLASS_AND_SUB_CLASS_MAIL_ARMOR = 0x0000000004,
8407 ITEM_CLASS_AND_SUB_CLASS_PLATE_ARMOR = 0x0000000004,
8408 ITEM_CLASS_AND_SUB_CLASS_BUCKLER_OBSOLETE = 0x0000000004,
8409 ITEM_CLASS_AND_SUB_CLASS_SHIELD = 0x0000000004,
8410 ITEM_CLASS_AND_SUB_CLASS_LIBRAM = 0x0000000004,
8411 ITEM_CLASS_AND_SUB_CLASS_IDOL = 0x0000000004,
8412 ITEM_CLASS_AND_SUB_CLASS_TOTEM = 0x0000000004,
8413 ITEM_CLASS_AND_SUB_CLASS_REAGENT = 0x0000000005,
8414 ITEM_CLASS_AND_SUB_CLASS_WAND_OBSOLETE = 0x0000000006,
8415 ITEM_CLASS_AND_SUB_CLASS_BOLT_OBSOLETE = 0x0000000006,
8416 ITEM_CLASS_AND_SUB_CLASS_ARROW = 0x0000000006,
8417 ITEM_CLASS_AND_SUB_CLASS_BULLET = 0x0000000006,
8418 ITEM_CLASS_AND_SUB_CLASS_THROWN_OBSOLETE = 0x0000000006,
8419 ITEM_CLASS_AND_SUB_CLASS_TRADE_GOOD = 0x0000000007,
8420 ITEM_CLASS_AND_SUB_CLASS_PART_TRADE_GOOD = 0x0000000007,
8421 ITEM_CLASS_AND_SUB_CLASS_EXPLOSIVE_TRADE_GOOD = 0x0000000007,
8422 ITEM_CLASS_AND_SUB_CLASS_DEVICE_TRADE_GOOD = 0x0000000007,
8423 ITEM_CLASS_AND_SUB_CLASS_GENERIC_OBSOLETE = 0x0000000008,
8424 ITEM_CLASS_AND_SUB_CLASS_BOOK = 0x0000000009,
8425 ITEM_CLASS_AND_SUB_CLASS_LEATHERWORKING_RECIPE = 0x0000000009,
8426 ITEM_CLASS_AND_SUB_CLASS_TAILORING_RECIPE = 0x0000000009,
8427 ITEM_CLASS_AND_SUB_CLASS_ENGINEERING_RECIPE = 0x0000000009,
8428 ITEM_CLASS_AND_SUB_CLASS_BLACKSMITHING_RECIPE = 0x0000000009,
8429 ITEM_CLASS_AND_SUB_CLASS_COOKING_RECIPE = 0x0000000009,
8430 ITEM_CLASS_AND_SUB_CLASS_ALCHEMY_RECIPE = 0x0000000009,
8431 ITEM_CLASS_AND_SUB_CLASS_FIRST_AID_RECIPE = 0x0000000009,
8432 ITEM_CLASS_AND_SUB_CLASS_ENCHANTING_RECIPE = 0x0000000009,
8433 ITEM_CLASS_AND_SUB_CLASS_FISHING_RECIPE = 0x0000000009,
8434 ITEM_CLASS_AND_SUB_CLASS_MONEY_OBSOLETE = 0x000000000A,
8435 ITEM_CLASS_AND_SUB_CLASS_QUIVER_OBSOLETE = 0x000000000B,
8436 ITEM_CLASS_AND_SUB_CLASS_QUIVER_OBSOLETE1 = 0x000000000B,
8437 ITEM_CLASS_AND_SUB_CLASS_QUIVER = 0x000000000B,
8438 ITEM_CLASS_AND_SUB_CLASS_AMMO_POUCH = 0x000000000B,
8439 ITEM_CLASS_AND_SUB_CLASS_QUEST = 0x000000000C,
8440 ITEM_CLASS_AND_SUB_CLASS_KEY = 0x000000000D,
8441 ITEM_CLASS_AND_SUB_CLASS_LOCKPICK = 0x000000000D,
8442 ITEM_CLASS_AND_SUB_CLASS_PERMANENT = 0x000000000E,
8443 ITEM_CLASS_AND_SUB_CLASS_JUNK = 0x000000000F,
8444 } e_item_class_and_sub_class;
8445 static const val64_string e_item_class_and_sub_class_strings[] = {
8446 { ITEM_CLASS_AND_SUB_CLASS_CONSUMABLE, "Consumable" },
8447 { ITEM_CLASS_AND_SUB_CLASS_CHEESE_OR_BREAD_OBSOLETE, "Cheese Or Bread Obsolete" },
8448 { ITEM_CLASS_AND_SUB_CLASS_LIQUID_OBSOLETE, "Liquid Obsolete" },
8449 { ITEM_CLASS_AND_SUB_CLASS_BAG, "Bag" },
8450 { ITEM_CLASS_AND_SUB_CLASS_SOUL_BAG, "Soul Bag" },
8451 { ITEM_CLASS_AND_SUB_CLASS_HERB_BAG, "Herb Bag" },
8452 { ITEM_CLASS_AND_SUB_CLASS_ENCHANTING_BAG, "Enchanting Bag" },
8453 { ITEM_CLASS_AND_SUB_CLASS_ENGINEERING_BAG, "Engineering Bag" },
8454 { ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_AXE, "One Handed Axe" },
8455 { ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_AXE, "Two Handed Axe" },
8456 { ITEM_CLASS_AND_SUB_CLASS_BOW, "Bow" },
8457 { ITEM_CLASS_AND_SUB_CLASS_GUN, "Gun" },
8458 { ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_MACE, "One Handed Mace" },
8459 { ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_MACE, "Two Handed Mace" },
8460 { ITEM_CLASS_AND_SUB_CLASS_POLEARM, "Polearm" },
8461 { ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_SWORD, "One Handed Sword" },
8462 { ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_SWORD, "Two Handed Sword" },
8463 { ITEM_CLASS_AND_SUB_CLASS_OBSOLETE_WEAPON, "Obsolete Weapon" },
8464 { ITEM_CLASS_AND_SUB_CLASS_STAFF, "Staff" },
8465 { ITEM_CLASS_AND_SUB_CLASS_ONE_HANDED_EXOTIC, "One Handed Exotic" },
8466 { ITEM_CLASS_AND_SUB_CLASS_TWO_HANDED_EXOTIC, "Two Handed Exotic" },
8467 { ITEM_CLASS_AND_SUB_CLASS_FIST_WEAPON, "Fist Weapon" },
8468 { ITEM_CLASS_AND_SUB_CLASS_MISCELLANEOUS_WEAPON, "Miscellaneous Weapon" },
8469 { ITEM_CLASS_AND_SUB_CLASS_DAGGER, "Dagger" },
8470 { ITEM_CLASS_AND_SUB_CLASS_THROWN, "Thrown" },
8471 { ITEM_CLASS_AND_SUB_CLASS_SPEAR, "Spear" },
8472 { ITEM_CLASS_AND_SUB_CLASS_CROSSBOW, "Crossbow" },
8473 { ITEM_CLASS_AND_SUB_CLASS_WAND, "Wand" },
8474 { ITEM_CLASS_AND_SUB_CLASS_FISHING_POLE, "Fishing Pole" },
8475 { ITEM_CLASS_AND_SUB_CLASS_JEWELRY_OBSOLETE, "Jewelry Obsolete" },
8476 { ITEM_CLASS_AND_SUB_CLASS_MISCELLANEOUS_ARMOR, "Miscellaneous Armor" },
8477 { ITEM_CLASS_AND_SUB_CLASS_CLOTH_ARMOR, "Cloth Armor" },
8478 { ITEM_CLASS_AND_SUB_CLASS_LEATHER_ARMOR, "Leather Armor" },
8479 { ITEM_CLASS_AND_SUB_CLASS_MAIL_ARMOR, "Mail Armor" },
8480 { ITEM_CLASS_AND_SUB_CLASS_PLATE_ARMOR, "Plate Armor" },
8481 { ITEM_CLASS_AND_SUB_CLASS_BUCKLER_OBSOLETE, "Buckler Obsolete" },
8482 { ITEM_CLASS_AND_SUB_CLASS_SHIELD, "Shield" },
8483 { ITEM_CLASS_AND_SUB_CLASS_LIBRAM, "Libram" },
8484 { ITEM_CLASS_AND_SUB_CLASS_IDOL, "Idol" },
8485 { ITEM_CLASS_AND_SUB_CLASS_TOTEM, "Totem" },
8486 { ITEM_CLASS_AND_SUB_CLASS_REAGENT, "Reagent" },
8487 { ITEM_CLASS_AND_SUB_CLASS_WAND_OBSOLETE, "Wand Obsolete" },
8488 { ITEM_CLASS_AND_SUB_CLASS_BOLT_OBSOLETE, "Bolt Obsolete" },
8489 { ITEM_CLASS_AND_SUB_CLASS_ARROW, "Arrow" },
8490 { ITEM_CLASS_AND_SUB_CLASS_BULLET, "Bullet" },
8491 { ITEM_CLASS_AND_SUB_CLASS_THROWN_OBSOLETE, "Thrown Obsolete" },
8492 { ITEM_CLASS_AND_SUB_CLASS_TRADE_GOOD, "Trade Good" },
8493 { ITEM_CLASS_AND_SUB_CLASS_PART_TRADE_GOOD, "Part Trade Good" },
8494 { ITEM_CLASS_AND_SUB_CLASS_EXPLOSIVE_TRADE_GOOD, "Explosive Trade Good" },
8495 { ITEM_CLASS_AND_SUB_CLASS_DEVICE_TRADE_GOOD, "Device Trade Good" },
8496 { ITEM_CLASS_AND_SUB_CLASS_GENERIC_OBSOLETE, "Generic Obsolete" },
8497 { ITEM_CLASS_AND_SUB_CLASS_BOOK, "Book" },
8498 { ITEM_CLASS_AND_SUB_CLASS_LEATHERWORKING_RECIPE, "Leatherworking Recipe" },
8499 { ITEM_CLASS_AND_SUB_CLASS_TAILORING_RECIPE, "Tailoring Recipe" },
8500 { ITEM_CLASS_AND_SUB_CLASS_ENGINEERING_RECIPE, "Engineering Recipe" },
8501 { ITEM_CLASS_AND_SUB_CLASS_BLACKSMITHING_RECIPE, "Blacksmithing Recipe" },
8502 { ITEM_CLASS_AND_SUB_CLASS_COOKING_RECIPE, "Cooking Recipe" },
8503 { ITEM_CLASS_AND_SUB_CLASS_ALCHEMY_RECIPE, "Alchemy Recipe" },
8504 { ITEM_CLASS_AND_SUB_CLASS_FIRST_AID_RECIPE, "First Aid Recipe" },
8505 { ITEM_CLASS_AND_SUB_CLASS_ENCHANTING_RECIPE, "Enchanting Recipe" },
8506 { ITEM_CLASS_AND_SUB_CLASS_FISHING_RECIPE, "Fishing Recipe" },
8507 { ITEM_CLASS_AND_SUB_CLASS_MONEY_OBSOLETE, "Money Obsolete" },
8508 { ITEM_CLASS_AND_SUB_CLASS_QUIVER_OBSOLETE, "Quiver Obsolete" },
8509 { ITEM_CLASS_AND_SUB_CLASS_QUIVER_OBSOLETE1, "Quiver Obsolete1" },
8510 { ITEM_CLASS_AND_SUB_CLASS_QUIVER, "Quiver" },
8511 { ITEM_CLASS_AND_SUB_CLASS_AMMO_POUCH, "Ammo Pouch" },
8512 { ITEM_CLASS_AND_SUB_CLASS_QUEST, "Quest" },
8513 { ITEM_CLASS_AND_SUB_CLASS_KEY, "Key" },
8514 { ITEM_CLASS_AND_SUB_CLASS_LOCKPICK, "Lockpick" },
8515 { ITEM_CLASS_AND_SUB_CLASS_PERMANENT, "Permanent" },
8516 { ITEM_CLASS_AND_SUB_CLASS_JUNK, "Junk" },
8517 { 0, NULL }
8520 typedef enum {
8521 BONDING_NO_BIND = 0x0,
8522 BONDING_PICK_UP = 0x1,
8523 BONDING_EQUIP = 0x2,
8524 BONDING_USE = 0x3,
8525 BONDING_QUEST_ITEM = 0x4,
8526 BONDING_QUEST_ITEM1 = 0x5,
8527 } e_bonding;
8528 static const value_string e_bonding_strings[] = {
8529 { BONDING_NO_BIND, "No Bind" },
8530 { BONDING_PICK_UP, "Pick Up" },
8531 { BONDING_EQUIP, "Equip" },
8532 { BONDING_USE, "Use" },
8533 { BONDING_QUEST_ITEM, "Quest Item" },
8534 { BONDING_QUEST_ITEM1, "Quest Item1" },
8535 { 0, NULL }
8538 typedef enum {
8539 PAGE_TEXT_MATERIAL_NONE = 0x0,
8540 PAGE_TEXT_MATERIAL_PARCHMENT = 0x1,
8541 PAGE_TEXT_MATERIAL_STONE = 0x2,
8542 PAGE_TEXT_MATERIAL_MARBLE = 0x3,
8543 PAGE_TEXT_MATERIAL_SILVER = 0x4,
8544 PAGE_TEXT_MATERIAL_BRONZE = 0x5,
8545 PAGE_TEXT_MATERIAL_VALENTINE = 0x6,
8546 } e_page_text_material;
8547 static const value_string e_page_text_material_strings[] = {
8548 { PAGE_TEXT_MATERIAL_NONE, "None" },
8549 { PAGE_TEXT_MATERIAL_PARCHMENT, "Parchment" },
8550 { PAGE_TEXT_MATERIAL_STONE, "Stone" },
8551 { PAGE_TEXT_MATERIAL_MARBLE, "Marble" },
8552 { PAGE_TEXT_MATERIAL_SILVER, "Silver" },
8553 { PAGE_TEXT_MATERIAL_BRONZE, "Bronze" },
8554 { PAGE_TEXT_MATERIAL_VALENTINE, "Valentine" },
8555 { 0, NULL }
8558 typedef enum {
8559 SHEATHE_TYPE_NONE = 0x0,
8560 SHEATHE_TYPE_MAIN_HAND = 0x1,
8561 SHEATHE_TYPE_OFF_HAND = 0x2,
8562 SHEATHE_TYPE_LARGE_WEAPON_LEFT = 0x3,
8563 SHEATHE_TYPE_LARGE_WEAPON_RIGHT = 0x4,
8564 SHEATHE_TYPE_HIP_WEAPON_LEFT = 0x5,
8565 SHEATHE_TYPE_HIP_WEAPON_RIGHT = 0x6,
8566 SHEATHE_TYPE_SHIELD = 0x7,
8567 } e_sheathe_type;
8568 static const value_string e_sheathe_type_strings[] = {
8569 { SHEATHE_TYPE_NONE, "None" },
8570 { SHEATHE_TYPE_MAIN_HAND, "Main Hand" },
8571 { SHEATHE_TYPE_OFF_HAND, "Off Hand" },
8572 { SHEATHE_TYPE_LARGE_WEAPON_LEFT, "Large Weapon Left" },
8573 { SHEATHE_TYPE_LARGE_WEAPON_RIGHT, "Large Weapon Right" },
8574 { SHEATHE_TYPE_HIP_WEAPON_LEFT, "Hip Weapon Left" },
8575 { SHEATHE_TYPE_HIP_WEAPON_RIGHT, "Hip Weapon Right" },
8576 { SHEATHE_TYPE_SHIELD, "Shield" },
8577 { 0, NULL }
8580 typedef enum {
8581 ITEM_SET_NONE = 0x000,
8582 ITEM_SET_THE_GLADIATOR = 0x001,
8583 ITEM_SET_DAL_RENDS_ARMS = 0x029,
8584 ITEM_SET_SPIDERS_KISS = 0x041,
8585 ITEM_SET_THE_POSTMASTER = 0x051,
8586 ITEM_SET_CADAVEROUS_GARB = 0x079,
8587 ITEM_SET_NECROPILE_RAIMENT = 0x07A,
8588 ITEM_SET_BLOODMAIL_REGALIA = 0x07B,
8589 ITEM_SET_DEATHBONE_GUARDIAN = 0x07C,
8590 ITEM_SET_VOLCANIC_ARMOR = 0x08D,
8591 ITEM_SET_STORMSHROUD_ARMOR = 0x08E,
8592 ITEM_SET_DEVILSAUR_ARMOR = 0x08F,
8593 ITEM_SET_IRONFEATHER_ARMOR = 0x090,
8594 ITEM_SET_DEFIAS_LEATHER = 0x0A1,
8595 ITEM_SET_EMBRACE_OF_THE_VIPER = 0x0A2,
8596 ITEM_SET_CHAIN_OF_THE_SCARLET_CRUSADE = 0x0A3,
8597 ITEM_SET_MAGISTERS_REGALIA = 0x0B5,
8598 ITEM_SET_VESTMENTS_OF_THE_DEVOUT = 0x0B6,
8599 ITEM_SET_DREADMIST_RAIMENT = 0x0B7,
8600 ITEM_SET_SHADOWCRAFT_ARMOR = 0x0B8,
8601 ITEM_SET_WILDHEART_RAIMENT = 0x0B9,
8602 ITEM_SET_BEASTSTALKER_ARMOR = 0x0BA,
8603 ITEM_SET_THE_ELEMENTS = 0x0BB,
8604 ITEM_SET_LIGHTFORGE_ARMOR = 0x0BC,
8605 ITEM_SET_BATTLEGEAR_OF_VALOR = 0x0BD,
8606 ITEM_SET_ARCANIST_REGALIA = 0x0C9,
8607 ITEM_SET_VESTMENTS_OF_PROPHECY = 0x0CA,
8608 ITEM_SET_FELHEART_RAIMENT = 0x0CB,
8609 ITEM_SET_NIGHTSLAYER_ARMOR = 0x0CC,
8610 ITEM_SET_CENARION_RAIMENT = 0x0CD,
8611 ITEM_SET_GIANTSTALKER_ARMOR = 0x0CE,
8612 ITEM_SET_THE_EARTHFURY = 0x0CF,
8613 ITEM_SET_LAWBRINGER_ARMOR = 0x0D0,
8614 ITEM_SET_BATTLEGEAR_OF_MIGHT = 0x0D1,
8615 ITEM_SET_NETHERWIND_REGALIA = 0x0D2,
8616 ITEM_SET_VESTMENTS_OF_TRANSCENDENCE = 0x0D3,
8617 ITEM_SET_NEMESIS_RAIMENT = 0x0D4,
8618 ITEM_SET_BLOODFANG_ARMOR = 0x0D5,
8619 ITEM_SET_STORMRAGE_RAIMENT = 0x0D6,
8620 ITEM_SET_DRAGONSTALKER_ARMOR = 0x0D7,
8621 ITEM_SET_THE_TEN_STORMS = 0x0D8,
8622 ITEM_SET_JUDGEMENT_ARMOR = 0x0D9,
8623 ITEM_SET_BATTLEGEAR_OF_WRATH = 0x0DA,
8624 ITEM_SET_GARB_OF_THERO_SHAN = 0x0DD,
8625 ITEM_SET_SHARD_OF_THE_GODS = 0x0F1,
8626 ITEM_SET_SPIRIT_OF_ESKHANDAR = 0x105,
8627 ITEM_SET_CHAMPIONS_BATTLEGEAR = 0x119,
8628 ITEM_SET_LIEUTENANT_COMMANDERS_BATTLEGEAR = 0x11A,
8629 ITEM_SET_CHAMPIONS_EARTHSHAKER = 0x12D,
8630 ITEM_SET_IMPERIAL_PLATE = 0x141,
8631 ITEM_SET_CHAMPIONS_REGALIA = 0x155,
8632 ITEM_SET_CHAMPIONS_RAIMENT = 0x156,
8633 ITEM_SET_LIEUTENANT_COMMANDERS_REGALIA = 0x157,
8634 ITEM_SET_LIEUTENANT_COMMANDERS_RAIMENT = 0x158,
8635 ITEM_SET_CHAMPIONS_THREADS = 0x159,
8636 ITEM_SET_LIEUTENANT_COMMANDERS_THREADS = 0x15A,
8637 ITEM_SET_CHAMPIONS_VESTMENTS = 0x15B,
8638 ITEM_SET_LIEUTENANT_COMMANDERS_VESTMENTS = 0x15C,
8639 ITEM_SET_CHAMPIONS_PURSUIT = 0x169,
8640 ITEM_SET_LIEUTENANT_COMMANDERS_PURSUIT = 0x16A,
8641 ITEM_SET_LIEUTENANT_COMMANDERS_SANCTUARY = 0x17D,
8642 ITEM_SET_CHAMPIONS_SANCTUARY = 0x17E,
8643 ITEM_SET_WARLORDS_BATTLEGEAR = 0x17F,
8644 ITEM_SET_FIELD_MARSHALS_BATTLEGEAR = 0x180,
8645 ITEM_SET_WARLORDS_EARTHSHAKER = 0x182,
8646 ITEM_SET_WARLORDS_REGALIA = 0x183,
8647 ITEM_SET_FIELD_MARSHALS_REGALIA = 0x184,
8648 ITEM_SET_FIELD_MARSHALS_RAIMENT = 0x185,
8649 ITEM_SET_WARLORDS_RAIMENT = 0x186,
8650 ITEM_SET_WARLORDS_THREADS = 0x187,
8651 ITEM_SET_FIELD_MARSHALS_THREADS = 0x188,
8652 ITEM_SET_WARLORDS_VESTMENTS = 0x189,
8653 ITEM_SET_FIELD_MARSHALS_VESTMENTS = 0x18A,
8654 ITEM_SET_FIELD_MARSHALS_PURSUIT = 0x18B,
8655 ITEM_SET_WARLORDS_PURSUIT = 0x18C,
8656 ITEM_SET_FIELD_MARSHALS_SANCTUARY = 0x18D,
8657 ITEM_SET_WARLORDS_SANCTUARY = 0x18E,
8658 ITEM_SET_LIEUTENANT_COMMANDERS_AEGIS = 0x191,
8659 ITEM_SET_FIELD_MARSHALS_AEGIS = 0x192,
8660 ITEM_SET_BLOODVINE_GARB = 0x1A5,
8661 ITEM_SET_PRIMAL_BATSKIN = 0x1B9,
8662 ITEM_SET_BLOOD_TIGER_HARNESS = 0x1BA,
8663 ITEM_SET_BLOODSOUL_EMBRACE = 0x1BB,
8664 ITEM_SET_THE_DARKSOUL = 0x1BC,
8665 ITEM_SET_THE_TWIN_BLADES_OF_HAKKARI = 0x1CD,
8666 ITEM_SET_ZANZILS_CONCENTRATION = 0x1CE,
8667 ITEM_SET_PRIMAL_BLESSING = 0x1CF,
8668 ITEM_SET_OVERLORDS_RESOLUTION = 0x1D0,
8669 ITEM_SET_PRAYER_OF_THE_PRIMAL = 0x1D1,
8670 ITEM_SET_MAJOR_MOJO_INFUSION = 0x1D2,
8671 ITEM_SET_THE_HIGHLANDERS_RESOLUTION = 0x1D3,
8672 ITEM_SET_THE_HIGHLANDERS_RESOLVE = 0x1D4,
8673 ITEM_SET_THE_HIGHLANDERS_DETERMINATION = 0x1D5,
8674 ITEM_SET_THE_HIGHLANDERS_FORTITUDE = 0x1D6,
8675 ITEM_SET_THE_HIGHLANDERS_PURPOSE = 0x1D7,
8676 ITEM_SET_THE_HIGHLANDERS_WILL = 0x1D8,
8677 ITEM_SET_THE_HIGHLANDERS_INTENT = 0x1D9,
8678 ITEM_SET_VINDICATORS_BATTLEGEAR = 0x1DA,
8679 ITEM_SET_FREETHINKERS_ARMOR = 0x1DB,
8680 ITEM_SET_AUGURS_REGALIA = 0x1DC,
8681 ITEM_SET_PREDATORS_ARMOR = 0x1DD,
8682 ITEM_SET_MADCAPS_OUTFIT = 0x1DE,
8683 ITEM_SET_HARUSPEXS_GARB = 0x1DF,
8684 ITEM_SET_CONFESSORS_RAIMENT = 0x1E0,
8685 ITEM_SET_DEMONIACS_THREADS = 0x1E1,
8686 ITEM_SET_ILLUSIONISTS_ATTIRE = 0x1E2,
8687 ITEM_SET_THE_DEFILERS_DETERMINATION = 0x1E3,
8688 ITEM_SET_THE_DEFILERS_FORTITUDE = 0x1E4,
8689 ITEM_SET_THE_DEFILERS_INTENT = 0x1E5,
8690 ITEM_SET_THE_DEFILERS_PURPOSE = 0x1E6,
8691 ITEM_SET_THE_DEFILERS_RESOLUTION = 0x1E7,
8692 ITEM_SET_THE_DEFILERS_WILL = 0x1E8,
8693 ITEM_SET_BLACK_DRAGON_MAIL = 0x1E9,
8694 ITEM_SET_GREEN_DRAGON_MAIL = 0x1EA,
8695 ITEM_SET_BLUE_DRAGON_MAIL = 0x1EB,
8696 ITEM_SET_TWILIGHT_TRAPPINGS = 0x1EC,
8697 ITEM_SET_GENESIS_RAIMENT = 0x1ED,
8698 ITEM_SET_SYMBOLS_OF_UNENDING_LIFE = 0x1EE,
8699 ITEM_SET_BATTLEGEAR_OF_UNYIELDING_STRENGTH = 0x1EF,
8700 ITEM_SET_CONQUERORS_BATTLEGEAR = 0x1F0,
8701 ITEM_SET_DEATHDEALERS_EMBRACE = 0x1F1,
8702 ITEM_SET_EMBLEMS_OF_VEILED_SHADOWS = 0x1F2,
8703 ITEM_SET_DOOMCALLERS_ATTIRE = 0x1F3,
8704 ITEM_SET_IMPLEMENTS_OF_UNSPOKEN_NAMES = 0x1F4,
8705 ITEM_SET_STORMCALLERS_GARB = 0x1F5,
8706 ITEM_SET_GIFT_OF_THE_GATHERING_STORM = 0x1F6,
8707 ITEM_SET_ENIGMA_VESTMENTS = 0x1F7,
8708 ITEM_SET_TRAPPINGS_OF_VAULTED_SECRETS = 0x1F8,
8709 ITEM_SET_AVENGERS_BATTLEGEAR = 0x1F9,
8710 ITEM_SET_BATTLEGEAR_OF_ETERNAL_JUSTICE = 0x1FA,
8711 ITEM_SET_GARMENTS_OF_THE_ORACLE = 0x1FB,
8712 ITEM_SET_FINERY_OF_INFINITE_WISDOM = 0x1FC,
8713 ITEM_SET_STRIKERS_GARB = 0x1FD,
8714 ITEM_SET_TRAPPINGS_OF_THE_UNSEEN_PATH = 0x1FE,
8715 ITEM_SET_BATTLEGEAR_OF_HEROISM = 0x1FF,
8716 ITEM_SET_DARKMANTLE_ARMOR = 0x200,
8717 ITEM_SET_FERALHEART_RAIMENT = 0x201,
8718 ITEM_SET_VESTMENTS_OF_THE_VIRTUOUS = 0x202,
8719 ITEM_SET_BEASTMASTER_ARMOR = 0x203,
8720 ITEM_SET_SOULFORGE_ARMOR = 0x204,
8721 ITEM_SET_SORCERERS_REGALIA = 0x205,
8722 ITEM_SET_DEATHMIST_RAIMENT = 0x206,
8723 ITEM_SET_THE_FIVE_THUNDERS = 0x207,
8724 ITEM_SET_IRONWEAVE_BATTLESUIT = 0x208,
8725 ITEM_SET_DREAMWALKER_RAIMENT = 0x209,
8726 ITEM_SET_CHAMPIONS_GUARD = 0x20A,
8727 ITEM_SET_DREADNAUGHTS_BATTLEGEAR = 0x20B,
8728 ITEM_SET_BONESCYTHE_ARMOR = 0x20C,
8729 ITEM_SET_VESTMENTS_OF_FAITH = 0x20D,
8730 ITEM_SET_FROSTFIRE_REGALIA = 0x20E,
8731 ITEM_SET_THE_EARTHSHATTERER = 0x20F,
8732 ITEM_SET_REDEMPTION_ARMOR = 0x210,
8733 ITEM_SET_PLAGUEHEART_RAIMENT = 0x211,
8734 ITEM_SET_CRYPTSTALKER_ARMOR = 0x212,
8735 ITEM_SET_BATTLEGEAR_OF_UNDEAD_SLAYING = 0x215,
8736 ITEM_SET_UNDEAD_SLAYERS_ARMOR = 0x216,
8737 ITEM_SET_GARB_OF_THE_UNDEAD_SLAYER = 0x217,
8738 ITEM_SET_REGALIA_OF_UNDEAD_CLEANSING = 0x218,
8739 ITEM_SET_CHAMPIONS_BATTLEARMOR = 0x219,
8740 ITEM_SET_CHAMPIONS_STORMCALLER = 0x21A,
8741 ITEM_SET_CHAMPIONS_REFUGE = 0x21B,
8742 ITEM_SET_CHAMPIONS_INVESTITURE = 0x21C,
8743 ITEM_SET_CHAMPIONS_DREADGEAR = 0x21D,
8744 ITEM_SET_CHAMPIONS_ARCANUM = 0x21E,
8745 ITEM_SET_CHAMPIONS_PURSUANCE = 0x21F,
8746 ITEM_SET_LIEUTENANT_COMMANDERS_REDOUBT = 0x220,
8747 ITEM_SET_LIEUTENANT_COMMANDERS_BATTLEARMOR = 0x221,
8748 ITEM_SET_LIEUTENANT_COMMANDERS_ARCANUM = 0x222,
8749 ITEM_SET_LIEUTENANT_COMMANDERS_DREADGEAR = 0x223,
8750 ITEM_SET_LIEUTENANT_COMMANDERS_GUARD = 0x224,
8751 ITEM_SET_LIEUTENANT_COMMANDERS_INVESTITURE = 0x225,
8752 ITEM_SET_LIEUTENANT_COMMANDERS_PURSUANCE = 0x226,
8753 ITEM_SET_LIEUTENANT_COMMANDERS_REFUGE = 0x227,
8754 } e_item_set;
8755 static const value_string e_item_set_strings[] = {
8756 { ITEM_SET_NONE, "None" },
8757 { ITEM_SET_THE_GLADIATOR, "The Gladiator" },
8758 { ITEM_SET_DAL_RENDS_ARMS, "Dal Rends Arms" },
8759 { ITEM_SET_SPIDERS_KISS, "Spiders Kiss" },
8760 { ITEM_SET_THE_POSTMASTER, "The Postmaster" },
8761 { ITEM_SET_CADAVEROUS_GARB, "Cadaverous Garb" },
8762 { ITEM_SET_NECROPILE_RAIMENT, "Necropile Raiment" },
8763 { ITEM_SET_BLOODMAIL_REGALIA, "Bloodmail Regalia" },
8764 { ITEM_SET_DEATHBONE_GUARDIAN, "Deathbone Guardian" },
8765 { ITEM_SET_VOLCANIC_ARMOR, "Volcanic Armor" },
8766 { ITEM_SET_STORMSHROUD_ARMOR, "Stormshroud Armor" },
8767 { ITEM_SET_DEVILSAUR_ARMOR, "Devilsaur Armor" },
8768 { ITEM_SET_IRONFEATHER_ARMOR, "Ironfeather Armor" },
8769 { ITEM_SET_DEFIAS_LEATHER, "Defias Leather" },
8770 { ITEM_SET_EMBRACE_OF_THE_VIPER, "Embrace Of The Viper" },
8771 { ITEM_SET_CHAIN_OF_THE_SCARLET_CRUSADE, "Chain Of The Scarlet Crusade" },
8772 { ITEM_SET_MAGISTERS_REGALIA, "Magisters Regalia" },
8773 { ITEM_SET_VESTMENTS_OF_THE_DEVOUT, "Vestments Of The Devout" },
8774 { ITEM_SET_DREADMIST_RAIMENT, "Dreadmist Raiment" },
8775 { ITEM_SET_SHADOWCRAFT_ARMOR, "Shadowcraft Armor" },
8776 { ITEM_SET_WILDHEART_RAIMENT, "Wildheart Raiment" },
8777 { ITEM_SET_BEASTSTALKER_ARMOR, "Beaststalker Armor" },
8778 { ITEM_SET_THE_ELEMENTS, "The Elements" },
8779 { ITEM_SET_LIGHTFORGE_ARMOR, "Lightforge Armor" },
8780 { ITEM_SET_BATTLEGEAR_OF_VALOR, "Battlegear Of Valor" },
8781 { ITEM_SET_ARCANIST_REGALIA, "Arcanist Regalia" },
8782 { ITEM_SET_VESTMENTS_OF_PROPHECY, "Vestments Of Prophecy" },
8783 { ITEM_SET_FELHEART_RAIMENT, "Felheart Raiment" },
8784 { ITEM_SET_NIGHTSLAYER_ARMOR, "Nightslayer Armor" },
8785 { ITEM_SET_CENARION_RAIMENT, "Cenarion Raiment" },
8786 { ITEM_SET_GIANTSTALKER_ARMOR, "Giantstalker Armor" },
8787 { ITEM_SET_THE_EARTHFURY, "The Earthfury" },
8788 { ITEM_SET_LAWBRINGER_ARMOR, "Lawbringer Armor" },
8789 { ITEM_SET_BATTLEGEAR_OF_MIGHT, "Battlegear Of Might" },
8790 { ITEM_SET_NETHERWIND_REGALIA, "Netherwind Regalia" },
8791 { ITEM_SET_VESTMENTS_OF_TRANSCENDENCE, "Vestments Of Transcendence" },
8792 { ITEM_SET_NEMESIS_RAIMENT, "Nemesis Raiment" },
8793 { ITEM_SET_BLOODFANG_ARMOR, "Bloodfang Armor" },
8794 { ITEM_SET_STORMRAGE_RAIMENT, "Stormrage Raiment" },
8795 { ITEM_SET_DRAGONSTALKER_ARMOR, "Dragonstalker Armor" },
8796 { ITEM_SET_THE_TEN_STORMS, "The Ten Storms" },
8797 { ITEM_SET_JUDGEMENT_ARMOR, "Judgement Armor" },
8798 { ITEM_SET_BATTLEGEAR_OF_WRATH, "Battlegear Of Wrath" },
8799 { ITEM_SET_GARB_OF_THERO_SHAN, "Garb Of Thero Shan" },
8800 { ITEM_SET_SHARD_OF_THE_GODS, "Shard Of The Gods" },
8801 { ITEM_SET_SPIRIT_OF_ESKHANDAR, "Spirit Of Eskhandar" },
8802 { ITEM_SET_CHAMPIONS_BATTLEGEAR, "Champions Battlegear" },
8803 { ITEM_SET_LIEUTENANT_COMMANDERS_BATTLEGEAR, "Lieutenant Commanders Battlegear" },
8804 { ITEM_SET_CHAMPIONS_EARTHSHAKER, "Champions Earthshaker" },
8805 { ITEM_SET_IMPERIAL_PLATE, "Imperial Plate" },
8806 { ITEM_SET_CHAMPIONS_REGALIA, "Champions Regalia" },
8807 { ITEM_SET_CHAMPIONS_RAIMENT, "Champions Raiment" },
8808 { ITEM_SET_LIEUTENANT_COMMANDERS_REGALIA, "Lieutenant Commanders Regalia" },
8809 { ITEM_SET_LIEUTENANT_COMMANDERS_RAIMENT, "Lieutenant Commanders Raiment" },
8810 { ITEM_SET_CHAMPIONS_THREADS, "Champions Threads" },
8811 { ITEM_SET_LIEUTENANT_COMMANDERS_THREADS, "Lieutenant Commanders Threads" },
8812 { ITEM_SET_CHAMPIONS_VESTMENTS, "Champions Vestments" },
8813 { ITEM_SET_LIEUTENANT_COMMANDERS_VESTMENTS, "Lieutenant Commanders Vestments" },
8814 { ITEM_SET_CHAMPIONS_PURSUIT, "Champions Pursuit" },
8815 { ITEM_SET_LIEUTENANT_COMMANDERS_PURSUIT, "Lieutenant Commanders Pursuit" },
8816 { ITEM_SET_LIEUTENANT_COMMANDERS_SANCTUARY, "Lieutenant Commanders Sanctuary" },
8817 { ITEM_SET_CHAMPIONS_SANCTUARY, "Champions Sanctuary" },
8818 { ITEM_SET_WARLORDS_BATTLEGEAR, "Warlords Battlegear" },
8819 { ITEM_SET_FIELD_MARSHALS_BATTLEGEAR, "Field Marshals Battlegear" },
8820 { ITEM_SET_WARLORDS_EARTHSHAKER, "Warlords Earthshaker" },
8821 { ITEM_SET_WARLORDS_REGALIA, "Warlords Regalia" },
8822 { ITEM_SET_FIELD_MARSHALS_REGALIA, "Field Marshals Regalia" },
8823 { ITEM_SET_FIELD_MARSHALS_RAIMENT, "Field Marshals Raiment" },
8824 { ITEM_SET_WARLORDS_RAIMENT, "Warlords Raiment" },
8825 { ITEM_SET_WARLORDS_THREADS, "Warlords Threads" },
8826 { ITEM_SET_FIELD_MARSHALS_THREADS, "Field Marshals Threads" },
8827 { ITEM_SET_WARLORDS_VESTMENTS, "Warlords Vestments" },
8828 { ITEM_SET_FIELD_MARSHALS_VESTMENTS, "Field Marshals Vestments" },
8829 { ITEM_SET_FIELD_MARSHALS_PURSUIT, "Field Marshals Pursuit" },
8830 { ITEM_SET_WARLORDS_PURSUIT, "Warlords Pursuit" },
8831 { ITEM_SET_FIELD_MARSHALS_SANCTUARY, "Field Marshals Sanctuary" },
8832 { ITEM_SET_WARLORDS_SANCTUARY, "Warlords Sanctuary" },
8833 { ITEM_SET_LIEUTENANT_COMMANDERS_AEGIS, "Lieutenant Commanders Aegis" },
8834 { ITEM_SET_FIELD_MARSHALS_AEGIS, "Field Marshals Aegis" },
8835 { ITEM_SET_BLOODVINE_GARB, "Bloodvine Garb" },
8836 { ITEM_SET_PRIMAL_BATSKIN, "Primal Batskin" },
8837 { ITEM_SET_BLOOD_TIGER_HARNESS, "Blood Tiger Harness" },
8838 { ITEM_SET_BLOODSOUL_EMBRACE, "Bloodsoul Embrace" },
8839 { ITEM_SET_THE_DARKSOUL, "The Darksoul" },
8840 { ITEM_SET_THE_TWIN_BLADES_OF_HAKKARI, "The Twin Blades Of Hakkari" },
8841 { ITEM_SET_ZANZILS_CONCENTRATION, "Zanzils Concentration" },
8842 { ITEM_SET_PRIMAL_BLESSING, "Primal Blessing" },
8843 { ITEM_SET_OVERLORDS_RESOLUTION, "Overlords Resolution" },
8844 { ITEM_SET_PRAYER_OF_THE_PRIMAL, "Prayer Of The Primal" },
8845 { ITEM_SET_MAJOR_MOJO_INFUSION, "Major Mojo Infusion" },
8846 { ITEM_SET_THE_HIGHLANDERS_RESOLUTION, "The Highlanders Resolution" },
8847 { ITEM_SET_THE_HIGHLANDERS_RESOLVE, "The Highlanders Resolve" },
8848 { ITEM_SET_THE_HIGHLANDERS_DETERMINATION, "The Highlanders Determination" },
8849 { ITEM_SET_THE_HIGHLANDERS_FORTITUDE, "The Highlanders Fortitude" },
8850 { ITEM_SET_THE_HIGHLANDERS_PURPOSE, "The Highlanders Purpose" },
8851 { ITEM_SET_THE_HIGHLANDERS_WILL, "The Highlanders Will" },
8852 { ITEM_SET_THE_HIGHLANDERS_INTENT, "The Highlanders Intent" },
8853 { ITEM_SET_VINDICATORS_BATTLEGEAR, "Vindicators Battlegear" },
8854 { ITEM_SET_FREETHINKERS_ARMOR, "Freethinkers Armor" },
8855 { ITEM_SET_AUGURS_REGALIA, "Augurs Regalia" },
8856 { ITEM_SET_PREDATORS_ARMOR, "Predators Armor" },
8857 { ITEM_SET_MADCAPS_OUTFIT, "Madcaps Outfit" },
8858 { ITEM_SET_HARUSPEXS_GARB, "Haruspexs Garb" },
8859 { ITEM_SET_CONFESSORS_RAIMENT, "Confessors Raiment" },
8860 { ITEM_SET_DEMONIACS_THREADS, "Demoniacs Threads" },
8861 { ITEM_SET_ILLUSIONISTS_ATTIRE, "Illusionists Attire" },
8862 { ITEM_SET_THE_DEFILERS_DETERMINATION, "The Defilers Determination" },
8863 { ITEM_SET_THE_DEFILERS_FORTITUDE, "The Defilers Fortitude" },
8864 { ITEM_SET_THE_DEFILERS_INTENT, "The Defilers Intent" },
8865 { ITEM_SET_THE_DEFILERS_PURPOSE, "The Defilers Purpose" },
8866 { ITEM_SET_THE_DEFILERS_RESOLUTION, "The Defilers Resolution" },
8867 { ITEM_SET_THE_DEFILERS_WILL, "The Defilers Will" },
8868 { ITEM_SET_BLACK_DRAGON_MAIL, "Black Dragon Mail" },
8869 { ITEM_SET_GREEN_DRAGON_MAIL, "Green Dragon Mail" },
8870 { ITEM_SET_BLUE_DRAGON_MAIL, "Blue Dragon Mail" },
8871 { ITEM_SET_TWILIGHT_TRAPPINGS, "Twilight Trappings" },
8872 { ITEM_SET_GENESIS_RAIMENT, "Genesis Raiment" },
8873 { ITEM_SET_SYMBOLS_OF_UNENDING_LIFE, "Symbols Of Unending Life" },
8874 { ITEM_SET_BATTLEGEAR_OF_UNYIELDING_STRENGTH, "Battlegear Of Unyielding Strength" },
8875 { ITEM_SET_CONQUERORS_BATTLEGEAR, "Conquerors Battlegear" },
8876 { ITEM_SET_DEATHDEALERS_EMBRACE, "Deathdealers Embrace" },
8877 { ITEM_SET_EMBLEMS_OF_VEILED_SHADOWS, "Emblems Of Veiled Shadows" },
8878 { ITEM_SET_DOOMCALLERS_ATTIRE, "Doomcallers Attire" },
8879 { ITEM_SET_IMPLEMENTS_OF_UNSPOKEN_NAMES, "Implements Of Unspoken Names" },
8880 { ITEM_SET_STORMCALLERS_GARB, "Stormcallers Garb" },
8881 { ITEM_SET_GIFT_OF_THE_GATHERING_STORM, "Gift Of The Gathering Storm" },
8882 { ITEM_SET_ENIGMA_VESTMENTS, "Enigma Vestments" },
8883 { ITEM_SET_TRAPPINGS_OF_VAULTED_SECRETS, "Trappings Of Vaulted Secrets" },
8884 { ITEM_SET_AVENGERS_BATTLEGEAR, "Avengers Battlegear" },
8885 { ITEM_SET_BATTLEGEAR_OF_ETERNAL_JUSTICE, "Battlegear Of Eternal Justice" },
8886 { ITEM_SET_GARMENTS_OF_THE_ORACLE, "Garments Of The Oracle" },
8887 { ITEM_SET_FINERY_OF_INFINITE_WISDOM, "Finery Of Infinite Wisdom" },
8888 { ITEM_SET_STRIKERS_GARB, "Strikers Garb" },
8889 { ITEM_SET_TRAPPINGS_OF_THE_UNSEEN_PATH, "Trappings Of The Unseen Path" },
8890 { ITEM_SET_BATTLEGEAR_OF_HEROISM, "Battlegear Of Heroism" },
8891 { ITEM_SET_DARKMANTLE_ARMOR, "Darkmantle Armor" },
8892 { ITEM_SET_FERALHEART_RAIMENT, "Feralheart Raiment" },
8893 { ITEM_SET_VESTMENTS_OF_THE_VIRTUOUS, "Vestments Of The Virtuous" },
8894 { ITEM_SET_BEASTMASTER_ARMOR, "Beastmaster Armor" },
8895 { ITEM_SET_SOULFORGE_ARMOR, "Soulforge Armor" },
8896 { ITEM_SET_SORCERERS_REGALIA, "Sorcerers Regalia" },
8897 { ITEM_SET_DEATHMIST_RAIMENT, "Deathmist Raiment" },
8898 { ITEM_SET_THE_FIVE_THUNDERS, "The Five Thunders" },
8899 { ITEM_SET_IRONWEAVE_BATTLESUIT, "Ironweave Battlesuit" },
8900 { ITEM_SET_DREAMWALKER_RAIMENT, "Dreamwalker Raiment" },
8901 { ITEM_SET_CHAMPIONS_GUARD, "Champions Guard" },
8902 { ITEM_SET_DREADNAUGHTS_BATTLEGEAR, "Dreadnaughts Battlegear" },
8903 { ITEM_SET_BONESCYTHE_ARMOR, "Bonescythe Armor" },
8904 { ITEM_SET_VESTMENTS_OF_FAITH, "Vestments Of Faith" },
8905 { ITEM_SET_FROSTFIRE_REGALIA, "Frostfire Regalia" },
8906 { ITEM_SET_THE_EARTHSHATTERER, "The Earthshatterer" },
8907 { ITEM_SET_REDEMPTION_ARMOR, "Redemption Armor" },
8908 { ITEM_SET_PLAGUEHEART_RAIMENT, "Plagueheart Raiment" },
8909 { ITEM_SET_CRYPTSTALKER_ARMOR, "Cryptstalker Armor" },
8910 { ITEM_SET_BATTLEGEAR_OF_UNDEAD_SLAYING, "Battlegear Of Undead Slaying" },
8911 { ITEM_SET_UNDEAD_SLAYERS_ARMOR, "Undead Slayers Armor" },
8912 { ITEM_SET_GARB_OF_THE_UNDEAD_SLAYER, "Garb Of The Undead Slayer" },
8913 { ITEM_SET_REGALIA_OF_UNDEAD_CLEANSING, "Regalia Of Undead Cleansing" },
8914 { ITEM_SET_CHAMPIONS_BATTLEARMOR, "Champions Battlearmor" },
8915 { ITEM_SET_CHAMPIONS_STORMCALLER, "Champions Stormcaller" },
8916 { ITEM_SET_CHAMPIONS_REFUGE, "Champions Refuge" },
8917 { ITEM_SET_CHAMPIONS_INVESTITURE, "Champions Investiture" },
8918 { ITEM_SET_CHAMPIONS_DREADGEAR, "Champions Dreadgear" },
8919 { ITEM_SET_CHAMPIONS_ARCANUM, "Champions Arcanum" },
8920 { ITEM_SET_CHAMPIONS_PURSUANCE, "Champions Pursuance" },
8921 { ITEM_SET_LIEUTENANT_COMMANDERS_REDOUBT, "Lieutenant Commanders Redoubt" },
8922 { ITEM_SET_LIEUTENANT_COMMANDERS_BATTLEARMOR, "Lieutenant Commanders Battlearmor" },
8923 { ITEM_SET_LIEUTENANT_COMMANDERS_ARCANUM, "Lieutenant Commanders Arcanum" },
8924 { ITEM_SET_LIEUTENANT_COMMANDERS_DREADGEAR, "Lieutenant Commanders Dreadgear" },
8925 { ITEM_SET_LIEUTENANT_COMMANDERS_GUARD, "Lieutenant Commanders Guard" },
8926 { ITEM_SET_LIEUTENANT_COMMANDERS_INVESTITURE, "Lieutenant Commanders Investiture" },
8927 { ITEM_SET_LIEUTENANT_COMMANDERS_PURSUANCE, "Lieutenant Commanders Pursuance" },
8928 { ITEM_SET_LIEUTENANT_COMMANDERS_REFUGE, "Lieutenant Commanders Refuge" },
8929 { 0, NULL }
8932 typedef enum {
8933 BAG_FAMILY_NONE = 0x0,
8934 BAG_FAMILY_ARROWS = 0x1,
8935 BAG_FAMILY_BULLETS = 0x2,
8936 BAG_FAMILY_SOUL_SHARDS = 0x3,
8937 BAG_FAMILY_UNKNOWN4 = 0x4,
8938 BAG_FAMILY_UNKNOWN5 = 0x5,
8939 BAG_FAMILY_HERBS = 0x6,
8940 BAG_FAMILY_ENCHANTING_SUPPLIES = 0x7,
8941 BAG_FAMILY_ENGINEERING_SUPPLIES = 0x8,
8942 BAG_FAMILY_KEYS = 0x9,
8943 } e_bag_family;
8944 static const value_string e_bag_family_strings[] = {
8945 { BAG_FAMILY_NONE, "None" },
8946 { BAG_FAMILY_ARROWS, "Arrows" },
8947 { BAG_FAMILY_BULLETS, "Bullets" },
8948 { BAG_FAMILY_SOUL_SHARDS, "Soul Shards" },
8949 { BAG_FAMILY_UNKNOWN4, "Unknown4" },
8950 { BAG_FAMILY_UNKNOWN5, "Unknown5" },
8951 { BAG_FAMILY_HERBS, "Herbs" },
8952 { BAG_FAMILY_ENCHANTING_SUPPLIES, "Enchanting Supplies" },
8953 { BAG_FAMILY_ENGINEERING_SUPPLIES, "Engineering Supplies" },
8954 { BAG_FAMILY_KEYS, "Keys" },
8955 { 0, NULL }
8958 typedef enum {
8959 LOGOUT_RESULT_SUCCESS = 0x0,
8960 LOGOUT_RESULT_FAILURE_IN_COMBAT = 0x1,
8961 LOGOUT_RESULT_FAILURE_FROZEN_BY_GM = 0x2,
8962 LOGOUT_RESULT_FAILURE_JUMPING_OR_FALLING = 0x3,
8963 } e_logout_result;
8964 static const value_string e_logout_result_strings[] = {
8965 { LOGOUT_RESULT_SUCCESS, "Success" },
8966 { LOGOUT_RESULT_FAILURE_IN_COMBAT, "Failure In Combat" },
8967 { LOGOUT_RESULT_FAILURE_FROZEN_BY_GM, "Failure Frozen By Gm" },
8968 { LOGOUT_RESULT_FAILURE_JUMPING_OR_FALLING, "Failure Jumping Or Falling" },
8969 { 0, NULL }
8972 typedef enum {
8973 LOGOUT_SPEED_DELAYED = 0x0,
8974 LOGOUT_SPEED_INSTANT = 0x1,
8975 } e_logout_speed;
8976 static const value_string e_logout_speed_strings[] = {
8977 { LOGOUT_SPEED_DELAYED, "Delayed" },
8978 { LOGOUT_SPEED_INSTANT, "Instant" },
8979 { 0, NULL }
8982 typedef enum {
8983 EXPERIENCE_AWARD_TYPE_KILL = 0x0,
8984 EXPERIENCE_AWARD_TYPE_NON_KILL = 0x1,
8985 } e_experience_award_type;
8986 static const value_string e_experience_award_type_strings[] = {
8987 { EXPERIENCE_AWARD_TYPE_KILL, "Kill" },
8988 { EXPERIENCE_AWARD_TYPE_NON_KILL, "Non Kill" },
8989 { 0, NULL }
8992 typedef enum {
8993 LOOT_METHOD_ERROR = 0x00,
8994 LOOT_METHOD_CORPSE = 0x01,
8995 LOOT_METHOD_PICKPOCKETING = 0x02,
8996 LOOT_METHOD_FISHING = 0x03,
8997 LOOT_METHOD_DISENCHANTING = 0x04,
8998 LOOT_METHOD_SKINNING = 0x06,
8999 LOOT_METHOD_FISHINGHOLE = 0x14,
9000 LOOT_METHOD_FISHING_FAIL = 0x15,
9001 LOOT_METHOD_INSIGNIA = 0x16,
9002 } e_loot_method;
9003 static const value_string e_loot_method_strings[] = {
9004 { LOOT_METHOD_ERROR, "Error" },
9005 { LOOT_METHOD_CORPSE, "Corpse" },
9006 { LOOT_METHOD_PICKPOCKETING, "Pickpocketing" },
9007 { LOOT_METHOD_FISHING, "Fishing" },
9008 { LOOT_METHOD_DISENCHANTING, "Disenchanting" },
9009 { LOOT_METHOD_SKINNING, "Skinning" },
9010 { LOOT_METHOD_FISHINGHOLE, "Fishinghole" },
9011 { LOOT_METHOD_FISHING_FAIL, "Fishing Fail" },
9012 { LOOT_METHOD_INSIGNIA, "Insignia" },
9013 { 0, NULL }
9016 typedef enum {
9017 LOOT_METHOD_ERROR_DIDNT_KILL = 0x00,
9018 LOOT_METHOD_ERROR_TOO_FAR = 0x04,
9019 LOOT_METHOD_ERROR_BAD_FACING = 0x05,
9020 LOOT_METHOD_ERROR_LOCKED = 0x06,
9021 LOOT_METHOD_ERROR_NOTSTANDING = 0x08,
9022 LOOT_METHOD_ERROR_STUNNED = 0x09,
9023 LOOT_METHOD_ERROR_PLAYER_NOT_FOUND = 0x0A,
9024 LOOT_METHOD_ERROR_PLAY_TIME_EXCEEDED = 0x0B,
9025 LOOT_METHOD_ERROR_MASTER_INV_FULL = 0x0C,
9026 LOOT_METHOD_ERROR_MASTER_UNIQUE_ITEM = 0x0D,
9027 LOOT_METHOD_ERROR_MASTER_OTHER = 0x0E,
9028 LOOT_METHOD_ERROR_ALREADY_PICKPOCKETED = 0x0F,
9029 LOOT_METHOD_ERROR_NOT_WHILE_SHAPESHIFTED = 0x10,
9030 } e_loot_method_error;
9031 static const value_string e_loot_method_error_strings[] = {
9032 { LOOT_METHOD_ERROR_DIDNT_KILL, "Didn't Kill" },
9033 { LOOT_METHOD_ERROR_TOO_FAR, "Too Far" },
9034 { LOOT_METHOD_ERROR_BAD_FACING, "Bad Facing" },
9035 { LOOT_METHOD_ERROR_LOCKED, "Locked" },
9036 { LOOT_METHOD_ERROR_NOTSTANDING, "Notstanding" },
9037 { LOOT_METHOD_ERROR_STUNNED, "Stunned" },
9038 { LOOT_METHOD_ERROR_PLAYER_NOT_FOUND, "Player Not Found" },
9039 { LOOT_METHOD_ERROR_PLAY_TIME_EXCEEDED, "Play Time Exceeded" },
9040 { LOOT_METHOD_ERROR_MASTER_INV_FULL, "Master Inv Full" },
9041 { LOOT_METHOD_ERROR_MASTER_UNIQUE_ITEM, "Master Unique Item" },
9042 { LOOT_METHOD_ERROR_MASTER_OTHER, "Master Other" },
9043 { LOOT_METHOD_ERROR_ALREADY_PICKPOCKETED, "Already Pickpocketed" },
9044 { LOOT_METHOD_ERROR_NOT_WHILE_SHAPESHIFTED, "Not While Shapeshifted" },
9045 { 0, NULL }
9048 typedef enum {
9049 MEETING_STONE_FAILURE_MEETINGSTONE_FAIL_PARTYLEADER = 0x1,
9050 MEETING_STONE_FAILURE_MEETINGSTONE_FAIL_FULL_GROUP = 0x2,
9051 MEETING_STONE_FAILURE_MEETINGSTONE_FAIL_RAID_GROUP = 0x3,
9052 } e_meeting_stone_failure;
9053 static const value_string e_meeting_stone_failure_strings[] = {
9054 { MEETING_STONE_FAILURE_MEETINGSTONE_FAIL_PARTYLEADER, "Meetingstone Fail Partyleader" },
9055 { MEETING_STONE_FAILURE_MEETINGSTONE_FAIL_FULL_GROUP, "Meetingstone Fail Full Group" },
9056 { MEETING_STONE_FAILURE_MEETINGSTONE_FAIL_RAID_GROUP, "Meetingstone Fail Raid Group" },
9057 { 0, NULL }
9060 typedef enum {
9061 MEETING_STONE_STATUS_LEAVE_QUEUE = 0x0,
9062 MEETING_STONE_STATUS_JOINED_QUEUE = 0x1,
9063 MEETING_STONE_STATUS_PARTY_MEMBER_LEFT_LFG = 0x2,
9064 MEETING_STONE_STATUS_PARTY_MEMBER_REMOVED_PARTY_REMOVED = 0x3,
9065 MEETING_STONE_STATUS_LOOKING_FOR_NEW_PARTY_IN_QUEUE = 0x4,
9066 MEETING_STONE_STATUS_NONE = 0x5,
9067 } e_meeting_stone_status;
9068 static const value_string e_meeting_stone_status_strings[] = {
9069 { MEETING_STONE_STATUS_LEAVE_QUEUE, "Leave Queue" },
9070 { MEETING_STONE_STATUS_JOINED_QUEUE, "Joined Queue" },
9071 { MEETING_STONE_STATUS_PARTY_MEMBER_LEFT_LFG, "Party Member Left Lfg" },
9072 { MEETING_STONE_STATUS_PARTY_MEMBER_REMOVED_PARTY_REMOVED, "Party Member Removed Party Removed" },
9073 { MEETING_STONE_STATUS_LOOKING_FOR_NEW_PARTY_IN_QUEUE, "Looking For New Party In Queue" },
9074 { MEETING_STONE_STATUS_NONE, "None" },
9075 { 0, NULL }
9078 typedef enum {
9079 PLAYER_CHAT_TAG_NONE = 0x0,
9080 PLAYER_CHAT_TAG_AFK = 0x1,
9081 PLAYER_CHAT_TAG_DND = 0x2,
9082 PLAYER_CHAT_TAG_GM = 0x3,
9083 } e_player_chat_tag;
9084 static const value_string e_player_chat_tag_strings[] = {
9085 { PLAYER_CHAT_TAG_NONE, "None" },
9086 { PLAYER_CHAT_TAG_AFK, "Afk" },
9087 { PLAYER_CHAT_TAG_DND, "Dnd" },
9088 { PLAYER_CHAT_TAG_GM, "Gm" },
9089 { 0, NULL }
9092 typedef enum {
9093 MOUNT_RESULT_INVALID_MOUNTEE = 0x0,
9094 MOUNT_RESULT_TOO_FAR_AWAY = 0x1,
9095 MOUNT_RESULT_ALREADY_MOUNTED = 0x2,
9096 MOUNT_RESULT_NOT_MOUNTABLE = 0x3,
9097 MOUNT_RESULT_NOT_YOUR_PET = 0x4,
9098 MOUNT_RESULT_OTHER = 0x5,
9099 MOUNT_RESULT_LOOTING = 0x6,
9100 MOUNT_RESULT_RACE_CANT_MOUNT = 0x7,
9101 MOUNT_RESULT_SHAPESHIFTED = 0x8,
9102 MOUNT_RESULT_FORCED_DISMOUNT = 0x9,
9103 MOUNT_RESULT_OK = 0xA,
9104 } e_mount_result;
9105 static const value_string e_mount_result_strings[] = {
9106 { MOUNT_RESULT_INVALID_MOUNTEE, "Invalid Mountee" },
9107 { MOUNT_RESULT_TOO_FAR_AWAY, "Too Far Away" },
9108 { MOUNT_RESULT_ALREADY_MOUNTED, "Already Mounted" },
9109 { MOUNT_RESULT_NOT_MOUNTABLE, "Not Mountable" },
9110 { MOUNT_RESULT_NOT_YOUR_PET, "Not Your Pet" },
9111 { MOUNT_RESULT_OTHER, "Other" },
9112 { MOUNT_RESULT_LOOTING, "Looting" },
9113 { MOUNT_RESULT_RACE_CANT_MOUNT, "Race Cant Mount" },
9114 { MOUNT_RESULT_SHAPESHIFTED, "Shapeshifted" },
9115 { MOUNT_RESULT_FORCED_DISMOUNT, "Forced Dismount" },
9116 { MOUNT_RESULT_OK, "Ok" },
9117 { 0, NULL }
9120 typedef enum {
9121 PARTY_OPERATION_INVITE = 0x0,
9122 PARTY_OPERATION_LEAVE = 0x2,
9123 } e_party_operation;
9124 static const value_string e_party_operation_strings[] = {
9125 { PARTY_OPERATION_INVITE, "Invite" },
9126 { PARTY_OPERATION_LEAVE, "Leave" },
9127 { 0, NULL }
9130 typedef enum {
9131 PARTY_RESULT_SUCCESS = 0x0,
9132 PARTY_RESULT_BAD_PLAYER_NAME = 0x1,
9133 PARTY_RESULT_TARGET_NOT_IN_GROUP = 0x2,
9134 PARTY_RESULT_GROUP_FULL = 0x3,
9135 PARTY_RESULT_ALREADY_IN_GROUP = 0x4,
9136 PARTY_RESULT_NOT_IN_GROUP = 0x5,
9137 PARTY_RESULT_NOT_LEADER = 0x6,
9138 PARTY_RESULT_PLAYER_WRONG_FACTION = 0x7,
9139 PARTY_RESULT_IGNORING_YOU = 0x8,
9140 } e_party_result;
9141 static const value_string e_party_result_strings[] = {
9142 { PARTY_RESULT_SUCCESS, "Success" },
9143 { PARTY_RESULT_BAD_PLAYER_NAME, "Bad Player Name" },
9144 { PARTY_RESULT_TARGET_NOT_IN_GROUP, "Target Not In Group" },
9145 { PARTY_RESULT_GROUP_FULL, "Group Full" },
9146 { PARTY_RESULT_ALREADY_IN_GROUP, "Already In Group" },
9147 { PARTY_RESULT_NOT_IN_GROUP, "Not In Group" },
9148 { PARTY_RESULT_NOT_LEADER, "Not Leader" },
9149 { PARTY_RESULT_PLAYER_WRONG_FACTION, "Player Wrong Faction" },
9150 { PARTY_RESULT_IGNORING_YOU, "Ignoring You" },
9151 { 0, NULL }
9154 typedef enum {
9155 TIMER_TYPE_FATIGUE = 0x0,
9156 TIMER_TYPE_BREATH = 0x1,
9157 TIMER_TYPE_FEIGN_DEATH = 0x2,
9158 TIMER_TYPE_ENVIRONMENTAL = 0x3,
9159 } e_timer_type;
9160 static const value_string e_timer_type_strings[] = {
9161 { TIMER_TYPE_FATIGUE, "Fatigue" },
9162 { TIMER_TYPE_BREATH, "Breath" },
9163 { TIMER_TYPE_FEIGN_DEATH, "Feign Death" },
9164 { TIMER_TYPE_ENVIRONMENTAL, "Environmental" },
9165 { 0, NULL }
9168 typedef enum {
9169 PETITION_RESULT_OK = 0x0,
9170 PETITION_RESULT_ALREADY_SIGNED = 0x1,
9171 PETITION_RESULT_ALREADY_IN_GUILD = 0x2,
9172 PETITION_RESULT_CANT_SIGN_OWN = 0x3,
9173 PETITION_RESULT_NEED_MORE = 0x4,
9174 PETITION_RESULT_NOT_SERVER = 0x5,
9175 } e_petition_result;
9176 static const value_string e_petition_result_strings[] = {
9177 { PETITION_RESULT_OK, "Ok" },
9178 { PETITION_RESULT_ALREADY_SIGNED, "Already Signed" },
9179 { PETITION_RESULT_ALREADY_IN_GUILD, "Already In Guild" },
9180 { PETITION_RESULT_CANT_SIGN_OWN, "Cant Sign Own" },
9181 { PETITION_RESULT_NEED_MORE, "Need More" },
9182 { PETITION_RESULT_NOT_SERVER, "Not Server" },
9183 { 0, NULL }
9186 typedef enum {
9187 PET_FEEDBACK_PET_DEAD = 0x1,
9188 PET_FEEDBACK_NOTHING_TO_ATTACK = 0x2,
9189 PET_FEEDBACK_CANT_ATTACK_TARGET = 0x3,
9190 PET_FEEDBACK_NO_PATH_TO = 0x4,
9191 } e_pet_feedback;
9192 static const value_string e_pet_feedback_strings[] = {
9193 { PET_FEEDBACK_PET_DEAD, "Pet Dead" },
9194 { PET_FEEDBACK_NOTHING_TO_ATTACK, "Nothing To Attack" },
9195 { PET_FEEDBACK_CANT_ATTACK_TARGET, "Cant Attack Target" },
9196 { PET_FEEDBACK_NO_PATH_TO, "No Path To" },
9197 { 0, NULL }
9200 typedef enum {
9201 PET_TALK_REASON_SPECIAL_SPELL = 0x0,
9202 PET_TALK_REASON_ATTACK = 0x1,
9203 } e_pet_talk_reason;
9204 static const value_string e_pet_talk_reason_strings[] = {
9205 { PET_TALK_REASON_SPECIAL_SPELL, "Special Spell" },
9206 { PET_TALK_REASON_ATTACK, "Attack" },
9207 { 0, NULL }
9210 typedef enum {
9211 SPELL_CAST_RESULT_AFFECTING_COMBAT = 0x00,
9212 SPELL_CAST_RESULT_ALREADY_AT_FULL_HEALTH = 0x01,
9213 SPELL_CAST_RESULT_ALREADY_AT_FULL_MANA = 0x02,
9214 SPELL_CAST_RESULT_ALREADY_BEING_TAMED = 0x03,
9215 SPELL_CAST_RESULT_ALREADY_HAVE_CHARM = 0x04,
9216 SPELL_CAST_RESULT_ALREADY_HAVE_SUMMON = 0x05,
9217 SPELL_CAST_RESULT_ALREADY_OPEN = 0x06,
9218 SPELL_CAST_RESULT_MORE_POWERFUL_SPELL_ACTIVE = 0x07,
9219 SPELL_CAST_RESULT_BAD_IMPLICIT_TARGETS = 0x09,
9220 SPELL_CAST_RESULT_BAD_TARGETS = 0x0A,
9221 SPELL_CAST_RESULT_CANT_BE_CHARMED = 0x0B,
9222 SPELL_CAST_RESULT_CANT_BE_DISENCHANTED = 0x0C,
9223 SPELL_CAST_RESULT_CANT_BE_PROSPECTED = 0x0D,
9224 SPELL_CAST_RESULT_CANT_CAST_ON_TAPPED = 0x0E,
9225 SPELL_CAST_RESULT_CANT_DUEL_WHILE_INVISIBLE = 0x0F,
9226 SPELL_CAST_RESULT_CANT_DUEL_WHILE_STEALTHED = 0x10,
9227 SPELL_CAST_RESULT_CANT_TOO_CLOSE_TO_ENEMY = 0x11,
9228 SPELL_CAST_RESULT_CANT_DO_THAT_YET = 0x12,
9229 SPELL_CAST_RESULT_CASTER_DEAD = 0x13,
9230 SPELL_CAST_RESULT_CHARMED = 0x14,
9231 SPELL_CAST_RESULT_CHEST_IN_USE = 0x15,
9232 SPELL_CAST_RESULT_CONFUSED = 0x16,
9233 SPELL_CAST_RESULT_DONT_REPORT = 0x17,
9234 SPELL_CAST_RESULT_EQUIPPED_ITEM = 0x18,
9235 SPELL_CAST_RESULT_EQUIPPED_ITEM_CLASS = 0x19,
9236 SPELL_CAST_RESULT_EQUIPPED_ITEM_CLASS_MAINHAND = 0x1A,
9237 SPELL_CAST_RESULT_EQUIPPED_ITEM_CLASS_OFFHAND = 0x1B,
9238 SPELL_CAST_RESULT_ERROR = 0x1C,
9239 SPELL_CAST_RESULT_FIZZLE = 0x1D,
9240 SPELL_CAST_RESULT_FLEEING = 0x1E,
9241 SPELL_CAST_RESULT_FOOD_LOWLEVEL = 0x1F,
9242 SPELL_CAST_RESULT_HIGHLEVEL = 0x20,
9243 SPELL_CAST_RESULT_IMMUNE = 0x22,
9244 SPELL_CAST_RESULT_INTERRUPTED = 0x23,
9245 SPELL_CAST_RESULT_INTERRUPTED_COMBAT = 0x24,
9246 SPELL_CAST_RESULT_ITEM_ALREADY_ENCHANTED = 0x25,
9247 SPELL_CAST_RESULT_ITEM_GONE = 0x26,
9248 SPELL_CAST_RESULT_ENCHANT_NOT_EXISTING_ITEM = 0x27,
9249 SPELL_CAST_RESULT_ITEM_NOT_READY = 0x28,
9250 SPELL_CAST_RESULT_LEVEL_REQUIREMENT = 0x29,
9251 SPELL_CAST_RESULT_LINE_OF_SIGHT = 0x2A,
9252 SPELL_CAST_RESULT_LOWLEVEL = 0x2B,
9253 SPELL_CAST_RESULT_SKILL_NOT_HIGH_ENOUGH = 0x2C,
9254 SPELL_CAST_RESULT_MAINHAND_EMPTY = 0x2D,
9255 SPELL_CAST_RESULT_MOVING = 0x2E,
9256 SPELL_CAST_RESULT_NEED_AMMO = 0x2F,
9257 SPELL_CAST_RESULT_NEED_REQUIRES_SOMETHING = 0x30,
9258 SPELL_CAST_RESULT_NEED_EXOTIC_AMMO = 0x31,
9259 SPELL_CAST_RESULT_NOPATH = 0x32,
9260 SPELL_CAST_RESULT_NOT_BEHIND = 0x33,
9261 SPELL_CAST_RESULT_NOT_FISHABLE = 0x34,
9262 SPELL_CAST_RESULT_NOT_HERE = 0x35,
9263 SPELL_CAST_RESULT_NOT_INFRONT = 0x36,
9264 SPELL_CAST_RESULT_NOT_IN_CONTROL = 0x37,
9265 SPELL_CAST_RESULT_NOT_KNOWN = 0x38,
9266 SPELL_CAST_RESULT_NOT_MOUNTED = 0x39,
9267 SPELL_CAST_RESULT_NOT_ON_TAXI = 0x3A,
9268 SPELL_CAST_RESULT_NOT_ON_TRANSPORT = 0x3B,
9269 SPELL_CAST_RESULT_NOT_READY = 0x3C,
9270 SPELL_CAST_RESULT_NOT_SHAPESHIFT = 0x3D,
9271 SPELL_CAST_RESULT_NOT_STANDING = 0x3E,
9272 SPELL_CAST_RESULT_NOT_TRADEABLE = 0x3F,
9273 SPELL_CAST_RESULT_NOT_TRADING = 0x40,
9274 SPELL_CAST_RESULT_NOT_UNSHEATHED = 0x41,
9275 SPELL_CAST_RESULT_NOT_WHILE_GHOST = 0x42,
9276 SPELL_CAST_RESULT_NO_AMMO = 0x43,
9277 SPELL_CAST_RESULT_NO_CHARGES_REMAIN = 0x44,
9278 SPELL_CAST_RESULT_NO_CHAMPION = 0x45,
9279 SPELL_CAST_RESULT_NO_COMBO_POINTS = 0x46,
9280 SPELL_CAST_RESULT_NO_DUELING = 0x47,
9281 SPELL_CAST_RESULT_NO_ENDURANCE = 0x48,
9282 SPELL_CAST_RESULT_NO_FISH = 0x49,
9283 SPELL_CAST_RESULT_NO_ITEMS_WHILE_SHAPESHIFTED = 0x4A,
9284 SPELL_CAST_RESULT_NO_MOUNTS_ALLOWED = 0x4B,
9285 SPELL_CAST_RESULT_NO_PET = 0x4C,
9286 SPELL_CAST_RESULT_NO_POWER = 0x4D,
9287 SPELL_CAST_RESULT_NOTHING_TO_DISPEL = 0x4E,
9288 SPELL_CAST_RESULT_NOTHING_TO_STEAL = 0x4F,
9289 SPELL_CAST_RESULT_ONLY_ABOVEWATER = 0x50,
9290 SPELL_CAST_RESULT_ONLY_DAYTIME = 0x51,
9291 SPELL_CAST_RESULT_ONLY_INDOORS = 0x52,
9292 SPELL_CAST_RESULT_ONLY_MOUNTED = 0x53,
9293 SPELL_CAST_RESULT_ONLY_NIGHTTIME = 0x54,
9294 SPELL_CAST_RESULT_ONLY_OUTDOORS = 0x55,
9295 SPELL_CAST_RESULT_ONLY_SHAPESHIFT = 0x56,
9296 SPELL_CAST_RESULT_ONLY_STEALTHED = 0x57,
9297 SPELL_CAST_RESULT_ONLY_UNDERWATER = 0x58,
9298 SPELL_CAST_RESULT_OUT_OF_RANGE = 0x59,
9299 SPELL_CAST_RESULT_PACIFIED = 0x5A,
9300 SPELL_CAST_RESULT_POSSESSED = 0x5B,
9301 SPELL_CAST_RESULT_REQUIRES_AREA = 0x5D,
9302 SPELL_CAST_RESULT_REQUIRES_SPELL_FOCUS = 0x5E,
9303 SPELL_CAST_RESULT_ROOTED = 0x5F,
9304 SPELL_CAST_RESULT_SILENCED = 0x60,
9305 SPELL_CAST_RESULT_SPELL_IN_PROGRESS = 0x61,
9306 SPELL_CAST_RESULT_SPELL_LEARNED = 0x62,
9307 SPELL_CAST_RESULT_SPELL_UNAVAILABLE = 0x63,
9308 SPELL_CAST_RESULT_STUNNED = 0x64,
9309 SPELL_CAST_RESULT_TARGETS_DEAD = 0x65,
9310 SPELL_CAST_RESULT_TARGET_AFFECTING_COMBAT = 0x66,
9311 SPELL_CAST_RESULT_TARGET_AURASTATE = 0x67,
9312 SPELL_CAST_RESULT_TARGET_DUELING = 0x68,
9313 SPELL_CAST_RESULT_TARGET_ENEMY = 0x69,
9314 SPELL_CAST_RESULT_TARGET_ENRAGED = 0x6A,
9315 SPELL_CAST_RESULT_TARGET_FRIENDLY = 0x6B,
9316 SPELL_CAST_RESULT_TARGET_IN_COMBAT = 0x6C,
9317 SPELL_CAST_RESULT_TARGET_IS_PLAYER = 0x6D,
9318 SPELL_CAST_RESULT_TARGET_NOT_DEAD = 0x6E,
9319 SPELL_CAST_RESULT_TARGET_NOT_IN_PARTY = 0x6F,
9320 SPELL_CAST_RESULT_TARGET_NOT_LOOTED = 0x70,
9321 SPELL_CAST_RESULT_TARGET_NOT_PLAYER = 0x71,
9322 SPELL_CAST_RESULT_TARGET_NO_POCKETS = 0x72,
9323 SPELL_CAST_RESULT_TARGET_NO_WEAPONS = 0x73,
9324 SPELL_CAST_RESULT_TARGET_UNSKINNABLE = 0x74,
9325 SPELL_CAST_RESULT_THIRST_SATIATED = 0x75,
9326 SPELL_CAST_RESULT_TOO_CLOSE = 0x76,
9327 SPELL_CAST_RESULT_TOO_MANY_OF_ITEM = 0x77,
9328 SPELL_CAST_RESULT_TRAINING_POINTS = 0x79,
9329 SPELL_CAST_RESULT_TRY_AGAIN = 0x7A,
9330 SPELL_CAST_RESULT_UNIT_NOT_BEHIND = 0x7B,
9331 SPELL_CAST_RESULT_UNIT_NOT_INFRONT = 0x7C,
9332 SPELL_CAST_RESULT_WRONG_PET_FOOD = 0x7D,
9333 SPELL_CAST_RESULT_NOT_WHILE_FATIGUED = 0x7E,
9334 SPELL_CAST_RESULT_TARGET_NOT_IN_INSTANCE = 0x7F,
9335 SPELL_CAST_RESULT_NOT_WHILE_TRADING = 0x80,
9336 SPELL_CAST_RESULT_TARGET_NOT_IN_RAID = 0x81,
9337 SPELL_CAST_RESULT_DISENCHANT_WHILE_LOOTING = 0x82,
9338 SPELL_CAST_RESULT_PROSPECT_WHILE_LOOTING = 0x83,
9339 SPELL_CAST_RESULT_TARGET_FREEFORALL = 0x85,
9340 SPELL_CAST_RESULT_NO_EDIBLE_CORPSES = 0x86,
9341 SPELL_CAST_RESULT_ONLY_BATTLEGROUNDS = 0x87,
9342 SPELL_CAST_RESULT_TARGET_NOT_GHOST = 0x88,
9343 SPELL_CAST_RESULT_TOO_MANY_SKILLS = 0x89,
9344 SPELL_CAST_RESULT_CANT_USE_NEW_ITEM = 0x8A,
9345 SPELL_CAST_RESULT_WRONG_WEATHER = 0x8B,
9346 SPELL_CAST_RESULT_DAMAGE_IMMUNE = 0x8C,
9347 SPELL_CAST_RESULT_PREVENTED_BY_MECHANIC = 0x8D,
9348 SPELL_CAST_RESULT_PLAY_TIME = 0x8E,
9349 SPELL_CAST_RESULT_REPUTATION = 0x8F,
9350 SPELL_CAST_RESULT_MIN_SKILL = 0x90,
9351 SPELL_CAST_RESULT_UNKNOWN = 0x91,
9352 } e_spell_cast_result;
9353 static const value_string e_spell_cast_result_strings[] = {
9354 { SPELL_CAST_RESULT_AFFECTING_COMBAT, "Affecting Combat" },
9355 { SPELL_CAST_RESULT_ALREADY_AT_FULL_HEALTH, "Already At Full Health" },
9356 { SPELL_CAST_RESULT_ALREADY_AT_FULL_MANA, "Already At Full Mana" },
9357 { SPELL_CAST_RESULT_ALREADY_BEING_TAMED, "Already Being Tamed" },
9358 { SPELL_CAST_RESULT_ALREADY_HAVE_CHARM, "Already Have Charm" },
9359 { SPELL_CAST_RESULT_ALREADY_HAVE_SUMMON, "Already Have Summon" },
9360 { SPELL_CAST_RESULT_ALREADY_OPEN, "Already Open" },
9361 { SPELL_CAST_RESULT_MORE_POWERFUL_SPELL_ACTIVE, "More Powerful Spell Active" },
9362 { SPELL_CAST_RESULT_BAD_IMPLICIT_TARGETS, "Bad Implicit Targets" },
9363 { SPELL_CAST_RESULT_BAD_TARGETS, "Bad Targets" },
9364 { SPELL_CAST_RESULT_CANT_BE_CHARMED, "Cant Be Charmed" },
9365 { SPELL_CAST_RESULT_CANT_BE_DISENCHANTED, "Cant Be Disenchanted" },
9366 { SPELL_CAST_RESULT_CANT_BE_PROSPECTED, "Cant Be Prospected" },
9367 { SPELL_CAST_RESULT_CANT_CAST_ON_TAPPED, "Cant Cast On Tapped" },
9368 { SPELL_CAST_RESULT_CANT_DUEL_WHILE_INVISIBLE, "Cant Duel While Invisible" },
9369 { SPELL_CAST_RESULT_CANT_DUEL_WHILE_STEALTHED, "Cant Duel While Stealthed" },
9370 { SPELL_CAST_RESULT_CANT_TOO_CLOSE_TO_ENEMY, "Cant Too Close To Enemy" },
9371 { SPELL_CAST_RESULT_CANT_DO_THAT_YET, "Cant Do That Yet" },
9372 { SPELL_CAST_RESULT_CASTER_DEAD, "Caster Dead" },
9373 { SPELL_CAST_RESULT_CHARMED, "Charmed" },
9374 { SPELL_CAST_RESULT_CHEST_IN_USE, "Chest In Use" },
9375 { SPELL_CAST_RESULT_CONFUSED, "Confused" },
9376 { SPELL_CAST_RESULT_DONT_REPORT, "Dont Report" },
9377 { SPELL_CAST_RESULT_EQUIPPED_ITEM, "Equipped Item" },
9378 { SPELL_CAST_RESULT_EQUIPPED_ITEM_CLASS, "Equipped Item Class" },
9379 { SPELL_CAST_RESULT_EQUIPPED_ITEM_CLASS_MAINHAND, "Equipped Item Class Mainhand" },
9380 { SPELL_CAST_RESULT_EQUIPPED_ITEM_CLASS_OFFHAND, "Equipped Item Class Offhand" },
9381 { SPELL_CAST_RESULT_ERROR, "Error" },
9382 { SPELL_CAST_RESULT_FIZZLE, "Fizzle" },
9383 { SPELL_CAST_RESULT_FLEEING, "Fleeing" },
9384 { SPELL_CAST_RESULT_FOOD_LOWLEVEL, "Food Lowlevel" },
9385 { SPELL_CAST_RESULT_HIGHLEVEL, "Highlevel" },
9386 { SPELL_CAST_RESULT_IMMUNE, "Immune" },
9387 { SPELL_CAST_RESULT_INTERRUPTED, "Interrupted" },
9388 { SPELL_CAST_RESULT_INTERRUPTED_COMBAT, "Interrupted Combat" },
9389 { SPELL_CAST_RESULT_ITEM_ALREADY_ENCHANTED, "Item Already Enchanted" },
9390 { SPELL_CAST_RESULT_ITEM_GONE, "Item Gone" },
9391 { SPELL_CAST_RESULT_ENCHANT_NOT_EXISTING_ITEM, "Enchant Not Existing Item" },
9392 { SPELL_CAST_RESULT_ITEM_NOT_READY, "Item Not Ready" },
9393 { SPELL_CAST_RESULT_LEVEL_REQUIREMENT, "Level Requirement" },
9394 { SPELL_CAST_RESULT_LINE_OF_SIGHT, "Line Of Sight" },
9395 { SPELL_CAST_RESULT_LOWLEVEL, "Lowlevel" },
9396 { SPELL_CAST_RESULT_SKILL_NOT_HIGH_ENOUGH, "Skill Not High Enough" },
9397 { SPELL_CAST_RESULT_MAINHAND_EMPTY, "Mainhand Empty" },
9398 { SPELL_CAST_RESULT_MOVING, "Moving" },
9399 { SPELL_CAST_RESULT_NEED_AMMO, "Need Ammo" },
9400 { SPELL_CAST_RESULT_NEED_REQUIRES_SOMETHING, "Need Requires Something" },
9401 { SPELL_CAST_RESULT_NEED_EXOTIC_AMMO, "Need Exotic Ammo" },
9402 { SPELL_CAST_RESULT_NOPATH, "Nopath" },
9403 { SPELL_CAST_RESULT_NOT_BEHIND, "Not Behind" },
9404 { SPELL_CAST_RESULT_NOT_FISHABLE, "Not Fishable" },
9405 { SPELL_CAST_RESULT_NOT_HERE, "Not Here" },
9406 { SPELL_CAST_RESULT_NOT_INFRONT, "Not Infront" },
9407 { SPELL_CAST_RESULT_NOT_IN_CONTROL, "Not In Control" },
9408 { SPELL_CAST_RESULT_NOT_KNOWN, "Not Known" },
9409 { SPELL_CAST_RESULT_NOT_MOUNTED, "Not Mounted" },
9410 { SPELL_CAST_RESULT_NOT_ON_TAXI, "Not On Taxi" },
9411 { SPELL_CAST_RESULT_NOT_ON_TRANSPORT, "Not On Transport" },
9412 { SPELL_CAST_RESULT_NOT_READY, "Not Ready" },
9413 { SPELL_CAST_RESULT_NOT_SHAPESHIFT, "Not Shapeshift" },
9414 { SPELL_CAST_RESULT_NOT_STANDING, "Not Standing" },
9415 { SPELL_CAST_RESULT_NOT_TRADEABLE, "Not Tradeable" },
9416 { SPELL_CAST_RESULT_NOT_TRADING, "Not Trading" },
9417 { SPELL_CAST_RESULT_NOT_UNSHEATHED, "Not Unsheathed" },
9418 { SPELL_CAST_RESULT_NOT_WHILE_GHOST, "Not While Ghost" },
9419 { SPELL_CAST_RESULT_NO_AMMO, "No Ammo" },
9420 { SPELL_CAST_RESULT_NO_CHARGES_REMAIN, "No Charges Remain" },
9421 { SPELL_CAST_RESULT_NO_CHAMPION, "No Champion" },
9422 { SPELL_CAST_RESULT_NO_COMBO_POINTS, "No Combo Points" },
9423 { SPELL_CAST_RESULT_NO_DUELING, "No Dueling" },
9424 { SPELL_CAST_RESULT_NO_ENDURANCE, "No Endurance" },
9425 { SPELL_CAST_RESULT_NO_FISH, "No Fish" },
9426 { SPELL_CAST_RESULT_NO_ITEMS_WHILE_SHAPESHIFTED, "No Items While Shapeshifted" },
9427 { SPELL_CAST_RESULT_NO_MOUNTS_ALLOWED, "No Mounts Allowed" },
9428 { SPELL_CAST_RESULT_NO_PET, "No Pet" },
9429 { SPELL_CAST_RESULT_NO_POWER, "No Power" },
9430 { SPELL_CAST_RESULT_NOTHING_TO_DISPEL, "Nothing To Dispel" },
9431 { SPELL_CAST_RESULT_NOTHING_TO_STEAL, "Nothing To Steal" },
9432 { SPELL_CAST_RESULT_ONLY_ABOVEWATER, "Only Abovewater" },
9433 { SPELL_CAST_RESULT_ONLY_DAYTIME, "Only Daytime" },
9434 { SPELL_CAST_RESULT_ONLY_INDOORS, "Only Indoors" },
9435 { SPELL_CAST_RESULT_ONLY_MOUNTED, "Only Mounted" },
9436 { SPELL_CAST_RESULT_ONLY_NIGHTTIME, "Only Nighttime" },
9437 { SPELL_CAST_RESULT_ONLY_OUTDOORS, "Only Outdoors" },
9438 { SPELL_CAST_RESULT_ONLY_SHAPESHIFT, "Only Shapeshift" },
9439 { SPELL_CAST_RESULT_ONLY_STEALTHED, "Only Stealthed" },
9440 { SPELL_CAST_RESULT_ONLY_UNDERWATER, "Only Underwater" },
9441 { SPELL_CAST_RESULT_OUT_OF_RANGE, "Out Of Range" },
9442 { SPELL_CAST_RESULT_PACIFIED, "Pacified" },
9443 { SPELL_CAST_RESULT_POSSESSED, "Possessed" },
9444 { SPELL_CAST_RESULT_REQUIRES_AREA, "Requires Area" },
9445 { SPELL_CAST_RESULT_REQUIRES_SPELL_FOCUS, "Requires Spell Focus" },
9446 { SPELL_CAST_RESULT_ROOTED, "Rooted" },
9447 { SPELL_CAST_RESULT_SILENCED, "Silenced" },
9448 { SPELL_CAST_RESULT_SPELL_IN_PROGRESS, "Spell In Progress" },
9449 { SPELL_CAST_RESULT_SPELL_LEARNED, "Spell Learned" },
9450 { SPELL_CAST_RESULT_SPELL_UNAVAILABLE, "Spell Unavailable" },
9451 { SPELL_CAST_RESULT_STUNNED, "Stunned" },
9452 { SPELL_CAST_RESULT_TARGETS_DEAD, "Targets Dead" },
9453 { SPELL_CAST_RESULT_TARGET_AFFECTING_COMBAT, "Target Affecting Combat" },
9454 { SPELL_CAST_RESULT_TARGET_AURASTATE, "Target Aurastate" },
9455 { SPELL_CAST_RESULT_TARGET_DUELING, "Target Dueling" },
9456 { SPELL_CAST_RESULT_TARGET_ENEMY, "Target Enemy" },
9457 { SPELL_CAST_RESULT_TARGET_ENRAGED, "Target Enraged" },
9458 { SPELL_CAST_RESULT_TARGET_FRIENDLY, "Target Friendly" },
9459 { SPELL_CAST_RESULT_TARGET_IN_COMBAT, "Target In Combat" },
9460 { SPELL_CAST_RESULT_TARGET_IS_PLAYER, "Target Is Player" },
9461 { SPELL_CAST_RESULT_TARGET_NOT_DEAD, "Target Not Dead" },
9462 { SPELL_CAST_RESULT_TARGET_NOT_IN_PARTY, "Target Not In Party" },
9463 { SPELL_CAST_RESULT_TARGET_NOT_LOOTED, "Target Not Looted" },
9464 { SPELL_CAST_RESULT_TARGET_NOT_PLAYER, "Target Not Player" },
9465 { SPELL_CAST_RESULT_TARGET_NO_POCKETS, "Target No Pockets" },
9466 { SPELL_CAST_RESULT_TARGET_NO_WEAPONS, "Target No Weapons" },
9467 { SPELL_CAST_RESULT_TARGET_UNSKINNABLE, "Target Unskinnable" },
9468 { SPELL_CAST_RESULT_THIRST_SATIATED, "Thirst Satiated" },
9469 { SPELL_CAST_RESULT_TOO_CLOSE, "Too Close" },
9470 { SPELL_CAST_RESULT_TOO_MANY_OF_ITEM, "Too Many Of Item" },
9471 { SPELL_CAST_RESULT_TRAINING_POINTS, "Training Points" },
9472 { SPELL_CAST_RESULT_TRY_AGAIN, "Try Again" },
9473 { SPELL_CAST_RESULT_UNIT_NOT_BEHIND, "Unit Not Behind" },
9474 { SPELL_CAST_RESULT_UNIT_NOT_INFRONT, "Unit Not Infront" },
9475 { SPELL_CAST_RESULT_WRONG_PET_FOOD, "Wrong Pet Food" },
9476 { SPELL_CAST_RESULT_NOT_WHILE_FATIGUED, "Not While Fatigued" },
9477 { SPELL_CAST_RESULT_TARGET_NOT_IN_INSTANCE, "Target Not In Instance" },
9478 { SPELL_CAST_RESULT_NOT_WHILE_TRADING, "Not While Trading" },
9479 { SPELL_CAST_RESULT_TARGET_NOT_IN_RAID, "Target Not In Raid" },
9480 { SPELL_CAST_RESULT_DISENCHANT_WHILE_LOOTING, "Disenchant While Looting" },
9481 { SPELL_CAST_RESULT_PROSPECT_WHILE_LOOTING, "Prospect While Looting" },
9482 { SPELL_CAST_RESULT_TARGET_FREEFORALL, "Target Freeforall" },
9483 { SPELL_CAST_RESULT_NO_EDIBLE_CORPSES, "No Edible Corpses" },
9484 { SPELL_CAST_RESULT_ONLY_BATTLEGROUNDS, "Only Battlegrounds" },
9485 { SPELL_CAST_RESULT_TARGET_NOT_GHOST, "Target Not Ghost" },
9486 { SPELL_CAST_RESULT_TOO_MANY_SKILLS, "Too Many Skills" },
9487 { SPELL_CAST_RESULT_CANT_USE_NEW_ITEM, "Cant Use New Item" },
9488 { SPELL_CAST_RESULT_WRONG_WEATHER, "Wrong Weather" },
9489 { SPELL_CAST_RESULT_DAMAGE_IMMUNE, "Damage Immune" },
9490 { SPELL_CAST_RESULT_PREVENTED_BY_MECHANIC, "Prevented By Mechanic" },
9491 { SPELL_CAST_RESULT_PLAY_TIME, "Play Time" },
9492 { SPELL_CAST_RESULT_REPUTATION, "Reputation" },
9493 { SPELL_CAST_RESULT_MIN_SKILL, "Min Skill" },
9494 { SPELL_CAST_RESULT_UNKNOWN, "Unknown" },
9495 { 0, NULL }
9498 typedef enum {
9499 PET_REACT_STATE_PASSIVE = 0x0,
9500 PET_REACT_STATE_DEFENSIVE = 0x1,
9501 PET_REACT_STATE_AGGRESSIVE = 0x2,
9502 } e_pet_react_state;
9503 static const value_string e_pet_react_state_strings[] = {
9504 { PET_REACT_STATE_PASSIVE, "Passive" },
9505 { PET_REACT_STATE_DEFENSIVE, "Defensive" },
9506 { PET_REACT_STATE_AGGRESSIVE, "Aggressive" },
9507 { 0, NULL }
9510 typedef enum {
9511 PET_COMMAND_STATE_STAY = 0x0,
9512 PET_COMMAND_STATE_FOLLOW = 0x1,
9513 PET_COMMAND_STATE_ATTACK = 0x2,
9514 PET_COMMAND_STATE_DISMISS = 0x3,
9515 } e_pet_command_state;
9516 static const value_string e_pet_command_state_strings[] = {
9517 { PET_COMMAND_STATE_STAY, "Stay" },
9518 { PET_COMMAND_STATE_FOLLOW, "Follow" },
9519 { PET_COMMAND_STATE_ATTACK, "Attack" },
9520 { PET_COMMAND_STATE_DISMISS, "Dismiss" },
9521 { 0, NULL }
9524 typedef enum {
9525 PET_ENABLED_ENABLED = 0x8,
9526 PET_ENABLED_DISABLED = 0x0,
9527 } e_pet_enabled;
9528 static const value_string e_pet_enabled_strings[] = {
9529 { PET_ENABLED_ENABLED, "Enabled" },
9530 { PET_ENABLED_DISABLED, "Disabled" },
9531 { 0, NULL }
9534 typedef enum {
9535 PET_TAME_FAILURE_REASON_INVALID_CREATURE = 0x1,
9536 PET_TAME_FAILURE_REASON_TOO_MANY = 0x2,
9537 PET_TAME_FAILURE_REASON_CREATURE_ALREADY_OWNED = 0x3,
9538 PET_TAME_FAILURE_REASON_NOT_TAMEABLE = 0x4,
9539 PET_TAME_FAILURE_REASON_ANOTHER_SUMMON_ACTIVE = 0x5,
9540 PET_TAME_FAILURE_REASON_UNITS_CANT_TAME = 0x6,
9541 PET_TAME_FAILURE_REASON_NO_PET_AVAILABLE = 0x7,
9542 PET_TAME_FAILURE_REASON_INTERNAL_ERROR = 0x8,
9543 PET_TAME_FAILURE_REASON_TOO_HIGH_LEVEL = 0x9,
9544 PET_TAME_FAILURE_REASON_DEAD = 0xA,
9545 PET_TAME_FAILURE_REASON_NOT_DEAD = 0xB,
9546 PET_TAME_FAILURE_REASON_UNKNOWN_ERROR = 0xC,
9547 } e_pet_tame_failure_reason;
9548 static const value_string e_pet_tame_failure_reason_strings[] = {
9549 { PET_TAME_FAILURE_REASON_INVALID_CREATURE, "Invalid Creature" },
9550 { PET_TAME_FAILURE_REASON_TOO_MANY, "Too Many" },
9551 { PET_TAME_FAILURE_REASON_CREATURE_ALREADY_OWNED, "Creature Already Owned" },
9552 { PET_TAME_FAILURE_REASON_NOT_TAMEABLE, "Not Tameable" },
9553 { PET_TAME_FAILURE_REASON_ANOTHER_SUMMON_ACTIVE, "Another Summon Active" },
9554 { PET_TAME_FAILURE_REASON_UNITS_CANT_TAME, "Units Cant Tame" },
9555 { PET_TAME_FAILURE_REASON_NO_PET_AVAILABLE, "No Pet Available" },
9556 { PET_TAME_FAILURE_REASON_INTERNAL_ERROR, "Internal Error" },
9557 { PET_TAME_FAILURE_REASON_TOO_HIGH_LEVEL, "Too High Level" },
9558 { PET_TAME_FAILURE_REASON_DEAD, "Dead" },
9559 { PET_TAME_FAILURE_REASON_NOT_DEAD, "Not Dead" },
9560 { PET_TAME_FAILURE_REASON_UNKNOWN_ERROR, "Unknown Error" },
9561 { 0, NULL }
9564 typedef enum {
9565 LOG_FORMAT_DEFAULT = 0x0,
9566 LOG_FORMAT_DEBUG = 0x1,
9567 } e_log_format;
9568 static const value_string e_log_format_strings[] = {
9569 { LOG_FORMAT_DEFAULT, "Default" },
9570 { LOG_FORMAT_DEBUG, "Debug" },
9571 { 0, NULL }
9574 typedef enum {
9575 QUEST_FAILED_REASON_DONT_HAVE_REQ = 0x00,
9576 QUEST_FAILED_REASON_QUEST_FAILED_LOW_LEVEL = 0x01,
9577 QUEST_FAILED_REASON_QUEST_FAILED_REQS = 0x02,
9578 QUEST_FAILED_REASON_QUEST_FAILED_INVENTORY_FULL = 0x04,
9579 QUEST_FAILED_REASON_QUEST_FAILED_WRONG_RACE = 0x06,
9580 QUEST_FAILED_REASON_QUEST_ONLY_ONE_TIMED = 0x0C,
9581 QUEST_FAILED_REASON_QUEST_ALREADY_ON = 0x0D,
9582 QUEST_FAILED_REASON_QUEST_FAILED_DUPLICATE_ITEM = 0x11,
9583 QUEST_FAILED_REASON_QUEST_FAILED_MISSING_ITEMS = 0x14,
9584 QUEST_FAILED_REASON_QUEST_FAILED_NOT_ENOUGH_MONEY = 0x16,
9585 } e_quest_failed_reason;
9586 static const value_string e_quest_failed_reason_strings[] = {
9587 { QUEST_FAILED_REASON_DONT_HAVE_REQ, "Dont Have Req" },
9588 { QUEST_FAILED_REASON_QUEST_FAILED_LOW_LEVEL, "Quest Failed Low Level" },
9589 { QUEST_FAILED_REASON_QUEST_FAILED_REQS, "Quest Failed Reqs" },
9590 { QUEST_FAILED_REASON_QUEST_FAILED_INVENTORY_FULL, "Quest Failed Inventory Full" },
9591 { QUEST_FAILED_REASON_QUEST_FAILED_WRONG_RACE, "Quest Failed Wrong Race" },
9592 { QUEST_FAILED_REASON_QUEST_ONLY_ONE_TIMED, "Quest Only One Timed" },
9593 { QUEST_FAILED_REASON_QUEST_ALREADY_ON, "Quest Already On" },
9594 { QUEST_FAILED_REASON_QUEST_FAILED_DUPLICATE_ITEM, "Quest Failed Duplicate Item" },
9595 { QUEST_FAILED_REASON_QUEST_FAILED_MISSING_ITEMS, "Quest Failed Missing Items" },
9596 { QUEST_FAILED_REASON_QUEST_FAILED_NOT_ENOUGH_MONEY, "Quest Failed Not Enough Money" },
9597 { 0, NULL }
9600 typedef enum {
9601 QUEST_COMPLETABLE_NOT_COMPLETABLE = 0x0,
9602 QUEST_COMPLETABLE_COMPLETEABLE = 0x3,
9603 } e_quest_completable;
9604 static const value_string e_quest_completable_strings[] = {
9605 { QUEST_COMPLETABLE_NOT_COMPLETABLE, "Not Completable" },
9606 { QUEST_COMPLETABLE_COMPLETEABLE, "Completeable" },
9607 { 0, NULL }
9610 typedef enum {
9611 QUEST_GIVER_STATUS_NONE = 0x0,
9612 QUEST_GIVER_STATUS_UNAVAILABLE = 0x1,
9613 QUEST_GIVER_STATUS_CHAT = 0x2,
9614 QUEST_GIVER_STATUS_INCOMPLETE = 0x3,
9615 QUEST_GIVER_STATUS_REWARD_REP = 0x4,
9616 QUEST_GIVER_STATUS_AVAILABLE = 0x5,
9617 QUEST_GIVER_STATUS_REWARD_OLD = 0x6,
9618 QUEST_GIVER_STATUS_REWARD2 = 0x7,
9619 } e_quest_giver_status;
9620 static const value_string e_quest_giver_status_strings[] = {
9621 { QUEST_GIVER_STATUS_NONE, "None" },
9622 { QUEST_GIVER_STATUS_UNAVAILABLE, "Unavailable" },
9623 { QUEST_GIVER_STATUS_CHAT, "Chat" },
9624 { QUEST_GIVER_STATUS_INCOMPLETE, "Incomplete" },
9625 { QUEST_GIVER_STATUS_REWARD_REP, "Reward Rep" },
9626 { QUEST_GIVER_STATUS_AVAILABLE, "Available" },
9627 { QUEST_GIVER_STATUS_REWARD_OLD, "Reward Old" },
9628 { QUEST_GIVER_STATUS_REWARD2, "Reward2" },
9629 { 0, NULL }
9632 typedef enum {
9633 RAID_GROUP_ERROR_REQUIRED = 0x1,
9634 RAID_GROUP_ERROR_FULL = 0x2,
9635 } e_raid_group_error;
9636 static const value_string e_raid_group_error_strings[] = {
9637 { RAID_GROUP_ERROR_REQUIRED, "Required" },
9638 { RAID_GROUP_ERROR_FULL, "Full" },
9639 { 0, NULL }
9642 typedef enum {
9643 RAID_INSTANCE_MESSAGE_WARNING_HOURS = 0x1,
9644 RAID_INSTANCE_MESSAGE_WARNING_MIN = 0x2,
9645 RAID_INSTANCE_MESSAGE_WARNING_MIN_SOON = 0x3,
9646 RAID_INSTANCE_MESSAGE_WELCOME = 0x4,
9647 } e_raid_instance_message;
9648 static const value_string e_raid_instance_message_strings[] = {
9649 { RAID_INSTANCE_MESSAGE_WARNING_HOURS, "Warning Hours" },
9650 { RAID_INSTANCE_MESSAGE_WARNING_MIN, "Warning Min" },
9651 { RAID_INSTANCE_MESSAGE_WARNING_MIN_SOON, "Warning Min Soon" },
9652 { RAID_INSTANCE_MESSAGE_WELCOME, "Welcome" },
9653 { 0, NULL }
9656 typedef enum {
9657 SELL_ITEM_RESULT_CANT_FIND_ITEM = 0x1,
9658 SELL_ITEM_RESULT_CANT_SELL_ITEM = 0x2,
9659 SELL_ITEM_RESULT_CANT_FIND_VENDOR = 0x3,
9660 SELL_ITEM_RESULT_YOU_DONT_OWN_THAT_ITEM = 0x4,
9661 SELL_ITEM_RESULT_UNK = 0x5,
9662 SELL_ITEM_RESULT_ONLY_EMPTY_BAG = 0x6,
9663 } e_sell_item_result;
9664 static const value_string e_sell_item_result_strings[] = {
9665 { SELL_ITEM_RESULT_CANT_FIND_ITEM, "Cant Find Item" },
9666 { SELL_ITEM_RESULT_CANT_SELL_ITEM, "Cant Sell Item" },
9667 { SELL_ITEM_RESULT_CANT_FIND_VENDOR, "Cant Find Vendor" },
9668 { SELL_ITEM_RESULT_YOU_DONT_OWN_THAT_ITEM, "You Dont Own That Item" },
9669 { SELL_ITEM_RESULT_UNK, "Unk" },
9670 { SELL_ITEM_RESULT_ONLY_EMPTY_BAG, "Only Empty Bag" },
9671 { 0, NULL }
9674 typedef enum {
9675 MAIL_ACTION_SEND = 0x0,
9676 MAIL_ACTION_MONEY_TAKEN = 0x1,
9677 MAIL_ACTION_ITEM_TAKEN = 0x2,
9678 MAIL_ACTION_RETURNED_TO_SENDER = 0x3,
9679 MAIL_ACTION_DELETED = 0x4,
9680 MAIL_ACTION_MADE_PERMANENT = 0x5,
9681 } e_mail_action;
9682 static const value_string e_mail_action_strings[] = {
9683 { MAIL_ACTION_SEND, "Send" },
9684 { MAIL_ACTION_MONEY_TAKEN, "Money Taken" },
9685 { MAIL_ACTION_ITEM_TAKEN, "Item Taken" },
9686 { MAIL_ACTION_RETURNED_TO_SENDER, "Returned To Sender" },
9687 { MAIL_ACTION_DELETED, "Deleted" },
9688 { MAIL_ACTION_MADE_PERMANENT, "Made Permanent" },
9689 { 0, NULL }
9692 typedef enum {
9693 MAIL_RESULT_OK = 0x00,
9694 MAIL_RESULT_ERR_EQUIP_ERROR = 0x01,
9695 MAIL_RESULT_ERR_CANNOT_SEND_TO_SELF = 0x02,
9696 MAIL_RESULT_ERR_NOT_ENOUGH_MONEY = 0x03,
9697 MAIL_RESULT_ERR_RECIPIENT_NOT_FOUND = 0x04,
9698 MAIL_RESULT_ERR_NOT_YOUR_TEAM = 0x05,
9699 MAIL_RESULT_ERR_INTERNAL_ERROR = 0x06,
9700 MAIL_RESULT_ERR_DISABLED_FOR_TRIAL_ACC = 0x0E,
9701 MAIL_RESULT_ERR_RECIPIENT_CAP_REACHED = 0x0F,
9702 MAIL_RESULT_ERR_CANT_SEND_WRAPPED_COD = 0x10,
9703 MAIL_RESULT_ERR_MAIL_AND_CHAT_SUSPENDED = 0x11,
9704 MAIL_RESULT_ERR_TOO_MANY_ATTACHMENTS = 0x12,
9705 MAIL_RESULT_ERR_MAIL_ATTACHMENT_INVALID = 0x13,
9706 } e_mail_result;
9707 static const value_string e_mail_result_strings[] = {
9708 { MAIL_RESULT_OK, "Ok" },
9709 { MAIL_RESULT_ERR_EQUIP_ERROR, "Err Equip Error" },
9710 { MAIL_RESULT_ERR_CANNOT_SEND_TO_SELF, "Err Cannot Send To Self" },
9711 { MAIL_RESULT_ERR_NOT_ENOUGH_MONEY, "Err Not Enough Money" },
9712 { MAIL_RESULT_ERR_RECIPIENT_NOT_FOUND, "Err Recipient Not Found" },
9713 { MAIL_RESULT_ERR_NOT_YOUR_TEAM, "Err Not Your Team" },
9714 { MAIL_RESULT_ERR_INTERNAL_ERROR, "Err Internal Error" },
9715 { MAIL_RESULT_ERR_DISABLED_FOR_TRIAL_ACC, "Err Disabled For Trial Acc" },
9716 { MAIL_RESULT_ERR_RECIPIENT_CAP_REACHED, "Err Recipient Cap Reached" },
9717 { MAIL_RESULT_ERR_CANT_SEND_WRAPPED_COD, "Err Cant Send Wrapped Cod" },
9718 { MAIL_RESULT_ERR_MAIL_AND_CHAT_SUSPENDED, "Err Mail And Chat Suspended" },
9719 { MAIL_RESULT_ERR_TOO_MANY_ATTACHMENTS, "Err Too Many Attachments" },
9720 { MAIL_RESULT_ERR_MAIL_ATTACHMENT_INVALID, "Err Mail Attachment Invalid" },
9721 { 0, NULL }
9724 typedef enum {
9725 MAIL_RESULT_TWO_OK = 0x00,
9726 MAIL_RESULT_TWO_ERR_EQUIP_ERROR = 0x01,
9727 MAIL_RESULT_TWO_ERR_CANNOT_SEND_TO_SELF = 0x02,
9728 MAIL_RESULT_TWO_ERR_NOT_ENOUGH_MONEY = 0x03,
9729 MAIL_RESULT_TWO_ERR_RECIPIENT_NOT_FOUND = 0x04,
9730 MAIL_RESULT_TWO_ERR_NOT_YOUR_TEAM = 0x05,
9731 MAIL_RESULT_TWO_ERR_INTERNAL_ERROR = 0x06,
9732 MAIL_RESULT_TWO_ERR_DISABLED_FOR_TRIAL_ACC = 0x0E,
9733 MAIL_RESULT_TWO_ERR_RECIPIENT_CAP_REACHED = 0x0F,
9734 MAIL_RESULT_TWO_ERR_CANT_SEND_WRAPPED_COD = 0x10,
9735 MAIL_RESULT_TWO_ERR_MAIL_AND_CHAT_SUSPENDED = 0x11,
9736 MAIL_RESULT_TWO_ERR_TOO_MANY_ATTACHMENTS = 0x12,
9737 MAIL_RESULT_TWO_ERR_MAIL_ATTACHMENT_INVALID = 0x13,
9738 } e_mail_result_two;
9739 static const value_string e_mail_result_two_strings[] = {
9740 { MAIL_RESULT_TWO_OK, "Ok" },
9741 { MAIL_RESULT_TWO_ERR_EQUIP_ERROR, "Err Equip Error" },
9742 { MAIL_RESULT_TWO_ERR_CANNOT_SEND_TO_SELF, "Err Cannot Send To Self" },
9743 { MAIL_RESULT_TWO_ERR_NOT_ENOUGH_MONEY, "Err Not Enough Money" },
9744 { MAIL_RESULT_TWO_ERR_RECIPIENT_NOT_FOUND, "Err Recipient Not Found" },
9745 { MAIL_RESULT_TWO_ERR_NOT_YOUR_TEAM, "Err Not Your Team" },
9746 { MAIL_RESULT_TWO_ERR_INTERNAL_ERROR, "Err Internal Error" },
9747 { MAIL_RESULT_TWO_ERR_DISABLED_FOR_TRIAL_ACC, "Err Disabled For Trial Acc" },
9748 { MAIL_RESULT_TWO_ERR_RECIPIENT_CAP_REACHED, "Err Recipient Cap Reached" },
9749 { MAIL_RESULT_TWO_ERR_CANT_SEND_WRAPPED_COD, "Err Cant Send Wrapped Cod" },
9750 { MAIL_RESULT_TWO_ERR_MAIL_AND_CHAT_SUSPENDED, "Err Mail And Chat Suspended" },
9751 { MAIL_RESULT_TWO_ERR_TOO_MANY_ATTACHMENTS, "Err Too Many Attachments" },
9752 { MAIL_RESULT_TWO_ERR_MAIL_ATTACHMENT_INVALID, "Err Mail Attachment Invalid" },
9753 { 0, NULL }
9756 typedef enum {
9757 SERVER_MESSAGE_TYPE_SHUTDOWN_TIME = 0x1,
9758 SERVER_MESSAGE_TYPE_RESTART_TIME = 0x2,
9759 SERVER_MESSAGE_TYPE_CUSTOM = 0x3,
9760 SERVER_MESSAGE_TYPE_SHUTDOWN_CANCELLED = 0x4,
9761 SERVER_MESSAGE_TYPE_RESTART_CANCELLED = 0x5,
9762 } e_server_message_type;
9763 static const value_string e_server_message_type_strings[] = {
9764 { SERVER_MESSAGE_TYPE_SHUTDOWN_TIME, "Shutdown Time" },
9765 { SERVER_MESSAGE_TYPE_RESTART_TIME, "Restart Time" },
9766 { SERVER_MESSAGE_TYPE_CUSTOM, "Custom" },
9767 { SERVER_MESSAGE_TYPE_SHUTDOWN_CANCELLED, "Shutdown Cancelled" },
9768 { SERVER_MESSAGE_TYPE_RESTART_CANCELLED, "Restart Cancelled" },
9769 { 0, NULL }
9772 typedef enum {
9773 ITEM_CLASS_CONSUMABLE = 0x0,
9774 ITEM_CLASS_CONTAINER = 0x1,
9775 ITEM_CLASS_WEAPON = 0x2,
9776 ITEM_CLASS_GEM = 0x3,
9777 ITEM_CLASS_ARMOR = 0x4,
9778 ITEM_CLASS_REAGENT = 0x5,
9779 ITEM_CLASS_PROJECTILE = 0x6,
9780 ITEM_CLASS_TRADE_GOODS = 0x7,
9781 ITEM_CLASS_GENERIC = 0x8,
9782 ITEM_CLASS_RECIPE = 0x9,
9783 ITEM_CLASS_MONEY = 0xA,
9784 ITEM_CLASS_QUIVER = 0xB,
9785 ITEM_CLASS_QUEST = 0xC,
9786 ITEM_CLASS_KEY = 0xD,
9787 ITEM_CLASS_PERMANENT = 0xE,
9788 ITEM_CLASS_MISC = 0xF,
9789 } e_item_class;
9790 static const value_string e_item_class_strings[] = {
9791 { ITEM_CLASS_CONSUMABLE, "Consumable" },
9792 { ITEM_CLASS_CONTAINER, "Container" },
9793 { ITEM_CLASS_WEAPON, "Weapon" },
9794 { ITEM_CLASS_GEM, "Gem" },
9795 { ITEM_CLASS_ARMOR, "Armor" },
9796 { ITEM_CLASS_REAGENT, "Reagent" },
9797 { ITEM_CLASS_PROJECTILE, "Projectile" },
9798 { ITEM_CLASS_TRADE_GOODS, "Trade Goods" },
9799 { ITEM_CLASS_GENERIC, "Generic" },
9800 { ITEM_CLASS_RECIPE, "Recipe" },
9801 { ITEM_CLASS_MONEY, "Money" },
9802 { ITEM_CLASS_QUIVER, "Quiver" },
9803 { ITEM_CLASS_QUEST, "Quest" },
9804 { ITEM_CLASS_KEY, "Key" },
9805 { ITEM_CLASS_PERMANENT, "Permanent" },
9806 { ITEM_CLASS_MISC, "Misc" },
9807 { 0, NULL }
9810 typedef enum {
9811 STABLE_RESULT_ERR_MONEY = 0x1,
9812 STABLE_RESULT_ERR_STABLE = 0x6,
9813 STABLE_RESULT_SUCCESS_STABLE = 0x8,
9814 STABLE_RESULT_SUCCESS_UNSTABLE = 0x9,
9815 STABLE_RESULT_SUCCESS_BUY_SLOT = 0xA,
9816 } e_stable_result;
9817 static const value_string e_stable_result_strings[] = {
9818 { STABLE_RESULT_ERR_MONEY, "Err Money" },
9819 { STABLE_RESULT_ERR_STABLE, "Err Stable" },
9820 { STABLE_RESULT_SUCCESS_STABLE, "Success Stable" },
9821 { STABLE_RESULT_SUCCESS_UNSTABLE, "Success Unstable" },
9822 { STABLE_RESULT_SUCCESS_BUY_SLOT, "Success Buy Slot" },
9823 { 0, NULL }
9826 typedef enum {
9827 TRADE_STATUS_BUSY = 0x00,
9828 TRADE_STATUS_BEGIN_TRADE = 0x01,
9829 TRADE_STATUS_OPEN_WINDOW = 0x02,
9830 TRADE_STATUS_TRADE_CANCELED = 0x03,
9831 TRADE_STATUS_TRADE_ACCEPT = 0x04,
9832 TRADE_STATUS_BUSY_2 = 0x05,
9833 TRADE_STATUS_NO_TARGET = 0x06,
9834 TRADE_STATUS_BACK_TO_TRADE = 0x07,
9835 TRADE_STATUS_TRADE_COMPLETE = 0x08,
9836 TRADE_STATUS_TRADE_REJECTED = 0x09,
9837 TRADE_STATUS_TARGET_TO_FAR = 0x0A,
9838 TRADE_STATUS_WRONG_FACTION = 0x0B,
9839 TRADE_STATUS_CLOSE_WINDOW = 0x0C,
9840 TRADE_STATUS_UNKNOWN_13 = 0x0D,
9841 TRADE_STATUS_IGNORE_YOU = 0x0E,
9842 TRADE_STATUS_YOU_STUNNED = 0x0F,
9843 TRADE_STATUS_TARGET_STUNNED = 0x10,
9844 TRADE_STATUS_YOU_DEAD = 0x11,
9845 TRADE_STATUS_TARGET_DEAD = 0x12,
9846 TRADE_STATUS_YOU_LOGOUT = 0x13,
9847 TRADE_STATUS_TARGET_LOGOUT = 0x14,
9848 TRADE_STATUS_TRIAL_ACCOUNT = 0x15,
9849 TRADE_STATUS_ONLY_CONJURED = 0x16,
9850 TRADE_STATUS_NOT_ON_TAPLIST = 0x17,
9851 } e_trade_status;
9852 static const value_string e_trade_status_strings[] = {
9853 { TRADE_STATUS_BUSY, "Busy" },
9854 { TRADE_STATUS_BEGIN_TRADE, "Begin Trade" },
9855 { TRADE_STATUS_OPEN_WINDOW, "Open Window" },
9856 { TRADE_STATUS_TRADE_CANCELED, "Trade Canceled" },
9857 { TRADE_STATUS_TRADE_ACCEPT, "Trade Accept" },
9858 { TRADE_STATUS_BUSY_2, "Busy 2" },
9859 { TRADE_STATUS_NO_TARGET, "No Target" },
9860 { TRADE_STATUS_BACK_TO_TRADE, "Back To Trade" },
9861 { TRADE_STATUS_TRADE_COMPLETE, "Trade Complete" },
9862 { TRADE_STATUS_TRADE_REJECTED, "Trade Rejected" },
9863 { TRADE_STATUS_TARGET_TO_FAR, "Target To Far" },
9864 { TRADE_STATUS_WRONG_FACTION, "Wrong Faction" },
9865 { TRADE_STATUS_CLOSE_WINDOW, "Close Window" },
9866 { TRADE_STATUS_UNKNOWN_13, "Unknown 13" },
9867 { TRADE_STATUS_IGNORE_YOU, "Ignore You" },
9868 { TRADE_STATUS_YOU_STUNNED, "You Stunned" },
9869 { TRADE_STATUS_TARGET_STUNNED, "Target Stunned" },
9870 { TRADE_STATUS_YOU_DEAD, "You Dead" },
9871 { TRADE_STATUS_TARGET_DEAD, "Target Dead" },
9872 { TRADE_STATUS_YOU_LOGOUT, "You Logout" },
9873 { TRADE_STATUS_TARGET_LOGOUT, "Target Logout" },
9874 { TRADE_STATUS_TRIAL_ACCOUNT, "Trial Account" },
9875 { TRADE_STATUS_ONLY_CONJURED, "Only Conjured" },
9876 { TRADE_STATUS_NOT_ON_TAPLIST, "Not On Taplist" },
9877 { 0, NULL }
9880 typedef enum {
9881 TRAINING_FAILURE_REASON_UNAVAILABLE = 0x0,
9882 TRAINING_FAILURE_REASON_NOT_ENOUGH_MONEY = 0x1,
9883 TRAINING_FAILURE_REASON_NOT_ENOUGH_SKILL = 0x2,
9884 } e_training_failure_reason;
9885 static const value_string e_training_failure_reason_strings[] = {
9886 { TRAINING_FAILURE_REASON_UNAVAILABLE, "Unavailable" },
9887 { TRAINING_FAILURE_REASON_NOT_ENOUGH_MONEY, "Not Enough Money" },
9888 { TRAINING_FAILURE_REASON_NOT_ENOUGH_SKILL, "Not Enough Skill" },
9889 { 0, NULL }
9892 typedef enum {
9893 TRANSFER_ABORT_REASON_NONE = 0x0,
9894 TRANSFER_ABORT_REASON_IS_FULL = 0x1,
9895 TRANSFER_ABORT_REASON_NOT_FOUND = 0x2,
9896 TRANSFER_ABORT_REASON_TOO_MANY_INSTANCES = 0x3,
9897 TRANSFER_ABORT_REASON_ZONE_IS_IN_COMBAT = 0x5,
9898 } e_transfer_abort_reason;
9899 static const value_string e_transfer_abort_reason_strings[] = {
9900 { TRANSFER_ABORT_REASON_NONE, "None" },
9901 { TRANSFER_ABORT_REASON_IS_FULL, "Is Full" },
9902 { TRANSFER_ABORT_REASON_NOT_FOUND, "Not Found" },
9903 { TRANSFER_ABORT_REASON_TOO_MANY_INSTANCES, "Too Many Instances" },
9904 { TRANSFER_ABORT_REASON_ZONE_IS_IN_COMBAT, "Zone Is In Combat" },
9905 { 0, NULL }
9908 typedef enum {
9909 CINEMATIC_SEQUENCE_ID_GOBLIN = 0x00,
9910 CINEMATIC_SEQUENCE_ID_UNDEAD = 0x02,
9911 CINEMATIC_SEQUENCE_ID_ORC = 0x15,
9912 CINEMATIC_SEQUENCE_ID_DWARF = 0x29,
9913 CINEMATIC_SEQUENCE_ID_NIGHT_ELF = 0x3D,
9914 CINEMATIC_SEQUENCE_ID_HUMAN = 0x51,
9915 CINEMATIC_SEQUENCE_ID_GNOME = 0x65,
9916 CINEMATIC_SEQUENCE_ID_TROLL = 0x79,
9917 CINEMATIC_SEQUENCE_ID_TAUREN = 0x8D,
9918 } e_cinematic_sequence_id;
9919 static const value_string e_cinematic_sequence_id_strings[] = {
9920 { CINEMATIC_SEQUENCE_ID_GOBLIN, "Goblin" },
9921 { CINEMATIC_SEQUENCE_ID_UNDEAD, "Undead" },
9922 { CINEMATIC_SEQUENCE_ID_ORC, "Orc" },
9923 { CINEMATIC_SEQUENCE_ID_DWARF, "Dwarf" },
9924 { CINEMATIC_SEQUENCE_ID_NIGHT_ELF, "Night Elf" },
9925 { CINEMATIC_SEQUENCE_ID_HUMAN, "Human" },
9926 { CINEMATIC_SEQUENCE_ID_GNOME, "Gnome" },
9927 { CINEMATIC_SEQUENCE_ID_TROLL, "Troll" },
9928 { CINEMATIC_SEQUENCE_ID_TAUREN, "Tauren" },
9929 { 0, NULL }
9932 typedef enum {
9933 WEATHER_TYPE_FINE = 0x0,
9934 WEATHER_TYPE_RAIN = 0x1,
9935 WEATHER_TYPE_SNOW = 0x2,
9936 WEATHER_TYPE_STORM = 0x3,
9937 } e_weather_type;
9938 static const value_string e_weather_type_strings[] = {
9939 { WEATHER_TYPE_FINE, "Fine" },
9940 { WEATHER_TYPE_RAIN, "Rain" },
9941 { WEATHER_TYPE_SNOW, "Snow" },
9942 { WEATHER_TYPE_STORM, "Storm" },
9943 { 0, NULL }
9946 typedef enum {
9947 WEATHER_CHANGE_TYPE_SMOOTH = 0x0,
9948 WEATHER_CHANGE_TYPE_INSTANT = 0x1,
9949 } e_weather_change_type;
9950 static const value_string e_weather_change_type_strings[] = {
9951 { WEATHER_CHANGE_TYPE_SMOOTH, "Smooth" },
9952 { WEATHER_CHANGE_TYPE_INSTANT, "Instant" },
9953 { 0, NULL }
9957 typedef enum {
9958 CHANNEL_MEMBER_FLAGS_NONE = 0x00,
9959 CHANNEL_MEMBER_FLAGS_OWNER = 0x01,
9960 CHANNEL_MEMBER_FLAGS_MODERATOR = 0x04,
9961 CHANNEL_MEMBER_FLAGS_VOICED = 0x08,
9962 CHANNEL_MEMBER_FLAGS_MUTED = 0x10,
9963 CHANNEL_MEMBER_FLAGS_CUSTOM = 0x20,
9964 CHANNEL_MEMBER_FLAGS_MICROPHONE_MUTE = 0x40,
9965 } e_channel_member_flags;
9967 typedef enum {
9968 CHARACTER_FLAGS_NONE = 0x0000,
9969 CHARACTER_FLAGS_LOCKED_FOR_TRANSFER = 0x0004,
9970 CHARACTER_FLAGS_HIDE_HELM = 0x0400,
9971 CHARACTER_FLAGS_HIDE_CLOAK = 0x0800,
9972 CHARACTER_FLAGS_GHOST = 0x2000,
9973 CHARACTER_FLAGS_RENAME = 0x4000,
9974 } e_character_flags;
9976 typedef enum {
9977 FACTION_FLAG_VISIBLE = 0x01,
9978 FACTION_FLAG_AT_WAR = 0x02,
9979 FACTION_FLAG_HIDDEN = 0x04,
9980 FACTION_FLAG_INVISIBLE_FORCED = 0x08,
9981 FACTION_FLAG_PEACE_FORCED = 0x10,
9982 FACTION_FLAG_INACTIVE = 0x20,
9983 FACTION_FLAG_RIVAL = 0x40,
9984 } e_faction_flag;
9986 typedef enum {
9987 SPLINE_FLAG_NONE = 0x00000000,
9988 SPLINE_FLAG_DONE = 0x00000001,
9989 SPLINE_FLAG_FALLING = 0x00000002,
9990 SPLINE_FLAG_UNKNOWN3 = 0x00000004,
9991 SPLINE_FLAG_UNKNOWN4 = 0x00000008,
9992 SPLINE_FLAG_UNKNOWN5 = 0x00000010,
9993 SPLINE_FLAG_UNKNOWN6 = 0x00000020,
9994 SPLINE_FLAG_UNKNOWN7 = 0x00000040,
9995 SPLINE_FLAG_UNKNOWN8 = 0x00000080,
9996 SPLINE_FLAG_RUN_MODE = 0x00000100,
9997 SPLINE_FLAG_FLYING = 0x00000200,
9998 SPLINE_FLAG_NO_SPLINE = 0x00000400,
9999 SPLINE_FLAG_UNKNOWN12 = 0x00000800,
10000 SPLINE_FLAG_UNKNOWN13 = 0x00001000,
10001 SPLINE_FLAG_UNKNOWN14 = 0x00002000,
10002 SPLINE_FLAG_UNKNOWN15 = 0x00004000,
10003 SPLINE_FLAG_UNKNOWN16 = 0x00008000,
10004 SPLINE_FLAG_FINAL_POINT = 0x00010000,
10005 SPLINE_FLAG_FINAL_TARGET = 0x00020000,
10006 SPLINE_FLAG_FINAL_ANGLE = 0x00040000,
10007 SPLINE_FLAG_UNKNOWN19 = 0x00080000,
10008 SPLINE_FLAG_CYCLIC = 0x00100000,
10009 SPLINE_FLAG_ENTER_CYCLE = 0x00200000,
10010 SPLINE_FLAG_FROZEN = 0x00400000,
10011 SPLINE_FLAG_UNKNOWN23 = 0x00800000,
10012 SPLINE_FLAG_UNKNOWN24 = 0x01000000,
10013 SPLINE_FLAG_UNKNOWN25 = 0x02000000,
10014 SPLINE_FLAG_UNKNOWN26 = 0x04000000,
10015 SPLINE_FLAG_UNKNOWN27 = 0x08000000,
10016 SPLINE_FLAG_UNKNOWN28 = 0x10000000,
10017 SPLINE_FLAG_UNKNOWN29 = 0x20000000,
10018 SPLINE_FLAG_UNKNOWN30 = 0x40000000,
10019 SPLINE_FLAG_UNKNOWN31 = -0x7FFFFFFF,
10020 } e_spline_flag;
10022 typedef enum {
10023 UPDATE_FLAG_NONE = 0x00,
10024 UPDATE_FLAG_SELF = 0x01,
10025 UPDATE_FLAG_TRANSPORT = 0x02,
10026 UPDATE_FLAG_MELEE_ATTACKING = 0x04,
10027 UPDATE_FLAG_HIGH_GUID = 0x08,
10028 UPDATE_FLAG_ALL = 0x10,
10029 UPDATE_FLAG_LIVING = 0x20,
10030 UPDATE_FLAG_HAS_POSITION = 0x40,
10031 } e_update_flag;
10033 typedef enum {
10034 MOVEMENT_FLAGS_NONE = 0x00000000,
10035 MOVEMENT_FLAGS_FORWARD = 0x00000001,
10036 MOVEMENT_FLAGS_BACKWARD = 0x00000002,
10037 MOVEMENT_FLAGS_STRAFE_LEFT = 0x00000004,
10038 MOVEMENT_FLAGS_STRAFE_RIGHT = 0x00000008,
10039 MOVEMENT_FLAGS_TURN_LEFT = 0x00000010,
10040 MOVEMENT_FLAGS_TURN_RIGHT = 0x00000020,
10041 MOVEMENT_FLAGS_PITCH_UP = 0x00000040,
10042 MOVEMENT_FLAGS_PITCH_DOWN = 0x00000080,
10043 MOVEMENT_FLAGS_WALK_MODE = 0x00000100,
10044 MOVEMENT_FLAGS_ON_TRANSPORT = 0x00000200,
10045 MOVEMENT_FLAGS_LEVITATING = 0x00000400,
10046 MOVEMENT_FLAGS_FIXED_Z = 0x00000800,
10047 MOVEMENT_FLAGS_ROOT = 0x00001000,
10048 MOVEMENT_FLAGS_JUMPING = 0x00002000,
10049 MOVEMENT_FLAGS_FALLINGFAR = 0x00004000,
10050 MOVEMENT_FLAGS_SWIMMING = 0x00200000,
10051 MOVEMENT_FLAGS_SPLINE_ENABLED = 0x00400000,
10052 MOVEMENT_FLAGS_CAN_FLY = 0x00800000,
10053 MOVEMENT_FLAGS_FLYING = 0x01000000,
10054 MOVEMENT_FLAGS_ONTRANSPORT = 0x02000000,
10055 MOVEMENT_FLAGS_SPLINE_ELEVATION = 0x04000000,
10056 MOVEMENT_FLAGS_WATERWALKING = 0x10000000,
10057 MOVEMENT_FLAGS_SAFE_FALL = 0x20000000,
10058 MOVEMENT_FLAGS_HOVER = 0x40000000,
10059 } e_movement_flags;
10061 typedef enum {
10062 SPELL_CAST_TARGET_FLAGS_SELF = 0x0000,
10063 SPELL_CAST_TARGET_FLAGS_UNUSED1 = 0x0001,
10064 SPELL_CAST_TARGET_FLAGS_UNIT = 0x0002,
10065 SPELL_CAST_TARGET_FLAGS_UNUSED2 = 0x0004,
10066 SPELL_CAST_TARGET_FLAGS_UNUSED3 = 0x0008,
10067 SPELL_CAST_TARGET_FLAGS_ITEM = 0x0010,
10068 SPELL_CAST_TARGET_FLAGS_SOURCE_LOCATION = 0x0020,
10069 SPELL_CAST_TARGET_FLAGS_DEST_LOCATION = 0x0040,
10070 SPELL_CAST_TARGET_FLAGS_OBJECT_UNK = 0x0080,
10071 SPELL_CAST_TARGET_FLAGS_UNIT_UNK = 0x0100,
10072 SPELL_CAST_TARGET_FLAGS_PVP_CORPSE = 0x0200,
10073 SPELL_CAST_TARGET_FLAGS_UNIT_CORPSE = 0x0400,
10074 SPELL_CAST_TARGET_FLAGS_GAMEOBJECT = 0x0800,
10075 SPELL_CAST_TARGET_FLAGS_TRADE_ITEM = 0x1000,
10076 SPELL_CAST_TARGET_FLAGS_STRING = 0x2000,
10077 SPELL_CAST_TARGET_FLAGS_UNK1 = 0x4000,
10078 SPELL_CAST_TARGET_FLAGS_CORPSE = 0x8000,
10079 } e_spell_cast_target_flags;
10081 typedef enum {
10082 CHANNEL_FLAGS_NONE = 0x00,
10083 CHANNEL_FLAGS_CUSTOM = 0x01,
10084 CHANNEL_FLAGS_TRADE = 0x04,
10085 CHANNEL_FLAGS_NOT_LFG = 0x08,
10086 CHANNEL_FLAGS_GENERAL = 0x10,
10087 CHANNEL_FLAGS_CITY = 0x20,
10088 CHANNEL_FLAGS_LFG = 0x40,
10089 CHANNEL_FLAGS_VOICE = 0x80,
10090 } e_channel_flags;
10092 typedef enum {
10093 ITEM_FLAG_NONE = 0x00000,
10094 ITEM_FLAG_NO_PICKUP = 0x00001,
10095 ITEM_FLAG_CONJURED = 0x00002,
10096 ITEM_FLAG_LOOTABLE = 0x00004,
10097 ITEM_FLAG_DEPRECATED = 0x00010,
10098 ITEM_FLAG_INDESTRUCTIBLE = 0x00020,
10099 ITEM_FLAG_PLAYER_CAST = 0x00040,
10100 ITEM_FLAG_NO_EQUIP_COOLDOWN = 0x00080,
10101 ITEM_FLAG_INT_BONUS_INSTEAD = 0x00100,
10102 ITEM_FLAG_WRAPPER = 0x00200,
10103 ITEM_FLAG_IGNORE_BAG_SPACE = 0x00400,
10104 ITEM_FLAG_PARTY_LOOT = 0x00800,
10105 ITEM_FLAG_CHARTER = 0x02000,
10106 ITEM_FLAG_HAS_TEXT = 0x04000,
10107 ITEM_FLAG_NO_DISENCHANT = 0x08000,
10108 ITEM_FLAG_REAL_DURATION = 0x10000,
10109 ITEM_FLAG_NO_CREATOR = 0x20000,
10110 } e_item_flag;
10112 typedef enum {
10113 ALLOWED_CLASS_ALL = 0x000,
10114 ALLOWED_CLASS_WARRIOR = 0x001,
10115 ALLOWED_CLASS_PALADIN = 0x002,
10116 ALLOWED_CLASS_HUNTER = 0x004,
10117 ALLOWED_CLASS_ROGUE = 0x008,
10118 ALLOWED_CLASS_PRIEST = 0x010,
10119 ALLOWED_CLASS_SHAMAN = 0x040,
10120 ALLOWED_CLASS_MAGE = 0x080,
10121 ALLOWED_CLASS_WARLOCK = 0x100,
10122 ALLOWED_CLASS_DRUID = 0x400,
10123 } e_allowed_class;
10125 typedef enum {
10126 ALLOWED_RACE_ALL = 0x000,
10127 ALLOWED_RACE_HUMAN = 0x001,
10128 ALLOWED_RACE_ORC = 0x002,
10129 ALLOWED_RACE_DWARF = 0x004,
10130 ALLOWED_RACE_NIGHT_ELF = 0x008,
10131 ALLOWED_RACE_UNDEAD = 0x010,
10132 ALLOWED_RACE_TAUREN = 0x020,
10133 ALLOWED_RACE_GNOME = 0x040,
10134 ALLOWED_RACE_TROLL = 0x080,
10135 ALLOWED_RACE_GOBLIN = 0x100,
10136 } e_allowed_race;
10138 typedef enum {
10139 GROUP_UPDATE_FLAGS_NONE = 0x00000000,
10140 GROUP_UPDATE_FLAGS_STATUS = 0x00000001,
10141 GROUP_UPDATE_FLAGS_CUR_HP = 0x00000002,
10142 GROUP_UPDATE_FLAGS_MAX_HP = 0x00000004,
10143 GROUP_UPDATE_FLAGS_POWER_TYPE = 0x00000008,
10144 GROUP_UPDATE_FLAGS_CUR_POWER = 0x00000010,
10145 GROUP_UPDATE_FLAGS_MAX_POWER = 0x00000020,
10146 GROUP_UPDATE_FLAGS_LEVEL = 0x00000040,
10147 GROUP_UPDATE_FLAGS_ZONE = 0x00000080,
10148 GROUP_UPDATE_FLAGS_POSITION = 0x00000100,
10149 GROUP_UPDATE_FLAGS_AURAS = 0x00000200,
10150 GROUP_UPDATE_FLAGS_AURAS_2 = 0x00000400,
10151 GROUP_UPDATE_FLAGS_PET_GUID = 0x00000800,
10152 GROUP_UPDATE_FLAGS_PET_NAME = 0x00001000,
10153 GROUP_UPDATE_FLAGS_PET_MODEL_ID = 0x00002000,
10154 GROUP_UPDATE_FLAGS_PET_CUR_HP = 0x00004000,
10155 GROUP_UPDATE_FLAGS_PET_MAX_HP = 0x00008000,
10156 GROUP_UPDATE_FLAGS_PET_POWER_TYPE = 0x00010000,
10157 GROUP_UPDATE_FLAGS_PET_CUR_POWER = 0x00020000,
10158 GROUP_UPDATE_FLAGS_PET_MAX_POWER = 0x00040000,
10159 GROUP_UPDATE_FLAGS_PET_AURAS = 0x00080000,
10160 GROUP_UPDATE_FLAGS_PET_AURAS_2 = 0x00100000,
10161 GROUP_UPDATE_FLAGS_MODE_OFFLINE = 0x10000000,
10162 } e_group_update_flags;
10164 typedef enum {
10165 GROUP_MEMBER_ONLINE_STATUS_OFFLINE = 0x00,
10166 GROUP_MEMBER_ONLINE_STATUS_ONLINE = 0x01,
10167 GROUP_MEMBER_ONLINE_STATUS_PVP = 0x02,
10168 GROUP_MEMBER_ONLINE_STATUS_DEAD = 0x04,
10169 GROUP_MEMBER_ONLINE_STATUS_GHOST = 0x08,
10170 GROUP_MEMBER_ONLINE_STATUS_PVP_FFA = 0x10,
10171 GROUP_MEMBER_ONLINE_STATUS_ZONE_OUT = 0x20,
10172 GROUP_MEMBER_ONLINE_STATUS_AFK = 0x40,
10173 GROUP_MEMBER_ONLINE_STATUS_DND = 0x80,
10174 } e_group_member_online_status;
10176 typedef enum {
10177 CAST_FLAGS_NONE = 0x000,
10178 CAST_FLAGS_HIDDEN_COMBATLOG = 0x001,
10179 CAST_FLAGS_UNKNOWN2 = 0x002,
10180 CAST_FLAGS_UNKNOWN3 = 0x004,
10181 CAST_FLAGS_UNKNOWN4 = 0x008,
10182 CAST_FLAGS_UNKNOWN5 = 0x010,
10183 CAST_FLAGS_AMMO = 0x020,
10184 CAST_FLAGS_UNKNOWN7 = 0x040,
10185 CAST_FLAGS_UNKNOWN8 = 0x080,
10186 CAST_FLAGS_UNKNOWN9 = 0x100,
10187 } e_cast_flags;
10189 /* AUTOGENERATED_END_ENUM */
10191 // All existing opcodes for 1.12.x
10192 typedef enum
10194 MSG_NULL_ACTION = 0x000,
10195 CMSG_BOOTME = 0x001,
10196 CMSG_DBLOOKUP = 0x002,
10197 SMSG_DBLOOKUP = 0x003,
10198 CMSG_QUERY_OBJECT_POSITION = 0x004,
10199 SMSG_QUERY_OBJECT_POSITION = 0x005,
10200 CMSG_QUERY_OBJECT_ROTATION = 0x006,
10201 SMSG_QUERY_OBJECT_ROTATION = 0x007,
10202 CMSG_WORLD_TELEPORT = 0x008,
10203 CMSG_TELEPORT_TO_UNIT = 0x009,
10204 CMSG_ZONE_MAP = 0x00A,
10205 SMSG_ZONE_MAP = 0x00B,
10206 CMSG_DEBUG_CHANGECELLZONE = 0x00C,
10207 CMSG_EMBLAZON_TABARD_OBSOLETE = 0x00D,
10208 CMSG_UNEMBLAZON_TABARD_OBSOLETE = 0x00E,
10209 CMSG_RECHARGE = 0x00F,
10210 CMSG_LEARN_SPELL = 0x010,
10211 CMSG_CREATEMONSTER = 0x011,
10212 CMSG_DESTROYMONSTER = 0x012,
10213 CMSG_CREATEITEM = 0x013,
10214 CMSG_CREATEGAMEOBJECT = 0x014,
10215 SMSG_CHECK_FOR_BOTS = 0x015,
10216 CMSG_MAKEMONSTERATTACKGUID = 0x016,
10217 CMSG_BOT_DETECTED2 = 0x017,
10218 CMSG_FORCEACTION = 0x018,
10219 CMSG_FORCEACTIONONOTHER = 0x019,
10220 CMSG_FORCEACTIONSHOW = 0x01A,
10221 SMSG_FORCEACTIONSHOW = 0x01B,
10222 CMSG_PETGODMODE = 0x01C,
10223 SMSG_PETGODMODE = 0x01D,
10224 SMSG_DEBUGINFOSPELLMISS_OBSOLETE = 0x01E,
10225 CMSG_WEATHER_SPEED_CHEAT = 0x01F,
10226 CMSG_UNDRESSPLAYER = 0x020,
10227 CMSG_BEASTMASTER = 0x021,
10228 CMSG_GODMODE = 0x022,
10229 SMSG_GODMODE = 0x023,
10230 CMSG_CHEAT_SETMONEY = 0x024,
10231 CMSG_LEVEL_CHEAT = 0x025,
10232 CMSG_PET_LEVEL_CHEAT = 0x026,
10233 CMSG_SET_WORLDSTATE = 0x027,
10234 CMSG_COOLDOWN_CHEAT = 0x028,
10235 CMSG_USE_SKILL_CHEAT = 0x029,
10236 CMSG_FLAG_QUEST = 0x02A,
10237 CMSG_FLAG_QUEST_FINISH = 0x02B,
10238 CMSG_CLEAR_QUEST = 0x02C,
10239 CMSG_SEND_EVENT = 0x02D,
10240 CMSG_DEBUG_AISTATE = 0x02E,
10241 SMSG_DEBUG_AISTATE = 0x02F,
10242 CMSG_DISABLE_PVP_CHEAT = 0x030,
10243 CMSG_ADVANCE_SPAWN_TIME = 0x031,
10244 CMSG_PVP_PORT_OBSOLETE = 0x032,
10245 CMSG_AUTH_SRP6_BEGIN = 0x033,
10246 CMSG_AUTH_SRP6_PROOF = 0x034,
10247 CMSG_AUTH_SRP6_RECODE = 0x035,
10248 CMSG_CHAR_CREATE = 0x036,
10249 CMSG_CHAR_ENUM = 0x037,
10250 CMSG_CHAR_DELETE = 0x038,
10251 SMSG_AUTH_SRP6_RESPONSE = 0x039,
10252 SMSG_CHAR_CREATE = 0x03A,
10253 SMSG_CHAR_ENUM = 0x03B,
10254 SMSG_CHAR_DELETE = 0x03C,
10255 CMSG_PLAYER_LOGIN = 0x03D,
10256 SMSG_NEW_WORLD = 0x03E,
10257 SMSG_TRANSFER_PENDING = 0x03F,
10258 SMSG_TRANSFER_ABORTED = 0x040,
10259 SMSG_CHARACTER_LOGIN_FAILED = 0x041,
10260 SMSG_LOGIN_SETTIMESPEED = 0x042,
10261 SMSG_GAMETIME_UPDATE = 0x043,
10262 CMSG_GAMETIME_SET = 0x044,
10263 SMSG_GAMETIME_SET = 0x045,
10264 CMSG_GAMESPEED_SET = 0x046,
10265 SMSG_GAMESPEED_SET = 0x047,
10266 CMSG_SERVERTIME = 0x048,
10267 SMSG_SERVERTIME = 0x049,
10268 CMSG_PLAYER_LOGOUT = 0x04A,
10269 CMSG_LOGOUT_REQUEST = 0x04B,
10270 SMSG_LOGOUT_RESPONSE = 0x04C,
10271 SMSG_LOGOUT_COMPLETE = 0x04D,
10272 CMSG_LOGOUT_CANCEL = 0x04E,
10273 SMSG_LOGOUT_CANCEL_ACK = 0x04F,
10274 CMSG_NAME_QUERY = 0x050,
10275 SMSG_NAME_QUERY_RESPONSE = 0x051,
10276 CMSG_PET_NAME_QUERY = 0x052,
10277 SMSG_PET_NAME_QUERY_RESPONSE = 0x053,
10278 CMSG_GUILD_QUERY = 0x054,
10279 SMSG_GUILD_QUERY_RESPONSE = 0x055,
10280 CMSG_ITEM_QUERY_SINGLE = 0x056,
10281 CMSG_ITEM_QUERY_MULTIPLE = 0x057,
10282 SMSG_ITEM_QUERY_SINGLE_RESPONSE = 0x058,
10283 SMSG_ITEM_QUERY_MULTIPLE_RESPONSE = 0x059,
10284 CMSG_PAGE_TEXT_QUERY = 0x05A,
10285 SMSG_PAGE_TEXT_QUERY_RESPONSE = 0x05B,
10286 CMSG_QUEST_QUERY = 0x05C,
10287 SMSG_QUEST_QUERY_RESPONSE = 0x05D,
10288 CMSG_GAMEOBJECT_QUERY = 0x05E,
10289 SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x05F,
10290 CMSG_CREATURE_QUERY = 0x060,
10291 SMSG_CREATURE_QUERY_RESPONSE = 0x061,
10292 CMSG_WHO = 0x062,
10293 SMSG_WHO = 0x063,
10294 CMSG_WHOIS = 0x064,
10295 SMSG_WHOIS = 0x065,
10296 CMSG_FRIEND_LIST = 0x066,
10297 SMSG_FRIEND_LIST = 0x067,
10298 SMSG_FRIEND_STATUS = 0x068,
10299 CMSG_ADD_FRIEND = 0x069,
10300 CMSG_DEL_FRIEND = 0x06A,
10301 SMSG_IGNORE_LIST = 0x06B,
10302 CMSG_ADD_IGNORE = 0x06C,
10303 CMSG_DEL_IGNORE = 0x06D,
10304 CMSG_GROUP_INVITE = 0x06E,
10305 SMSG_GROUP_INVITE = 0x06F,
10306 CMSG_GROUP_CANCEL = 0x070,
10307 SMSG_GROUP_CANCEL = 0x071,
10308 CMSG_GROUP_ACCEPT = 0x072,
10309 CMSG_GROUP_DECLINE = 0x073,
10310 SMSG_GROUP_DECLINE = 0x074,
10311 CMSG_GROUP_UNINVITE = 0x075,
10312 CMSG_GROUP_UNINVITE_GUID = 0x076,
10313 SMSG_GROUP_UNINVITE = 0x077,
10314 CMSG_GROUP_SET_LEADER = 0x078,
10315 SMSG_GROUP_SET_LEADER = 0x079,
10316 CMSG_LOOT_METHOD = 0x07A,
10317 CMSG_GROUP_DISBAND = 0x07B,
10318 SMSG_GROUP_DESTROYED = 0x07C,
10319 SMSG_GROUP_LIST = 0x07D,
10320 SMSG_PARTY_MEMBER_STATS = 0x07E,
10321 SMSG_PARTY_COMMAND_RESULT = 0x07F,
10322 UMSG_UPDATE_GROUP_MEMBERS = 0x080,
10323 CMSG_GUILD_CREATE = 0x081,
10324 CMSG_GUILD_INVITE = 0x082,
10325 SMSG_GUILD_INVITE = 0x083,
10326 CMSG_GUILD_ACCEPT = 0x084,
10327 CMSG_GUILD_DECLINE = 0x085,
10328 SMSG_GUILD_DECLINE = 0x086,
10329 CMSG_GUILD_INFO = 0x087,
10330 SMSG_GUILD_INFO = 0x088,
10331 CMSG_GUILD_ROSTER = 0x089,
10332 SMSG_GUILD_ROSTER = 0x08A,
10333 CMSG_GUILD_PROMOTE = 0x08B,
10334 CMSG_GUILD_DEMOTE = 0x08C,
10335 CMSG_GUILD_LEAVE = 0x08D,
10336 CMSG_GUILD_REMOVE = 0x08E,
10337 CMSG_GUILD_DISBAND = 0x08F,
10338 CMSG_GUILD_LEADER = 0x090,
10339 CMSG_GUILD_MOTD = 0x091,
10340 SMSG_GUILD_EVENT = 0x092,
10341 SMSG_GUILD_COMMAND_RESULT = 0x093,
10342 UMSG_UPDATE_GUILD = 0x094,
10343 CMSG_MESSAGECHAT = 0x095,
10344 SMSG_MESSAGECHAT = 0x096,
10345 CMSG_JOIN_CHANNEL = 0x097,
10346 CMSG_LEAVE_CHANNEL = 0x098,
10347 SMSG_CHANNEL_NOTIFY = 0x099,
10348 CMSG_CHANNEL_LIST = 0x09A,
10349 SMSG_CHANNEL_LIST = 0x09B,
10350 CMSG_CHANNEL_PASSWORD = 0x09C,
10351 CMSG_CHANNEL_SET_OWNER = 0x09D,
10352 CMSG_CHANNEL_OWNER = 0x09E,
10353 CMSG_CHANNEL_MODERATOR = 0x09F,
10354 CMSG_CHANNEL_UNMODERATOR = 0x0A0,
10355 CMSG_CHANNEL_MUTE = 0x0A1,
10356 CMSG_CHANNEL_UNMUTE = 0x0A2,
10357 CMSG_CHANNEL_INVITE = 0x0A3,
10358 CMSG_CHANNEL_KICK = 0x0A4,
10359 CMSG_CHANNEL_BAN = 0x0A5,
10360 CMSG_CHANNEL_UNBAN = 0x0A6,
10361 CMSG_CHANNEL_ANNOUNCEMENTS = 0x0A7,
10362 CMSG_CHANNEL_MODERATE = 0x0A8,
10363 SMSG_UPDATE_OBJECT = 0x0A9,
10364 SMSG_DESTROY_OBJECT = 0x0AA,
10365 CMSG_USE_ITEM = 0x0AB,
10366 CMSG_OPEN_ITEM = 0x0AC,
10367 CMSG_READ_ITEM = 0x0AD,
10368 SMSG_READ_ITEM_OK = 0x0AE,
10369 SMSG_READ_ITEM_FAILED = 0x0AF,
10370 SMSG_ITEM_COOLDOWN = 0x0B0,
10371 CMSG_GAMEOBJ_USE = 0x0B1,
10372 CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE = 0x0B2,
10373 SMSG_GAMEOBJECT_CUSTOM_ANIM = 0x0B3,
10374 CMSG_AREATRIGGER = 0x0B4,
10375 MSG_MOVE_START_FORWARD = 0x0B5,
10376 MSG_MOVE_START_BACKWARD = 0x0B6,
10377 MSG_MOVE_STOP = 0x0B7,
10378 MSG_MOVE_START_STRAFE_LEFT = 0x0B8,
10379 MSG_MOVE_START_STRAFE_RIGHT = 0x0B9,
10380 MSG_MOVE_STOP_STRAFE = 0x0BA,
10381 MSG_MOVE_JUMP = 0x0BB,
10382 MSG_MOVE_START_TURN_LEFT = 0x0BC,
10383 MSG_MOVE_START_TURN_RIGHT = 0x0BD,
10384 MSG_MOVE_STOP_TURN = 0x0BE,
10385 MSG_MOVE_START_PITCH_UP = 0x0BF,
10386 MSG_MOVE_START_PITCH_DOWN = 0x0C0,
10387 MSG_MOVE_STOP_PITCH = 0x0C1,
10388 MSG_MOVE_SET_RUN_MODE = 0x0C2,
10389 MSG_MOVE_SET_WALK_MODE = 0x0C3,
10390 MSG_MOVE_TOGGLE_LOGGING = 0x0C4,
10391 MSG_MOVE_TELEPORT = 0x0C5,
10392 MSG_MOVE_TELEPORT_CHEAT = 0x0C6,
10393 MSG_MOVE_TELEPORT_ACK = 0x0C7,
10394 MSG_MOVE_TOGGLE_FALL_LOGGING = 0x0C8,
10395 MSG_MOVE_FALL_LAND = 0x0C9,
10396 MSG_MOVE_START_SWIM = 0x0CA,
10397 MSG_MOVE_STOP_SWIM = 0x0CB,
10398 MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x0CC,
10399 MSG_MOVE_SET_RUN_SPEED = 0x0CD,
10400 MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT = 0x0CE,
10401 MSG_MOVE_SET_RUN_BACK_SPEED = 0x0CF,
10402 MSG_MOVE_SET_WALK_SPEED_CHEAT = 0x0D0,
10403 MSG_MOVE_SET_WALK_SPEED = 0x0D1,
10404 MSG_MOVE_SET_SWIM_SPEED_CHEAT = 0x0D2,
10405 MSG_MOVE_SET_SWIM_SPEED = 0x0D3,
10406 MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT = 0x0D4,
10407 MSG_MOVE_SET_SWIM_BACK_SPEED = 0x0D5,
10408 MSG_MOVE_SET_ALL_SPEED_CHEAT = 0x0D6,
10409 MSG_MOVE_SET_TURN_RATE_CHEAT = 0x0D7,
10410 MSG_MOVE_SET_TURN_RATE = 0x0D8,
10411 MSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x0D9,
10412 MSG_MOVE_SET_FACING = 0x0DA,
10413 MSG_MOVE_SET_PITCH = 0x0DB,
10414 MSG_MOVE_WORLDPORT_ACK = 0x0DC,
10415 SMSG_MONSTER_MOVE = 0x0DD,
10416 SMSG_MOVE_WATER_WALK = 0x0DE,
10417 SMSG_MOVE_LAND_WALK = 0x0DF,
10418 MSG_MOVE_SET_RAW_POSITION_ACK = 0x0E0,
10419 CMSG_MOVE_SET_RAW_POSITION = 0x0E1,
10420 SMSG_FORCE_RUN_SPEED_CHANGE = 0x0E2,
10421 CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 0x0E3,
10422 SMSG_FORCE_RUN_BACK_SPEED_CHANGE = 0x0E4,
10423 CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x0E5,
10424 SMSG_FORCE_SWIM_SPEED_CHANGE = 0x0E6,
10425 CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 0x0E7,
10426 SMSG_FORCE_MOVE_ROOT = 0x0E8,
10427 CMSG_FORCE_MOVE_ROOT_ACK = 0x0E9,
10428 SMSG_FORCE_MOVE_UNROOT = 0x0EA,
10429 CMSG_FORCE_MOVE_UNROOT_ACK = 0x0EB,
10430 MSG_MOVE_ROOT = 0x0EC,
10431 MSG_MOVE_UNROOT = 0x0ED,
10432 MSG_MOVE_HEARTBEAT = 0x0EE,
10433 SMSG_MOVE_KNOCK_BACK = 0x0EF,
10434 CMSG_MOVE_KNOCK_BACK_ACK = 0x0F0,
10435 MSG_MOVE_KNOCK_BACK = 0x0F1,
10436 SMSG_MOVE_FEATHER_FALL = 0x0F2,
10437 SMSG_MOVE_NORMAL_FALL = 0x0F3,
10438 SMSG_MOVE_SET_HOVER = 0x0F4,
10439 SMSG_MOVE_UNSET_HOVER = 0x0F5,
10440 CMSG_MOVE_HOVER_ACK = 0x0F6,
10441 MSG_MOVE_HOVER = 0x0F7,
10442 CMSG_TRIGGER_CINEMATIC_CHEAT = 0x0F8,
10443 CMSG_OPENING_CINEMATIC = 0x0F9,
10444 SMSG_TRIGGER_CINEMATIC = 0x0FA,
10445 CMSG_NEXT_CINEMATIC_CAMERA = 0x0FB,
10446 CMSG_COMPLETE_CINEMATIC = 0x0FC,
10447 SMSG_TUTORIAL_FLAGS = 0x0FD,
10448 CMSG_TUTORIAL_FLAG = 0x0FE,
10449 CMSG_TUTORIAL_CLEAR = 0x0FF,
10450 CMSG_TUTORIAL_RESET = 0x100,
10451 CMSG_STANDSTATECHANGE = 0x101,
10452 CMSG_EMOTE = 0x102,
10453 SMSG_EMOTE = 0x103,
10454 CMSG_TEXT_EMOTE = 0x104,
10455 SMSG_TEXT_EMOTE = 0x105,
10456 CMSG_AUTOEQUIP_GROUND_ITEM = 0x106,
10457 CMSG_AUTOSTORE_GROUND_ITEM = 0x107,
10458 CMSG_AUTOSTORE_LOOT_ITEM = 0x108,
10459 CMSG_STORE_LOOT_IN_SLOT = 0x109,
10460 CMSG_AUTOEQUIP_ITEM = 0x10A,
10461 CMSG_AUTOSTORE_BAG_ITEM = 0x10B,
10462 CMSG_SWAP_ITEM = 0x10C,
10463 CMSG_SWAP_INV_ITEM = 0x10D,
10464 CMSG_SPLIT_ITEM = 0x10E,
10465 CMSG_AUTOEQUIP_ITEM_SLOT = 0x10F,
10466 OBSOLETE_DROP_ITEM = 0x110,
10467 CMSG_DESTROYITEM = 0x111,
10468 SMSG_INVENTORY_CHANGE_FAILURE = 0x112,
10469 SMSG_OPEN_CONTAINER = 0x113,
10470 CMSG_INSPECT = 0x114,
10471 SMSG_INSPECT = 0x115,
10472 CMSG_INITIATE_TRADE = 0x116,
10473 CMSG_BEGIN_TRADE = 0x117,
10474 CMSG_BUSY_TRADE = 0x118,
10475 CMSG_IGNORE_TRADE = 0x119,
10476 CMSG_ACCEPT_TRADE = 0x11A,
10477 CMSG_UNACCEPT_TRADE = 0x11B,
10478 CMSG_CANCEL_TRADE = 0x11C,
10479 CMSG_SET_TRADE_ITEM = 0x11D,
10480 CMSG_CLEAR_TRADE_ITEM = 0x11E,
10481 CMSG_SET_TRADE_GOLD = 0x11F,
10482 SMSG_TRADE_STATUS = 0x120,
10483 SMSG_TRADE_STATUS_EXTENDED = 0x121,
10484 SMSG_INITIALIZE_FACTIONS = 0x122,
10485 SMSG_SET_FACTION_VISIBLE = 0x123,
10486 SMSG_SET_FACTION_STANDING = 0x124,
10487 CMSG_SET_FACTION_ATWAR = 0x125,
10488 CMSG_SET_FACTION_CHEAT = 0x126,
10489 SMSG_SET_PROFICIENCY = 0x127,
10490 CMSG_SET_ACTION_BUTTON = 0x128,
10491 SMSG_ACTION_BUTTONS = 0x129,
10492 SMSG_INITIAL_SPELLS = 0x12A,
10493 SMSG_LEARNED_SPELL = 0x12B,
10494 SMSG_SUPERCEDED_SPELL = 0x12C,
10495 CMSG_NEW_SPELL_SLOT = 0x12D,
10496 CMSG_CAST_SPELL = 0x12E,
10497 CMSG_CANCEL_CAST = 0x12F,
10498 SMSG_CAST_RESULT = 0x130,
10499 SMSG_SPELL_START = 0x131,
10500 SMSG_SPELL_GO = 0x132,
10501 SMSG_SPELL_FAILURE = 0x133,
10502 SMSG_SPELL_COOLDOWN = 0x134,
10503 SMSG_COOLDOWN_EVENT = 0x135,
10504 CMSG_CANCEL_AURA = 0x136,
10505 SMSG_UPDATE_AURA_DURATION = 0x137,
10506 SMSG_PET_CAST_FAILED = 0x138,
10507 MSG_CHANNEL_START = 0x139,
10508 MSG_CHANNEL_UPDATE = 0x13A,
10509 CMSG_CANCEL_CHANNELLING = 0x13B,
10510 SMSG_AI_REACTION = 0x13C,
10511 CMSG_SET_SELECTION = 0x13D,
10512 CMSG_SET_TARGET_OBSOLETE = 0x13E,
10513 CMSG_UNUSED = 0x13F,
10514 CMSG_UNUSED2 = 0x140,
10515 CMSG_ATTACKSWING = 0x141,
10516 CMSG_ATTACKSTOP = 0x142,
10517 SMSG_ATTACKSTART = 0x143,
10518 SMSG_ATTACKSTOP = 0x144,
10519 SMSG_ATTACKSWING_NOTINRANGE = 0x145,
10520 SMSG_ATTACKSWING_BADFACING = 0x146,
10521 SMSG_ATTACKSWING_NOTSTANDING = 0x147,
10522 SMSG_ATTACKSWING_DEADTARGET = 0x148,
10523 SMSG_ATTACKSWING_CANT_ATTACK = 0x149,
10524 SMSG_ATTACKERSTATEUPDATE = 0x14A,
10525 SMSG_VICTIMSTATEUPDATE_OBSOLETE = 0x14B,
10526 SMSG_DAMAGE_DONE_OBSOLETE = 0x14C,
10527 SMSG_DAMAGE_TAKEN_OBSOLETE = 0x14D,
10528 SMSG_CANCEL_COMBAT = 0x14E,
10529 SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE = 0x14F,
10530 SMSG_SPELLHEALLOG = 0x150,
10531 SMSG_SPELLENERGIZELOG = 0x151,
10532 CMSG_SHEATHE_OBSOLETE = 0x152,
10533 CMSG_SAVE_PLAYER = 0x153,
10534 CMSG_SETDEATHBINDPOINT = 0x154,
10535 SMSG_BINDPOINTUPDATE = 0x155,
10536 CMSG_GETDEATHBINDZONE = 0x156,
10537 SMSG_BINDZONEREPLY = 0x157,
10538 SMSG_PLAYERBOUND = 0x158,
10539 SMSG_CLIENT_CONTROL_UPDATE = 0x159,
10540 CMSG_REPOP_REQUEST = 0x15A,
10541 SMSG_RESURRECT_REQUEST = 0x15B,
10542 CMSG_RESURRECT_RESPONSE = 0x15C,
10543 CMSG_LOOT = 0x15D,
10544 CMSG_LOOT_MONEY = 0x15E,
10545 CMSG_LOOT_RELEASE = 0x15F,
10546 SMSG_LOOT_RESPONSE = 0x160,
10547 SMSG_LOOT_RELEASE_RESPONSE = 0x161,
10548 SMSG_LOOT_REMOVED = 0x162,
10549 SMSG_LOOT_MONEY_NOTIFY = 0x163,
10550 SMSG_LOOT_ITEM_NOTIFY = 0x164,
10551 SMSG_LOOT_CLEAR_MONEY = 0x165,
10552 SMSG_ITEM_PUSH_RESULT = 0x166,
10553 SMSG_DUEL_REQUESTED = 0x167,
10554 SMSG_DUEL_OUTOFBOUNDS = 0x168,
10555 SMSG_DUEL_INBOUNDS = 0x169,
10556 SMSG_DUEL_COMPLETE = 0x16A,
10557 SMSG_DUEL_WINNER = 0x16B,
10558 CMSG_DUEL_ACCEPTED = 0x16C,
10559 CMSG_DUEL_CANCELLED = 0x16D,
10560 SMSG_MOUNTRESULT = 0x16E,
10561 SMSG_DISMOUNTRESULT = 0x16F,
10562 SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0x170,
10563 CMSG_MOUNTSPECIAL_ANIM = 0x171,
10564 SMSG_MOUNTSPECIAL_ANIM = 0x172,
10565 SMSG_PET_TAME_FAILURE = 0x173,
10566 CMSG_PET_SET_ACTION = 0x174,
10567 CMSG_PET_ACTION = 0x175,
10568 CMSG_PET_ABANDON = 0x176,
10569 CMSG_PET_RENAME = 0x177,
10570 SMSG_PET_NAME_INVALID = 0x178,
10571 SMSG_PET_SPELLS = 0x179,
10572 SMSG_PET_MODE = 0x17A,
10573 CMSG_GOSSIP_HELLO = 0x17B,
10574 CMSG_GOSSIP_SELECT_OPTION = 0x17C,
10575 SMSG_GOSSIP_MESSAGE = 0x17D,
10576 SMSG_GOSSIP_COMPLETE = 0x17E,
10577 CMSG_NPC_TEXT_QUERY = 0x17F,
10578 SMSG_NPC_TEXT_UPDATE = 0x180,
10579 SMSG_NPC_WONT_TALK = 0x181,
10580 CMSG_QUESTGIVER_STATUS_QUERY = 0x182,
10581 SMSG_QUESTGIVER_STATUS = 0x183,
10582 CMSG_QUESTGIVER_HELLO = 0x184,
10583 SMSG_QUESTGIVER_QUEST_LIST = 0x185,
10584 CMSG_QUESTGIVER_QUERY_QUEST = 0x186,
10585 CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0x187,
10586 SMSG_QUESTGIVER_QUEST_DETAILS = 0x188,
10587 CMSG_QUESTGIVER_ACCEPT_QUEST = 0x189,
10588 CMSG_QUESTGIVER_COMPLETE_QUEST = 0x18A,
10589 SMSG_QUESTGIVER_REQUEST_ITEMS = 0x18B,
10590 CMSG_QUESTGIVER_REQUEST_REWARD = 0x18C,
10591 SMSG_QUESTGIVER_OFFER_REWARD = 0x18D,
10592 CMSG_QUESTGIVER_CHOOSE_REWARD = 0x18E,
10593 SMSG_QUESTGIVER_QUEST_INVALID = 0x18F,
10594 CMSG_QUESTGIVER_CANCEL = 0x190,
10595 SMSG_QUESTGIVER_QUEST_COMPLETE = 0x191,
10596 SMSG_QUESTGIVER_QUEST_FAILED = 0x192,
10597 CMSG_QUESTLOG_SWAP_QUEST = 0x193,
10598 CMSG_QUESTLOG_REMOVE_QUEST = 0x194,
10599 SMSG_QUESTLOG_FULL = 0x195,
10600 SMSG_QUESTUPDATE_FAILED = 0x196,
10601 SMSG_QUESTUPDATE_FAILEDTIMER = 0x197,
10602 SMSG_QUESTUPDATE_COMPLETE = 0x198,
10603 SMSG_QUESTUPDATE_ADD_KILL = 0x199,
10604 SMSG_QUESTUPDATE_ADD_ITEM = 0x19A,
10605 CMSG_QUEST_CONFIRM_ACCEPT = 0x19B,
10606 SMSG_QUEST_CONFIRM_ACCEPT = 0x19C,
10607 CMSG_PUSHQUESTTOPARTY = 0x19D,
10608 CMSG_LIST_INVENTORY = 0x19E,
10609 SMSG_LIST_INVENTORY = 0x19F,
10610 CMSG_SELL_ITEM = 0x1A0,
10611 SMSG_SELL_ITEM = 0x1A1,
10612 CMSG_BUY_ITEM = 0x1A2,
10613 CMSG_BUY_ITEM_IN_SLOT = 0x1A3,
10614 SMSG_BUY_ITEM = 0x1A4,
10615 SMSG_BUY_FAILED = 0x1A5,
10616 CMSG_TAXICLEARALLNODES = 0x1A6,
10617 CMSG_TAXIENABLEALLNODES = 0x1A7,
10618 CMSG_TAXISHOWNODES = 0x1A8,
10619 SMSG_SHOWTAXINODES = 0x1A9,
10620 CMSG_TAXINODE_STATUS_QUERY = 0x1AA,
10621 SMSG_TAXINODE_STATUS = 0x1AB,
10622 CMSG_TAXIQUERYAVAILABLENODES = 0x1AC,
10623 CMSG_ACTIVATETAXI = 0x1AD,
10624 SMSG_ACTIVATETAXIREPLY = 0x1AE,
10625 SMSG_NEW_TAXI_PATH = 0x1AF,
10626 CMSG_TRAINER_LIST = 0x1B0,
10627 SMSG_TRAINER_LIST = 0x1B1,
10628 CMSG_TRAINER_BUY_SPELL = 0x1B2,
10629 SMSG_TRAINER_BUY_SUCCEEDED = 0x1B3,
10630 SMSG_TRAINER_BUY_FAILED = 0x1B4,
10631 CMSG_BINDER_ACTIVATE = 0x1B5,
10632 SMSG_PLAYERBINDERROR = 0x1B6,
10633 CMSG_BANKER_ACTIVATE = 0x1B7,
10634 SMSG_SHOW_BANK = 0x1B8,
10635 CMSG_BUY_BANK_SLOT = 0x1B9,
10636 SMSG_BUY_BANK_SLOT_RESULT = 0x1BA,
10637 CMSG_PETITION_SHOWLIST = 0x1BB,
10638 SMSG_PETITION_SHOWLIST = 0x1BC,
10639 CMSG_PETITION_BUY = 0x1BD,
10640 CMSG_PETITION_SHOW_SIGNATURES = 0x1BE,
10641 SMSG_PETITION_SHOW_SIGNATURES = 0x1BF,
10642 CMSG_PETITION_SIGN = 0x1C0,
10643 SMSG_PETITION_SIGN_RESULTS = 0x1C1,
10644 MSG_PETITION_DECLINE = 0x1C2,
10645 CMSG_OFFER_PETITION = 0x1C3,
10646 CMSG_TURN_IN_PETITION = 0x1C4,
10647 SMSG_TURN_IN_PETITION_RESULTS = 0x1C5,
10648 CMSG_PETITION_QUERY = 0x1C6,
10649 SMSG_PETITION_QUERY_RESPONSE = 0x1C7,
10650 SMSG_FISH_NOT_HOOKED = 0x1C8,
10651 SMSG_FISH_ESCAPED = 0x1C9,
10652 CMSG_BUG = 0x1CA,
10653 SMSG_NOTIFICATION = 0x1CB,
10654 CMSG_PLAYED_TIME = 0x1CC,
10655 SMSG_PLAYED_TIME = 0x1CD,
10656 CMSG_QUERY_TIME = 0x1CE,
10657 SMSG_QUERY_TIME_RESPONSE = 0x1CF,
10658 SMSG_LOG_XPGAIN = 0x1D0,
10659 SMSG_AURACASTLOG = 0x1D1,
10660 CMSG_RECLAIM_CORPSE = 0x1D2,
10661 CMSG_WRAP_ITEM = 0x1D3,
10662 SMSG_LEVELUP_INFO = 0x1D4,
10663 MSG_MINIMAP_PING = 0x1D5,
10664 SMSG_RESISTLOG = 0x1D6,
10665 SMSG_ENCHANTMENTLOG = 0x1D7,
10666 CMSG_SET_SKILL_CHEAT = 0x1D8,
10667 SMSG_START_MIRROR_TIMER = 0x1D9,
10668 SMSG_PAUSE_MIRROR_TIMER = 0x1DA,
10669 SMSG_STOP_MIRROR_TIMER = 0x1DB,
10670 CMSG_PING = 0x1DC,
10671 SMSG_PONG = 0x1DD,
10672 SMSG_CLEAR_COOLDOWN = 0x1DE,
10673 SMSG_GAMEOBJECT_PAGETEXT = 0x1DF,
10674 CMSG_SETSHEATHED = 0x1E0,
10675 SMSG_COOLDOWN_CHEAT = 0x1E1,
10676 SMSG_SPELL_DELAYED = 0x1E2,
10677 CMSG_PLAYER_MACRO_OBSOLETE = 0x1E3,
10678 SMSG_PLAYER_MACRO_OBSOLETE = 0x1E4,
10679 CMSG_GHOST = 0x1E5,
10680 CMSG_GM_INVIS = 0x1E6,
10681 SMSG_INVALID_PROMOTION_CODE = 0x1E7,
10682 MSG_GM_BIND_OTHER = 0x1E8,
10683 MSG_GM_SUMMON = 0x1E9,
10684 SMSG_ITEM_TIME_UPDATE = 0x1EA,
10685 SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x1EB,
10686 SMSG_AUTH_CHALLENGE = 0x1EC,
10687 CMSG_AUTH_SESSION = 0x1ED,
10688 SMSG_AUTH_RESPONSE = 0x1EE,
10689 MSG_GM_SHOWLABEL = 0x1EF,
10690 CMSG_PET_CAST_SPELL = 0x1F0,
10691 MSG_SAVE_GUILD_EMBLEM = 0x1F1,
10692 MSG_TABARDVENDOR_ACTIVATE = 0x1F2,
10693 SMSG_PLAY_SPELL_VISUAL = 0x1F3,
10694 CMSG_ZONEUPDATE = 0x1F4,
10695 SMSG_PARTYKILLLOG = 0x1F5,
10696 SMSG_COMPRESSED_UPDATE_OBJECT = 0x1F6,
10697 SMSG_PLAY_SPELL_IMPACT = 0x1F7,
10698 SMSG_EXPLORATION_EXPERIENCE = 0x1F8,
10699 CMSG_GM_SET_SECURITY_GROUP = 0x1F9,
10700 CMSG_GM_NUKE = 0x1FA,
10701 MSG_RANDOM_ROLL = 0x1FB,
10702 SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x1FC,
10703 CMSG_RWHOIS_OBSOLETE = 0x1FD,
10704 SMSG_RWHOIS = 0x1FE,
10705 MSG_LOOKING_FOR_GROUP = 0x1FF,
10706 CMSG_SET_LOOKING_FOR_GROUP = 0x200,
10707 CMSG_UNLEARN_SPELL = 0x201,
10708 CMSG_UNLEARN_SKILL = 0x202,
10709 SMSG_REMOVED_SPELL = 0x203,
10710 CMSG_DECHARGE = 0x204,
10711 CMSG_GMTICKET_CREATE = 0x205,
10712 SMSG_GMTICKET_CREATE = 0x206,
10713 CMSG_GMTICKET_UPDATETEXT = 0x207,
10714 SMSG_GMTICKET_UPDATETEXT = 0x208,
10715 SMSG_ACCOUNT_DATA_TIMES = 0x209,
10716 CMSG_REQUEST_ACCOUNT_DATA = 0x20A,
10717 CMSG_UPDATE_ACCOUNT_DATA = 0x20B,
10718 SMSG_UPDATE_ACCOUNT_DATA = 0x20C,
10719 SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 0x20D,
10720 SMSG_POWERGAINLOG_OBSOLETE = 0x20E,
10721 CMSG_GM_TEACH = 0x20F,
10722 CMSG_GM_CREATE_ITEM_TARGET = 0x210,
10723 CMSG_GMTICKET_GETTICKET = 0x211,
10724 SMSG_GMTICKET_GETTICKET = 0x212,
10725 CMSG_UNLEARN_TALENTS = 0x213,
10726 SMSG_GAMEOBJECT_SPAWN_ANIM = 0x214,
10727 SMSG_GAMEOBJECT_DESPAWN_ANIM = 0x215,
10728 MSG_CORPSE_QUERY = 0x216,
10729 CMSG_GMTICKET_DELETETICKET = 0x217,
10730 SMSG_GMTICKET_DELETETICKET = 0x218,
10731 SMSG_CHAT_WRONG_FACTION = 0x219,
10732 CMSG_GMTICKET_SYSTEMSTATUS = 0x21A,
10733 SMSG_GMTICKET_SYSTEMSTATUS = 0x21B,
10734 CMSG_SPIRIT_HEALER_ACTIVATE = 0x21C,
10735 CMSG_SET_STAT_CHEAT = 0x21D,
10736 SMSG_SET_REST_START = 0x21E,
10737 CMSG_SKILL_BUY_STEP = 0x21F,
10738 CMSG_SKILL_BUY_RANK = 0x220,
10739 CMSG_XP_CHEAT = 0x221,
10740 SMSG_SPIRIT_HEALER_CONFIRM = 0x222,
10741 CMSG_CHARACTER_POINT_CHEAT = 0x223,
10742 SMSG_GOSSIP_POI = 0x224,
10743 CMSG_CHAT_IGNORED = 0x225,
10744 CMSG_GM_VISION = 0x226,
10745 CMSG_SERVER_COMMAND = 0x227,
10746 CMSG_GM_SILENCE = 0x228,
10747 CMSG_GM_REVEALTO = 0x229,
10748 CMSG_GM_RESURRECT = 0x22A,
10749 CMSG_GM_SUMMONMOB = 0x22B,
10750 CMSG_GM_MOVECORPSE = 0x22C,
10751 CMSG_GM_FREEZE = 0x22D,
10752 CMSG_GM_UBERINVIS = 0x22E,
10753 CMSG_GM_REQUEST_PLAYER_INFO = 0x22F,
10754 SMSG_GM_PLAYER_INFO = 0x230,
10755 CMSG_GUILD_RANK = 0x231,
10756 CMSG_GUILD_ADD_RANK = 0x232,
10757 CMSG_GUILD_DEL_RANK = 0x233,
10758 CMSG_GUILD_SET_PUBLIC_NOTE = 0x234,
10759 CMSG_GUILD_SET_OFFICER_NOTE = 0x235,
10760 SMSG_LOGIN_VERIFY_WORLD = 0x236,
10761 CMSG_CLEAR_EXPLORATION = 0x237,
10762 CMSG_SEND_MAIL = 0x238,
10763 SMSG_SEND_MAIL_RESULT = 0x239,
10764 CMSG_GET_MAIL_LIST = 0x23A,
10765 SMSG_MAIL_LIST_RESULT = 0x23B,
10766 CMSG_BATTLEFIELD_LIST = 0x23C,
10767 SMSG_BATTLEFIELD_LIST = 0x23D,
10768 CMSG_BATTLEFIELD_JOIN = 0x23E,
10769 SMSG_BATTLEFIELD_WIN_OBSOLETE = 0x23F,
10770 SMSG_BATTLEFIELD_LOSE_OBSOLETE = 0x240,
10771 CMSG_TAXICLEARNODE = 0x241,
10772 CMSG_TAXIENABLENODE = 0x242,
10773 CMSG_ITEM_TEXT_QUERY = 0x243,
10774 SMSG_ITEM_TEXT_QUERY_RESPONSE = 0x244,
10775 CMSG_MAIL_TAKE_MONEY = 0x245,
10776 CMSG_MAIL_TAKE_ITEM = 0x246,
10777 CMSG_MAIL_MARK_AS_READ = 0x247,
10778 CMSG_MAIL_RETURN_TO_SENDER = 0x248,
10779 CMSG_MAIL_DELETE = 0x249,
10780 CMSG_MAIL_CREATE_TEXT_ITEM = 0x24A,
10781 SMSG_SPELLLOGMISS = 0x24B,
10782 SMSG_SPELLLOGEXECUTE = 0x24C,
10783 SMSG_DEBUGAURAPROC = 0x24D,
10784 SMSG_PERIODICAURALOG = 0x24E,
10785 SMSG_SPELLDAMAGESHIELD = 0x24F,
10786 SMSG_SPELLNONMELEEDAMAGELOG = 0x250,
10787 CMSG_LEARN_TALENT = 0x251,
10788 SMSG_RESURRECT_FAILED = 0x252,
10789 CMSG_TOGGLE_PVP = 0x253,
10790 SMSG_ZONE_UNDER_ATTACK = 0x254,
10791 MSG_AUCTION_HELLO = 0x255,
10792 CMSG_AUCTION_SELL_ITEM = 0x256,
10793 CMSG_AUCTION_REMOVE_ITEM = 0x257,
10794 CMSG_AUCTION_LIST_ITEMS = 0x258,
10795 CMSG_AUCTION_LIST_OWNER_ITEMS = 0x259,
10796 CMSG_AUCTION_PLACE_BID = 0x25A,
10797 SMSG_AUCTION_COMMAND_RESULT = 0x25B,
10798 SMSG_AUCTION_LIST_RESULT = 0x25C,
10799 SMSG_AUCTION_OWNER_LIST_RESULT = 0x25D,
10800 SMSG_AUCTION_BIDDER_NOTIFICATION = 0x25E,
10801 SMSG_AUCTION_OWNER_NOTIFICATION = 0x25F,
10802 SMSG_PROCRESIST = 0x260,
10803 SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE = 0x261,
10804 SMSG_DISPEL_FAILED = 0x262,
10805 SMSG_SPELLORDAMAGE_IMMUNE = 0x263,
10806 CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x264,
10807 SMSG_AUCTION_BIDDER_LIST_RESULT = 0x265,
10808 SMSG_SET_FLAT_SPELL_MODIFIER = 0x266,
10809 SMSG_SET_PCT_SPELL_MODIFIER = 0x267,
10810 CMSG_SET_AMMO = 0x268,
10811 SMSG_CORPSE_RECLAIM_DELAY = 0x269,
10812 CMSG_SET_ACTIVE_MOVER = 0x26A,
10813 CMSG_PET_CANCEL_AURA = 0x26B,
10814 CMSG_PLAYER_AI_CHEAT = 0x26C,
10815 CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x26D,
10816 MSG_GM_ACCOUNT_ONLINE = 0x26E,
10817 MSG_LIST_STABLED_PETS = 0x26F,
10818 CMSG_STABLE_PET = 0x270,
10819 CMSG_UNSTABLE_PET = 0x271,
10820 CMSG_BUY_STABLE_SLOT = 0x272,
10821 SMSG_STABLE_RESULT = 0x273,
10822 CMSG_STABLE_REVIVE_PET = 0x274,
10823 CMSG_STABLE_SWAP_PET = 0x275,
10824 MSG_QUEST_PUSH_RESULT = 0x276,
10825 SMSG_PLAY_MUSIC = 0x277,
10826 SMSG_PLAY_OBJECT_SOUND = 0x278,
10827 CMSG_REQUEST_PET_INFO = 0x279,
10828 CMSG_FAR_SIGHT = 0x27A,
10829 SMSG_SPELLDISPELLOG = 0x27B,
10830 SMSG_DAMAGE_CALC_LOG = 0x27C,
10831 CMSG_ENABLE_DAMAGE_LOG = 0x27D,
10832 CMSG_GROUP_CHANGE_SUB_GROUP = 0x27E,
10833 CMSG_REQUEST_PARTY_MEMBER_STATS = 0x27F,
10834 CMSG_GROUP_SWAP_SUB_GROUP = 0x280,
10835 CMSG_RESET_FACTION_CHEAT = 0x281,
10836 CMSG_AUTOSTORE_BANK_ITEM = 0x282,
10837 CMSG_AUTOBANK_ITEM = 0x283,
10838 MSG_QUERY_NEXT_MAIL_TIME = 0x284,
10839 SMSG_RECEIVED_MAIL = 0x285,
10840 SMSG_RAID_GROUP_ONLY = 0x286,
10841 CMSG_SET_DURABILITY_CHEAT = 0x287,
10842 CMSG_SET_PVP_RANK_CHEAT = 0x288,
10843 CMSG_ADD_PVP_MEDAL_CHEAT = 0x289,
10844 CMSG_DEL_PVP_MEDAL_CHEAT = 0x28A,
10845 CMSG_SET_PVP_TITLE = 0x28B,
10846 SMSG_PVP_CREDIT = 0x28C,
10847 SMSG_AUCTION_REMOVED_NOTIFICATION = 0x28D,
10848 CMSG_GROUP_RAID_CONVERT = 0x28E,
10849 CMSG_GROUP_ASSISTANT_LEADER = 0x28F,
10850 CMSG_BUYBACK_ITEM = 0x290,
10851 SMSG_SERVER_MESSAGE = 0x291,
10852 CMSG_MEETINGSTONE_JOIN = 0x292,
10853 CMSG_MEETINGSTONE_LEAVE = 0x293,
10854 CMSG_MEETINGSTONE_CHEAT = 0x294,
10855 SMSG_MEETINGSTONE_SETQUEUE = 0x295,
10856 CMSG_MEETINGSTONE_INFO = 0x296,
10857 SMSG_MEETINGSTONE_COMPLETE = 0x297,
10858 SMSG_MEETINGSTONE_IN_PROGRESS = 0x298,
10859 SMSG_MEETINGSTONE_MEMBER_ADDED = 0x299,
10860 CMSG_GMTICKETSYSTEM_TOGGLE = 0x29A,
10861 CMSG_CANCEL_GROWTH_AURA = 0x29B,
10862 SMSG_CANCEL_AUTO_REPEAT = 0x29C,
10863 SMSG_STANDSTATE_UPDATE = 0x29D,
10864 SMSG_LOOT_ALL_PASSED = 0x29E,
10865 SMSG_LOOT_ROLL_WON = 0x29F,
10866 CMSG_LOOT_ROLL = 0x2A0,
10867 SMSG_LOOT_START_ROLL = 0x2A1,
10868 SMSG_LOOT_ROLL = 0x2A2,
10869 CMSG_LOOT_MASTER_GIVE = 0x2A3,
10870 SMSG_LOOT_MASTER_LIST = 0x2A4,
10871 SMSG_SET_FORCED_REACTIONS = 0x2A5,
10872 SMSG_SPELL_FAILED_OTHER = 0x2A6,
10873 SMSG_GAMEOBJECT_RESET_STATE = 0x2A7,
10874 CMSG_REPAIR_ITEM = 0x2A8,
10875 SMSG_CHAT_PLAYER_NOT_FOUND = 0x2A9,
10876 MSG_TALENT_WIPE_CONFIRM = 0x2AA,
10877 SMSG_SUMMON_REQUEST = 0x2AB,
10878 CMSG_SUMMON_RESPONSE = 0x2AC,
10879 MSG_MOVE_TOGGLE_GRAVITY_CHEAT = 0x2AD,
10880 SMSG_MONSTER_MOVE_TRANSPORT = 0x2AE,
10881 SMSG_PET_BROKEN = 0x2AF,
10882 MSG_MOVE_FEATHER_FALL = 0x2B0,
10883 MSG_MOVE_WATER_WALK = 0x2B1,
10884 CMSG_SERVER_BROADCAST = 0x2B2,
10885 CMSG_SELF_RES = 0x2B3,
10886 SMSG_FEIGN_DEATH_RESISTED = 0x2B4,
10887 CMSG_RUN_SCRIPT = 0x2B5,
10888 SMSG_SCRIPT_MESSAGE = 0x2B6,
10889 SMSG_DUEL_COUNTDOWN = 0x2B7,
10890 SMSG_AREA_TRIGGER_MESSAGE = 0x2B8,
10891 CMSG_TOGGLE_HELM = 0x2B9,
10892 CMSG_TOGGLE_CLOAK = 0x2BA,
10893 SMSG_MEETINGSTONE_JOINFAILED = 0x2BB,
10894 SMSG_PLAYER_SKINNED = 0x2BC,
10895 SMSG_DURABILITY_DAMAGE_DEATH = 0x2BD,
10896 CMSG_SET_EXPLORATION = 0x2BE,
10897 CMSG_SET_ACTIONBAR_TOGGLES = 0x2BF,
10898 UMSG_DELETE_GUILD_CHARTER = 0x2C0,
10899 MSG_PETITION_RENAME = 0x2C1,
10900 SMSG_INIT_WORLD_STATES = 0x2C2,
10901 SMSG_UPDATE_WORLD_STATE = 0x2C3,
10902 CMSG_ITEM_NAME_QUERY = 0x2C4,
10903 SMSG_ITEM_NAME_QUERY_RESPONSE = 0x2C5,
10904 SMSG_PET_ACTION_FEEDBACK = 0x2C6,
10905 CMSG_CHAR_RENAME = 0x2C7,
10906 SMSG_CHAR_RENAME = 0x2C8,
10907 CMSG_MOVE_SPLINE_DONE = 0x2C9,
10908 CMSG_MOVE_FALL_RESET = 0x2CA,
10909 SMSG_INSTANCE_SAVE_CREATED = 0x2CB,
10910 SMSG_RAID_INSTANCE_INFO = 0x2CC,
10911 CMSG_REQUEST_RAID_INFO = 0x2CD,
10912 CMSG_MOVE_TIME_SKIPPED = 0x2CE,
10913 CMSG_MOVE_FEATHER_FALL_ACK = 0x2CF,
10914 CMSG_MOVE_WATER_WALK_ACK = 0x2D0,
10915 CMSG_MOVE_NOT_ACTIVE_MOVER = 0x2D1,
10916 SMSG_PLAY_SOUND = 0x2D2,
10917 CMSG_BATTLEFIELD_STATUS = 0x2D3,
10918 SMSG_BATTLEFIELD_STATUS = 0x2D4,
10919 CMSG_BATTLEFIELD_PORT = 0x2D5,
10920 MSG_INSPECT_HONOR_STATS = 0x2D6,
10921 CMSG_BATTLEMASTER_HELLO = 0x2D7,
10922 CMSG_MOVE_START_SWIM_CHEAT = 0x2D8,
10923 CMSG_MOVE_STOP_SWIM_CHEAT = 0x2D9,
10924 SMSG_FORCE_WALK_SPEED_CHANGE = 0x2DA,
10925 CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 0x2DB,
10926 SMSG_FORCE_SWIM_BACK_SPEED_CHANGE = 0x2DC,
10927 CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x2DD,
10928 SMSG_FORCE_TURN_RATE_CHANGE = 0x2DE,
10929 CMSG_FORCE_TURN_RATE_CHANGE_ACK = 0x2DF,
10930 MSG_PVP_LOG_DATA = 0x2E0,
10931 CMSG_LEAVE_BATTLEFIELD = 0x2E1,
10932 CMSG_AREA_SPIRIT_HEALER_QUERY = 0x2E2,
10933 CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x2E3,
10934 SMSG_AREA_SPIRIT_HEALER_TIME = 0x2E4,
10935 CMSG_GM_UNTEACH = 0x2E5,
10936 SMSG_WARDEN_DATA = 0x2E6,
10937 CMSG_WARDEN_DATA = 0x2E7,
10938 SMSG_GROUP_JOINED_BATTLEGROUND = 0x2E8,
10939 MSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2E9,
10940 CMSG_PET_STOP_ATTACK = 0x2EA,
10941 SMSG_BINDER_CONFIRM = 0x2EB,
10942 SMSG_BATTLEGROUND_PLAYER_JOINED = 0x2EC,
10943 SMSG_BATTLEGROUND_PLAYER_LEFT = 0x2ED,
10944 CMSG_BATTLEMASTER_JOIN = 0x2EE,
10945 SMSG_ADDON_INFO = 0x2EF,
10946 CMSG_PET_UNLEARN = 0x2F0,
10947 SMSG_PET_UNLEARN_CONFIRM = 0x2F1,
10948 SMSG_PARTY_MEMBER_STATS_FULL = 0x2F2,
10949 CMSG_PET_SPELL_AUTOCAST = 0x2F3,
10950 SMSG_WEATHER = 0x2F4,
10951 SMSG_PLAY_TIME_WARNING = 0x2F5,
10952 SMSG_MINIGAME_SETUP = 0x2F6,
10953 SMSG_MINIGAME_STATE = 0x2F7,
10954 CMSG_MINIGAME_MOVE = 0x2F8,
10955 SMSG_MINIGAME_MOVE_FAILED = 0x2F9,
10956 SMSG_RAID_INSTANCE_MESSAGE = 0x2FA,
10957 SMSG_COMPRESSED_MOVES = 0x2FB,
10958 CMSG_GUILD_INFO_TEXT = 0x2FC,
10959 SMSG_CHAT_RESTRICTED = 0x2FD,
10960 SMSG_SPLINE_SET_RUN_SPEED = 0x2FE,
10961 SMSG_SPLINE_SET_RUN_BACK_SPEED = 0x2FF,
10962 SMSG_SPLINE_SET_SWIM_SPEED = 0x300,
10963 SMSG_SPLINE_SET_WALK_SPEED = 0x301,
10964 SMSG_SPLINE_SET_SWIM_BACK_SPEED = 0x302,
10965 SMSG_SPLINE_SET_TURN_RATE = 0x303,
10966 SMSG_SPLINE_MOVE_UNROOT = 0x304,
10967 SMSG_SPLINE_MOVE_FEATHER_FALL = 0x305,
10968 SMSG_SPLINE_MOVE_NORMAL_FALL = 0x306,
10969 SMSG_SPLINE_MOVE_SET_HOVER = 0x307,
10970 SMSG_SPLINE_MOVE_UNSET_HOVER = 0x308,
10971 SMSG_SPLINE_MOVE_WATER_WALK = 0x309,
10972 SMSG_SPLINE_MOVE_LAND_WALK = 0x30A,
10973 SMSG_SPLINE_MOVE_START_SWIM = 0x30B,
10974 SMSG_SPLINE_MOVE_STOP_SWIM = 0x30C,
10975 SMSG_SPLINE_MOVE_SET_RUN_MODE = 0x30D,
10976 SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x30E,
10977 CMSG_GM_NUKE_ACCOUNT = 0x30F,
10978 MSG_GM_DESTROY_CORPSE = 0x310,
10979 CMSG_GM_DESTROY_ONLINE_CORPSE = 0x311,
10980 CMSG_ACTIVATETAXIEXPRESS = 0x312,
10981 SMSG_SET_FACTION_ATWAR = 0x313,
10982 SMSG_GAMETIMEBIAS_SET = 0x314,
10983 CMSG_DEBUG_ACTIONS_START = 0x315,
10984 CMSG_DEBUG_ACTIONS_STOP = 0x316,
10985 CMSG_SET_FACTION_INACTIVE = 0x317,
10986 CMSG_SET_WATCHED_FACTION = 0x318,
10987 MSG_MOVE_TIME_SKIPPED = 0x319,
10988 SMSG_SPLINE_MOVE_ROOT = 0x31A,
10989 CMSG_SET_EXPLORATION_ALL = 0x31B,
10990 SMSG_INVALIDATE_PLAYER = 0x31C,
10991 CMSG_RESET_INSTANCES = 0x31D,
10992 SMSG_INSTANCE_RESET = 0x31E,
10993 SMSG_INSTANCE_RESET_FAILED = 0x31F,
10994 SMSG_UPDATE_LAST_INSTANCE = 0x320,
10995 MSG_RAID_TARGET_UPDATE = 0x321,
10996 MSG_RAID_READY_CHECK = 0x322,
10997 CMSG_LUA_USAGE = 0x323,
10998 SMSG_PET_ACTION_SOUND = 0x324,
10999 SMSG_PET_DISMISS_SOUND = 0x325,
11000 SMSG_GHOSTEE_GONE = 0x326,
11001 CMSG_GM_UPDATE_TICKET_STATUS = 0x327,
11002 SMSG_GM_TICKET_STATUS_UPDATE = 0x328,
11003 CMSG_GMSURVEY_SUBMIT = 0x32A,
11004 SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x32B,
11005 CMSG_IGNORE_KNOCKBACK_CHEAT = 0x32C,
11006 SMSG_CHAT_PLAYER_AMBIGUOUS = 0x32D,
11007 MSG_DELAY_GHOST_TELEPORT = 0x32E,
11008 SMSG_SPELLINSTAKILLLOG = 0x32F,
11009 SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x330,
11010 CMSG_CHAT_FILTERED = 0x331,
11011 SMSG_EXPECTED_SPAM_RECORDS = 0x332,
11012 SMSG_SPELLSTEALLOG = 0x333,
11013 CMSG_LOTTERY_QUERY_OBSOLETE = 0x334,
11014 SMSG_LOTTERY_QUERY_RESULT_OBSOLETE = 0x335,
11015 CMSG_BUY_LOTTERY_TICKET_OBSOLETE = 0x336,
11016 SMSG_LOTTERY_RESULT_OBSOLETE = 0x337,
11017 SMSG_CHARACTER_PROFILE = 0x338,
11018 SMSG_CHARACTER_PROFILE_REALM_CONNECTED = 0x339,
11019 SMSG_DEFENSE_MESSAGE = 0x33A,
11020 MSG_GM_RESETINSTANCELIMIT = 0x33C,
11021 SMSG_MOTD = 0x33D,
11022 SMSG_MOVE_SET_FLIGHT = 0x33E,
11023 SMSG_MOVE_UNSET_FLIGHT = 0x33F,
11024 CMSG_MOVE_FLIGHT_ACK = 0x340,
11025 MSG_MOVE_START_SWIM_CHEAT = 0x341,
11026 MSG_MOVE_STOP_SWIM_CHEAT = 0x342,
11027 CMSG_CANCEL_MOUNT_AURA = 0x375,
11028 CMSG_CANCEL_TEMP_ENCHANTMENT = 0x379,
11029 CMSG_MAELSTROM_INVALIDATE_CACHE = 0x387,
11030 CMSG_SET_TAXI_BENCHMARK_MODE = 0x389,
11031 CMSG_MOVE_CHNG_TRANSPORT = 0x38D,
11032 MSG_PARTY_ASSIGNMENT = 0x38E,
11033 SMSG_OFFER_PETITION_ERROR = 0x38F,
11034 SMSG_RESET_FAILED_NOTIFY = 0x396,
11035 SMSG_REAL_GROUP_UPDATE = 0x397,
11036 SMSG_INIT_EXTRA_AURA_INFO = 0x3A3,
11037 SMSG_SET_EXTRA_AURA_INFO = 0x3A4,
11038 SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE = 0x3A5,
11039 SMSG_SPELL_CHANCE_PROC_LOG = 0x3AA,
11040 CMSG_MOVE_SET_RUN_SPEED = 0x3AB,
11041 SMSG_DISMOUNT = 0x3AC,
11042 MSG_RAID_READY_CHECK_CONFIRM = 0x3AE,
11043 SMSG_CLEAR_TARGET = 0x3BE,
11044 CMSG_BOT_DETECTED = 0x3BF,
11045 SMSG_KICK_REASON = 0x3C4,
11046 MSG_RAID_READY_CHECK_FINISHED = 0x3C5,
11047 CMSG_TARGET_CAST = 0x3CF,
11048 CMSG_TARGET_SCRIPT_CAST = 0x3D0,
11049 CMSG_CHANNEL_DISPLAY_LIST = 0x3D1,
11050 CMSG_GET_CHANNEL_MEMBER_COUNT = 0x3D3,
11051 SMSG_CHANNEL_MEMBER_COUNT = 0x3D4,
11052 CMSG_DEBUG_LIST_TARGETS = 0x3D7,
11053 SMSG_DEBUG_LIST_TARGETS = 0x3D8,
11054 CMSG_PARTY_SILENCE = 0x3DC,
11055 CMSG_PARTY_UNSILENCE = 0x3DD,
11056 MSG_NOTIFY_PARTY_SQUELCH = 0x3DE,
11057 SMSG_COMSAT_RECONNECT_TRY = 0x3DF,
11058 SMSG_COMSAT_DISCONNECT = 0x3E0,
11059 SMSG_COMSAT_CONNECT_FAIL = 0x3E1,
11060 CMSG_SET_CHANNEL_WATCH = 0x3EE,
11061 SMSG_USERLIST_ADD = 0x3EF,
11062 SMSG_USERLIST_REMOVE = 0x3F0,
11063 SMSG_USERLIST_UPDATE = 0x3F1,
11064 CMSG_CLEAR_CHANNEL_WATCH = 0x3F2,
11065 SMSG_GOGOGO_OBSOLETE = 0x3F4,
11066 SMSG_ECHO_PARTY_SQUELCH = 0x3F5,
11067 CMSG_SPELLCLICK = 0x3F7,
11068 SMSG_LOOT_LIST = 0x3F8,
11069 MSG_GUILD_PERMISSIONS = 0x3FC,
11070 MSG_GUILD_EVENT_LOG_QUERY = 0x3FE,
11071 CMSG_MAELSTROM_RENAME_GUILD = 0x3FF,
11072 CMSG_GET_MIRRORIMAGE_DATA = 0x400,
11073 SMSG_MIRRORIMAGE_DATA = 0x401,
11074 SMSG_FORCE_DISPLAY_UPDATE = 0x402,
11075 SMSG_SPELL_CHANCE_RESIST_PUSHBACK = 0x403,
11076 CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0x404,
11077 SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0x405,
11078 CMSG_KEEP_ALIVE = 0x406,
11079 SMSG_RAID_READY_CHECK_ERROR = 0x407,
11080 CMSG_OPT_OUT_OF_LOOT = 0x408,
11081 CMSG_SET_GRANTABLE_LEVELS = 0x40B,
11082 CMSG_GRANT_LEVEL = 0x40C,
11083 CMSG_DECLINE_CHANNEL_INVITE = 0x40F,
11084 CMSG_GROUPACTION_THROTTLED = 0x410,
11085 SMSG_OVERRIDE_LIGHT = 0x411,
11086 SMSG_TOTEM_CREATED = 0x412,
11087 CMSG_TOTEM_DESTROYED = 0x413,
11088 CMSG_EXPIRE_RAID_INSTANCE = 0x414,
11089 CMSG_NO_SPELL_VARIANCE = 0x415,
11090 CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x416,
11091 SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x417,
11092 CMSG_QUERY_SERVER_BUCK_DATA = 0x41A,
11093 CMSG_CLEAR_SERVER_BUCK_DATA = 0x41B,
11094 SMSG_SERVER_BUCK_DATA = 0x41C,
11095 SMSG_SEND_UNLEARN_SPELLS = 0x41D,
11096 SMSG_PROPOSE_LEVEL_GRANT = 0x41E,
11097 CMSG_ACCEPT_LEVEL_GRANT = 0x41F,
11098 SMSG_REFER_A_FRIEND_FAILURE = 0x420,
11099 SMSG_SUMMON_CANCEL = 0x423
11100 } world_packets;
11102 static const value_string world_packet_strings[] = {
11103 { MSG_NULL_ACTION, "MSG_NULL_ACTION" },
11104 { CMSG_BOOTME, "CMSG_BOOTME" },
11105 { CMSG_DBLOOKUP, "CMSG_DBLOOKUP" },
11106 { SMSG_DBLOOKUP, "SMSG_DBLOOKUP" },
11107 { CMSG_QUERY_OBJECT_POSITION, "CMSG_QUERY_OBJECT_POSITION" },
11108 { SMSG_QUERY_OBJECT_POSITION, "SMSG_QUERY_OBJECT_POSITION" },
11109 { CMSG_QUERY_OBJECT_ROTATION, "CMSG_QUERY_OBJECT_ROTATION" },
11110 { SMSG_QUERY_OBJECT_ROTATION, "SMSG_QUERY_OBJECT_ROTATION" },
11111 { CMSG_WORLD_TELEPORT, "CMSG_WORLD_TELEPORT" },
11112 { CMSG_TELEPORT_TO_UNIT, "CMSG_TELEPORT_TO_UNIT" },
11113 { CMSG_ZONE_MAP, "CMSG_ZONE_MAP" },
11114 { SMSG_ZONE_MAP, "SMSG_ZONE_MAP" },
11115 { CMSG_DEBUG_CHANGECELLZONE, "CMSG_DEBUG_CHANGECELLZONE" },
11116 { CMSG_EMBLAZON_TABARD_OBSOLETE, "CMSG_EMBLAZON_TABARD_OBSOLETE" },
11117 { CMSG_UNEMBLAZON_TABARD_OBSOLETE, "CMSG_UNEMBLAZON_TABARD_OBSOLETE" },
11118 { CMSG_RECHARGE, "CMSG_RECHARGE" },
11119 { CMSG_LEARN_SPELL, "CMSG_LEARN_SPELL" },
11120 { CMSG_CREATEMONSTER, "CMSG_CREATEMONSTER" },
11121 { CMSG_DESTROYMONSTER, "CMSG_DESTROYMONSTER" },
11122 { CMSG_CREATEITEM, "CMSG_CREATEITEM" },
11123 { CMSG_CREATEGAMEOBJECT, "CMSG_CREATEGAMEOBJECT" },
11124 { SMSG_CHECK_FOR_BOTS, "SMSG_CHECK_FOR_BOTS" },
11125 { CMSG_MAKEMONSTERATTACKGUID, "CMSG_MAKEMONSTERATTACKGUID" },
11126 { CMSG_BOT_DETECTED2, "CMSG_BOT_DETECTED2" },
11127 { CMSG_FORCEACTION, "CMSG_FORCEACTION" },
11128 { CMSG_FORCEACTIONONOTHER, "CMSG_FORCEACTIONONOTHER" },
11129 { CMSG_FORCEACTIONSHOW, "CMSG_FORCEACTIONSHOW" },
11130 { SMSG_FORCEACTIONSHOW, "SMSG_FORCEACTIONSHOW" },
11131 { CMSG_PETGODMODE, "CMSG_PETGODMODE" },
11132 { SMSG_PETGODMODE, "SMSG_PETGODMODE" },
11133 { SMSG_DEBUGINFOSPELLMISS_OBSOLETE, "SMSG_DEBUGINFOSPELLMISS_OBSOLETE" },
11134 { CMSG_WEATHER_SPEED_CHEAT, "CMSG_WEATHER_SPEED_CHEAT" },
11135 { CMSG_UNDRESSPLAYER, "CMSG_UNDRESSPLAYER" },
11136 { CMSG_BEASTMASTER, "CMSG_BEASTMASTER" },
11137 { CMSG_GODMODE, "CMSG_GODMODE" },
11138 { SMSG_GODMODE, "SMSG_GODMODE" },
11139 { CMSG_CHEAT_SETMONEY, "CMSG_CHEAT_SETMONEY" },
11140 { CMSG_LEVEL_CHEAT, "CMSG_LEVEL_CHEAT" },
11141 { CMSG_PET_LEVEL_CHEAT, "CMSG_PET_LEVEL_CHEAT" },
11142 { CMSG_SET_WORLDSTATE, "CMSG_SET_WORLDSTATE" },
11143 { CMSG_COOLDOWN_CHEAT, "CMSG_COOLDOWN_CHEAT" },
11144 { CMSG_USE_SKILL_CHEAT, "CMSG_USE_SKILL_CHEAT" },
11145 { CMSG_FLAG_QUEST, "CMSG_FLAG_QUEST" },
11146 { CMSG_FLAG_QUEST_FINISH, "CMSG_FLAG_QUEST_FINISH" },
11147 { CMSG_CLEAR_QUEST, "CMSG_CLEAR_QUEST" },
11148 { CMSG_SEND_EVENT, "CMSG_SEND_EVENT" },
11149 { CMSG_DEBUG_AISTATE, "CMSG_DEBUG_AISTATE" },
11150 { SMSG_DEBUG_AISTATE, "SMSG_DEBUG_AISTATE" },
11151 { CMSG_DISABLE_PVP_CHEAT, "CMSG_DISABLE_PVP_CHEAT" },
11152 { CMSG_ADVANCE_SPAWN_TIME, "CMSG_ADVANCE_SPAWN_TIME" },
11153 { CMSG_PVP_PORT_OBSOLETE, "CMSG_PVP_PORT_OBSOLETE" },
11154 { CMSG_AUTH_SRP6_BEGIN, "CMSG_AUTH_SRP6_BEGIN" },
11155 { CMSG_AUTH_SRP6_PROOF, "CMSG_AUTH_SRP6_PROOF" },
11156 { CMSG_AUTH_SRP6_RECODE, "CMSG_AUTH_SRP6_RECODE" },
11157 { CMSG_CHAR_CREATE, "CMSG_CHAR_CREATE" },
11158 { CMSG_CHAR_ENUM, "CMSG_CHAR_ENUM" },
11159 { CMSG_CHAR_DELETE, "CMSG_CHAR_DELETE" },
11160 { SMSG_AUTH_SRP6_RESPONSE, "SMSG_AUTH_SRP6_RESPONSE" },
11161 { SMSG_CHAR_CREATE, "SMSG_CHAR_CREATE" },
11162 { SMSG_CHAR_ENUM, "SMSG_CHAR_ENUM" },
11163 { SMSG_CHAR_DELETE, "SMSG_CHAR_DELETE" },
11164 { CMSG_PLAYER_LOGIN, "CMSG_PLAYER_LOGIN" },
11165 { SMSG_NEW_WORLD, "SMSG_NEW_WORLD" },
11166 { SMSG_TRANSFER_PENDING, "SMSG_TRANSFER_PENDING" },
11167 { SMSG_TRANSFER_ABORTED, "SMSG_TRANSFER_ABORTED" },
11168 { SMSG_CHARACTER_LOGIN_FAILED, "SMSG_CHARACTER_LOGIN_FAILED" },
11169 { SMSG_LOGIN_SETTIMESPEED, "SMSG_LOGIN_SETTIMESPEED" },
11170 { SMSG_GAMETIME_UPDATE, "SMSG_GAMETIME_UPDATE" },
11171 { CMSG_GAMETIME_SET, "CMSG_GAMETIME_SET" },
11172 { SMSG_GAMETIME_SET, "SMSG_GAMETIME_SET" },
11173 { CMSG_GAMESPEED_SET, "CMSG_GAMESPEED_SET" },
11174 { SMSG_GAMESPEED_SET, "SMSG_GAMESPEED_SET" },
11175 { CMSG_SERVERTIME, "CMSG_SERVERTIME" },
11176 { SMSG_SERVERTIME, "SMSG_SERVERTIME" },
11177 { CMSG_PLAYER_LOGOUT, "CMSG_PLAYER_LOGOUT" },
11178 { CMSG_LOGOUT_REQUEST, "CMSG_LOGOUT_REQUEST" },
11179 { SMSG_LOGOUT_RESPONSE, "SMSG_LOGOUT_RESPONSE" },
11180 { SMSG_LOGOUT_COMPLETE, "SMSG_LOGOUT_COMPLETE" },
11181 { CMSG_LOGOUT_CANCEL, "CMSG_LOGOUT_CANCEL" },
11182 { SMSG_LOGOUT_CANCEL_ACK, "SMSG_LOGOUT_CANCEL_ACK" },
11183 { CMSG_NAME_QUERY, "CMSG_NAME_QUERY" },
11184 { SMSG_NAME_QUERY_RESPONSE, "SMSG_NAME_QUERY_RESPONSE" },
11185 { CMSG_PET_NAME_QUERY, "CMSG_PET_NAME_QUERY" },
11186 { SMSG_PET_NAME_QUERY_RESPONSE, "SMSG_PET_NAME_QUERY_RESPONSE" },
11187 { CMSG_GUILD_QUERY, "CMSG_GUILD_QUERY" },
11188 { SMSG_GUILD_QUERY_RESPONSE, "SMSG_GUILD_QUERY_RESPONSE" },
11189 { CMSG_ITEM_QUERY_SINGLE, "CMSG_ITEM_QUERY_SINGLE" },
11190 { CMSG_ITEM_QUERY_MULTIPLE, "CMSG_ITEM_QUERY_MULTIPLE" },
11191 { SMSG_ITEM_QUERY_SINGLE_RESPONSE, "SMSG_ITEM_QUERY_SINGLE_RESPONSE" },
11192 { SMSG_ITEM_QUERY_MULTIPLE_RESPONSE, "SMSG_ITEM_QUERY_MULTIPLE_RESPONSE" },
11193 { CMSG_PAGE_TEXT_QUERY, "CMSG_PAGE_TEXT_QUERY" },
11194 { SMSG_PAGE_TEXT_QUERY_RESPONSE, "SMSG_PAGE_TEXT_QUERY_RESPONSE" },
11195 { CMSG_QUEST_QUERY, "CMSG_QUEST_QUERY" },
11196 { SMSG_QUEST_QUERY_RESPONSE, "SMSG_QUEST_QUERY_RESPONSE" },
11197 { CMSG_GAMEOBJECT_QUERY, "CMSG_GAMEOBJECT_QUERY" },
11198 { SMSG_GAMEOBJECT_QUERY_RESPONSE, "SMSG_GAMEOBJECT_QUERY_RESPONSE" },
11199 { CMSG_CREATURE_QUERY, "CMSG_CREATURE_QUERY" },
11200 { SMSG_CREATURE_QUERY_RESPONSE, "SMSG_CREATURE_QUERY_RESPONSE" },
11201 { CMSG_WHO, "CMSG_WHO" },
11202 { SMSG_WHO, "SMSG_WHO" },
11203 { CMSG_WHOIS, "CMSG_WHOIS" },
11204 { SMSG_WHOIS, "SMSG_WHOIS" },
11205 { CMSG_FRIEND_LIST, "CMSG_FRIEND_LIST" },
11206 { SMSG_FRIEND_LIST, "SMSG_FRIEND_LIST" },
11207 { SMSG_FRIEND_STATUS, "SMSG_FRIEND_STATUS" },
11208 { CMSG_ADD_FRIEND, "CMSG_ADD_FRIEND" },
11209 { CMSG_DEL_FRIEND, "CMSG_DEL_FRIEND" },
11210 { SMSG_IGNORE_LIST, "SMSG_IGNORE_LIST" },
11211 { CMSG_ADD_IGNORE, "CMSG_ADD_IGNORE" },
11212 { CMSG_DEL_IGNORE, "CMSG_DEL_IGNORE" },
11213 { CMSG_GROUP_INVITE, "CMSG_GROUP_INVITE" },
11214 { SMSG_GROUP_INVITE, "SMSG_GROUP_INVITE" },
11215 { CMSG_GROUP_CANCEL, "CMSG_GROUP_CANCEL" },
11216 { SMSG_GROUP_CANCEL, "SMSG_GROUP_CANCEL" },
11217 { CMSG_GROUP_ACCEPT, "CMSG_GROUP_ACCEPT" },
11218 { CMSG_GROUP_DECLINE, "CMSG_GROUP_DECLINE" },
11219 { SMSG_GROUP_DECLINE, "SMSG_GROUP_DECLINE" },
11220 { CMSG_GROUP_UNINVITE, "CMSG_GROUP_UNINVITE" },
11221 { CMSG_GROUP_UNINVITE_GUID, "CMSG_GROUP_UNINVITE_GUID" },
11222 { SMSG_GROUP_UNINVITE, "SMSG_GROUP_UNINVITE" },
11223 { CMSG_GROUP_SET_LEADER, "CMSG_GROUP_SET_LEADER" },
11224 { SMSG_GROUP_SET_LEADER, "SMSG_GROUP_SET_LEADER" },
11225 { CMSG_LOOT_METHOD, "CMSG_LOOT_METHOD" },
11226 { CMSG_GROUP_DISBAND, "CMSG_GROUP_DISBAND" },
11227 { SMSG_GROUP_DESTROYED, "SMSG_GROUP_DESTROYED" },
11228 { SMSG_GROUP_LIST, "SMSG_GROUP_LIST" },
11229 { SMSG_PARTY_MEMBER_STATS, "SMSG_PARTY_MEMBER_STATS" },
11230 { SMSG_PARTY_COMMAND_RESULT, "SMSG_PARTY_COMMAND_RESULT" },
11231 { UMSG_UPDATE_GROUP_MEMBERS, "UMSG_UPDATE_GROUP_MEMBERS" },
11232 { CMSG_GUILD_CREATE, "CMSG_GUILD_CREATE" },
11233 { CMSG_GUILD_INVITE, "CMSG_GUILD_INVITE" },
11234 { SMSG_GUILD_INVITE, "SMSG_GUILD_INVITE" },
11235 { CMSG_GUILD_ACCEPT, "CMSG_GUILD_ACCEPT" },
11236 { CMSG_GUILD_DECLINE, "CMSG_GUILD_DECLINE" },
11237 { SMSG_GUILD_DECLINE, "SMSG_GUILD_DECLINE" },
11238 { CMSG_GUILD_INFO, "CMSG_GUILD_INFO" },
11239 { SMSG_GUILD_INFO, "SMSG_GUILD_INFO" },
11240 { CMSG_GUILD_ROSTER, "CMSG_GUILD_ROSTER" },
11241 { SMSG_GUILD_ROSTER, "SMSG_GUILD_ROSTER" },
11242 { CMSG_GUILD_PROMOTE, "CMSG_GUILD_PROMOTE" },
11243 { CMSG_GUILD_DEMOTE, "CMSG_GUILD_DEMOTE" },
11244 { CMSG_GUILD_LEAVE, "CMSG_GUILD_LEAVE" },
11245 { CMSG_GUILD_REMOVE, "CMSG_GUILD_REMOVE" },
11246 { CMSG_GUILD_DISBAND, "CMSG_GUILD_DISBAND" },
11247 { CMSG_GUILD_LEADER, "CMSG_GUILD_LEADER" },
11248 { CMSG_GUILD_MOTD, "CMSG_GUILD_MOTD" },
11249 { SMSG_GUILD_EVENT, "SMSG_GUILD_EVENT" },
11250 { SMSG_GUILD_COMMAND_RESULT, "SMSG_GUILD_COMMAND_RESULT" },
11251 { UMSG_UPDATE_GUILD, "UMSG_UPDATE_GUILD" },
11252 { CMSG_MESSAGECHAT, "CMSG_MESSAGECHAT" },
11253 { SMSG_MESSAGECHAT, "SMSG_MESSAGECHAT" },
11254 { CMSG_JOIN_CHANNEL, "CMSG_JOIN_CHANNEL" },
11255 { CMSG_LEAVE_CHANNEL, "CMSG_LEAVE_CHANNEL" },
11256 { SMSG_CHANNEL_NOTIFY, "SMSG_CHANNEL_NOTIFY" },
11257 { CMSG_CHANNEL_LIST, "CMSG_CHANNEL_LIST" },
11258 { SMSG_CHANNEL_LIST, "SMSG_CHANNEL_LIST" },
11259 { CMSG_CHANNEL_PASSWORD, "CMSG_CHANNEL_PASSWORD" },
11260 { CMSG_CHANNEL_SET_OWNER, "CMSG_CHANNEL_SET_OWNER" },
11261 { CMSG_CHANNEL_OWNER, "CMSG_CHANNEL_OWNER" },
11262 { CMSG_CHANNEL_MODERATOR, "CMSG_CHANNEL_MODERATOR" },
11263 { CMSG_CHANNEL_UNMODERATOR, "CMSG_CHANNEL_UNMODERATOR" },
11264 { CMSG_CHANNEL_MUTE, "CMSG_CHANNEL_MUTE" },
11265 { CMSG_CHANNEL_UNMUTE, "CMSG_CHANNEL_UNMUTE" },
11266 { CMSG_CHANNEL_INVITE, "CMSG_CHANNEL_INVITE" },
11267 { CMSG_CHANNEL_KICK, "CMSG_CHANNEL_KICK" },
11268 { CMSG_CHANNEL_BAN, "CMSG_CHANNEL_BAN" },
11269 { CMSG_CHANNEL_UNBAN, "CMSG_CHANNEL_UNBAN" },
11270 { CMSG_CHANNEL_ANNOUNCEMENTS, "CMSG_CHANNEL_ANNOUNCEMENTS" },
11271 { CMSG_CHANNEL_MODERATE, "CMSG_CHANNEL_MODERATE" },
11272 { SMSG_UPDATE_OBJECT, "SMSG_UPDATE_OBJECT" },
11273 { SMSG_DESTROY_OBJECT, "SMSG_DESTROY_OBJECT" },
11274 { CMSG_USE_ITEM, "CMSG_USE_ITEM" },
11275 { CMSG_OPEN_ITEM, "CMSG_OPEN_ITEM" },
11276 { CMSG_READ_ITEM, "CMSG_READ_ITEM" },
11277 { SMSG_READ_ITEM_OK, "SMSG_READ_ITEM_OK" },
11278 { SMSG_READ_ITEM_FAILED, "SMSG_READ_ITEM_FAILED" },
11279 { SMSG_ITEM_COOLDOWN, "SMSG_ITEM_COOLDOWN" },
11280 { CMSG_GAMEOBJ_USE, "CMSG_GAMEOBJ_USE" },
11281 { CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE, "CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE" },
11282 { SMSG_GAMEOBJECT_CUSTOM_ANIM, "SMSG_GAMEOBJECT_CUSTOM_ANIM" },
11283 { CMSG_AREATRIGGER, "CMSG_AREATRIGGER" },
11284 { MSG_MOVE_START_FORWARD, "MSG_MOVE_START_FORWARD" },
11285 { MSG_MOVE_START_BACKWARD, "MSG_MOVE_START_BACKWARD" },
11286 { MSG_MOVE_STOP, "MSG_MOVE_STOP" },
11287 { MSG_MOVE_START_STRAFE_LEFT, "MSG_MOVE_START_STRAFE_LEFT" },
11288 { MSG_MOVE_START_STRAFE_RIGHT, "MSG_MOVE_START_STRAFE_RIGHT" },
11289 { MSG_MOVE_STOP_STRAFE, "MSG_MOVE_STOP_STRAFE" },
11290 { MSG_MOVE_JUMP, "MSG_MOVE_JUMP" },
11291 { MSG_MOVE_START_TURN_LEFT, "MSG_MOVE_START_TURN_LEFT" },
11292 { MSG_MOVE_START_TURN_RIGHT, "MSG_MOVE_START_TURN_RIGHT" },
11293 { MSG_MOVE_STOP_TURN, "MSG_MOVE_STOP_TURN" },
11294 { MSG_MOVE_START_PITCH_UP, "MSG_MOVE_START_PITCH_UP" },
11295 { MSG_MOVE_START_PITCH_DOWN, "MSG_MOVE_START_PITCH_DOWN" },
11296 { MSG_MOVE_STOP_PITCH, "MSG_MOVE_STOP_PITCH" },
11297 { MSG_MOVE_SET_RUN_MODE, "MSG_MOVE_SET_RUN_MODE" },
11298 { MSG_MOVE_SET_WALK_MODE, "MSG_MOVE_SET_WALK_MODE" },
11299 { MSG_MOVE_TOGGLE_LOGGING, "MSG_MOVE_TOGGLE_LOGGING" },
11300 { MSG_MOVE_TELEPORT, "MSG_MOVE_TELEPORT" },
11301 { MSG_MOVE_TELEPORT_CHEAT, "MSG_MOVE_TELEPORT_CHEAT" },
11302 { MSG_MOVE_TELEPORT_ACK, "MSG_MOVE_TELEPORT_ACK" },
11303 { MSG_MOVE_TOGGLE_FALL_LOGGING, "MSG_MOVE_TOGGLE_FALL_LOGGING" },
11304 { MSG_MOVE_FALL_LAND, "MSG_MOVE_FALL_LAND" },
11305 { MSG_MOVE_START_SWIM, "MSG_MOVE_START_SWIM" },
11306 { MSG_MOVE_STOP_SWIM, "MSG_MOVE_STOP_SWIM" },
11307 { MSG_MOVE_SET_RUN_SPEED_CHEAT, "MSG_MOVE_SET_RUN_SPEED_CHEAT" },
11308 { MSG_MOVE_SET_RUN_SPEED, "MSG_MOVE_SET_RUN_SPEED" },
11309 { MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT, "MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT" },
11310 { MSG_MOVE_SET_RUN_BACK_SPEED, "MSG_MOVE_SET_RUN_BACK_SPEED" },
11311 { MSG_MOVE_SET_WALK_SPEED_CHEAT, "MSG_MOVE_SET_WALK_SPEED_CHEAT" },
11312 { MSG_MOVE_SET_WALK_SPEED, "MSG_MOVE_SET_WALK_SPEED" },
11313 { MSG_MOVE_SET_SWIM_SPEED_CHEAT, "MSG_MOVE_SET_SWIM_SPEED_CHEAT" },
11314 { MSG_MOVE_SET_SWIM_SPEED, "MSG_MOVE_SET_SWIM_SPEED" },
11315 { MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT, "MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT" },
11316 { MSG_MOVE_SET_SWIM_BACK_SPEED, "MSG_MOVE_SET_SWIM_BACK_SPEED" },
11317 { MSG_MOVE_SET_ALL_SPEED_CHEAT, "MSG_MOVE_SET_ALL_SPEED_CHEAT" },
11318 { MSG_MOVE_SET_TURN_RATE_CHEAT, "MSG_MOVE_SET_TURN_RATE_CHEAT" },
11319 { MSG_MOVE_SET_TURN_RATE, "MSG_MOVE_SET_TURN_RATE" },
11320 { MSG_MOVE_TOGGLE_COLLISION_CHEAT, "MSG_MOVE_TOGGLE_COLLISION_CHEAT" },
11321 { MSG_MOVE_SET_FACING, "MSG_MOVE_SET_FACING" },
11322 { MSG_MOVE_SET_PITCH, "MSG_MOVE_SET_PITCH" },
11323 { MSG_MOVE_WORLDPORT_ACK, "MSG_MOVE_WORLDPORT_ACK" },
11324 { SMSG_MONSTER_MOVE, "SMSG_MONSTER_MOVE" },
11325 { SMSG_MOVE_WATER_WALK, "SMSG_MOVE_WATER_WALK" },
11326 { SMSG_MOVE_LAND_WALK, "SMSG_MOVE_LAND_WALK" },
11327 { MSG_MOVE_SET_RAW_POSITION_ACK, "MSG_MOVE_SET_RAW_POSITION_ACK" },
11328 { CMSG_MOVE_SET_RAW_POSITION, "CMSG_MOVE_SET_RAW_POSITION" },
11329 { SMSG_FORCE_RUN_SPEED_CHANGE, "SMSG_FORCE_RUN_SPEED_CHANGE" },
11330 { CMSG_FORCE_RUN_SPEED_CHANGE_ACK, "CMSG_FORCE_RUN_SPEED_CHANGE_ACK" },
11331 { SMSG_FORCE_RUN_BACK_SPEED_CHANGE, "SMSG_FORCE_RUN_BACK_SPEED_CHANGE" },
11332 { CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK, "CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK" },
11333 { SMSG_FORCE_SWIM_SPEED_CHANGE, "SMSG_FORCE_SWIM_SPEED_CHANGE" },
11334 { CMSG_FORCE_SWIM_SPEED_CHANGE_ACK, "CMSG_FORCE_SWIM_SPEED_CHANGE_ACK" },
11335 { SMSG_FORCE_MOVE_ROOT, "SMSG_FORCE_MOVE_ROOT" },
11336 { CMSG_FORCE_MOVE_ROOT_ACK, "CMSG_FORCE_MOVE_ROOT_ACK" },
11337 { SMSG_FORCE_MOVE_UNROOT, "SMSG_FORCE_MOVE_UNROOT" },
11338 { CMSG_FORCE_MOVE_UNROOT_ACK, "CMSG_FORCE_MOVE_UNROOT_ACK" },
11339 { MSG_MOVE_ROOT, "MSG_MOVE_ROOT" },
11340 { MSG_MOVE_UNROOT, "MSG_MOVE_UNROOT" },
11341 { MSG_MOVE_HEARTBEAT, "MSG_MOVE_HEARTBEAT" },
11342 { SMSG_MOVE_KNOCK_BACK, "SMSG_MOVE_KNOCK_BACK" },
11343 { CMSG_MOVE_KNOCK_BACK_ACK, "CMSG_MOVE_KNOCK_BACK_ACK" },
11344 { MSG_MOVE_KNOCK_BACK, "MSG_MOVE_KNOCK_BACK" },
11345 { SMSG_MOVE_FEATHER_FALL, "SMSG_MOVE_FEATHER_FALL" },
11346 { SMSG_MOVE_NORMAL_FALL, "SMSG_MOVE_NORMAL_FALL" },
11347 { SMSG_MOVE_SET_HOVER, "SMSG_MOVE_SET_HOVER" },
11348 { SMSG_MOVE_UNSET_HOVER, "SMSG_MOVE_UNSET_HOVER" },
11349 { CMSG_MOVE_HOVER_ACK, "CMSG_MOVE_HOVER_ACK" },
11350 { MSG_MOVE_HOVER, "MSG_MOVE_HOVER" },
11351 { CMSG_TRIGGER_CINEMATIC_CHEAT, "CMSG_TRIGGER_CINEMATIC_CHEAT" },
11352 { CMSG_OPENING_CINEMATIC, "CMSG_OPENING_CINEMATIC" },
11353 { SMSG_TRIGGER_CINEMATIC, "SMSG_TRIGGER_CINEMATIC" },
11354 { CMSG_NEXT_CINEMATIC_CAMERA, "CMSG_NEXT_CINEMATIC_CAMERA" },
11355 { CMSG_COMPLETE_CINEMATIC, "CMSG_COMPLETE_CINEMATIC" },
11356 { SMSG_TUTORIAL_FLAGS, "SMSG_TUTORIAL_FLAGS" },
11357 { CMSG_TUTORIAL_FLAG, "CMSG_TUTORIAL_FLAG" },
11358 { CMSG_TUTORIAL_CLEAR, "CMSG_TUTORIAL_CLEAR" },
11359 { CMSG_TUTORIAL_RESET, "CMSG_TUTORIAL_RESET" },
11360 { CMSG_STANDSTATECHANGE, "CMSG_STANDSTATECHANGE" },
11361 { CMSG_EMOTE, "CMSG_EMOTE" },
11362 { SMSG_EMOTE, "SMSG_EMOTE" },
11363 { CMSG_TEXT_EMOTE, "CMSG_TEXT_EMOTE" },
11364 { SMSG_TEXT_EMOTE, "SMSG_TEXT_EMOTE" },
11365 { CMSG_AUTOEQUIP_GROUND_ITEM, "CMSG_AUTOEQUIP_GROUND_ITEM" },
11366 { CMSG_AUTOSTORE_GROUND_ITEM, "CMSG_AUTOSTORE_GROUND_ITEM" },
11367 { CMSG_AUTOSTORE_LOOT_ITEM, "CMSG_AUTOSTORE_LOOT_ITEM" },
11368 { CMSG_STORE_LOOT_IN_SLOT, "CMSG_STORE_LOOT_IN_SLOT" },
11369 { CMSG_AUTOEQUIP_ITEM, "CMSG_AUTOEQUIP_ITEM" },
11370 { CMSG_AUTOSTORE_BAG_ITEM, "CMSG_AUTOSTORE_BAG_ITEM" },
11371 { CMSG_SWAP_ITEM, "CMSG_SWAP_ITEM" },
11372 { CMSG_SWAP_INV_ITEM, "CMSG_SWAP_INV_ITEM" },
11373 { CMSG_SPLIT_ITEM, "CMSG_SPLIT_ITEM" },
11374 { CMSG_AUTOEQUIP_ITEM_SLOT, "CMSG_AUTOEQUIP_ITEM_SLOT" },
11375 { OBSOLETE_DROP_ITEM, "OBSOLETE_DROP_ITEM" },
11376 { CMSG_DESTROYITEM, "CMSG_DESTROYITEM" },
11377 { SMSG_INVENTORY_CHANGE_FAILURE, "SMSG_INVENTORY_CHANGE_FAILURE" },
11378 { SMSG_OPEN_CONTAINER, "SMSG_OPEN_CONTAINER" },
11379 { CMSG_INSPECT, "CMSG_INSPECT" },
11380 { SMSG_INSPECT, "SMSG_INSPECT" },
11381 { CMSG_INITIATE_TRADE, "CMSG_INITIATE_TRADE" },
11382 { CMSG_BEGIN_TRADE, "CMSG_BEGIN_TRADE" },
11383 { CMSG_BUSY_TRADE, "CMSG_BUSY_TRADE" },
11384 { CMSG_IGNORE_TRADE, "CMSG_IGNORE_TRADE" },
11385 { CMSG_ACCEPT_TRADE, "CMSG_ACCEPT_TRADE" },
11386 { CMSG_UNACCEPT_TRADE, "CMSG_UNACCEPT_TRADE" },
11387 { CMSG_CANCEL_TRADE, "CMSG_CANCEL_TRADE" },
11388 { CMSG_SET_TRADE_ITEM, "CMSG_SET_TRADE_ITEM" },
11389 { CMSG_CLEAR_TRADE_ITEM, "CMSG_CLEAR_TRADE_ITEM" },
11390 { CMSG_SET_TRADE_GOLD, "CMSG_SET_TRADE_GOLD" },
11391 { SMSG_TRADE_STATUS, "SMSG_TRADE_STATUS" },
11392 { SMSG_TRADE_STATUS_EXTENDED, "SMSG_TRADE_STATUS_EXTENDED" },
11393 { SMSG_INITIALIZE_FACTIONS, "SMSG_INITIALIZE_FACTIONS" },
11394 { SMSG_SET_FACTION_VISIBLE, "SMSG_SET_FACTION_VISIBLE" },
11395 { SMSG_SET_FACTION_STANDING, "SMSG_SET_FACTION_STANDING" },
11396 { CMSG_SET_FACTION_ATWAR, "CMSG_SET_FACTION_ATWAR" },
11397 { CMSG_SET_FACTION_CHEAT, "CMSG_SET_FACTION_CHEAT" },
11398 { SMSG_SET_PROFICIENCY, "SMSG_SET_PROFICIENCY" },
11399 { CMSG_SET_ACTION_BUTTON, "CMSG_SET_ACTION_BUTTON" },
11400 { SMSG_ACTION_BUTTONS, "SMSG_ACTION_BUTTONS" },
11401 { SMSG_INITIAL_SPELLS, "SMSG_INITIAL_SPELLS" },
11402 { SMSG_LEARNED_SPELL, "SMSG_LEARNED_SPELL" },
11403 { SMSG_SUPERCEDED_SPELL, "SMSG_SUPERCEDED_SPELL" },
11404 { CMSG_NEW_SPELL_SLOT, "CMSG_NEW_SPELL_SLOT" },
11405 { CMSG_CAST_SPELL, "CMSG_CAST_SPELL" },
11406 { CMSG_CANCEL_CAST, "CMSG_CANCEL_CAST" },
11407 { SMSG_CAST_RESULT, "SMSG_CAST_RESULT" },
11408 { SMSG_SPELL_START, "SMSG_SPELL_START" },
11409 { SMSG_SPELL_GO, "SMSG_SPELL_GO" },
11410 { SMSG_SPELL_FAILURE, "SMSG_SPELL_FAILURE" },
11411 { SMSG_SPELL_COOLDOWN, "SMSG_SPELL_COOLDOWN" },
11412 { SMSG_COOLDOWN_EVENT, "SMSG_COOLDOWN_EVENT" },
11413 { CMSG_CANCEL_AURA, "CMSG_CANCEL_AURA" },
11414 { SMSG_UPDATE_AURA_DURATION, "SMSG_UPDATE_AURA_DURATION" },
11415 { SMSG_PET_CAST_FAILED, "SMSG_PET_CAST_FAILED" },
11416 { MSG_CHANNEL_START, "MSG_CHANNEL_START" },
11417 { MSG_CHANNEL_UPDATE, "MSG_CHANNEL_UPDATE" },
11418 { CMSG_CANCEL_CHANNELLING, "CMSG_CANCEL_CHANNELLING" },
11419 { SMSG_AI_REACTION, "SMSG_AI_REACTION" },
11420 { CMSG_SET_SELECTION, "CMSG_SET_SELECTION" },
11421 { CMSG_SET_TARGET_OBSOLETE, "CMSG_SET_TARGET_OBSOLETE" },
11422 { CMSG_UNUSED, "CMSG_UNUSED" },
11423 { CMSG_UNUSED2, "CMSG_UNUSED2" },
11424 { CMSG_ATTACKSWING, "CMSG_ATTACKSWING" },
11425 { CMSG_ATTACKSTOP, "CMSG_ATTACKSTOP" },
11426 { SMSG_ATTACKSTART, "SMSG_ATTACKSTART" },
11427 { SMSG_ATTACKSTOP, "SMSG_ATTACKSTOP" },
11428 { SMSG_ATTACKSWING_NOTINRANGE, "SMSG_ATTACKSWING_NOTINRANGE" },
11429 { SMSG_ATTACKSWING_BADFACING, "SMSG_ATTACKSWING_BADFACING" },
11430 { SMSG_ATTACKSWING_NOTSTANDING, "SMSG_ATTACKSWING_NOTSTANDING" },
11431 { SMSG_ATTACKSWING_DEADTARGET, "SMSG_ATTACKSWING_DEADTARGET" },
11432 { SMSG_ATTACKSWING_CANT_ATTACK, "SMSG_ATTACKSWING_CANT_ATTACK" },
11433 { SMSG_ATTACKERSTATEUPDATE, "SMSG_ATTACKERSTATEUPDATE" },
11434 { SMSG_VICTIMSTATEUPDATE_OBSOLETE, "SMSG_VICTIMSTATEUPDATE_OBSOLETE" },
11435 { SMSG_DAMAGE_DONE_OBSOLETE, "SMSG_DAMAGE_DONE_OBSOLETE" },
11436 { SMSG_DAMAGE_TAKEN_OBSOLETE, "SMSG_DAMAGE_TAKEN_OBSOLETE" },
11437 { SMSG_CANCEL_COMBAT, "SMSG_CANCEL_COMBAT" },
11438 { SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE, "SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE" },
11439 { SMSG_SPELLHEALLOG, "SMSG_SPELLHEALLOG" },
11440 { SMSG_SPELLENERGIZELOG, "SMSG_SPELLENERGIZELOG" },
11441 { CMSG_SHEATHE_OBSOLETE, "CMSG_SHEATHE_OBSOLETE" },
11442 { CMSG_SAVE_PLAYER, "CMSG_SAVE_PLAYER" },
11443 { CMSG_SETDEATHBINDPOINT, "CMSG_SETDEATHBINDPOINT" },
11444 { SMSG_BINDPOINTUPDATE, "SMSG_BINDPOINTUPDATE" },
11445 { CMSG_GETDEATHBINDZONE, "CMSG_GETDEATHBINDZONE" },
11446 { SMSG_BINDZONEREPLY, "SMSG_BINDZONEREPLY" },
11447 { SMSG_PLAYERBOUND, "SMSG_PLAYERBOUND" },
11448 { SMSG_CLIENT_CONTROL_UPDATE, "SMSG_CLIENT_CONTROL_UPDATE" },
11449 { CMSG_REPOP_REQUEST, "CMSG_REPOP_REQUEST" },
11450 { SMSG_RESURRECT_REQUEST, "SMSG_RESURRECT_REQUEST" },
11451 { CMSG_RESURRECT_RESPONSE, "CMSG_RESURRECT_RESPONSE" },
11452 { CMSG_LOOT, "CMSG_LOOT" },
11453 { CMSG_LOOT_MONEY, "CMSG_LOOT_MONEY" },
11454 { CMSG_LOOT_RELEASE, "CMSG_LOOT_RELEASE" },
11455 { SMSG_LOOT_RESPONSE, "SMSG_LOOT_RESPONSE" },
11456 { SMSG_LOOT_RELEASE_RESPONSE, "SMSG_LOOT_RELEASE_RESPONSE" },
11457 { SMSG_LOOT_REMOVED, "SMSG_LOOT_REMOVED" },
11458 { SMSG_LOOT_MONEY_NOTIFY, "SMSG_LOOT_MONEY_NOTIFY" },
11459 { SMSG_LOOT_ITEM_NOTIFY, "SMSG_LOOT_ITEM_NOTIFY" },
11460 { SMSG_LOOT_CLEAR_MONEY, "SMSG_LOOT_CLEAR_MONEY" },
11461 { SMSG_ITEM_PUSH_RESULT, "SMSG_ITEM_PUSH_RESULT" },
11462 { SMSG_DUEL_REQUESTED, "SMSG_DUEL_REQUESTED" },
11463 { SMSG_DUEL_OUTOFBOUNDS, "SMSG_DUEL_OUTOFBOUNDS" },
11464 { SMSG_DUEL_INBOUNDS, "SMSG_DUEL_INBOUNDS" },
11465 { SMSG_DUEL_COMPLETE, "SMSG_DUEL_COMPLETE" },
11466 { SMSG_DUEL_WINNER, "SMSG_DUEL_WINNER" },
11467 { CMSG_DUEL_ACCEPTED, "CMSG_DUEL_ACCEPTED" },
11468 { CMSG_DUEL_CANCELLED, "CMSG_DUEL_CANCELLED" },
11469 { SMSG_MOUNTRESULT, "SMSG_MOUNTRESULT" },
11470 { SMSG_DISMOUNTRESULT, "SMSG_DISMOUNTRESULT" },
11471 { SMSG_PUREMOUNT_CANCELLED_OBSOLETE, "SMSG_PUREMOUNT_CANCELLED_OBSOLETE" },
11472 { CMSG_MOUNTSPECIAL_ANIM, "CMSG_MOUNTSPECIAL_ANIM" },
11473 { SMSG_MOUNTSPECIAL_ANIM, "SMSG_MOUNTSPECIAL_ANIM" },
11474 { SMSG_PET_TAME_FAILURE, "SMSG_PET_TAME_FAILURE" },
11475 { CMSG_PET_SET_ACTION, "CMSG_PET_SET_ACTION" },
11476 { CMSG_PET_ACTION, "CMSG_PET_ACTION" },
11477 { CMSG_PET_ABANDON, "CMSG_PET_ABANDON" },
11478 { CMSG_PET_RENAME, "CMSG_PET_RENAME" },
11479 { SMSG_PET_NAME_INVALID, "SMSG_PET_NAME_INVALID" },
11480 { SMSG_PET_SPELLS, "SMSG_PET_SPELLS" },
11481 { SMSG_PET_MODE, "SMSG_PET_MODE" },
11482 { CMSG_GOSSIP_HELLO, "CMSG_GOSSIP_HELLO" },
11483 { CMSG_GOSSIP_SELECT_OPTION, "CMSG_GOSSIP_SELECT_OPTION" },
11484 { SMSG_GOSSIP_MESSAGE, "SMSG_GOSSIP_MESSAGE" },
11485 { SMSG_GOSSIP_COMPLETE, "SMSG_GOSSIP_COMPLETE" },
11486 { CMSG_NPC_TEXT_QUERY, "CMSG_NPC_TEXT_QUERY" },
11487 { SMSG_NPC_TEXT_UPDATE, "SMSG_NPC_TEXT_UPDATE" },
11488 { SMSG_NPC_WONT_TALK, "SMSG_NPC_WONT_TALK" },
11489 { CMSG_QUESTGIVER_STATUS_QUERY, "CMSG_QUESTGIVER_STATUS_QUERY" },
11490 { SMSG_QUESTGIVER_STATUS, "SMSG_QUESTGIVER_STATUS" },
11491 { CMSG_QUESTGIVER_HELLO, "CMSG_QUESTGIVER_HELLO" },
11492 { SMSG_QUESTGIVER_QUEST_LIST, "SMSG_QUESTGIVER_QUEST_LIST" },
11493 { CMSG_QUESTGIVER_QUERY_QUEST, "CMSG_QUESTGIVER_QUERY_QUEST" },
11494 { CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, "CMSG_QUESTGIVER_QUEST_AUTOLAUNCH" },
11495 { SMSG_QUESTGIVER_QUEST_DETAILS, "SMSG_QUESTGIVER_QUEST_DETAILS" },
11496 { CMSG_QUESTGIVER_ACCEPT_QUEST, "CMSG_QUESTGIVER_ACCEPT_QUEST" },
11497 { CMSG_QUESTGIVER_COMPLETE_QUEST, "CMSG_QUESTGIVER_COMPLETE_QUEST" },
11498 { SMSG_QUESTGIVER_REQUEST_ITEMS, "SMSG_QUESTGIVER_REQUEST_ITEMS" },
11499 { CMSG_QUESTGIVER_REQUEST_REWARD, "CMSG_QUESTGIVER_REQUEST_REWARD" },
11500 { SMSG_QUESTGIVER_OFFER_REWARD, "SMSG_QUESTGIVER_OFFER_REWARD" },
11501 { CMSG_QUESTGIVER_CHOOSE_REWARD, "CMSG_QUESTGIVER_CHOOSE_REWARD" },
11502 { SMSG_QUESTGIVER_QUEST_INVALID, "SMSG_QUESTGIVER_QUEST_INVALID" },
11503 { CMSG_QUESTGIVER_CANCEL, "CMSG_QUESTGIVER_CANCEL" },
11504 { SMSG_QUESTGIVER_QUEST_COMPLETE, "SMSG_QUESTGIVER_QUEST_COMPLETE" },
11505 { SMSG_QUESTGIVER_QUEST_FAILED, "SMSG_QUESTGIVER_QUEST_FAILED" },
11506 { CMSG_QUESTLOG_SWAP_QUEST, "CMSG_QUESTLOG_SWAP_QUEST" },
11507 { CMSG_QUESTLOG_REMOVE_QUEST, "CMSG_QUESTLOG_REMOVE_QUEST" },
11508 { SMSG_QUESTLOG_FULL, "SMSG_QUESTLOG_FULL" },
11509 { SMSG_QUESTUPDATE_FAILED, "SMSG_QUESTUPDATE_FAILED" },
11510 { SMSG_QUESTUPDATE_FAILEDTIMER, "SMSG_QUESTUPDATE_FAILEDTIMER" },
11511 { SMSG_QUESTUPDATE_COMPLETE, "SMSG_QUESTUPDATE_COMPLETE" },
11512 { SMSG_QUESTUPDATE_ADD_KILL, "SMSG_QUESTUPDATE_ADD_KILL" },
11513 { SMSG_QUESTUPDATE_ADD_ITEM, "SMSG_QUESTUPDATE_ADD_ITEM" },
11514 { CMSG_QUEST_CONFIRM_ACCEPT, "CMSG_QUEST_CONFIRM_ACCEPT" },
11515 { SMSG_QUEST_CONFIRM_ACCEPT, "SMSG_QUEST_CONFIRM_ACCEPT" },
11516 { CMSG_PUSHQUESTTOPARTY, "CMSG_PUSHQUESTTOPARTY" },
11517 { CMSG_LIST_INVENTORY, "CMSG_LIST_INVENTORY" },
11518 { SMSG_LIST_INVENTORY, "SMSG_LIST_INVENTORY" },
11519 { CMSG_SELL_ITEM, "CMSG_SELL_ITEM" },
11520 { SMSG_SELL_ITEM, "SMSG_SELL_ITEM" },
11521 { CMSG_BUY_ITEM, "CMSG_BUY_ITEM" },
11522 { CMSG_BUY_ITEM_IN_SLOT, "CMSG_BUY_ITEM_IN_SLOT" },
11523 { SMSG_BUY_ITEM, "SMSG_BUY_ITEM" },
11524 { SMSG_BUY_FAILED, "SMSG_BUY_FAILED" },
11525 { CMSG_TAXICLEARALLNODES, "CMSG_TAXICLEARALLNODES" },
11526 { CMSG_TAXIENABLEALLNODES, "CMSG_TAXIENABLEALLNODES" },
11527 { CMSG_TAXISHOWNODES, "CMSG_TAXISHOWNODES" },
11528 { SMSG_SHOWTAXINODES, "SMSG_SHOWTAXINODES" },
11529 { CMSG_TAXINODE_STATUS_QUERY, "CMSG_TAXINODE_STATUS_QUERY" },
11530 { SMSG_TAXINODE_STATUS, "SMSG_TAXINODE_STATUS" },
11531 { CMSG_TAXIQUERYAVAILABLENODES, "CMSG_TAXIQUERYAVAILABLENODES" },
11532 { CMSG_ACTIVATETAXI, "CMSG_ACTIVATETAXI" },
11533 { SMSG_ACTIVATETAXIREPLY, "SMSG_ACTIVATETAXIREPLY" },
11534 { SMSG_NEW_TAXI_PATH, "SMSG_NEW_TAXI_PATH" },
11535 { CMSG_TRAINER_LIST, "CMSG_TRAINER_LIST" },
11536 { SMSG_TRAINER_LIST, "SMSG_TRAINER_LIST" },
11537 { CMSG_TRAINER_BUY_SPELL, "CMSG_TRAINER_BUY_SPELL" },
11538 { SMSG_TRAINER_BUY_SUCCEEDED, "SMSG_TRAINER_BUY_SUCCEEDED" },
11539 { SMSG_TRAINER_BUY_FAILED, "SMSG_TRAINER_BUY_FAILED" },
11540 { CMSG_BINDER_ACTIVATE, "CMSG_BINDER_ACTIVATE" },
11541 { SMSG_PLAYERBINDERROR, "SMSG_PLAYERBINDERROR" },
11542 { CMSG_BANKER_ACTIVATE, "CMSG_BANKER_ACTIVATE" },
11543 { SMSG_SHOW_BANK, "SMSG_SHOW_BANK" },
11544 { CMSG_BUY_BANK_SLOT, "CMSG_BUY_BANK_SLOT" },
11545 { SMSG_BUY_BANK_SLOT_RESULT, "SMSG_BUY_BANK_SLOT_RESULT" },
11546 { CMSG_PETITION_SHOWLIST, "CMSG_PETITION_SHOWLIST" },
11547 { SMSG_PETITION_SHOWLIST, "SMSG_PETITION_SHOWLIST" },
11548 { CMSG_PETITION_BUY, "CMSG_PETITION_BUY" },
11549 { CMSG_PETITION_SHOW_SIGNATURES, "CMSG_PETITION_SHOW_SIGNATURES" },
11550 { SMSG_PETITION_SHOW_SIGNATURES, "SMSG_PETITION_SHOW_SIGNATURES" },
11551 { CMSG_PETITION_SIGN, "CMSG_PETITION_SIGN" },
11552 { SMSG_PETITION_SIGN_RESULTS, "SMSG_PETITION_SIGN_RESULTS" },
11553 { MSG_PETITION_DECLINE, "MSG_PETITION_DECLINE" },
11554 { CMSG_OFFER_PETITION, "CMSG_OFFER_PETITION" },
11555 { CMSG_TURN_IN_PETITION, "CMSG_TURN_IN_PETITION" },
11556 { SMSG_TURN_IN_PETITION_RESULTS, "SMSG_TURN_IN_PETITION_RESULTS" },
11557 { CMSG_PETITION_QUERY, "CMSG_PETITION_QUERY" },
11558 { SMSG_PETITION_QUERY_RESPONSE, "SMSG_PETITION_QUERY_RESPONSE" },
11559 { SMSG_FISH_NOT_HOOKED, "SMSG_FISH_NOT_HOOKED" },
11560 { SMSG_FISH_ESCAPED, "SMSG_FISH_ESCAPED" },
11561 { CMSG_BUG, "CMSG_BUG" },
11562 { SMSG_NOTIFICATION, "SMSG_NOTIFICATION" },
11563 { CMSG_PLAYED_TIME, "CMSG_PLAYED_TIME" },
11564 { SMSG_PLAYED_TIME, "SMSG_PLAYED_TIME" },
11565 { CMSG_QUERY_TIME, "CMSG_QUERY_TIME" },
11566 { SMSG_QUERY_TIME_RESPONSE, "SMSG_QUERY_TIME_RESPONSE" },
11567 { SMSG_LOG_XPGAIN, "SMSG_LOG_XPGAIN" },
11568 { SMSG_AURACASTLOG, "SMSG_AURACASTLOG" },
11569 { CMSG_RECLAIM_CORPSE, "CMSG_RECLAIM_CORPSE" },
11570 { CMSG_WRAP_ITEM, "CMSG_WRAP_ITEM" },
11571 { SMSG_LEVELUP_INFO, "SMSG_LEVELUP_INFO" },
11572 { MSG_MINIMAP_PING, "MSG_MINIMAP_PING" },
11573 { SMSG_RESISTLOG, "SMSG_RESISTLOG" },
11574 { SMSG_ENCHANTMENTLOG, "SMSG_ENCHANTMENTLOG" },
11575 { CMSG_SET_SKILL_CHEAT, "CMSG_SET_SKILL_CHEAT" },
11576 { SMSG_START_MIRROR_TIMER, "SMSG_START_MIRROR_TIMER" },
11577 { SMSG_PAUSE_MIRROR_TIMER, "SMSG_PAUSE_MIRROR_TIMER" },
11578 { SMSG_STOP_MIRROR_TIMER, "SMSG_STOP_MIRROR_TIMER" },
11579 { CMSG_PING, "CMSG_PING" },
11580 { SMSG_PONG, "SMSG_PONG" },
11581 { SMSG_CLEAR_COOLDOWN, "SMSG_CLEAR_COOLDOWN" },
11582 { SMSG_GAMEOBJECT_PAGETEXT, "SMSG_GAMEOBJECT_PAGETEXT" },
11583 { CMSG_SETSHEATHED, "CMSG_SETSHEATHED" },
11584 { SMSG_COOLDOWN_CHEAT, "SMSG_COOLDOWN_CHEAT" },
11585 { SMSG_SPELL_DELAYED, "SMSG_SPELL_DELAYED" },
11586 { CMSG_PLAYER_MACRO_OBSOLETE, "CMSG_PLAYER_MACRO_OBSOLETE" },
11587 { SMSG_PLAYER_MACRO_OBSOLETE, "SMSG_PLAYER_MACRO_OBSOLETE" },
11588 { CMSG_GHOST, "CMSG_GHOST" },
11589 { CMSG_GM_INVIS, "CMSG_GM_INVIS" },
11590 { SMSG_INVALID_PROMOTION_CODE, "SMSG_INVALID_PROMOTION_CODE" },
11591 { MSG_GM_BIND_OTHER, "MSG_GM_BIND_OTHER" },
11592 { MSG_GM_SUMMON, "MSG_GM_SUMMON" },
11593 { SMSG_ITEM_TIME_UPDATE, "SMSG_ITEM_TIME_UPDATE" },
11594 { SMSG_ITEM_ENCHANT_TIME_UPDATE, "SMSG_ITEM_ENCHANT_TIME_UPDATE" },
11595 { SMSG_AUTH_CHALLENGE, "SMSG_AUTH_CHALLENGE" },
11596 { CMSG_AUTH_SESSION, "CMSG_AUTH_SESSION" },
11597 { SMSG_AUTH_RESPONSE, "SMSG_AUTH_RESPONSE" },
11598 { MSG_GM_SHOWLABEL, "MSG_GM_SHOWLABEL" },
11599 { CMSG_PET_CAST_SPELL, "CMSG_PET_CAST_SPELL" },
11600 { MSG_SAVE_GUILD_EMBLEM, "MSG_SAVE_GUILD_EMBLEM" },
11601 { MSG_TABARDVENDOR_ACTIVATE, "MSG_TABARDVENDOR_ACTIVATE" },
11602 { SMSG_PLAY_SPELL_VISUAL, "SMSG_PLAY_SPELL_VISUAL" },
11603 { CMSG_ZONEUPDATE, "CMSG_ZONEUPDATE" },
11604 { SMSG_PARTYKILLLOG, "SMSG_PARTYKILLLOG" },
11605 { SMSG_COMPRESSED_UPDATE_OBJECT, "SMSG_COMPRESSED_UPDATE_OBJECT" },
11606 { SMSG_PLAY_SPELL_IMPACT, "SMSG_PLAY_SPELL_IMPACT" },
11607 { SMSG_EXPLORATION_EXPERIENCE, "SMSG_EXPLORATION_EXPERIENCE" },
11608 { CMSG_GM_SET_SECURITY_GROUP, "CMSG_GM_SET_SECURITY_GROUP" },
11609 { CMSG_GM_NUKE, "CMSG_GM_NUKE" },
11610 { MSG_RANDOM_ROLL, "MSG_RANDOM_ROLL" },
11611 { SMSG_ENVIRONMENTAL_DAMAGE_LOG, "SMSG_ENVIRONMENTAL_DAMAGE_LOG" },
11612 { CMSG_RWHOIS_OBSOLETE, "CMSG_RWHOIS_OBSOLETE" },
11613 { SMSG_RWHOIS, "SMSG_RWHOIS" },
11614 { MSG_LOOKING_FOR_GROUP, "MSG_LOOKING_FOR_GROUP" },
11615 { CMSG_SET_LOOKING_FOR_GROUP, "CMSG_SET_LOOKING_FOR_GROUP" },
11616 { CMSG_UNLEARN_SPELL, "CMSG_UNLEARN_SPELL" },
11617 { CMSG_UNLEARN_SKILL, "CMSG_UNLEARN_SKILL" },
11618 { SMSG_REMOVED_SPELL, "SMSG_REMOVED_SPELL" },
11619 { CMSG_DECHARGE, "CMSG_DECHARGE" },
11620 { CMSG_GMTICKET_CREATE, "CMSG_GMTICKET_CREATE" },
11621 { SMSG_GMTICKET_CREATE, "SMSG_GMTICKET_CREATE" },
11622 { CMSG_GMTICKET_UPDATETEXT, "CMSG_GMTICKET_UPDATETEXT" },
11623 { SMSG_GMTICKET_UPDATETEXT, "SMSG_GMTICKET_UPDATETEXT" },
11624 { SMSG_ACCOUNT_DATA_TIMES, "SMSG_ACCOUNT_DATA_TIMES" },
11625 { CMSG_REQUEST_ACCOUNT_DATA, "CMSG_REQUEST_ACCOUNT_DATA" },
11626 { CMSG_UPDATE_ACCOUNT_DATA, "CMSG_UPDATE_ACCOUNT_DATA" },
11627 { SMSG_UPDATE_ACCOUNT_DATA, "SMSG_UPDATE_ACCOUNT_DATA" },
11628 { SMSG_CLEAR_FAR_SIGHT_IMMEDIATE, "SMSG_CLEAR_FAR_SIGHT_IMMEDIATE" },
11629 { SMSG_POWERGAINLOG_OBSOLETE, "SMSG_POWERGAINLOG_OBSOLETE" },
11630 { CMSG_GM_TEACH, "CMSG_GM_TEACH" },
11631 { CMSG_GM_CREATE_ITEM_TARGET, "CMSG_GM_CREATE_ITEM_TARGET" },
11632 { CMSG_GMTICKET_GETTICKET, "CMSG_GMTICKET_GETTICKET" },
11633 { SMSG_GMTICKET_GETTICKET, "SMSG_GMTICKET_GETTICKET" },
11634 { CMSG_UNLEARN_TALENTS, "CMSG_UNLEARN_TALENTS" },
11635 { SMSG_GAMEOBJECT_SPAWN_ANIM, "SMSG_GAMEOBJECT_SPAWN_ANIM" },
11636 { SMSG_GAMEOBJECT_DESPAWN_ANIM, "SMSG_GAMEOBJECT_DESPAWN_ANIM" },
11637 { MSG_CORPSE_QUERY, "MSG_CORPSE_QUERY" },
11638 { CMSG_GMTICKET_DELETETICKET, "CMSG_GMTICKET_DELETETICKET" },
11639 { SMSG_GMTICKET_DELETETICKET, "SMSG_GMTICKET_DELETETICKET" },
11640 { SMSG_CHAT_WRONG_FACTION, "SMSG_CHAT_WRONG_FACTION" },
11641 { CMSG_GMTICKET_SYSTEMSTATUS, "CMSG_GMTICKET_SYSTEMSTATUS" },
11642 { SMSG_GMTICKET_SYSTEMSTATUS, "SMSG_GMTICKET_SYSTEMSTATUS" },
11643 { CMSG_SPIRIT_HEALER_ACTIVATE, "CMSG_SPIRIT_HEALER_ACTIVATE" },
11644 { CMSG_SET_STAT_CHEAT, "CMSG_SET_STAT_CHEAT" },
11645 { SMSG_SET_REST_START, "SMSG_SET_REST_START" },
11646 { CMSG_SKILL_BUY_STEP, "CMSG_SKILL_BUY_STEP" },
11647 { CMSG_SKILL_BUY_RANK, "CMSG_SKILL_BUY_RANK" },
11648 { CMSG_XP_CHEAT, "CMSG_XP_CHEAT" },
11649 { SMSG_SPIRIT_HEALER_CONFIRM, "SMSG_SPIRIT_HEALER_CONFIRM" },
11650 { CMSG_CHARACTER_POINT_CHEAT, "CMSG_CHARACTER_POINT_CHEAT" },
11651 { SMSG_GOSSIP_POI, "SMSG_GOSSIP_POI" },
11652 { CMSG_CHAT_IGNORED, "CMSG_CHAT_IGNORED" },
11653 { CMSG_GM_VISION, "CMSG_GM_VISION" },
11654 { CMSG_SERVER_COMMAND, "CMSG_SERVER_COMMAND" },
11655 { CMSG_GM_SILENCE, "CMSG_GM_SILENCE" },
11656 { CMSG_GM_REVEALTO, "CMSG_GM_REVEALTO" },
11657 { CMSG_GM_RESURRECT, "CMSG_GM_RESURRECT" },
11658 { CMSG_GM_SUMMONMOB, "CMSG_GM_SUMMONMOB" },
11659 { CMSG_GM_MOVECORPSE, "CMSG_GM_MOVECORPSE" },
11660 { CMSG_GM_FREEZE, "CMSG_GM_FREEZE" },
11661 { CMSG_GM_UBERINVIS, "CMSG_GM_UBERINVIS" },
11662 { CMSG_GM_REQUEST_PLAYER_INFO, "CMSG_GM_REQUEST_PLAYER_INFO" },
11663 { SMSG_GM_PLAYER_INFO, "SMSG_GM_PLAYER_INFO" },
11664 { CMSG_GUILD_RANK, "CMSG_GUILD_RANK" },
11665 { CMSG_GUILD_ADD_RANK, "CMSG_GUILD_ADD_RANK" },
11666 { CMSG_GUILD_DEL_RANK, "CMSG_GUILD_DEL_RANK" },
11667 { CMSG_GUILD_SET_PUBLIC_NOTE, "CMSG_GUILD_SET_PUBLIC_NOTE" },
11668 { CMSG_GUILD_SET_OFFICER_NOTE, "CMSG_GUILD_SET_OFFICER_NOTE" },
11669 { SMSG_LOGIN_VERIFY_WORLD, "SMSG_LOGIN_VERIFY_WORLD" },
11670 { CMSG_CLEAR_EXPLORATION, "CMSG_CLEAR_EXPLORATION" },
11671 { CMSG_SEND_MAIL, "CMSG_SEND_MAIL" },
11672 { SMSG_SEND_MAIL_RESULT, "SMSG_SEND_MAIL_RESULT" },
11673 { CMSG_GET_MAIL_LIST, "CMSG_GET_MAIL_LIST" },
11674 { SMSG_MAIL_LIST_RESULT, "SMSG_MAIL_LIST_RESULT" },
11675 { CMSG_BATTLEFIELD_LIST, "CMSG_BATTLEFIELD_LIST" },
11676 { SMSG_BATTLEFIELD_LIST, "SMSG_BATTLEFIELD_LIST" },
11677 { CMSG_BATTLEFIELD_JOIN, "CMSG_BATTLEFIELD_JOIN" },
11678 { SMSG_BATTLEFIELD_WIN_OBSOLETE, "SMSG_BATTLEFIELD_WIN_OBSOLETE" },
11679 { SMSG_BATTLEFIELD_LOSE_OBSOLETE, "SMSG_BATTLEFIELD_LOSE_OBSOLETE" },
11680 { CMSG_TAXICLEARNODE, "CMSG_TAXICLEARNODE" },
11681 { CMSG_TAXIENABLENODE, "CMSG_TAXIENABLENODE" },
11682 { CMSG_ITEM_TEXT_QUERY, "CMSG_ITEM_TEXT_QUERY" },
11683 { SMSG_ITEM_TEXT_QUERY_RESPONSE, "SMSG_ITEM_TEXT_QUERY_RESPONSE" },
11684 { CMSG_MAIL_TAKE_MONEY, "CMSG_MAIL_TAKE_MONEY" },
11685 { CMSG_MAIL_TAKE_ITEM, "CMSG_MAIL_TAKE_ITEM" },
11686 { CMSG_MAIL_MARK_AS_READ, "CMSG_MAIL_MARK_AS_READ" },
11687 { CMSG_MAIL_RETURN_TO_SENDER, "CMSG_MAIL_RETURN_TO_SENDER" },
11688 { CMSG_MAIL_DELETE, "CMSG_MAIL_DELETE" },
11689 { CMSG_MAIL_CREATE_TEXT_ITEM, "CMSG_MAIL_CREATE_TEXT_ITEM" },
11690 { SMSG_SPELLLOGMISS, "SMSG_SPELLLOGMISS" },
11691 { SMSG_SPELLLOGEXECUTE, "SMSG_SPELLLOGEXECUTE" },
11692 { SMSG_DEBUGAURAPROC, "SMSG_DEBUGAURAPROC" },
11693 { SMSG_PERIODICAURALOG, "SMSG_PERIODICAURALOG" },
11694 { SMSG_SPELLDAMAGESHIELD, "SMSG_SPELLDAMAGESHIELD" },
11695 { SMSG_SPELLNONMELEEDAMAGELOG, "SMSG_SPELLNONMELEEDAMAGELOG" },
11696 { CMSG_LEARN_TALENT, "CMSG_LEARN_TALENT" },
11697 { SMSG_RESURRECT_FAILED, "SMSG_RESURRECT_FAILED" },
11698 { CMSG_TOGGLE_PVP, "CMSG_TOGGLE_PVP" },
11699 { SMSG_ZONE_UNDER_ATTACK, "SMSG_ZONE_UNDER_ATTACK" },
11700 { MSG_AUCTION_HELLO, "MSG_AUCTION_HELLO" },
11701 { CMSG_AUCTION_SELL_ITEM, "CMSG_AUCTION_SELL_ITEM" },
11702 { CMSG_AUCTION_REMOVE_ITEM, "CMSG_AUCTION_REMOVE_ITEM" },
11703 { CMSG_AUCTION_LIST_ITEMS, "CMSG_AUCTION_LIST_ITEMS" },
11704 { CMSG_AUCTION_LIST_OWNER_ITEMS, "CMSG_AUCTION_LIST_OWNER_ITEMS" },
11705 { CMSG_AUCTION_PLACE_BID, "CMSG_AUCTION_PLACE_BID" },
11706 { SMSG_AUCTION_COMMAND_RESULT, "SMSG_AUCTION_COMMAND_RESULT" },
11707 { SMSG_AUCTION_LIST_RESULT, "SMSG_AUCTION_LIST_RESULT" },
11708 { SMSG_AUCTION_OWNER_LIST_RESULT, "SMSG_AUCTION_OWNER_LIST_RESULT" },
11709 { SMSG_AUCTION_BIDDER_NOTIFICATION, "SMSG_AUCTION_BIDDER_NOTIFICATION" },
11710 { SMSG_AUCTION_OWNER_NOTIFICATION, "SMSG_AUCTION_OWNER_NOTIFICATION" },
11711 { SMSG_PROCRESIST, "SMSG_PROCRESIST" },
11712 { SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE, "SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE" },
11713 { SMSG_DISPEL_FAILED, "SMSG_DISPEL_FAILED" },
11714 { SMSG_SPELLORDAMAGE_IMMUNE, "SMSG_SPELLORDAMAGE_IMMUNE" },
11715 { CMSG_AUCTION_LIST_BIDDER_ITEMS, "CMSG_AUCTION_LIST_BIDDER_ITEMS" },
11716 { SMSG_AUCTION_BIDDER_LIST_RESULT, "SMSG_AUCTION_BIDDER_LIST_RESULT" },
11717 { SMSG_SET_FLAT_SPELL_MODIFIER, "SMSG_SET_FLAT_SPELL_MODIFIER" },
11718 { SMSG_SET_PCT_SPELL_MODIFIER, "SMSG_SET_PCT_SPELL_MODIFIER" },
11719 { CMSG_SET_AMMO, "CMSG_SET_AMMO" },
11720 { SMSG_CORPSE_RECLAIM_DELAY, "SMSG_CORPSE_RECLAIM_DELAY" },
11721 { CMSG_SET_ACTIVE_MOVER, "CMSG_SET_ACTIVE_MOVER" },
11722 { CMSG_PET_CANCEL_AURA, "CMSG_PET_CANCEL_AURA" },
11723 { CMSG_PLAYER_AI_CHEAT, "CMSG_PLAYER_AI_CHEAT" },
11724 { CMSG_CANCEL_AUTO_REPEAT_SPELL, "CMSG_CANCEL_AUTO_REPEAT_SPELL" },
11725 { MSG_GM_ACCOUNT_ONLINE, "MSG_GM_ACCOUNT_ONLINE" },
11726 { MSG_LIST_STABLED_PETS, "MSG_LIST_STABLED_PETS" },
11727 { CMSG_STABLE_PET, "CMSG_STABLE_PET" },
11728 { CMSG_UNSTABLE_PET, "CMSG_UNSTABLE_PET" },
11729 { CMSG_BUY_STABLE_SLOT, "CMSG_BUY_STABLE_SLOT" },
11730 { SMSG_STABLE_RESULT, "SMSG_STABLE_RESULT" },
11731 { CMSG_STABLE_REVIVE_PET, "CMSG_STABLE_REVIVE_PET" },
11732 { CMSG_STABLE_SWAP_PET, "CMSG_STABLE_SWAP_PET" },
11733 { MSG_QUEST_PUSH_RESULT, "MSG_QUEST_PUSH_RESULT" },
11734 { SMSG_PLAY_MUSIC, "SMSG_PLAY_MUSIC" },
11735 { SMSG_PLAY_OBJECT_SOUND, "SMSG_PLAY_OBJECT_SOUND" },
11736 { CMSG_REQUEST_PET_INFO, "CMSG_REQUEST_PET_INFO" },
11737 { CMSG_FAR_SIGHT, "CMSG_FAR_SIGHT" },
11738 { SMSG_SPELLDISPELLOG, "SMSG_SPELLDISPELLOG" },
11739 { SMSG_DAMAGE_CALC_LOG, "SMSG_DAMAGE_CALC_LOG" },
11740 { CMSG_ENABLE_DAMAGE_LOG, "CMSG_ENABLE_DAMAGE_LOG" },
11741 { CMSG_GROUP_CHANGE_SUB_GROUP, "CMSG_GROUP_CHANGE_SUB_GROUP" },
11742 { CMSG_REQUEST_PARTY_MEMBER_STATS, "CMSG_REQUEST_PARTY_MEMBER_STATS" },
11743 { CMSG_GROUP_SWAP_SUB_GROUP, "CMSG_GROUP_SWAP_SUB_GROUP" },
11744 { CMSG_RESET_FACTION_CHEAT, "CMSG_RESET_FACTION_CHEAT" },
11745 { CMSG_AUTOSTORE_BANK_ITEM, "CMSG_AUTOSTORE_BANK_ITEM" },
11746 { CMSG_AUTOBANK_ITEM, "CMSG_AUTOBANK_ITEM" },
11747 { MSG_QUERY_NEXT_MAIL_TIME, "MSG_QUERY_NEXT_MAIL_TIME" },
11748 { SMSG_RECEIVED_MAIL, "SMSG_RECEIVED_MAIL" },
11749 { SMSG_RAID_GROUP_ONLY, "SMSG_RAID_GROUP_ONLY" },
11750 { CMSG_SET_DURABILITY_CHEAT, "CMSG_SET_DURABILITY_CHEAT" },
11751 { CMSG_SET_PVP_RANK_CHEAT, "CMSG_SET_PVP_RANK_CHEAT" },
11752 { CMSG_ADD_PVP_MEDAL_CHEAT, "CMSG_ADD_PVP_MEDAL_CHEAT" },
11753 { CMSG_DEL_PVP_MEDAL_CHEAT, "CMSG_DEL_PVP_MEDAL_CHEAT" },
11754 { CMSG_SET_PVP_TITLE, "CMSG_SET_PVP_TITLE" },
11755 { SMSG_PVP_CREDIT, "SMSG_PVP_CREDIT" },
11756 { SMSG_AUCTION_REMOVED_NOTIFICATION, "SMSG_AUCTION_REMOVED_NOTIFICATION" },
11757 { CMSG_GROUP_RAID_CONVERT, "CMSG_GROUP_RAID_CONVERT" },
11758 { CMSG_GROUP_ASSISTANT_LEADER, "CMSG_GROUP_ASSISTANT_LEADER" },
11759 { CMSG_BUYBACK_ITEM, "CMSG_BUYBACK_ITEM" },
11760 { SMSG_SERVER_MESSAGE, "SMSG_SERVER_MESSAGE" },
11761 { CMSG_MEETINGSTONE_JOIN, "CMSG_MEETINGSTONE_JOIN" },
11762 { CMSG_MEETINGSTONE_LEAVE, "CMSG_MEETINGSTONE_LEAVE" },
11763 { CMSG_MEETINGSTONE_CHEAT, "CMSG_MEETINGSTONE_CHEAT" },
11764 { SMSG_MEETINGSTONE_SETQUEUE, "SMSG_MEETINGSTONE_SETQUEUE" },
11765 { CMSG_MEETINGSTONE_INFO, "CMSG_MEETINGSTONE_INFO" },
11766 { SMSG_MEETINGSTONE_COMPLETE, "SMSG_MEETINGSTONE_COMPLETE" },
11767 { SMSG_MEETINGSTONE_IN_PROGRESS, "SMSG_MEETINGSTONE_IN_PROGRESS" },
11768 { SMSG_MEETINGSTONE_MEMBER_ADDED, "SMSG_MEETINGSTONE_MEMBER_ADDED" },
11769 { CMSG_GMTICKETSYSTEM_TOGGLE, "CMSG_GMTICKETSYSTEM_TOGGLE" },
11770 { CMSG_CANCEL_GROWTH_AURA, "CMSG_CANCEL_GROWTH_AURA" },
11771 { SMSG_CANCEL_AUTO_REPEAT, "SMSG_CANCEL_AUTO_REPEAT" },
11772 { SMSG_STANDSTATE_UPDATE, "SMSG_STANDSTATE_UPDATE" },
11773 { SMSG_LOOT_ALL_PASSED, "SMSG_LOOT_ALL_PASSED" },
11774 { SMSG_LOOT_ROLL_WON, "SMSG_LOOT_ROLL_WON" },
11775 { CMSG_LOOT_ROLL, "CMSG_LOOT_ROLL" },
11776 { SMSG_LOOT_START_ROLL, "SMSG_LOOT_START_ROLL" },
11777 { SMSG_LOOT_ROLL, "SMSG_LOOT_ROLL" },
11778 { CMSG_LOOT_MASTER_GIVE, "CMSG_LOOT_MASTER_GIVE" },
11779 { SMSG_LOOT_MASTER_LIST, "SMSG_LOOT_MASTER_LIST" },
11780 { SMSG_SET_FORCED_REACTIONS, "SMSG_SET_FORCED_REACTIONS" },
11781 { SMSG_SPELL_FAILED_OTHER, "SMSG_SPELL_FAILED_OTHER" },
11782 { SMSG_GAMEOBJECT_RESET_STATE, "SMSG_GAMEOBJECT_RESET_STATE" },
11783 { CMSG_REPAIR_ITEM, "CMSG_REPAIR_ITEM" },
11784 { SMSG_CHAT_PLAYER_NOT_FOUND, "SMSG_CHAT_PLAYER_NOT_FOUND" },
11785 { MSG_TALENT_WIPE_CONFIRM, "MSG_TALENT_WIPE_CONFIRM" },
11786 { SMSG_SUMMON_REQUEST, "SMSG_SUMMON_REQUEST" },
11787 { CMSG_SUMMON_RESPONSE, "CMSG_SUMMON_RESPONSE" },
11788 { MSG_MOVE_TOGGLE_GRAVITY_CHEAT, "MSG_MOVE_TOGGLE_GRAVITY_CHEAT" },
11789 { SMSG_MONSTER_MOVE_TRANSPORT, "SMSG_MONSTER_MOVE_TRANSPORT" },
11790 { SMSG_PET_BROKEN, "SMSG_PET_BROKEN" },
11791 { MSG_MOVE_FEATHER_FALL, "MSG_MOVE_FEATHER_FALL" },
11792 { MSG_MOVE_WATER_WALK, "MSG_MOVE_WATER_WALK" },
11793 { CMSG_SERVER_BROADCAST, "CMSG_SERVER_BROADCAST" },
11794 { CMSG_SELF_RES, "CMSG_SELF_RES" },
11795 { SMSG_FEIGN_DEATH_RESISTED, "SMSG_FEIGN_DEATH_RESISTED" },
11796 { CMSG_RUN_SCRIPT, "CMSG_RUN_SCRIPT" },
11797 { SMSG_SCRIPT_MESSAGE, "SMSG_SCRIPT_MESSAGE" },
11798 { SMSG_DUEL_COUNTDOWN, "SMSG_DUEL_COUNTDOWN" },
11799 { SMSG_AREA_TRIGGER_MESSAGE, "SMSG_AREA_TRIGGER_MESSAGE" },
11800 { CMSG_TOGGLE_HELM, "CMSG_TOGGLE_HELM" },
11801 { CMSG_TOGGLE_CLOAK, "CMSG_TOGGLE_CLOAK" },
11802 { SMSG_MEETINGSTONE_JOINFAILED, "SMSG_MEETINGSTONE_JOINFAILED" },
11803 { SMSG_PLAYER_SKINNED, "SMSG_PLAYER_SKINNED" },
11804 { SMSG_DURABILITY_DAMAGE_DEATH, "SMSG_DURABILITY_DAMAGE_DEATH" },
11805 { CMSG_SET_EXPLORATION, "CMSG_SET_EXPLORATION" },
11806 { CMSG_SET_ACTIONBAR_TOGGLES, "CMSG_SET_ACTIONBAR_TOGGLES" },
11807 { UMSG_DELETE_GUILD_CHARTER, "UMSG_DELETE_GUILD_CHARTER" },
11808 { MSG_PETITION_RENAME, "MSG_PETITION_RENAME" },
11809 { SMSG_INIT_WORLD_STATES, "SMSG_INIT_WORLD_STATES" },
11810 { SMSG_UPDATE_WORLD_STATE, "SMSG_UPDATE_WORLD_STATE" },
11811 { CMSG_ITEM_NAME_QUERY, "CMSG_ITEM_NAME_QUERY" },
11812 { SMSG_ITEM_NAME_QUERY_RESPONSE, "SMSG_ITEM_NAME_QUERY_RESPONSE" },
11813 { SMSG_PET_ACTION_FEEDBACK, "SMSG_PET_ACTION_FEEDBACK" },
11814 { CMSG_CHAR_RENAME, "CMSG_CHAR_RENAME" },
11815 { SMSG_CHAR_RENAME, "SMSG_CHAR_RENAME" },
11816 { CMSG_MOVE_SPLINE_DONE, "CMSG_MOVE_SPLINE_DONE" },
11817 { CMSG_MOVE_FALL_RESET, "CMSG_MOVE_FALL_RESET" },
11818 { SMSG_INSTANCE_SAVE_CREATED, "SMSG_INSTANCE_SAVE_CREATED" },
11819 { SMSG_RAID_INSTANCE_INFO, "SMSG_RAID_INSTANCE_INFO" },
11820 { CMSG_REQUEST_RAID_INFO, "CMSG_REQUEST_RAID_INFO" },
11821 { CMSG_MOVE_TIME_SKIPPED, "CMSG_MOVE_TIME_SKIPPED" },
11822 { CMSG_MOVE_FEATHER_FALL_ACK, "CMSG_MOVE_FEATHER_FALL_ACK" },
11823 { CMSG_MOVE_WATER_WALK_ACK, "CMSG_MOVE_WATER_WALK_ACK" },
11824 { CMSG_MOVE_NOT_ACTIVE_MOVER, "CMSG_MOVE_NOT_ACTIVE_MOVER" },
11825 { SMSG_PLAY_SOUND, "SMSG_PLAY_SOUND" },
11826 { CMSG_BATTLEFIELD_STATUS, "CMSG_BATTLEFIELD_STATUS" },
11827 { SMSG_BATTLEFIELD_STATUS, "SMSG_BATTLEFIELD_STATUS" },
11828 { CMSG_BATTLEFIELD_PORT, "CMSG_BATTLEFIELD_PORT" },
11829 { MSG_INSPECT_HONOR_STATS, "MSG_INSPECT_HONOR_STATS" },
11830 { CMSG_BATTLEMASTER_HELLO, "CMSG_BATTLEMASTER_HELLO" },
11831 { CMSG_MOVE_START_SWIM_CHEAT, "CMSG_MOVE_START_SWIM_CHEAT" },
11832 { CMSG_MOVE_STOP_SWIM_CHEAT, "CMSG_MOVE_STOP_SWIM_CHEAT" },
11833 { SMSG_FORCE_WALK_SPEED_CHANGE, "SMSG_FORCE_WALK_SPEED_CHANGE" },
11834 { CMSG_FORCE_WALK_SPEED_CHANGE_ACK, "CMSG_FORCE_WALK_SPEED_CHANGE_ACK" },
11835 { SMSG_FORCE_SWIM_BACK_SPEED_CHANGE, "SMSG_FORCE_SWIM_BACK_SPEED_CHANGE" },
11836 { CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, "CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK" },
11837 { SMSG_FORCE_TURN_RATE_CHANGE, "SMSG_FORCE_TURN_RATE_CHANGE" },
11838 { CMSG_FORCE_TURN_RATE_CHANGE_ACK, "CMSG_FORCE_TURN_RATE_CHANGE_ACK" },
11839 { MSG_PVP_LOG_DATA, "MSG_PVP_LOG_DATA" },
11840 { CMSG_LEAVE_BATTLEFIELD, "CMSG_LEAVE_BATTLEFIELD" },
11841 { CMSG_AREA_SPIRIT_HEALER_QUERY, "CMSG_AREA_SPIRIT_HEALER_QUERY" },
11842 { CMSG_AREA_SPIRIT_HEALER_QUEUE, "CMSG_AREA_SPIRIT_HEALER_QUEUE" },
11843 { SMSG_AREA_SPIRIT_HEALER_TIME, "SMSG_AREA_SPIRIT_HEALER_TIME" },
11844 { CMSG_GM_UNTEACH, "CMSG_GM_UNTEACH" },
11845 { SMSG_WARDEN_DATA, "SMSG_WARDEN_DATA" },
11846 { CMSG_WARDEN_DATA, "CMSG_WARDEN_DATA" },
11847 { SMSG_GROUP_JOINED_BATTLEGROUND, "SMSG_GROUP_JOINED_BATTLEGROUND" },
11848 { MSG_BATTLEGROUND_PLAYER_POSITIONS, "MSG_BATTLEGROUND_PLAYER_POSITIONS" },
11849 { CMSG_PET_STOP_ATTACK, "CMSG_PET_STOP_ATTACK" },
11850 { SMSG_BINDER_CONFIRM, "SMSG_BINDER_CONFIRM" },
11851 { SMSG_BATTLEGROUND_PLAYER_JOINED, "SMSG_BATTLEGROUND_PLAYER_JOINED" },
11852 { SMSG_BATTLEGROUND_PLAYER_LEFT, "SMSG_BATTLEGROUND_PLAYER_LEFT" },
11853 { CMSG_BATTLEMASTER_JOIN, "CMSG_BATTLEMASTER_JOIN" },
11854 { SMSG_ADDON_INFO, "SMSG_ADDON_INFO" },
11855 { CMSG_PET_UNLEARN, "CMSG_PET_UNLEARN" },
11856 { SMSG_PET_UNLEARN_CONFIRM, "SMSG_PET_UNLEARN_CONFIRM" },
11857 { SMSG_PARTY_MEMBER_STATS_FULL, "SMSG_PARTY_MEMBER_STATS_FULL" },
11858 { CMSG_PET_SPELL_AUTOCAST, "CMSG_PET_SPELL_AUTOCAST" },
11859 { SMSG_WEATHER, "SMSG_WEATHER" },
11860 { SMSG_PLAY_TIME_WARNING, "SMSG_PLAY_TIME_WARNING" },
11861 { SMSG_MINIGAME_SETUP, "SMSG_MINIGAME_SETUP" },
11862 { SMSG_MINIGAME_STATE, "SMSG_MINIGAME_STATE" },
11863 { CMSG_MINIGAME_MOVE, "CMSG_MINIGAME_MOVE" },
11864 { SMSG_MINIGAME_MOVE_FAILED, "SMSG_MINIGAME_MOVE_FAILED" },
11865 { SMSG_RAID_INSTANCE_MESSAGE, "SMSG_RAID_INSTANCE_MESSAGE" },
11866 { SMSG_COMPRESSED_MOVES, "SMSG_COMPRESSED_MOVES" },
11867 { CMSG_GUILD_INFO_TEXT, "CMSG_GUILD_INFO_TEXT" },
11868 { SMSG_CHAT_RESTRICTED, "SMSG_CHAT_RESTRICTED" },
11869 { SMSG_SPLINE_SET_RUN_SPEED, "SMSG_SPLINE_SET_RUN_SPEED" },
11870 { SMSG_SPLINE_SET_RUN_BACK_SPEED, "SMSG_SPLINE_SET_RUN_BACK_SPEED" },
11871 { SMSG_SPLINE_SET_SWIM_SPEED, "SMSG_SPLINE_SET_SWIM_SPEED" },
11872 { SMSG_SPLINE_SET_WALK_SPEED, "SMSG_SPLINE_SET_WALK_SPEED" },
11873 { SMSG_SPLINE_SET_SWIM_BACK_SPEED, "SMSG_SPLINE_SET_SWIM_BACK_SPEED" },
11874 { SMSG_SPLINE_SET_TURN_RATE, "SMSG_SPLINE_SET_TURN_RATE" },
11875 { SMSG_SPLINE_MOVE_UNROOT, "SMSG_SPLINE_MOVE_UNROOT" },
11876 { SMSG_SPLINE_MOVE_FEATHER_FALL, "SMSG_SPLINE_MOVE_FEATHER_FALL" },
11877 { SMSG_SPLINE_MOVE_NORMAL_FALL, "SMSG_SPLINE_MOVE_NORMAL_FALL" },
11878 { SMSG_SPLINE_MOVE_SET_HOVER, "SMSG_SPLINE_MOVE_SET_HOVER" },
11879 { SMSG_SPLINE_MOVE_UNSET_HOVER, "SMSG_SPLINE_MOVE_UNSET_HOVER" },
11880 { SMSG_SPLINE_MOVE_WATER_WALK, "SMSG_SPLINE_MOVE_WATER_WALK" },
11881 { SMSG_SPLINE_MOVE_LAND_WALK, "SMSG_SPLINE_MOVE_LAND_WALK" },
11882 { SMSG_SPLINE_MOVE_START_SWIM, "SMSG_SPLINE_MOVE_START_SWIM" },
11883 { SMSG_SPLINE_MOVE_STOP_SWIM, "SMSG_SPLINE_MOVE_STOP_SWIM" },
11884 { SMSG_SPLINE_MOVE_SET_RUN_MODE, "SMSG_SPLINE_MOVE_SET_RUN_MODE" },
11885 { SMSG_SPLINE_MOVE_SET_WALK_MODE, "SMSG_SPLINE_MOVE_SET_WALK_MODE" },
11886 { CMSG_GM_NUKE_ACCOUNT, "CMSG_GM_NUKE_ACCOUNT" },
11887 { MSG_GM_DESTROY_CORPSE, "MSG_GM_DESTROY_CORPSE" },
11888 { CMSG_GM_DESTROY_ONLINE_CORPSE, "CMSG_GM_DESTROY_ONLINE_CORPSE" },
11889 { CMSG_ACTIVATETAXIEXPRESS, "CMSG_ACTIVATETAXIEXPRESS" },
11890 { SMSG_SET_FACTION_ATWAR, "SMSG_SET_FACTION_ATWAR" },
11891 { SMSG_GAMETIMEBIAS_SET, "SMSG_GAMETIMEBIAS_SET" },
11892 { CMSG_DEBUG_ACTIONS_START, "CMSG_DEBUG_ACTIONS_START" },
11893 { CMSG_DEBUG_ACTIONS_STOP, "CMSG_DEBUG_ACTIONS_STOP" },
11894 { CMSG_SET_FACTION_INACTIVE, "CMSG_SET_FACTION_INACTIVE" },
11895 { CMSG_SET_WATCHED_FACTION, "CMSG_SET_WATCHED_FACTION" },
11896 { MSG_MOVE_TIME_SKIPPED, "MSG_MOVE_TIME_SKIPPED" },
11897 { SMSG_SPLINE_MOVE_ROOT, "SMSG_SPLINE_MOVE_ROOT" },
11898 { CMSG_SET_EXPLORATION_ALL, "CMSG_SET_EXPLORATION_ALL" },
11899 { SMSG_INVALIDATE_PLAYER, "SMSG_INVALIDATE_PLAYER" },
11900 { CMSG_RESET_INSTANCES, "CMSG_RESET_INSTANCES" },
11901 { SMSG_INSTANCE_RESET, "SMSG_INSTANCE_RESET" },
11902 { SMSG_INSTANCE_RESET_FAILED, "SMSG_INSTANCE_RESET_FAILED" },
11903 { SMSG_UPDATE_LAST_INSTANCE, "SMSG_UPDATE_LAST_INSTANCE" },
11904 { MSG_RAID_TARGET_UPDATE, "MSG_RAID_TARGET_UPDATE" },
11905 { MSG_RAID_READY_CHECK, "MSG_RAID_READY_CHECK" },
11906 { CMSG_LUA_USAGE, "CMSG_LUA_USAGE" },
11907 { SMSG_PET_ACTION_SOUND, "SMSG_PET_ACTION_SOUND" },
11908 { SMSG_PET_DISMISS_SOUND, "SMSG_PET_DISMISS_SOUND" },
11909 { SMSG_GHOSTEE_GONE, "SMSG_GHOSTEE_GONE" },
11910 { CMSG_GM_UPDATE_TICKET_STATUS, "CMSG_GM_UPDATE_TICKET_STATUS" },
11911 { SMSG_GM_TICKET_STATUS_UPDATE, "SMSG_GM_TICKET_STATUS_UPDATE" },
11912 { CMSG_GMSURVEY_SUBMIT, "CMSG_GMSURVEY_SUBMIT" },
11913 { SMSG_UPDATE_INSTANCE_OWNERSHIP, "SMSG_UPDATE_INSTANCE_OWNERSHIP" },
11914 { CMSG_IGNORE_KNOCKBACK_CHEAT, "CMSG_IGNORE_KNOCKBACK_CHEAT" },
11915 { SMSG_CHAT_PLAYER_AMBIGUOUS, "SMSG_CHAT_PLAYER_AMBIGUOUS" },
11916 { MSG_DELAY_GHOST_TELEPORT, "MSG_DELAY_GHOST_TELEPORT" },
11917 { SMSG_SPELLINSTAKILLLOG, "SMSG_SPELLINSTAKILLLOG" },
11918 { SMSG_SPELL_UPDATE_CHAIN_TARGETS, "SMSG_SPELL_UPDATE_CHAIN_TARGETS" },
11919 { CMSG_CHAT_FILTERED, "CMSG_CHAT_FILTERED" },
11920 { SMSG_EXPECTED_SPAM_RECORDS, "SMSG_EXPECTED_SPAM_RECORDS" },
11921 { SMSG_SPELLSTEALLOG, "SMSG_SPELLSTEALLOG" },
11922 { CMSG_LOTTERY_QUERY_OBSOLETE, "CMSG_LOTTERY_QUERY_OBSOLETE" },
11923 { SMSG_LOTTERY_QUERY_RESULT_OBSOLETE, "SMSG_LOTTERY_QUERY_RESULT_OBSOLETE" },
11924 { CMSG_BUY_LOTTERY_TICKET_OBSOLETE, "CMSG_BUY_LOTTERY_TICKET_OBSOLETE" },
11925 { SMSG_LOTTERY_RESULT_OBSOLETE, "SMSG_LOTTERY_RESULT_OBSOLETE" },
11926 { SMSG_CHARACTER_PROFILE, "SMSG_CHARACTER_PROFILE" },
11927 { SMSG_CHARACTER_PROFILE_REALM_CONNECTED, "SMSG_CHARACTER_PROFILE_REALM_CONNECTED" },
11928 { SMSG_DEFENSE_MESSAGE, "SMSG_DEFENSE_MESSAGE" },
11929 { MSG_GM_RESETINSTANCELIMIT, "MSG_GM_RESETINSTANCELIMIT" },
11930 { SMSG_MOTD, "SMSG_MOTD" },
11931 { SMSG_MOVE_SET_FLIGHT, "SMSG_MOVE_SET_FLIGHT" },
11932 { SMSG_MOVE_UNSET_FLIGHT, "SMSG_MOVE_UNSET_FLIGHT" },
11933 { CMSG_MOVE_FLIGHT_ACK, "CMSG_MOVE_FLIGHT_ACK" },
11934 { MSG_MOVE_START_SWIM_CHEAT, "MSG_MOVE_START_SWIM_CHEAT" },
11935 { MSG_MOVE_STOP_SWIM_CHEAT, "MSG_MOVE_STOP_SWIM_CHEAT" },
11936 { CMSG_CANCEL_MOUNT_AURA, "CMSG_CANCEL_MOUNT_AURA" },
11937 { CMSG_CANCEL_TEMP_ENCHANTMENT, "CMSG_CANCEL_TEMP_ENCHANTMENT" },
11938 { CMSG_MAELSTROM_INVALIDATE_CACHE, "CMSG_MAELSTROM_INVALIDATE_CACHE" },
11939 { CMSG_SET_TAXI_BENCHMARK_MODE, "CMSG_SET_TAXI_BENCHMARK_MODE" },
11940 { CMSG_MOVE_CHNG_TRANSPORT, "CMSG_MOVE_CHNG_TRANSPORT" },
11941 { MSG_PARTY_ASSIGNMENT, "MSG_PARTY_ASSIGNMENT" },
11942 { SMSG_OFFER_PETITION_ERROR, "SMSG_OFFER_PETITION_ERROR" },
11943 { SMSG_RESET_FAILED_NOTIFY, "SMSG_RESET_FAILED_NOTIFY" },
11944 { SMSG_REAL_GROUP_UPDATE, "SMSG_REAL_GROUP_UPDATE" },
11945 { SMSG_INIT_EXTRA_AURA_INFO, "SMSG_INIT_EXTRA_AURA_INFO" },
11946 { SMSG_SET_EXTRA_AURA_INFO, "SMSG_SET_EXTRA_AURA_INFO" },
11947 { SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE, "SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE" },
11948 { SMSG_SPELL_CHANCE_PROC_LOG, "SMSG_SPELL_CHANCE_PROC_LOG" },
11949 { CMSG_MOVE_SET_RUN_SPEED, "CMSG_MOVE_SET_RUN_SPEED" },
11950 { SMSG_DISMOUNT, "SMSG_DISMOUNT" },
11951 { MSG_RAID_READY_CHECK_CONFIRM, "MSG_RAID_READY_CHECK_CONFIRM" },
11952 { SMSG_CLEAR_TARGET, "SMSG_CLEAR_TARGET" },
11953 { CMSG_BOT_DETECTED, "CMSG_BOT_DETECTED" },
11954 { SMSG_KICK_REASON, "SMSG_KICK_REASON" },
11955 { MSG_RAID_READY_CHECK_FINISHED, "MSG_RAID_READY_CHECK_FINISHED" },
11956 { CMSG_TARGET_CAST, "CMSG_TARGET_CAST" },
11957 { CMSG_TARGET_SCRIPT_CAST, "CMSG_TARGET_SCRIPT_CAST" },
11958 { CMSG_CHANNEL_DISPLAY_LIST, "CMSG_CHANNEL_DISPLAY_LIST" },
11959 { CMSG_GET_CHANNEL_MEMBER_COUNT, "CMSG_GET_CHANNEL_MEMBER_COUNT" },
11960 { SMSG_CHANNEL_MEMBER_COUNT, "SMSG_CHANNEL_MEMBER_COUNT" },
11961 { CMSG_DEBUG_LIST_TARGETS, "CMSG_DEBUG_LIST_TARGETS" },
11962 { SMSG_DEBUG_LIST_TARGETS, "SMSG_DEBUG_LIST_TARGETS" },
11963 { CMSG_PARTY_SILENCE, "CMSG_PARTY_SILENCE" },
11964 { CMSG_PARTY_UNSILENCE, "CMSG_PARTY_UNSILENCE" },
11965 { MSG_NOTIFY_PARTY_SQUELCH, "MSG_NOTIFY_PARTY_SQUELCH" },
11966 { SMSG_COMSAT_RECONNECT_TRY, "SMSG_COMSAT_RECONNECT_TRY" },
11967 { SMSG_COMSAT_DISCONNECT, "SMSG_COMSAT_DISCONNECT" },
11968 { SMSG_COMSAT_CONNECT_FAIL, "SMSG_COMSAT_CONNECT_FAIL" },
11969 { CMSG_SET_CHANNEL_WATCH, "CMSG_SET_CHANNEL_WATCH" },
11970 { SMSG_USERLIST_ADD, "SMSG_USERLIST_ADD" },
11971 { SMSG_USERLIST_REMOVE, "SMSG_USERLIST_REMOVE" },
11972 { SMSG_USERLIST_UPDATE, "SMSG_USERLIST_UPDATE" },
11973 { CMSG_CLEAR_CHANNEL_WATCH, "CMSG_CLEAR_CHANNEL_WATCH" },
11974 { SMSG_GOGOGO_OBSOLETE, "SMSG_GOGOGO_OBSOLETE" },
11975 { SMSG_ECHO_PARTY_SQUELCH, "SMSG_ECHO_PARTY_SQUELCH" },
11976 { CMSG_SPELLCLICK, "CMSG_SPELLCLICK" },
11977 { SMSG_LOOT_LIST, "SMSG_LOOT_LIST" },
11978 { MSG_GUILD_PERMISSIONS, "MSG_GUILD_PERMISSIONS" },
11979 { MSG_GUILD_EVENT_LOG_QUERY, "MSG_GUILD_EVENT_LOG_QUERY" },
11980 { CMSG_MAELSTROM_RENAME_GUILD, "CMSG_MAELSTROM_RENAME_GUILD" },
11981 { CMSG_GET_MIRRORIMAGE_DATA, "CMSG_GET_MIRRORIMAGE_DATA" },
11982 { SMSG_MIRRORIMAGE_DATA, "SMSG_MIRRORIMAGE_DATA" },
11983 { SMSG_FORCE_DISPLAY_UPDATE, "SMSG_FORCE_DISPLAY_UPDATE" },
11984 { SMSG_SPELL_CHANCE_RESIST_PUSHBACK, "SMSG_SPELL_CHANCE_RESIST_PUSHBACK" },
11985 { CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT, "CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT" },
11986 { SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT, "SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT" },
11987 { CMSG_KEEP_ALIVE, "CMSG_KEEP_ALIVE" },
11988 { SMSG_RAID_READY_CHECK_ERROR, "SMSG_RAID_READY_CHECK_ERROR" },
11989 { CMSG_OPT_OUT_OF_LOOT, "CMSG_OPT_OUT_OF_LOOT" },
11990 { CMSG_SET_GRANTABLE_LEVELS, "CMSG_SET_GRANTABLE_LEVELS" },
11991 { CMSG_GRANT_LEVEL, "CMSG_GRANT_LEVEL" },
11992 { CMSG_DECLINE_CHANNEL_INVITE, "CMSG_DECLINE_CHANNEL_INVITE" },
11993 { CMSG_GROUPACTION_THROTTLED, "CMSG_GROUPACTION_THROTTLED" },
11994 { SMSG_OVERRIDE_LIGHT, "SMSG_OVERRIDE_LIGHT" },
11995 { SMSG_TOTEM_CREATED, "SMSG_TOTEM_CREATED" },
11996 { CMSG_TOTEM_DESTROYED, "CMSG_TOTEM_DESTROYED" },
11997 { CMSG_EXPIRE_RAID_INSTANCE, "CMSG_EXPIRE_RAID_INSTANCE" },
11998 { CMSG_NO_SPELL_VARIANCE, "CMSG_NO_SPELL_VARIANCE" },
11999 { CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, "CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY" },
12000 { SMSG_QUESTGIVER_STATUS_MULTIPLE, "SMSG_QUESTGIVER_STATUS_MULTIPLE" },
12001 { CMSG_QUERY_SERVER_BUCK_DATA, "CMSG_QUERY_SERVER_BUCK_DATA" },
12002 { CMSG_CLEAR_SERVER_BUCK_DATA, "CMSG_CLEAR_SERVER_BUCK_DATA" },
12003 { SMSG_SERVER_BUCK_DATA, "SMSG_SERVER_BUCK_DATA" },
12004 { SMSG_SEND_UNLEARN_SPELLS, "SMSG_SEND_UNLEARN_SPELLS" },
12005 { SMSG_PROPOSE_LEVEL_GRANT, "SMSG_PROPOSE_LEVEL_GRANT" },
12006 { CMSG_ACCEPT_LEVEL_GRANT, "CMSG_ACCEPT_LEVEL_GRANT" },
12007 { SMSG_REFER_A_FRIEND_FAILURE, "SMSG_REFER_A_FRIEND_FAILURE" },
12008 { SMSG_SUMMON_CANCEL, "SMSG_SUMMON_CANCEL" },
12009 { 0, NULL }
12012 /*! Decrypts the header after the session key has been deducted as described in the top level comment. */
12013 static uint8_t*
12014 get_decrypted_header(const uint8_t session_key[WOWW_SESSION_KEY_LENGTH],
12015 uint8_t* idx,
12016 uint8_t* last_encrypted_value,
12017 const uint8_t* header,
12018 uint8_t header_size) {
12019 uint8_t* decrypted_header = wmem_alloc0(wmem_file_scope(), WOWW_HEADER_ARRAY_ALLOC_SIZE);
12021 for (uint8_t i = 0; i < header_size; i++) {
12023 // x = (E - L) ^ S as described in top level comment
12024 decrypted_header[i] = (header[i] - *last_encrypted_value) ^ session_key[*idx];
12026 *last_encrypted_value = header[i];
12027 *idx = (*idx + 1) % WOWW_SESSION_KEY_LENGTH;
12030 return decrypted_header;
12033 /*! Deduces the session key values as described in the top level comment. */
12034 static void
12035 deduce_header(uint8_t session_key[WOWW_SESSION_KEY_LENGTH],
12036 bool known_indices[WOWW_SESSION_KEY_LENGTH],
12037 const uint8_t* header,
12038 WowwParticipant_t* participant) {
12039 // Skip size field (2 bytes) and 2 least significant bytes of opcode field
12040 participant->idx = (participant->idx + 2 + 2) % WOWW_SESSION_KEY_LENGTH;
12041 // Set last encrypted value to what it's supposed to be
12042 participant->last_encrypted_value = header[3];
12044 // 0 ^ (E - L) as described in top level comment
12045 session_key[participant->idx] = 0 ^ (header[4] - participant->last_encrypted_value);
12046 known_indices[participant->idx] = true;
12047 participant->idx = (participant->idx + 1) % WOWW_SESSION_KEY_LENGTH;
12048 participant->last_encrypted_value = header[4];
12050 session_key[participant->idx] = 0 ^ (header[5] - participant->last_encrypted_value);
12051 known_indices[participant->idx] = true;
12052 participant->idx = (participant->idx + 1) % WOWW_SESSION_KEY_LENGTH;
12053 participant->last_encrypted_value = header[5];
12056 /*! Returns true if all necessary values of the session key are fully known. */
12057 static bool
12058 session_key_is_fully_deduced(const bool known_indices[WOWW_SESSION_KEY_LENGTH],
12059 uint8_t header_length,
12060 uint8_t start_index) {
12061 bool fully_deduced = true;
12062 for (uint8_t i = 0; i < header_length; i++) {
12063 if (!known_indices[(start_index + i) % WOWW_SESSION_KEY_LENGTH]) {
12064 fully_deduced = false;
12067 return fully_deduced;
12070 /*! Returns either a pointer to a valid decrypted header, or NULL if no such header exists yet. */
12071 static WowwDecryptedHeader_t*
12072 handle_packet_header(packet_info* pinfo,
12073 tvbuff_t* tvb,
12074 WowwParticipant_t* participant,
12075 WowwConversation_t* wowwConversation,
12076 uint8_t headerSize,
12077 uint8_t index_in_pdu,
12078 int tvb_offset) {
12079 uint64_t key = ((uint64_t)index_in_pdu << 32) | pinfo->num;
12081 uint8_t* decrypted_header = wmem_map_lookup(wowwConversation->decrypted_headers, &key);
12083 if (decrypted_header) {
12084 // Header has already been decrypted
12085 return (WowwDecryptedHeader_t*)decrypted_header;
12088 if (participant->stopped_at != 0 && participant->stopped_at != key) {
12089 // We can't continue decrypt further server messages since we
12090 // don't know the status of the session key index for any message
12091 // except the last one we couldn't decrypt.
12092 return NULL;
12095 // First time we see this header, we need to decrypt it
12096 uint8_t* header = wmem_alloc0(wmem_packet_scope(), WOWW_HEADER_ARRAY_ALLOC_SIZE);
12097 for (int i = 0; i < headerSize; i++) {
12098 header[i] = tvb_get_uint8(tvb, tvb_offset + i);
12101 // If we're seeing the first header
12102 if (!participant->unencrypted_packet_encountered) {
12103 // Packet is unencrypted, no need to do anything
12105 // There is only one unencrypted header each for server and client
12106 participant->unencrypted_packet_encountered = true;
12108 decrypted_header = wmem_alloc0(wmem_file_scope(), WOWW_HEADER_ARRAY_ALLOC_SIZE);
12109 memcpy(decrypted_header, header, headerSize);
12111 uint64_t* allocated_key = wmem_alloc0(wmem_file_scope(), sizeof(uint64_t));
12112 *allocated_key = key;
12114 wmem_map_insert(wowwConversation->decrypted_headers, allocated_key, decrypted_header);
12116 return (WowwDecryptedHeader_t*)decrypted_header;
12119 WowwPreviousValues_t * original_header_values = wmem_map_lookup(wowwConversation->headers_need_decryption, &key);
12121 if (original_header_values && !session_key_is_fully_deduced(wowwConversation->known_indices, headerSize, original_header_values->idx)) {
12122 // If we have seen the header before AND
12123 // we still can't decrypt it
12124 // there's nothing to do but wait until we get more information
12125 return NULL;
12128 if (!original_header_values && !session_key_is_fully_deduced(wowwConversation->known_indices, headerSize, participant->idx)) {
12129 // If we haven't seen the header before AND
12130 // we can't decrypt it now
12131 // we make sure it gets decrypted later
12132 WowwPreviousValues_t* array_index = wmem_alloc0(wmem_file_scope(), sizeof(WowwPreviousValues_t));
12133 array_index->idx = participant->idx;
12134 array_index->last_encrypted_value = participant->last_encrypted_value;
12136 uint64_t* allocated_key = wmem_alloc0(wmem_file_scope(), sizeof(uint64_t));
12137 *allocated_key = key;
12139 wmem_map_insert(wowwConversation->headers_need_decryption, allocated_key, array_index);
12141 // If it's a server header we can use it to deduce the session key
12142 if (WOWW_CLIENT_TO_SERVER) {
12143 deduce_header(wowwConversation->session_key, wowwConversation->known_indices, header, participant);
12144 } else {
12145 // We don't know if this PDU contains several messages or just one, so we need
12146 // to stop parsing server messages until we have fully decrypted this one.
12147 participant->stopped_at = key;
12148 // Skip the packet, but remember to acknowledge that values changed
12149 participant->idx = (participant->idx + headerSize) % WOWW_SESSION_KEY_LENGTH;
12150 participant->last_encrypted_value = header[headerSize - 1];
12153 return NULL;
12156 uint8_t* idx = &participant->idx;
12157 uint8_t* last_encrypted_value = &participant->last_encrypted_value;
12159 // If this is an out of order packet we must use the original state
12160 if (original_header_values) {
12161 // We can now (as best as possible) assume that decryption
12162 // is in the right place.
12163 participant->stopped_at = 0;
12164 // We do not care about how these values are mutated since
12165 // they are never going to be used again.
12166 idx = &original_header_values->idx;
12167 last_encrypted_value = &original_header_values->last_encrypted_value;
12169 // No need to decrypt it again
12170 wmem_map_remove(wowwConversation->headers_need_decryption, &key);
12173 decrypted_header = get_decrypted_header(wowwConversation->session_key,
12174 idx,
12175 last_encrypted_value,
12176 header,
12177 headerSize);
12179 uint64_t* allocated_key = wmem_alloc0(wmem_file_scope(), sizeof(uint64_t));
12180 *allocated_key = key;
12182 // The header has been fully decrypted, cache it for future use
12183 wmem_map_insert(wowwConversation->decrypted_headers, allocated_key, decrypted_header);
12185 return (WowwDecryptedHeader_t*)decrypted_header;
12188 static int32_t
12189 get_null_terminated_string_length( tvbuff_t* tvb,
12190 int32_t offset)
12192 const int32_t maximum_length = 0x7FFF;
12193 for (int32_t length = 0; length < maximum_length; length++) {
12194 uint8_t character = tvb_get_uint8(tvb, offset + length);
12195 if (character == 0) {
12196 // Include the null character in the length
12197 return length + 1;
12201 return 0;
12204 static void
12205 add_cstring(ptvcursor_t* ptv, const int* hf) {
12206 int32_t len = get_null_terminated_string_length(ptvcursor_tvbuff(ptv), ptvcursor_current_offset(ptv));
12207 ptvcursor_add(ptv, *hf, len, ENC_UTF_8);
12210 static void
12211 add_sized_cstring(ptvcursor_t* ptv, const int* hf) {
12212 ptvcursor_add(ptv, hf_woww_string_length, 4, ENC_LITTLE_ENDIAN);
12213 int32_t len = get_null_terminated_string_length(ptvcursor_tvbuff(ptv), ptvcursor_current_offset(ptv));
12214 ptvcursor_add(ptv, *hf, len, ENC_UTF_8);
12217 static void
12218 add_aura_mask(ptvcursor_t* ptv) {
12219 uint32_t mask = 0;
12220 ptvcursor_add_ret_uint(ptv, hf_woww_aura_mask, 4, ENC_LITTLE_ENDIAN, &mask);
12222 for (int i = 0; i < 32; ++i) {
12223 if (mask & (1u << i)) {
12224 ptvcursor_add(ptv, hf_woww_aura, 4, ENC_LITTLE_ENDIAN);
12229 static void
12230 add_monster_move_spline(ptvcursor_t* ptv) {
12231 uint32_t amount_of_splines = 0;
12232 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_splines, 4, ENC_LITTLE_ENDIAN, &amount_of_splines);
12234 if (amount_of_splines >= 1) {
12235 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Unpacked Spline");
12236 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12237 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12238 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12239 ptvcursor_pop_subtree(ptv);
12242 for (uint32_t i = 1; i < amount_of_splines; ++i) {
12243 ptvcursor_add(ptv, hf_woww_packed_spline, 4, ENC_LITTLE_ENDIAN);
12247 static void
12248 add_update_mask(ptvcursor_t* ptv, packet_info* pinfo) {
12249 uint32_t amount_of_masks = 0;
12250 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_masks, 1, ENC_NA, &amount_of_masks);
12252 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Update Mask");
12253 uint32_t* masks = (uint32_t*)wmem_alloc0(wmem_packet_scope(), amount_of_masks * 4);
12254 for (uint32_t i = 0; i < amount_of_masks; ++i) {
12255 ptvcursor_add_ret_uint(ptv, hf_woww_update_mask, 4, ENC_LITTLE_ENDIAN, masks + i);
12257 ptvcursor_pop_subtree(ptv);
12259 uint32_t amount_of_indices = 0;
12260 for (uint32_t mask = 0; mask < amount_of_masks; ++mask) {
12261 for (unsigned bit = 0; bit < 32; ++bit) {
12262 if (masks[mask] & (1u << bit)) {
12263 amount_of_indices += 1;
12268 uint32_t indices_length = amount_of_indices * 4;
12269 uint32_t* indices = (uint32_t*)wmem_alloc0(wmem_packet_scope(), indices_length);
12270 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Update Mask Values");
12272 tvbuff_t* tvb = ptvcursor_tvbuff(ptv);
12274 tvbuff_t* next_tvb = tvb_new_child_real_data(tvb, (uint8_t*)indices, indices_length, indices_length);
12275 add_new_data_source(pinfo, next_tvb, "Update Mask Indices");
12277 uint32_t indices_index = 0;
12278 for (uint32_t mask = 0; mask < amount_of_masks; ++mask) {
12279 for (uint32_t i = 0; i < 32; ++i) {
12280 if (masks[mask] & (1u << i)) {
12281 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Update Mask Pair");
12283 indices[indices_index] = (32 * mask) + i;
12284 proto_tree* tree = ptvcursor_tree(ptv);
12285 proto_tree_add_item(tree, hf_woww_update_mask_index, next_tvb, 4 * indices_index, 4, ENC_LITTLE_ENDIAN);
12286 indices_index += 1;
12288 ptvcursor_add(ptv, hf_woww_update_mask_value, 4, ENC_LITTLE_ENDIAN);
12290 ptvcursor_pop_subtree(ptv);
12294 ptvcursor_pop_subtree(ptv);
12297 static void
12298 add_packed_guid(ptvcursor_t* ptv, packet_info* pinfo) {
12299 tvbuff_t* tvb = ptvcursor_tvbuff(ptv);
12300 proto_tree* tree = ptvcursor_tree(ptv);
12302 uint8_t byte_mask = tvb_get_uint8(tvb, ptvcursor_current_offset(ptv));
12303 ptvcursor_advance(ptv, 1);
12305 uint8_t* guid = (uint8_t*)wmem_alloc(wmem_packet_scope(), 8);
12307 for (int i = 0; i < 8; ++i) {
12308 if (byte_mask & (1 << i)) {
12309 guid[i] = tvb_get_uint8(tvb, ptvcursor_current_offset(ptv));
12310 ptvcursor_advance(ptv, 1);
12314 tvbuff_t* next_tvb = tvb_new_child_real_data(tvb, (uint8_t*)guid, 8, 8);
12315 add_new_data_source(pinfo, next_tvb, "Packed Guid");
12317 proto_tree_add_item(tree, hf_woww_guid, next_tvb, 0, 8, ENC_LITTLE_ENDIAN);
12320 static void
12321 add_body_fields(uint32_t header_opcode,
12322 proto_tree* tree,
12323 tvbuff_t* tvb,
12324 int32_t offset,
12325 int32_t offset_packet_end,
12326 packet_info* pinfo)
12328 uint32_t len = 0;
12329 tvbuff_t* compressed_tvb = NULL;
12330 /* AUTOGENERATED_START_VARIABLES */
12331 uint32_t action = 0;
12332 uint32_t amount_of_auras = 0;
12333 uint32_t amount_of_carriers = 0;
12334 uint32_t amount_of_characters = 0;
12335 uint32_t amount_of_choice_item_rewards = 0;
12336 uint32_t amount_of_cooldowns = 0;
12337 uint32_t amount_of_damages = 0;
12338 uint32_t amount_of_effects = 0;
12339 uint32_t amount_of_emotes = 0;
12340 uint32_t amount_of_entries = 0;
12341 uint32_t amount_of_events = 0;
12342 uint32_t amount_of_extra_fields = 0;
12343 uint32_t amount_of_faction_standings = 0;
12344 uint32_t amount_of_factions = 0;
12345 uint32_t amount_of_friends = 0;
12346 uint32_t amount_of_gossip_items = 0;
12347 uint32_t amount_of_hits = 0;
12348 uint32_t amount_of_ignored = 0;
12349 uint32_t amount_of_item_rewards = 0;
12350 uint32_t amount_of_items = 0;
12351 uint32_t amount_of_mails = 0;
12352 uint32_t amount_of_members = 0;
12353 uint32_t amount_of_misses = 0;
12354 uint32_t amount_of_nodes = 0;
12355 uint32_t amount_of_objects = 0;
12356 uint32_t amount_of_outbid_items = 0;
12357 uint32_t amount_of_petitions = 0;
12358 uint32_t amount_of_pets = 0;
12359 uint32_t amount_of_players = 0;
12360 uint32_t amount_of_quests = 0;
12361 uint32_t amount_of_raid_infos = 0;
12362 uint32_t amount_of_reactions = 0;
12363 uint32_t amount_of_records = 0;
12364 uint32_t amount_of_required_items = 0;
12365 uint32_t amount_of_rights = 0;
12366 uint32_t amount_of_signatures = 0;
12367 uint32_t amount_of_spells = 0;
12368 uint32_t amount_of_states = 0;
12369 uint32_t amount_of_strings = 0;
12370 uint32_t amount_of_targets = 0;
12371 uint32_t amount_of_teammates = 0;
12372 uint32_t amount_of_zones = 0;
12373 uint32_t aura_type = 0;
12374 uint32_t category = 0;
12375 uint32_t chat_type = 0;
12376 uint32_t cooldown_count = 0;
12377 uint32_t count = 0;
12378 uint32_t effect = 0;
12379 uint32_t exp_type = 0;
12380 uint32_t flags = 0;
12381 uint32_t info_block = 0;
12382 uint32_t key_version = 0;
12383 uint32_t listed_players = 0;
12384 uint32_t loot_method = 0;
12385 uint32_t map = 0;
12386 uint32_t mask = 0;
12387 uint32_t message_type = 0;
12388 uint32_t miss_info = 0;
12389 uint32_t move_type = 0;
12390 uint32_t node_count = 0;
12391 uint32_t number_of_battlegrounds = 0;
12392 uint32_t opcode = 0;
12393 uint32_t reason = 0;
12394 uint32_t result = 0;
12395 uint32_t result2 = 0;
12396 uint32_t spell_count = 0;
12397 uint32_t spline_flags = 0;
12398 uint32_t status = 0;
12399 uint32_t status_id = 0;
12400 uint32_t target_flags = 0;
12401 uint32_t target_index = 0;
12402 uint32_t update_flag = 0;
12403 uint32_t update_type = 0;
12404 uint32_t url_info = 0;
12405 /* AUTOGENERATED_END_VARIABLES */
12406 ptvcursor_t* ptv = ptvcursor_new(wmem_packet_scope(), tree, tvb, offset);
12407 /* AUTOGENERATED_START_PARSER */
12408 switch (header_opcode) {
12409 case CMSG_ACCEPT_TRADE:
12410 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
12411 break;
12412 case CMSG_ACTIVATETAXI:
12413 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12414 ptvcursor_add(ptv, hf_woww_source_node, 4, ENC_LITTLE_ENDIAN);
12415 ptvcursor_add(ptv, hf_woww_destination_node, 4, ENC_LITTLE_ENDIAN);
12416 break;
12417 case CMSG_ACTIVATETAXIEXPRESS:
12418 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12419 ptvcursor_add(ptv, hf_woww_total_cost, 4, ENC_LITTLE_ENDIAN);
12420 ptvcursor_add_ret_uint(ptv, hf_woww_node_count, 4, ENC_LITTLE_ENDIAN, &node_count);
12421 for (uint32_t i1 = 0; i1 < node_count; ++i1) {
12422 ptvcursor_add(ptv, hf_woww_nodes, 4, ENC_LITTLE_ENDIAN);
12424 break;
12425 case CMSG_ADD_FRIEND:
12426 add_cstring(ptv, &hf_woww_name);
12427 break;
12428 case CMSG_ADD_IGNORE:
12429 add_cstring(ptv, &hf_woww_name);
12430 break;
12431 case CMSG_AREATRIGGER:
12432 ptvcursor_add(ptv, hf_woww_trigger_id, 4, ENC_LITTLE_ENDIAN);
12433 break;
12434 case CMSG_AREA_SPIRIT_HEALER_QUERY:
12435 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12436 break;
12437 case CMSG_AREA_SPIRIT_HEALER_QUEUE:
12438 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12439 break;
12440 case CMSG_ATTACKSWING:
12441 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12442 break;
12443 case CMSG_AUCTION_LIST_BIDDER_ITEMS:
12444 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
12445 ptvcursor_add(ptv, hf_woww_start_from_page, 4, ENC_LITTLE_ENDIAN);
12446 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_outbid_items, 4, ENC_LITTLE_ENDIAN, &amount_of_outbid_items);
12447 for (uint32_t i1 = 0; i1 < amount_of_outbid_items; ++i1) {
12448 ptvcursor_add(ptv, hf_woww_outbid_item_ids, 4, ENC_LITTLE_ENDIAN);
12450 break;
12451 case CMSG_AUCTION_LIST_ITEMS:
12452 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
12453 ptvcursor_add(ptv, hf_woww_list_start_item, 4, ENC_LITTLE_ENDIAN);
12454 add_cstring(ptv, &hf_woww_searched_name);
12455 ptvcursor_add(ptv, hf_woww_minimum_level, 1, ENC_LITTLE_ENDIAN);
12456 ptvcursor_add(ptv, hf_woww_maximum_level, 1, ENC_LITTLE_ENDIAN);
12457 ptvcursor_add(ptv, hf_woww_auction_slot_id, 4, ENC_LITTLE_ENDIAN);
12458 ptvcursor_add(ptv, hf_woww_auction_main_category, 4, ENC_LITTLE_ENDIAN);
12459 ptvcursor_add(ptv, hf_woww_auction_sub_category, 4, ENC_LITTLE_ENDIAN);
12460 ptvcursor_add(ptv, hf_woww_item_quality, 4, ENC_LITTLE_ENDIAN);
12461 ptvcursor_add(ptv, hf_woww_usable, 1, ENC_LITTLE_ENDIAN);
12462 break;
12463 case CMSG_AUCTION_LIST_OWNER_ITEMS:
12464 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
12465 ptvcursor_add(ptv, hf_woww_list_from, 4, ENC_LITTLE_ENDIAN);
12466 break;
12467 case CMSG_AUCTION_PLACE_BID:
12468 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
12469 ptvcursor_add(ptv, hf_woww_auction_id, 4, ENC_LITTLE_ENDIAN);
12470 ptvcursor_add(ptv, hf_woww_price, 4, ENC_LITTLE_ENDIAN);
12471 break;
12472 case CMSG_AUCTION_REMOVE_ITEM:
12473 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
12474 ptvcursor_add(ptv, hf_woww_auction_id, 4, ENC_LITTLE_ENDIAN);
12475 break;
12476 case CMSG_AUCTION_SELL_ITEM:
12477 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
12478 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
12479 ptvcursor_add(ptv, hf_woww_starting_bid, 4, ENC_LITTLE_ENDIAN);
12480 ptvcursor_add(ptv, hf_woww_buyout, 4, ENC_LITTLE_ENDIAN);
12481 ptvcursor_add(ptv, hf_woww_auction_duration_in_minutes, 4, ENC_LITTLE_ENDIAN);
12482 break;
12483 case CMSG_AUTH_SESSION:
12484 ptvcursor_add(ptv, hf_woww_build, 4, ENC_LITTLE_ENDIAN);
12485 ptvcursor_add(ptv, hf_woww_server_id, 4, ENC_LITTLE_ENDIAN);
12486 add_cstring(ptv, &hf_woww_username);
12487 ptvcursor_add(ptv, hf_woww_client_seed, 4, ENC_LITTLE_ENDIAN);
12488 ptvcursor_add(ptv, hf_woww_client_proof, 20, ENC_NA);
12489 ptvcursor_add(ptv, hf_woww_decompressed_size, 4, ENC_LITTLE_ENDIAN);
12490 compressed_tvb = tvb_uncompress_zlib(ptvcursor_tvbuff(ptv), ptvcursor_current_offset(ptv), offset_packet_end - ptvcursor_current_offset(ptv));
12491 if (compressed_tvb != NULL) {
12492 ptvcursor_t* old_ptv = ptv;
12493 ptv = ptvcursor_new(wmem_packet_scope(), tree, compressed_tvb, 0);
12494 int compression_end = tvb_reported_length(compressed_tvb);
12495 while (ptvcursor_current_offset(ptv) < compression_end) {
12496 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "AddonInfo");
12497 add_cstring(ptv, &hf_woww_addon_name);
12498 ptvcursor_add(ptv, hf_woww_addon_has_signature, 1, ENC_LITTLE_ENDIAN);
12499 ptvcursor_add(ptv, hf_woww_addon_crc, 4, ENC_LITTLE_ENDIAN);
12500 ptvcursor_add(ptv, hf_woww_addon_extra_crc, 4, ENC_LITTLE_ENDIAN);
12501 ptvcursor_pop_subtree(ptv);
12503 ptvcursor_free(ptv);
12504 ptv = old_ptv;
12505 compressed_tvb = NULL;
12507 break;
12508 case CMSG_AUTOBANK_ITEM:
12509 ptvcursor_add(ptv, hf_woww_bag_index, 1, ENC_LITTLE_ENDIAN);
12510 ptvcursor_add(ptv, hf_woww_slot_index, 1, ENC_LITTLE_ENDIAN);
12511 break;
12512 case CMSG_AUTOEQUIP_ITEM:
12513 ptvcursor_add(ptv, hf_woww_source_bag, 1, ENC_LITTLE_ENDIAN);
12514 ptvcursor_add(ptv, hf_woww_source_slot, 1, ENC_LITTLE_ENDIAN);
12515 break;
12516 case CMSG_AUTOEQUIP_ITEM_SLOT:
12517 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12518 ptvcursor_add(ptv, hf_woww_destination_slot, 1, ENC_LITTLE_ENDIAN);
12519 break;
12520 case CMSG_AUTOSTORE_BAG_ITEM:
12521 ptvcursor_add(ptv, hf_woww_source_bag, 1, ENC_LITTLE_ENDIAN);
12522 ptvcursor_add(ptv, hf_woww_source_slot, 1, ENC_LITTLE_ENDIAN);
12523 ptvcursor_add(ptv, hf_woww_destination_bag, 1, ENC_LITTLE_ENDIAN);
12524 break;
12525 case CMSG_AUTOSTORE_BANK_ITEM:
12526 ptvcursor_add(ptv, hf_woww_bag_index, 1, ENC_LITTLE_ENDIAN);
12527 ptvcursor_add(ptv, hf_woww_slot_index, 1, ENC_LITTLE_ENDIAN);
12528 break;
12529 case CMSG_AUTOSTORE_LOOT_ITEM:
12530 ptvcursor_add(ptv, hf_woww_item_slot_int, 1, ENC_LITTLE_ENDIAN);
12531 break;
12532 case CMSG_BANKER_ACTIVATE:
12533 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12534 break;
12535 case CMSG_BATTLEFIELD_JOIN:
12536 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
12537 break;
12538 case CMSG_BATTLEFIELD_LIST:
12539 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
12540 break;
12541 case CMSG_BATTLEFIELD_PORT:
12542 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
12543 ptvcursor_add(ptv, hf_woww_battlefield_port_action, 1, ENC_LITTLE_ENDIAN);
12544 break;
12545 case CMSG_BATTLEMASTER_HELLO:
12546 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12547 break;
12548 case CMSG_BATTLEMASTER_JOIN:
12549 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12550 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
12551 ptvcursor_add(ptv, hf_woww_instance_id, 4, ENC_LITTLE_ENDIAN);
12552 ptvcursor_add(ptv, hf_woww_join_as_group, 1, ENC_NA);
12553 break;
12554 case CMSG_BINDER_ACTIVATE:
12555 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12556 break;
12557 case CMSG_BUG:
12558 ptvcursor_add(ptv, hf_woww_suggestion, 4, ENC_LITTLE_ENDIAN);
12559 add_sized_cstring(ptv, &hf_woww_content);
12560 add_sized_cstring(ptv, &hf_woww_bug_type);
12561 break;
12562 case CMSG_BUYBACK_ITEM:
12563 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12564 ptvcursor_add(ptv, hf_woww_buyback_slot, 4, ENC_LITTLE_ENDIAN);
12565 break;
12566 case CMSG_BUY_BANK_SLOT:
12567 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12568 break;
12569 case CMSG_BUY_ITEM:
12570 ptvcursor_add(ptv, hf_woww_vendor, 8, ENC_LITTLE_ENDIAN);
12571 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
12572 ptvcursor_add(ptv, hf_woww_amount, 1, ENC_LITTLE_ENDIAN);
12573 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
12574 break;
12575 case CMSG_BUY_ITEM_IN_SLOT:
12576 ptvcursor_add(ptv, hf_woww_vendor, 8, ENC_LITTLE_ENDIAN);
12577 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
12578 ptvcursor_add(ptv, hf_woww_bag, 8, ENC_LITTLE_ENDIAN);
12579 ptvcursor_add(ptv, hf_woww_bag_slot, 1, ENC_LITTLE_ENDIAN);
12580 ptvcursor_add(ptv, hf_woww_amount, 1, ENC_LITTLE_ENDIAN);
12581 break;
12582 case CMSG_BUY_STABLE_SLOT:
12583 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
12584 break;
12585 case CMSG_CANCEL_AURA:
12586 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
12587 break;
12588 case CMSG_CANCEL_CAST:
12589 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
12590 break;
12591 case CMSG_CANCEL_CHANNELLING:
12592 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
12593 break;
12594 case CMSG_CAST_SPELL:
12595 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
12596 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellCastTargets");
12597 ptvcursor_add_ret_uint(ptv, hf_woww_spell_cast_target_flags, 2, ENC_LITTLE_ENDIAN, &target_flags);
12598 if (target_flags & SPELL_CAST_TARGET_FLAGS_UNIT) {
12599 add_packed_guid(ptv, pinfo);
12601 if (target_flags & SPELL_CAST_TARGET_FLAGS_GAMEOBJECT) {
12602 add_packed_guid(ptv, pinfo);
12604 else if (target_flags & SPELL_CAST_TARGET_FLAGS_OBJECT_UNK) {
12605 add_packed_guid(ptv, pinfo);
12607 if (target_flags & SPELL_CAST_TARGET_FLAGS_ITEM) {
12608 add_packed_guid(ptv, pinfo);
12610 else if (target_flags & SPELL_CAST_TARGET_FLAGS_TRADE_ITEM) {
12611 add_packed_guid(ptv, pinfo);
12613 if (target_flags & SPELL_CAST_TARGET_FLAGS_SOURCE_LOCATION) {
12614 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12615 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12616 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12617 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12618 ptvcursor_pop_subtree(ptv);
12620 if (target_flags & SPELL_CAST_TARGET_FLAGS_DEST_LOCATION) {
12621 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12622 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12623 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12624 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12625 ptvcursor_pop_subtree(ptv);
12627 if (target_flags & SPELL_CAST_TARGET_FLAGS_STRING) {
12628 add_cstring(ptv, &hf_woww_target_string);
12630 if (target_flags & SPELL_CAST_TARGET_FLAGS_CORPSE) {
12631 add_packed_guid(ptv, pinfo);
12633 else if (target_flags & SPELL_CAST_TARGET_FLAGS_PVP_CORPSE) {
12634 add_packed_guid(ptv, pinfo);
12636 ptvcursor_pop_subtree(ptv);
12637 break;
12638 case CMSG_CHANNEL_ANNOUNCEMENTS:
12639 add_cstring(ptv, &hf_woww_channel_name);
12640 break;
12641 case CMSG_CHANNEL_BAN:
12642 add_cstring(ptv, &hf_woww_channel_name);
12643 add_cstring(ptv, &hf_woww_player_name);
12644 break;
12645 case CMSG_CHANNEL_INVITE:
12646 add_cstring(ptv, &hf_woww_channel_name);
12647 add_cstring(ptv, &hf_woww_player_name);
12648 break;
12649 case CMSG_CHANNEL_KICK:
12650 add_cstring(ptv, &hf_woww_channel_name);
12651 add_cstring(ptv, &hf_woww_player_name);
12652 break;
12653 case CMSG_CHANNEL_LIST:
12654 add_cstring(ptv, &hf_woww_channel_name);
12655 break;
12656 case CMSG_CHANNEL_MODERATE:
12657 add_cstring(ptv, &hf_woww_channel_name);
12658 break;
12659 case CMSG_CHANNEL_MODERATOR:
12660 add_cstring(ptv, &hf_woww_channel_name);
12661 add_cstring(ptv, &hf_woww_player_name);
12662 break;
12663 case CMSG_CHANNEL_MUTE:
12664 add_cstring(ptv, &hf_woww_channel_name);
12665 add_cstring(ptv, &hf_woww_player_name);
12666 break;
12667 case CMSG_CHANNEL_OWNER:
12668 add_cstring(ptv, &hf_woww_channel_name);
12669 break;
12670 case CMSG_CHANNEL_PASSWORD:
12671 add_cstring(ptv, &hf_woww_channel_name);
12672 add_cstring(ptv, &hf_woww_channel_password);
12673 break;
12674 case CMSG_CHANNEL_SET_OWNER:
12675 add_cstring(ptv, &hf_woww_channel_name);
12676 add_cstring(ptv, &hf_woww_new_owner);
12677 break;
12678 case CMSG_CHANNEL_UNBAN:
12679 add_cstring(ptv, &hf_woww_channel_name);
12680 add_cstring(ptv, &hf_woww_player_name);
12681 break;
12682 case CMSG_CHANNEL_UNMODERATOR:
12683 add_cstring(ptv, &hf_woww_channel_name);
12684 add_cstring(ptv, &hf_woww_player_name);
12685 break;
12686 case CMSG_CHANNEL_UNMUTE:
12687 add_cstring(ptv, &hf_woww_channel_name);
12688 add_cstring(ptv, &hf_woww_player_name);
12689 break;
12690 case CMSG_CHAR_CREATE:
12691 add_cstring(ptv, &hf_woww_name);
12692 ptvcursor_add(ptv, hf_woww_race, 1, ENC_LITTLE_ENDIAN);
12693 ptvcursor_add(ptv, hf_woww_class, 1, ENC_LITTLE_ENDIAN);
12694 ptvcursor_add(ptv, hf_woww_gender, 1, ENC_LITTLE_ENDIAN);
12695 ptvcursor_add(ptv, hf_woww_skin_color, 1, ENC_LITTLE_ENDIAN);
12696 ptvcursor_add(ptv, hf_woww_face, 1, ENC_LITTLE_ENDIAN);
12697 ptvcursor_add(ptv, hf_woww_hair_style, 1, ENC_LITTLE_ENDIAN);
12698 ptvcursor_add(ptv, hf_woww_hair_color, 1, ENC_LITTLE_ENDIAN);
12699 ptvcursor_add(ptv, hf_woww_facial_hair, 1, ENC_LITTLE_ENDIAN);
12700 ptvcursor_add(ptv, hf_woww_outfit_id, 1, ENC_LITTLE_ENDIAN);
12701 break;
12702 case CMSG_CHAR_DELETE:
12703 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12704 break;
12705 case CMSG_CHAR_RENAME:
12706 ptvcursor_add(ptv, hf_woww_character_guid, 8, ENC_LITTLE_ENDIAN);
12707 add_cstring(ptv, &hf_woww_new_name);
12708 break;
12709 case CMSG_CHAT_IGNORED:
12710 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12711 break;
12712 case CMSG_CLEAR_TRADE_ITEM:
12713 ptvcursor_add(ptv, hf_woww_trade_slot, 1, ENC_LITTLE_ENDIAN);
12714 break;
12715 case CMSG_CREATURE_QUERY:
12716 ptvcursor_add(ptv, hf_woww_creature, 4, ENC_LITTLE_ENDIAN);
12717 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12718 break;
12719 case CMSG_DBLOOKUP:
12720 add_cstring(ptv, &hf_woww_query);
12721 break;
12722 case CMSG_DEL_FRIEND:
12723 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12724 break;
12725 case CMSG_DEL_IGNORE:
12726 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12727 break;
12728 case CMSG_DESTROYITEM:
12729 ptvcursor_add(ptv, hf_woww_bag, 1, ENC_LITTLE_ENDIAN);
12730 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
12731 ptvcursor_add(ptv, hf_woww_amount, 1, ENC_LITTLE_ENDIAN);
12732 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
12733 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
12734 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
12735 break;
12736 case CMSG_DUEL_ACCEPTED:
12737 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12738 break;
12739 case CMSG_DUEL_CANCELLED:
12740 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12741 break;
12742 case CMSG_EMOTE:
12743 ptvcursor_add(ptv, hf_woww_emote_enum, 4, ENC_LITTLE_ENDIAN);
12744 break;
12745 case CMSG_FAR_SIGHT:
12746 ptvcursor_add(ptv, hf_woww_far_sight_operation, 1, ENC_LITTLE_ENDIAN);
12747 break;
12748 case CMSG_FORCE_MOVE_ROOT_ACK:
12749 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12750 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
12751 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
12752 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
12753 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12754 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12755 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12756 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12757 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12758 ptvcursor_pop_subtree(ptv);
12759 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12760 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
12761 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
12762 add_packed_guid(ptv, pinfo);
12763 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12764 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12765 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12766 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12767 ptvcursor_pop_subtree(ptv);
12768 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12769 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12770 ptvcursor_pop_subtree(ptv);
12772 if (flags & MOVEMENT_FLAGS_SWIMMING) {
12773 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
12775 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
12776 if (flags & MOVEMENT_FLAGS_JUMPING) {
12777 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
12778 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
12779 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
12780 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
12782 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
12783 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
12785 ptvcursor_pop_subtree(ptv);
12786 break;
12787 case CMSG_FORCE_MOVE_UNROOT_ACK:
12788 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12789 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
12790 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
12791 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
12792 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12793 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12794 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12795 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12796 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12797 ptvcursor_pop_subtree(ptv);
12798 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12799 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
12800 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
12801 add_packed_guid(ptv, pinfo);
12802 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12803 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12804 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12805 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12806 ptvcursor_pop_subtree(ptv);
12807 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12808 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12809 ptvcursor_pop_subtree(ptv);
12811 if (flags & MOVEMENT_FLAGS_SWIMMING) {
12812 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
12814 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
12815 if (flags & MOVEMENT_FLAGS_JUMPING) {
12816 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
12817 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
12818 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
12819 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
12821 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
12822 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
12824 ptvcursor_pop_subtree(ptv);
12825 break;
12826 case CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK:
12827 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12828 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
12829 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
12830 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
12831 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12832 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12833 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12834 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12835 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12836 ptvcursor_pop_subtree(ptv);
12837 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12838 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
12839 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
12840 add_packed_guid(ptv, pinfo);
12841 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12842 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12843 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12844 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12845 ptvcursor_pop_subtree(ptv);
12846 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12847 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12848 ptvcursor_pop_subtree(ptv);
12850 if (flags & MOVEMENT_FLAGS_SWIMMING) {
12851 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
12853 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
12854 if (flags & MOVEMENT_FLAGS_JUMPING) {
12855 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
12856 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
12857 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
12858 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
12860 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
12861 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
12863 ptvcursor_pop_subtree(ptv);
12864 ptvcursor_add(ptv, hf_woww_new_speed, 4, ENC_LITTLE_ENDIAN);
12865 break;
12866 case CMSG_FORCE_RUN_SPEED_CHANGE_ACK:
12867 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12868 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
12869 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
12870 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
12871 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12872 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12873 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12874 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12875 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12876 ptvcursor_pop_subtree(ptv);
12877 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12878 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
12879 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
12880 add_packed_guid(ptv, pinfo);
12881 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12882 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12883 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12884 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12885 ptvcursor_pop_subtree(ptv);
12886 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12887 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12888 ptvcursor_pop_subtree(ptv);
12890 if (flags & MOVEMENT_FLAGS_SWIMMING) {
12891 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
12893 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
12894 if (flags & MOVEMENT_FLAGS_JUMPING) {
12895 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
12896 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
12897 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
12898 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
12900 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
12901 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
12903 ptvcursor_pop_subtree(ptv);
12904 ptvcursor_add(ptv, hf_woww_new_speed, 4, ENC_LITTLE_ENDIAN);
12905 break;
12906 case CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK:
12907 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12908 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
12909 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
12910 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
12911 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12912 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12913 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12914 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12915 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12916 ptvcursor_pop_subtree(ptv);
12917 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12918 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
12919 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
12920 add_packed_guid(ptv, pinfo);
12921 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12922 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12923 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12924 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12925 ptvcursor_pop_subtree(ptv);
12926 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12927 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12928 ptvcursor_pop_subtree(ptv);
12930 if (flags & MOVEMENT_FLAGS_SWIMMING) {
12931 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
12933 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
12934 if (flags & MOVEMENT_FLAGS_JUMPING) {
12935 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
12936 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
12937 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
12938 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
12940 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
12941 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
12943 ptvcursor_pop_subtree(ptv);
12944 ptvcursor_add(ptv, hf_woww_new_speed, 4, ENC_LITTLE_ENDIAN);
12945 break;
12946 case CMSG_FORCE_SWIM_SPEED_CHANGE_ACK:
12947 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12948 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
12949 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
12950 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
12951 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12952 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12953 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12954 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12955 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12956 ptvcursor_pop_subtree(ptv);
12957 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12958 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
12959 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
12960 add_packed_guid(ptv, pinfo);
12961 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12962 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12963 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12964 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12965 ptvcursor_pop_subtree(ptv);
12966 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12967 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12968 ptvcursor_pop_subtree(ptv);
12970 if (flags & MOVEMENT_FLAGS_SWIMMING) {
12971 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
12973 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
12974 if (flags & MOVEMENT_FLAGS_JUMPING) {
12975 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
12976 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
12977 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
12978 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
12980 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
12981 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
12983 ptvcursor_pop_subtree(ptv);
12984 ptvcursor_add(ptv, hf_woww_new_speed, 4, ENC_LITTLE_ENDIAN);
12985 break;
12986 case CMSG_FORCE_TURN_RATE_CHANGE_ACK:
12987 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
12988 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
12989 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
12990 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
12991 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
12992 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
12993 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
12994 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
12995 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
12996 ptvcursor_pop_subtree(ptv);
12997 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
12998 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
12999 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13000 add_packed_guid(ptv, pinfo);
13001 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13002 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13003 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13004 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13005 ptvcursor_pop_subtree(ptv);
13006 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13007 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13008 ptvcursor_pop_subtree(ptv);
13010 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13011 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13013 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13014 if (flags & MOVEMENT_FLAGS_JUMPING) {
13015 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13016 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13017 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13018 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13020 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13021 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13023 ptvcursor_pop_subtree(ptv);
13024 ptvcursor_add(ptv, hf_woww_new_speed, 4, ENC_LITTLE_ENDIAN);
13025 break;
13026 case CMSG_FORCE_WALK_SPEED_CHANGE_ACK:
13027 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13028 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
13029 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13030 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13031 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13032 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13033 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13034 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13035 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13036 ptvcursor_pop_subtree(ptv);
13037 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13038 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13039 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13040 add_packed_guid(ptv, pinfo);
13041 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13042 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13043 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13044 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13045 ptvcursor_pop_subtree(ptv);
13046 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13047 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13048 ptvcursor_pop_subtree(ptv);
13050 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13051 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13053 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13054 if (flags & MOVEMENT_FLAGS_JUMPING) {
13055 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13056 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13057 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13058 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13060 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13061 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13063 ptvcursor_pop_subtree(ptv);
13064 ptvcursor_add(ptv, hf_woww_new_speed, 4, ENC_LITTLE_ENDIAN);
13065 break;
13066 case CMSG_GAMEOBJECT_QUERY:
13067 ptvcursor_add(ptv, hf_woww_entry_id, 4, ENC_LITTLE_ENDIAN);
13068 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13069 break;
13070 case CMSG_GAMEOBJ_USE:
13071 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13072 break;
13073 case CMSG_GET_MAIL_LIST:
13074 ptvcursor_add(ptv, hf_woww_mailbox, 8, ENC_LITTLE_ENDIAN);
13075 break;
13076 case CMSG_GMSURVEY_SUBMIT:
13077 ptvcursor_add(ptv, hf_woww_survey_id, 4, ENC_LITTLE_ENDIAN);
13078 for (uint32_t i1 = 0; i1 < 10; ++i1) {
13079 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "GmSurveyQuestion %i", i1);
13080 ptvcursor_add(ptv, hf_woww_question_id, 4, ENC_LITTLE_ENDIAN);
13081 ptvcursor_add(ptv, hf_woww_answer, 1, ENC_LITTLE_ENDIAN);
13082 add_cstring(ptv, &hf_woww_comment);
13083 ptvcursor_pop_subtree(ptv);
13085 add_cstring(ptv, &hf_woww_answer_comment);
13086 break;
13087 case CMSG_GMTICKET_CREATE:
13088 ptvcursor_add_ret_uint(ptv, hf_woww_gm_ticket_type, 1, ENC_LITTLE_ENDIAN, &category);
13089 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
13090 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13091 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13092 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13093 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13094 ptvcursor_pop_subtree(ptv);
13095 add_cstring(ptv, &hf_woww_message);
13096 add_cstring(ptv, &hf_woww_reserved_for_future_use);
13097 if (category == GM_TICKET_TYPE_BEHAVIOR_HARASSMENT) {
13098 ptvcursor_add(ptv, hf_woww_chat_data_line_count, 4, ENC_LITTLE_ENDIAN);
13099 ptvcursor_add(ptv, hf_woww_decompressed_size, 4, ENC_LITTLE_ENDIAN);
13100 compressed_tvb = tvb_uncompress_zlib(ptvcursor_tvbuff(ptv), ptvcursor_current_offset(ptv), offset_packet_end - ptvcursor_current_offset(ptv));
13101 if (compressed_tvb != NULL) {
13102 ptvcursor_t* old_ptv = ptv;
13103 ptv = ptvcursor_new(wmem_packet_scope(), tree, compressed_tvb, 0);
13104 len = offset_packet_end - ptvcursor_current_offset(ptv);
13105 ptvcursor_add(ptv, hf_woww_compressed_chat_data, len, ENC_NA);
13106 ptvcursor_free(ptv);
13107 ptv = old_ptv;
13108 compressed_tvb = NULL;
13111 break;
13112 case CMSG_GMTICKET_UPDATETEXT:
13113 ptvcursor_add(ptv, hf_woww_gm_ticket_type, 1, ENC_LITTLE_ENDIAN);
13114 add_cstring(ptv, &hf_woww_message);
13115 break;
13116 case CMSG_GOSSIP_HELLO:
13117 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13118 break;
13119 case CMSG_GOSSIP_SELECT_OPTION:
13120 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13121 ptvcursor_add(ptv, hf_woww_gossip_list_id, 4, ENC_LITTLE_ENDIAN);
13122 len = offset_packet_end - ptvcursor_current_offset(ptv);
13123 if (len > 0) {
13124 add_cstring(ptv, &hf_woww_code);
13126 break;
13127 case CMSG_GROUP_ASSISTANT_LEADER:
13128 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13129 ptvcursor_add(ptv, hf_woww_set_assistant, 1, ENC_NA);
13130 break;
13131 case CMSG_GROUP_CHANGE_SUB_GROUP:
13132 add_cstring(ptv, &hf_woww_name);
13133 ptvcursor_add(ptv, hf_woww_group_number, 1, ENC_LITTLE_ENDIAN);
13134 break;
13135 case CMSG_GROUP_INVITE:
13136 add_cstring(ptv, &hf_woww_name);
13137 break;
13138 case CMSG_GROUP_SET_LEADER:
13139 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13140 break;
13141 case CMSG_GROUP_SWAP_SUB_GROUP:
13142 add_cstring(ptv, &hf_woww_name);
13143 add_cstring(ptv, &hf_woww_swap_with_name);
13144 break;
13145 case CMSG_GROUP_UNINVITE:
13146 add_cstring(ptv, &hf_woww_name);
13147 break;
13148 case CMSG_GROUP_UNINVITE_GUID:
13149 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13150 break;
13151 case CMSG_GUILD_ADD_RANK:
13152 add_cstring(ptv, &hf_woww_rank_name);
13153 break;
13154 case CMSG_GUILD_CREATE:
13155 add_cstring(ptv, &hf_woww_guild_name);
13156 break;
13157 case CMSG_GUILD_DEMOTE:
13158 add_cstring(ptv, &hf_woww_player_name);
13159 break;
13160 case CMSG_GUILD_INFO_TEXT:
13161 add_cstring(ptv, &hf_woww_guild_info);
13162 break;
13163 case CMSG_GUILD_INVITE:
13164 add_cstring(ptv, &hf_woww_invited_player);
13165 break;
13166 case CMSG_GUILD_LEADER:
13167 add_cstring(ptv, &hf_woww_new_guild_leader_name);
13168 break;
13169 case CMSG_GUILD_MOTD:
13170 add_cstring(ptv, &hf_woww_message_of_the_day);
13171 break;
13172 case CMSG_GUILD_PROMOTE:
13173 add_cstring(ptv, &hf_woww_player_name);
13174 break;
13175 case CMSG_GUILD_QUERY:
13176 ptvcursor_add(ptv, hf_woww_guild_id, 4, ENC_LITTLE_ENDIAN);
13177 break;
13178 case CMSG_GUILD_RANK:
13179 ptvcursor_add(ptv, hf_woww_rank_id, 4, ENC_LITTLE_ENDIAN);
13180 ptvcursor_add(ptv, hf_woww_rights, 4, ENC_LITTLE_ENDIAN);
13181 add_cstring(ptv, &hf_woww_rank_name);
13182 break;
13183 case CMSG_GUILD_REMOVE:
13184 add_cstring(ptv, &hf_woww_player_name);
13185 break;
13186 case CMSG_GUILD_SET_OFFICER_NOTE:
13187 add_cstring(ptv, &hf_woww_player_name);
13188 add_cstring(ptv, &hf_woww_note);
13189 break;
13190 case CMSG_GUILD_SET_PUBLIC_NOTE:
13191 add_cstring(ptv, &hf_woww_player_name);
13192 add_cstring(ptv, &hf_woww_note);
13193 break;
13194 case CMSG_INITIATE_TRADE:
13195 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13196 break;
13197 case CMSG_INSPECT:
13198 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13199 break;
13200 case CMSG_ITEM_NAME_QUERY:
13201 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
13202 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13203 break;
13204 case CMSG_ITEM_QUERY_SINGLE:
13205 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
13206 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13207 break;
13208 case CMSG_ITEM_TEXT_QUERY:
13209 ptvcursor_add(ptv, hf_woww_item_text_id, 4, ENC_LITTLE_ENDIAN);
13210 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
13211 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13212 break;
13213 case CMSG_JOIN_CHANNEL:
13214 add_cstring(ptv, &hf_woww_channel_name);
13215 add_cstring(ptv, &hf_woww_channel_password);
13216 break;
13217 case CMSG_LEARN_TALENT:
13218 ptvcursor_add(ptv, hf_woww_talent, 4, ENC_LITTLE_ENDIAN);
13219 ptvcursor_add(ptv, hf_woww_requested_rank, 4, ENC_LITTLE_ENDIAN);
13220 break;
13221 case CMSG_LEAVE_BATTLEFIELD:
13222 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
13223 break;
13224 case CMSG_LEAVE_CHANNEL:
13225 add_cstring(ptv, &hf_woww_channel_name);
13226 break;
13227 case CMSG_LIST_INVENTORY:
13228 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13229 break;
13230 case CMSG_LOOT:
13231 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13232 break;
13233 case CMSG_LOOT_MASTER_GIVE:
13234 ptvcursor_add(ptv, hf_woww_loot, 8, ENC_LITTLE_ENDIAN);
13235 ptvcursor_add(ptv, hf_woww_slot_id, 1, ENC_LITTLE_ENDIAN);
13236 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
13237 break;
13238 case CMSG_LOOT_METHOD:
13239 ptvcursor_add(ptv, hf_woww_group_loot_setting, 4, ENC_LITTLE_ENDIAN);
13240 ptvcursor_add(ptv, hf_woww_loot_master, 8, ENC_LITTLE_ENDIAN);
13241 ptvcursor_add(ptv, hf_woww_item_quality, 4, ENC_LITTLE_ENDIAN);
13242 break;
13243 case CMSG_LOOT_RELEASE:
13244 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13245 break;
13246 case CMSG_LOOT_ROLL:
13247 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
13248 ptvcursor_add(ptv, hf_woww_item_slot_int, 4, ENC_LITTLE_ENDIAN);
13249 ptvcursor_add(ptv, hf_woww_roll_vote, 1, ENC_LITTLE_ENDIAN);
13250 break;
13251 case CMSG_MAIL_CREATE_TEXT_ITEM:
13252 ptvcursor_add(ptv, hf_woww_mailbox, 8, ENC_LITTLE_ENDIAN);
13253 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
13254 ptvcursor_add(ptv, hf_woww_mail_template_id, 4, ENC_LITTLE_ENDIAN);
13255 break;
13256 case CMSG_MAIL_DELETE:
13257 ptvcursor_add(ptv, hf_woww_mailbox_id, 8, ENC_LITTLE_ENDIAN);
13258 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
13259 break;
13260 case CMSG_MAIL_MARK_AS_READ:
13261 ptvcursor_add(ptv, hf_woww_mailbox, 8, ENC_LITTLE_ENDIAN);
13262 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
13263 break;
13264 case CMSG_MAIL_RETURN_TO_SENDER:
13265 ptvcursor_add(ptv, hf_woww_mailbox_id, 8, ENC_LITTLE_ENDIAN);
13266 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
13267 break;
13268 case CMSG_MAIL_TAKE_ITEM:
13269 ptvcursor_add(ptv, hf_woww_mailbox, 8, ENC_LITTLE_ENDIAN);
13270 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
13271 break;
13272 case CMSG_MAIL_TAKE_MONEY:
13273 ptvcursor_add(ptv, hf_woww_mailbox, 8, ENC_LITTLE_ENDIAN);
13274 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
13275 break;
13276 case CMSG_MEETINGSTONE_JOIN:
13277 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13278 break;
13279 case CMSG_MESSAGECHAT:
13280 ptvcursor_add_ret_uint(ptv, hf_woww_chat_type, 4, ENC_LITTLE_ENDIAN, &chat_type);
13281 ptvcursor_add(ptv, hf_woww_language, 4, ENC_LITTLE_ENDIAN);
13282 if (chat_type == CHAT_TYPE_WHISPER) {
13283 add_cstring(ptv, &hf_woww_target_player);
13285 else if (chat_type == CHAT_TYPE_CHANNEL) {
13286 add_cstring(ptv, &hf_woww_channel);
13288 add_cstring(ptv, &hf_woww_message);
13289 break;
13290 case CMSG_MOVE_FALL_RESET:
13291 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13292 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13293 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13294 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13295 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13296 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13297 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13298 ptvcursor_pop_subtree(ptv);
13299 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13300 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13301 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13302 add_packed_guid(ptv, pinfo);
13303 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13304 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13305 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13306 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13307 ptvcursor_pop_subtree(ptv);
13308 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13309 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13310 ptvcursor_pop_subtree(ptv);
13312 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13313 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13315 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13316 if (flags & MOVEMENT_FLAGS_JUMPING) {
13317 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13318 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13319 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13320 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13322 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13323 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13325 ptvcursor_pop_subtree(ptv);
13326 break;
13327 case CMSG_MOVE_FEATHER_FALL_ACK:
13328 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13329 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
13330 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13331 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13332 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13333 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13334 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13335 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13336 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13337 ptvcursor_pop_subtree(ptv);
13338 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13339 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13340 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13341 add_packed_guid(ptv, pinfo);
13342 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13343 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13344 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13345 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13346 ptvcursor_pop_subtree(ptv);
13347 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13348 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13349 ptvcursor_pop_subtree(ptv);
13351 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13352 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13354 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13355 if (flags & MOVEMENT_FLAGS_JUMPING) {
13356 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13357 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13358 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13359 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13361 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13362 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13364 ptvcursor_pop_subtree(ptv);
13365 ptvcursor_add(ptv, hf_woww_apply, 4, ENC_LITTLE_ENDIAN);
13366 break;
13367 case CMSG_MOVE_HOVER_ACK:
13368 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13369 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
13370 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13371 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13372 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13373 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13374 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13375 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13376 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13377 ptvcursor_pop_subtree(ptv);
13378 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13379 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13380 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13381 add_packed_guid(ptv, pinfo);
13382 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13383 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13384 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13385 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13386 ptvcursor_pop_subtree(ptv);
13387 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13388 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13389 ptvcursor_pop_subtree(ptv);
13391 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13392 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13394 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13395 if (flags & MOVEMENT_FLAGS_JUMPING) {
13396 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13397 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13398 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13399 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13401 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13402 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13404 ptvcursor_pop_subtree(ptv);
13405 ptvcursor_add(ptv, hf_woww_is_applied, 4, ENC_LITTLE_ENDIAN);
13406 break;
13407 case CMSG_MOVE_KNOCK_BACK_ACK:
13408 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13409 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
13410 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13411 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13412 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13413 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13414 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13415 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13416 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13417 ptvcursor_pop_subtree(ptv);
13418 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13419 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13420 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13421 add_packed_guid(ptv, pinfo);
13422 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13423 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13424 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13425 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13426 ptvcursor_pop_subtree(ptv);
13427 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13428 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13429 ptvcursor_pop_subtree(ptv);
13431 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13432 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13434 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13435 if (flags & MOVEMENT_FLAGS_JUMPING) {
13436 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13437 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13438 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13439 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13441 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13442 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13444 ptvcursor_pop_subtree(ptv);
13445 break;
13446 case CMSG_MOVE_NOT_ACTIVE_MOVER:
13447 ptvcursor_add(ptv, hf_woww_old_mover, 8, ENC_LITTLE_ENDIAN);
13448 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13449 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13450 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13451 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13452 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13453 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13454 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13455 ptvcursor_pop_subtree(ptv);
13456 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13457 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13458 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13459 add_packed_guid(ptv, pinfo);
13460 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13461 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13462 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13463 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13464 ptvcursor_pop_subtree(ptv);
13465 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13466 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13467 ptvcursor_pop_subtree(ptv);
13469 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13470 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13472 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13473 if (flags & MOVEMENT_FLAGS_JUMPING) {
13474 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13475 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13476 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13477 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13479 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13480 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13482 ptvcursor_pop_subtree(ptv);
13483 break;
13484 case CMSG_MOVE_SET_RAW_POSITION:
13485 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13486 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13487 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13488 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13489 ptvcursor_pop_subtree(ptv);
13490 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13491 break;
13492 case CMSG_MOVE_SPLINE_DONE:
13493 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13494 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13495 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13496 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13497 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13498 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13499 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13500 ptvcursor_pop_subtree(ptv);
13501 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13502 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13503 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13504 add_packed_guid(ptv, pinfo);
13505 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13506 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13507 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13508 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13509 ptvcursor_pop_subtree(ptv);
13510 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13511 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13512 ptvcursor_pop_subtree(ptv);
13514 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13515 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13517 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13518 if (flags & MOVEMENT_FLAGS_JUMPING) {
13519 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13520 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13521 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13522 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13524 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13525 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13527 ptvcursor_pop_subtree(ptv);
13528 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
13529 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13530 break;
13531 case CMSG_MOVE_TIME_SKIPPED:
13532 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13533 ptvcursor_add(ptv, hf_woww_lag, 4, ENC_LITTLE_ENDIAN);
13534 break;
13535 case CMSG_MOVE_WATER_WALK_ACK:
13536 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13537 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
13538 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
13539 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
13540 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13541 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13542 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13543 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13544 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13545 ptvcursor_pop_subtree(ptv);
13546 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13547 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
13548 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
13549 add_packed_guid(ptv, pinfo);
13550 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13551 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13552 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13553 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13554 ptvcursor_pop_subtree(ptv);
13555 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
13556 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
13557 ptvcursor_pop_subtree(ptv);
13559 if (flags & MOVEMENT_FLAGS_SWIMMING) {
13560 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
13562 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
13563 if (flags & MOVEMENT_FLAGS_JUMPING) {
13564 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
13565 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
13566 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
13567 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
13569 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
13570 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
13572 ptvcursor_pop_subtree(ptv);
13573 ptvcursor_add(ptv, hf_woww_apply, 4, ENC_LITTLE_ENDIAN);
13574 break;
13575 case CMSG_NAME_QUERY:
13576 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13577 break;
13578 case CMSG_NPC_TEXT_QUERY:
13579 ptvcursor_add(ptv, hf_woww_text_id, 4, ENC_LITTLE_ENDIAN);
13580 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13581 break;
13582 case CMSG_OFFER_PETITION:
13583 ptvcursor_add(ptv, hf_woww_petition, 8, ENC_LITTLE_ENDIAN);
13584 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
13585 break;
13586 case CMSG_OPEN_ITEM:
13587 ptvcursor_add(ptv, hf_woww_bag_index, 1, ENC_LITTLE_ENDIAN);
13588 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
13589 break;
13590 case CMSG_PAGE_TEXT_QUERY:
13591 ptvcursor_add(ptv, hf_woww_page_id, 4, ENC_LITTLE_ENDIAN);
13592 break;
13593 case CMSG_PETITION_BUY:
13594 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
13595 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13596 ptvcursor_add(ptv, hf_woww_unknown_guid, 8, ENC_LITTLE_ENDIAN);
13597 add_cstring(ptv, &hf_woww_name);
13598 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13599 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13600 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13601 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13602 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13603 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13604 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13605 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13606 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13607 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13608 ptvcursor_add(ptv, hf_woww_unknown_int, 2, ENC_LITTLE_ENDIAN);
13609 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
13610 ptvcursor_add(ptv, hf_woww_index, 4, ENC_LITTLE_ENDIAN);
13611 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13612 break;
13613 case CMSG_PETITION_QUERY:
13614 ptvcursor_add(ptv, hf_woww_guild_id, 4, ENC_LITTLE_ENDIAN);
13615 ptvcursor_add(ptv, hf_woww_petition, 8, ENC_LITTLE_ENDIAN);
13616 break;
13617 case CMSG_PETITION_SHOWLIST:
13618 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13619 break;
13620 case CMSG_PETITION_SHOW_SIGNATURES:
13621 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
13622 break;
13623 case CMSG_PETITION_SIGN:
13624 ptvcursor_add(ptv, hf_woww_petition, 8, ENC_LITTLE_ENDIAN);
13625 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
13626 break;
13627 case CMSG_PET_ABANDON:
13628 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
13629 break;
13630 case CMSG_PET_ACTION:
13631 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
13632 ptvcursor_add(ptv, hf_woww_data, 4, ENC_LITTLE_ENDIAN);
13633 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
13634 break;
13635 case CMSG_PET_CANCEL_AURA:
13636 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13637 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
13638 break;
13639 case CMSG_PET_CAST_SPELL:
13640 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13641 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
13642 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellCastTargets");
13643 ptvcursor_add_ret_uint(ptv, hf_woww_spell_cast_target_flags, 2, ENC_LITTLE_ENDIAN, &target_flags);
13644 if (target_flags & SPELL_CAST_TARGET_FLAGS_UNIT) {
13645 add_packed_guid(ptv, pinfo);
13647 if (target_flags & SPELL_CAST_TARGET_FLAGS_GAMEOBJECT) {
13648 add_packed_guid(ptv, pinfo);
13650 else if (target_flags & SPELL_CAST_TARGET_FLAGS_OBJECT_UNK) {
13651 add_packed_guid(ptv, pinfo);
13653 if (target_flags & SPELL_CAST_TARGET_FLAGS_ITEM) {
13654 add_packed_guid(ptv, pinfo);
13656 else if (target_flags & SPELL_CAST_TARGET_FLAGS_TRADE_ITEM) {
13657 add_packed_guid(ptv, pinfo);
13659 if (target_flags & SPELL_CAST_TARGET_FLAGS_SOURCE_LOCATION) {
13660 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13661 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13662 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13663 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13664 ptvcursor_pop_subtree(ptv);
13666 if (target_flags & SPELL_CAST_TARGET_FLAGS_DEST_LOCATION) {
13667 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13668 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13669 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13670 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13671 ptvcursor_pop_subtree(ptv);
13673 if (target_flags & SPELL_CAST_TARGET_FLAGS_STRING) {
13674 add_cstring(ptv, &hf_woww_target_string);
13676 if (target_flags & SPELL_CAST_TARGET_FLAGS_CORPSE) {
13677 add_packed_guid(ptv, pinfo);
13679 else if (target_flags & SPELL_CAST_TARGET_FLAGS_PVP_CORPSE) {
13680 add_packed_guid(ptv, pinfo);
13682 ptvcursor_pop_subtree(ptv);
13683 break;
13684 case CMSG_PET_NAME_QUERY:
13685 ptvcursor_add(ptv, hf_woww_pet_number, 4, ENC_LITTLE_ENDIAN);
13686 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13687 break;
13688 case CMSG_PET_RENAME:
13689 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
13690 add_cstring(ptv, &hf_woww_name);
13691 break;
13692 case CMSG_PET_SET_ACTION:
13693 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13694 ptvcursor_add(ptv, hf_woww_position, 4, ENC_LITTLE_ENDIAN);
13695 ptvcursor_add(ptv, hf_woww_data, 4, ENC_LITTLE_ENDIAN);
13696 len = offset_packet_end - ptvcursor_current_offset(ptv);
13697 if (len > 0) {
13698 ptvcursor_add(ptv, hf_woww_position, 4, ENC_LITTLE_ENDIAN);
13699 ptvcursor_add(ptv, hf_woww_data, 4, ENC_LITTLE_ENDIAN);
13701 break;
13702 case CMSG_PET_SPELL_AUTOCAST:
13703 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13704 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
13705 ptvcursor_add(ptv, hf_woww_autocast_enabled, 1, ENC_NA);
13706 break;
13707 case CMSG_PET_STOP_ATTACK:
13708 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
13709 break;
13710 case CMSG_PET_UNLEARN:
13711 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
13712 break;
13713 case CMSG_PING:
13714 ptvcursor_add(ptv, hf_woww_sequence_id, 4, ENC_LITTLE_ENDIAN);
13715 ptvcursor_add(ptv, hf_woww_round_time_in_ms, 4, ENC_LITTLE_ENDIAN);
13716 break;
13717 case CMSG_PLAYER_LOGIN:
13718 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13719 break;
13720 case CMSG_PUSHQUESTTOPARTY:
13721 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13722 break;
13723 case CMSG_QUESTGIVER_ACCEPT_QUEST:
13724 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13725 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13726 break;
13727 case CMSG_QUESTGIVER_CHOOSE_REWARD:
13728 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13729 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13730 ptvcursor_add(ptv, hf_woww_reward, 4, ENC_LITTLE_ENDIAN);
13731 break;
13732 case CMSG_QUESTGIVER_COMPLETE_QUEST:
13733 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13734 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13735 break;
13736 case CMSG_QUESTGIVER_HELLO:
13737 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13738 break;
13739 case CMSG_QUESTGIVER_QUERY_QUEST:
13740 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13741 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13742 break;
13743 case CMSG_QUESTGIVER_REQUEST_REWARD:
13744 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13745 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13746 break;
13747 case CMSG_QUESTGIVER_STATUS_QUERY:
13748 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13749 break;
13750 case CMSG_QUESTLOG_REMOVE_QUEST:
13751 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
13752 break;
13753 case CMSG_QUESTLOG_SWAP_QUEST:
13754 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
13755 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
13756 break;
13757 case CMSG_QUEST_CONFIRM_ACCEPT:
13758 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13759 break;
13760 case CMSG_QUEST_QUERY:
13761 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
13762 break;
13763 case CMSG_READ_ITEM:
13764 ptvcursor_add(ptv, hf_woww_bag_index, 1, ENC_LITTLE_ENDIAN);
13765 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
13766 break;
13767 case CMSG_RECLAIM_CORPSE:
13768 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13769 break;
13770 case CMSG_REPAIR_ITEM:
13771 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
13772 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
13773 break;
13774 case CMSG_REQUEST_ACCOUNT_DATA:
13775 ptvcursor_add(ptv, hf_woww_data_type, 4, ENC_LITTLE_ENDIAN);
13776 break;
13777 case CMSG_REQUEST_PARTY_MEMBER_STATS:
13778 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13779 break;
13780 case CMSG_RESURRECT_RESPONSE:
13781 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13782 ptvcursor_add(ptv, hf_woww_status, 1, ENC_LITTLE_ENDIAN);
13783 break;
13784 case CMSG_SELL_ITEM:
13785 ptvcursor_add(ptv, hf_woww_vendor, 8, ENC_LITTLE_ENDIAN);
13786 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
13787 ptvcursor_add(ptv, hf_woww_amount, 1, ENC_LITTLE_ENDIAN);
13788 break;
13789 case CMSG_SEND_MAIL:
13790 ptvcursor_add(ptv, hf_woww_mailbox, 8, ENC_LITTLE_ENDIAN);
13791 add_cstring(ptv, &hf_woww_receiver);
13792 add_cstring(ptv, &hf_woww_subject);
13793 add_cstring(ptv, &hf_woww_body);
13794 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13795 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13796 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
13797 ptvcursor_add(ptv, hf_woww_money, 4, ENC_LITTLE_ENDIAN);
13798 ptvcursor_add(ptv, hf_woww_cash_on_delivery_amount, 4, ENC_LITTLE_ENDIAN);
13799 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13800 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
13801 break;
13802 case CMSG_SETSHEATHED:
13803 ptvcursor_add(ptv, hf_woww_sheath_state, 4, ENC_LITTLE_ENDIAN);
13804 break;
13805 case CMSG_SET_ACTIONBAR_TOGGLES:
13806 ptvcursor_add(ptv, hf_woww_action_bar, 1, ENC_LITTLE_ENDIAN);
13807 break;
13808 case CMSG_SET_ACTION_BUTTON:
13809 ptvcursor_add(ptv, hf_woww_button, 1, ENC_LITTLE_ENDIAN);
13810 ptvcursor_add(ptv, hf_woww_action, 2, ENC_LITTLE_ENDIAN);
13811 ptvcursor_add(ptv, hf_woww_misc, 1, ENC_LITTLE_ENDIAN);
13812 ptvcursor_add(ptv, hf_woww_action_type, 1, ENC_LITTLE_ENDIAN);
13813 break;
13814 case CMSG_SET_ACTIVE_MOVER:
13815 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13816 break;
13817 case CMSG_SET_AMMO:
13818 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
13819 break;
13820 case CMSG_SET_FACTION_ATWAR:
13821 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
13822 ptvcursor_add(ptv, hf_woww_faction_flag, 1, ENC_LITTLE_ENDIAN);
13823 break;
13824 case CMSG_SET_FACTION_INACTIVE:
13825 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
13826 ptvcursor_add(ptv, hf_woww_inactive, 1, ENC_NA);
13827 break;
13828 case CMSG_SET_SELECTION:
13829 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
13830 break;
13831 case CMSG_SET_TARGET_OBSOLETE:
13832 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13833 break;
13834 case CMSG_SET_TRADE_GOLD:
13835 ptvcursor_add(ptv, hf_woww_gold, 4, ENC_LITTLE_ENDIAN);
13836 break;
13837 case CMSG_SET_TRADE_ITEM:
13838 ptvcursor_add(ptv, hf_woww_trade_slot, 1, ENC_LITTLE_ENDIAN);
13839 ptvcursor_add(ptv, hf_woww_bag, 1, ENC_LITTLE_ENDIAN);
13840 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
13841 break;
13842 case CMSG_SET_WATCHED_FACTION:
13843 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
13844 break;
13845 case CMSG_SPIRIT_HEALER_ACTIVATE:
13846 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13847 break;
13848 case CMSG_SPLIT_ITEM:
13849 ptvcursor_add(ptv, hf_woww_source_bag, 1, ENC_LITTLE_ENDIAN);
13850 ptvcursor_add(ptv, hf_woww_source_slot, 1, ENC_LITTLE_ENDIAN);
13851 ptvcursor_add(ptv, hf_woww_destination_bag, 1, ENC_LITTLE_ENDIAN);
13852 ptvcursor_add(ptv, hf_woww_destination_slot, 1, ENC_LITTLE_ENDIAN);
13853 ptvcursor_add(ptv, hf_woww_amount, 1, ENC_LITTLE_ENDIAN);
13854 break;
13855 case CMSG_STABLE_PET:
13856 ptvcursor_add(ptv, hf_woww_stable_master, 8, ENC_LITTLE_ENDIAN);
13857 break;
13858 case CMSG_STABLE_SWAP_PET:
13859 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
13860 ptvcursor_add(ptv, hf_woww_pet_slot, 4, ENC_LITTLE_ENDIAN);
13861 break;
13862 case CMSG_STANDSTATECHANGE:
13863 ptvcursor_add(ptv, hf_woww_unit_stand_state, 4, ENC_LITTLE_ENDIAN);
13864 break;
13865 case CMSG_SUMMON_RESPONSE:
13866 ptvcursor_add(ptv, hf_woww_summoner, 8, ENC_LITTLE_ENDIAN);
13867 break;
13868 case CMSG_SWAP_INV_ITEM:
13869 ptvcursor_add(ptv, hf_woww_item_slot, 1, ENC_LITTLE_ENDIAN);
13870 ptvcursor_add(ptv, hf_woww_item_slot, 1, ENC_LITTLE_ENDIAN);
13871 break;
13872 case CMSG_SWAP_ITEM:
13873 ptvcursor_add(ptv, hf_woww_destination_bag, 1, ENC_LITTLE_ENDIAN);
13874 ptvcursor_add(ptv, hf_woww_destionation_slot, 1, ENC_LITTLE_ENDIAN);
13875 ptvcursor_add(ptv, hf_woww_source_bag, 1, ENC_LITTLE_ENDIAN);
13876 ptvcursor_add(ptv, hf_woww_source_slot, 1, ENC_LITTLE_ENDIAN);
13877 break;
13878 case CMSG_TAXINODE_STATUS_QUERY:
13879 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13880 break;
13881 case CMSG_TAXIQUERYAVAILABLENODES:
13882 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13883 break;
13884 case CMSG_TELEPORT_TO_UNIT:
13885 add_cstring(ptv, &hf_woww_name);
13886 break;
13887 case CMSG_TEXT_EMOTE:
13888 ptvcursor_add(ptv, hf_woww_text_emote, 4, ENC_LITTLE_ENDIAN);
13889 ptvcursor_add(ptv, hf_woww_emote_int, 4, ENC_LITTLE_ENDIAN);
13890 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
13891 break;
13892 case CMSG_TOGGLE_PVP:
13893 len = offset_packet_end - ptvcursor_current_offset(ptv);
13894 if (len > 0) {
13895 ptvcursor_add(ptv, hf_woww_enable_pvp, 1, ENC_NA);
13897 break;
13898 case CMSG_TRAINER_BUY_SPELL:
13899 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13900 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
13901 break;
13902 case CMSG_TRAINER_LIST:
13903 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
13904 break;
13905 case CMSG_TURN_IN_PETITION:
13906 ptvcursor_add(ptv, hf_woww_petition, 8, ENC_LITTLE_ENDIAN);
13907 break;
13908 case CMSG_TUTORIAL_FLAG:
13909 ptvcursor_add(ptv, hf_woww_tutorial_flag, 4, ENC_LITTLE_ENDIAN);
13910 break;
13911 case CMSG_UNLEARN_SKILL:
13912 ptvcursor_add(ptv, hf_woww_skill, 4, ENC_LITTLE_ENDIAN);
13913 break;
13914 case CMSG_UNSTABLE_PET:
13915 ptvcursor_add(ptv, hf_woww_stable_master, 8, ENC_LITTLE_ENDIAN);
13916 ptvcursor_add(ptv, hf_woww_pet_number, 4, ENC_LITTLE_ENDIAN);
13917 break;
13918 case CMSG_UPDATE_ACCOUNT_DATA:
13919 ptvcursor_add(ptv, hf_woww_account_data_type, 4, ENC_LITTLE_ENDIAN);
13920 ptvcursor_add(ptv, hf_woww_decompressed_size, 4, ENC_LITTLE_ENDIAN);
13921 compressed_tvb = tvb_uncompress_zlib(ptvcursor_tvbuff(ptv), ptvcursor_current_offset(ptv), offset_packet_end - ptvcursor_current_offset(ptv));
13922 if (compressed_tvb != NULL) {
13923 ptvcursor_t* old_ptv = ptv;
13924 ptv = ptvcursor_new(wmem_packet_scope(), tree, compressed_tvb, 0);
13925 len = offset_packet_end - ptvcursor_current_offset(ptv);
13926 ptvcursor_add(ptv, hf_woww_compressed_data, len, ENC_NA);
13927 ptvcursor_free(ptv);
13928 ptv = old_ptv;
13929 compressed_tvb = NULL;
13931 break;
13932 case CMSG_USE_ITEM:
13933 ptvcursor_add(ptv, hf_woww_bag_index, 1, ENC_LITTLE_ENDIAN);
13934 ptvcursor_add(ptv, hf_woww_bag_slot, 1, ENC_LITTLE_ENDIAN);
13935 ptvcursor_add(ptv, hf_woww_spell_index, 1, ENC_LITTLE_ENDIAN);
13936 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellCastTargets");
13937 ptvcursor_add_ret_uint(ptv, hf_woww_spell_cast_target_flags, 2, ENC_LITTLE_ENDIAN, &target_flags);
13938 if (target_flags & SPELL_CAST_TARGET_FLAGS_UNIT) {
13939 add_packed_guid(ptv, pinfo);
13941 if (target_flags & SPELL_CAST_TARGET_FLAGS_GAMEOBJECT) {
13942 add_packed_guid(ptv, pinfo);
13944 else if (target_flags & SPELL_CAST_TARGET_FLAGS_OBJECT_UNK) {
13945 add_packed_guid(ptv, pinfo);
13947 if (target_flags & SPELL_CAST_TARGET_FLAGS_ITEM) {
13948 add_packed_guid(ptv, pinfo);
13950 else if (target_flags & SPELL_CAST_TARGET_FLAGS_TRADE_ITEM) {
13951 add_packed_guid(ptv, pinfo);
13953 if (target_flags & SPELL_CAST_TARGET_FLAGS_SOURCE_LOCATION) {
13954 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13955 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13956 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13957 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13958 ptvcursor_pop_subtree(ptv);
13960 if (target_flags & SPELL_CAST_TARGET_FLAGS_DEST_LOCATION) {
13961 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
13962 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
13963 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
13964 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
13965 ptvcursor_pop_subtree(ptv);
13967 if (target_flags & SPELL_CAST_TARGET_FLAGS_STRING) {
13968 add_cstring(ptv, &hf_woww_target_string);
13970 if (target_flags & SPELL_CAST_TARGET_FLAGS_CORPSE) {
13971 add_packed_guid(ptv, pinfo);
13973 else if (target_flags & SPELL_CAST_TARGET_FLAGS_PVP_CORPSE) {
13974 add_packed_guid(ptv, pinfo);
13976 ptvcursor_pop_subtree(ptv);
13977 break;
13978 case CMSG_WARDEN_DATA:
13979 len = offset_packet_end - ptvcursor_current_offset(ptv);
13980 ptvcursor_add(ptv, hf_woww_encrypted_data, len, ENC_NA);
13981 break;
13982 case CMSG_WHO:
13983 ptvcursor_add(ptv, hf_woww_minimum_level, 4, ENC_LITTLE_ENDIAN);
13984 ptvcursor_add(ptv, hf_woww_maximum_level, 4, ENC_LITTLE_ENDIAN);
13985 add_cstring(ptv, &hf_woww_player_name);
13986 add_cstring(ptv, &hf_woww_guild_name);
13987 ptvcursor_add(ptv, hf_woww_race_mask, 4, ENC_LITTLE_ENDIAN);
13988 ptvcursor_add(ptv, hf_woww_class_mask, 4, ENC_LITTLE_ENDIAN);
13989 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_zones, 4, ENC_LITTLE_ENDIAN, &amount_of_zones);
13990 for (uint32_t i1 = 0; i1 < amount_of_zones; ++i1) {
13991 ptvcursor_add(ptv, hf_woww_zones, 4, ENC_LITTLE_ENDIAN);
13993 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_strings, 4, ENC_LITTLE_ENDIAN, &amount_of_strings);
13994 for (uint32_t i1 = 0; i1 < amount_of_strings; ++i1) {
13995 add_cstring(ptv, &hf_woww_search_strings);
13997 break;
13998 case CMSG_WHOIS:
13999 add_cstring(ptv, &hf_woww_character_name);
14000 break;
14001 case CMSG_WORLD_TELEPORT:
14002 ptvcursor_add(ptv, hf_woww_time, 4, ENC_LITTLE_ENDIAN);
14003 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
14004 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14005 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14006 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14007 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14008 ptvcursor_pop_subtree(ptv);
14009 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14010 break;
14011 case CMSG_WRAP_ITEM:
14012 ptvcursor_add(ptv, hf_woww_gift_bag_index, 1, ENC_LITTLE_ENDIAN);
14013 ptvcursor_add(ptv, hf_woww_gift_slot, 1, ENC_LITTLE_ENDIAN);
14014 ptvcursor_add(ptv, hf_woww_item_bag_index, 1, ENC_LITTLE_ENDIAN);
14015 ptvcursor_add(ptv, hf_woww_item_slot_int, 1, ENC_LITTLE_ENDIAN);
14016 break;
14017 case CMSG_ZONEUPDATE:
14018 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
14019 break;
14020 case MSG_AUCTION_HELLO:
14021 if (WOWW_SERVER_TO_CLIENT) {
14022 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
14023 ptvcursor_add(ptv, hf_woww_auction_house, 4, ENC_LITTLE_ENDIAN);
14025 else {
14026 ptvcursor_add(ptv, hf_woww_auctioneer, 8, ENC_LITTLE_ENDIAN);
14028 break;
14029 case MSG_BATTLEGROUND_PLAYER_POSITIONS:
14030 if (WOWW_SERVER_TO_CLIENT) {
14031 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_teammates, 4, ENC_LITTLE_ENDIAN, &amount_of_teammates);
14032 for (uint32_t i1 = 0; i1 < amount_of_teammates; ++i1) {
14033 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "BattlegroundPlayerPosition %i", i1);
14034 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
14035 ptvcursor_add(ptv, hf_woww_position_x, 4, ENC_LITTLE_ENDIAN);
14036 ptvcursor_add(ptv, hf_woww_position_y, 4, ENC_LITTLE_ENDIAN);
14037 ptvcursor_pop_subtree(ptv);
14039 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_carriers, 1, ENC_LITTLE_ENDIAN, &amount_of_carriers);
14040 for (uint32_t i1 = 0; i1 < amount_of_carriers; ++i1) {
14041 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "BattlegroundPlayerPosition %i", i1);
14042 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
14043 ptvcursor_add(ptv, hf_woww_position_x, 4, ENC_LITTLE_ENDIAN);
14044 ptvcursor_add(ptv, hf_woww_position_y, 4, ENC_LITTLE_ENDIAN);
14045 ptvcursor_pop_subtree(ptv);
14048 else {
14050 break;
14051 case MSG_CHANNEL_START:
14052 if (WOWW_SERVER_TO_CLIENT) {
14053 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
14054 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
14056 break;
14057 case MSG_CHANNEL_UPDATE:
14058 if (WOWW_SERVER_TO_CLIENT) {
14059 ptvcursor_add(ptv, hf_woww_time, 4, ENC_LITTLE_ENDIAN);
14061 break;
14062 case MSG_CORPSE_QUERY:
14063 if (WOWW_SERVER_TO_CLIENT) {
14064 ptvcursor_add_ret_uint(ptv, hf_woww_corpse_query_result, 1, ENC_LITTLE_ENDIAN, &result);
14065 if (result == CORPSE_QUERY_RESULT_FOUND) {
14066 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
14067 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14068 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14069 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14070 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14071 ptvcursor_pop_subtree(ptv);
14072 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
14075 else {
14077 break;
14078 case MSG_INSPECT_HONOR_STATS:
14079 if (WOWW_SERVER_TO_CLIENT) {
14080 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
14081 ptvcursor_add(ptv, hf_woww_pvp_rank, 1, ENC_LITTLE_ENDIAN);
14082 ptvcursor_add(ptv, hf_woww_today_honorable_and_dishonorable, 4, ENC_LITTLE_ENDIAN);
14083 ptvcursor_add(ptv, hf_woww_yesterday_honorable, 2, ENC_LITTLE_ENDIAN);
14084 ptvcursor_add(ptv, hf_woww_unknown_int, 2, ENC_LITTLE_ENDIAN);
14085 ptvcursor_add(ptv, hf_woww_last_week_honorable, 2, ENC_LITTLE_ENDIAN);
14086 ptvcursor_add(ptv, hf_woww_unknown_int, 2, ENC_LITTLE_ENDIAN);
14087 ptvcursor_add(ptv, hf_woww_this_week_honorable, 2, ENC_LITTLE_ENDIAN);
14088 ptvcursor_add(ptv, hf_woww_unknown_int, 2, ENC_LITTLE_ENDIAN);
14089 ptvcursor_add(ptv, hf_woww_lifetime_honorable, 4, ENC_LITTLE_ENDIAN);
14090 ptvcursor_add(ptv, hf_woww_lifetime_dishonorable, 4, ENC_LITTLE_ENDIAN);
14091 ptvcursor_add(ptv, hf_woww_yesterday_honor, 4, ENC_LITTLE_ENDIAN);
14092 ptvcursor_add(ptv, hf_woww_last_week_honor, 4, ENC_LITTLE_ENDIAN);
14093 ptvcursor_add(ptv, hf_woww_this_week_honor, 4, ENC_LITTLE_ENDIAN);
14094 ptvcursor_add(ptv, hf_woww_pvp_rank, 4, ENC_LITTLE_ENDIAN);
14095 ptvcursor_add(ptv, hf_woww_rank_progress_bar, 1, ENC_LITTLE_ENDIAN);
14097 else {
14098 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
14100 break;
14101 case MSG_LIST_STABLED_PETS:
14102 if (WOWW_SERVER_TO_CLIENT) {
14103 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
14104 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_pets, 1, ENC_LITTLE_ENDIAN, &amount_of_pets);
14105 ptvcursor_add(ptv, hf_woww_stable_slots, 1, ENC_LITTLE_ENDIAN);
14106 for (uint32_t i1 = 0; i1 < amount_of_pets; ++i1) {
14107 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "StabledPet %i", i1);
14108 ptvcursor_add(ptv, hf_woww_pet_number, 4, ENC_LITTLE_ENDIAN);
14109 ptvcursor_add(ptv, hf_woww_entry, 4, ENC_LITTLE_ENDIAN);
14110 ptvcursor_add(ptv, hf_woww_level, 4, ENC_LITTLE_ENDIAN);
14111 add_cstring(ptv, &hf_woww_name);
14112 ptvcursor_add(ptv, hf_woww_loyalty, 4, ENC_LITTLE_ENDIAN);
14113 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
14114 ptvcursor_pop_subtree(ptv);
14117 else {
14118 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
14120 break;
14121 case MSG_LOOKING_FOR_GROUP:
14122 if (WOWW_SERVER_TO_CLIENT) {
14123 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
14125 else {
14127 break;
14128 case MSG_MINIMAP_PING:
14129 if (WOWW_SERVER_TO_CLIENT) {
14130 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
14131 ptvcursor_add(ptv, hf_woww_position_x, 4, ENC_LITTLE_ENDIAN);
14132 ptvcursor_add(ptv, hf_woww_position_y, 4, ENC_LITTLE_ENDIAN);
14134 else {
14135 ptvcursor_add(ptv, hf_woww_position_x, 4, ENC_LITTLE_ENDIAN);
14136 ptvcursor_add(ptv, hf_woww_position_y, 4, ENC_LITTLE_ENDIAN);
14138 break;
14139 case MSG_MOVE_FALL_LAND:
14140 if (WOWW_SERVER_TO_CLIENT) {
14141 add_packed_guid(ptv, pinfo);
14142 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14143 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14144 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14145 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14146 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14147 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14148 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14149 ptvcursor_pop_subtree(ptv);
14150 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14151 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14152 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14153 add_packed_guid(ptv, pinfo);
14154 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14155 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14156 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14157 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14158 ptvcursor_pop_subtree(ptv);
14159 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14160 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14161 ptvcursor_pop_subtree(ptv);
14163 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14164 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14166 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14167 if (flags & MOVEMENT_FLAGS_JUMPING) {
14168 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14169 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14170 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14171 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14173 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14174 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14176 ptvcursor_pop_subtree(ptv);
14178 else {
14179 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14180 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14181 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14182 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14183 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14184 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14185 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14186 ptvcursor_pop_subtree(ptv);
14187 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14188 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14189 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14190 add_packed_guid(ptv, pinfo);
14191 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14192 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14193 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14194 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14195 ptvcursor_pop_subtree(ptv);
14196 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14197 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14198 ptvcursor_pop_subtree(ptv);
14200 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14201 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14203 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14204 if (flags & MOVEMENT_FLAGS_JUMPING) {
14205 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14206 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14207 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14208 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14210 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14211 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14213 ptvcursor_pop_subtree(ptv);
14215 break;
14216 case MSG_MOVE_FEATHER_FALL:
14217 if (WOWW_SERVER_TO_CLIENT) {
14218 add_packed_guid(ptv, pinfo);
14219 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14220 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14221 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14222 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14223 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14224 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14225 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14226 ptvcursor_pop_subtree(ptv);
14227 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14228 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14229 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14230 add_packed_guid(ptv, pinfo);
14231 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14232 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14233 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14234 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14235 ptvcursor_pop_subtree(ptv);
14236 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14237 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14238 ptvcursor_pop_subtree(ptv);
14240 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14241 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14243 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14244 if (flags & MOVEMENT_FLAGS_JUMPING) {
14245 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14246 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14247 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14248 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14250 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14251 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14253 ptvcursor_pop_subtree(ptv);
14255 break;
14256 case MSG_MOVE_HEARTBEAT:
14257 if (WOWW_SERVER_TO_CLIENT) {
14258 add_packed_guid(ptv, pinfo);
14259 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14260 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14261 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14262 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14263 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14264 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14265 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14266 ptvcursor_pop_subtree(ptv);
14267 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14268 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14269 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14270 add_packed_guid(ptv, pinfo);
14271 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14272 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14273 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14274 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14275 ptvcursor_pop_subtree(ptv);
14276 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14277 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14278 ptvcursor_pop_subtree(ptv);
14280 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14281 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14283 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14284 if (flags & MOVEMENT_FLAGS_JUMPING) {
14285 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14286 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14287 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14288 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14290 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14291 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14293 ptvcursor_pop_subtree(ptv);
14295 else {
14296 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14297 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14298 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14299 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14300 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14301 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14302 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14303 ptvcursor_pop_subtree(ptv);
14304 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14305 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14306 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14307 add_packed_guid(ptv, pinfo);
14308 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14309 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14310 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14311 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14312 ptvcursor_pop_subtree(ptv);
14313 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14314 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14315 ptvcursor_pop_subtree(ptv);
14317 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14318 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14320 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14321 if (flags & MOVEMENT_FLAGS_JUMPING) {
14322 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14323 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14324 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14325 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14327 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14328 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14330 ptvcursor_pop_subtree(ptv);
14332 break;
14333 case MSG_MOVE_JUMP:
14334 if (WOWW_SERVER_TO_CLIENT) {
14335 add_packed_guid(ptv, pinfo);
14336 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14337 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14338 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14339 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14340 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14341 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14342 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14343 ptvcursor_pop_subtree(ptv);
14344 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14345 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14346 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14347 add_packed_guid(ptv, pinfo);
14348 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14349 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14350 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14351 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14352 ptvcursor_pop_subtree(ptv);
14353 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14354 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14355 ptvcursor_pop_subtree(ptv);
14357 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14358 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14360 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14361 if (flags & MOVEMENT_FLAGS_JUMPING) {
14362 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14363 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14364 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14365 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14367 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14368 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14370 ptvcursor_pop_subtree(ptv);
14372 else {
14373 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14374 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14375 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14376 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14377 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14378 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14379 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14380 ptvcursor_pop_subtree(ptv);
14381 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14382 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14383 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14384 add_packed_guid(ptv, pinfo);
14385 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14386 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14387 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14388 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14389 ptvcursor_pop_subtree(ptv);
14390 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14391 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14392 ptvcursor_pop_subtree(ptv);
14394 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14395 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14397 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14398 if (flags & MOVEMENT_FLAGS_JUMPING) {
14399 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14400 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14401 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14402 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14404 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14405 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14407 ptvcursor_pop_subtree(ptv);
14409 break;
14410 case MSG_MOVE_SET_FACING:
14411 if (WOWW_SERVER_TO_CLIENT) {
14412 add_packed_guid(ptv, pinfo);
14413 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14414 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14415 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14416 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14417 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14418 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14419 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14420 ptvcursor_pop_subtree(ptv);
14421 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14422 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14423 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14424 add_packed_guid(ptv, pinfo);
14425 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14426 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14427 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14428 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14429 ptvcursor_pop_subtree(ptv);
14430 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14431 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14432 ptvcursor_pop_subtree(ptv);
14434 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14435 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14437 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14438 if (flags & MOVEMENT_FLAGS_JUMPING) {
14439 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14440 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14441 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14442 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14444 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14445 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14447 ptvcursor_pop_subtree(ptv);
14449 else {
14450 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14451 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14452 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14453 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14454 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14455 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14456 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14457 ptvcursor_pop_subtree(ptv);
14458 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14459 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14460 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14461 add_packed_guid(ptv, pinfo);
14462 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14463 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14464 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14465 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14466 ptvcursor_pop_subtree(ptv);
14467 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14468 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14469 ptvcursor_pop_subtree(ptv);
14471 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14472 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14474 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14475 if (flags & MOVEMENT_FLAGS_JUMPING) {
14476 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14477 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14478 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14479 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14481 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14482 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14484 ptvcursor_pop_subtree(ptv);
14486 break;
14487 case MSG_MOVE_SET_PITCH:
14488 if (WOWW_SERVER_TO_CLIENT) {
14489 add_packed_guid(ptv, pinfo);
14490 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14491 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14492 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14493 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14494 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14495 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14496 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14497 ptvcursor_pop_subtree(ptv);
14498 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14499 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14500 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14501 add_packed_guid(ptv, pinfo);
14502 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14503 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14504 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14505 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14506 ptvcursor_pop_subtree(ptv);
14507 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14508 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14509 ptvcursor_pop_subtree(ptv);
14511 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14512 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14514 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14515 if (flags & MOVEMENT_FLAGS_JUMPING) {
14516 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14517 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14518 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14519 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14521 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14522 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14524 ptvcursor_pop_subtree(ptv);
14526 else {
14527 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14528 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14529 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14530 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14531 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14532 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14533 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14534 ptvcursor_pop_subtree(ptv);
14535 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14536 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14537 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14538 add_packed_guid(ptv, pinfo);
14539 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14540 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14541 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14542 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14543 ptvcursor_pop_subtree(ptv);
14544 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14545 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14546 ptvcursor_pop_subtree(ptv);
14548 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14549 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14551 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14552 if (flags & MOVEMENT_FLAGS_JUMPING) {
14553 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14554 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14555 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14556 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14558 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14559 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14561 ptvcursor_pop_subtree(ptv);
14563 break;
14564 case MSG_MOVE_SET_RUN_MODE:
14565 if (WOWW_SERVER_TO_CLIENT) {
14566 add_packed_guid(ptv, pinfo);
14567 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14568 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14569 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14570 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14571 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14572 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14573 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14574 ptvcursor_pop_subtree(ptv);
14575 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14576 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14577 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14578 add_packed_guid(ptv, pinfo);
14579 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14580 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14581 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14582 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14583 ptvcursor_pop_subtree(ptv);
14584 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14585 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14586 ptvcursor_pop_subtree(ptv);
14588 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14589 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14591 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14592 if (flags & MOVEMENT_FLAGS_JUMPING) {
14593 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14594 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14595 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14596 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14598 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14599 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14601 ptvcursor_pop_subtree(ptv);
14603 else {
14604 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14605 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14606 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14607 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14608 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14609 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14610 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14611 ptvcursor_pop_subtree(ptv);
14612 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14613 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14614 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14615 add_packed_guid(ptv, pinfo);
14616 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14617 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14618 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14619 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14620 ptvcursor_pop_subtree(ptv);
14621 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14622 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14623 ptvcursor_pop_subtree(ptv);
14625 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14626 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14628 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14629 if (flags & MOVEMENT_FLAGS_JUMPING) {
14630 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14631 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14632 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14633 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14635 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14636 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14638 ptvcursor_pop_subtree(ptv);
14640 break;
14641 case MSG_MOVE_SET_WALK_MODE:
14642 if (WOWW_SERVER_TO_CLIENT) {
14643 add_packed_guid(ptv, pinfo);
14644 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14645 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14646 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14647 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14648 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14649 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14650 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14651 ptvcursor_pop_subtree(ptv);
14652 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14653 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14654 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14655 add_packed_guid(ptv, pinfo);
14656 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14657 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14658 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14659 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14660 ptvcursor_pop_subtree(ptv);
14661 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14662 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14663 ptvcursor_pop_subtree(ptv);
14665 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14666 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14668 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14669 if (flags & MOVEMENT_FLAGS_JUMPING) {
14670 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14671 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14672 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14673 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14675 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14676 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14678 ptvcursor_pop_subtree(ptv);
14680 else {
14681 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14682 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14683 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14684 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14685 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14686 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14687 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14688 ptvcursor_pop_subtree(ptv);
14689 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14690 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14691 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14692 add_packed_guid(ptv, pinfo);
14693 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14694 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14695 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14696 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14697 ptvcursor_pop_subtree(ptv);
14698 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14699 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14700 ptvcursor_pop_subtree(ptv);
14702 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14703 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14705 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14706 if (flags & MOVEMENT_FLAGS_JUMPING) {
14707 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14708 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14709 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14710 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14712 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14713 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14715 ptvcursor_pop_subtree(ptv);
14717 break;
14718 case MSG_MOVE_START_BACKWARD:
14719 if (WOWW_SERVER_TO_CLIENT) {
14720 add_packed_guid(ptv, pinfo);
14721 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14722 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14723 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14724 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14725 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14726 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14727 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14728 ptvcursor_pop_subtree(ptv);
14729 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14730 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14731 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14732 add_packed_guid(ptv, pinfo);
14733 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14734 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14735 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14736 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14737 ptvcursor_pop_subtree(ptv);
14738 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14739 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14740 ptvcursor_pop_subtree(ptv);
14742 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14743 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14745 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14746 if (flags & MOVEMENT_FLAGS_JUMPING) {
14747 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14748 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14749 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14750 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14752 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14753 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14755 ptvcursor_pop_subtree(ptv);
14757 else {
14758 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14759 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14760 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14761 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14762 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14763 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14764 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14765 ptvcursor_pop_subtree(ptv);
14766 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14767 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14768 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14769 add_packed_guid(ptv, pinfo);
14770 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14771 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14772 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14773 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14774 ptvcursor_pop_subtree(ptv);
14775 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14776 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14777 ptvcursor_pop_subtree(ptv);
14779 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14780 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14782 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14783 if (flags & MOVEMENT_FLAGS_JUMPING) {
14784 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14785 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14786 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14787 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14789 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14790 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14792 ptvcursor_pop_subtree(ptv);
14794 break;
14795 case MSG_MOVE_START_FORWARD:
14796 if (WOWW_SERVER_TO_CLIENT) {
14797 add_packed_guid(ptv, pinfo);
14798 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14799 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14800 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14801 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14802 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14803 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14804 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14805 ptvcursor_pop_subtree(ptv);
14806 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14807 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14808 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14809 add_packed_guid(ptv, pinfo);
14810 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14811 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14812 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14813 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14814 ptvcursor_pop_subtree(ptv);
14815 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14816 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14817 ptvcursor_pop_subtree(ptv);
14819 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14820 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14822 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14823 if (flags & MOVEMENT_FLAGS_JUMPING) {
14824 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14825 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14826 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14827 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14829 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14830 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14832 ptvcursor_pop_subtree(ptv);
14834 else {
14835 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14836 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14837 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14838 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14839 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14840 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14841 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14842 ptvcursor_pop_subtree(ptv);
14843 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14844 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14845 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14846 add_packed_guid(ptv, pinfo);
14847 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14848 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14849 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14850 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14851 ptvcursor_pop_subtree(ptv);
14852 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14853 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14854 ptvcursor_pop_subtree(ptv);
14856 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14857 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14859 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14860 if (flags & MOVEMENT_FLAGS_JUMPING) {
14861 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14862 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14863 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14864 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14866 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14867 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14869 ptvcursor_pop_subtree(ptv);
14871 break;
14872 case MSG_MOVE_START_PITCH_DOWN:
14873 if (WOWW_SERVER_TO_CLIENT) {
14874 add_packed_guid(ptv, pinfo);
14875 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14876 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14877 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14878 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14879 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14880 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14881 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14882 ptvcursor_pop_subtree(ptv);
14883 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14884 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14885 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14886 add_packed_guid(ptv, pinfo);
14887 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14888 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14889 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14890 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14891 ptvcursor_pop_subtree(ptv);
14892 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14893 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14894 ptvcursor_pop_subtree(ptv);
14896 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14897 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14899 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14900 if (flags & MOVEMENT_FLAGS_JUMPING) {
14901 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14902 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14903 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14904 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14906 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14907 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14909 ptvcursor_pop_subtree(ptv);
14911 else {
14912 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14913 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14914 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14915 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14916 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14917 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14918 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14919 ptvcursor_pop_subtree(ptv);
14920 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14921 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14922 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14923 add_packed_guid(ptv, pinfo);
14924 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14925 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14926 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14927 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14928 ptvcursor_pop_subtree(ptv);
14929 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14930 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14931 ptvcursor_pop_subtree(ptv);
14933 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14934 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14936 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14937 if (flags & MOVEMENT_FLAGS_JUMPING) {
14938 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14939 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14940 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14941 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14943 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14944 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14946 ptvcursor_pop_subtree(ptv);
14948 break;
14949 case MSG_MOVE_START_PITCH_UP:
14950 if (WOWW_SERVER_TO_CLIENT) {
14951 add_packed_guid(ptv, pinfo);
14952 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14953 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14954 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14955 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14956 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14957 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14958 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14959 ptvcursor_pop_subtree(ptv);
14960 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14961 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14962 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
14963 add_packed_guid(ptv, pinfo);
14964 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14965 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14966 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14967 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14968 ptvcursor_pop_subtree(ptv);
14969 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14970 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14971 ptvcursor_pop_subtree(ptv);
14973 if (flags & MOVEMENT_FLAGS_SWIMMING) {
14974 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
14976 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
14977 if (flags & MOVEMENT_FLAGS_JUMPING) {
14978 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
14979 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
14980 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
14981 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
14983 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
14984 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
14986 ptvcursor_pop_subtree(ptv);
14988 else {
14989 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
14990 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
14991 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
14992 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
14993 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
14994 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
14995 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
14996 ptvcursor_pop_subtree(ptv);
14997 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
14998 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
14999 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15000 add_packed_guid(ptv, pinfo);
15001 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15002 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15003 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15004 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15005 ptvcursor_pop_subtree(ptv);
15006 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15007 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15008 ptvcursor_pop_subtree(ptv);
15010 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15011 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15013 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15014 if (flags & MOVEMENT_FLAGS_JUMPING) {
15015 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15016 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15017 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15018 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15020 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15021 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15023 ptvcursor_pop_subtree(ptv);
15025 break;
15026 case MSG_MOVE_START_STRAFE_LEFT:
15027 if (WOWW_SERVER_TO_CLIENT) {
15028 add_packed_guid(ptv, pinfo);
15029 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15030 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15031 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15032 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15033 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15034 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15035 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15036 ptvcursor_pop_subtree(ptv);
15037 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15038 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15039 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15040 add_packed_guid(ptv, pinfo);
15041 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15042 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15043 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15044 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15045 ptvcursor_pop_subtree(ptv);
15046 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15047 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15048 ptvcursor_pop_subtree(ptv);
15050 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15051 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15053 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15054 if (flags & MOVEMENT_FLAGS_JUMPING) {
15055 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15056 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15057 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15058 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15060 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15061 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15063 ptvcursor_pop_subtree(ptv);
15065 else {
15066 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15067 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15068 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15069 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15070 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15071 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15072 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15073 ptvcursor_pop_subtree(ptv);
15074 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15075 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15076 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15077 add_packed_guid(ptv, pinfo);
15078 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15079 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15080 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15081 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15082 ptvcursor_pop_subtree(ptv);
15083 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15084 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15085 ptvcursor_pop_subtree(ptv);
15087 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15088 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15090 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15091 if (flags & MOVEMENT_FLAGS_JUMPING) {
15092 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15093 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15094 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15095 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15097 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15098 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15100 ptvcursor_pop_subtree(ptv);
15102 break;
15103 case MSG_MOVE_START_STRAFE_RIGHT:
15104 if (WOWW_SERVER_TO_CLIENT) {
15105 add_packed_guid(ptv, pinfo);
15106 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15107 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15108 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15109 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15110 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15111 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15112 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15113 ptvcursor_pop_subtree(ptv);
15114 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15115 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15116 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15117 add_packed_guid(ptv, pinfo);
15118 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15119 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15120 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15121 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15122 ptvcursor_pop_subtree(ptv);
15123 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15124 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15125 ptvcursor_pop_subtree(ptv);
15127 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15128 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15130 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15131 if (flags & MOVEMENT_FLAGS_JUMPING) {
15132 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15133 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15134 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15135 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15137 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15138 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15140 ptvcursor_pop_subtree(ptv);
15142 else {
15143 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15144 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15145 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15146 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15147 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15148 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15149 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15150 ptvcursor_pop_subtree(ptv);
15151 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15152 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15153 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15154 add_packed_guid(ptv, pinfo);
15155 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15156 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15157 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15158 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15159 ptvcursor_pop_subtree(ptv);
15160 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15161 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15162 ptvcursor_pop_subtree(ptv);
15164 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15165 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15167 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15168 if (flags & MOVEMENT_FLAGS_JUMPING) {
15169 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15170 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15171 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15172 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15174 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15175 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15177 ptvcursor_pop_subtree(ptv);
15179 break;
15180 case MSG_MOVE_START_SWIM:
15181 if (WOWW_SERVER_TO_CLIENT) {
15182 add_packed_guid(ptv, pinfo);
15183 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15184 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15185 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15186 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15187 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15188 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15189 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15190 ptvcursor_pop_subtree(ptv);
15191 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15192 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15193 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15194 add_packed_guid(ptv, pinfo);
15195 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15196 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15197 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15198 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15199 ptvcursor_pop_subtree(ptv);
15200 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15201 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15202 ptvcursor_pop_subtree(ptv);
15204 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15205 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15207 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15208 if (flags & MOVEMENT_FLAGS_JUMPING) {
15209 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15210 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15211 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15212 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15214 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15215 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15217 ptvcursor_pop_subtree(ptv);
15219 else {
15220 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15221 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15222 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15223 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15224 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15225 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15226 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15227 ptvcursor_pop_subtree(ptv);
15228 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15229 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15230 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15231 add_packed_guid(ptv, pinfo);
15232 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15233 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15234 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15235 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15236 ptvcursor_pop_subtree(ptv);
15237 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15238 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15239 ptvcursor_pop_subtree(ptv);
15241 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15242 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15244 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15245 if (flags & MOVEMENT_FLAGS_JUMPING) {
15246 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15247 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15248 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15249 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15251 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15252 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15254 ptvcursor_pop_subtree(ptv);
15256 break;
15257 case MSG_MOVE_START_TURN_LEFT:
15258 if (WOWW_SERVER_TO_CLIENT) {
15259 add_packed_guid(ptv, pinfo);
15260 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15261 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15262 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15263 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15264 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15265 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15266 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15267 ptvcursor_pop_subtree(ptv);
15268 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15269 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15270 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15271 add_packed_guid(ptv, pinfo);
15272 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15273 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15274 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15275 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15276 ptvcursor_pop_subtree(ptv);
15277 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15278 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15279 ptvcursor_pop_subtree(ptv);
15281 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15282 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15284 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15285 if (flags & MOVEMENT_FLAGS_JUMPING) {
15286 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15287 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15288 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15289 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15291 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15292 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15294 ptvcursor_pop_subtree(ptv);
15296 else {
15297 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15298 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15299 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15300 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15301 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15302 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15303 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15304 ptvcursor_pop_subtree(ptv);
15305 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15306 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15307 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15308 add_packed_guid(ptv, pinfo);
15309 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15310 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15311 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15312 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15313 ptvcursor_pop_subtree(ptv);
15314 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15315 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15316 ptvcursor_pop_subtree(ptv);
15318 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15319 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15321 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15322 if (flags & MOVEMENT_FLAGS_JUMPING) {
15323 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15324 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15325 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15326 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15328 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15329 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15331 ptvcursor_pop_subtree(ptv);
15333 break;
15334 case MSG_MOVE_START_TURN_RIGHT:
15335 if (WOWW_SERVER_TO_CLIENT) {
15336 add_packed_guid(ptv, pinfo);
15337 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15338 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15339 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15340 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15341 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15342 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15343 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15344 ptvcursor_pop_subtree(ptv);
15345 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15346 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15347 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15348 add_packed_guid(ptv, pinfo);
15349 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15350 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15351 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15352 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15353 ptvcursor_pop_subtree(ptv);
15354 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15355 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15356 ptvcursor_pop_subtree(ptv);
15358 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15359 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15361 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15362 if (flags & MOVEMENT_FLAGS_JUMPING) {
15363 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15364 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15365 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15366 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15368 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15369 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15371 ptvcursor_pop_subtree(ptv);
15373 else {
15374 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15375 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15376 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15377 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15378 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15379 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15380 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15381 ptvcursor_pop_subtree(ptv);
15382 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15383 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15384 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15385 add_packed_guid(ptv, pinfo);
15386 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15387 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15388 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15389 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15390 ptvcursor_pop_subtree(ptv);
15391 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15392 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15393 ptvcursor_pop_subtree(ptv);
15395 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15396 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15398 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15399 if (flags & MOVEMENT_FLAGS_JUMPING) {
15400 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15401 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15402 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15403 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15405 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15406 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15408 ptvcursor_pop_subtree(ptv);
15410 break;
15411 case MSG_MOVE_STOP_PITCH:
15412 if (WOWW_SERVER_TO_CLIENT) {
15413 add_packed_guid(ptv, pinfo);
15414 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15415 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15416 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15417 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15418 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15419 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15420 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15421 ptvcursor_pop_subtree(ptv);
15422 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15423 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15424 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15425 add_packed_guid(ptv, pinfo);
15426 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15427 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15428 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15429 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15430 ptvcursor_pop_subtree(ptv);
15431 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15432 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15433 ptvcursor_pop_subtree(ptv);
15435 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15436 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15438 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15439 if (flags & MOVEMENT_FLAGS_JUMPING) {
15440 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15441 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15442 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15443 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15445 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15446 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15448 ptvcursor_pop_subtree(ptv);
15450 else {
15451 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15452 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15453 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15454 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15455 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15456 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15457 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15458 ptvcursor_pop_subtree(ptv);
15459 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15460 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15461 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15462 add_packed_guid(ptv, pinfo);
15463 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15464 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15465 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15466 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15467 ptvcursor_pop_subtree(ptv);
15468 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15469 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15470 ptvcursor_pop_subtree(ptv);
15472 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15473 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15475 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15476 if (flags & MOVEMENT_FLAGS_JUMPING) {
15477 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15478 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15479 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15480 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15482 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15483 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15485 ptvcursor_pop_subtree(ptv);
15487 break;
15488 case MSG_MOVE_STOP_STRAFE:
15489 if (WOWW_SERVER_TO_CLIENT) {
15490 add_packed_guid(ptv, pinfo);
15491 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15492 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15493 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15494 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15495 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15496 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15497 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15498 ptvcursor_pop_subtree(ptv);
15499 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15500 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15501 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15502 add_packed_guid(ptv, pinfo);
15503 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15504 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15505 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15506 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15507 ptvcursor_pop_subtree(ptv);
15508 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15509 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15510 ptvcursor_pop_subtree(ptv);
15512 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15513 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15515 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15516 if (flags & MOVEMENT_FLAGS_JUMPING) {
15517 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15518 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15519 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15520 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15522 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15523 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15525 ptvcursor_pop_subtree(ptv);
15527 else {
15528 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15529 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15530 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15531 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15532 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15533 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15534 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15535 ptvcursor_pop_subtree(ptv);
15536 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15537 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15538 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15539 add_packed_guid(ptv, pinfo);
15540 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15541 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15542 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15543 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15544 ptvcursor_pop_subtree(ptv);
15545 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15546 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15547 ptvcursor_pop_subtree(ptv);
15549 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15550 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15552 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15553 if (flags & MOVEMENT_FLAGS_JUMPING) {
15554 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15555 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15556 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15557 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15559 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15560 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15562 ptvcursor_pop_subtree(ptv);
15564 break;
15565 case MSG_MOVE_STOP_SWIM:
15566 if (WOWW_SERVER_TO_CLIENT) {
15567 add_packed_guid(ptv, pinfo);
15568 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15569 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15570 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15571 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15572 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15573 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15574 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15575 ptvcursor_pop_subtree(ptv);
15576 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15577 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15578 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15579 add_packed_guid(ptv, pinfo);
15580 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15581 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15582 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15583 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15584 ptvcursor_pop_subtree(ptv);
15585 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15586 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15587 ptvcursor_pop_subtree(ptv);
15589 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15590 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15592 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15593 if (flags & MOVEMENT_FLAGS_JUMPING) {
15594 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15595 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15596 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15597 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15599 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15600 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15602 ptvcursor_pop_subtree(ptv);
15604 else {
15605 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15606 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15607 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15608 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15609 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15610 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15611 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15612 ptvcursor_pop_subtree(ptv);
15613 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15614 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15615 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15616 add_packed_guid(ptv, pinfo);
15617 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15618 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15619 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15620 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15621 ptvcursor_pop_subtree(ptv);
15622 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15623 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15624 ptvcursor_pop_subtree(ptv);
15626 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15627 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15629 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15630 if (flags & MOVEMENT_FLAGS_JUMPING) {
15631 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15632 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15633 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15634 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15636 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15637 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15639 ptvcursor_pop_subtree(ptv);
15641 break;
15642 case MSG_MOVE_STOP:
15643 if (WOWW_SERVER_TO_CLIENT) {
15644 add_packed_guid(ptv, pinfo);
15645 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15646 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15647 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15648 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15649 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15650 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15651 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15652 ptvcursor_pop_subtree(ptv);
15653 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15654 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15655 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15656 add_packed_guid(ptv, pinfo);
15657 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15658 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15659 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15660 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15661 ptvcursor_pop_subtree(ptv);
15662 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15663 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15664 ptvcursor_pop_subtree(ptv);
15666 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15667 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15669 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15670 if (flags & MOVEMENT_FLAGS_JUMPING) {
15671 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15672 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15673 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15674 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15676 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15677 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15679 ptvcursor_pop_subtree(ptv);
15681 else {
15682 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15683 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15684 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15685 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15686 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15687 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15688 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15689 ptvcursor_pop_subtree(ptv);
15690 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15691 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15692 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15693 add_packed_guid(ptv, pinfo);
15694 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15695 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15696 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15697 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15698 ptvcursor_pop_subtree(ptv);
15699 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15700 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15701 ptvcursor_pop_subtree(ptv);
15703 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15704 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15706 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15707 if (flags & MOVEMENT_FLAGS_JUMPING) {
15708 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15709 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15710 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15711 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15713 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15714 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15716 ptvcursor_pop_subtree(ptv);
15718 break;
15719 case MSG_MOVE_STOP_TURN:
15720 if (WOWW_SERVER_TO_CLIENT) {
15721 add_packed_guid(ptv, pinfo);
15722 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15723 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15724 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15725 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15726 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15727 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15728 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15729 ptvcursor_pop_subtree(ptv);
15730 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15731 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15732 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15733 add_packed_guid(ptv, pinfo);
15734 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15735 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15736 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15737 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15738 ptvcursor_pop_subtree(ptv);
15739 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15740 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15741 ptvcursor_pop_subtree(ptv);
15743 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15744 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15746 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15747 if (flags & MOVEMENT_FLAGS_JUMPING) {
15748 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15749 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15750 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15751 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15753 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15754 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15756 ptvcursor_pop_subtree(ptv);
15758 else {
15759 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15760 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15761 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15762 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15763 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15764 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15765 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15766 ptvcursor_pop_subtree(ptv);
15767 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15768 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15769 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15770 add_packed_guid(ptv, pinfo);
15771 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15772 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15773 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15774 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15775 ptvcursor_pop_subtree(ptv);
15776 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15777 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15778 ptvcursor_pop_subtree(ptv);
15780 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15781 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15783 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15784 if (flags & MOVEMENT_FLAGS_JUMPING) {
15785 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15786 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15787 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15788 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15790 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15791 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15793 ptvcursor_pop_subtree(ptv);
15795 break;
15796 case MSG_MOVE_TELEPORT_ACK:
15797 if (WOWW_SERVER_TO_CLIENT) {
15798 add_packed_guid(ptv, pinfo);
15799 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
15800 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15801 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15802 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15803 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15804 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15805 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15806 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15807 ptvcursor_pop_subtree(ptv);
15808 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15809 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15810 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15811 add_packed_guid(ptv, pinfo);
15812 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15813 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15814 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15815 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15816 ptvcursor_pop_subtree(ptv);
15817 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15818 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15819 ptvcursor_pop_subtree(ptv);
15821 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15822 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15824 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15825 if (flags & MOVEMENT_FLAGS_JUMPING) {
15826 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15827 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15828 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15829 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15831 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15832 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15834 ptvcursor_pop_subtree(ptv);
15836 else {
15837 add_packed_guid(ptv, pinfo);
15838 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
15839 ptvcursor_add(ptv, hf_woww_time, 4, ENC_LITTLE_ENDIAN);
15841 break;
15842 case MSG_MOVE_TIME_SKIPPED:
15843 if (WOWW_SERVER_TO_CLIENT) {
15844 add_packed_guid(ptv, pinfo);
15845 ptvcursor_add(ptv, hf_woww_time_skipped, 4, ENC_LITTLE_ENDIAN);
15847 break;
15848 case MSG_MOVE_WATER_WALK:
15849 add_packed_guid(ptv, pinfo);
15850 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementInfo");
15851 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
15852 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15853 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15854 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15855 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15856 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15857 ptvcursor_pop_subtree(ptv);
15858 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15859 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
15860 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TransportInfo");
15861 add_packed_guid(ptv, pinfo);
15862 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
15863 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
15864 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
15865 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
15866 ptvcursor_pop_subtree(ptv);
15867 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
15868 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
15869 ptvcursor_pop_subtree(ptv);
15871 if (flags & MOVEMENT_FLAGS_SWIMMING) {
15872 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
15874 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
15875 if (flags & MOVEMENT_FLAGS_JUMPING) {
15876 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
15877 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
15878 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
15879 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
15881 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
15882 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
15884 ptvcursor_pop_subtree(ptv);
15885 break;
15886 case MSG_PETITION_DECLINE:
15887 ptvcursor_add(ptv, hf_woww_petition, 8, ENC_LITTLE_ENDIAN);
15888 break;
15889 case MSG_PETITION_RENAME:
15890 ptvcursor_add(ptv, hf_woww_petition, 8, ENC_LITTLE_ENDIAN);
15891 add_cstring(ptv, &hf_woww_new_name);
15892 break;
15893 case MSG_PVP_LOG_DATA:
15894 if (WOWW_SERVER_TO_CLIENT) {
15895 ptvcursor_add_ret_uint(ptv, hf_woww_battleground_end_status, 1, ENC_LITTLE_ENDIAN, &status);
15896 if (status == BATTLEGROUND_END_STATUS_ENDED) {
15897 ptvcursor_add(ptv, hf_woww_battleground_winner, 1, ENC_LITTLE_ENDIAN);
15899 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_players, 4, ENC_LITTLE_ENDIAN, &amount_of_players);
15900 for (uint32_t i1 = 0; i1 < amount_of_players; ++i1) {
15901 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "BattlegroundPlayer %i", i1);
15902 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
15903 ptvcursor_add(ptv, hf_woww_pvp_rank, 4, ENC_LITTLE_ENDIAN);
15904 ptvcursor_add(ptv, hf_woww_killing_blows, 4, ENC_LITTLE_ENDIAN);
15905 ptvcursor_add(ptv, hf_woww_honorable_kills, 4, ENC_LITTLE_ENDIAN);
15906 ptvcursor_add(ptv, hf_woww_deaths, 4, ENC_LITTLE_ENDIAN);
15907 ptvcursor_add(ptv, hf_woww_bonus_honor, 4, ENC_LITTLE_ENDIAN);
15908 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_extra_fields, 4, ENC_LITTLE_ENDIAN, &amount_of_extra_fields);
15909 for (uint32_t i2 = 0; i2 < amount_of_extra_fields; ++i2) {
15910 ptvcursor_add(ptv, hf_woww_fields, 4, ENC_LITTLE_ENDIAN);
15912 ptvcursor_pop_subtree(ptv);
15915 else {
15917 break;
15918 case MSG_QUERY_NEXT_MAIL_TIME:
15919 if (WOWW_SERVER_TO_CLIENT) {
15920 ptvcursor_add(ptv, hf_woww_unread_mails, 4, ENC_LITTLE_ENDIAN);
15922 else {
15924 break;
15925 case MSG_QUEST_PUSH_RESULT:
15926 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
15927 ptvcursor_add(ptv, hf_woww_quest_party_message, 1, ENC_LITTLE_ENDIAN);
15928 break;
15929 case MSG_RAID_READY_CHECK:
15930 if (WOWW_SERVER_TO_CLIENT) {
15931 len = offset_packet_end - ptvcursor_current_offset(ptv);
15932 if (len > 0) {
15933 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
15934 ptvcursor_add(ptv, hf_woww_state, 1, ENC_LITTLE_ENDIAN);
15937 else {
15938 len = offset_packet_end - ptvcursor_current_offset(ptv);
15939 if (len > 0) {
15940 ptvcursor_add(ptv, hf_woww_state, 1, ENC_LITTLE_ENDIAN);
15943 break;
15944 case MSG_RAID_TARGET_UPDATE:
15945 if (WOWW_SERVER_TO_CLIENT) {
15946 ptvcursor_add_ret_uint(ptv, hf_woww_raid_target_update_type, 1, ENC_LITTLE_ENDIAN, &update_type);
15947 if (update_type == RAID_TARGET_UPDATE_TYPE_FULL) {
15948 for (uint32_t i1 = 0; i1 < 8; ++i1) {
15949 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "RaidTargetUpdate %i", i1);
15950 ptvcursor_add(ptv, hf_woww_raid_target_index, 1, ENC_LITTLE_ENDIAN);
15951 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
15952 ptvcursor_pop_subtree(ptv);
15955 else if (update_type == RAID_TARGET_UPDATE_TYPE_PARTIAL) {
15956 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "RaidTargetUpdate");
15957 ptvcursor_add(ptv, hf_woww_raid_target_index, 1, ENC_LITTLE_ENDIAN);
15958 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
15959 ptvcursor_pop_subtree(ptv);
15962 else {
15963 ptvcursor_add_ret_uint(ptv, hf_woww_raid_target_index, 1, ENC_LITTLE_ENDIAN, &target_index);
15964 if (target_index != RAID_TARGET_INDEX_REQUEST_ICONS) {
15965 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
15968 break;
15969 case MSG_RANDOM_ROLL:
15970 if (WOWW_SERVER_TO_CLIENT) {
15971 ptvcursor_add(ptv, hf_woww_minimum, 4, ENC_LITTLE_ENDIAN);
15972 ptvcursor_add(ptv, hf_woww_maximum, 4, ENC_LITTLE_ENDIAN);
15973 ptvcursor_add(ptv, hf_woww_actual_roll, 4, ENC_LITTLE_ENDIAN);
15974 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
15976 else {
15977 ptvcursor_add(ptv, hf_woww_minimum, 4, ENC_LITTLE_ENDIAN);
15978 ptvcursor_add(ptv, hf_woww_maximum, 4, ENC_LITTLE_ENDIAN);
15980 break;
15981 case MSG_SAVE_GUILD_EMBLEM:
15982 if (WOWW_SERVER_TO_CLIENT) {
15983 ptvcursor_add(ptv, hf_woww_guild_emblem_result, 4, ENC_LITTLE_ENDIAN);
15985 else {
15986 ptvcursor_add(ptv, hf_woww_vendor, 8, ENC_LITTLE_ENDIAN);
15987 ptvcursor_add(ptv, hf_woww_emblem_style, 4, ENC_LITTLE_ENDIAN);
15988 ptvcursor_add(ptv, hf_woww_emblem_color, 4, ENC_LITTLE_ENDIAN);
15989 ptvcursor_add(ptv, hf_woww_border_style, 4, ENC_LITTLE_ENDIAN);
15990 ptvcursor_add(ptv, hf_woww_border_color, 4, ENC_LITTLE_ENDIAN);
15991 ptvcursor_add(ptv, hf_woww_background_color, 4, ENC_LITTLE_ENDIAN);
15993 break;
15994 case MSG_TABARDVENDOR_ACTIVATE:
15995 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
15996 break;
15997 case MSG_TALENT_WIPE_CONFIRM:
15998 if (WOWW_SERVER_TO_CLIENT) {
15999 ptvcursor_add(ptv, hf_woww_wiping_npc, 8, ENC_LITTLE_ENDIAN);
16000 ptvcursor_add(ptv, hf_woww_cost_in_copper, 4, ENC_LITTLE_ENDIAN);
16002 else {
16003 ptvcursor_add(ptv, hf_woww_wiping_npc, 8, ENC_LITTLE_ENDIAN);
16005 break;
16006 case SMSG_ACCOUNT_DATA_TIMES:
16007 for (uint32_t i1 = 0; i1 < 32; ++i1) {
16008 ptvcursor_add(ptv, hf_woww_data, 4, ENC_LITTLE_ENDIAN);
16010 break;
16011 case SMSG_ACTION_BUTTONS:
16012 for (uint32_t i1 = 0; i1 < 120; ++i1) {
16013 ptvcursor_add(ptv, hf_woww_data, 4, ENC_LITTLE_ENDIAN);
16015 break;
16016 case SMSG_ACTIVATETAXIREPLY:
16017 ptvcursor_add(ptv, hf_woww_activate_taxi_reply, 4, ENC_LITTLE_ENDIAN);
16018 break;
16019 case SMSG_ADDON_INFO:
16020 while (ptvcursor_current_offset(ptv) < offset_packet_end) {
16021 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Addon");
16022 ptvcursor_add(ptv, hf_woww_addon_type, 1, ENC_LITTLE_ENDIAN);
16023 ptvcursor_add_ret_uint(ptv, hf_woww_info_block, 1, ENC_LITTLE_ENDIAN, &info_block);
16024 if (info_block == INFO_BLOCK_AVAILABLE) {
16025 ptvcursor_add_ret_uint(ptv, hf_woww_key_version, 1, ENC_LITTLE_ENDIAN, &key_version);
16026 if (key_version != KEY_VERSION_ZERO) {
16027 ptvcursor_add(ptv, hf_woww_public_key, 256, ENC_NA);
16029 ptvcursor_add(ptv, hf_woww_update_available_flag, 4, ENC_LITTLE_ENDIAN);
16031 ptvcursor_add_ret_uint(ptv, hf_woww_url_info, 1, ENC_LITTLE_ENDIAN, &url_info);
16032 if (url_info == URL_INFO_AVAILABLE) {
16033 add_cstring(ptv, &hf_woww_url);
16035 ptvcursor_pop_subtree(ptv);
16037 break;
16038 case SMSG_AI_REACTION:
16039 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16040 ptvcursor_add(ptv, hf_woww_ai_reaction, 4, ENC_LITTLE_ENDIAN);
16041 break;
16042 case SMSG_AREA_SPIRIT_HEALER_TIME:
16043 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16044 ptvcursor_add(ptv, hf_woww_next_resurrect_time, 4, ENC_LITTLE_ENDIAN);
16045 break;
16046 case SMSG_AREA_TRIGGER_MESSAGE:
16047 add_sized_cstring(ptv, &hf_woww_message);
16048 break;
16049 case SMSG_ATTACKERSTATEUPDATE:
16050 ptvcursor_add(ptv, hf_woww_hit_info, 4, ENC_LITTLE_ENDIAN);
16051 add_packed_guid(ptv, pinfo);
16052 add_packed_guid(ptv, pinfo);
16053 ptvcursor_add(ptv, hf_woww_total_damage, 4, ENC_LITTLE_ENDIAN);
16054 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_damages, 1, ENC_LITTLE_ENDIAN, &amount_of_damages);
16055 for (uint32_t i1 = 0; i1 < amount_of_damages; ++i1) {
16056 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "DamageInfo %i", i1);
16057 ptvcursor_add(ptv, hf_woww_spell_school_mask, 4, ENC_LITTLE_ENDIAN);
16058 ptvcursor_add(ptv, hf_woww_damage_float, 4, ENC_LITTLE_ENDIAN);
16059 ptvcursor_add(ptv, hf_woww_damage_uint, 4, ENC_LITTLE_ENDIAN);
16060 ptvcursor_add(ptv, hf_woww_absorb, 4, ENC_LITTLE_ENDIAN);
16061 ptvcursor_add(ptv, hf_woww_resist, 4, ENC_LITTLE_ENDIAN);
16062 ptvcursor_pop_subtree(ptv);
16064 ptvcursor_add(ptv, hf_woww_damage_state, 4, ENC_LITTLE_ENDIAN);
16065 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
16066 ptvcursor_add(ptv, hf_woww_spell_id, 4, ENC_LITTLE_ENDIAN);
16067 ptvcursor_add(ptv, hf_woww_blocked_amount, 4, ENC_LITTLE_ENDIAN);
16068 break;
16069 case SMSG_ATTACKSTART:
16070 ptvcursor_add(ptv, hf_woww_attacker, 8, ENC_LITTLE_ENDIAN);
16071 ptvcursor_add(ptv, hf_woww_victim, 8, ENC_LITTLE_ENDIAN);
16072 break;
16073 case SMSG_ATTACKSTOP:
16074 add_packed_guid(ptv, pinfo);
16075 add_packed_guid(ptv, pinfo);
16076 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
16077 break;
16078 case SMSG_AUCTION_BIDDER_LIST_RESULT:
16079 ptvcursor_add_ret_uint(ptv, hf_woww_count, 4, ENC_LITTLE_ENDIAN, &count);
16080 for (uint32_t i1 = 0; i1 < count; ++i1) {
16081 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "AuctionListItem %i", i1);
16082 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16083 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
16084 ptvcursor_add(ptv, hf_woww_item_enchantment, 4, ENC_LITTLE_ENDIAN);
16085 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
16086 ptvcursor_add(ptv, hf_woww_item_suffix_factor, 4, ENC_LITTLE_ENDIAN);
16087 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
16088 ptvcursor_add(ptv, hf_woww_item_charges, 4, ENC_LITTLE_ENDIAN);
16089 ptvcursor_add(ptv, hf_woww_item_owner, 8, ENC_LITTLE_ENDIAN);
16090 ptvcursor_add(ptv, hf_woww_start_bid, 4, ENC_LITTLE_ENDIAN);
16091 ptvcursor_add(ptv, hf_woww_minimum_bid, 4, ENC_LITTLE_ENDIAN);
16092 ptvcursor_add(ptv, hf_woww_buyout_amount, 4, ENC_LITTLE_ENDIAN);
16093 ptvcursor_add(ptv, hf_woww_time_left, 4, ENC_LITTLE_ENDIAN);
16094 ptvcursor_add(ptv, hf_woww_highest_bidder, 8, ENC_LITTLE_ENDIAN);
16095 ptvcursor_add(ptv, hf_woww_highest_bid, 4, ENC_LITTLE_ENDIAN);
16096 ptvcursor_pop_subtree(ptv);
16098 ptvcursor_add(ptv, hf_woww_total_amount_of_auctions, 4, ENC_LITTLE_ENDIAN);
16099 break;
16100 case SMSG_AUCTION_BIDDER_NOTIFICATION:
16101 ptvcursor_add(ptv, hf_woww_auction_house, 4, ENC_LITTLE_ENDIAN);
16102 ptvcursor_add(ptv, hf_woww_auction_id, 4, ENC_LITTLE_ENDIAN);
16103 ptvcursor_add(ptv, hf_woww_bidder, 8, ENC_LITTLE_ENDIAN);
16104 ptvcursor_add(ptv, hf_woww_won, 4, ENC_LITTLE_ENDIAN);
16105 ptvcursor_add(ptv, hf_woww_out_bid, 4, ENC_LITTLE_ENDIAN);
16106 ptvcursor_add(ptv, hf_woww_item_template, 4, ENC_LITTLE_ENDIAN);
16107 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
16108 break;
16109 case SMSG_AUCTION_COMMAND_RESULT:
16110 ptvcursor_add(ptv, hf_woww_auction_id, 4, ENC_LITTLE_ENDIAN);
16111 ptvcursor_add_ret_uint(ptv, hf_woww_auction_command_action, 4, ENC_LITTLE_ENDIAN, &action);
16112 if (action == AUCTION_COMMAND_ACTION_BID_PLACED) {
16113 ptvcursor_add_ret_uint(ptv, hf_woww_auction_command_result, 4, ENC_LITTLE_ENDIAN, &result);
16114 if (result == AUCTION_COMMAND_RESULT_OK) {
16115 ptvcursor_add(ptv, hf_woww_auction_outbid, 4, ENC_LITTLE_ENDIAN);
16117 else if (result == AUCTION_COMMAND_RESULT_ERR_INVENTORY) {
16118 ptvcursor_add(ptv, hf_woww_inventory_result, 1, ENC_LITTLE_ENDIAN);
16120 else if (result == AUCTION_COMMAND_RESULT_ERR_HIGHER_BID) {
16121 ptvcursor_add(ptv, hf_woww_higher_bidder, 8, ENC_LITTLE_ENDIAN);
16122 ptvcursor_add(ptv, hf_woww_new_bid, 4, ENC_LITTLE_ENDIAN);
16123 ptvcursor_add(ptv, hf_woww_auction_outbid, 4, ENC_LITTLE_ENDIAN);
16126 else {
16127 ptvcursor_add_ret_uint(ptv, hf_woww_auction_command_result_two, 4, ENC_LITTLE_ENDIAN, &result2);
16128 if (result2 == AUCTION_COMMAND_RESULT_TWO_ERR_INVENTORY) {
16129 ptvcursor_add(ptv, hf_woww_inventory_result, 1, ENC_LITTLE_ENDIAN);
16131 else if (result2 == AUCTION_COMMAND_RESULT_TWO_ERR_HIGHER_BID) {
16132 ptvcursor_add(ptv, hf_woww_higher_bidder, 8, ENC_LITTLE_ENDIAN);
16133 ptvcursor_add(ptv, hf_woww_new_bid, 4, ENC_LITTLE_ENDIAN);
16134 ptvcursor_add(ptv, hf_woww_auction_outbid, 4, ENC_LITTLE_ENDIAN);
16137 break;
16138 case SMSG_AUCTION_LIST_RESULT:
16139 ptvcursor_add_ret_uint(ptv, hf_woww_count, 4, ENC_LITTLE_ENDIAN, &count);
16140 for (uint32_t i1 = 0; i1 < count; ++i1) {
16141 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "AuctionListItem %i", i1);
16142 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16143 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
16144 ptvcursor_add(ptv, hf_woww_item_enchantment, 4, ENC_LITTLE_ENDIAN);
16145 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
16146 ptvcursor_add(ptv, hf_woww_item_suffix_factor, 4, ENC_LITTLE_ENDIAN);
16147 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
16148 ptvcursor_add(ptv, hf_woww_item_charges, 4, ENC_LITTLE_ENDIAN);
16149 ptvcursor_add(ptv, hf_woww_item_owner, 8, ENC_LITTLE_ENDIAN);
16150 ptvcursor_add(ptv, hf_woww_start_bid, 4, ENC_LITTLE_ENDIAN);
16151 ptvcursor_add(ptv, hf_woww_minimum_bid, 4, ENC_LITTLE_ENDIAN);
16152 ptvcursor_add(ptv, hf_woww_buyout_amount, 4, ENC_LITTLE_ENDIAN);
16153 ptvcursor_add(ptv, hf_woww_time_left, 4, ENC_LITTLE_ENDIAN);
16154 ptvcursor_add(ptv, hf_woww_highest_bidder, 8, ENC_LITTLE_ENDIAN);
16155 ptvcursor_add(ptv, hf_woww_highest_bid, 4, ENC_LITTLE_ENDIAN);
16156 ptvcursor_pop_subtree(ptv);
16158 ptvcursor_add(ptv, hf_woww_total_amount_of_auctions, 4, ENC_LITTLE_ENDIAN);
16159 break;
16160 case SMSG_AUCTION_OWNER_LIST_RESULT:
16161 ptvcursor_add_ret_uint(ptv, hf_woww_count, 4, ENC_LITTLE_ENDIAN, &count);
16162 for (uint32_t i1 = 0; i1 < count; ++i1) {
16163 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "AuctionListItem %i", i1);
16164 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16165 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
16166 ptvcursor_add(ptv, hf_woww_item_enchantment, 4, ENC_LITTLE_ENDIAN);
16167 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
16168 ptvcursor_add(ptv, hf_woww_item_suffix_factor, 4, ENC_LITTLE_ENDIAN);
16169 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
16170 ptvcursor_add(ptv, hf_woww_item_charges, 4, ENC_LITTLE_ENDIAN);
16171 ptvcursor_add(ptv, hf_woww_item_owner, 8, ENC_LITTLE_ENDIAN);
16172 ptvcursor_add(ptv, hf_woww_start_bid, 4, ENC_LITTLE_ENDIAN);
16173 ptvcursor_add(ptv, hf_woww_minimum_bid, 4, ENC_LITTLE_ENDIAN);
16174 ptvcursor_add(ptv, hf_woww_buyout_amount, 4, ENC_LITTLE_ENDIAN);
16175 ptvcursor_add(ptv, hf_woww_time_left, 4, ENC_LITTLE_ENDIAN);
16176 ptvcursor_add(ptv, hf_woww_highest_bidder, 8, ENC_LITTLE_ENDIAN);
16177 ptvcursor_add(ptv, hf_woww_highest_bid, 4, ENC_LITTLE_ENDIAN);
16178 ptvcursor_pop_subtree(ptv);
16180 ptvcursor_add(ptv, hf_woww_total_amount_of_auctions, 4, ENC_LITTLE_ENDIAN);
16181 break;
16182 case SMSG_AUCTION_OWNER_NOTIFICATION:
16183 ptvcursor_add(ptv, hf_woww_auction_id, 4, ENC_LITTLE_ENDIAN);
16184 ptvcursor_add(ptv, hf_woww_bid, 4, ENC_LITTLE_ENDIAN);
16185 ptvcursor_add(ptv, hf_woww_auction_out_bid, 4, ENC_LITTLE_ENDIAN);
16186 ptvcursor_add(ptv, hf_woww_bidder, 8, ENC_LITTLE_ENDIAN);
16187 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
16188 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
16189 break;
16190 case SMSG_AUCTION_REMOVED_NOTIFICATION:
16191 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
16192 ptvcursor_add(ptv, hf_woww_item_template, 4, ENC_LITTLE_ENDIAN);
16193 ptvcursor_add(ptv, hf_woww_random_property_id, 4, ENC_LITTLE_ENDIAN);
16194 break;
16195 case SMSG_AUTH_CHALLENGE:
16196 ptvcursor_add(ptv, hf_woww_server_seed, 4, ENC_LITTLE_ENDIAN);
16197 break;
16198 case SMSG_AUTH_RESPONSE:
16199 ptvcursor_add_ret_uint(ptv, hf_woww_world_result, 1, ENC_LITTLE_ENDIAN, &result);
16200 if (result == WORLD_RESULT_AUTH_OK) {
16201 ptvcursor_add(ptv, hf_woww_billing_time, 4, ENC_LITTLE_ENDIAN);
16202 ptvcursor_add(ptv, hf_woww_billing_flags, 1, ENC_LITTLE_ENDIAN);
16203 ptvcursor_add(ptv, hf_woww_billing_rested, 4, ENC_LITTLE_ENDIAN);
16205 else if (result == WORLD_RESULT_AUTH_WAIT_QUEUE) {
16206 ptvcursor_add(ptv, hf_woww_queue_position, 4, ENC_LITTLE_ENDIAN);
16208 break;
16209 case SMSG_BATTLEFIELD_LIST:
16210 ptvcursor_add(ptv, hf_woww_battlemaster, 8, ENC_LITTLE_ENDIAN);
16211 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
16212 ptvcursor_add(ptv, hf_woww_battleground_bracket, 1, ENC_LITTLE_ENDIAN);
16213 ptvcursor_add_ret_uint(ptv, hf_woww_number_of_battlegrounds, 4, ENC_LITTLE_ENDIAN, &number_of_battlegrounds);
16214 for (uint32_t i1 = 0; i1 < number_of_battlegrounds; ++i1) {
16215 ptvcursor_add(ptv, hf_woww_battlegrounds, 4, ENC_LITTLE_ENDIAN);
16217 break;
16218 case SMSG_BATTLEFIELD_STATUS:
16219 ptvcursor_add(ptv, hf_woww_queue_slot, 4, ENC_LITTLE_ENDIAN);
16220 ptvcursor_add_ret_uint(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN, &map);
16221 if (map != MAP_EASTERN_KINGDOMS) {
16222 ptvcursor_add(ptv, hf_woww_battleground_bracket, 1, ENC_LITTLE_ENDIAN);
16223 ptvcursor_add(ptv, hf_woww_client_instance_id, 4, ENC_LITTLE_ENDIAN);
16224 ptvcursor_add_ret_uint(ptv, hf_woww_status_id, 1, ENC_LITTLE_ENDIAN, &status_id);
16225 if (status_id == STATUS_ID_WAIT_QUEUE) {
16226 ptvcursor_add(ptv, hf_woww_average_wait_time_in_ms, 4, ENC_LITTLE_ENDIAN);
16227 ptvcursor_add(ptv, hf_woww_time_in_queue_in_ms, 4, ENC_LITTLE_ENDIAN);
16229 else if (status_id == STATUS_ID_WAIT_JOIN) {
16230 ptvcursor_add(ptv, hf_woww_time_to_remove_in_queue_in_ms, 4, ENC_LITTLE_ENDIAN);
16232 else if (status_id == STATUS_ID_IN_PROGRESS) {
16233 ptvcursor_add(ptv, hf_woww_time_to_bg_autoleave_in_ms, 4, ENC_LITTLE_ENDIAN);
16234 ptvcursor_add(ptv, hf_woww_time_to_bg_start_in_ms, 4, ENC_LITTLE_ENDIAN);
16237 break;
16238 case SMSG_BATTLEGROUND_PLAYER_JOINED:
16239 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
16240 break;
16241 case SMSG_BATTLEGROUND_PLAYER_LEFT:
16242 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16243 break;
16244 case SMSG_BINDER_CONFIRM:
16245 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16246 break;
16247 case SMSG_BINDPOINTUPDATE:
16248 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16249 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16250 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16251 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16252 ptvcursor_pop_subtree(ptv);
16253 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
16254 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
16255 break;
16256 case SMSG_BUY_BANK_SLOT_RESULT:
16257 ptvcursor_add(ptv, hf_woww_buy_bank_slot_result, 4, ENC_LITTLE_ENDIAN);
16258 break;
16259 case SMSG_BUY_FAILED:
16260 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16261 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
16262 ptvcursor_add(ptv, hf_woww_buy_result, 1, ENC_LITTLE_ENDIAN);
16263 break;
16264 case SMSG_BUY_ITEM:
16265 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16266 ptvcursor_add(ptv, hf_woww_vendor_slot, 4, ENC_LITTLE_ENDIAN);
16267 ptvcursor_add(ptv, hf_woww_amount_for_sale, 4, ENC_LITTLE_ENDIAN);
16268 ptvcursor_add(ptv, hf_woww_amount_bought, 4, ENC_LITTLE_ENDIAN);
16269 break;
16270 case SMSG_CAST_RESULT:
16271 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
16272 ptvcursor_add_ret_uint(ptv, hf_woww_simple_spell_cast_result, 1, ENC_LITTLE_ENDIAN, &result);
16273 if (result != SIMPLE_SPELL_CAST_RESULT_FAILURE) {
16274 ptvcursor_add_ret_uint(ptv, hf_woww_cast_failure_reason, 1, ENC_LITTLE_ENDIAN, &reason);
16275 if (reason == CAST_FAILURE_REASON_REQUIRES_SPELL_FOCUS) {
16276 ptvcursor_add(ptv, hf_woww_required_spell_focus, 4, ENC_LITTLE_ENDIAN);
16278 else if (reason == CAST_FAILURE_REASON_REQUIRES_AREA) {
16279 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
16281 else if (reason == CAST_FAILURE_REASON_EQUIPPED_ITEM_CLASS) {
16282 ptvcursor_add(ptv, hf_woww_equipped_item_class, 4, ENC_LITTLE_ENDIAN);
16283 ptvcursor_add(ptv, hf_woww_equipped_item_subclass_mask, 4, ENC_LITTLE_ENDIAN);
16284 ptvcursor_add(ptv, hf_woww_equipped_item_inventory_type_mask, 4, ENC_LITTLE_ENDIAN);
16287 break;
16288 case SMSG_CHANNEL_LIST:
16289 add_cstring(ptv, &hf_woww_channel_name);
16290 ptvcursor_add(ptv, hf_woww_channel_flags, 1, ENC_LITTLE_ENDIAN);
16291 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_members, 4, ENC_LITTLE_ENDIAN, &amount_of_members);
16292 for (uint32_t i1 = 0; i1 < amount_of_members; ++i1) {
16293 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "ChannelMember %i", i1);
16294 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16295 ptvcursor_add(ptv, hf_woww_channel_member_flags, 1, ENC_LITTLE_ENDIAN);
16296 ptvcursor_pop_subtree(ptv);
16298 break;
16299 case SMSG_CHANNEL_NOTIFY:
16300 ptvcursor_add(ptv, hf_woww_chat_notify, 1, ENC_LITTLE_ENDIAN);
16301 add_cstring(ptv, &hf_woww_channel_name);
16302 break;
16303 case SMSG_CHARACTER_LOGIN_FAILED:
16304 ptvcursor_add(ptv, hf_woww_world_result, 1, ENC_LITTLE_ENDIAN);
16305 break;
16306 case SMSG_CHAR_CREATE:
16307 ptvcursor_add(ptv, hf_woww_world_result, 1, ENC_LITTLE_ENDIAN);
16308 break;
16309 case SMSG_CHAR_DELETE:
16310 ptvcursor_add(ptv, hf_woww_world_result, 1, ENC_LITTLE_ENDIAN);
16311 break;
16312 case SMSG_CHAR_ENUM:
16313 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_characters, 1, ENC_LITTLE_ENDIAN, &amount_of_characters);
16314 for (uint32_t i1 = 0; i1 < amount_of_characters; ++i1) {
16315 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Character %i", i1);
16316 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16317 add_cstring(ptv, &hf_woww_name);
16318 ptvcursor_add(ptv, hf_woww_race, 1, ENC_LITTLE_ENDIAN);
16319 ptvcursor_add(ptv, hf_woww_class, 1, ENC_LITTLE_ENDIAN);
16320 ptvcursor_add(ptv, hf_woww_gender, 1, ENC_LITTLE_ENDIAN);
16321 ptvcursor_add(ptv, hf_woww_skin, 1, ENC_LITTLE_ENDIAN);
16322 ptvcursor_add(ptv, hf_woww_face, 1, ENC_LITTLE_ENDIAN);
16323 ptvcursor_add(ptv, hf_woww_hair_style, 1, ENC_LITTLE_ENDIAN);
16324 ptvcursor_add(ptv, hf_woww_hair_color, 1, ENC_LITTLE_ENDIAN);
16325 ptvcursor_add(ptv, hf_woww_facial_hair, 1, ENC_LITTLE_ENDIAN);
16326 ptvcursor_add(ptv, hf_woww_level, 1, ENC_LITTLE_ENDIAN);
16327 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
16328 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
16329 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16330 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16331 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16332 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16333 ptvcursor_pop_subtree(ptv);
16334 ptvcursor_add(ptv, hf_woww_guild_id, 4, ENC_LITTLE_ENDIAN);
16335 ptvcursor_add(ptv, hf_woww_character_flags, 4, ENC_LITTLE_ENDIAN);
16336 ptvcursor_add(ptv, hf_woww_first_login, 1, ENC_NA);
16337 ptvcursor_add(ptv, hf_woww_pet_display_id, 4, ENC_LITTLE_ENDIAN);
16338 ptvcursor_add(ptv, hf_woww_pet_level, 4, ENC_LITTLE_ENDIAN);
16339 ptvcursor_add(ptv, hf_woww_creature_family, 4, ENC_LITTLE_ENDIAN);
16340 for (uint32_t i2 = 0; i2 < 19; ++i2) {
16341 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "CharacterGear %i", i2);
16342 ptvcursor_add(ptv, hf_woww_equipment_display_id, 4, ENC_LITTLE_ENDIAN);
16343 ptvcursor_add(ptv, hf_woww_inventory_type, 1, ENC_LITTLE_ENDIAN);
16344 ptvcursor_pop_subtree(ptv);
16346 ptvcursor_add(ptv, hf_woww_first_bag_display_id, 4, ENC_LITTLE_ENDIAN);
16347 ptvcursor_add(ptv, hf_woww_first_bag_inventory_id, 1, ENC_LITTLE_ENDIAN);
16348 ptvcursor_pop_subtree(ptv);
16350 break;
16351 case SMSG_CHAR_RENAME:
16352 ptvcursor_add_ret_uint(ptv, hf_woww_world_result, 1, ENC_LITTLE_ENDIAN, &result);
16353 if (result == WORLD_RESULT_RESPONSE_SUCCESS) {
16354 ptvcursor_add(ptv, hf_woww_character_guid, 8, ENC_LITTLE_ENDIAN);
16355 add_cstring(ptv, &hf_woww_new_name);
16357 break;
16358 case SMSG_CHAT_PLAYER_NOT_FOUND:
16359 add_cstring(ptv, &hf_woww_name);
16360 break;
16361 case SMSG_CLEAR_COOLDOWN:
16362 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16363 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16364 break;
16365 case SMSG_CLIENT_CONTROL_UPDATE:
16366 add_packed_guid(ptv, pinfo);
16367 ptvcursor_add(ptv, hf_woww_allow_movement, 1, ENC_NA);
16368 break;
16369 case SMSG_COMPRESSED_MOVES:
16370 ptvcursor_add(ptv, hf_woww_decompressed_size, 4, ENC_LITTLE_ENDIAN);
16371 compressed_tvb = tvb_uncompress_zlib(ptvcursor_tvbuff(ptv), ptvcursor_current_offset(ptv), offset_packet_end - ptvcursor_current_offset(ptv));
16372 if (compressed_tvb != NULL) {
16373 ptvcursor_t* old_ptv = ptv;
16374 ptv = ptvcursor_new(wmem_packet_scope(), tree, compressed_tvb, 0);
16375 int compression_end = tvb_reported_length(compressed_tvb);
16376 while (ptvcursor_current_offset(ptv) < compression_end) {
16377 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "CompressedMove");
16378 ptvcursor_add(ptv, hf_woww_size_struct, 1, ENC_LITTLE_ENDIAN);
16379 ptvcursor_add_ret_uint(ptv, hf_woww_compressed_move_opcode, 2, ENC_LITTLE_ENDIAN, &opcode);
16380 add_packed_guid(ptv, pinfo);
16381 if (opcode == COMPRESSED_MOVE_OPCODE_SMSG_SPLINE_SET_RUN_SPEED) {
16382 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
16384 else if (opcode == COMPRESSED_MOVE_OPCODE_SMSG_MONSTER_MOVE) {
16385 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MonsterMove");
16386 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16387 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16388 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16389 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16390 ptvcursor_pop_subtree(ptv);
16391 ptvcursor_add(ptv, hf_woww_spline_id, 4, ENC_LITTLE_ENDIAN);
16392 ptvcursor_add_ret_uint(ptv, hf_woww_monster_move_type, 1, ENC_LITTLE_ENDIAN, &move_type);
16393 if (move_type == MONSTER_MOVE_TYPE_FACING_TARGET) {
16394 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16396 else if (move_type == MONSTER_MOVE_TYPE_FACING_ANGLE) {
16397 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
16399 else if (move_type == MONSTER_MOVE_TYPE_FACING_SPOT) {
16400 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16401 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16402 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16403 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16404 ptvcursor_pop_subtree(ptv);
16406 if (move_type != MONSTER_MOVE_TYPE_STOP) {
16407 ptvcursor_add(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN);
16408 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
16409 add_monster_move_spline(ptv);
16411 ptvcursor_pop_subtree(ptv);
16413 else if (opcode == COMPRESSED_MOVE_OPCODE_SMSG_MONSTER_MOVE_TRANSPORT) {
16414 add_packed_guid(ptv, pinfo);
16415 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MonsterMove");
16416 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16417 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16418 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16419 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16420 ptvcursor_pop_subtree(ptv);
16421 ptvcursor_add(ptv, hf_woww_spline_id, 4, ENC_LITTLE_ENDIAN);
16422 ptvcursor_add_ret_uint(ptv, hf_woww_monster_move_type, 1, ENC_LITTLE_ENDIAN, &move_type);
16423 if (move_type == MONSTER_MOVE_TYPE_FACING_TARGET) {
16424 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16426 else if (move_type == MONSTER_MOVE_TYPE_FACING_ANGLE) {
16427 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
16429 else if (move_type == MONSTER_MOVE_TYPE_FACING_SPOT) {
16430 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16431 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16432 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16433 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16434 ptvcursor_pop_subtree(ptv);
16436 if (move_type != MONSTER_MOVE_TYPE_STOP) {
16437 ptvcursor_add(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN);
16438 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
16439 add_monster_move_spline(ptv);
16441 ptvcursor_pop_subtree(ptv);
16443 ptvcursor_pop_subtree(ptv);
16445 ptvcursor_free(ptv);
16446 ptv = old_ptv;
16447 compressed_tvb = NULL;
16449 break;
16450 case SMSG_COMPRESSED_UPDATE_OBJECT:
16451 ptvcursor_add(ptv, hf_woww_decompressed_size, 4, ENC_LITTLE_ENDIAN);
16452 compressed_tvb = tvb_uncompress_zlib(ptvcursor_tvbuff(ptv), ptvcursor_current_offset(ptv), offset_packet_end - ptvcursor_current_offset(ptv));
16453 if (compressed_tvb != NULL) {
16454 ptvcursor_t* old_ptv = ptv;
16455 ptv = ptvcursor_new(wmem_packet_scope(), tree, compressed_tvb, 0);
16456 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_objects, 4, ENC_LITTLE_ENDIAN, &amount_of_objects);
16457 ptvcursor_add(ptv, hf_woww_has_transport, 1, ENC_LITTLE_ENDIAN);
16458 for (uint32_t i1 = 0; i1 < amount_of_objects; ++i1) {
16459 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Object %i", i1);
16460 ptvcursor_add_ret_uint(ptv, hf_woww_update_type, 1, ENC_LITTLE_ENDIAN, &update_type);
16461 if (update_type == UPDATE_TYPE_VALUES) {
16462 add_packed_guid(ptv, pinfo);
16463 add_update_mask(ptv, pinfo);
16465 else if (update_type == UPDATE_TYPE_MOVEMENT) {
16466 add_packed_guid(ptv, pinfo);
16467 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementBlock");
16468 ptvcursor_add_ret_uint(ptv, hf_woww_update_flag, 1, ENC_LITTLE_ENDIAN, &update_flag);
16469 if (update_flag & UPDATE_FLAG_LIVING) {
16470 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
16471 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
16472 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16473 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16474 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16475 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16476 ptvcursor_pop_subtree(ptv);
16477 ptvcursor_add(ptv, hf_woww_living_orientation, 4, ENC_LITTLE_ENDIAN);
16478 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
16479 add_packed_guid(ptv, pinfo);
16480 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16481 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16482 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16483 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16484 ptvcursor_pop_subtree(ptv);
16485 ptvcursor_add(ptv, hf_woww_transport_orientation, 4, ENC_LITTLE_ENDIAN);
16487 if (flags & MOVEMENT_FLAGS_SWIMMING) {
16488 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
16490 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
16491 if (flags & MOVEMENT_FLAGS_JUMPING) {
16492 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
16493 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
16494 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
16495 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
16497 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
16498 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
16500 ptvcursor_add(ptv, hf_woww_walking_speed, 4, ENC_LITTLE_ENDIAN);
16501 ptvcursor_add(ptv, hf_woww_running_speed, 4, ENC_LITTLE_ENDIAN);
16502 ptvcursor_add(ptv, hf_woww_backwards_running_speed, 4, ENC_LITTLE_ENDIAN);
16503 ptvcursor_add(ptv, hf_woww_swimming_speed, 4, ENC_LITTLE_ENDIAN);
16504 ptvcursor_add(ptv, hf_woww_backwards_swimming_speed, 4, ENC_LITTLE_ENDIAN);
16505 ptvcursor_add(ptv, hf_woww_turn_rate, 4, ENC_LITTLE_ENDIAN);
16506 if (flags & MOVEMENT_FLAGS_SPLINE_ENABLED) {
16507 ptvcursor_add_ret_uint(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN, &spline_flags);
16508 if (spline_flags & SPLINE_FLAG_FINAL_ANGLE) {
16509 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
16511 else if (spline_flags & SPLINE_FLAG_FINAL_TARGET) {
16512 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16514 else if (spline_flags & SPLINE_FLAG_FINAL_POINT) {
16515 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16516 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16517 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16518 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16519 ptvcursor_pop_subtree(ptv);
16521 ptvcursor_add(ptv, hf_woww_time_passed, 4, ENC_LITTLE_ENDIAN);
16522 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
16523 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16524 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_nodes, 4, ENC_LITTLE_ENDIAN, &amount_of_nodes);
16525 for (uint32_t i2 = 0; i2 < amount_of_nodes; ++i2) {
16526 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d %i", i2);
16527 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16528 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16529 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16530 ptvcursor_pop_subtree(ptv);
16532 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16533 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16534 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16535 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16536 ptvcursor_pop_subtree(ptv);
16539 else if (update_flag & UPDATE_FLAG_HAS_POSITION) {
16540 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16541 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16542 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16543 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16544 ptvcursor_pop_subtree(ptv);
16545 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
16547 if (update_flag & UPDATE_FLAG_HIGH_GUID) {
16548 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
16550 if (update_flag & UPDATE_FLAG_ALL) {
16551 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
16553 if (update_flag & UPDATE_FLAG_MELEE_ATTACKING) {
16554 add_packed_guid(ptv, pinfo);
16556 if (update_flag & UPDATE_FLAG_TRANSPORT) {
16557 ptvcursor_add(ptv, hf_woww_transport_progress_in_ms, 4, ENC_LITTLE_ENDIAN);
16559 ptvcursor_pop_subtree(ptv);
16561 else if (update_type == UPDATE_TYPE_CREATE_OBJECT
16562 || update_type == UPDATE_TYPE_CREATE_OBJECT2) {
16563 add_packed_guid(ptv, pinfo);
16564 ptvcursor_add(ptv, hf_woww_object_type, 1, ENC_LITTLE_ENDIAN);
16565 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementBlock");
16566 ptvcursor_add_ret_uint(ptv, hf_woww_update_flag, 1, ENC_LITTLE_ENDIAN, &update_flag);
16567 if (update_flag & UPDATE_FLAG_LIVING) {
16568 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
16569 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
16570 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16571 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16572 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16573 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16574 ptvcursor_pop_subtree(ptv);
16575 ptvcursor_add(ptv, hf_woww_living_orientation, 4, ENC_LITTLE_ENDIAN);
16576 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
16577 add_packed_guid(ptv, pinfo);
16578 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16579 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16580 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16581 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16582 ptvcursor_pop_subtree(ptv);
16583 ptvcursor_add(ptv, hf_woww_transport_orientation, 4, ENC_LITTLE_ENDIAN);
16585 if (flags & MOVEMENT_FLAGS_SWIMMING) {
16586 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
16588 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
16589 if (flags & MOVEMENT_FLAGS_JUMPING) {
16590 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
16591 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
16592 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
16593 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
16595 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
16596 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
16598 ptvcursor_add(ptv, hf_woww_walking_speed, 4, ENC_LITTLE_ENDIAN);
16599 ptvcursor_add(ptv, hf_woww_running_speed, 4, ENC_LITTLE_ENDIAN);
16600 ptvcursor_add(ptv, hf_woww_backwards_running_speed, 4, ENC_LITTLE_ENDIAN);
16601 ptvcursor_add(ptv, hf_woww_swimming_speed, 4, ENC_LITTLE_ENDIAN);
16602 ptvcursor_add(ptv, hf_woww_backwards_swimming_speed, 4, ENC_LITTLE_ENDIAN);
16603 ptvcursor_add(ptv, hf_woww_turn_rate, 4, ENC_LITTLE_ENDIAN);
16604 if (flags & MOVEMENT_FLAGS_SPLINE_ENABLED) {
16605 ptvcursor_add_ret_uint(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN, &spline_flags);
16606 if (spline_flags & SPLINE_FLAG_FINAL_ANGLE) {
16607 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
16609 else if (spline_flags & SPLINE_FLAG_FINAL_TARGET) {
16610 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16612 else if (spline_flags & SPLINE_FLAG_FINAL_POINT) {
16613 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16614 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16615 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16616 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16617 ptvcursor_pop_subtree(ptv);
16619 ptvcursor_add(ptv, hf_woww_time_passed, 4, ENC_LITTLE_ENDIAN);
16620 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
16621 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16622 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_nodes, 4, ENC_LITTLE_ENDIAN, &amount_of_nodes);
16623 for (uint32_t i2 = 0; i2 < amount_of_nodes; ++i2) {
16624 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d %i", i2);
16625 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16626 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16627 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16628 ptvcursor_pop_subtree(ptv);
16630 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16631 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16632 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16633 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16634 ptvcursor_pop_subtree(ptv);
16637 else if (update_flag & UPDATE_FLAG_HAS_POSITION) {
16638 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
16639 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16640 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16641 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
16642 ptvcursor_pop_subtree(ptv);
16643 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
16645 if (update_flag & UPDATE_FLAG_HIGH_GUID) {
16646 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
16648 if (update_flag & UPDATE_FLAG_ALL) {
16649 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
16651 if (update_flag & UPDATE_FLAG_MELEE_ATTACKING) {
16652 add_packed_guid(ptv, pinfo);
16654 if (update_flag & UPDATE_FLAG_TRANSPORT) {
16655 ptvcursor_add(ptv, hf_woww_transport_progress_in_ms, 4, ENC_LITTLE_ENDIAN);
16657 ptvcursor_pop_subtree(ptv);
16658 add_update_mask(ptv, pinfo);
16660 else if (update_type == UPDATE_TYPE_OUT_OF_RANGE_OBJECTS
16661 || update_type == UPDATE_TYPE_NEAR_OBJECTS) {
16662 ptvcursor_add_ret_uint(ptv, hf_woww_count, 4, ENC_LITTLE_ENDIAN, &count);
16663 for (uint32_t i2 = 0; i2 < count; ++i2) {
16664 add_packed_guid(ptv, pinfo);
16667 ptvcursor_pop_subtree(ptv);
16669 ptvcursor_free(ptv);
16670 ptv = old_ptv;
16671 compressed_tvb = NULL;
16673 break;
16674 case SMSG_COOLDOWN_EVENT:
16675 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16676 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16677 break;
16678 case SMSG_CORPSE_RECLAIM_DELAY:
16679 ptvcursor_add(ptv, hf_woww_delay, 4, ENC_LITTLE_ENDIAN);
16680 break;
16681 case SMSG_CREATURE_QUERY_RESPONSE:
16682 ptvcursor_add(ptv, hf_woww_creature_entry, 4, ENC_LITTLE_ENDIAN);
16683 len = offset_packet_end - ptvcursor_current_offset(ptv);
16684 if (len > 0) {
16685 add_cstring(ptv, &hf_woww_name);
16686 add_cstring(ptv, &hf_woww_name);
16687 add_cstring(ptv, &hf_woww_name);
16688 add_cstring(ptv, &hf_woww_name);
16689 add_cstring(ptv, &hf_woww_sub_name);
16690 ptvcursor_add(ptv, hf_woww_type_flags, 4, ENC_LITTLE_ENDIAN);
16691 ptvcursor_add(ptv, hf_woww_creature_type, 4, ENC_LITTLE_ENDIAN);
16692 ptvcursor_add(ptv, hf_woww_creature_family, 4, ENC_LITTLE_ENDIAN);
16693 ptvcursor_add(ptv, hf_woww_creature_rank, 4, ENC_LITTLE_ENDIAN);
16694 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
16695 ptvcursor_add(ptv, hf_woww_spell_data_id, 4, ENC_LITTLE_ENDIAN);
16696 ptvcursor_add(ptv, hf_woww_display_id, 4, ENC_LITTLE_ENDIAN);
16697 ptvcursor_add(ptv, hf_woww_civilian, 1, ENC_LITTLE_ENDIAN);
16698 ptvcursor_add(ptv, hf_woww_racial_leader, 1, ENC_LITTLE_ENDIAN);
16700 break;
16701 case SMSG_DEFENSE_MESSAGE:
16702 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
16703 add_sized_cstring(ptv, &hf_woww_message);
16704 break;
16705 case SMSG_DESTROY_OBJECT:
16706 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16707 break;
16708 case SMSG_DISMOUNTRESULT:
16709 ptvcursor_add(ptv, hf_woww_dismount_result, 4, ENC_LITTLE_ENDIAN);
16710 break;
16711 case SMSG_DISPEL_FAILED:
16712 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
16713 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16714 while (ptvcursor_current_offset(ptv) < offset_packet_end) {
16715 ptvcursor_add(ptv, hf_woww_spells, 4, ENC_LITTLE_ENDIAN);
16717 break;
16718 case SMSG_DUEL_COMPLETE:
16719 ptvcursor_add(ptv, hf_woww_ended_without_interruption, 1, ENC_NA);
16720 break;
16721 case SMSG_DUEL_COUNTDOWN:
16722 ptvcursor_add(ptv, hf_woww_time, 4, ENC_LITTLE_ENDIAN);
16723 break;
16724 case SMSG_DUEL_REQUESTED:
16725 ptvcursor_add(ptv, hf_woww_initiator, 8, ENC_LITTLE_ENDIAN);
16726 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16727 break;
16728 case SMSG_DUEL_WINNER:
16729 ptvcursor_add(ptv, hf_woww_duel_winner_reason, 1, ENC_LITTLE_ENDIAN);
16730 add_cstring(ptv, &hf_woww_opponent_name);
16731 add_cstring(ptv, &hf_woww_initiator_name);
16732 break;
16733 case SMSG_EMOTE:
16734 ptvcursor_add(ptv, hf_woww_emote_enum, 4, ENC_LITTLE_ENDIAN);
16735 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16736 break;
16737 case SMSG_ENCHANTMENTLOG:
16738 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
16739 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
16740 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
16741 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
16742 ptvcursor_add(ptv, hf_woww_show_affiliation, 1, ENC_NA);
16743 break;
16744 case SMSG_ENVIRONMENTAL_DAMAGE_LOG:
16745 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16746 ptvcursor_add(ptv, hf_woww_environmental_damage_type, 1, ENC_LITTLE_ENDIAN);
16747 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
16748 ptvcursor_add(ptv, hf_woww_absorb, 4, ENC_LITTLE_ENDIAN);
16749 ptvcursor_add(ptv, hf_woww_resist, 4, ENC_LITTLE_ENDIAN);
16750 break;
16751 case SMSG_EXPECTED_SPAM_RECORDS:
16752 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_records, 4, ENC_LITTLE_ENDIAN, &amount_of_records);
16753 for (uint32_t i1 = 0; i1 < amount_of_records; ++i1) {
16754 add_cstring(ptv, &hf_woww_records);
16756 break;
16757 case SMSG_EXPLORATION_EXPERIENCE:
16758 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
16759 ptvcursor_add(ptv, hf_woww_experience, 4, ENC_LITTLE_ENDIAN);
16760 break;
16761 case SMSG_FORCE_MOVE_ROOT:
16762 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16763 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
16764 break;
16765 case SMSG_FORCE_MOVE_UNROOT:
16766 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16767 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
16768 break;
16769 case SMSG_FORCE_RUN_BACK_SPEED_CHANGE:
16770 add_packed_guid(ptv, pinfo);
16771 ptvcursor_add(ptv, hf_woww_move_event, 4, ENC_LITTLE_ENDIAN);
16772 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
16773 break;
16774 case SMSG_FORCE_RUN_SPEED_CHANGE:
16775 add_packed_guid(ptv, pinfo);
16776 ptvcursor_add(ptv, hf_woww_move_event, 4, ENC_LITTLE_ENDIAN);
16777 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
16778 break;
16779 case SMSG_FORCE_SWIM_BACK_SPEED_CHANGE:
16780 add_packed_guid(ptv, pinfo);
16781 ptvcursor_add(ptv, hf_woww_move_event, 4, ENC_LITTLE_ENDIAN);
16782 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
16783 break;
16784 case SMSG_FORCE_SWIM_SPEED_CHANGE:
16785 add_packed_guid(ptv, pinfo);
16786 ptvcursor_add(ptv, hf_woww_move_event, 4, ENC_LITTLE_ENDIAN);
16787 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
16788 break;
16789 case SMSG_FORCE_TURN_RATE_CHANGE:
16790 add_packed_guid(ptv, pinfo);
16791 ptvcursor_add(ptv, hf_woww_move_event, 4, ENC_LITTLE_ENDIAN);
16792 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
16793 break;
16794 case SMSG_FORCE_WALK_SPEED_CHANGE:
16795 add_packed_guid(ptv, pinfo);
16796 ptvcursor_add(ptv, hf_woww_move_event, 4, ENC_LITTLE_ENDIAN);
16797 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
16798 break;
16799 case SMSG_FRIEND_LIST:
16800 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_friends, 1, ENC_LITTLE_ENDIAN, &amount_of_friends);
16801 for (uint32_t i1 = 0; i1 < amount_of_friends; ++i1) {
16802 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Friend %i", i1);
16803 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16804 ptvcursor_add_ret_uint(ptv, hf_woww_friend_status, 1, ENC_LITTLE_ENDIAN, &status);
16805 if (status != FRIEND_STATUS_OFFLINE) {
16806 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
16807 ptvcursor_add(ptv, hf_woww_level, 4, ENC_LITTLE_ENDIAN);
16808 ptvcursor_add(ptv, hf_woww_class, 4, ENC_LITTLE_ENDIAN);
16810 ptvcursor_pop_subtree(ptv);
16812 break;
16813 case SMSG_FRIEND_STATUS:
16814 ptvcursor_add(ptv, hf_woww_friend_result, 1, ENC_LITTLE_ENDIAN);
16815 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16816 break;
16817 case SMSG_GAMEOBJECT_CUSTOM_ANIM:
16818 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16819 ptvcursor_add(ptv, hf_woww_animation_id, 4, ENC_LITTLE_ENDIAN);
16820 break;
16821 case SMSG_GAMEOBJECT_DESPAWN_ANIM:
16822 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16823 break;
16824 case SMSG_GAMEOBJECT_PAGETEXT:
16825 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16826 break;
16827 case SMSG_GAMEOBJECT_QUERY_RESPONSE:
16828 ptvcursor_add(ptv, hf_woww_entry_id, 4, ENC_LITTLE_ENDIAN);
16829 len = offset_packet_end - ptvcursor_current_offset(ptv);
16830 if (len > 0) {
16831 ptvcursor_add(ptv, hf_woww_info_type, 4, ENC_LITTLE_ENDIAN);
16832 ptvcursor_add(ptv, hf_woww_display_id, 4, ENC_LITTLE_ENDIAN);
16833 add_cstring(ptv, &hf_woww_name);
16834 add_cstring(ptv, &hf_woww_name);
16835 add_cstring(ptv, &hf_woww_name);
16836 add_cstring(ptv, &hf_woww_name);
16837 add_cstring(ptv, &hf_woww_name);
16838 for (uint32_t i1 = 0; i1 < 6; ++i1) {
16839 ptvcursor_add(ptv, hf_woww_raw_data, 4, ENC_LITTLE_ENDIAN);
16842 break;
16843 case SMSG_GAMEOBJECT_RESET_STATE:
16844 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16845 break;
16846 case SMSG_GAMEOBJECT_SPAWN_ANIM:
16847 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16848 break;
16849 case SMSG_GMTICKET_CREATE:
16850 ptvcursor_add(ptv, hf_woww_gm_ticket_response, 4, ENC_LITTLE_ENDIAN);
16851 break;
16852 case SMSG_GMTICKET_DELETETICKET:
16853 ptvcursor_add(ptv, hf_woww_gm_ticket_response, 4, ENC_LITTLE_ENDIAN);
16854 break;
16855 case SMSG_GMTICKET_GETTICKET:
16856 ptvcursor_add_ret_uint(ptv, hf_woww_gm_ticket_status, 4, ENC_LITTLE_ENDIAN, &status);
16857 if (status == GM_TICKET_STATUS_HAS_TEXT) {
16858 add_cstring(ptv, &hf_woww_text);
16859 ptvcursor_add(ptv, hf_woww_gm_ticket_type, 1, ENC_LITTLE_ENDIAN);
16860 ptvcursor_add(ptv, hf_woww_days_since_ticket_creation, 4, ENC_LITTLE_ENDIAN);
16861 ptvcursor_add(ptv, hf_woww_days_since_oldest_ticket_creation, 4, ENC_LITTLE_ENDIAN);
16862 ptvcursor_add(ptv, hf_woww_days_since_last_updated, 4, ENC_LITTLE_ENDIAN);
16863 ptvcursor_add(ptv, hf_woww_gm_ticket_escalation_status, 1, ENC_LITTLE_ENDIAN);
16864 ptvcursor_add(ptv, hf_woww_read_by_gm, 1, ENC_NA);
16866 break;
16867 case SMSG_GMTICKET_SYSTEMSTATUS:
16868 ptvcursor_add(ptv, hf_woww_gm_ticket_queue_status, 4, ENC_LITTLE_ENDIAN);
16869 break;
16870 case SMSG_GMTICKET_UPDATETEXT:
16871 ptvcursor_add(ptv, hf_woww_gm_ticket_response, 4, ENC_LITTLE_ENDIAN);
16872 break;
16873 case SMSG_GM_TICKET_STATUS_UPDATE:
16874 ptvcursor_add(ptv, hf_woww_gm_ticket_status_response, 4, ENC_LITTLE_ENDIAN);
16875 break;
16876 case SMSG_GOSSIP_MESSAGE:
16877 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16878 ptvcursor_add(ptv, hf_woww_title_text_id, 4, ENC_LITTLE_ENDIAN);
16879 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_gossip_items, 4, ENC_LITTLE_ENDIAN, &amount_of_gossip_items);
16880 for (uint32_t i1 = 0; i1 < amount_of_gossip_items; ++i1) {
16881 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "GossipItem %i", i1);
16882 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16883 ptvcursor_add(ptv, hf_woww_item_icon, 1, ENC_LITTLE_ENDIAN);
16884 ptvcursor_add(ptv, hf_woww_coded, 1, ENC_NA);
16885 add_cstring(ptv, &hf_woww_message);
16886 ptvcursor_pop_subtree(ptv);
16888 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_quests, 4, ENC_LITTLE_ENDIAN, &amount_of_quests);
16889 for (uint32_t i1 = 0; i1 < amount_of_quests; ++i1) {
16890 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItem %i", i1);
16891 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
16892 ptvcursor_add(ptv, hf_woww_quest_icon, 4, ENC_LITTLE_ENDIAN);
16893 ptvcursor_add(ptv, hf_woww_level, 4, ENC_LITTLE_ENDIAN);
16894 add_cstring(ptv, &hf_woww_title);
16895 ptvcursor_pop_subtree(ptv);
16897 break;
16898 case SMSG_GOSSIP_POI:
16899 ptvcursor_add(ptv, hf_woww_flags, 4, ENC_LITTLE_ENDIAN);
16900 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector2d");
16901 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
16902 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
16903 ptvcursor_pop_subtree(ptv);
16904 ptvcursor_add(ptv, hf_woww_icon, 4, ENC_LITTLE_ENDIAN);
16905 ptvcursor_add(ptv, hf_woww_data, 4, ENC_LITTLE_ENDIAN);
16906 add_cstring(ptv, &hf_woww_location_name);
16907 break;
16908 case SMSG_GROUP_DECLINE:
16909 add_cstring(ptv, &hf_woww_name);
16910 break;
16911 case SMSG_GROUP_INVITE:
16912 add_cstring(ptv, &hf_woww_name);
16913 break;
16914 case SMSG_GROUP_JOINED_BATTLEGROUND:
16915 ptvcursor_add(ptv, hf_woww_bg_type_id, 4, ENC_LITTLE_ENDIAN);
16916 break;
16917 case SMSG_GROUP_LIST:
16918 ptvcursor_add(ptv, hf_woww_group_type, 1, ENC_LITTLE_ENDIAN);
16919 ptvcursor_add(ptv, hf_woww_flags, 1, ENC_LITTLE_ENDIAN);
16920 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_members, 4, ENC_LITTLE_ENDIAN, &amount_of_members);
16921 for (uint32_t i1 = 0; i1 < amount_of_members; ++i1) {
16922 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "GroupListMember %i", i1);
16923 add_cstring(ptv, &hf_woww_name);
16924 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16925 ptvcursor_add(ptv, hf_woww_is_online, 1, ENC_NA);
16926 ptvcursor_add(ptv, hf_woww_flags, 1, ENC_LITTLE_ENDIAN);
16927 ptvcursor_pop_subtree(ptv);
16929 ptvcursor_add(ptv, hf_woww_leader, 8, ENC_LITTLE_ENDIAN);
16930 len = offset_packet_end - ptvcursor_current_offset(ptv);
16931 if (len > 0) {
16932 ptvcursor_add(ptv, hf_woww_group_loot_setting, 1, ENC_LITTLE_ENDIAN);
16933 ptvcursor_add(ptv, hf_woww_master_loot, 8, ENC_LITTLE_ENDIAN);
16934 ptvcursor_add(ptv, hf_woww_item_quality, 1, ENC_LITTLE_ENDIAN);
16936 break;
16937 case SMSG_GROUP_SET_LEADER:
16938 add_cstring(ptv, &hf_woww_name);
16939 break;
16940 case SMSG_GUILD_COMMAND_RESULT:
16941 ptvcursor_add(ptv, hf_woww_guild_command, 4, ENC_LITTLE_ENDIAN);
16942 add_cstring(ptv, &hf_woww_string);
16943 ptvcursor_add(ptv, hf_woww_guild_command_result, 4, ENC_LITTLE_ENDIAN);
16944 break;
16945 case SMSG_GUILD_EVENT:
16946 ptvcursor_add(ptv, hf_woww_guild_event, 1, ENC_LITTLE_ENDIAN);
16947 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_events, 1, ENC_LITTLE_ENDIAN, &amount_of_events);
16948 for (uint32_t i1 = 0; i1 < amount_of_events; ++i1) {
16949 add_cstring(ptv, &hf_woww_event_descriptions);
16951 break;
16952 case SMSG_GUILD_INFO:
16953 add_cstring(ptv, &hf_woww_guild_name);
16954 ptvcursor_add(ptv, hf_woww_created_day, 4, ENC_LITTLE_ENDIAN);
16955 ptvcursor_add(ptv, hf_woww_created_month, 4, ENC_LITTLE_ENDIAN);
16956 ptvcursor_add(ptv, hf_woww_created_year, 4, ENC_LITTLE_ENDIAN);
16957 ptvcursor_add(ptv, hf_woww_amount_of_characters_in_guild, 4, ENC_LITTLE_ENDIAN);
16958 ptvcursor_add(ptv, hf_woww_amount_of_accounts_in_guild, 4, ENC_LITTLE_ENDIAN);
16959 break;
16960 case SMSG_GUILD_INVITE:
16961 add_cstring(ptv, &hf_woww_player_name);
16962 add_cstring(ptv, &hf_woww_guild_name);
16963 break;
16964 case SMSG_GUILD_QUERY_RESPONSE:
16965 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
16966 add_cstring(ptv, &hf_woww_name);
16967 for (uint32_t i1 = 0; i1 < 10; ++i1) {
16968 add_cstring(ptv, &hf_woww_rank_names);
16970 ptvcursor_add(ptv, hf_woww_emblem_style, 4, ENC_LITTLE_ENDIAN);
16971 ptvcursor_add(ptv, hf_woww_emblem_color, 4, ENC_LITTLE_ENDIAN);
16972 ptvcursor_add(ptv, hf_woww_border_style, 4, ENC_LITTLE_ENDIAN);
16973 ptvcursor_add(ptv, hf_woww_border_color, 4, ENC_LITTLE_ENDIAN);
16974 ptvcursor_add(ptv, hf_woww_background_color, 4, ENC_LITTLE_ENDIAN);
16975 break;
16976 case SMSG_GUILD_ROSTER:
16977 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_members, 4, ENC_LITTLE_ENDIAN, &amount_of_members);
16978 add_cstring(ptv, &hf_woww_motd);
16979 add_cstring(ptv, &hf_woww_guild_info);
16980 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_rights, 4, ENC_LITTLE_ENDIAN, &amount_of_rights);
16981 for (uint32_t i1 = 0; i1 < amount_of_rights; ++i1) {
16982 ptvcursor_add(ptv, hf_woww_rights, 4, ENC_LITTLE_ENDIAN);
16984 for (uint32_t i1 = 0; i1 < amount_of_members; ++i1) {
16985 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "GuildMember %i", i1);
16986 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
16987 ptvcursor_add_ret_uint(ptv, hf_woww_guild_member_status, 1, ENC_LITTLE_ENDIAN, &status);
16988 add_cstring(ptv, &hf_woww_name);
16989 ptvcursor_add(ptv, hf_woww_rank, 4, ENC_LITTLE_ENDIAN);
16990 ptvcursor_add(ptv, hf_woww_level, 1, ENC_LITTLE_ENDIAN);
16991 ptvcursor_add(ptv, hf_woww_class, 1, ENC_LITTLE_ENDIAN);
16992 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
16993 if (status == GUILD_MEMBER_STATUS_OFFLINE) {
16994 ptvcursor_add(ptv, hf_woww_time_offline, 4, ENC_LITTLE_ENDIAN);
16996 add_cstring(ptv, &hf_woww_public_note);
16997 add_cstring(ptv, &hf_woww_officer_note);
16998 ptvcursor_pop_subtree(ptv);
17000 break;
17001 case SMSG_IGNORE_LIST:
17002 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_ignored, 1, ENC_LITTLE_ENDIAN, &amount_of_ignored);
17003 for (uint32_t i1 = 0; i1 < amount_of_ignored; ++i1) {
17004 ptvcursor_add(ptv, hf_woww_ignored, 8, ENC_LITTLE_ENDIAN);
17006 break;
17007 case SMSG_INITIALIZE_FACTIONS:
17008 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_factions, 4, ENC_LITTLE_ENDIAN, &amount_of_factions);
17009 for (uint32_t i1 = 0; i1 < amount_of_factions; ++i1) {
17010 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "FactionInitializer %i", i1);
17011 ptvcursor_add(ptv, hf_woww_faction_flag, 1, ENC_LITTLE_ENDIAN);
17012 ptvcursor_add(ptv, hf_woww_standing, 4, ENC_LITTLE_ENDIAN);
17013 ptvcursor_pop_subtree(ptv);
17015 break;
17016 case SMSG_INITIAL_SPELLS:
17017 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
17018 ptvcursor_add_ret_uint(ptv, hf_woww_spell_count, 2, ENC_LITTLE_ENDIAN, &spell_count);
17019 for (uint32_t i1 = 0; i1 < spell_count; ++i1) {
17020 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "InitialSpell %i", i1);
17021 ptvcursor_add(ptv, hf_woww_spell_id, 2, ENC_LITTLE_ENDIAN);
17022 ptvcursor_add(ptv, hf_woww_unknown_int, 2, ENC_LITTLE_ENDIAN);
17023 ptvcursor_pop_subtree(ptv);
17025 ptvcursor_add_ret_uint(ptv, hf_woww_cooldown_count, 2, ENC_LITTLE_ENDIAN, &cooldown_count);
17026 for (uint32_t i1 = 0; i1 < cooldown_count; ++i1) {
17027 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "CooldownSpell %i", i1);
17028 ptvcursor_add(ptv, hf_woww_spell_id, 2, ENC_LITTLE_ENDIAN);
17029 ptvcursor_add(ptv, hf_woww_item_id, 2, ENC_LITTLE_ENDIAN);
17030 ptvcursor_add(ptv, hf_woww_spell_category, 2, ENC_LITTLE_ENDIAN);
17031 ptvcursor_add(ptv, hf_woww_cooldown, 4, ENC_LITTLE_ENDIAN);
17032 ptvcursor_add(ptv, hf_woww_category_cooldown, 4, ENC_LITTLE_ENDIAN);
17033 ptvcursor_pop_subtree(ptv);
17035 break;
17036 case SMSG_INIT_WORLD_STATES:
17037 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
17038 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
17039 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_states, 2, ENC_LITTLE_ENDIAN, &amount_of_states);
17040 for (uint32_t i1 = 0; i1 < amount_of_states; ++i1) {
17041 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "WorldState %i", i1);
17042 ptvcursor_add(ptv, hf_woww_state, 4, ENC_LITTLE_ENDIAN);
17043 ptvcursor_add(ptv, hf_woww_value, 4, ENC_LITTLE_ENDIAN);
17044 ptvcursor_pop_subtree(ptv);
17046 break;
17047 case SMSG_INSPECT:
17048 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17049 break;
17050 case SMSG_INSTANCE_RESET:
17051 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
17052 break;
17053 case SMSG_INSTANCE_RESET_FAILED:
17054 ptvcursor_add(ptv, hf_woww_instance_reset_failed_reason, 4, ENC_LITTLE_ENDIAN);
17055 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
17056 break;
17057 case SMSG_INSTANCE_SAVE_CREATED:
17058 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
17059 break;
17060 case SMSG_INVALIDATE_PLAYER:
17061 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17062 break;
17063 case SMSG_INVENTORY_CHANGE_FAILURE:
17064 ptvcursor_add_ret_uint(ptv, hf_woww_inventory_result, 1, ENC_LITTLE_ENDIAN, &result);
17065 if (result == INVENTORY_RESULT_CANT_EQUIP_LEVEL_I) {
17066 ptvcursor_add(ptv, hf_woww_required_level, 4, ENC_LITTLE_ENDIAN);
17068 if (result != INVENTORY_RESULT_OK) {
17069 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
17070 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
17071 ptvcursor_add(ptv, hf_woww_bag_type_subclass, 1, ENC_LITTLE_ENDIAN);
17073 break;
17074 case SMSG_ITEM_COOLDOWN:
17075 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17076 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
17077 break;
17078 case SMSG_ITEM_ENCHANT_TIME_UPDATE:
17079 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
17080 ptvcursor_add(ptv, hf_woww_slot, 4, ENC_LITTLE_ENDIAN);
17081 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
17082 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
17083 break;
17084 case SMSG_ITEM_NAME_QUERY_RESPONSE:
17085 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17086 add_cstring(ptv, &hf_woww_item_name);
17087 break;
17088 case SMSG_ITEM_PUSH_RESULT:
17089 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17090 ptvcursor_add(ptv, hf_woww_new_item_source, 4, ENC_LITTLE_ENDIAN);
17091 ptvcursor_add(ptv, hf_woww_new_item_creation_type, 4, ENC_LITTLE_ENDIAN);
17092 ptvcursor_add(ptv, hf_woww_new_item_chat_alert, 4, ENC_LITTLE_ENDIAN);
17093 ptvcursor_add(ptv, hf_woww_bag_slot, 1, ENC_LITTLE_ENDIAN);
17094 ptvcursor_add(ptv, hf_woww_item_slot_int, 4, ENC_LITTLE_ENDIAN);
17095 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17096 ptvcursor_add(ptv, hf_woww_item_suffix_factor, 4, ENC_LITTLE_ENDIAN);
17097 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
17098 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
17099 break;
17100 case SMSG_ITEM_QUERY_SINGLE_RESPONSE:
17101 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17102 len = offset_packet_end - ptvcursor_current_offset(ptv);
17103 if (len > 0) {
17104 ptvcursor_add(ptv, hf_woww_item_class_and_sub_class, 8, ENC_LITTLE_ENDIAN);
17105 add_cstring(ptv, &hf_woww_name);
17106 add_cstring(ptv, &hf_woww_name);
17107 add_cstring(ptv, &hf_woww_name);
17108 add_cstring(ptv, &hf_woww_name);
17109 ptvcursor_add(ptv, hf_woww_display_id, 4, ENC_LITTLE_ENDIAN);
17110 ptvcursor_add(ptv, hf_woww_item_quality, 4, ENC_LITTLE_ENDIAN);
17111 ptvcursor_add(ptv, hf_woww_item_flag, 4, ENC_LITTLE_ENDIAN);
17112 ptvcursor_add(ptv, hf_woww_buy_price, 4, ENC_LITTLE_ENDIAN);
17113 ptvcursor_add(ptv, hf_woww_sell_price, 4, ENC_LITTLE_ENDIAN);
17114 ptvcursor_add(ptv, hf_woww_inventory_type, 4, ENC_LITTLE_ENDIAN);
17115 ptvcursor_add(ptv, hf_woww_allowed_class, 4, ENC_LITTLE_ENDIAN);
17116 ptvcursor_add(ptv, hf_woww_allowed_race, 4, ENC_LITTLE_ENDIAN);
17117 ptvcursor_add(ptv, hf_woww_item_level, 4, ENC_LITTLE_ENDIAN);
17118 ptvcursor_add(ptv, hf_woww_required_level, 4, ENC_LITTLE_ENDIAN);
17119 ptvcursor_add(ptv, hf_woww_skill, 4, ENC_LITTLE_ENDIAN);
17120 ptvcursor_add(ptv, hf_woww_required_skill_rank, 4, ENC_LITTLE_ENDIAN);
17121 ptvcursor_add(ptv, hf_woww_required_spell, 4, ENC_LITTLE_ENDIAN);
17122 ptvcursor_add(ptv, hf_woww_required_honor_rank, 4, ENC_LITTLE_ENDIAN);
17123 ptvcursor_add(ptv, hf_woww_required_city_rank, 4, ENC_LITTLE_ENDIAN);
17124 ptvcursor_add(ptv, hf_woww_faction, 4, ENC_LITTLE_ENDIAN);
17125 ptvcursor_add(ptv, hf_woww_required_faction_rank, 4, ENC_LITTLE_ENDIAN);
17126 ptvcursor_add(ptv, hf_woww_max_count, 4, ENC_LITTLE_ENDIAN);
17127 ptvcursor_add(ptv, hf_woww_stackable, 4, ENC_LITTLE_ENDIAN);
17128 ptvcursor_add(ptv, hf_woww_container_slots, 4, ENC_LITTLE_ENDIAN);
17129 for (uint32_t i1 = 0; i1 < 10; ++i1) {
17130 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "ItemStat %i", i1);
17131 ptvcursor_add(ptv, hf_woww_item_stat_type, 4, ENC_LITTLE_ENDIAN);
17132 ptvcursor_add(ptv, hf_woww_value, 4, ENC_LITTLE_ENDIAN);
17133 ptvcursor_pop_subtree(ptv);
17135 for (uint32_t i1 = 0; i1 < 5; ++i1) {
17136 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "ItemDamageType %i", i1);
17137 ptvcursor_add(ptv, hf_woww_damage_minimum, 4, ENC_LITTLE_ENDIAN);
17138 ptvcursor_add(ptv, hf_woww_damage_maximum, 4, ENC_LITTLE_ENDIAN);
17139 ptvcursor_add(ptv, hf_woww_spell_school, 4, ENC_LITTLE_ENDIAN);
17140 ptvcursor_pop_subtree(ptv);
17142 ptvcursor_add(ptv, hf_woww_armor, 4, ENC_LITTLE_ENDIAN);
17143 ptvcursor_add(ptv, hf_woww_holy_resistance, 4, ENC_LITTLE_ENDIAN);
17144 ptvcursor_add(ptv, hf_woww_fire_resistance, 4, ENC_LITTLE_ENDIAN);
17145 ptvcursor_add(ptv, hf_woww_nature_resistance, 4, ENC_LITTLE_ENDIAN);
17146 ptvcursor_add(ptv, hf_woww_frost_resistance, 4, ENC_LITTLE_ENDIAN);
17147 ptvcursor_add(ptv, hf_woww_shadow_resistance, 4, ENC_LITTLE_ENDIAN);
17148 ptvcursor_add(ptv, hf_woww_arcane_resistance, 4, ENC_LITTLE_ENDIAN);
17149 ptvcursor_add(ptv, hf_woww_delay, 4, ENC_LITTLE_ENDIAN);
17150 ptvcursor_add(ptv, hf_woww_ammo_type, 4, ENC_LITTLE_ENDIAN);
17151 ptvcursor_add(ptv, hf_woww_ranged_range_modification, 4, ENC_LITTLE_ENDIAN);
17152 for (uint32_t i1 = 0; i1 < 5; ++i1) {
17153 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "ItemSpells %i", i1);
17154 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
17155 ptvcursor_add(ptv, hf_woww_spell_trigger_type, 4, ENC_LITTLE_ENDIAN);
17156 ptvcursor_add(ptv, hf_woww_spell_charges, 4, ENC_LITTLE_ENDIAN);
17157 ptvcursor_add(ptv, hf_woww_spell_cooldown, 4, ENC_LITTLE_ENDIAN);
17158 ptvcursor_add(ptv, hf_woww_spell_category, 4, ENC_LITTLE_ENDIAN);
17159 ptvcursor_add(ptv, hf_woww_spell_category_cooldown, 4, ENC_LITTLE_ENDIAN);
17160 ptvcursor_pop_subtree(ptv);
17162 ptvcursor_add(ptv, hf_woww_bonding, 4, ENC_LITTLE_ENDIAN);
17163 add_cstring(ptv, &hf_woww_description);
17164 ptvcursor_add(ptv, hf_woww_page_text, 4, ENC_LITTLE_ENDIAN);
17165 ptvcursor_add(ptv, hf_woww_language, 4, ENC_LITTLE_ENDIAN);
17166 ptvcursor_add(ptv, hf_woww_page_text_material, 4, ENC_LITTLE_ENDIAN);
17167 ptvcursor_add(ptv, hf_woww_start_quest, 4, ENC_LITTLE_ENDIAN);
17168 ptvcursor_add(ptv, hf_woww_lock_id, 4, ENC_LITTLE_ENDIAN);
17169 ptvcursor_add(ptv, hf_woww_material, 4, ENC_LITTLE_ENDIAN);
17170 ptvcursor_add(ptv, hf_woww_sheathe_type, 4, ENC_LITTLE_ENDIAN);
17171 ptvcursor_add(ptv, hf_woww_random_property, 4, ENC_LITTLE_ENDIAN);
17172 ptvcursor_add(ptv, hf_woww_block, 4, ENC_LITTLE_ENDIAN);
17173 ptvcursor_add(ptv, hf_woww_item_set, 4, ENC_LITTLE_ENDIAN);
17174 ptvcursor_add(ptv, hf_woww_max_durability, 4, ENC_LITTLE_ENDIAN);
17175 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
17176 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
17177 ptvcursor_add(ptv, hf_woww_bag_family, 4, ENC_LITTLE_ENDIAN);
17179 break;
17180 case SMSG_ITEM_TEXT_QUERY_RESPONSE:
17181 ptvcursor_add(ptv, hf_woww_item_text_id, 4, ENC_LITTLE_ENDIAN);
17182 add_cstring(ptv, &hf_woww_text);
17183 break;
17184 case SMSG_ITEM_TIME_UPDATE:
17185 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17186 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
17187 break;
17188 case SMSG_LEARNED_SPELL:
17189 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
17190 break;
17191 case SMSG_LEVELUP_INFO:
17192 ptvcursor_add(ptv, hf_woww_new_level, 4, ENC_LITTLE_ENDIAN);
17193 ptvcursor_add(ptv, hf_woww_health, 4, ENC_LITTLE_ENDIAN);
17194 ptvcursor_add(ptv, hf_woww_mana, 4, ENC_LITTLE_ENDIAN);
17195 ptvcursor_add(ptv, hf_woww_rage, 4, ENC_LITTLE_ENDIAN);
17196 ptvcursor_add(ptv, hf_woww_focus, 4, ENC_LITTLE_ENDIAN);
17197 ptvcursor_add(ptv, hf_woww_energy, 4, ENC_LITTLE_ENDIAN);
17198 ptvcursor_add(ptv, hf_woww_happiness, 4, ENC_LITTLE_ENDIAN);
17199 ptvcursor_add(ptv, hf_woww_strength, 4, ENC_LITTLE_ENDIAN);
17200 ptvcursor_add(ptv, hf_woww_agility, 4, ENC_LITTLE_ENDIAN);
17201 ptvcursor_add(ptv, hf_woww_stamina, 4, ENC_LITTLE_ENDIAN);
17202 ptvcursor_add(ptv, hf_woww_intellect, 4, ENC_LITTLE_ENDIAN);
17203 ptvcursor_add(ptv, hf_woww_spirit, 4, ENC_LITTLE_ENDIAN);
17204 break;
17205 case SMSG_LIST_INVENTORY:
17206 ptvcursor_add(ptv, hf_woww_vendor, 8, ENC_LITTLE_ENDIAN);
17207 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_items, 1, ENC_LITTLE_ENDIAN, &amount_of_items);
17208 for (uint32_t i1 = 0; i1 < amount_of_items; ++i1) {
17209 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "ListInventoryItem %i", i1);
17210 ptvcursor_add(ptv, hf_woww_item_stack_count, 4, ENC_LITTLE_ENDIAN);
17211 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17212 ptvcursor_add(ptv, hf_woww_item_display_id, 4, ENC_LITTLE_ENDIAN);
17213 ptvcursor_add(ptv, hf_woww_max_items, 4, ENC_LITTLE_ENDIAN);
17214 ptvcursor_add(ptv, hf_woww_price, 4, ENC_LITTLE_ENDIAN);
17215 ptvcursor_add(ptv, hf_woww_max_durability, 4, ENC_LITTLE_ENDIAN);
17216 ptvcursor_add(ptv, hf_woww_durability, 4, ENC_LITTLE_ENDIAN);
17217 ptvcursor_pop_subtree(ptv);
17219 break;
17220 case SMSG_LOGIN_SETTIMESPEED:
17221 ptvcursor_add(ptv, hf_woww_datetime, 4, ENC_LITTLE_ENDIAN);
17222 ptvcursor_add(ptv, hf_woww_timescale, 4, ENC_LITTLE_ENDIAN);
17223 break;
17224 case SMSG_LOGIN_VERIFY_WORLD:
17225 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
17226 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
17227 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
17228 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
17229 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
17230 ptvcursor_pop_subtree(ptv);
17231 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
17232 break;
17233 case SMSG_LOGOUT_RESPONSE:
17234 ptvcursor_add(ptv, hf_woww_logout_result, 4, ENC_LITTLE_ENDIAN);
17235 ptvcursor_add(ptv, hf_woww_logout_speed, 1, ENC_LITTLE_ENDIAN);
17236 break;
17237 case SMSG_LOG_XPGAIN:
17238 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
17239 ptvcursor_add(ptv, hf_woww_total_exp, 4, ENC_LITTLE_ENDIAN);
17240 ptvcursor_add_ret_uint(ptv, hf_woww_experience_award_type, 1, ENC_LITTLE_ENDIAN, &exp_type);
17241 if (exp_type == EXPERIENCE_AWARD_TYPE_NON_KILL) {
17242 ptvcursor_add(ptv, hf_woww_experience_without_rested, 4, ENC_LITTLE_ENDIAN);
17243 ptvcursor_add(ptv, hf_woww_exp_group_bonus, 4, ENC_LITTLE_ENDIAN);
17245 break;
17246 case SMSG_LOOT_ALL_PASSED:
17247 ptvcursor_add(ptv, hf_woww_looted_target, 8, ENC_LITTLE_ENDIAN);
17248 ptvcursor_add(ptv, hf_woww_loot_slot, 4, ENC_LITTLE_ENDIAN);
17249 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17250 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
17251 ptvcursor_add(ptv, hf_woww_item_random_suffix_id, 4, ENC_LITTLE_ENDIAN);
17252 break;
17253 case SMSG_LOOT_MASTER_LIST:
17254 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_players, 1, ENC_LITTLE_ENDIAN, &amount_of_players);
17255 for (uint32_t i1 = 0; i1 < amount_of_players; ++i1) {
17256 ptvcursor_add(ptv, hf_woww_guids, 8, ENC_LITTLE_ENDIAN);
17258 break;
17259 case SMSG_LOOT_MONEY_NOTIFY:
17260 ptvcursor_add(ptv, hf_woww_amount, 4, ENC_LITTLE_ENDIAN);
17261 break;
17262 case SMSG_LOOT_RELEASE_RESPONSE:
17263 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17264 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
17265 break;
17266 case SMSG_LOOT_REMOVED:
17267 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
17268 break;
17269 case SMSG_LOOT_RESPONSE:
17270 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17271 ptvcursor_add_ret_uint(ptv, hf_woww_loot_method, 1, ENC_LITTLE_ENDIAN, &loot_method);
17272 if (loot_method == LOOT_METHOD_ERROR) {
17273 ptvcursor_add(ptv, hf_woww_loot_method_error, 1, ENC_LITTLE_ENDIAN);
17275 ptvcursor_add(ptv, hf_woww_gold, 4, ENC_LITTLE_ENDIAN);
17276 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_items, 1, ENC_LITTLE_ENDIAN, &amount_of_items);
17277 for (uint32_t i1 = 0; i1 < amount_of_items; ++i1) {
17278 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "LootItem %i", i1);
17279 ptvcursor_add(ptv, hf_woww_index, 1, ENC_LITTLE_ENDIAN);
17280 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17281 ptvcursor_add(ptv, hf_woww_loot_slot_type, 1, ENC_LITTLE_ENDIAN);
17282 ptvcursor_pop_subtree(ptv);
17284 break;
17285 case SMSG_LOOT_ROLL:
17286 ptvcursor_add(ptv, hf_woww_creature, 8, ENC_LITTLE_ENDIAN);
17287 ptvcursor_add(ptv, hf_woww_loot_slot, 4, ENC_LITTLE_ENDIAN);
17288 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
17289 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17290 ptvcursor_add(ptv, hf_woww_item_random_suffix, 4, ENC_LITTLE_ENDIAN);
17291 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
17292 ptvcursor_add(ptv, hf_woww_roll_number, 1, ENC_LITTLE_ENDIAN);
17293 ptvcursor_add(ptv, hf_woww_roll_vote, 1, ENC_LITTLE_ENDIAN);
17294 break;
17295 case SMSG_LOOT_ROLL_WON:
17296 ptvcursor_add(ptv, hf_woww_looted_target, 8, ENC_LITTLE_ENDIAN);
17297 ptvcursor_add(ptv, hf_woww_loot_slot, 4, ENC_LITTLE_ENDIAN);
17298 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17299 ptvcursor_add(ptv, hf_woww_item_random_suffix, 4, ENC_LITTLE_ENDIAN);
17300 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
17301 ptvcursor_add(ptv, hf_woww_winning_player, 8, ENC_LITTLE_ENDIAN);
17302 ptvcursor_add(ptv, hf_woww_winning_roll, 1, ENC_LITTLE_ENDIAN);
17303 ptvcursor_add(ptv, hf_woww_roll_vote, 1, ENC_LITTLE_ENDIAN);
17304 break;
17305 case SMSG_LOOT_START_ROLL:
17306 ptvcursor_add(ptv, hf_woww_creature, 8, ENC_LITTLE_ENDIAN);
17307 ptvcursor_add(ptv, hf_woww_loot_slot, 4, ENC_LITTLE_ENDIAN);
17308 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17309 ptvcursor_add(ptv, hf_woww_item_random_suffix, 4, ENC_LITTLE_ENDIAN);
17310 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
17311 ptvcursor_add(ptv, hf_woww_countdown_time, 4, ENC_LITTLE_ENDIAN);
17312 break;
17313 case SMSG_MAIL_LIST_RESULT:
17314 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_mails, 1, ENC_LITTLE_ENDIAN, &amount_of_mails);
17315 for (uint32_t i1 = 0; i1 < amount_of_mails; ++i1) {
17316 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Mail %i", i1);
17317 ptvcursor_add(ptv, hf_woww_message_id, 4, ENC_LITTLE_ENDIAN);
17318 ptvcursor_add_ret_uint(ptv, hf_woww_mail_type, 1, ENC_LITTLE_ENDIAN, &message_type);
17319 if (message_type == MAIL_TYPE_NORMAL) {
17320 ptvcursor_add(ptv, hf_woww_sender, 8, ENC_LITTLE_ENDIAN);
17322 else if (message_type == MAIL_TYPE_CREATURE
17323 || message_type == MAIL_TYPE_GAMEOBJECT) {
17324 ptvcursor_add(ptv, hf_woww_sender_id, 4, ENC_LITTLE_ENDIAN);
17326 else if (message_type == MAIL_TYPE_AUCTION) {
17327 ptvcursor_add(ptv, hf_woww_auction_id, 4, ENC_LITTLE_ENDIAN);
17329 add_cstring(ptv, &hf_woww_subject);
17330 ptvcursor_add(ptv, hf_woww_item_text_id, 4, ENC_LITTLE_ENDIAN);
17331 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
17332 ptvcursor_add(ptv, hf_woww_stationery, 4, ENC_LITTLE_ENDIAN);
17333 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17334 ptvcursor_add(ptv, hf_woww_item_enchant_id, 4, ENC_LITTLE_ENDIAN);
17335 ptvcursor_add(ptv, hf_woww_item_random_property_id, 4, ENC_LITTLE_ENDIAN);
17336 ptvcursor_add(ptv, hf_woww_item_suffix_factor, 4, ENC_LITTLE_ENDIAN);
17337 ptvcursor_add(ptv, hf_woww_item_stack_size, 1, ENC_LITTLE_ENDIAN);
17338 ptvcursor_add(ptv, hf_woww_item_spell_charges, 4, ENC_LITTLE_ENDIAN);
17339 ptvcursor_add(ptv, hf_woww_max_durability, 4, ENC_LITTLE_ENDIAN);
17340 ptvcursor_add(ptv, hf_woww_durability, 4, ENC_LITTLE_ENDIAN);
17341 ptvcursor_add(ptv, hf_woww_money, 4, ENC_LITTLE_ENDIAN);
17342 ptvcursor_add(ptv, hf_woww_cash_on_delivery_amount, 4, ENC_LITTLE_ENDIAN);
17343 ptvcursor_add(ptv, hf_woww_checked_timestamp, 4, ENC_LITTLE_ENDIAN);
17344 ptvcursor_add(ptv, hf_woww_expiration_time, 4, ENC_LITTLE_ENDIAN);
17345 ptvcursor_add(ptv, hf_woww_mail_template_id, 4, ENC_LITTLE_ENDIAN);
17346 ptvcursor_pop_subtree(ptv);
17348 break;
17349 case SMSG_MEETINGSTONE_JOINFAILED:
17350 ptvcursor_add(ptv, hf_woww_meeting_stone_failure, 1, ENC_LITTLE_ENDIAN);
17351 break;
17352 case SMSG_MEETINGSTONE_MEMBER_ADDED:
17353 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17354 break;
17355 case SMSG_MEETINGSTONE_SETQUEUE:
17356 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
17357 ptvcursor_add(ptv, hf_woww_meeting_stone_status, 1, ENC_LITTLE_ENDIAN);
17358 break;
17359 case SMSG_MESSAGECHAT:
17360 ptvcursor_add_ret_uint(ptv, hf_woww_chat_type, 1, ENC_LITTLE_ENDIAN, &chat_type);
17361 ptvcursor_add(ptv, hf_woww_language, 4, ENC_LITTLE_ENDIAN);
17362 if (chat_type == CHAT_TYPE_MONSTER_WHISPER
17363 || chat_type == CHAT_TYPE_RAID_BOSS_EMOTE
17364 || chat_type == CHAT_TYPE_MONSTER_EMOTE) {
17365 add_sized_cstring(ptv, &hf_woww_monster_name);
17366 ptvcursor_add(ptv, hf_woww_monster, 8, ENC_LITTLE_ENDIAN);
17368 else if (chat_type == CHAT_TYPE_SAY
17369 || chat_type == CHAT_TYPE_PARTY
17370 || chat_type == CHAT_TYPE_YELL) {
17371 ptvcursor_add(ptv, hf_woww_speech_bubble_credit, 8, ENC_LITTLE_ENDIAN);
17372 ptvcursor_add(ptv, hf_woww_chat_credit, 8, ENC_LITTLE_ENDIAN);
17374 else if (chat_type == CHAT_TYPE_MONSTER_SAY
17375 || chat_type == CHAT_TYPE_MONSTER_YELL) {
17376 ptvcursor_add(ptv, hf_woww_sender, 8, ENC_LITTLE_ENDIAN);
17377 add_sized_cstring(ptv, &hf_woww_sender_name);
17378 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
17380 else if (chat_type == CHAT_TYPE_CHANNEL) {
17381 add_cstring(ptv, &hf_woww_channel_name);
17382 ptvcursor_add(ptv, hf_woww_player_rank, 4, ENC_LITTLE_ENDIAN);
17383 ptvcursor_add(ptv, hf_woww_player, 8, ENC_LITTLE_ENDIAN);
17385 else {
17386 ptvcursor_add(ptv, hf_woww_sender, 8, ENC_LITTLE_ENDIAN);
17388 add_sized_cstring(ptv, &hf_woww_message);
17389 ptvcursor_add(ptv, hf_woww_player_chat_tag, 1, ENC_LITTLE_ENDIAN);
17390 break;
17391 case SMSG_MONSTER_MOVE:
17392 add_packed_guid(ptv, pinfo);
17393 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
17394 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
17395 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
17396 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
17397 ptvcursor_pop_subtree(ptv);
17398 ptvcursor_add(ptv, hf_woww_spline_id, 4, ENC_LITTLE_ENDIAN);
17399 ptvcursor_add_ret_uint(ptv, hf_woww_monster_move_type, 1, ENC_LITTLE_ENDIAN, &move_type);
17400 if (move_type == MONSTER_MOVE_TYPE_FACING_TARGET) {
17401 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
17403 else if (move_type == MONSTER_MOVE_TYPE_FACING_ANGLE) {
17404 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
17406 else if (move_type == MONSTER_MOVE_TYPE_FACING_SPOT) {
17407 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
17408 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
17409 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
17410 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
17411 ptvcursor_pop_subtree(ptv);
17413 ptvcursor_add(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN);
17414 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
17415 add_monster_move_spline(ptv);
17416 break;
17417 case SMSG_MONSTER_MOVE_TRANSPORT:
17418 add_packed_guid(ptv, pinfo);
17419 add_packed_guid(ptv, pinfo);
17420 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
17421 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
17422 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
17423 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
17424 ptvcursor_pop_subtree(ptv);
17425 ptvcursor_add(ptv, hf_woww_spline_id, 4, ENC_LITTLE_ENDIAN);
17426 ptvcursor_add_ret_uint(ptv, hf_woww_monster_move_type, 1, ENC_LITTLE_ENDIAN, &move_type);
17427 if (move_type == MONSTER_MOVE_TYPE_FACING_TARGET) {
17428 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
17430 else if (move_type == MONSTER_MOVE_TYPE_FACING_ANGLE) {
17431 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
17433 else if (move_type == MONSTER_MOVE_TYPE_FACING_SPOT) {
17434 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
17435 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
17436 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
17437 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
17438 ptvcursor_pop_subtree(ptv);
17440 ptvcursor_add(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN);
17441 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
17442 add_monster_move_spline(ptv);
17443 break;
17444 case SMSG_MOUNTRESULT:
17445 ptvcursor_add(ptv, hf_woww_mount_result, 4, ENC_LITTLE_ENDIAN);
17446 break;
17447 case SMSG_MOUNTSPECIAL_ANIM:
17448 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17449 break;
17450 case SMSG_MOVE_FEATHER_FALL:
17451 add_packed_guid(ptv, pinfo);
17452 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
17453 break;
17454 case SMSG_MOVE_KNOCK_BACK:
17455 add_packed_guid(ptv, pinfo);
17456 ptvcursor_add(ptv, hf_woww_movement_counter, 4, ENC_LITTLE_ENDIAN);
17457 ptvcursor_add(ptv, hf_woww_v_cos, 4, ENC_LITTLE_ENDIAN);
17458 ptvcursor_add(ptv, hf_woww_v_sin, 4, ENC_LITTLE_ENDIAN);
17459 ptvcursor_add(ptv, hf_woww_horizontal_speed, 4, ENC_LITTLE_ENDIAN);
17460 ptvcursor_add(ptv, hf_woww_vertical_speed, 4, ENC_LITTLE_ENDIAN);
17461 break;
17462 case SMSG_MOVE_LAND_WALK:
17463 add_packed_guid(ptv, pinfo);
17464 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
17465 break;
17466 case SMSG_MOVE_NORMAL_FALL:
17467 add_packed_guid(ptv, pinfo);
17468 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
17469 break;
17470 case SMSG_MOVE_SET_HOVER:
17471 add_packed_guid(ptv, pinfo);
17472 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
17473 break;
17474 case SMSG_MOVE_UNSET_HOVER:
17475 add_packed_guid(ptv, pinfo);
17476 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
17477 break;
17478 case SMSG_MOVE_WATER_WALK:
17479 add_packed_guid(ptv, pinfo);
17480 ptvcursor_add(ptv, hf_woww_counter, 4, ENC_LITTLE_ENDIAN);
17481 break;
17482 case SMSG_NAME_QUERY_RESPONSE:
17483 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17484 add_cstring(ptv, &hf_woww_character_name);
17485 add_cstring(ptv, &hf_woww_realm_name);
17486 ptvcursor_add(ptv, hf_woww_race, 4, ENC_LITTLE_ENDIAN);
17487 ptvcursor_add(ptv, hf_woww_gender, 4, ENC_LITTLE_ENDIAN);
17488 ptvcursor_add(ptv, hf_woww_class, 4, ENC_LITTLE_ENDIAN);
17489 break;
17490 case SMSG_NEW_WORLD:
17491 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
17492 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
17493 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
17494 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
17495 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
17496 ptvcursor_pop_subtree(ptv);
17497 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
17498 break;
17499 case SMSG_NOTIFICATION:
17500 add_cstring(ptv, &hf_woww_notification);
17501 break;
17502 case SMSG_NPC_TEXT_UPDATE:
17503 ptvcursor_add(ptv, hf_woww_text_id, 4, ENC_LITTLE_ENDIAN);
17504 for (uint32_t i1 = 0; i1 < 8; ++i1) {
17505 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "NpcTextUpdate %i", i1);
17506 ptvcursor_add(ptv, hf_woww_probability, 4, ENC_LITTLE_ENDIAN);
17507 for (uint32_t i2 = 0; i2 < 2; ++i2) {
17508 add_cstring(ptv, &hf_woww_texts);
17510 ptvcursor_add(ptv, hf_woww_language, 4, ENC_LITTLE_ENDIAN);
17511 for (uint32_t i2 = 0; i2 < 3; ++i2) {
17512 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "NpcTextUpdateEmote %i", i2);
17513 ptvcursor_add(ptv, hf_woww_delay, 4, ENC_LITTLE_ENDIAN);
17514 ptvcursor_add(ptv, hf_woww_emote_int, 4, ENC_LITTLE_ENDIAN);
17515 ptvcursor_pop_subtree(ptv);
17517 ptvcursor_pop_subtree(ptv);
17519 break;
17520 case SMSG_OPEN_CONTAINER:
17521 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17522 break;
17523 case SMSG_PAGE_TEXT_QUERY_RESPONSE:
17524 ptvcursor_add(ptv, hf_woww_page_id, 4, ENC_LITTLE_ENDIAN);
17525 add_cstring(ptv, &hf_woww_text);
17526 ptvcursor_add(ptv, hf_woww_next_page_id, 4, ENC_LITTLE_ENDIAN);
17527 break;
17528 case SMSG_PARTYKILLLOG:
17529 ptvcursor_add(ptv, hf_woww_player_with_killing_blow, 8, ENC_LITTLE_ENDIAN);
17530 ptvcursor_add(ptv, hf_woww_victim, 8, ENC_LITTLE_ENDIAN);
17531 break;
17532 case SMSG_PARTY_COMMAND_RESULT:
17533 ptvcursor_add(ptv, hf_woww_party_operation, 4, ENC_LITTLE_ENDIAN);
17534 add_cstring(ptv, &hf_woww_member);
17535 ptvcursor_add(ptv, hf_woww_party_result, 4, ENC_LITTLE_ENDIAN);
17536 break;
17537 case SMSG_PARTY_MEMBER_STATS:
17538 add_packed_guid(ptv, pinfo);
17539 ptvcursor_add_ret_uint(ptv, hf_woww_group_update_flags, 4, ENC_LITTLE_ENDIAN, &mask);
17540 if (mask & GROUP_UPDATE_FLAGS_STATUS) {
17541 ptvcursor_add(ptv, hf_woww_group_member_online_status, 1, ENC_LITTLE_ENDIAN);
17543 if (mask & GROUP_UPDATE_FLAGS_CUR_HP) {
17544 ptvcursor_add(ptv, hf_woww_current_health, 2, ENC_LITTLE_ENDIAN);
17546 if (mask & GROUP_UPDATE_FLAGS_MAX_HP) {
17547 ptvcursor_add(ptv, hf_woww_max_health, 2, ENC_LITTLE_ENDIAN);
17549 if (mask & GROUP_UPDATE_FLAGS_POWER_TYPE) {
17550 ptvcursor_add(ptv, hf_woww_power, 1, ENC_LITTLE_ENDIAN);
17552 if (mask & GROUP_UPDATE_FLAGS_CUR_POWER) {
17553 ptvcursor_add(ptv, hf_woww_current_power, 2, ENC_LITTLE_ENDIAN);
17555 if (mask & GROUP_UPDATE_FLAGS_MAX_POWER) {
17556 ptvcursor_add(ptv, hf_woww_max_power, 2, ENC_LITTLE_ENDIAN);
17558 if (mask & GROUP_UPDATE_FLAGS_LEVEL) {
17559 ptvcursor_add(ptv, hf_woww_level, 2, ENC_LITTLE_ENDIAN);
17561 if (mask & GROUP_UPDATE_FLAGS_ZONE) {
17562 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
17564 if (mask & GROUP_UPDATE_FLAGS_POSITION) {
17565 ptvcursor_add(ptv, hf_woww_position_x_int, 2, ENC_LITTLE_ENDIAN);
17566 ptvcursor_add(ptv, hf_woww_position_y_int, 2, ENC_LITTLE_ENDIAN);
17568 if (mask & GROUP_UPDATE_FLAGS_AURAS) {
17569 add_aura_mask(ptv);
17571 if (mask & GROUP_UPDATE_FLAGS_AURAS_2) {
17572 add_aura_mask(ptv);
17574 if (mask & GROUP_UPDATE_FLAGS_PET_GUID) {
17575 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
17577 if (mask & GROUP_UPDATE_FLAGS_PET_NAME) {
17578 add_cstring(ptv, &hf_woww_pet_name);
17580 if (mask & GROUP_UPDATE_FLAGS_PET_MODEL_ID) {
17581 ptvcursor_add(ptv, hf_woww_pet_display_id, 2, ENC_LITTLE_ENDIAN);
17583 if (mask & GROUP_UPDATE_FLAGS_PET_CUR_HP) {
17584 ptvcursor_add(ptv, hf_woww_pet_current_health, 2, ENC_LITTLE_ENDIAN);
17586 if (mask & GROUP_UPDATE_FLAGS_PET_MAX_HP) {
17587 ptvcursor_add(ptv, hf_woww_pet_max_health, 2, ENC_LITTLE_ENDIAN);
17589 if (mask & GROUP_UPDATE_FLAGS_PET_POWER_TYPE) {
17590 ptvcursor_add(ptv, hf_woww_power, 1, ENC_LITTLE_ENDIAN);
17592 if (mask & GROUP_UPDATE_FLAGS_PET_CUR_POWER) {
17593 ptvcursor_add(ptv, hf_woww_pet_current_power, 2, ENC_LITTLE_ENDIAN);
17595 if (mask & GROUP_UPDATE_FLAGS_PET_MAX_POWER) {
17596 ptvcursor_add(ptv, hf_woww_pet_max_power, 2, ENC_LITTLE_ENDIAN);
17598 if (mask & GROUP_UPDATE_FLAGS_PET_AURAS) {
17599 add_aura_mask(ptv);
17601 break;
17602 case SMSG_PARTY_MEMBER_STATS_FULL:
17603 add_packed_guid(ptv, pinfo);
17604 ptvcursor_add_ret_uint(ptv, hf_woww_group_update_flags, 4, ENC_LITTLE_ENDIAN, &mask);
17605 if (mask & GROUP_UPDATE_FLAGS_STATUS) {
17606 ptvcursor_add(ptv, hf_woww_group_member_online_status, 1, ENC_LITTLE_ENDIAN);
17608 if (mask & GROUP_UPDATE_FLAGS_CUR_HP) {
17609 ptvcursor_add(ptv, hf_woww_current_health, 2, ENC_LITTLE_ENDIAN);
17611 if (mask & GROUP_UPDATE_FLAGS_MAX_HP) {
17612 ptvcursor_add(ptv, hf_woww_max_health, 2, ENC_LITTLE_ENDIAN);
17614 if (mask & GROUP_UPDATE_FLAGS_POWER_TYPE) {
17615 ptvcursor_add(ptv, hf_woww_power, 1, ENC_LITTLE_ENDIAN);
17617 if (mask & GROUP_UPDATE_FLAGS_CUR_POWER) {
17618 ptvcursor_add(ptv, hf_woww_current_power, 2, ENC_LITTLE_ENDIAN);
17620 if (mask & GROUP_UPDATE_FLAGS_MAX_POWER) {
17621 ptvcursor_add(ptv, hf_woww_max_power, 2, ENC_LITTLE_ENDIAN);
17623 if (mask & GROUP_UPDATE_FLAGS_LEVEL) {
17624 ptvcursor_add(ptv, hf_woww_level, 2, ENC_LITTLE_ENDIAN);
17626 if (mask & GROUP_UPDATE_FLAGS_ZONE) {
17627 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
17629 if (mask & GROUP_UPDATE_FLAGS_POSITION) {
17630 ptvcursor_add(ptv, hf_woww_position_x_int, 2, ENC_LITTLE_ENDIAN);
17631 ptvcursor_add(ptv, hf_woww_position_y_int, 2, ENC_LITTLE_ENDIAN);
17633 if (mask & GROUP_UPDATE_FLAGS_AURAS) {
17634 add_aura_mask(ptv);
17636 if (mask & GROUP_UPDATE_FLAGS_PET_GUID) {
17637 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
17639 if (mask & GROUP_UPDATE_FLAGS_PET_NAME) {
17640 add_cstring(ptv, &hf_woww_pet_name);
17642 if (mask & GROUP_UPDATE_FLAGS_PET_MODEL_ID) {
17643 ptvcursor_add(ptv, hf_woww_pet_display_id, 2, ENC_LITTLE_ENDIAN);
17645 if (mask & GROUP_UPDATE_FLAGS_PET_CUR_HP) {
17646 ptvcursor_add(ptv, hf_woww_pet_current_health, 2, ENC_LITTLE_ENDIAN);
17648 if (mask & GROUP_UPDATE_FLAGS_PET_MAX_HP) {
17649 ptvcursor_add(ptv, hf_woww_pet_max_health, 2, ENC_LITTLE_ENDIAN);
17651 if (mask & GROUP_UPDATE_FLAGS_PET_POWER_TYPE) {
17652 ptvcursor_add(ptv, hf_woww_power, 1, ENC_LITTLE_ENDIAN);
17654 if (mask & GROUP_UPDATE_FLAGS_PET_CUR_POWER) {
17655 ptvcursor_add(ptv, hf_woww_pet_current_power, 2, ENC_LITTLE_ENDIAN);
17657 if (mask & GROUP_UPDATE_FLAGS_PET_MAX_POWER) {
17658 ptvcursor_add(ptv, hf_woww_pet_max_power, 2, ENC_LITTLE_ENDIAN);
17660 if (mask & GROUP_UPDATE_FLAGS_PET_AURAS) {
17661 add_aura_mask(ptv);
17663 break;
17664 case SMSG_PAUSE_MIRROR_TIMER:
17665 ptvcursor_add(ptv, hf_woww_timer_type, 4, ENC_LITTLE_ENDIAN);
17666 ptvcursor_add(ptv, hf_woww_is_frozen, 1, ENC_NA);
17667 break;
17668 case SMSG_PERIODICAURALOG:
17669 add_packed_guid(ptv, pinfo);
17670 add_packed_guid(ptv, pinfo);
17671 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
17672 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_auras, 4, ENC_LITTLE_ENDIAN, &amount_of_auras);
17673 for (uint32_t i1 = 0; i1 < amount_of_auras; ++i1) {
17674 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "AuraLog %i", i1);
17675 ptvcursor_add_ret_uint(ptv, hf_woww_aura_type, 4, ENC_LITTLE_ENDIAN, &aura_type);
17676 if (aura_type == AURA_TYPE_PERIODIC_DAMAGE
17677 || aura_type == AURA_TYPE_PERIODIC_DAMAGE_PERCENT) {
17678 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
17679 ptvcursor_add(ptv, hf_woww_spell_school, 1, ENC_LITTLE_ENDIAN);
17680 ptvcursor_add(ptv, hf_woww_absorbed, 4, ENC_LITTLE_ENDIAN);
17681 ptvcursor_add(ptv, hf_woww_resisted, 4, ENC_LITTLE_ENDIAN);
17683 else if (aura_type == AURA_TYPE_PERIODIC_HEAL
17684 || aura_type == AURA_TYPE_OBS_MOD_HEALTH) {
17685 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
17687 else if (aura_type == AURA_TYPE_OBS_MOD_MANA
17688 || aura_type == AURA_TYPE_PERIODIC_ENERGIZE) {
17689 ptvcursor_add(ptv, hf_woww_misc_value, 4, ENC_LITTLE_ENDIAN);
17690 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
17692 else if (aura_type == AURA_TYPE_PERIODIC_MANA_LEECH) {
17693 ptvcursor_add(ptv, hf_woww_misc_value, 4, ENC_LITTLE_ENDIAN);
17694 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
17695 ptvcursor_add(ptv, hf_woww_gain_multiplier, 4, ENC_LITTLE_ENDIAN);
17697 ptvcursor_pop_subtree(ptv);
17699 break;
17700 case SMSG_PETITION_QUERY_RESPONSE:
17701 ptvcursor_add(ptv, hf_woww_petition_id, 4, ENC_LITTLE_ENDIAN);
17702 ptvcursor_add(ptv, hf_woww_charter_owner, 8, ENC_LITTLE_ENDIAN);
17703 add_cstring(ptv, &hf_woww_guild_name);
17704 add_cstring(ptv, &hf_woww_body_text);
17705 ptvcursor_add(ptv, hf_woww_unknown_flags, 4, ENC_LITTLE_ENDIAN);
17706 ptvcursor_add(ptv, hf_woww_minimum_signatures, 4, ENC_LITTLE_ENDIAN);
17707 ptvcursor_add(ptv, hf_woww_maximum_signatures, 4, ENC_LITTLE_ENDIAN);
17708 ptvcursor_add(ptv, hf_woww_deadline, 4, ENC_LITTLE_ENDIAN);
17709 ptvcursor_add(ptv, hf_woww_issue_date, 4, ENC_LITTLE_ENDIAN);
17710 ptvcursor_add(ptv, hf_woww_allowed_guild_id, 4, ENC_LITTLE_ENDIAN);
17711 ptvcursor_add(ptv, hf_woww_allowed_class, 4, ENC_LITTLE_ENDIAN);
17712 ptvcursor_add(ptv, hf_woww_allowed_race, 4, ENC_LITTLE_ENDIAN);
17713 ptvcursor_add(ptv, hf_woww_allowed_genders, 2, ENC_LITTLE_ENDIAN);
17714 ptvcursor_add(ptv, hf_woww_allowed_minimum_level, 4, ENC_LITTLE_ENDIAN);
17715 ptvcursor_add(ptv, hf_woww_allowed_maximum_level, 4, ENC_LITTLE_ENDIAN);
17716 ptvcursor_add(ptv, hf_woww_todo_amount_of_signers, 4, ENC_LITTLE_ENDIAN);
17717 ptvcursor_add(ptv, hf_woww_number_of_choices, 4, ENC_LITTLE_ENDIAN);
17718 break;
17719 case SMSG_PETITION_SHOWLIST:
17720 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
17721 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_petitions, 1, ENC_LITTLE_ENDIAN, &amount_of_petitions);
17722 for (uint32_t i1 = 0; i1 < amount_of_petitions; ++i1) {
17723 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "PetitionShowlist %i", i1);
17724 ptvcursor_add(ptv, hf_woww_index, 4, ENC_LITTLE_ENDIAN);
17725 ptvcursor_add(ptv, hf_woww_charter_entry, 4, ENC_LITTLE_ENDIAN);
17726 ptvcursor_add(ptv, hf_woww_charter_display_id, 4, ENC_LITTLE_ENDIAN);
17727 ptvcursor_add(ptv, hf_woww_guild_charter_cost, 4, ENC_LITTLE_ENDIAN);
17728 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
17729 ptvcursor_pop_subtree(ptv);
17731 break;
17732 case SMSG_PETITION_SHOW_SIGNATURES:
17733 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
17734 ptvcursor_add(ptv, hf_woww_owner, 8, ENC_LITTLE_ENDIAN);
17735 ptvcursor_add(ptv, hf_woww_petition, 4, ENC_LITTLE_ENDIAN);
17736 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_signatures, 1, ENC_LITTLE_ENDIAN, &amount_of_signatures);
17737 for (uint32_t i1 = 0; i1 < amount_of_signatures; ++i1) {
17738 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "PetitionSignature %i", i1);
17739 ptvcursor_add(ptv, hf_woww_signer, 8, ENC_LITTLE_ENDIAN);
17740 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
17741 ptvcursor_pop_subtree(ptv);
17743 break;
17744 case SMSG_PETITION_SIGN_RESULTS:
17745 ptvcursor_add(ptv, hf_woww_petition, 8, ENC_LITTLE_ENDIAN);
17746 ptvcursor_add(ptv, hf_woww_owner, 8, ENC_LITTLE_ENDIAN);
17747 ptvcursor_add(ptv, hf_woww_petition_result, 4, ENC_LITTLE_ENDIAN);
17748 break;
17749 case SMSG_PET_ACTION_FEEDBACK:
17750 ptvcursor_add(ptv, hf_woww_pet_feedback, 1, ENC_LITTLE_ENDIAN);
17751 break;
17752 case SMSG_PET_ACTION_SOUND:
17753 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17754 ptvcursor_add(ptv, hf_woww_pet_talk_reason, 4, ENC_LITTLE_ENDIAN);
17755 break;
17756 case SMSG_PET_CAST_FAILED:
17757 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
17758 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
17759 ptvcursor_add(ptv, hf_woww_spell_cast_result, 1, ENC_LITTLE_ENDIAN);
17760 break;
17761 case SMSG_PET_DISMISS_SOUND:
17762 ptvcursor_add(ptv, hf_woww_sound_id, 4, ENC_LITTLE_ENDIAN);
17763 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
17764 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
17765 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
17766 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
17767 ptvcursor_pop_subtree(ptv);
17768 break;
17769 case SMSG_PET_MODE:
17770 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17771 ptvcursor_add(ptv, hf_woww_pet_react_state, 1, ENC_LITTLE_ENDIAN);
17772 ptvcursor_add(ptv, hf_woww_pet_command_state, 1, ENC_LITTLE_ENDIAN);
17773 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
17774 ptvcursor_add(ptv, hf_woww_pet_enabled, 1, ENC_LITTLE_ENDIAN);
17775 break;
17776 case SMSG_PET_NAME_QUERY_RESPONSE:
17777 ptvcursor_add(ptv, hf_woww_pet_number, 4, ENC_LITTLE_ENDIAN);
17778 add_cstring(ptv, &hf_woww_name);
17779 ptvcursor_add(ptv, hf_woww_pet_name_timestamp, 4, ENC_LITTLE_ENDIAN);
17780 break;
17781 case SMSG_PET_SPELLS:
17782 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
17783 len = offset_packet_end - ptvcursor_current_offset(ptv);
17784 if (len > 0) {
17785 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
17786 ptvcursor_add(ptv, hf_woww_pet_react_state, 1, ENC_LITTLE_ENDIAN);
17787 ptvcursor_add(ptv, hf_woww_pet_command_state, 1, ENC_LITTLE_ENDIAN);
17788 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
17789 ptvcursor_add(ptv, hf_woww_pet_enabled, 1, ENC_LITTLE_ENDIAN);
17790 for (uint32_t i1 = 0; i1 < 10; ++i1) {
17791 ptvcursor_add(ptv, hf_woww_action_bars, 4, ENC_LITTLE_ENDIAN);
17793 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_spells, 1, ENC_LITTLE_ENDIAN, &amount_of_spells);
17794 for (uint32_t i1 = 0; i1 < amount_of_spells; ++i1) {
17795 ptvcursor_add(ptv, hf_woww_spells, 4, ENC_LITTLE_ENDIAN);
17797 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_cooldowns, 1, ENC_LITTLE_ENDIAN, &amount_of_cooldowns);
17798 for (uint32_t i1 = 0; i1 < amount_of_cooldowns; ++i1) {
17799 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "PetSpellCooldown %i", i1);
17800 ptvcursor_add(ptv, hf_woww_spell, 2, ENC_LITTLE_ENDIAN);
17801 ptvcursor_add(ptv, hf_woww_spell_category, 2, ENC_LITTLE_ENDIAN);
17802 ptvcursor_add(ptv, hf_woww_cooldown, 4, ENC_LITTLE_ENDIAN);
17803 ptvcursor_add(ptv, hf_woww_category_cooldown, 4, ENC_LITTLE_ENDIAN);
17804 ptvcursor_pop_subtree(ptv);
17807 break;
17808 case SMSG_PET_TAME_FAILURE:
17809 ptvcursor_add(ptv, hf_woww_pet_tame_failure_reason, 1, ENC_LITTLE_ENDIAN);
17810 break;
17811 case SMSG_PET_UNLEARN_CONFIRM:
17812 ptvcursor_add(ptv, hf_woww_pet, 8, ENC_LITTLE_ENDIAN);
17813 ptvcursor_add(ptv, hf_woww_talent_reset_cost, 4, ENC_LITTLE_ENDIAN);
17814 break;
17815 case SMSG_PLAYED_TIME:
17816 ptvcursor_add(ptv, hf_woww_total_played_time, 4, ENC_LITTLE_ENDIAN);
17817 ptvcursor_add(ptv, hf_woww_level_played_time, 4, ENC_LITTLE_ENDIAN);
17818 break;
17819 case SMSG_PLAYERBOUND:
17820 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17821 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
17822 break;
17823 case SMSG_PLAYER_SKINNED:
17824 ptvcursor_add(ptv, hf_woww_spirit_released, 1, ENC_NA);
17825 break;
17826 case SMSG_PLAY_MUSIC:
17827 ptvcursor_add(ptv, hf_woww_sound_id, 4, ENC_LITTLE_ENDIAN);
17828 break;
17829 case SMSG_PLAY_OBJECT_SOUND:
17830 ptvcursor_add(ptv, hf_woww_sound_id, 4, ENC_LITTLE_ENDIAN);
17831 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17832 break;
17833 case SMSG_PLAY_SOUND:
17834 ptvcursor_add(ptv, hf_woww_sound_id, 4, ENC_LITTLE_ENDIAN);
17835 break;
17836 case SMSG_PLAY_SPELL_IMPACT:
17837 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17838 ptvcursor_add(ptv, hf_woww_spell_visual_kit, 4, ENC_LITTLE_ENDIAN);
17839 break;
17840 case SMSG_PLAY_SPELL_VISUAL:
17841 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17842 ptvcursor_add(ptv, hf_woww_spell_art_kit, 4, ENC_LITTLE_ENDIAN);
17843 break;
17844 case SMSG_PONG:
17845 ptvcursor_add(ptv, hf_woww_sequence_id, 4, ENC_LITTLE_ENDIAN);
17846 break;
17847 case SMSG_PROCRESIST:
17848 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
17849 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
17850 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
17851 ptvcursor_add(ptv, hf_woww_log_format, 1, ENC_LITTLE_ENDIAN);
17852 break;
17853 case SMSG_PVP_CREDIT:
17854 ptvcursor_add(ptv, hf_woww_honor_points, 4, ENC_LITTLE_ENDIAN);
17855 ptvcursor_add(ptv, hf_woww_victim, 8, ENC_LITTLE_ENDIAN);
17856 ptvcursor_add(ptv, hf_woww_pvp_rank, 4, ENC_LITTLE_ENDIAN);
17857 break;
17858 case SMSG_QUERY_TIME_RESPONSE:
17859 ptvcursor_add(ptv, hf_woww_time, 4, ENC_LITTLE_ENDIAN);
17860 break;
17861 case SMSG_QUESTGIVER_OFFER_REWARD:
17862 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
17863 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17864 add_cstring(ptv, &hf_woww_title);
17865 add_cstring(ptv, &hf_woww_offer_reward_text);
17866 ptvcursor_add(ptv, hf_woww_auto_finish, 4, ENC_LITTLE_ENDIAN);
17867 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_emotes, 4, ENC_LITTLE_ENDIAN, &amount_of_emotes);
17868 for (uint32_t i1 = 0; i1 < amount_of_emotes; ++i1) {
17869 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "NpcTextUpdateEmote %i", i1);
17870 ptvcursor_add(ptv, hf_woww_delay, 4, ENC_LITTLE_ENDIAN);
17871 ptvcursor_add(ptv, hf_woww_emote_int, 4, ENC_LITTLE_ENDIAN);
17872 ptvcursor_pop_subtree(ptv);
17874 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_choice_item_rewards, 4, ENC_LITTLE_ENDIAN, &amount_of_choice_item_rewards);
17875 for (uint32_t i1 = 0; i1 < amount_of_choice_item_rewards; ++i1) {
17876 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemRequirement %i", i1);
17877 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17878 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
17879 ptvcursor_add(ptv, hf_woww_item_display_id, 4, ENC_LITTLE_ENDIAN);
17880 ptvcursor_pop_subtree(ptv);
17882 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_item_rewards, 4, ENC_LITTLE_ENDIAN, &amount_of_item_rewards);
17883 for (uint32_t i1 = 0; i1 < amount_of_item_rewards; ++i1) {
17884 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemRequirement %i", i1);
17885 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17886 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
17887 ptvcursor_add(ptv, hf_woww_item_display_id, 4, ENC_LITTLE_ENDIAN);
17888 ptvcursor_pop_subtree(ptv);
17890 ptvcursor_add(ptv, hf_woww_money_reward, 4, ENC_LITTLE_ENDIAN);
17891 ptvcursor_add(ptv, hf_woww_reward_spell, 4, ENC_LITTLE_ENDIAN);
17892 ptvcursor_add(ptv, hf_woww_reward_spell_cast, 4, ENC_LITTLE_ENDIAN);
17893 break;
17894 case SMSG_QUESTGIVER_QUEST_COMPLETE:
17895 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17896 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
17897 ptvcursor_add(ptv, hf_woww_experience_reward, 4, ENC_LITTLE_ENDIAN);
17898 ptvcursor_add(ptv, hf_woww_money_reward, 4, ENC_LITTLE_ENDIAN);
17899 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_item_rewards, 4, ENC_LITTLE_ENDIAN, &amount_of_item_rewards);
17900 for (uint32_t i1 = 0; i1 < amount_of_item_rewards; ++i1) {
17901 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemReward %i", i1);
17902 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17903 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
17904 ptvcursor_pop_subtree(ptv);
17906 break;
17907 case SMSG_QUESTGIVER_QUEST_DETAILS:
17908 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17909 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17910 add_cstring(ptv, &hf_woww_title);
17911 add_cstring(ptv, &hf_woww_details);
17912 add_cstring(ptv, &hf_woww_objectives);
17913 ptvcursor_add(ptv, hf_woww_auto_finish, 4, ENC_LITTLE_ENDIAN);
17914 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_choice_item_rewards, 4, ENC_LITTLE_ENDIAN, &amount_of_choice_item_rewards);
17915 for (uint32_t i1 = 0; i1 < amount_of_choice_item_rewards; ++i1) {
17916 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemReward %i", i1);
17917 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17918 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
17919 ptvcursor_pop_subtree(ptv);
17921 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_item_rewards, 4, ENC_LITTLE_ENDIAN, &amount_of_item_rewards);
17922 for (uint32_t i1 = 0; i1 < amount_of_item_rewards; ++i1) {
17923 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemReward %i", i1);
17924 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17925 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
17926 ptvcursor_pop_subtree(ptv);
17928 ptvcursor_add(ptv, hf_woww_money_reward, 4, ENC_LITTLE_ENDIAN);
17929 ptvcursor_add(ptv, hf_woww_reward_spell, 4, ENC_LITTLE_ENDIAN);
17930 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_emotes, 4, ENC_LITTLE_ENDIAN, &amount_of_emotes);
17931 for (uint32_t i1 = 0; i1 < amount_of_emotes; ++i1) {
17932 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestDetailsEmote %i", i1);
17933 ptvcursor_add(ptv, hf_woww_emote_int, 4, ENC_LITTLE_ENDIAN);
17934 ptvcursor_add(ptv, hf_woww_emote_delay, 4, ENC_LITTLE_ENDIAN);
17935 ptvcursor_pop_subtree(ptv);
17937 break;
17938 case SMSG_QUESTGIVER_QUEST_FAILED:
17939 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17940 ptvcursor_add(ptv, hf_woww_quest_failed_reason, 4, ENC_LITTLE_ENDIAN);
17941 break;
17942 case SMSG_QUESTGIVER_QUEST_INVALID:
17943 ptvcursor_add(ptv, hf_woww_quest_failed_reason, 4, ENC_LITTLE_ENDIAN);
17944 break;
17945 case SMSG_QUESTGIVER_QUEST_LIST:
17946 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
17947 add_cstring(ptv, &hf_woww_title);
17948 ptvcursor_add(ptv, hf_woww_emote_delay, 4, ENC_LITTLE_ENDIAN);
17949 ptvcursor_add(ptv, hf_woww_emote_int, 4, ENC_LITTLE_ENDIAN);
17950 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_entries, 1, ENC_LITTLE_ENDIAN, &amount_of_entries);
17951 for (uint32_t i1 = 0; i1 < amount_of_entries; ++i1) {
17952 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItem %i", i1);
17953 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17954 ptvcursor_add(ptv, hf_woww_quest_icon, 4, ENC_LITTLE_ENDIAN);
17955 ptvcursor_add(ptv, hf_woww_level, 4, ENC_LITTLE_ENDIAN);
17956 add_cstring(ptv, &hf_woww_title);
17957 ptvcursor_pop_subtree(ptv);
17959 break;
17960 case SMSG_QUESTGIVER_REQUEST_ITEMS:
17961 ptvcursor_add(ptv, hf_woww_npc, 8, ENC_LITTLE_ENDIAN);
17962 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17963 add_cstring(ptv, &hf_woww_title);
17964 add_cstring(ptv, &hf_woww_request_items_text);
17965 ptvcursor_add(ptv, hf_woww_emote_delay, 4, ENC_LITTLE_ENDIAN);
17966 ptvcursor_add(ptv, hf_woww_emote_int, 4, ENC_LITTLE_ENDIAN);
17967 ptvcursor_add(ptv, hf_woww_auto_finish, 4, ENC_LITTLE_ENDIAN);
17968 ptvcursor_add(ptv, hf_woww_required_money, 4, ENC_LITTLE_ENDIAN);
17969 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_required_items, 4, ENC_LITTLE_ENDIAN, &amount_of_required_items);
17970 for (uint32_t i1 = 0; i1 < amount_of_required_items; ++i1) {
17971 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemRequirement %i", i1);
17972 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
17973 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
17974 ptvcursor_add(ptv, hf_woww_item_display_id, 4, ENC_LITTLE_ENDIAN);
17975 ptvcursor_pop_subtree(ptv);
17977 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
17978 ptvcursor_add(ptv, hf_woww_quest_completable, 4, ENC_LITTLE_ENDIAN);
17979 ptvcursor_add(ptv, hf_woww_flags, 4, ENC_LITTLE_ENDIAN);
17980 ptvcursor_add(ptv, hf_woww_flags, 4, ENC_LITTLE_ENDIAN);
17981 break;
17982 case SMSG_QUESTGIVER_STATUS:
17983 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17984 ptvcursor_add(ptv, hf_woww_quest_giver_status, 4, ENC_LITTLE_ENDIAN);
17985 break;
17986 case SMSG_QUESTUPDATE_ADD_ITEM:
17987 ptvcursor_add(ptv, hf_woww_required_item_id, 4, ENC_LITTLE_ENDIAN);
17988 ptvcursor_add(ptv, hf_woww_items_required, 4, ENC_LITTLE_ENDIAN);
17989 break;
17990 case SMSG_QUESTUPDATE_ADD_KILL:
17991 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17992 ptvcursor_add(ptv, hf_woww_creature_id, 4, ENC_LITTLE_ENDIAN);
17993 ptvcursor_add(ptv, hf_woww_kill_count, 4, ENC_LITTLE_ENDIAN);
17994 ptvcursor_add(ptv, hf_woww_required_kill_count, 4, ENC_LITTLE_ENDIAN);
17995 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
17996 break;
17997 case SMSG_QUESTUPDATE_COMPLETE:
17998 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
17999 break;
18000 case SMSG_QUESTUPDATE_FAILED:
18001 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
18002 break;
18003 case SMSG_QUESTUPDATE_FAILEDTIMER:
18004 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
18005 break;
18006 case SMSG_QUEST_CONFIRM_ACCEPT:
18007 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
18008 add_cstring(ptv, &hf_woww_quest_title);
18009 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18010 break;
18011 case SMSG_QUEST_QUERY_RESPONSE:
18012 ptvcursor_add(ptv, hf_woww_quest_id, 4, ENC_LITTLE_ENDIAN);
18013 ptvcursor_add(ptv, hf_woww_quest_method, 4, ENC_LITTLE_ENDIAN);
18014 ptvcursor_add(ptv, hf_woww_quest_level, 4, ENC_LITTLE_ENDIAN);
18015 ptvcursor_add(ptv, hf_woww_zone_or_sort, 4, ENC_LITTLE_ENDIAN);
18016 ptvcursor_add(ptv, hf_woww_quest_type, 4, ENC_LITTLE_ENDIAN);
18017 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
18018 ptvcursor_add(ptv, hf_woww_reputation_objective_value, 4, ENC_LITTLE_ENDIAN);
18019 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
18020 ptvcursor_add(ptv, hf_woww_required_opposite_reputation_value, 4, ENC_LITTLE_ENDIAN);
18021 ptvcursor_add(ptv, hf_woww_next_quest_in_chain, 4, ENC_LITTLE_ENDIAN);
18022 ptvcursor_add(ptv, hf_woww_money_reward, 4, ENC_LITTLE_ENDIAN);
18023 ptvcursor_add(ptv, hf_woww_max_level_money_reward, 4, ENC_LITTLE_ENDIAN);
18024 ptvcursor_add(ptv, hf_woww_reward_spell, 4, ENC_LITTLE_ENDIAN);
18025 ptvcursor_add(ptv, hf_woww_source_item_id, 4, ENC_LITTLE_ENDIAN);
18026 ptvcursor_add(ptv, hf_woww_quest_flags, 4, ENC_LITTLE_ENDIAN);
18027 for (uint32_t i1 = 0; i1 < 4; ++i1) {
18028 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemReward %i", i1);
18029 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
18030 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
18031 ptvcursor_pop_subtree(ptv);
18033 for (uint32_t i1 = 0; i1 < 6; ++i1) {
18034 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestItemReward %i", i1);
18035 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
18036 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
18037 ptvcursor_pop_subtree(ptv);
18039 ptvcursor_add(ptv, hf_woww_point_map_id, 4, ENC_LITTLE_ENDIAN);
18040 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector2d");
18041 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18042 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18043 ptvcursor_pop_subtree(ptv);
18044 ptvcursor_add(ptv, hf_woww_point_opt, 4, ENC_LITTLE_ENDIAN);
18045 add_cstring(ptv, &hf_woww_title);
18046 add_cstring(ptv, &hf_woww_objective_text);
18047 add_cstring(ptv, &hf_woww_details);
18048 add_cstring(ptv, &hf_woww_end_text);
18049 for (uint32_t i1 = 0; i1 < 4; ++i1) {
18050 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "QuestObjective %i", i1);
18051 ptvcursor_add(ptv, hf_woww_creature_id, 4, ENC_LITTLE_ENDIAN);
18052 ptvcursor_add(ptv, hf_woww_kill_count, 4, ENC_LITTLE_ENDIAN);
18053 ptvcursor_add(ptv, hf_woww_required_item_id, 4, ENC_LITTLE_ENDIAN);
18054 ptvcursor_add(ptv, hf_woww_required_item_count, 4, ENC_LITTLE_ENDIAN);
18055 ptvcursor_pop_subtree(ptv);
18057 for (uint32_t i1 = 0; i1 < 4; ++i1) {
18058 add_cstring(ptv, &hf_woww_objective_texts);
18060 break;
18061 case SMSG_RAID_GROUP_ONLY:
18062 ptvcursor_add(ptv, hf_woww_homebind_timer, 4, ENC_LITTLE_ENDIAN);
18063 ptvcursor_add(ptv, hf_woww_raid_group_error, 4, ENC_LITTLE_ENDIAN);
18064 break;
18065 case SMSG_RAID_INSTANCE_INFO:
18066 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_raid_infos, 4, ENC_LITTLE_ENDIAN, &amount_of_raid_infos);
18067 for (uint32_t i1 = 0; i1 < amount_of_raid_infos; ++i1) {
18068 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "RaidInfo %i", i1);
18069 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
18070 ptvcursor_add(ptv, hf_woww_reset_time, 4, ENC_LITTLE_ENDIAN);
18071 ptvcursor_add(ptv, hf_woww_instance_id, 4, ENC_LITTLE_ENDIAN);
18072 ptvcursor_pop_subtree(ptv);
18074 break;
18075 case SMSG_RAID_INSTANCE_MESSAGE:
18076 ptvcursor_add(ptv, hf_woww_raid_instance_message, 4, ENC_LITTLE_ENDIAN);
18077 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
18078 ptvcursor_add(ptv, hf_woww_time_left, 4, ENC_LITTLE_ENDIAN);
18079 break;
18080 case SMSG_READ_ITEM_FAILED:
18081 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18082 break;
18083 case SMSG_READ_ITEM_OK:
18084 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18085 break;
18086 case SMSG_RECEIVED_MAIL:
18087 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18088 break;
18089 case SMSG_REMOVED_SPELL:
18090 ptvcursor_add(ptv, hf_woww_spell, 2, ENC_LITTLE_ENDIAN);
18091 break;
18092 case SMSG_RESISTLOG:
18093 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18094 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18095 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18096 ptvcursor_add(ptv, hf_woww_unknown_float, 4, ENC_LITTLE_ENDIAN);
18097 ptvcursor_add(ptv, hf_woww_unknown_float, 4, ENC_LITTLE_ENDIAN);
18098 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18099 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18100 break;
18101 case SMSG_RESURRECT_REQUEST:
18102 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18103 add_sized_cstring(ptv, &hf_woww_name);
18104 ptvcursor_add(ptv, hf_woww_player, 1, ENC_NA);
18105 break;
18106 case SMSG_SELL_ITEM:
18107 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18108 ptvcursor_add(ptv, hf_woww_item, 8, ENC_LITTLE_ENDIAN);
18109 ptvcursor_add(ptv, hf_woww_sell_item_result, 1, ENC_LITTLE_ENDIAN);
18110 break;
18111 case SMSG_SEND_MAIL_RESULT:
18112 ptvcursor_add(ptv, hf_woww_mail_id, 4, ENC_LITTLE_ENDIAN);
18113 ptvcursor_add_ret_uint(ptv, hf_woww_mail_action, 4, ENC_LITTLE_ENDIAN, &action);
18114 if (action == MAIL_ACTION_ITEM_TAKEN) {
18115 ptvcursor_add_ret_uint(ptv, hf_woww_mail_result, 4, ENC_LITTLE_ENDIAN, &result);
18116 if (result == MAIL_RESULT_ERR_EQUIP_ERROR) {
18117 ptvcursor_add(ptv, hf_woww_equip_error, 4, ENC_LITTLE_ENDIAN);
18119 else {
18120 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
18121 ptvcursor_add(ptv, hf_woww_item_count, 4, ENC_LITTLE_ENDIAN);
18124 else {
18125 ptvcursor_add_ret_uint(ptv, hf_woww_mail_result_two, 4, ENC_LITTLE_ENDIAN, &result2);
18126 if (result2 == MAIL_RESULT_TWO_ERR_EQUIP_ERROR) {
18127 ptvcursor_add(ptv, hf_woww_equip_error, 4, ENC_LITTLE_ENDIAN);
18130 break;
18131 case SMSG_SERVER_MESSAGE:
18132 ptvcursor_add(ptv, hf_woww_server_message_type, 4, ENC_LITTLE_ENDIAN);
18133 add_cstring(ptv, &hf_woww_message);
18134 break;
18135 case SMSG_SET_FACTION_STANDING:
18136 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_faction_standings, 4, ENC_LITTLE_ENDIAN, &amount_of_faction_standings);
18137 for (uint32_t i1 = 0; i1 < amount_of_faction_standings; ++i1) {
18138 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "FactionStanding %i", i1);
18139 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
18140 ptvcursor_add(ptv, hf_woww_standing, 4, ENC_LITTLE_ENDIAN);
18141 ptvcursor_pop_subtree(ptv);
18143 break;
18144 case SMSG_SET_FACTION_VISIBLE:
18145 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
18146 break;
18147 case SMSG_SET_FLAT_SPELL_MODIFIER:
18148 ptvcursor_add(ptv, hf_woww_eff, 1, ENC_LITTLE_ENDIAN);
18149 ptvcursor_add(ptv, hf_woww_op, 1, ENC_LITTLE_ENDIAN);
18150 ptvcursor_add(ptv, hf_woww_value, 4, ENC_LITTLE_ENDIAN);
18151 break;
18152 case SMSG_SET_FORCED_REACTIONS:
18153 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_reactions, 4, ENC_LITTLE_ENDIAN, &amount_of_reactions);
18154 for (uint32_t i1 = 0; i1 < amount_of_reactions; ++i1) {
18155 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "ForcedReaction %i", i1);
18156 ptvcursor_add(ptv, hf_woww_faction, 2, ENC_LITTLE_ENDIAN);
18157 ptvcursor_add(ptv, hf_woww_reputation_rank, 4, ENC_LITTLE_ENDIAN);
18158 ptvcursor_pop_subtree(ptv);
18160 break;
18161 case SMSG_SET_PCT_SPELL_MODIFIER:
18162 ptvcursor_add(ptv, hf_woww_eff, 1, ENC_LITTLE_ENDIAN);
18163 ptvcursor_add(ptv, hf_woww_op, 1, ENC_LITTLE_ENDIAN);
18164 ptvcursor_add(ptv, hf_woww_value, 4, ENC_LITTLE_ENDIAN);
18165 break;
18166 case SMSG_SET_PROFICIENCY:
18167 ptvcursor_add(ptv, hf_woww_item_class, 1, ENC_LITTLE_ENDIAN);
18168 ptvcursor_add(ptv, hf_woww_item_sub_class_mask, 4, ENC_LITTLE_ENDIAN);
18169 break;
18170 case SMSG_SET_REST_START:
18171 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18172 break;
18173 case SMSG_SHOWTAXINODES:
18174 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18175 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18176 ptvcursor_add(ptv, hf_woww_nearest_node, 4, ENC_LITTLE_ENDIAN);
18177 while (ptvcursor_current_offset(ptv) < offset_packet_end) {
18178 ptvcursor_add(ptv, hf_woww_nodes, 4, ENC_LITTLE_ENDIAN);
18180 break;
18181 case SMSG_SHOW_BANK:
18182 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18183 break;
18184 case SMSG_SPELLDAMAGESHIELD:
18185 ptvcursor_add(ptv, hf_woww_victim, 8, ENC_LITTLE_ENDIAN);
18186 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
18187 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
18188 ptvcursor_add(ptv, hf_woww_spell_school, 4, ENC_LITTLE_ENDIAN);
18189 break;
18190 case SMSG_SPELLDISPELLOG:
18191 add_packed_guid(ptv, pinfo);
18192 add_packed_guid(ptv, pinfo);
18193 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_spells, 4, ENC_LITTLE_ENDIAN, &amount_of_spells);
18194 for (uint32_t i1 = 0; i1 < amount_of_spells; ++i1) {
18195 ptvcursor_add(ptv, hf_woww_spells, 4, ENC_LITTLE_ENDIAN);
18197 break;
18198 case SMSG_SPELLENERGIZELOG:
18199 add_packed_guid(ptv, pinfo);
18200 add_packed_guid(ptv, pinfo);
18201 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18202 ptvcursor_add(ptv, hf_woww_power, 4, ENC_LITTLE_ENDIAN);
18203 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
18204 break;
18205 case SMSG_SPELLHEALLOG:
18206 add_packed_guid(ptv, pinfo);
18207 add_packed_guid(ptv, pinfo);
18208 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18209 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
18210 ptvcursor_add(ptv, hf_woww_critical, 1, ENC_NA);
18211 break;
18212 case SMSG_SPELLINSTAKILLLOG:
18213 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18214 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18215 break;
18216 case SMSG_SPELLLOGEXECUTE:
18217 add_packed_guid(ptv, pinfo);
18218 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18219 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_effects, 4, ENC_LITTLE_ENDIAN, &amount_of_effects);
18220 for (uint32_t i1 = 0; i1 < amount_of_effects; ++i1) {
18221 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellLog %i", i1);
18222 ptvcursor_add_ret_uint(ptv, hf_woww_spell_effect, 4, ENC_LITTLE_ENDIAN, &effect);
18223 ptvcursor_add(ptv, hf_woww_amount_of_logs, 4, ENC_LITTLE_ENDIAN);
18224 if (effect == SPELL_EFFECT_POWER_DRAIN) {
18225 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18226 ptvcursor_add(ptv, hf_woww_amount, 4, ENC_LITTLE_ENDIAN);
18227 ptvcursor_add(ptv, hf_woww_power, 4, ENC_LITTLE_ENDIAN);
18228 ptvcursor_add(ptv, hf_woww_multiplier, 4, ENC_LITTLE_ENDIAN);
18230 else if (effect == SPELL_EFFECT_HEAL
18231 || effect == SPELL_EFFECT_HEAL_MAX_HEALTH) {
18232 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18233 ptvcursor_add(ptv, hf_woww_heal_amount, 4, ENC_LITTLE_ENDIAN);
18234 ptvcursor_add(ptv, hf_woww_heal_critical, 4, ENC_LITTLE_ENDIAN);
18236 else if (effect == SPELL_EFFECT_ENERGIZE) {
18237 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18238 ptvcursor_add(ptv, hf_woww_energize_amount, 4, ENC_LITTLE_ENDIAN);
18239 ptvcursor_add(ptv, hf_woww_energize_power, 4, ENC_LITTLE_ENDIAN);
18241 else if (effect == SPELL_EFFECT_ADD_EXTRA_ATTACKS) {
18242 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18243 ptvcursor_add(ptv, hf_woww_extra_attacks, 4, ENC_LITTLE_ENDIAN);
18245 else if (effect == SPELL_EFFECT_CREATE_ITEM) {
18246 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
18248 else if (effect == SPELL_EFFECT_INTERRUPT_CAST) {
18249 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18250 ptvcursor_add(ptv, hf_woww_interrupted_spell, 4, ENC_LITTLE_ENDIAN);
18252 else if (effect == SPELL_EFFECT_DURABILITY_DAMAGE) {
18253 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18254 ptvcursor_add(ptv, hf_woww_item_to_damage, 4, ENC_LITTLE_ENDIAN);
18255 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18257 else if (effect == SPELL_EFFECT_FEED_PET) {
18258 ptvcursor_add(ptv, hf_woww_feed_pet_item, 4, ENC_LITTLE_ENDIAN);
18260 else if (effect == SPELL_EFFECT_INSTAKILL
18261 || effect == SPELL_EFFECT_RESURRECT
18262 || effect == SPELL_EFFECT_DISPEL
18263 || effect == SPELL_EFFECT_THREAT
18264 || effect == SPELL_EFFECT_DISTRACT
18265 || effect == SPELL_EFFECT_SANCTUARY
18266 || effect == SPELL_EFFECT_THREAT_ALL
18267 || effect == SPELL_EFFECT_DISPEL_MECHANIC
18268 || effect == SPELL_EFFECT_RESURRECT_NEW
18269 || effect == SPELL_EFFECT_ATTACK_ME
18270 || effect == SPELL_EFFECT_SKIN_PLAYER_CORPSE
18271 || effect == SPELL_EFFECT_MODIFY_THREAT_PERCENT
18272 || effect == SPELL_EFFECT_UNKNOWN126
18273 || effect == SPELL_EFFECT_OPEN_LOCK
18274 || effect == SPELL_EFFECT_OPEN_LOCK_ITEM
18275 || effect == SPELL_EFFECT_DISMISS_PET
18276 || effect == SPELL_EFFECT_TRANS_DOOR
18277 || effect == SPELL_EFFECT_SUMMON
18278 || effect == SPELL_EFFECT_SUMMON_PET
18279 || effect == SPELL_EFFECT_SUMMON_WILD
18280 || effect == SPELL_EFFECT_SUMMON_GUARDIAN
18281 || effect == SPELL_EFFECT_SUMMON_TOTEM_SLOT1
18282 || effect == SPELL_EFFECT_SUMMON_TOTEM_SLOT2
18283 || effect == SPELL_EFFECT_SUMMON_TOTEM_SLOT3
18284 || effect == SPELL_EFFECT_SUMMON_TOTEM_SLOT4
18285 || effect == SPELL_EFFECT_SUMMON_POSSESSED
18286 || effect == SPELL_EFFECT_SUMMON_TOTEM
18287 || effect == SPELL_EFFECT_SUMMON_CRITTER
18288 || effect == SPELL_EFFECT_SUMMON_OBJECT_WILD
18289 || effect == SPELL_EFFECT_SUMMON_OBJECT_SLOT1
18290 || effect == SPELL_EFFECT_SUMMON_OBJECT_SLOT2
18291 || effect == SPELL_EFFECT_SUMMON_OBJECT_SLOT3
18292 || effect == SPELL_EFFECT_SUMMON_OBJECT_SLOT4
18293 || effect == SPELL_EFFECT_SUMMON_DEMON) {
18294 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18296 ptvcursor_pop_subtree(ptv);
18298 break;
18299 case SMSG_SPELLLOGMISS:
18300 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18301 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
18302 ptvcursor_add(ptv, hf_woww_unknown_int, 1, ENC_LITTLE_ENDIAN);
18303 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_targets, 4, ENC_LITTLE_ENDIAN, &amount_of_targets);
18304 for (uint32_t i1 = 0; i1 < amount_of_targets; ++i1) {
18305 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellLogMiss %i", i1);
18306 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18307 ptvcursor_add(ptv, hf_woww_spell_miss_info, 1, ENC_LITTLE_ENDIAN);
18308 ptvcursor_pop_subtree(ptv);
18310 break;
18311 case SMSG_SPELLNONMELEEDAMAGELOG:
18312 add_packed_guid(ptv, pinfo);
18313 add_packed_guid(ptv, pinfo);
18314 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18315 ptvcursor_add(ptv, hf_woww_damage, 4, ENC_LITTLE_ENDIAN);
18316 ptvcursor_add(ptv, hf_woww_spell_school, 1, ENC_LITTLE_ENDIAN);
18317 ptvcursor_add(ptv, hf_woww_absorbed_damage, 4, ENC_LITTLE_ENDIAN);
18318 ptvcursor_add(ptv, hf_woww_resisted, 4, ENC_LITTLE_ENDIAN);
18319 ptvcursor_add(ptv, hf_woww_periodic_log, 1, ENC_NA);
18320 ptvcursor_add(ptv, hf_woww_unused, 1, ENC_LITTLE_ENDIAN);
18321 ptvcursor_add(ptv, hf_woww_blocked, 4, ENC_LITTLE_ENDIAN);
18322 ptvcursor_add(ptv, hf_woww_hit_info, 4, ENC_LITTLE_ENDIAN);
18323 ptvcursor_add(ptv, hf_woww_extend_flag, 1, ENC_LITTLE_ENDIAN);
18324 break;
18325 case SMSG_SPELLORDAMAGE_IMMUNE:
18326 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
18327 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18328 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18329 ptvcursor_add(ptv, hf_woww_debug_log_format, 1, ENC_NA);
18330 break;
18331 case SMSG_SPELL_COOLDOWN:
18332 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18333 while (ptvcursor_current_offset(ptv) < offset_packet_end) {
18334 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellCooldownStatus");
18335 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18336 ptvcursor_add(ptv, hf_woww_cooldown_time, 4, ENC_LITTLE_ENDIAN);
18337 ptvcursor_pop_subtree(ptv);
18339 break;
18340 case SMSG_SPELL_DELAYED:
18341 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18342 ptvcursor_add(ptv, hf_woww_delay_time, 4, ENC_LITTLE_ENDIAN);
18343 break;
18344 case SMSG_SPELL_FAILED_OTHER:
18345 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
18346 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18347 break;
18348 case SMSG_SPELL_FAILURE:
18349 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18350 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18351 ptvcursor_add(ptv, hf_woww_spell_cast_result, 1, ENC_LITTLE_ENDIAN);
18352 break;
18353 case SMSG_SPELL_GO:
18354 add_packed_guid(ptv, pinfo);
18355 add_packed_guid(ptv, pinfo);
18356 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18357 ptvcursor_add_ret_uint(ptv, hf_woww_cast_flags, 2, ENC_LITTLE_ENDIAN, &flags);
18358 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_hits, 1, ENC_LITTLE_ENDIAN, &amount_of_hits);
18359 for (uint32_t i1 = 0; i1 < amount_of_hits; ++i1) {
18360 ptvcursor_add(ptv, hf_woww_hits, 8, ENC_LITTLE_ENDIAN);
18362 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_misses, 1, ENC_LITTLE_ENDIAN, &amount_of_misses);
18363 for (uint32_t i1 = 0; i1 < amount_of_misses; ++i1) {
18364 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellMiss %i", i1);
18365 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18366 ptvcursor_add_ret_uint(ptv, hf_woww_spell_miss_info, 1, ENC_LITTLE_ENDIAN, &miss_info);
18367 ptvcursor_pop_subtree(ptv);
18369 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellCastTargets");
18370 ptvcursor_add_ret_uint(ptv, hf_woww_spell_cast_target_flags, 2, ENC_LITTLE_ENDIAN, &target_flags);
18371 if (target_flags & SPELL_CAST_TARGET_FLAGS_UNIT) {
18372 add_packed_guid(ptv, pinfo);
18374 if (target_flags & SPELL_CAST_TARGET_FLAGS_GAMEOBJECT) {
18375 add_packed_guid(ptv, pinfo);
18377 else if (target_flags & SPELL_CAST_TARGET_FLAGS_OBJECT_UNK) {
18378 add_packed_guid(ptv, pinfo);
18380 if (target_flags & SPELL_CAST_TARGET_FLAGS_ITEM) {
18381 add_packed_guid(ptv, pinfo);
18383 else if (target_flags & SPELL_CAST_TARGET_FLAGS_TRADE_ITEM) {
18384 add_packed_guid(ptv, pinfo);
18386 if (target_flags & SPELL_CAST_TARGET_FLAGS_SOURCE_LOCATION) {
18387 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18388 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18389 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18390 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18391 ptvcursor_pop_subtree(ptv);
18393 if (target_flags & SPELL_CAST_TARGET_FLAGS_DEST_LOCATION) {
18394 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18395 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18396 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18397 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18398 ptvcursor_pop_subtree(ptv);
18400 if (target_flags & SPELL_CAST_TARGET_FLAGS_STRING) {
18401 add_cstring(ptv, &hf_woww_target_string);
18403 if (target_flags & SPELL_CAST_TARGET_FLAGS_CORPSE) {
18404 add_packed_guid(ptv, pinfo);
18406 else if (target_flags & SPELL_CAST_TARGET_FLAGS_PVP_CORPSE) {
18407 add_packed_guid(ptv, pinfo);
18409 ptvcursor_pop_subtree(ptv);
18410 if (flags & CAST_FLAGS_AMMO) {
18411 ptvcursor_add(ptv, hf_woww_ammo_display_id, 4, ENC_LITTLE_ENDIAN);
18412 ptvcursor_add(ptv, hf_woww_ammo_inventory_type, 4, ENC_LITTLE_ENDIAN);
18414 break;
18415 case SMSG_SPELL_START:
18416 add_packed_guid(ptv, pinfo);
18417 add_packed_guid(ptv, pinfo);
18418 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18419 ptvcursor_add_ret_uint(ptv, hf_woww_cast_flags, 2, ENC_LITTLE_ENDIAN, &flags);
18420 ptvcursor_add(ptv, hf_woww_timer, 4, ENC_LITTLE_ENDIAN);
18421 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "SpellCastTargets");
18422 ptvcursor_add_ret_uint(ptv, hf_woww_spell_cast_target_flags, 2, ENC_LITTLE_ENDIAN, &target_flags);
18423 if (target_flags & SPELL_CAST_TARGET_FLAGS_UNIT) {
18424 add_packed_guid(ptv, pinfo);
18426 if (target_flags & SPELL_CAST_TARGET_FLAGS_GAMEOBJECT) {
18427 add_packed_guid(ptv, pinfo);
18429 else if (target_flags & SPELL_CAST_TARGET_FLAGS_OBJECT_UNK) {
18430 add_packed_guid(ptv, pinfo);
18432 if (target_flags & SPELL_CAST_TARGET_FLAGS_ITEM) {
18433 add_packed_guid(ptv, pinfo);
18435 else if (target_flags & SPELL_CAST_TARGET_FLAGS_TRADE_ITEM) {
18436 add_packed_guid(ptv, pinfo);
18438 if (target_flags & SPELL_CAST_TARGET_FLAGS_SOURCE_LOCATION) {
18439 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18440 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18441 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18442 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18443 ptvcursor_pop_subtree(ptv);
18445 if (target_flags & SPELL_CAST_TARGET_FLAGS_DEST_LOCATION) {
18446 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18447 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18448 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18449 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18450 ptvcursor_pop_subtree(ptv);
18452 if (target_flags & SPELL_CAST_TARGET_FLAGS_STRING) {
18453 add_cstring(ptv, &hf_woww_target_string);
18455 if (target_flags & SPELL_CAST_TARGET_FLAGS_CORPSE) {
18456 add_packed_guid(ptv, pinfo);
18458 else if (target_flags & SPELL_CAST_TARGET_FLAGS_PVP_CORPSE) {
18459 add_packed_guid(ptv, pinfo);
18461 ptvcursor_pop_subtree(ptv);
18462 if (flags & CAST_FLAGS_AMMO) {
18463 ptvcursor_add(ptv, hf_woww_ammo_display_id, 4, ENC_LITTLE_ENDIAN);
18464 ptvcursor_add(ptv, hf_woww_ammo_inventory_type, 4, ENC_LITTLE_ENDIAN);
18466 break;
18467 case SMSG_SPELL_UPDATE_CHAIN_TARGETS:
18468 ptvcursor_add(ptv, hf_woww_caster, 8, ENC_LITTLE_ENDIAN);
18469 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18470 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_targets, 4, ENC_LITTLE_ENDIAN, &amount_of_targets);
18471 for (uint32_t i1 = 0; i1 < amount_of_targets; ++i1) {
18472 ptvcursor_add(ptv, hf_woww_targets, 8, ENC_LITTLE_ENDIAN);
18474 break;
18475 case SMSG_SPIRIT_HEALER_CONFIRM:
18476 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18477 break;
18478 case SMSG_SPLINE_MOVE_FEATHER_FALL:
18479 add_packed_guid(ptv, pinfo);
18480 break;
18481 case SMSG_SPLINE_MOVE_LAND_WALK:
18482 add_packed_guid(ptv, pinfo);
18483 break;
18484 case SMSG_SPLINE_MOVE_NORMAL_FALL:
18485 add_packed_guid(ptv, pinfo);
18486 break;
18487 case SMSG_SPLINE_MOVE_ROOT:
18488 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18489 break;
18490 case SMSG_SPLINE_MOVE_SET_HOVER:
18491 add_packed_guid(ptv, pinfo);
18492 break;
18493 case SMSG_SPLINE_MOVE_SET_RUN_MODE:
18494 add_packed_guid(ptv, pinfo);
18495 break;
18496 case SMSG_SPLINE_MOVE_SET_WALK_MODE:
18497 add_packed_guid(ptv, pinfo);
18498 break;
18499 case SMSG_SPLINE_MOVE_START_SWIM:
18500 add_packed_guid(ptv, pinfo);
18501 break;
18502 case SMSG_SPLINE_MOVE_STOP_SWIM:
18503 add_packed_guid(ptv, pinfo);
18504 break;
18505 case SMSG_SPLINE_MOVE_UNROOT:
18506 add_packed_guid(ptv, pinfo);
18507 break;
18508 case SMSG_SPLINE_MOVE_UNSET_HOVER:
18509 add_packed_guid(ptv, pinfo);
18510 break;
18511 case SMSG_SPLINE_MOVE_WATER_WALK:
18512 add_packed_guid(ptv, pinfo);
18513 break;
18514 case SMSG_SPLINE_SET_RUN_BACK_SPEED:
18515 add_packed_guid(ptv, pinfo);
18516 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
18517 break;
18518 case SMSG_SPLINE_SET_RUN_SPEED:
18519 add_packed_guid(ptv, pinfo);
18520 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
18521 break;
18522 case SMSG_SPLINE_SET_SWIM_BACK_SPEED:
18523 add_packed_guid(ptv, pinfo);
18524 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
18525 break;
18526 case SMSG_SPLINE_SET_SWIM_SPEED:
18527 add_packed_guid(ptv, pinfo);
18528 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
18529 break;
18530 case SMSG_SPLINE_SET_TURN_RATE:
18531 add_packed_guid(ptv, pinfo);
18532 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
18533 break;
18534 case SMSG_SPLINE_SET_WALK_SPEED:
18535 add_packed_guid(ptv, pinfo);
18536 ptvcursor_add(ptv, hf_woww_speed, 4, ENC_LITTLE_ENDIAN);
18537 break;
18538 case SMSG_STABLE_RESULT:
18539 ptvcursor_add(ptv, hf_woww_stable_result, 1, ENC_LITTLE_ENDIAN);
18540 break;
18541 case SMSG_STANDSTATE_UPDATE:
18542 ptvcursor_add(ptv, hf_woww_unit_stand_state, 1, ENC_LITTLE_ENDIAN);
18543 break;
18544 case SMSG_START_MIRROR_TIMER:
18545 ptvcursor_add(ptv, hf_woww_timer_type, 4, ENC_LITTLE_ENDIAN);
18546 ptvcursor_add(ptv, hf_woww_time_remaining, 4, ENC_LITTLE_ENDIAN);
18547 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
18548 ptvcursor_add(ptv, hf_woww_scale, 4, ENC_LITTLE_ENDIAN);
18549 ptvcursor_add(ptv, hf_woww_is_frozen, 1, ENC_NA);
18550 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18551 break;
18552 case SMSG_STOP_MIRROR_TIMER:
18553 ptvcursor_add(ptv, hf_woww_timer_type, 4, ENC_LITTLE_ENDIAN);
18554 break;
18555 case SMSG_SUMMON_REQUEST:
18556 ptvcursor_add(ptv, hf_woww_summoner, 8, ENC_LITTLE_ENDIAN);
18557 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
18558 ptvcursor_add(ptv, hf_woww_auto_decline_time, 4, ENC_LITTLE_ENDIAN);
18559 break;
18560 case SMSG_SUPERCEDED_SPELL:
18561 ptvcursor_add(ptv, hf_woww_new_spell_id, 2, ENC_LITTLE_ENDIAN);
18562 ptvcursor_add(ptv, hf_woww_old_spell_id, 2, ENC_LITTLE_ENDIAN);
18563 break;
18564 case SMSG_TAXINODE_STATUS:
18565 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18566 ptvcursor_add(ptv, hf_woww_taxi_mask_node_known, 1, ENC_NA);
18567 break;
18568 case SMSG_TEXT_EMOTE:
18569 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18570 ptvcursor_add(ptv, hf_woww_text_emote, 4, ENC_LITTLE_ENDIAN);
18571 ptvcursor_add(ptv, hf_woww_emote_int, 4, ENC_LITTLE_ENDIAN);
18572 add_sized_cstring(ptv, &hf_woww_name);
18573 break;
18574 case SMSG_TRADE_STATUS:
18575 ptvcursor_add_ret_uint(ptv, hf_woww_trade_status, 4, ENC_LITTLE_ENDIAN, &status);
18576 if (status == TRADE_STATUS_BEGIN_TRADE) {
18577 ptvcursor_add(ptv, hf_woww_unknown_guid, 8, ENC_LITTLE_ENDIAN);
18579 else if (status == TRADE_STATUS_CLOSE_WINDOW) {
18580 ptvcursor_add(ptv, hf_woww_inventory_result, 4, ENC_LITTLE_ENDIAN);
18581 ptvcursor_add(ptv, hf_woww_target_error, 1, ENC_NA);
18582 ptvcursor_add(ptv, hf_woww_item_limit_category_id, 4, ENC_LITTLE_ENDIAN);
18584 else if (status == TRADE_STATUS_ONLY_CONJURED
18585 || status == TRADE_STATUS_NOT_ON_TAPLIST) {
18586 ptvcursor_add(ptv, hf_woww_slot, 1, ENC_LITTLE_ENDIAN);
18588 break;
18589 case SMSG_TRADE_STATUS_EXTENDED:
18590 ptvcursor_add(ptv, hf_woww_self_player, 1, ENC_NA);
18591 ptvcursor_add(ptv, hf_woww_trade_slot_count, 4, ENC_LITTLE_ENDIAN);
18592 ptvcursor_add(ptv, hf_woww_trade_slot_count, 4, ENC_LITTLE_ENDIAN);
18593 ptvcursor_add(ptv, hf_woww_money_in_trade, 4, ENC_LITTLE_ENDIAN);
18594 ptvcursor_add(ptv, hf_woww_spell_on_lowest_slot, 4, ENC_LITTLE_ENDIAN);
18595 for (uint32_t i1 = 0; i1 < 7; ++i1) {
18596 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TradeSlot %i", i1);
18597 ptvcursor_add(ptv, hf_woww_trade_slot_number, 1, ENC_LITTLE_ENDIAN);
18598 ptvcursor_add(ptv, hf_woww_item, 4, ENC_LITTLE_ENDIAN);
18599 ptvcursor_add(ptv, hf_woww_display_id, 4, ENC_LITTLE_ENDIAN);
18600 ptvcursor_add(ptv, hf_woww_stack_count, 4, ENC_LITTLE_ENDIAN);
18601 ptvcursor_add(ptv, hf_woww_wrapped, 4, ENC_LITTLE_ENDIAN);
18602 ptvcursor_add(ptv, hf_woww_gift_wrapper, 8, ENC_LITTLE_ENDIAN);
18603 ptvcursor_add(ptv, hf_woww_enchantment, 4, ENC_LITTLE_ENDIAN);
18604 ptvcursor_add(ptv, hf_woww_item_creator, 8, ENC_LITTLE_ENDIAN);
18605 ptvcursor_add(ptv, hf_woww_spell_charges, 4, ENC_LITTLE_ENDIAN);
18606 ptvcursor_add(ptv, hf_woww_item_suffix_factor, 4, ENC_LITTLE_ENDIAN);
18607 ptvcursor_add(ptv, hf_woww_item_random_properties_id, 4, ENC_LITTLE_ENDIAN);
18608 ptvcursor_add(ptv, hf_woww_lock_id, 4, ENC_LITTLE_ENDIAN);
18609 ptvcursor_add(ptv, hf_woww_max_durability, 4, ENC_LITTLE_ENDIAN);
18610 ptvcursor_add(ptv, hf_woww_durability, 4, ENC_LITTLE_ENDIAN);
18611 ptvcursor_pop_subtree(ptv);
18613 break;
18614 case SMSG_TRAINER_BUY_FAILED:
18615 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18616 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18617 ptvcursor_add(ptv, hf_woww_training_failure_reason, 4, ENC_LITTLE_ENDIAN);
18618 break;
18619 case SMSG_TRAINER_BUY_SUCCEEDED:
18620 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18621 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18622 break;
18623 case SMSG_TRAINER_LIST:
18624 ptvcursor_add(ptv, hf_woww_guid, 8, ENC_LITTLE_ENDIAN);
18625 ptvcursor_add(ptv, hf_woww_trainer_type, 4, ENC_LITTLE_ENDIAN);
18626 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_spells, 4, ENC_LITTLE_ENDIAN, &amount_of_spells);
18627 for (uint32_t i1 = 0; i1 < amount_of_spells; ++i1) {
18628 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "TrainerSpell %i", i1);
18629 ptvcursor_add(ptv, hf_woww_spell, 4, ENC_LITTLE_ENDIAN);
18630 ptvcursor_add(ptv, hf_woww_trainer_spell_state, 1, ENC_LITTLE_ENDIAN);
18631 ptvcursor_add(ptv, hf_woww_spell_cost, 4, ENC_LITTLE_ENDIAN);
18632 ptvcursor_add(ptv, hf_woww_talent_point_cost, 4, ENC_LITTLE_ENDIAN);
18633 ptvcursor_add(ptv, hf_woww_first_rank, 4, ENC_LITTLE_ENDIAN);
18634 ptvcursor_add(ptv, hf_woww_required_level, 1, ENC_LITTLE_ENDIAN);
18635 ptvcursor_add(ptv, hf_woww_skill, 4, ENC_LITTLE_ENDIAN);
18636 ptvcursor_add(ptv, hf_woww_required_skill_value, 4, ENC_LITTLE_ENDIAN);
18637 for (uint32_t i2 = 0; i2 < 3; ++i2) {
18638 ptvcursor_add(ptv, hf_woww_required_spells, 4, ENC_LITTLE_ENDIAN);
18640 ptvcursor_pop_subtree(ptv);
18642 add_cstring(ptv, &hf_woww_greeting);
18643 break;
18644 case SMSG_TRANSFER_ABORTED:
18645 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
18646 ptvcursor_add(ptv, hf_woww_transfer_abort_reason, 1, ENC_LITTLE_ENDIAN);
18647 ptvcursor_add(ptv, hf_woww_argument, 1, ENC_LITTLE_ENDIAN);
18648 break;
18649 case SMSG_TRANSFER_PENDING:
18650 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
18651 len = offset_packet_end - ptvcursor_current_offset(ptv);
18652 if (len > 0) {
18653 ptvcursor_add(ptv, hf_woww_transport, 4, ENC_LITTLE_ENDIAN);
18654 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
18656 break;
18657 case SMSG_TRIGGER_CINEMATIC:
18658 ptvcursor_add(ptv, hf_woww_cinematic_sequence_id, 4, ENC_LITTLE_ENDIAN);
18659 break;
18660 case SMSG_TURN_IN_PETITION_RESULTS:
18661 ptvcursor_add(ptv, hf_woww_petition_result, 4, ENC_LITTLE_ENDIAN);
18662 break;
18663 case SMSG_TUTORIAL_FLAGS:
18664 for (uint32_t i1 = 0; i1 < 8; ++i1) {
18665 ptvcursor_add(ptv, hf_woww_tutorial_data, 4, ENC_LITTLE_ENDIAN);
18667 break;
18668 case SMSG_UPDATE_AURA_DURATION:
18669 ptvcursor_add(ptv, hf_woww_aura_slot, 1, ENC_LITTLE_ENDIAN);
18670 ptvcursor_add(ptv, hf_woww_aura_duration, 4, ENC_LITTLE_ENDIAN);
18671 break;
18672 case SMSG_UPDATE_INSTANCE_OWNERSHIP:
18673 ptvcursor_add(ptv, hf_woww_player_is_saved_to_a_raid, 4, ENC_LITTLE_ENDIAN);
18674 break;
18675 case SMSG_UPDATE_LAST_INSTANCE:
18676 ptvcursor_add(ptv, hf_woww_map, 4, ENC_LITTLE_ENDIAN);
18677 break;
18678 case SMSG_UPDATE_OBJECT:
18679 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_objects, 4, ENC_LITTLE_ENDIAN, &amount_of_objects);
18680 ptvcursor_add(ptv, hf_woww_has_transport, 1, ENC_LITTLE_ENDIAN);
18681 for (uint32_t i1 = 0; i1 < amount_of_objects; ++i1) {
18682 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Object %i", i1);
18683 ptvcursor_add_ret_uint(ptv, hf_woww_update_type, 1, ENC_LITTLE_ENDIAN, &update_type);
18684 if (update_type == UPDATE_TYPE_VALUES) {
18685 add_packed_guid(ptv, pinfo);
18686 add_update_mask(ptv, pinfo);
18688 else if (update_type == UPDATE_TYPE_MOVEMENT) {
18689 add_packed_guid(ptv, pinfo);
18690 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementBlock");
18691 ptvcursor_add_ret_uint(ptv, hf_woww_update_flag, 1, ENC_LITTLE_ENDIAN, &update_flag);
18692 if (update_flag & UPDATE_FLAG_LIVING) {
18693 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
18694 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
18695 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18696 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18697 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18698 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18699 ptvcursor_pop_subtree(ptv);
18700 ptvcursor_add(ptv, hf_woww_living_orientation, 4, ENC_LITTLE_ENDIAN);
18701 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
18702 add_packed_guid(ptv, pinfo);
18703 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18704 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18705 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18706 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18707 ptvcursor_pop_subtree(ptv);
18708 ptvcursor_add(ptv, hf_woww_transport_orientation, 4, ENC_LITTLE_ENDIAN);
18710 if (flags & MOVEMENT_FLAGS_SWIMMING) {
18711 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
18713 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
18714 if (flags & MOVEMENT_FLAGS_JUMPING) {
18715 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
18716 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
18717 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
18718 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
18720 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
18721 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
18723 ptvcursor_add(ptv, hf_woww_walking_speed, 4, ENC_LITTLE_ENDIAN);
18724 ptvcursor_add(ptv, hf_woww_running_speed, 4, ENC_LITTLE_ENDIAN);
18725 ptvcursor_add(ptv, hf_woww_backwards_running_speed, 4, ENC_LITTLE_ENDIAN);
18726 ptvcursor_add(ptv, hf_woww_swimming_speed, 4, ENC_LITTLE_ENDIAN);
18727 ptvcursor_add(ptv, hf_woww_backwards_swimming_speed, 4, ENC_LITTLE_ENDIAN);
18728 ptvcursor_add(ptv, hf_woww_turn_rate, 4, ENC_LITTLE_ENDIAN);
18729 if (flags & MOVEMENT_FLAGS_SPLINE_ENABLED) {
18730 ptvcursor_add_ret_uint(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN, &spline_flags);
18731 if (spline_flags & SPLINE_FLAG_FINAL_ANGLE) {
18732 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
18734 else if (spline_flags & SPLINE_FLAG_FINAL_TARGET) {
18735 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18737 else if (spline_flags & SPLINE_FLAG_FINAL_POINT) {
18738 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18739 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18740 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18741 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18742 ptvcursor_pop_subtree(ptv);
18744 ptvcursor_add(ptv, hf_woww_time_passed, 4, ENC_LITTLE_ENDIAN);
18745 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
18746 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18747 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_nodes, 4, ENC_LITTLE_ENDIAN, &amount_of_nodes);
18748 for (uint32_t i2 = 0; i2 < amount_of_nodes; ++i2) {
18749 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d %i", i2);
18750 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18751 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18752 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18753 ptvcursor_pop_subtree(ptv);
18755 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18756 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18757 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18758 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18759 ptvcursor_pop_subtree(ptv);
18762 else if (update_flag & UPDATE_FLAG_HAS_POSITION) {
18763 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18764 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18765 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18766 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18767 ptvcursor_pop_subtree(ptv);
18768 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
18770 if (update_flag & UPDATE_FLAG_HIGH_GUID) {
18771 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18773 if (update_flag & UPDATE_FLAG_ALL) {
18774 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18776 if (update_flag & UPDATE_FLAG_MELEE_ATTACKING) {
18777 add_packed_guid(ptv, pinfo);
18779 if (update_flag & UPDATE_FLAG_TRANSPORT) {
18780 ptvcursor_add(ptv, hf_woww_transport_progress_in_ms, 4, ENC_LITTLE_ENDIAN);
18782 ptvcursor_pop_subtree(ptv);
18784 else if (update_type == UPDATE_TYPE_CREATE_OBJECT
18785 || update_type == UPDATE_TYPE_CREATE_OBJECT2) {
18786 add_packed_guid(ptv, pinfo);
18787 ptvcursor_add(ptv, hf_woww_object_type, 1, ENC_LITTLE_ENDIAN);
18788 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "MovementBlock");
18789 ptvcursor_add_ret_uint(ptv, hf_woww_update_flag, 1, ENC_LITTLE_ENDIAN, &update_flag);
18790 if (update_flag & UPDATE_FLAG_LIVING) {
18791 ptvcursor_add_ret_uint(ptv, hf_woww_movement_flags, 4, ENC_LITTLE_ENDIAN, &flags);
18792 ptvcursor_add(ptv, hf_woww_timestamp, 4, ENC_LITTLE_ENDIAN);
18793 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18794 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18795 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18796 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18797 ptvcursor_pop_subtree(ptv);
18798 ptvcursor_add(ptv, hf_woww_living_orientation, 4, ENC_LITTLE_ENDIAN);
18799 if (flags & MOVEMENT_FLAGS_ON_TRANSPORT) {
18800 add_packed_guid(ptv, pinfo);
18801 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18802 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18803 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18804 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18805 ptvcursor_pop_subtree(ptv);
18806 ptvcursor_add(ptv, hf_woww_transport_orientation, 4, ENC_LITTLE_ENDIAN);
18808 if (flags & MOVEMENT_FLAGS_SWIMMING) {
18809 ptvcursor_add(ptv, hf_woww_pitch, 4, ENC_LITTLE_ENDIAN);
18811 ptvcursor_add(ptv, hf_woww_fall_time, 4, ENC_LITTLE_ENDIAN);
18812 if (flags & MOVEMENT_FLAGS_JUMPING) {
18813 ptvcursor_add(ptv, hf_woww_z_speed, 4, ENC_LITTLE_ENDIAN);
18814 ptvcursor_add(ptv, hf_woww_cos_angle, 4, ENC_LITTLE_ENDIAN);
18815 ptvcursor_add(ptv, hf_woww_sin_angle, 4, ENC_LITTLE_ENDIAN);
18816 ptvcursor_add(ptv, hf_woww_xy_speed, 4, ENC_LITTLE_ENDIAN);
18818 if (flags & MOVEMENT_FLAGS_SPLINE_ELEVATION) {
18819 ptvcursor_add(ptv, hf_woww_spline_elevation, 4, ENC_LITTLE_ENDIAN);
18821 ptvcursor_add(ptv, hf_woww_walking_speed, 4, ENC_LITTLE_ENDIAN);
18822 ptvcursor_add(ptv, hf_woww_running_speed, 4, ENC_LITTLE_ENDIAN);
18823 ptvcursor_add(ptv, hf_woww_backwards_running_speed, 4, ENC_LITTLE_ENDIAN);
18824 ptvcursor_add(ptv, hf_woww_swimming_speed, 4, ENC_LITTLE_ENDIAN);
18825 ptvcursor_add(ptv, hf_woww_backwards_swimming_speed, 4, ENC_LITTLE_ENDIAN);
18826 ptvcursor_add(ptv, hf_woww_turn_rate, 4, ENC_LITTLE_ENDIAN);
18827 if (flags & MOVEMENT_FLAGS_SPLINE_ENABLED) {
18828 ptvcursor_add_ret_uint(ptv, hf_woww_spline_flag, 4, ENC_LITTLE_ENDIAN, &spline_flags);
18829 if (spline_flags & SPLINE_FLAG_FINAL_ANGLE) {
18830 ptvcursor_add(ptv, hf_woww_angle, 4, ENC_LITTLE_ENDIAN);
18832 else if (spline_flags & SPLINE_FLAG_FINAL_TARGET) {
18833 ptvcursor_add(ptv, hf_woww_target, 8, ENC_LITTLE_ENDIAN);
18835 else if (spline_flags & SPLINE_FLAG_FINAL_POINT) {
18836 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18837 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18838 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18839 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18840 ptvcursor_pop_subtree(ptv);
18842 ptvcursor_add(ptv, hf_woww_time_passed, 4, ENC_LITTLE_ENDIAN);
18843 ptvcursor_add(ptv, hf_woww_duration, 4, ENC_LITTLE_ENDIAN);
18844 ptvcursor_add(ptv, hf_woww_id, 4, ENC_LITTLE_ENDIAN);
18845 ptvcursor_add_ret_uint(ptv, hf_woww_amount_of_nodes, 4, ENC_LITTLE_ENDIAN, &amount_of_nodes);
18846 for (uint32_t i2 = 0; i2 < amount_of_nodes; ++i2) {
18847 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d %i", i2);
18848 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18849 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18850 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18851 ptvcursor_pop_subtree(ptv);
18853 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18854 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18855 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18856 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18857 ptvcursor_pop_subtree(ptv);
18860 else if (update_flag & UPDATE_FLAG_HAS_POSITION) {
18861 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "Vector3d");
18862 ptvcursor_add(ptv, hf_woww_x, 4, ENC_LITTLE_ENDIAN);
18863 ptvcursor_add(ptv, hf_woww_y, 4, ENC_LITTLE_ENDIAN);
18864 ptvcursor_add(ptv, hf_woww_z, 4, ENC_LITTLE_ENDIAN);
18865 ptvcursor_pop_subtree(ptv);
18866 ptvcursor_add(ptv, hf_woww_orientation, 4, ENC_LITTLE_ENDIAN);
18868 if (update_flag & UPDATE_FLAG_HIGH_GUID) {
18869 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18871 if (update_flag & UPDATE_FLAG_ALL) {
18872 ptvcursor_add(ptv, hf_woww_unknown_int, 4, ENC_LITTLE_ENDIAN);
18874 if (update_flag & UPDATE_FLAG_MELEE_ATTACKING) {
18875 add_packed_guid(ptv, pinfo);
18877 if (update_flag & UPDATE_FLAG_TRANSPORT) {
18878 ptvcursor_add(ptv, hf_woww_transport_progress_in_ms, 4, ENC_LITTLE_ENDIAN);
18880 ptvcursor_pop_subtree(ptv);
18881 add_update_mask(ptv, pinfo);
18883 else if (update_type == UPDATE_TYPE_OUT_OF_RANGE_OBJECTS
18884 || update_type == UPDATE_TYPE_NEAR_OBJECTS) {
18885 ptvcursor_add_ret_uint(ptv, hf_woww_count, 4, ENC_LITTLE_ENDIAN, &count);
18886 for (uint32_t i2 = 0; i2 < count; ++i2) {
18887 add_packed_guid(ptv, pinfo);
18890 ptvcursor_pop_subtree(ptv);
18892 break;
18893 case SMSG_UPDATE_WORLD_STATE:
18894 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "WorldState");
18895 ptvcursor_add(ptv, hf_woww_state, 4, ENC_LITTLE_ENDIAN);
18896 ptvcursor_add(ptv, hf_woww_value, 4, ENC_LITTLE_ENDIAN);
18897 ptvcursor_pop_subtree(ptv);
18898 break;
18899 case SMSG_WARDEN_DATA:
18900 len = offset_packet_end - ptvcursor_current_offset(ptv);
18901 ptvcursor_add(ptv, hf_woww_encrypted_data, len, ENC_NA);
18902 break;
18903 case SMSG_WEATHER:
18904 ptvcursor_add(ptv, hf_woww_weather_type, 4, ENC_LITTLE_ENDIAN);
18905 ptvcursor_add(ptv, hf_woww_grade, 4, ENC_LITTLE_ENDIAN);
18906 ptvcursor_add(ptv, hf_woww_sound_id, 4, ENC_LITTLE_ENDIAN);
18907 ptvcursor_add(ptv, hf_woww_weather_change_type, 1, ENC_LITTLE_ENDIAN);
18908 break;
18909 case SMSG_WHO:
18910 ptvcursor_add_ret_uint(ptv, hf_woww_listed_players, 4, ENC_LITTLE_ENDIAN, &listed_players);
18911 ptvcursor_add(ptv, hf_woww_online_players, 4, ENC_LITTLE_ENDIAN);
18912 for (uint32_t i1 = 0; i1 < listed_players; ++i1) {
18913 ptvcursor_add_text_with_subtree(ptv, SUBTREE_UNDEFINED_LENGTH, ett_message, "WhoPlayer %i", i1);
18914 add_cstring(ptv, &hf_woww_name);
18915 add_cstring(ptv, &hf_woww_guild);
18916 ptvcursor_add(ptv, hf_woww_level, 4, ENC_LITTLE_ENDIAN);
18917 ptvcursor_add(ptv, hf_woww_class, 1, ENC_LITTLE_ENDIAN);
18918 ptvcursor_add(ptv, hf_woww_race, 1, ENC_LITTLE_ENDIAN);
18919 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
18920 ptvcursor_add(ptv, hf_woww_party_status, 4, ENC_LITTLE_ENDIAN);
18921 ptvcursor_pop_subtree(ptv);
18923 break;
18924 case SMSG_WHOIS:
18925 add_cstring(ptv, &hf_woww_message);
18926 break;
18927 case SMSG_ZONE_UNDER_ATTACK:
18928 ptvcursor_add(ptv, hf_woww_area, 4, ENC_LITTLE_ENDIAN);
18929 break;
18931 default:
18932 break;
18934 /* AUTOGENERATED_END_PARSER */
18936 ptvcursor_free(ptv);
18939 static int
18940 add_header_to_tree(WowwDecryptedHeader_t* decrypted_header,
18941 proto_tree* tree,
18942 tvbuff_t* tvb,
18943 packet_info* pinfo,
18944 uint8_t headerSize,
18945 int start_offset)
18947 // Size field does not count in the reported size, so we need to add it.
18948 const uint16_t packet_size = (decrypted_header->size[0] << 8 | decrypted_header->size[1]) + WOWW_HEADER_SIZE_FIELD_WIDTH;
18950 proto_tree* ti = proto_tree_add_item(tree, proto_woww, tvb, start_offset, packet_size, ENC_NA);
18952 proto_tree* woww_tree = proto_item_add_subtree(ti, ett_message);
18954 // Add to tree
18955 tvbuff_t *next_tvb = tvb_new_child_real_data(tvb, (uint8_t*)decrypted_header, headerSize, headerSize);
18956 add_new_data_source(pinfo, next_tvb, "Decrypted Header");
18958 // We're indexing into another tvb
18959 int offset = 0;
18960 int len = WOWW_HEADER_SIZE_FIELD_WIDTH;
18961 proto_tree_add_item(woww_tree, hf_woww_size, next_tvb,
18962 offset, len, ENC_BIG_ENDIAN);
18963 offset += len;
18965 uint32_t opcode = 0;
18966 if (WOWW_SERVER_TO_CLIENT) {
18967 len = 2;
18968 opcode = tvb_get_uint16(next_tvb, offset, ENC_LITTLE_ENDIAN);
18969 } else if (WOWW_CLIENT_TO_SERVER) {
18970 len = 4;
18971 opcode = tvb_get_uint32(next_tvb, offset, ENC_LITTLE_ENDIAN);
18974 proto_tree_add_item(woww_tree, hf_woww_opcode, next_tvb,
18975 offset, len, ENC_LITTLE_ENDIAN);
18977 if (start_offset == 0) {
18978 // First message
18979 col_set_str(pinfo->cinfo, COL_INFO, val_to_str_const(opcode,
18980 world_packet_strings,
18981 "Encrypted Header"));
18983 else {
18984 col_append_str(pinfo->cinfo, COL_INFO, " | ");
18985 col_append_str(pinfo->cinfo, COL_INFO, val_to_str_const(opcode,
18986 world_packet_strings,
18987 "Encrypted Header"));
18990 proto_item_set_text(woww_tree, "%s", val_to_str_const(opcode,
18991 world_packet_strings,
18992 "Encrypted Header"));
18994 int offset_packet_end = start_offset + (int)packet_size;
18996 // Remember to go back to original tvb
18997 add_body_fields(opcode, woww_tree, tvb, start_offset + headerSize, offset_packet_end, pinfo);
18999 return offset_packet_end;
19002 static int
19003 dissect_woww(tvbuff_t *tvb,
19004 packet_info *pinfo,
19005 proto_tree *tree,
19006 void *data _U_)
19008 if (tvb_reported_length(tvb) < WOWW_MIN_LENGTH)
19009 return 0;
19011 if (tvb_captured_length(tvb) < 1)
19012 return 0;
19014 col_set_str(pinfo->cinfo, COL_PROTOCOL, "WOWW");
19016 col_set_str(pinfo->cinfo, COL_INFO, "Session Key Not Known Yet");
19018 // Get conversation data
19019 conversation_t* conv = find_or_create_conversation(pinfo);
19020 WowwConversation_t* wowwConversation = (WowwConversation_t *)conversation_get_proto_data(conv,
19021 proto_woww);
19022 if (wowwConversation == NULL) {
19023 // Assume that file scope means for the lifetime of the dissection
19024 wowwConversation = (WowwConversation_t*) wmem_new0(wmem_file_scope(), WowwConversation_t);
19025 conversation_add_proto_data(conv, proto_woww, wowwConversation);
19026 wowwConversation->decrypted_headers = wmem_map_new(wmem_file_scope(), g_int64_hash, g_int64_equal);
19027 wowwConversation->headers_need_decryption = wmem_map_new(wmem_file_scope(), g_int64_hash, g_int64_equal);
19030 // Isolate session key for packet
19031 WowwParticipant_t* participant;
19032 uint8_t headerSize = 4;
19034 if (WOWW_SERVER_TO_CLIENT) {
19035 participant = &wowwConversation->server;
19036 headerSize = 4;
19037 } else {
19038 participant = &wowwConversation->client;
19039 headerSize = 6;
19042 proto_tree* ti = proto_tree_add_item(tree, proto_woww, tvb, 0, -1, ENC_NA);
19044 proto_tree* woww_tree = proto_item_add_subtree(ti, ett_woww);
19046 int pdu_offset = 0;
19047 int reported_length = (int)tvb_reported_length(tvb);
19048 uint8_t header_index = 0;
19049 do {
19050 WowwDecryptedHeader_t* decrypted_header = handle_packet_header(pinfo, tvb, participant, wowwConversation, headerSize, header_index, pdu_offset);
19051 if (!decrypted_header) {
19052 return tvb_captured_length(tvb);
19054 const int message_size = (decrypted_header->size[0] << 8 | decrypted_header->size[1]) + WOWW_HEADER_SIZE_FIELD_WIDTH;
19055 if ((pdu_offset + message_size) > reported_length) {
19056 return pdu_offset;
19059 pdu_offset = add_header_to_tree(decrypted_header, woww_tree, tvb, pinfo, headerSize, pdu_offset);
19061 header_index++;
19062 } while (pdu_offset < reported_length);
19064 return tvb_captured_length(tvb);
19067 void
19068 proto_register_woww(void)
19070 static hf_register_info hf[] = {
19071 { &hf_woww_size,
19072 { "Size", "woww.size",
19073 FT_UINT16, BASE_HEX_DEC, NULL, 0,
19074 "Size of the packet including opcode field but not including size field", HFILL }
19076 { &hf_woww_opcode,
19077 { "Opcode", "woww.opcode",
19078 FT_UINT32, BASE_HEX, VALS(world_packet_strings), 0,
19079 "Opcode of the packet", HFILL }
19081 { &hf_woww_string_length,
19082 { "String Length", "woww.string_length",
19083 FT_UINT32, BASE_DEC_HEX, NULL, 0,
19084 NULL, HFILL }
19086 { &hf_woww_aura_mask,
19087 { "Aura Mask", "woww.aura_mask",
19088 FT_UINT32, BASE_DEC_HEX, NULL, 0,
19089 NULL, HFILL }
19091 { &hf_woww_aura,
19092 { "Aura", "woww.aura",
19093 FT_UINT32, BASE_DEC_HEX, NULL, 0,
19094 NULL, HFILL }
19096 { &hf_woww_amount_of_masks,
19097 { "Amount of Masks", "woww.amount_of_masks",
19098 FT_UINT8, BASE_DEC_HEX, NULL, 0,
19099 NULL, HFILL }
19101 { &hf_woww_update_mask,
19102 { "Update Mask", "woww.update_mask",
19103 FT_UINT32, BASE_DEC_HEX, NULL, 0,
19104 NULL, HFILL }
19106 { &hf_woww_update_mask_index,
19107 { "Update Mask Index", "woww.update_mask_index",
19108 FT_UINT32, BASE_DEC_HEX, NULL, 0,
19109 NULL, HFILL }
19111 { &hf_woww_update_mask_value,
19112 { "Update Mask Value", "woww.update_mask_value",
19113 FT_UINT32, BASE_DEC_HEX, NULL, 0,
19114 NULL, HFILL }
19116 { &hf_woww_amount_of_splines,
19117 { "Amount Of Splines", "woww.amount.of.splines",
19118 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19119 NULL, HFILL }
19121 { &hf_woww_packed_spline,
19122 { "Packed Spline", "woww.packed_spline",
19123 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19124 NULL, HFILL }
19126 /* AUTOGENERATED_START_REGISTER */
19127 { &hf_woww_absorb,
19128 { "Absorb", "woww.absorb",
19129 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19130 NULL, HFILL
19133 { &hf_woww_absorbed,
19134 { "Absorbed", "woww.absorbed",
19135 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19136 NULL, HFILL
19139 { &hf_woww_absorbed_damage,
19140 { "Absorbed Damage", "woww.absorbed.damage",
19141 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19142 NULL, HFILL
19145 { &hf_woww_account_data_type,
19146 { "Account Data Type", "woww.account.data.type",
19147 FT_UINT32, BASE_HEX_DEC, VALS(e_account_data_type_strings), 0,
19148 NULL, HFILL
19151 { &hf_woww_action,
19152 { "Action", "woww.action",
19153 FT_UINT16, BASE_HEX_DEC, NULL, 0,
19154 NULL, HFILL
19157 { &hf_woww_action_bar,
19158 { "Action Bar", "woww.action.bar",
19159 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19160 NULL, HFILL
19163 { &hf_woww_action_bars,
19164 { "Action Bars", "woww.action.bars",
19165 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19166 NULL, HFILL
19169 { &hf_woww_action_type,
19170 { "Action Type", "woww.action.type",
19171 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19172 NULL, HFILL
19175 { &hf_woww_activate_taxi_reply,
19176 { "Activate Taxi Reply", "woww.activate.taxi.reply",
19177 FT_UINT32, BASE_HEX_DEC, VALS(e_activate_taxi_reply_strings), 0,
19178 NULL, HFILL
19181 { &hf_woww_actual_roll,
19182 { "Actual Roll", "woww.actual.roll",
19183 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19184 NULL, HFILL
19187 { &hf_woww_addon_crc,
19188 { "Addon Crc", "woww.addon.crc",
19189 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19190 NULL, HFILL
19193 { &hf_woww_addon_extra_crc,
19194 { "Addon Extra Crc", "woww.addon.extra.crc",
19195 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19196 NULL, HFILL
19199 { &hf_woww_addon_has_signature,
19200 { "Addon Has Signature", "woww.addon.has.signature",
19201 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19202 NULL, HFILL
19205 { &hf_woww_addon_name,
19206 { "Addon Name", "woww.addon.name",
19207 FT_STRINGZ, BASE_NONE, NULL, 0,
19208 NULL, HFILL
19211 { &hf_woww_addon_type,
19212 { "Addon Type", "woww.addon.type",
19213 FT_UINT8, BASE_HEX_DEC, VALS(e_addon_type_strings), 0,
19214 NULL, HFILL
19217 { &hf_woww_agility,
19218 { "Agility", "woww.agility",
19219 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19220 NULL, HFILL
19223 { &hf_woww_ai_reaction,
19224 { "Ai Reaction", "woww.ai.reaction",
19225 FT_UINT32, BASE_HEX_DEC, VALS(e_ai_reaction_strings), 0,
19226 NULL, HFILL
19229 { &hf_woww_allow_movement,
19230 { "Allow Movement", "woww.allow.movement",
19231 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19232 NULL, HFILL
19235 { &hf_woww_allowed_class,
19236 { "Allowed Class", "woww.allowed.class",
19237 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19238 NULL, HFILL
19241 { &hf_woww_allowed_genders,
19242 { "Allowed Genders", "woww.allowed.genders",
19243 FT_UINT16, BASE_HEX_DEC, NULL, 0,
19244 NULL, HFILL
19247 { &hf_woww_allowed_guild_id,
19248 { "Allowed Guild Id", "woww.allowed.guild.id",
19249 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19250 NULL, HFILL
19253 { &hf_woww_allowed_maximum_level,
19254 { "Allowed Maximum Level", "woww.allowed.maximum.level",
19255 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19256 NULL, HFILL
19259 { &hf_woww_allowed_minimum_level,
19260 { "Allowed Minimum Level", "woww.allowed.minimum.level",
19261 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19262 NULL, HFILL
19265 { &hf_woww_allowed_race,
19266 { "Allowed Race", "woww.allowed.race",
19267 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19268 NULL, HFILL
19271 { &hf_woww_ammo_display_id,
19272 { "Ammo Display Id", "woww.ammo.display.id",
19273 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19274 NULL, HFILL
19277 { &hf_woww_ammo_inventory_type,
19278 { "Ammo Inventory Type", "woww.ammo.inventory.type",
19279 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19280 NULL, HFILL
19283 { &hf_woww_ammo_type,
19284 { "Ammo Type", "woww.ammo.type",
19285 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19286 NULL, HFILL
19289 { &hf_woww_amount,
19290 { "Amount", "woww.amount",
19291 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19292 NULL, HFILL
19295 { &hf_woww_amount_bought,
19296 { "Amount Bought", "woww.amount.bought",
19297 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19298 NULL, HFILL
19301 { &hf_woww_amount_for_sale,
19302 { "Amount For Sale", "woww.amount.for.sale",
19303 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19304 NULL, HFILL
19307 { &hf_woww_amount_of_accounts_in_guild,
19308 { "Amount Of Accounts In Guild", "woww.amount.of.accounts.in.guild",
19309 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19310 NULL, HFILL
19313 { &hf_woww_amount_of_auras,
19314 { "Amount Of Auras", "woww.amount.of.auras",
19315 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19316 NULL, HFILL
19319 { &hf_woww_amount_of_carriers,
19320 { "Amount Of Carriers", "woww.amount.of.carriers",
19321 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19322 NULL, HFILL
19325 { &hf_woww_amount_of_characters,
19326 { "Amount Of Characters", "woww.amount.of.characters",
19327 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19328 NULL, HFILL
19331 { &hf_woww_amount_of_characters_in_guild,
19332 { "Amount Of Characters In Guild", "woww.amount.of.characters.in.guild",
19333 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19334 NULL, HFILL
19337 { &hf_woww_amount_of_choice_item_rewards,
19338 { "Amount Of Choice Item Rewards", "woww.amount.of.choice.item.rewards",
19339 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19340 NULL, HFILL
19343 { &hf_woww_amount_of_cooldowns,
19344 { "Amount Of Cooldowns", "woww.amount.of.cooldowns",
19345 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19346 NULL, HFILL
19349 { &hf_woww_amount_of_damages,
19350 { "Amount Of Damages", "woww.amount.of.damages",
19351 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19352 NULL, HFILL
19355 { &hf_woww_amount_of_effects,
19356 { "Amount Of Effects", "woww.amount.of.effects",
19357 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19358 NULL, HFILL
19361 { &hf_woww_amount_of_emotes,
19362 { "Amount Of Emotes", "woww.amount.of.emotes",
19363 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19364 NULL, HFILL
19367 { &hf_woww_amount_of_entries,
19368 { "Amount Of Entries", "woww.amount.of.entries",
19369 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19370 NULL, HFILL
19373 { &hf_woww_amount_of_events,
19374 { "Amount Of Events", "woww.amount.of.events",
19375 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19376 NULL, HFILL
19379 { &hf_woww_amount_of_extra_fields,
19380 { "Amount Of Extra Fields", "woww.amount.of.extra.fields",
19381 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19382 NULL, HFILL
19385 { &hf_woww_amount_of_faction_standings,
19386 { "Amount Of Faction Standings", "woww.amount.of.faction.standings",
19387 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19388 NULL, HFILL
19391 { &hf_woww_amount_of_factions,
19392 { "Amount Of Factions", "woww.amount.of.factions",
19393 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19394 NULL, HFILL
19397 { &hf_woww_amount_of_friends,
19398 { "Amount Of Friends", "woww.amount.of.friends",
19399 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19400 NULL, HFILL
19403 { &hf_woww_amount_of_gossip_items,
19404 { "Amount Of Gossip Items", "woww.amount.of.gossip.items",
19405 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19406 NULL, HFILL
19409 { &hf_woww_amount_of_hits,
19410 { "Amount Of Hits", "woww.amount.of.hits",
19411 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19412 NULL, HFILL
19415 { &hf_woww_amount_of_ignored,
19416 { "Amount Of Ignored", "woww.amount.of.ignored",
19417 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19418 NULL, HFILL
19421 { &hf_woww_amount_of_item_rewards,
19422 { "Amount Of Item Rewards", "woww.amount.of.item.rewards",
19423 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19424 NULL, HFILL
19427 { &hf_woww_amount_of_items,
19428 { "Amount Of Items", "woww.amount.of.items",
19429 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19430 NULL, HFILL
19433 { &hf_woww_amount_of_logs,
19434 { "Amount Of Logs", "woww.amount.of.logs",
19435 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19436 NULL, HFILL
19439 { &hf_woww_amount_of_mails,
19440 { "Amount Of Mails", "woww.amount.of.mails",
19441 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19442 NULL, HFILL
19445 { &hf_woww_amount_of_members,
19446 { "Amount Of Members", "woww.amount.of.members",
19447 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19448 NULL, HFILL
19451 { &hf_woww_amount_of_misses,
19452 { "Amount Of Misses", "woww.amount.of.misses",
19453 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19454 NULL, HFILL
19457 { &hf_woww_amount_of_nodes,
19458 { "Amount Of Nodes", "woww.amount.of.nodes",
19459 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19460 NULL, HFILL
19463 { &hf_woww_amount_of_objects,
19464 { "Amount Of Objects", "woww.amount.of.objects",
19465 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19466 NULL, HFILL
19469 { &hf_woww_amount_of_outbid_items,
19470 { "Amount Of Outbid Items", "woww.amount.of.outbid.items",
19471 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19472 NULL, HFILL
19475 { &hf_woww_amount_of_petitions,
19476 { "Amount Of Petitions", "woww.amount.of.petitions",
19477 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19478 NULL, HFILL
19481 { &hf_woww_amount_of_pets,
19482 { "Amount Of Pets", "woww.amount.of.pets",
19483 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19484 NULL, HFILL
19487 { &hf_woww_amount_of_players,
19488 { "Amount Of Players", "woww.amount.of.players",
19489 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19490 NULL, HFILL
19493 { &hf_woww_amount_of_quests,
19494 { "Amount Of Quests", "woww.amount.of.quests",
19495 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19496 NULL, HFILL
19499 { &hf_woww_amount_of_raid_infos,
19500 { "Amount Of Raid Infos", "woww.amount.of.raid.infos",
19501 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19502 NULL, HFILL
19505 { &hf_woww_amount_of_reactions,
19506 { "Amount Of Reactions", "woww.amount.of.reactions",
19507 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19508 NULL, HFILL
19511 { &hf_woww_amount_of_records,
19512 { "Amount Of Records", "woww.amount.of.records",
19513 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19514 NULL, HFILL
19517 { &hf_woww_amount_of_required_items,
19518 { "Amount Of Required Items", "woww.amount.of.required.items",
19519 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19520 NULL, HFILL
19523 { &hf_woww_amount_of_rights,
19524 { "Amount Of Rights", "woww.amount.of.rights",
19525 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19526 NULL, HFILL
19529 { &hf_woww_amount_of_signatures,
19530 { "Amount Of Signatures", "woww.amount.of.signatures",
19531 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19532 NULL, HFILL
19535 { &hf_woww_amount_of_spells,
19536 { "Amount Of Spells", "woww.amount.of.spells",
19537 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19538 NULL, HFILL
19541 { &hf_woww_amount_of_states,
19542 { "Amount Of States", "woww.amount.of.states",
19543 FT_UINT16, BASE_HEX_DEC, NULL, 0,
19544 NULL, HFILL
19547 { &hf_woww_amount_of_strings,
19548 { "Amount Of Strings", "woww.amount.of.strings",
19549 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19550 NULL, HFILL
19553 { &hf_woww_amount_of_targets,
19554 { "Amount Of Targets", "woww.amount.of.targets",
19555 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19556 NULL, HFILL
19559 { &hf_woww_amount_of_teammates,
19560 { "Amount Of Teammates", "woww.amount.of.teammates",
19561 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19562 NULL, HFILL
19565 { &hf_woww_amount_of_zones,
19566 { "Amount Of Zones", "woww.amount.of.zones",
19567 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19568 NULL, HFILL
19571 { &hf_woww_angle,
19572 { "Angle", "woww.angle",
19573 FT_FLOAT, BASE_NONE, NULL, 0,
19574 NULL, HFILL
19577 { &hf_woww_animation_id,
19578 { "Animation Id", "woww.animation.id",
19579 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19580 NULL, HFILL
19583 { &hf_woww_answer,
19584 { "Answer", "woww.answer",
19585 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19586 NULL, HFILL
19589 { &hf_woww_answer_comment,
19590 { "Answer Comment", "woww.answer.comment",
19591 FT_STRINGZ, BASE_NONE, NULL, 0,
19592 NULL, HFILL
19595 { &hf_woww_apply,
19596 { "Apply", "woww.apply",
19597 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19598 NULL, HFILL
19601 { &hf_woww_arcane_resistance,
19602 { "Arcane Resistance", "woww.arcane.resistance",
19603 FT_INT32, BASE_DEC, NULL, 0,
19604 NULL, HFILL
19607 { &hf_woww_area,
19608 { "Area", "woww.area",
19609 FT_UINT32, BASE_HEX_DEC, VALS(e_area_strings), 0,
19610 NULL, HFILL
19613 { &hf_woww_argument,
19614 { "Argument", "woww.argument",
19615 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19616 NULL, HFILL
19619 { &hf_woww_armor,
19620 { "Armor", "woww.armor",
19621 FT_INT32, BASE_DEC, NULL, 0,
19622 NULL, HFILL
19625 { &hf_woww_attacker,
19626 { "Attacker", "woww.attacker",
19627 FT_UINT64, BASE_HEX_DEC, NULL, 0,
19628 NULL, HFILL
19631 { &hf_woww_auction_command_action,
19632 { "Auction Command Action", "woww.auction.command.action",
19633 FT_UINT32, BASE_HEX_DEC, VALS(e_auction_command_action_strings), 0,
19634 NULL, HFILL
19637 { &hf_woww_auction_command_result,
19638 { "Auction Command Result", "woww.auction.command.result",
19639 FT_UINT32, BASE_HEX_DEC, VALS(e_auction_command_result_strings), 0,
19640 NULL, HFILL
19643 { &hf_woww_auction_command_result_two,
19644 { "Auction Command Result Two", "woww.auction.command.result.two",
19645 FT_UINT32, BASE_HEX_DEC, VALS(e_auction_command_result_two_strings), 0,
19646 NULL, HFILL
19649 { &hf_woww_auction_duration_in_minutes,
19650 { "Auction Duration In Minutes", "woww.auction.duration.in.minutes",
19651 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19652 NULL, HFILL
19655 { &hf_woww_auction_house,
19656 { "Auction House", "woww.auction.house",
19657 FT_UINT32, BASE_HEX_DEC, VALS(e_auction_house_strings), 0,
19658 NULL, HFILL
19661 { &hf_woww_auction_id,
19662 { "Auction Id", "woww.auction.id",
19663 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19664 NULL, HFILL
19667 { &hf_woww_auction_main_category,
19668 { "Auction Main Category", "woww.auction.main.category",
19669 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19670 NULL, HFILL
19673 { &hf_woww_auction_out_bid,
19674 { "Auction Out Bid", "woww.auction.out.bid",
19675 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19676 NULL, HFILL
19679 { &hf_woww_auction_outbid,
19680 { "Auction Outbid", "woww.auction.outbid",
19681 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19682 NULL, HFILL
19685 { &hf_woww_auction_slot_id,
19686 { "Auction Slot Id", "woww.auction.slot.id",
19687 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19688 NULL, HFILL
19691 { &hf_woww_auction_sub_category,
19692 { "Auction Sub Category", "woww.auction.sub.category",
19693 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19694 NULL, HFILL
19697 { &hf_woww_auctioneer,
19698 { "Auctioneer", "woww.auctioneer",
19699 FT_UINT64, BASE_HEX_DEC, NULL, 0,
19700 NULL, HFILL
19703 { &hf_woww_aura_duration,
19704 { "Aura Duration", "woww.aura.duration",
19705 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19706 NULL, HFILL
19709 { &hf_woww_aura_slot,
19710 { "Aura Slot", "woww.aura.slot",
19711 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19712 NULL, HFILL
19715 { &hf_woww_aura_type,
19716 { "Aura Type", "woww.aura.type",
19717 FT_UINT32, BASE_HEX_DEC, VALS(e_aura_type_strings), 0,
19718 NULL, HFILL
19721 { &hf_woww_auto_decline_time,
19722 { "Auto Decline Time", "woww.auto.decline.time",
19723 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19724 NULL, HFILL
19727 { &hf_woww_auto_finish,
19728 { "Auto Finish", "woww.auto.finish",
19729 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19730 NULL, HFILL
19733 { &hf_woww_autocast_enabled,
19734 { "Autocast Enabled", "woww.autocast.enabled",
19735 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19736 NULL, HFILL
19739 { &hf_woww_average_wait_time_in_ms,
19740 { "Average Wait Time In Ms", "woww.average.wait.time.in.ms",
19741 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19742 NULL, HFILL
19745 { &hf_woww_background_color,
19746 { "Background Color", "woww.background.color",
19747 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19748 NULL, HFILL
19751 { &hf_woww_backwards_running_speed,
19752 { "Backwards Running Speed", "woww.backwards.running.speed",
19753 FT_FLOAT, BASE_NONE, NULL, 0,
19754 NULL, HFILL
19757 { &hf_woww_backwards_swimming_speed,
19758 { "Backwards Swimming Speed", "woww.backwards.swimming.speed",
19759 FT_FLOAT, BASE_NONE, NULL, 0,
19760 NULL, HFILL
19763 { &hf_woww_bag,
19764 { "Bag", "woww.bag",
19765 FT_UINT64, BASE_HEX_DEC, NULL, 0,
19766 NULL, HFILL
19769 { &hf_woww_bag_family,
19770 { "Bag Family", "woww.bag.family",
19771 FT_UINT32, BASE_HEX_DEC, VALS(e_bag_family_strings), 0,
19772 NULL, HFILL
19775 { &hf_woww_bag_index,
19776 { "Bag Index", "woww.bag.index",
19777 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19778 NULL, HFILL
19781 { &hf_woww_bag_slot,
19782 { "Bag Slot", "woww.bag.slot",
19783 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19784 NULL, HFILL
19787 { &hf_woww_bag_type_subclass,
19788 { "Bag Type Subclass", "woww.bag.type.subclass",
19789 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19790 NULL, HFILL
19793 { &hf_woww_battlefield_port_action,
19794 { "Battlefield Port Action", "woww.battlefield.port.action",
19795 FT_UINT8, BASE_HEX_DEC, VALS(e_battlefield_port_action_strings), 0,
19796 NULL, HFILL
19799 { &hf_woww_battleground_bracket,
19800 { "Battleground Bracket", "woww.battleground.bracket",
19801 FT_UINT8, BASE_HEX_DEC, VALS(e_battleground_bracket_strings), 0,
19802 NULL, HFILL
19805 { &hf_woww_battleground_end_status,
19806 { "Battleground End Status", "woww.battleground.end.status",
19807 FT_UINT8, BASE_HEX_DEC, VALS(e_battleground_end_status_strings), 0,
19808 NULL, HFILL
19811 { &hf_woww_battleground_winner,
19812 { "Battleground Winner", "woww.battleground.winner",
19813 FT_UINT8, BASE_HEX_DEC, VALS(e_battleground_winner_strings), 0,
19814 NULL, HFILL
19817 { &hf_woww_battlegrounds,
19818 { "Battlegrounds", "woww.battlegrounds",
19819 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19820 NULL, HFILL
19823 { &hf_woww_battlemaster,
19824 { "Battlemaster", "woww.battlemaster",
19825 FT_UINT64, BASE_HEX_DEC, NULL, 0,
19826 NULL, HFILL
19829 { &hf_woww_bg_type_id,
19830 { "Bg Type Id", "woww.bg.type.id",
19831 FT_UINT32, BASE_HEX_DEC, VALS(e_bg_type_id_strings), 0,
19832 NULL, HFILL
19835 { &hf_woww_bid,
19836 { "Bid", "woww.bid",
19837 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19838 NULL, HFILL
19841 { &hf_woww_bidder,
19842 { "Bidder", "woww.bidder",
19843 FT_UINT64, BASE_HEX_DEC, NULL, 0,
19844 NULL, HFILL
19847 { &hf_woww_billing_flags,
19848 { "Billing Flags", "woww.billing.flags",
19849 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19850 NULL, HFILL
19853 { &hf_woww_billing_rested,
19854 { "Billing Rested", "woww.billing.rested",
19855 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19856 NULL, HFILL
19859 { &hf_woww_billing_time,
19860 { "Billing Time", "woww.billing.time",
19861 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19862 NULL, HFILL
19865 { &hf_woww_block,
19866 { "Block", "woww.block",
19867 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19868 NULL, HFILL
19871 { &hf_woww_blocked,
19872 { "Blocked", "woww.blocked",
19873 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19874 NULL, HFILL
19877 { &hf_woww_blocked_amount,
19878 { "Blocked Amount", "woww.blocked.amount",
19879 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19880 NULL, HFILL
19883 { &hf_woww_body,
19884 { "Body", "woww.body",
19885 FT_STRINGZ, BASE_NONE, NULL, 0,
19886 NULL, HFILL
19889 { &hf_woww_body_text,
19890 { "Body Text", "woww.body.text",
19891 FT_STRINGZ, BASE_NONE, NULL, 0,
19892 NULL, HFILL
19895 { &hf_woww_bonding,
19896 { "Bonding", "woww.bonding",
19897 FT_UINT32, BASE_HEX_DEC, VALS(e_bonding_strings), 0,
19898 NULL, HFILL
19901 { &hf_woww_bonus_honor,
19902 { "Bonus Honor", "woww.bonus.honor",
19903 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19904 NULL, HFILL
19907 { &hf_woww_border_color,
19908 { "Border Color", "woww.border.color",
19909 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19910 NULL, HFILL
19913 { &hf_woww_border_style,
19914 { "Border Style", "woww.border.style",
19915 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19916 NULL, HFILL
19919 { &hf_woww_bug_type,
19920 { "Bug Type", "woww.bug.type",
19921 FT_STRINGZ, BASE_NONE, NULL, 0,
19922 NULL, HFILL
19925 { &hf_woww_build,
19926 { "Build", "woww.build",
19927 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19928 NULL, HFILL
19931 { &hf_woww_button,
19932 { "Button", "woww.button",
19933 FT_UINT8, BASE_HEX_DEC, NULL, 0,
19934 NULL, HFILL
19937 { &hf_woww_buy_bank_slot_result,
19938 { "Buy Bank Slot Result", "woww.buy.bank.slot.result",
19939 FT_UINT32, BASE_HEX_DEC, VALS(e_buy_bank_slot_result_strings), 0,
19940 NULL, HFILL
19943 { &hf_woww_buy_price,
19944 { "Buy Price", "woww.buy.price",
19945 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19946 NULL, HFILL
19949 { &hf_woww_buy_result,
19950 { "Buy Result", "woww.buy.result",
19951 FT_UINT8, BASE_HEX_DEC, VALS(e_buy_result_strings), 0,
19952 NULL, HFILL
19955 { &hf_woww_buyback_slot,
19956 { "Buyback Slot", "woww.buyback.slot",
19957 FT_UINT32, BASE_HEX_DEC, VALS(e_buyback_slot_strings), 0,
19958 NULL, HFILL
19961 { &hf_woww_buyout,
19962 { "Buyout", "woww.buyout",
19963 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19964 NULL, HFILL
19967 { &hf_woww_buyout_amount,
19968 { "Buyout Amount", "woww.buyout.amount",
19969 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19970 NULL, HFILL
19973 { &hf_woww_cash_on_delivery_amount,
19974 { "Cash On Delivery Amount", "woww.cash.on.delivery.amount",
19975 FT_UINT32, BASE_HEX_DEC, NULL, 0,
19976 NULL, HFILL
19979 { &hf_woww_cast_failure_reason,
19980 { "Cast Failure Reason", "woww.cast.failure.reason",
19981 FT_UINT8, BASE_HEX_DEC, VALS(e_cast_failure_reason_strings), 0,
19982 NULL, HFILL
19985 { &hf_woww_cast_flags,
19986 { "Cast Flags", "woww.cast.flags",
19987 FT_UINT16, BASE_HEX_DEC, NULL, 0,
19988 NULL, HFILL
19991 { &hf_woww_cast_item,
19992 { "Cast Item", "woww.cast.item",
19993 FT_UINT64, BASE_HEX_DEC, NULL, 0,
19994 NULL, HFILL
19997 { &hf_woww_caster,
19998 { "Caster", "woww.caster",
19999 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20000 NULL, HFILL
20003 { &hf_woww_category_cooldown,
20004 { "Category Cooldown", "woww.category.cooldown",
20005 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20006 NULL, HFILL
20009 { &hf_woww_channel,
20010 { "Channel", "woww.channel",
20011 FT_STRINGZ, BASE_NONE, NULL, 0,
20012 NULL, HFILL
20015 { &hf_woww_channel_flags,
20016 { "Channel Flags", "woww.channel.flags",
20017 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20018 NULL, HFILL
20021 { &hf_woww_channel_member_flags,
20022 { "Channel Member Flags", "woww.channel.member.flags",
20023 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20024 NULL, HFILL
20027 { &hf_woww_channel_name,
20028 { "Channel Name", "woww.channel.name",
20029 FT_STRINGZ, BASE_NONE, NULL, 0,
20030 NULL, HFILL
20033 { &hf_woww_channel_password,
20034 { "Channel Password", "woww.channel.password",
20035 FT_STRINGZ, BASE_NONE, NULL, 0,
20036 NULL, HFILL
20039 { &hf_woww_character_flags,
20040 { "Character Flags", "woww.character.flags",
20041 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20042 NULL, HFILL
20045 { &hf_woww_character_guid,
20046 { "Character Guid", "woww.character.guid",
20047 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20048 NULL, HFILL
20051 { &hf_woww_character_name,
20052 { "Character Name", "woww.character.name",
20053 FT_STRINGZ, BASE_NONE, NULL, 0,
20054 NULL, HFILL
20057 { &hf_woww_charter_display_id,
20058 { "Charter Display Id", "woww.charter.display.id",
20059 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20060 NULL, HFILL
20063 { &hf_woww_charter_entry,
20064 { "Charter Entry", "woww.charter.entry",
20065 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20066 NULL, HFILL
20069 { &hf_woww_charter_owner,
20070 { "Charter Owner", "woww.charter.owner",
20071 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20072 NULL, HFILL
20075 { &hf_woww_chat_credit,
20076 { "Chat Credit", "woww.chat.credit",
20077 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20078 NULL, HFILL
20081 { &hf_woww_chat_data_line_count,
20082 { "Chat Data Line Count", "woww.chat.data.line.count",
20083 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20084 NULL, HFILL
20087 { &hf_woww_chat_notify,
20088 { "Chat Notify", "woww.chat.notify",
20089 FT_UINT8, BASE_HEX_DEC, VALS(e_chat_notify_strings), 0,
20090 NULL, HFILL
20093 { &hf_woww_chat_type,
20094 { "Chat Type", "woww.chat.type",
20095 FT_UINT32, BASE_HEX_DEC, VALS(e_chat_type_strings), 0,
20096 NULL, HFILL
20099 { &hf_woww_checked_timestamp,
20100 { "Checked Timestamp", "woww.checked.timestamp",
20101 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20102 NULL, HFILL
20105 { &hf_woww_cinematic_sequence_id,
20106 { "Cinematic Sequence Id", "woww.cinematic.sequence.id",
20107 FT_UINT32, BASE_HEX_DEC, VALS(e_cinematic_sequence_id_strings), 0,
20108 NULL, HFILL
20111 { &hf_woww_civilian,
20112 { "Civilian", "woww.civilian",
20113 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20114 NULL, HFILL
20117 { &hf_woww_class,
20118 { "Class", "woww.class",
20119 FT_UINT32, BASE_HEX_DEC, VALS(e_class_strings), 0,
20120 NULL, HFILL
20123 { &hf_woww_class_mask,
20124 { "Class Mask", "woww.class.mask",
20125 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20126 NULL, HFILL
20129 { &hf_woww_client_instance_id,
20130 { "Client Instance Id", "woww.client.instance.id",
20131 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20132 NULL, HFILL
20135 { &hf_woww_client_proof,
20136 { "Client Proof", "woww.client.proof",
20137 FT_BYTES, BASE_NONE, NULL, 0,
20138 NULL, HFILL
20141 { &hf_woww_client_seed,
20142 { "Client Seed", "woww.client.seed",
20143 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20144 NULL, HFILL
20147 { &hf_woww_code,
20148 { "Code", "woww.code",
20149 FT_STRINGZ, BASE_NONE, NULL, 0,
20150 NULL, HFILL
20153 { &hf_woww_coded,
20154 { "Coded", "woww.coded",
20155 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20156 NULL, HFILL
20159 { &hf_woww_comment,
20160 { "Comment", "woww.comment",
20161 FT_STRINGZ, BASE_NONE, NULL, 0,
20162 NULL, HFILL
20165 { &hf_woww_compressed_chat_data,
20166 { "Compressed Chat Data", "woww.compressed.chat.data",
20167 FT_BYTES, BASE_NONE, NULL, 0,
20168 NULL, HFILL
20171 { &hf_woww_compressed_data,
20172 { "Compressed Data", "woww.compressed.data",
20173 FT_BYTES, BASE_NONE, NULL, 0,
20174 NULL, HFILL
20177 { &hf_woww_compressed_move_opcode,
20178 { "Compressed Move Opcode", "woww.compressed.move.opcode",
20179 FT_UINT16, BASE_HEX_DEC, VALS(e_compressed_move_opcode_strings), 0,
20180 NULL, HFILL
20183 { &hf_woww_container_slots,
20184 { "Container Slots", "woww.container.slots",
20185 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20186 NULL, HFILL
20189 { &hf_woww_content,
20190 { "Content", "woww.content",
20191 FT_STRINGZ, BASE_NONE, NULL, 0,
20192 NULL, HFILL
20195 { &hf_woww_cooldown,
20196 { "Cooldown", "woww.cooldown",
20197 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20198 NULL, HFILL
20201 { &hf_woww_cooldown_count,
20202 { "Cooldown Count", "woww.cooldown.count",
20203 FT_UINT16, BASE_HEX_DEC, NULL, 0,
20204 NULL, HFILL
20207 { &hf_woww_cooldown_time,
20208 { "Cooldown Time", "woww.cooldown.time",
20209 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20210 NULL, HFILL
20213 { &hf_woww_corpse,
20214 { "Corpse", "woww.corpse",
20215 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20216 NULL, HFILL
20219 { &hf_woww_corpse_query_result,
20220 { "Corpse Query Result", "woww.corpse.query.result",
20221 FT_UINT8, BASE_HEX_DEC, VALS(e_corpse_query_result_strings), 0,
20222 NULL, HFILL
20225 { &hf_woww_cos_angle,
20226 { "Cos Angle", "woww.cos.angle",
20227 FT_FLOAT, BASE_NONE, NULL, 0,
20228 NULL, HFILL
20231 { &hf_woww_cost_in_copper,
20232 { "Cost In Copper", "woww.cost.in.copper",
20233 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20234 NULL, HFILL
20237 { &hf_woww_count,
20238 { "Count", "woww.count",
20239 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20240 NULL, HFILL
20243 { &hf_woww_countdown_time,
20244 { "Countdown Time", "woww.countdown.time",
20245 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20246 NULL, HFILL
20249 { &hf_woww_counter,
20250 { "Counter", "woww.counter",
20251 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20252 NULL, HFILL
20255 { &hf_woww_created_day,
20256 { "Created Day", "woww.created.day",
20257 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20258 NULL, HFILL
20261 { &hf_woww_created_month,
20262 { "Created Month", "woww.created.month",
20263 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20264 NULL, HFILL
20267 { &hf_woww_created_year,
20268 { "Created Year", "woww.created.year",
20269 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20270 NULL, HFILL
20273 { &hf_woww_creature,
20274 { "Creature", "woww.creature",
20275 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20276 NULL, HFILL
20279 { &hf_woww_creature_entry,
20280 { "Creature Entry", "woww.creature.entry",
20281 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20282 NULL, HFILL
20285 { &hf_woww_creature_family,
20286 { "Creature Family", "woww.creature.family",
20287 FT_UINT32, BASE_HEX_DEC, VALS(e_creature_family_strings), 0,
20288 NULL, HFILL
20291 { &hf_woww_creature_id,
20292 { "Creature Id", "woww.creature.id",
20293 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20294 NULL, HFILL
20297 { &hf_woww_creature_rank,
20298 { "Creature Rank", "woww.creature.rank",
20299 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20300 NULL, HFILL
20303 { &hf_woww_creature_type,
20304 { "Creature Type", "woww.creature.type",
20305 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20306 NULL, HFILL
20309 { &hf_woww_critical,
20310 { "Critical", "woww.critical",
20311 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20312 NULL, HFILL
20315 { &hf_woww_current_health,
20316 { "Current Health", "woww.current.health",
20317 FT_UINT16, BASE_HEX_DEC, NULL, 0,
20318 NULL, HFILL
20321 { &hf_woww_current_power,
20322 { "Current Power", "woww.current.power",
20323 FT_UINT16, BASE_HEX_DEC, NULL, 0,
20324 NULL, HFILL
20327 { &hf_woww_damage,
20328 { "Damage", "woww.damage",
20329 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20330 NULL, HFILL
20333 { &hf_woww_damage_float,
20334 { "Damage Float", "woww.damage.float",
20335 FT_FLOAT, BASE_NONE, NULL, 0,
20336 NULL, HFILL
20339 { &hf_woww_damage_maximum,
20340 { "Damage Maximum", "woww.damage.maximum",
20341 FT_FLOAT, BASE_NONE, NULL, 0,
20342 NULL, HFILL
20345 { &hf_woww_damage_minimum,
20346 { "Damage Minimum", "woww.damage.minimum",
20347 FT_FLOAT, BASE_NONE, NULL, 0,
20348 NULL, HFILL
20351 { &hf_woww_damage_state,
20352 { "Damage State", "woww.damage.state",
20353 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20354 NULL, HFILL
20357 { &hf_woww_damage_uint,
20358 { "Damage Uint", "woww.damage.uint",
20359 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20360 NULL, HFILL
20363 { &hf_woww_data,
20364 { "Data", "woww.data",
20365 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20366 NULL, HFILL
20369 { &hf_woww_data_type,
20370 { "Data Type", "woww.data.type",
20371 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20372 NULL, HFILL
20375 { &hf_woww_datetime,
20376 { "Datetime", "woww.datetime",
20377 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20378 NULL, HFILL
20381 { &hf_woww_days_since_last_updated,
20382 { "Days Since Last Updated", "woww.days.since.last.updated",
20383 FT_FLOAT, BASE_NONE, NULL, 0,
20384 NULL, HFILL
20387 { &hf_woww_days_since_oldest_ticket_creation,
20388 { "Days Since Oldest Ticket Creation", "woww.days.since.oldest.ticket.creation",
20389 FT_FLOAT, BASE_NONE, NULL, 0,
20390 NULL, HFILL
20393 { &hf_woww_days_since_ticket_creation,
20394 { "Days Since Ticket Creation", "woww.days.since.ticket.creation",
20395 FT_FLOAT, BASE_NONE, NULL, 0,
20396 NULL, HFILL
20399 { &hf_woww_deadline,
20400 { "Deadline", "woww.deadline",
20401 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20402 NULL, HFILL
20405 { &hf_woww_deaths,
20406 { "Deaths", "woww.deaths",
20407 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20408 NULL, HFILL
20411 { &hf_woww_debug_log_format,
20412 { "Debug Log Format", "woww.debug.log.format",
20413 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20414 NULL, HFILL
20417 { &hf_woww_decompressed_size,
20418 { "Decompressed Size", "woww.decompressed.size",
20419 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20420 NULL, HFILL
20423 { &hf_woww_delay,
20424 { "Delay", "woww.delay",
20425 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20426 NULL, HFILL
20429 { &hf_woww_delay_time,
20430 { "Delay Time", "woww.delay.time",
20431 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20432 NULL, HFILL
20435 { &hf_woww_description,
20436 { "Description", "woww.description",
20437 FT_STRINGZ, BASE_NONE, NULL, 0,
20438 NULL, HFILL
20441 { &hf_woww_destination_bag,
20442 { "Destination Bag", "woww.destination.bag",
20443 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20444 NULL, HFILL
20447 { &hf_woww_destination_node,
20448 { "Destination Node", "woww.destination.node",
20449 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20450 NULL, HFILL
20453 { &hf_woww_destination_slot,
20454 { "Destination Slot", "woww.destination.slot",
20455 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20456 NULL, HFILL
20459 { &hf_woww_destionation_slot,
20460 { "Destionation Slot", "woww.destionation.slot",
20461 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20462 NULL, HFILL
20465 { &hf_woww_details,
20466 { "Details", "woww.details",
20467 FT_STRINGZ, BASE_NONE, NULL, 0,
20468 NULL, HFILL
20471 { &hf_woww_dismount_result,
20472 { "Dismount Result", "woww.dismount.result",
20473 FT_UINT32, BASE_HEX_DEC, VALS(e_dismount_result_strings), 0,
20474 NULL, HFILL
20477 { &hf_woww_display_id,
20478 { "Display Id", "woww.display.id",
20479 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20480 NULL, HFILL
20483 { &hf_woww_duel_winner_reason,
20484 { "Duel Winner Reason", "woww.duel.winner.reason",
20485 FT_UINT8, BASE_HEX_DEC, VALS(e_duel_winner_reason_strings), 0,
20486 NULL, HFILL
20489 { &hf_woww_durability,
20490 { "Durability", "woww.durability",
20491 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20492 NULL, HFILL
20495 { &hf_woww_duration,
20496 { "Duration", "woww.duration",
20497 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20498 NULL, HFILL
20501 { &hf_woww_eff,
20502 { "Eff", "woww.eff",
20503 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20504 NULL, HFILL
20507 { &hf_woww_emblem_color,
20508 { "Emblem Color", "woww.emblem.color",
20509 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20510 NULL, HFILL
20513 { &hf_woww_emblem_style,
20514 { "Emblem Style", "woww.emblem.style",
20515 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20516 NULL, HFILL
20519 { &hf_woww_emote_delay,
20520 { "Emote Delay", "woww.emote.delay",
20521 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20522 NULL, HFILL
20525 { &hf_woww_emote_enum,
20526 { "Emote Enum", "woww.emote.enum",
20527 FT_UINT32, BASE_HEX_DEC, VALS(e_emote_strings), 0,
20528 NULL, HFILL
20531 { &hf_woww_emote_int,
20532 { "Emote Int", "woww.emote.int",
20533 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20534 NULL, HFILL
20537 { &hf_woww_enable_pvp,
20538 { "Enable Pvp", "woww.enable.pvp",
20539 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20540 NULL, HFILL
20543 { &hf_woww_enchantment,
20544 { "Enchantment", "woww.enchantment",
20545 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20546 NULL, HFILL
20549 { &hf_woww_encrypted_data,
20550 { "Encrypted Data", "woww.encrypted.data",
20551 FT_BYTES, BASE_NONE, NULL, 0,
20552 NULL, HFILL
20555 { &hf_woww_end_text,
20556 { "End Text", "woww.end.text",
20557 FT_STRINGZ, BASE_NONE, NULL, 0,
20558 NULL, HFILL
20561 { &hf_woww_ended_without_interruption,
20562 { "Ended Without Interruption", "woww.ended.without.interruption",
20563 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20564 NULL, HFILL
20567 { &hf_woww_enemy,
20568 { "Enemy", "woww.enemy",
20569 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20570 NULL, HFILL
20573 { &hf_woww_energize_amount,
20574 { "Energize Amount", "woww.energize.amount",
20575 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20576 NULL, HFILL
20579 { &hf_woww_energize_power,
20580 { "Energize Power", "woww.energize.power",
20581 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20582 NULL, HFILL
20585 { &hf_woww_energy,
20586 { "Energy", "woww.energy",
20587 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20588 NULL, HFILL
20591 { &hf_woww_entry,
20592 { "Entry", "woww.entry",
20593 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20594 NULL, HFILL
20597 { &hf_woww_entry_id,
20598 { "Entry Id", "woww.entry.id",
20599 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20600 NULL, HFILL
20603 { &hf_woww_environmental_damage_type,
20604 { "Environmental Damage Type", "woww.environmental.damage.type",
20605 FT_UINT8, BASE_HEX_DEC, VALS(e_environmental_damage_type_strings), 0,
20606 NULL, HFILL
20609 { &hf_woww_equip_error,
20610 { "Equip Error", "woww.equip.error",
20611 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20612 NULL, HFILL
20615 { &hf_woww_equipment_display_id,
20616 { "Equipment Display Id", "woww.equipment.display.id",
20617 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20618 NULL, HFILL
20621 { &hf_woww_equipped_item_class,
20622 { "Equipped Item Class", "woww.equipped.item.class",
20623 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20624 NULL, HFILL
20627 { &hf_woww_equipped_item_inventory_type_mask,
20628 { "Equipped Item Inventory Type Mask", "woww.equipped.item.inventory.type.mask",
20629 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20630 NULL, HFILL
20633 { &hf_woww_equipped_item_subclass_mask,
20634 { "Equipped Item Subclass Mask", "woww.equipped.item.subclass.mask",
20635 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20636 NULL, HFILL
20639 { &hf_woww_event_descriptions,
20640 { "Event Descriptions", "woww.event.descriptions",
20641 FT_STRINGZ, BASE_NONE, NULL, 0,
20642 NULL, HFILL
20645 { &hf_woww_exp_group_bonus,
20646 { "Exp Group Bonus", "woww.exp.group.bonus",
20647 FT_FLOAT, BASE_NONE, NULL, 0,
20648 NULL, HFILL
20651 { &hf_woww_experience,
20652 { "Experience", "woww.experience",
20653 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20654 NULL, HFILL
20657 { &hf_woww_experience_award_type,
20658 { "Experience Award Type", "woww.experience.award.type",
20659 FT_UINT8, BASE_HEX_DEC, VALS(e_experience_award_type_strings), 0,
20660 NULL, HFILL
20663 { &hf_woww_experience_reward,
20664 { "Experience Reward", "woww.experience.reward",
20665 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20666 NULL, HFILL
20669 { &hf_woww_experience_without_rested,
20670 { "Experience Without Rested", "woww.experience.without.rested",
20671 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20672 NULL, HFILL
20675 { &hf_woww_expiration_time,
20676 { "Expiration Time", "woww.expiration.time",
20677 FT_FLOAT, BASE_NONE, NULL, 0,
20678 NULL, HFILL
20681 { &hf_woww_extend_flag,
20682 { "Extend Flag", "woww.extend.flag",
20683 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20684 NULL, HFILL
20687 { &hf_woww_extra_attacks,
20688 { "Extra Attacks", "woww.extra.attacks",
20689 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20690 NULL, HFILL
20693 { &hf_woww_face,
20694 { "Face", "woww.face",
20695 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20696 NULL, HFILL
20699 { &hf_woww_facial_hair,
20700 { "Facial Hair", "woww.facial.hair",
20701 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20702 NULL, HFILL
20705 { &hf_woww_faction,
20706 { "Faction", "woww.faction",
20707 FT_UINT32, BASE_HEX_DEC, VALS(e_faction_strings), 0,
20708 NULL, HFILL
20711 { &hf_woww_faction_flag,
20712 { "Faction Flag", "woww.faction.flag",
20713 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20714 NULL, HFILL
20717 { &hf_woww_fall_time,
20718 { "Fall Time", "woww.fall.time",
20719 FT_FLOAT, BASE_NONE, NULL, 0,
20720 NULL, HFILL
20723 { &hf_woww_far_sight_operation,
20724 { "Far Sight Operation", "woww.far.sight.operation",
20725 FT_UINT8, BASE_HEX_DEC, VALS(e_far_sight_operation_strings), 0,
20726 NULL, HFILL
20729 { &hf_woww_feed_pet_item,
20730 { "Feed Pet Item", "woww.feed.pet.item",
20731 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20732 NULL, HFILL
20735 { &hf_woww_fields,
20736 { "Fields", "woww.fields",
20737 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20738 NULL, HFILL
20741 { &hf_woww_fire_resistance,
20742 { "Fire Resistance", "woww.fire.resistance",
20743 FT_INT32, BASE_DEC, NULL, 0,
20744 NULL, HFILL
20747 { &hf_woww_first_bag_display_id,
20748 { "First Bag Display Id", "woww.first.bag.display.id",
20749 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20750 NULL, HFILL
20753 { &hf_woww_first_bag_inventory_id,
20754 { "First Bag Inventory Id", "woww.first.bag.inventory.id",
20755 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20756 NULL, HFILL
20759 { &hf_woww_first_login,
20760 { "First Login", "woww.first.login",
20761 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20762 NULL, HFILL
20765 { &hf_woww_first_rank,
20766 { "First Rank", "woww.first.rank",
20767 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20768 NULL, HFILL
20771 { &hf_woww_flags,
20772 { "Flags", "woww.flags",
20773 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20774 NULL, HFILL
20777 { &hf_woww_focus,
20778 { "Focus", "woww.focus",
20779 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20780 NULL, HFILL
20783 { &hf_woww_friend_result,
20784 { "Friend Result", "woww.friend.result",
20785 FT_UINT8, BASE_HEX_DEC, VALS(e_friend_result_strings), 0,
20786 NULL, HFILL
20789 { &hf_woww_friend_status,
20790 { "Friend Status", "woww.friend.status",
20791 FT_UINT8, BASE_HEX_DEC, VALS(e_friend_status_strings), 0,
20792 NULL, HFILL
20795 { &hf_woww_frost_resistance,
20796 { "Frost Resistance", "woww.frost.resistance",
20797 FT_INT32, BASE_DEC, NULL, 0,
20798 NULL, HFILL
20801 { &hf_woww_gain_multiplier,
20802 { "Gain Multiplier", "woww.gain.multiplier",
20803 FT_FLOAT, BASE_NONE, NULL, 0,
20804 NULL, HFILL
20807 { &hf_woww_gameobject,
20808 { "Gameobject", "woww.gameobject",
20809 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20810 NULL, HFILL
20813 { &hf_woww_gender,
20814 { "Gender", "woww.gender",
20815 FT_UINT32, BASE_HEX_DEC, VALS(e_gender_strings), 0,
20816 NULL, HFILL
20819 { &hf_woww_gift_bag_index,
20820 { "Gift Bag Index", "woww.gift.bag.index",
20821 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20822 NULL, HFILL
20825 { &hf_woww_gift_slot,
20826 { "Gift Slot", "woww.gift.slot",
20827 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20828 NULL, HFILL
20831 { &hf_woww_gift_wrapper,
20832 { "Gift Wrapper", "woww.gift.wrapper",
20833 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20834 NULL, HFILL
20837 { &hf_woww_gm_ticket_escalation_status,
20838 { "Gm Ticket Escalation Status", "woww.gm.ticket.escalation.status",
20839 FT_UINT8, BASE_HEX_DEC, VALS(e_gm_ticket_escalation_status_strings), 0,
20840 NULL, HFILL
20843 { &hf_woww_gm_ticket_queue_status,
20844 { "Gm Ticket Queue Status", "woww.gm.ticket.queue.status",
20845 FT_UINT32, BASE_HEX_DEC, VALS(e_gm_ticket_queue_status_strings), 0,
20846 NULL, HFILL
20849 { &hf_woww_gm_ticket_response,
20850 { "Gm Ticket Response", "woww.gm.ticket.response",
20851 FT_UINT32, BASE_HEX_DEC, VALS(e_gm_ticket_response_strings), 0,
20852 NULL, HFILL
20855 { &hf_woww_gm_ticket_status,
20856 { "Gm Ticket Status", "woww.gm.ticket.status",
20857 FT_UINT32, BASE_HEX_DEC, VALS(e_gm_ticket_status_strings), 0,
20858 NULL, HFILL
20861 { &hf_woww_gm_ticket_status_response,
20862 { "Gm Ticket Status Response", "woww.gm.ticket.status.response",
20863 FT_UINT32, BASE_HEX_DEC, VALS(e_gm_ticket_status_response_strings), 0,
20864 NULL, HFILL
20867 { &hf_woww_gm_ticket_type,
20868 { "Gm Ticket Type", "woww.gm.ticket.type",
20869 FT_UINT8, BASE_HEX_DEC, VALS(e_gm_ticket_type_strings), 0,
20870 NULL, HFILL
20873 { &hf_woww_gold,
20874 { "Gold", "woww.gold",
20875 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20876 NULL, HFILL
20879 { &hf_woww_gossip_list_id,
20880 { "Gossip List Id", "woww.gossip.list.id",
20881 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20882 NULL, HFILL
20885 { &hf_woww_grade,
20886 { "Grade", "woww.grade",
20887 FT_FLOAT, BASE_NONE, NULL, 0,
20888 NULL, HFILL
20891 { &hf_woww_greeting,
20892 { "Greeting", "woww.greeting",
20893 FT_STRINGZ, BASE_NONE, NULL, 0,
20894 NULL, HFILL
20897 { &hf_woww_group_loot_setting,
20898 { "Group Loot Setting", "woww.group.loot.setting",
20899 FT_UINT32, BASE_HEX_DEC, VALS(e_group_loot_setting_strings), 0,
20900 NULL, HFILL
20903 { &hf_woww_group_member_online_status,
20904 { "Group Member Online Status", "woww.group.member.online.status",
20905 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20906 NULL, HFILL
20909 { &hf_woww_group_number,
20910 { "Group Number", "woww.group.number",
20911 FT_UINT8, BASE_HEX_DEC, NULL, 0,
20912 NULL, HFILL
20915 { &hf_woww_group_type,
20916 { "Group Type", "woww.group.type",
20917 FT_UINT8, BASE_HEX_DEC, VALS(e_group_type_strings), 0,
20918 NULL, HFILL
20921 { &hf_woww_group_update_flags,
20922 { "Group Update Flags", "woww.group.update.flags",
20923 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20924 NULL, HFILL
20927 { &hf_woww_guid,
20928 { "Guid", "woww.guid",
20929 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20930 NULL, HFILL
20933 { &hf_woww_guids,
20934 { "Guids", "woww.guids",
20935 FT_UINT64, BASE_HEX_DEC, NULL, 0,
20936 NULL, HFILL
20939 { &hf_woww_guild,
20940 { "Guild", "woww.guild",
20941 FT_STRINGZ, BASE_NONE, NULL, 0,
20942 NULL, HFILL
20945 { &hf_woww_guild_charter_cost,
20946 { "Guild Charter Cost", "woww.guild.charter.cost",
20947 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20948 NULL, HFILL
20951 { &hf_woww_guild_command,
20952 { "Guild Command", "woww.guild.command",
20953 FT_UINT32, BASE_HEX_DEC, VALS(e_guild_command_strings), 0,
20954 NULL, HFILL
20957 { &hf_woww_guild_command_result,
20958 { "Guild Command Result", "woww.guild.command.result",
20959 FT_UINT32, BASE_HEX_DEC, VALS(e_guild_command_result_strings), 0,
20960 NULL, HFILL
20963 { &hf_woww_guild_emblem_result,
20964 { "Guild Emblem Result", "woww.guild.emblem.result",
20965 FT_UINT32, BASE_HEX_DEC, VALS(e_guild_emblem_result_strings), 0,
20966 NULL, HFILL
20969 { &hf_woww_guild_event,
20970 { "Guild Event", "woww.guild.event",
20971 FT_UINT8, BASE_HEX_DEC, VALS(e_guild_event_strings), 0,
20972 NULL, HFILL
20975 { &hf_woww_guild_id,
20976 { "Guild Id", "woww.guild.id",
20977 FT_UINT32, BASE_HEX_DEC, NULL, 0,
20978 NULL, HFILL
20981 { &hf_woww_guild_info,
20982 { "Guild Info", "woww.guild.info",
20983 FT_STRINGZ, BASE_NONE, NULL, 0,
20984 NULL, HFILL
20987 { &hf_woww_guild_member_status,
20988 { "Guild Member Status", "woww.guild.member.status",
20989 FT_UINT8, BASE_HEX_DEC, VALS(e_guild_member_status_strings), 0,
20990 NULL, HFILL
20993 { &hf_woww_guild_name,
20994 { "Guild Name", "woww.guild.name",
20995 FT_STRINGZ, BASE_NONE, NULL, 0,
20996 NULL, HFILL
20999 { &hf_woww_hair_color,
21000 { "Hair Color", "woww.hair.color",
21001 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21002 NULL, HFILL
21005 { &hf_woww_hair_style,
21006 { "Hair Style", "woww.hair.style",
21007 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21008 NULL, HFILL
21011 { &hf_woww_happiness,
21012 { "Happiness", "woww.happiness",
21013 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21014 NULL, HFILL
21017 { &hf_woww_has_transport,
21018 { "Has Transport", "woww.has.transport",
21019 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21020 NULL, HFILL
21023 { &hf_woww_heal_amount,
21024 { "Heal Amount", "woww.heal.amount",
21025 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21026 NULL, HFILL
21029 { &hf_woww_heal_critical,
21030 { "Heal Critical", "woww.heal.critical",
21031 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21032 NULL, HFILL
21035 { &hf_woww_health,
21036 { "Health", "woww.health",
21037 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21038 NULL, HFILL
21041 { &hf_woww_higher_bidder,
21042 { "Higher Bidder", "woww.higher.bidder",
21043 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21044 NULL, HFILL
21047 { &hf_woww_highest_bid,
21048 { "Highest Bid", "woww.highest.bid",
21049 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21050 NULL, HFILL
21053 { &hf_woww_highest_bidder,
21054 { "Highest Bidder", "woww.highest.bidder",
21055 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21056 NULL, HFILL
21059 { &hf_woww_hit_info,
21060 { "Hit Info", "woww.hit.info",
21061 FT_UINT32, BASE_HEX_DEC, VALS(e_hit_info_strings), 0,
21062 NULL, HFILL
21065 { &hf_woww_hits,
21066 { "Hits", "woww.hits",
21067 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21068 NULL, HFILL
21071 { &hf_woww_holy_resistance,
21072 { "Holy Resistance", "woww.holy.resistance",
21073 FT_INT32, BASE_DEC, NULL, 0,
21074 NULL, HFILL
21077 { &hf_woww_homebind_timer,
21078 { "Homebind Timer", "woww.homebind.timer",
21079 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21080 NULL, HFILL
21083 { &hf_woww_honor_points,
21084 { "Honor Points", "woww.honor.points",
21085 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21086 NULL, HFILL
21089 { &hf_woww_honorable_kills,
21090 { "Honorable Kills", "woww.honorable.kills",
21091 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21092 NULL, HFILL
21095 { &hf_woww_horizontal_speed,
21096 { "Horizontal Speed", "woww.horizontal.speed",
21097 FT_FLOAT, BASE_NONE, NULL, 0,
21098 NULL, HFILL
21101 { &hf_woww_icon,
21102 { "Icon", "woww.icon",
21103 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21104 NULL, HFILL
21107 { &hf_woww_id,
21108 { "Id", "woww.id",
21109 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21110 NULL, HFILL
21113 { &hf_woww_ignored,
21114 { "Ignored", "woww.ignored",
21115 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21116 NULL, HFILL
21119 { &hf_woww_inactive,
21120 { "Inactive", "woww.inactive",
21121 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21122 NULL, HFILL
21125 { &hf_woww_index,
21126 { "Index", "woww.index",
21127 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21128 NULL, HFILL
21131 { &hf_woww_info_block,
21132 { "Info Block", "woww.info.block",
21133 FT_UINT8, BASE_HEX_DEC, VALS(e_info_block_strings), 0,
21134 NULL, HFILL
21137 { &hf_woww_info_type,
21138 { "Info Type", "woww.info.type",
21139 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21140 NULL, HFILL
21143 { &hf_woww_initiator,
21144 { "Initiator", "woww.initiator",
21145 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21146 NULL, HFILL
21149 { &hf_woww_initiator_name,
21150 { "Initiator Name", "woww.initiator.name",
21151 FT_STRINGZ, BASE_NONE, NULL, 0,
21152 NULL, HFILL
21155 { &hf_woww_instance_id,
21156 { "Instance Id", "woww.instance.id",
21157 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21158 NULL, HFILL
21161 { &hf_woww_instance_reset_failed_reason,
21162 { "Instance Reset Failed Reason", "woww.instance.reset.failed.reason",
21163 FT_UINT32, BASE_HEX_DEC, VALS(e_instance_reset_failed_reason_strings), 0,
21164 NULL, HFILL
21167 { &hf_woww_intellect,
21168 { "Intellect", "woww.intellect",
21169 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21170 NULL, HFILL
21173 { &hf_woww_interrupted_spell,
21174 { "Interrupted Spell", "woww.interrupted.spell",
21175 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21176 NULL, HFILL
21179 { &hf_woww_inventory_result,
21180 { "Inventory Result", "woww.inventory.result",
21181 FT_UINT32, BASE_HEX_DEC, VALS(e_inventory_result_strings), 0,
21182 NULL, HFILL
21185 { &hf_woww_inventory_type,
21186 { "Inventory Type", "woww.inventory.type",
21187 FT_UINT32, BASE_HEX_DEC, VALS(e_inventory_type_strings), 0,
21188 NULL, HFILL
21191 { &hf_woww_invited_player,
21192 { "Invited Player", "woww.invited.player",
21193 FT_STRINGZ, BASE_NONE, NULL, 0,
21194 NULL, HFILL
21197 { &hf_woww_is_applied,
21198 { "Is Applied", "woww.is.applied",
21199 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21200 NULL, HFILL
21203 { &hf_woww_is_frozen,
21204 { "Is Frozen", "woww.is.frozen",
21205 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21206 NULL, HFILL
21209 { &hf_woww_is_online,
21210 { "Is Online", "woww.is.online",
21211 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21212 NULL, HFILL
21215 { &hf_woww_issue_date,
21216 { "Issue Date", "woww.issue.date",
21217 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21218 NULL, HFILL
21221 { &hf_woww_item,
21222 { "Item", "woww.item",
21223 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21224 NULL, HFILL
21227 { &hf_woww_item_bag_index,
21228 { "Item Bag Index", "woww.item.bag.index",
21229 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21230 NULL, HFILL
21233 { &hf_woww_item_charges,
21234 { "Item Charges", "woww.item.charges",
21235 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21236 NULL, HFILL
21239 { &hf_woww_item_class,
21240 { "Item Class", "woww.item.class",
21241 FT_UINT8, BASE_HEX_DEC, VALS(e_item_class_strings), 0,
21242 NULL, HFILL
21245 { &hf_woww_item_class_and_sub_class,
21246 { "Item Class And Sub Class", "woww.item.class.and.sub.class",
21247 FT_UINT64, BASE_HEX_DEC | BASE_VAL64_STRING, VALS64(e_item_class_and_sub_class_strings), 0,
21248 NULL, HFILL
21251 { &hf_woww_item_count,
21252 { "Item Count", "woww.item.count",
21253 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21254 NULL, HFILL
21257 { &hf_woww_item_creator,
21258 { "Item Creator", "woww.item.creator",
21259 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21260 NULL, HFILL
21263 { &hf_woww_item_display_id,
21264 { "Item Display Id", "woww.item.display.id",
21265 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21266 NULL, HFILL
21269 { &hf_woww_item_enchant_id,
21270 { "Item Enchant Id", "woww.item.enchant.id",
21271 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21272 NULL, HFILL
21275 { &hf_woww_item_enchantment,
21276 { "Item Enchantment", "woww.item.enchantment",
21277 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21278 NULL, HFILL
21281 { &hf_woww_item_flag,
21282 { "Item Flag", "woww.item.flag",
21283 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21284 NULL, HFILL
21287 { &hf_woww_item_icon,
21288 { "Item Icon", "woww.item.icon",
21289 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21290 NULL, HFILL
21293 { &hf_woww_item_id,
21294 { "Item Id", "woww.item.id",
21295 FT_UINT16, BASE_HEX_DEC, NULL, 0,
21296 NULL, HFILL
21299 { &hf_woww_item_level,
21300 { "Item Level", "woww.item.level",
21301 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21302 NULL, HFILL
21305 { &hf_woww_item_limit_category_id,
21306 { "Item Limit Category Id", "woww.item.limit.category.id",
21307 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21308 NULL, HFILL
21311 { &hf_woww_item_name,
21312 { "Item Name", "woww.item.name",
21313 FT_STRINGZ, BASE_NONE, NULL, 0,
21314 NULL, HFILL
21317 { &hf_woww_item_owner,
21318 { "Item Owner", "woww.item.owner",
21319 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21320 NULL, HFILL
21323 { &hf_woww_item_quality,
21324 { "Item Quality", "woww.item.quality",
21325 FT_UINT32, BASE_HEX_DEC, VALS(e_item_quality_strings), 0,
21326 NULL, HFILL
21329 { &hf_woww_item_random_properties_id,
21330 { "Item Random Properties Id", "woww.item.random.properties.id",
21331 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21332 NULL, HFILL
21335 { &hf_woww_item_random_property_id,
21336 { "Item Random Property Id", "woww.item.random.property.id",
21337 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21338 NULL, HFILL
21341 { &hf_woww_item_random_suffix,
21342 { "Item Random Suffix", "woww.item.random.suffix",
21343 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21344 NULL, HFILL
21347 { &hf_woww_item_random_suffix_id,
21348 { "Item Random Suffix Id", "woww.item.random.suffix.id",
21349 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21350 NULL, HFILL
21353 { &hf_woww_item_set,
21354 { "Item Set", "woww.item.set",
21355 FT_UINT32, BASE_HEX_DEC, VALS(e_item_set_strings), 0,
21356 NULL, HFILL
21359 { &hf_woww_item_slot,
21360 { "Item Slot", "woww.item.slot",
21361 FT_UINT8, BASE_HEX_DEC, VALS(e_item_slot_strings), 0,
21362 NULL, HFILL
21365 { &hf_woww_item_slot_int,
21366 { "Item Slot Int", "woww.item.slot.int",
21367 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21368 NULL, HFILL
21371 { &hf_woww_item_spell_charges,
21372 { "Item Spell Charges", "woww.item.spell.charges",
21373 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21374 NULL, HFILL
21377 { &hf_woww_item_stack_count,
21378 { "Item Stack Count", "woww.item.stack.count",
21379 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21380 NULL, HFILL
21383 { &hf_woww_item_stack_size,
21384 { "Item Stack Size", "woww.item.stack.size",
21385 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21386 NULL, HFILL
21389 { &hf_woww_item_stat_type,
21390 { "Item Stat Type", "woww.item.stat.type",
21391 FT_UINT32, BASE_HEX_DEC, VALS(e_item_stat_type_strings), 0,
21392 NULL, HFILL
21395 { &hf_woww_item_sub_class_mask,
21396 { "Item Sub Class Mask", "woww.item.sub.class.mask",
21397 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21398 NULL, HFILL
21401 { &hf_woww_item_suffix_factor,
21402 { "Item Suffix Factor", "woww.item.suffix.factor",
21403 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21404 NULL, HFILL
21407 { &hf_woww_item_template,
21408 { "Item Template", "woww.item.template",
21409 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21410 NULL, HFILL
21413 { &hf_woww_item_text_id,
21414 { "Item Text Id", "woww.item.text.id",
21415 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21416 NULL, HFILL
21419 { &hf_woww_item_to_damage,
21420 { "Item To Damage", "woww.item.to.damage",
21421 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21422 NULL, HFILL
21425 { &hf_woww_items_required,
21426 { "Items Required", "woww.items.required",
21427 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21428 NULL, HFILL
21431 { &hf_woww_join_as_group,
21432 { "Join As Group", "woww.join.as.group",
21433 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21434 NULL, HFILL
21437 { &hf_woww_key_version,
21438 { "Key Version", "woww.key.version",
21439 FT_UINT8, BASE_HEX_DEC, VALS(e_key_version_strings), 0,
21440 NULL, HFILL
21443 { &hf_woww_kill_count,
21444 { "Kill Count", "woww.kill.count",
21445 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21446 NULL, HFILL
21449 { &hf_woww_killing_blows,
21450 { "Killing Blows", "woww.killing.blows",
21451 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21452 NULL, HFILL
21455 { &hf_woww_lag,
21456 { "Lag", "woww.lag",
21457 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21458 NULL, HFILL
21461 { &hf_woww_language,
21462 { "Language", "woww.language",
21463 FT_UINT32, BASE_HEX_DEC, VALS(e_language_strings), 0,
21464 NULL, HFILL
21467 { &hf_woww_last_week_honor,
21468 { "Last Week Honor", "woww.last.week.honor",
21469 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21470 NULL, HFILL
21473 { &hf_woww_last_week_honorable,
21474 { "Last Week Honorable", "woww.last.week.honorable",
21475 FT_UINT16, BASE_HEX_DEC, NULL, 0,
21476 NULL, HFILL
21479 { &hf_woww_leader,
21480 { "Leader", "woww.leader",
21481 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21482 NULL, HFILL
21485 { &hf_woww_level,
21486 { "Level", "woww.level",
21487 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21488 NULL, HFILL
21491 { &hf_woww_level_played_time,
21492 { "Level Played Time", "woww.level.played.time",
21493 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21494 NULL, HFILL
21497 { &hf_woww_lifetime_dishonorable,
21498 { "Lifetime Dishonorable", "woww.lifetime.dishonorable",
21499 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21500 NULL, HFILL
21503 { &hf_woww_lifetime_honorable,
21504 { "Lifetime Honorable", "woww.lifetime.honorable",
21505 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21506 NULL, HFILL
21509 { &hf_woww_list_from,
21510 { "List From", "woww.list.from",
21511 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21512 NULL, HFILL
21515 { &hf_woww_list_start_item,
21516 { "List Start Item", "woww.list.start.item",
21517 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21518 NULL, HFILL
21521 { &hf_woww_listed_players,
21522 { "Listed Players", "woww.listed.players",
21523 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21524 NULL, HFILL
21527 { &hf_woww_living_orientation,
21528 { "Living Orientation", "woww.living.orientation",
21529 FT_FLOAT, BASE_NONE, NULL, 0,
21530 NULL, HFILL
21533 { &hf_woww_location_name,
21534 { "Location Name", "woww.location.name",
21535 FT_STRINGZ, BASE_NONE, NULL, 0,
21536 NULL, HFILL
21539 { &hf_woww_lock_id,
21540 { "Lock Id", "woww.lock.id",
21541 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21542 NULL, HFILL
21545 { &hf_woww_log_format,
21546 { "Log Format", "woww.log.format",
21547 FT_UINT8, BASE_HEX_DEC, VALS(e_log_format_strings), 0,
21548 NULL, HFILL
21551 { &hf_woww_logout_result,
21552 { "Logout Result", "woww.logout.result",
21553 FT_UINT32, BASE_HEX_DEC, VALS(e_logout_result_strings), 0,
21554 NULL, HFILL
21557 { &hf_woww_logout_speed,
21558 { "Logout Speed", "woww.logout.speed",
21559 FT_UINT8, BASE_HEX_DEC, VALS(e_logout_speed_strings), 0,
21560 NULL, HFILL
21563 { &hf_woww_loot,
21564 { "Loot", "woww.loot",
21565 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21566 NULL, HFILL
21569 { &hf_woww_loot_master,
21570 { "Loot Master", "woww.loot.master",
21571 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21572 NULL, HFILL
21575 { &hf_woww_loot_method,
21576 { "Loot Method", "woww.loot.method",
21577 FT_UINT8, BASE_HEX_DEC, VALS(e_loot_method_strings), 0,
21578 NULL, HFILL
21581 { &hf_woww_loot_method_error,
21582 { "Loot Method Error", "woww.loot.method.error",
21583 FT_UINT8, BASE_HEX_DEC, VALS(e_loot_method_error_strings), 0,
21584 NULL, HFILL
21587 { &hf_woww_loot_slot,
21588 { "Loot Slot", "woww.loot.slot",
21589 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21590 NULL, HFILL
21593 { &hf_woww_loot_slot_type,
21594 { "Loot Slot Type", "woww.loot.slot.type",
21595 FT_UINT8, BASE_HEX_DEC, VALS(e_loot_slot_type_strings), 0,
21596 NULL, HFILL
21599 { &hf_woww_looted_target,
21600 { "Looted Target", "woww.looted.target",
21601 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21602 NULL, HFILL
21605 { &hf_woww_loyalty,
21606 { "Loyalty", "woww.loyalty",
21607 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21608 NULL, HFILL
21611 { &hf_woww_mail_action,
21612 { "Mail Action", "woww.mail.action",
21613 FT_UINT32, BASE_HEX_DEC, VALS(e_mail_action_strings), 0,
21614 NULL, HFILL
21617 { &hf_woww_mail_id,
21618 { "Mail Id", "woww.mail.id",
21619 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21620 NULL, HFILL
21623 { &hf_woww_mail_result,
21624 { "Mail Result", "woww.mail.result",
21625 FT_UINT32, BASE_HEX_DEC, VALS(e_mail_result_strings), 0,
21626 NULL, HFILL
21629 { &hf_woww_mail_result_two,
21630 { "Mail Result Two", "woww.mail.result.two",
21631 FT_UINT32, BASE_HEX_DEC, VALS(e_mail_result_two_strings), 0,
21632 NULL, HFILL
21635 { &hf_woww_mail_template_id,
21636 { "Mail Template Id", "woww.mail.template.id",
21637 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21638 NULL, HFILL
21641 { &hf_woww_mail_type,
21642 { "Mail Type", "woww.mail.type",
21643 FT_UINT8, BASE_HEX_DEC, VALS(e_mail_type_strings), 0,
21644 NULL, HFILL
21647 { &hf_woww_mailbox,
21648 { "Mailbox", "woww.mailbox",
21649 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21650 NULL, HFILL
21653 { &hf_woww_mailbox_id,
21654 { "Mailbox Id", "woww.mailbox.id",
21655 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21656 NULL, HFILL
21659 { &hf_woww_mana,
21660 { "Mana", "woww.mana",
21661 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21662 NULL, HFILL
21665 { &hf_woww_map,
21666 { "Map", "woww.map",
21667 FT_UINT32, BASE_HEX_DEC, VALS(e_map_strings), 0,
21668 NULL, HFILL
21671 { &hf_woww_master_loot,
21672 { "Master Loot", "woww.master.loot",
21673 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21674 NULL, HFILL
21677 { &hf_woww_material,
21678 { "Material", "woww.material",
21679 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21680 NULL, HFILL
21683 { &hf_woww_max_count,
21684 { "Max Count", "woww.max.count",
21685 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21686 NULL, HFILL
21689 { &hf_woww_max_durability,
21690 { "Max Durability", "woww.max.durability",
21691 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21692 NULL, HFILL
21695 { &hf_woww_max_health,
21696 { "Max Health", "woww.max.health",
21697 FT_UINT16, BASE_HEX_DEC, NULL, 0,
21698 NULL, HFILL
21701 { &hf_woww_max_items,
21702 { "Max Items", "woww.max.items",
21703 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21704 NULL, HFILL
21707 { &hf_woww_max_level_money_reward,
21708 { "Max Level Money Reward", "woww.max.level.money.reward",
21709 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21710 NULL, HFILL
21713 { &hf_woww_max_power,
21714 { "Max Power", "woww.max.power",
21715 FT_UINT16, BASE_HEX_DEC, NULL, 0,
21716 NULL, HFILL
21719 { &hf_woww_maximum,
21720 { "Maximum", "woww.maximum",
21721 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21722 NULL, HFILL
21725 { &hf_woww_maximum_level,
21726 { "Maximum Level", "woww.maximum.level",
21727 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21728 NULL, HFILL
21731 { &hf_woww_maximum_signatures,
21732 { "Maximum Signatures", "woww.maximum.signatures",
21733 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21734 NULL, HFILL
21737 { &hf_woww_meeting_stone_failure,
21738 { "Meeting Stone Failure", "woww.meeting.stone.failure",
21739 FT_UINT8, BASE_HEX_DEC, VALS(e_meeting_stone_failure_strings), 0,
21740 NULL, HFILL
21743 { &hf_woww_meeting_stone_status,
21744 { "Meeting Stone Status", "woww.meeting.stone.status",
21745 FT_UINT8, BASE_HEX_DEC, VALS(e_meeting_stone_status_strings), 0,
21746 NULL, HFILL
21749 { &hf_woww_member,
21750 { "Member", "woww.member",
21751 FT_STRINGZ, BASE_NONE, NULL, 0,
21752 NULL, HFILL
21755 { &hf_woww_message,
21756 { "Message", "woww.message",
21757 FT_STRINGZ, BASE_NONE, NULL, 0,
21758 NULL, HFILL
21761 { &hf_woww_message_id,
21762 { "Message Id", "woww.message.id",
21763 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21764 NULL, HFILL
21767 { &hf_woww_message_of_the_day,
21768 { "Message Of The Day", "woww.message.of.the.day",
21769 FT_STRINGZ, BASE_NONE, NULL, 0,
21770 NULL, HFILL
21773 { &hf_woww_minimum,
21774 { "Minimum", "woww.minimum",
21775 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21776 NULL, HFILL
21779 { &hf_woww_minimum_bid,
21780 { "Minimum Bid", "woww.minimum.bid",
21781 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21782 NULL, HFILL
21785 { &hf_woww_minimum_level,
21786 { "Minimum Level", "woww.minimum.level",
21787 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21788 NULL, HFILL
21791 { &hf_woww_minimum_signatures,
21792 { "Minimum Signatures", "woww.minimum.signatures",
21793 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21794 NULL, HFILL
21797 { &hf_woww_misc,
21798 { "Misc", "woww.misc",
21799 FT_UINT8, BASE_HEX_DEC, NULL, 0,
21800 NULL, HFILL
21803 { &hf_woww_misc_value,
21804 { "Misc Value", "woww.misc.value",
21805 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21806 NULL, HFILL
21809 { &hf_woww_money,
21810 { "Money", "woww.money",
21811 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21812 NULL, HFILL
21815 { &hf_woww_money_in_trade,
21816 { "Money In Trade", "woww.money.in.trade",
21817 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21818 NULL, HFILL
21821 { &hf_woww_money_reward,
21822 { "Money Reward", "woww.money.reward",
21823 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21824 NULL, HFILL
21827 { &hf_woww_monster,
21828 { "Monster", "woww.monster",
21829 FT_UINT64, BASE_HEX_DEC, NULL, 0,
21830 NULL, HFILL
21833 { &hf_woww_monster_move_type,
21834 { "Monster Move Type", "woww.monster.move.type",
21835 FT_UINT8, BASE_HEX_DEC, VALS(e_monster_move_type_strings), 0,
21836 NULL, HFILL
21839 { &hf_woww_monster_name,
21840 { "Monster Name", "woww.monster.name",
21841 FT_STRINGZ, BASE_NONE, NULL, 0,
21842 NULL, HFILL
21845 { &hf_woww_motd,
21846 { "Motd", "woww.motd",
21847 FT_STRINGZ, BASE_NONE, NULL, 0,
21848 NULL, HFILL
21851 { &hf_woww_mount_result,
21852 { "Mount Result", "woww.mount.result",
21853 FT_UINT32, BASE_HEX_DEC, VALS(e_mount_result_strings), 0,
21854 NULL, HFILL
21857 { &hf_woww_move_event,
21858 { "Move Event", "woww.move.event",
21859 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21860 NULL, HFILL
21863 { &hf_woww_movement_counter,
21864 { "Movement Counter", "woww.movement.counter",
21865 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21866 NULL, HFILL
21869 { &hf_woww_movement_flags,
21870 { "Movement Flags", "woww.movement.flags",
21871 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21872 NULL, HFILL
21875 { &hf_woww_multiplier,
21876 { "Multiplier", "woww.multiplier",
21877 FT_FLOAT, BASE_NONE, NULL, 0,
21878 NULL, HFILL
21881 { &hf_woww_name,
21882 { "Name", "woww.name",
21883 FT_STRINGZ, BASE_NONE, NULL, 0,
21884 NULL, HFILL
21887 { &hf_woww_nature_resistance,
21888 { "Nature Resistance", "woww.nature.resistance",
21889 FT_INT32, BASE_DEC, NULL, 0,
21890 NULL, HFILL
21893 { &hf_woww_nearest_node,
21894 { "Nearest Node", "woww.nearest.node",
21895 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21896 NULL, HFILL
21899 { &hf_woww_new_bid,
21900 { "New Bid", "woww.new.bid",
21901 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21902 NULL, HFILL
21905 { &hf_woww_new_guild_leader_name,
21906 { "New Guild Leader Name", "woww.new.guild.leader.name",
21907 FT_STRINGZ, BASE_NONE, NULL, 0,
21908 NULL, HFILL
21911 { &hf_woww_new_item_chat_alert,
21912 { "New Item Chat Alert", "woww.new.item.chat.alert",
21913 FT_UINT32, BASE_HEX_DEC, VALS(e_new_item_chat_alert_strings), 0,
21914 NULL, HFILL
21917 { &hf_woww_new_item_creation_type,
21918 { "New Item Creation Type", "woww.new.item.creation.type",
21919 FT_UINT32, BASE_HEX_DEC, VALS(e_new_item_creation_type_strings), 0,
21920 NULL, HFILL
21923 { &hf_woww_new_item_source,
21924 { "New Item Source", "woww.new.item.source",
21925 FT_UINT32, BASE_HEX_DEC, VALS(e_new_item_source_strings), 0,
21926 NULL, HFILL
21929 { &hf_woww_new_level,
21930 { "New Level", "woww.new.level",
21931 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21932 NULL, HFILL
21935 { &hf_woww_new_name,
21936 { "New Name", "woww.new.name",
21937 FT_STRINGZ, BASE_NONE, NULL, 0,
21938 NULL, HFILL
21941 { &hf_woww_new_owner,
21942 { "New Owner", "woww.new.owner",
21943 FT_STRINGZ, BASE_NONE, NULL, 0,
21944 NULL, HFILL
21947 { &hf_woww_new_speed,
21948 { "New Speed", "woww.new.speed",
21949 FT_FLOAT, BASE_NONE, NULL, 0,
21950 NULL, HFILL
21953 { &hf_woww_new_spell_id,
21954 { "New Spell Id", "woww.new.spell.id",
21955 FT_UINT16, BASE_HEX_DEC, NULL, 0,
21956 NULL, HFILL
21959 { &hf_woww_next_page_id,
21960 { "Next Page Id", "woww.next.page.id",
21961 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21962 NULL, HFILL
21965 { &hf_woww_next_quest_in_chain,
21966 { "Next Quest In Chain", "woww.next.quest.in.chain",
21967 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21968 NULL, HFILL
21971 { &hf_woww_next_resurrect_time,
21972 { "Next Resurrect Time", "woww.next.resurrect.time",
21973 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21974 NULL, HFILL
21977 { &hf_woww_node_count,
21978 { "Node Count", "woww.node.count",
21979 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21980 NULL, HFILL
21983 { &hf_woww_nodes,
21984 { "Nodes", "woww.nodes",
21985 FT_UINT32, BASE_HEX_DEC, NULL, 0,
21986 NULL, HFILL
21989 { &hf_woww_note,
21990 { "Note", "woww.note",
21991 FT_STRINGZ, BASE_NONE, NULL, 0,
21992 NULL, HFILL
21995 { &hf_woww_notification,
21996 { "Notification", "woww.notification",
21997 FT_STRINGZ, BASE_NONE, NULL, 0,
21998 NULL, HFILL
22001 { &hf_woww_npc,
22002 { "Npc", "woww.npc",
22003 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22004 NULL, HFILL
22007 { &hf_woww_number_of_battlegrounds,
22008 { "Number Of Battlegrounds", "woww.number.of.battlegrounds",
22009 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22010 NULL, HFILL
22013 { &hf_woww_number_of_choices,
22014 { "Number Of Choices", "woww.number.of.choices",
22015 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22016 NULL, HFILL
22019 { &hf_woww_object_type,
22020 { "Object Type", "woww.object.type",
22021 FT_UINT8, BASE_HEX_DEC, VALS(e_object_type_strings), 0,
22022 NULL, HFILL
22025 { &hf_woww_object_unk,
22026 { "Object Unk", "woww.object.unk",
22027 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22028 NULL, HFILL
22031 { &hf_woww_objective_text,
22032 { "Objective Text", "woww.objective.text",
22033 FT_STRINGZ, BASE_NONE, NULL, 0,
22034 NULL, HFILL
22037 { &hf_woww_objective_texts,
22038 { "Objective Texts", "woww.objective.texts",
22039 FT_STRINGZ, BASE_NONE, NULL, 0,
22040 NULL, HFILL
22043 { &hf_woww_objectives,
22044 { "Objectives", "woww.objectives",
22045 FT_STRINGZ, BASE_NONE, NULL, 0,
22046 NULL, HFILL
22049 { &hf_woww_offer_reward_text,
22050 { "Offer Reward Text", "woww.offer.reward.text",
22051 FT_STRINGZ, BASE_NONE, NULL, 0,
22052 NULL, HFILL
22055 { &hf_woww_officer_note,
22056 { "Officer Note", "woww.officer.note",
22057 FT_STRINGZ, BASE_NONE, NULL, 0,
22058 NULL, HFILL
22061 { &hf_woww_old_mover,
22062 { "Old Mover", "woww.old.mover",
22063 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22064 NULL, HFILL
22067 { &hf_woww_old_spell_id,
22068 { "Old Spell Id", "woww.old.spell.id",
22069 FT_UINT16, BASE_HEX_DEC, NULL, 0,
22070 NULL, HFILL
22073 { &hf_woww_online_players,
22074 { "Online Players", "woww.online.players",
22075 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22076 NULL, HFILL
22079 { &hf_woww_op,
22080 { "Op", "woww.op",
22081 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22082 NULL, HFILL
22085 { &hf_woww_opponent_name,
22086 { "Opponent Name", "woww.opponent.name",
22087 FT_STRINGZ, BASE_NONE, NULL, 0,
22088 NULL, HFILL
22091 { &hf_woww_orientation,
22092 { "Orientation", "woww.orientation",
22093 FT_FLOAT, BASE_NONE, NULL, 0,
22094 NULL, HFILL
22097 { &hf_woww_out_bid,
22098 { "Out Bid", "woww.out.bid",
22099 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22100 NULL, HFILL
22103 { &hf_woww_outbid_item_ids,
22104 { "Outbid Item Ids", "woww.outbid.item.ids",
22105 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22106 NULL, HFILL
22109 { &hf_woww_outfit_id,
22110 { "Outfit Id", "woww.outfit.id",
22111 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22112 NULL, HFILL
22115 { &hf_woww_owner,
22116 { "Owner", "woww.owner",
22117 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22118 NULL, HFILL
22121 { &hf_woww_page_id,
22122 { "Page Id", "woww.page.id",
22123 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22124 NULL, HFILL
22127 { &hf_woww_page_text,
22128 { "Page Text", "woww.page.text",
22129 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22130 NULL, HFILL
22133 { &hf_woww_page_text_material,
22134 { "Page Text Material", "woww.page.text.material",
22135 FT_UINT32, BASE_HEX_DEC, VALS(e_page_text_material_strings), 0,
22136 NULL, HFILL
22139 { &hf_woww_party_operation,
22140 { "Party Operation", "woww.party.operation",
22141 FT_UINT32, BASE_HEX_DEC, VALS(e_party_operation_strings), 0,
22142 NULL, HFILL
22145 { &hf_woww_party_result,
22146 { "Party Result", "woww.party.result",
22147 FT_UINT32, BASE_HEX_DEC, VALS(e_party_result_strings), 0,
22148 NULL, HFILL
22151 { &hf_woww_party_status,
22152 { "Party Status", "woww.party.status",
22153 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22154 NULL, HFILL
22157 { &hf_woww_periodic_log,
22158 { "Periodic Log", "woww.periodic.log",
22159 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22160 NULL, HFILL
22163 { &hf_woww_pet,
22164 { "Pet", "woww.pet",
22165 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22166 NULL, HFILL
22169 { &hf_woww_pet_command_state,
22170 { "Pet Command State", "woww.pet.command.state",
22171 FT_UINT8, BASE_HEX_DEC, VALS(e_pet_command_state_strings), 0,
22172 NULL, HFILL
22175 { &hf_woww_pet_current_health,
22176 { "Pet Current Health", "woww.pet.current.health",
22177 FT_UINT16, BASE_HEX_DEC, NULL, 0,
22178 NULL, HFILL
22181 { &hf_woww_pet_current_power,
22182 { "Pet Current Power", "woww.pet.current.power",
22183 FT_UINT16, BASE_HEX_DEC, NULL, 0,
22184 NULL, HFILL
22187 { &hf_woww_pet_display_id,
22188 { "Pet Display Id", "woww.pet.display.id",
22189 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22190 NULL, HFILL
22193 { &hf_woww_pet_enabled,
22194 { "Pet Enabled", "woww.pet.enabled",
22195 FT_UINT8, BASE_HEX_DEC, VALS(e_pet_enabled_strings), 0,
22196 NULL, HFILL
22199 { &hf_woww_pet_feedback,
22200 { "Pet Feedback", "woww.pet.feedback",
22201 FT_UINT8, BASE_HEX_DEC, VALS(e_pet_feedback_strings), 0,
22202 NULL, HFILL
22205 { &hf_woww_pet_level,
22206 { "Pet Level", "woww.pet.level",
22207 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22208 NULL, HFILL
22211 { &hf_woww_pet_max_health,
22212 { "Pet Max Health", "woww.pet.max.health",
22213 FT_UINT16, BASE_HEX_DEC, NULL, 0,
22214 NULL, HFILL
22217 { &hf_woww_pet_max_power,
22218 { "Pet Max Power", "woww.pet.max.power",
22219 FT_UINT16, BASE_HEX_DEC, NULL, 0,
22220 NULL, HFILL
22223 { &hf_woww_pet_name,
22224 { "Pet Name", "woww.pet.name",
22225 FT_STRINGZ, BASE_NONE, NULL, 0,
22226 NULL, HFILL
22229 { &hf_woww_pet_name_timestamp,
22230 { "Pet Name Timestamp", "woww.pet.name.timestamp",
22231 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22232 NULL, HFILL
22235 { &hf_woww_pet_number,
22236 { "Pet Number", "woww.pet.number",
22237 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22238 NULL, HFILL
22241 { &hf_woww_pet_react_state,
22242 { "Pet React State", "woww.pet.react.state",
22243 FT_UINT8, BASE_HEX_DEC, VALS(e_pet_react_state_strings), 0,
22244 NULL, HFILL
22247 { &hf_woww_pet_slot,
22248 { "Pet Slot", "woww.pet.slot",
22249 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22250 NULL, HFILL
22253 { &hf_woww_pet_talk_reason,
22254 { "Pet Talk Reason", "woww.pet.talk.reason",
22255 FT_UINT32, BASE_HEX_DEC, VALS(e_pet_talk_reason_strings), 0,
22256 NULL, HFILL
22259 { &hf_woww_pet_tame_failure_reason,
22260 { "Pet Tame Failure Reason", "woww.pet.tame.failure.reason",
22261 FT_UINT8, BASE_HEX_DEC, VALS(e_pet_tame_failure_reason_strings), 0,
22262 NULL, HFILL
22265 { &hf_woww_petition,
22266 { "Petition", "woww.petition",
22267 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22268 NULL, HFILL
22271 { &hf_woww_petition_id,
22272 { "Petition Id", "woww.petition.id",
22273 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22274 NULL, HFILL
22277 { &hf_woww_petition_result,
22278 { "Petition Result", "woww.petition.result",
22279 FT_UINT32, BASE_HEX_DEC, VALS(e_petition_result_strings), 0,
22280 NULL, HFILL
22283 { &hf_woww_pitch,
22284 { "Pitch", "woww.pitch",
22285 FT_FLOAT, BASE_NONE, NULL, 0,
22286 NULL, HFILL
22289 { &hf_woww_player,
22290 { "Player", "woww.player",
22291 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22292 NULL, HFILL
22295 { &hf_woww_player_chat_tag,
22296 { "Player Chat Tag", "woww.player.chat.tag",
22297 FT_UINT8, BASE_HEX_DEC, VALS(e_player_chat_tag_strings), 0,
22298 NULL, HFILL
22301 { &hf_woww_player_is_saved_to_a_raid,
22302 { "Player Is Saved To A Raid", "woww.player.is.saved.to.a.raid",
22303 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22304 NULL, HFILL
22307 { &hf_woww_player_name,
22308 { "Player Name", "woww.player.name",
22309 FT_STRINGZ, BASE_NONE, NULL, 0,
22310 NULL, HFILL
22313 { &hf_woww_player_rank,
22314 { "Player Rank", "woww.player.rank",
22315 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22316 NULL, HFILL
22319 { &hf_woww_player_with_killing_blow,
22320 { "Player With Killing Blow", "woww.player.with.killing.blow",
22321 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22322 NULL, HFILL
22325 { &hf_woww_point_map_id,
22326 { "Point Map Id", "woww.point.map.id",
22327 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22328 NULL, HFILL
22331 { &hf_woww_point_opt,
22332 { "Point Opt", "woww.point.opt",
22333 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22334 NULL, HFILL
22337 { &hf_woww_position,
22338 { "Position", "woww.position",
22339 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22340 NULL, HFILL
22343 { &hf_woww_position_x,
22344 { "Position X", "woww.position.x",
22345 FT_FLOAT, BASE_NONE, NULL, 0,
22346 NULL, HFILL
22349 { &hf_woww_position_x_int,
22350 { "Position X Int", "woww.position.x.int",
22351 FT_UINT16, BASE_HEX_DEC, NULL, 0,
22352 NULL, HFILL
22355 { &hf_woww_position_y,
22356 { "Position Y", "woww.position.y",
22357 FT_FLOAT, BASE_NONE, NULL, 0,
22358 NULL, HFILL
22361 { &hf_woww_position_y_int,
22362 { "Position Y Int", "woww.position.y.int",
22363 FT_UINT16, BASE_HEX_DEC, NULL, 0,
22364 NULL, HFILL
22367 { &hf_woww_power,
22368 { "Power", "woww.power",
22369 FT_UINT32, BASE_HEX_DEC, VALS(e_power_strings), 0,
22370 NULL, HFILL
22373 { &hf_woww_price,
22374 { "Price", "woww.price",
22375 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22376 NULL, HFILL
22379 { &hf_woww_probability,
22380 { "Probability", "woww.probability",
22381 FT_FLOAT, BASE_NONE, NULL, 0,
22382 NULL, HFILL
22385 { &hf_woww_public_key,
22386 { "Public Key", "woww.public.key",
22387 FT_BYTES, BASE_NONE, NULL, 0,
22388 NULL, HFILL
22391 { &hf_woww_public_note,
22392 { "Public Note", "woww.public.note",
22393 FT_STRINGZ, BASE_NONE, NULL, 0,
22394 NULL, HFILL
22397 { &hf_woww_pvp_corpse,
22398 { "Pvp Corpse", "woww.pvp.corpse",
22399 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22400 NULL, HFILL
22403 { &hf_woww_pvp_rank,
22404 { "Pvp Rank", "woww.pvp.rank",
22405 FT_UINT32, BASE_HEX_DEC, VALS(e_pvp_rank_strings), 0,
22406 NULL, HFILL
22409 { &hf_woww_query,
22410 { "Query", "woww.query",
22411 FT_STRINGZ, BASE_NONE, NULL, 0,
22412 NULL, HFILL
22415 { &hf_woww_quest_completable,
22416 { "Quest Completable", "woww.quest.completable",
22417 FT_UINT32, BASE_HEX_DEC, VALS(e_quest_completable_strings), 0,
22418 NULL, HFILL
22421 { &hf_woww_quest_failed_reason,
22422 { "Quest Failed Reason", "woww.quest.failed.reason",
22423 FT_UINT32, BASE_HEX_DEC, VALS(e_quest_failed_reason_strings), 0,
22424 NULL, HFILL
22427 { &hf_woww_quest_flags,
22428 { "Quest Flags", "woww.quest.flags",
22429 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22430 NULL, HFILL
22433 { &hf_woww_quest_giver_status,
22434 { "Quest Giver Status", "woww.quest.giver.status",
22435 FT_UINT32, BASE_HEX_DEC, VALS(e_quest_giver_status_strings), 0,
22436 NULL, HFILL
22439 { &hf_woww_quest_icon,
22440 { "Quest Icon", "woww.quest.icon",
22441 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22442 NULL, HFILL
22445 { &hf_woww_quest_id,
22446 { "Quest Id", "woww.quest.id",
22447 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22448 NULL, HFILL
22451 { &hf_woww_quest_level,
22452 { "Quest Level", "woww.quest.level",
22453 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22454 NULL, HFILL
22457 { &hf_woww_quest_method,
22458 { "Quest Method", "woww.quest.method",
22459 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22460 NULL, HFILL
22463 { &hf_woww_quest_party_message,
22464 { "Quest Party Message", "woww.quest.party.message",
22465 FT_UINT8, BASE_HEX_DEC, VALS(e_quest_party_message_strings), 0,
22466 NULL, HFILL
22469 { &hf_woww_quest_title,
22470 { "Quest Title", "woww.quest.title",
22471 FT_STRINGZ, BASE_NONE, NULL, 0,
22472 NULL, HFILL
22475 { &hf_woww_quest_type,
22476 { "Quest Type", "woww.quest.type",
22477 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22478 NULL, HFILL
22481 { &hf_woww_question_id,
22482 { "Question Id", "woww.question.id",
22483 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22484 NULL, HFILL
22487 { &hf_woww_queue_position,
22488 { "Queue Position", "woww.queue.position",
22489 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22490 NULL, HFILL
22493 { &hf_woww_queue_slot,
22494 { "Queue Slot", "woww.queue.slot",
22495 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22496 NULL, HFILL
22499 { &hf_woww_race,
22500 { "Race", "woww.race",
22501 FT_UINT32, BASE_HEX_DEC, VALS(e_race_strings), 0,
22502 NULL, HFILL
22505 { &hf_woww_race_mask,
22506 { "Race Mask", "woww.race.mask",
22507 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22508 NULL, HFILL
22511 { &hf_woww_racial_leader,
22512 { "Racial Leader", "woww.racial.leader",
22513 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22514 NULL, HFILL
22517 { &hf_woww_rage,
22518 { "Rage", "woww.rage",
22519 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22520 NULL, HFILL
22523 { &hf_woww_raid_group_error,
22524 { "Raid Group Error", "woww.raid.group.error",
22525 FT_UINT32, BASE_HEX_DEC, VALS(e_raid_group_error_strings), 0,
22526 NULL, HFILL
22529 { &hf_woww_raid_instance_message,
22530 { "Raid Instance Message", "woww.raid.instance.message",
22531 FT_UINT32, BASE_HEX_DEC, VALS(e_raid_instance_message_strings), 0,
22532 NULL, HFILL
22535 { &hf_woww_raid_target_index,
22536 { "Raid Target Index", "woww.raid.target.index",
22537 FT_UINT8, BASE_HEX_DEC, VALS(e_raid_target_index_strings), 0,
22538 NULL, HFILL
22541 { &hf_woww_raid_target_update_type,
22542 { "Raid Target Update Type", "woww.raid.target.update.type",
22543 FT_UINT8, BASE_HEX_DEC, VALS(e_raid_target_update_type_strings), 0,
22544 NULL, HFILL
22547 { &hf_woww_random_property,
22548 { "Random Property", "woww.random.property",
22549 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22550 NULL, HFILL
22553 { &hf_woww_random_property_id,
22554 { "Random Property Id", "woww.random.property.id",
22555 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22556 NULL, HFILL
22559 { &hf_woww_ranged_range_modification,
22560 { "Ranged Range Modification", "woww.ranged.range.modification",
22561 FT_FLOAT, BASE_NONE, NULL, 0,
22562 NULL, HFILL
22565 { &hf_woww_rank,
22566 { "Rank", "woww.rank",
22567 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22568 NULL, HFILL
22571 { &hf_woww_rank_id,
22572 { "Rank Id", "woww.rank.id",
22573 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22574 NULL, HFILL
22577 { &hf_woww_rank_name,
22578 { "Rank Name", "woww.rank.name",
22579 FT_STRINGZ, BASE_NONE, NULL, 0,
22580 NULL, HFILL
22583 { &hf_woww_rank_names,
22584 { "Rank Names", "woww.rank.names",
22585 FT_STRINGZ, BASE_NONE, NULL, 0,
22586 NULL, HFILL
22589 { &hf_woww_rank_progress_bar,
22590 { "Rank Progress Bar", "woww.rank.progress.bar",
22591 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22592 NULL, HFILL
22595 { &hf_woww_raw_data,
22596 { "Raw Data", "woww.raw.data",
22597 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22598 NULL, HFILL
22601 { &hf_woww_read_by_gm,
22602 { "Read By Gm", "woww.read.by.gm",
22603 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22604 NULL, HFILL
22607 { &hf_woww_realm_name,
22608 { "Realm Name", "woww.realm.name",
22609 FT_STRINGZ, BASE_NONE, NULL, 0,
22610 NULL, HFILL
22613 { &hf_woww_receiver,
22614 { "Receiver", "woww.receiver",
22615 FT_STRINGZ, BASE_NONE, NULL, 0,
22616 NULL, HFILL
22619 { &hf_woww_records,
22620 { "Records", "woww.records",
22621 FT_STRINGZ, BASE_NONE, NULL, 0,
22622 NULL, HFILL
22625 { &hf_woww_reputation_objective_value,
22626 { "Reputation Objective Value", "woww.reputation.objective.value",
22627 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22628 NULL, HFILL
22631 { &hf_woww_reputation_rank,
22632 { "Reputation Rank", "woww.reputation.rank",
22633 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22634 NULL, HFILL
22637 { &hf_woww_request_items_text,
22638 { "Request Items Text", "woww.request.items.text",
22639 FT_STRINGZ, BASE_NONE, NULL, 0,
22640 NULL, HFILL
22643 { &hf_woww_requested_rank,
22644 { "Requested Rank", "woww.requested.rank",
22645 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22646 NULL, HFILL
22649 { &hf_woww_required_city_rank,
22650 { "Required City Rank", "woww.required.city.rank",
22651 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22652 NULL, HFILL
22655 { &hf_woww_required_faction_rank,
22656 { "Required Faction Rank", "woww.required.faction.rank",
22657 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22658 NULL, HFILL
22661 { &hf_woww_required_honor_rank,
22662 { "Required Honor Rank", "woww.required.honor.rank",
22663 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22664 NULL, HFILL
22667 { &hf_woww_required_item_count,
22668 { "Required Item Count", "woww.required.item.count",
22669 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22670 NULL, HFILL
22673 { &hf_woww_required_item_id,
22674 { "Required Item Id", "woww.required.item.id",
22675 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22676 NULL, HFILL
22679 { &hf_woww_required_kill_count,
22680 { "Required Kill Count", "woww.required.kill.count",
22681 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22682 NULL, HFILL
22685 { &hf_woww_required_level,
22686 { "Required Level", "woww.required.level",
22687 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22688 NULL, HFILL
22691 { &hf_woww_required_money,
22692 { "Required Money", "woww.required.money",
22693 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22694 NULL, HFILL
22697 { &hf_woww_required_opposite_reputation_value,
22698 { "Required Opposite Reputation Value", "woww.required.opposite.reputation.value",
22699 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22700 NULL, HFILL
22703 { &hf_woww_required_skill_rank,
22704 { "Required Skill Rank", "woww.required.skill.rank",
22705 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22706 NULL, HFILL
22709 { &hf_woww_required_skill_value,
22710 { "Required Skill Value", "woww.required.skill.value",
22711 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22712 NULL, HFILL
22715 { &hf_woww_required_spell,
22716 { "Required Spell", "woww.required.spell",
22717 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22718 NULL, HFILL
22721 { &hf_woww_required_spell_focus,
22722 { "Required Spell Focus", "woww.required.spell.focus",
22723 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22724 NULL, HFILL
22727 { &hf_woww_required_spells,
22728 { "Required Spells", "woww.required.spells",
22729 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22730 NULL, HFILL
22733 { &hf_woww_reserved_for_future_use,
22734 { "Reserved For Future Use", "woww.reserved.for.future.use",
22735 FT_STRINGZ, BASE_NONE, NULL, 0,
22736 NULL, HFILL
22739 { &hf_woww_reset_time,
22740 { "Reset Time", "woww.reset.time",
22741 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22742 NULL, HFILL
22745 { &hf_woww_resist,
22746 { "Resist", "woww.resist",
22747 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22748 NULL, HFILL
22751 { &hf_woww_resisted,
22752 { "Resisted", "woww.resisted",
22753 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22754 NULL, HFILL
22757 { &hf_woww_reward,
22758 { "Reward", "woww.reward",
22759 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22760 NULL, HFILL
22763 { &hf_woww_reward_spell,
22764 { "Reward Spell", "woww.reward.spell",
22765 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22766 NULL, HFILL
22769 { &hf_woww_reward_spell_cast,
22770 { "Reward Spell Cast", "woww.reward.spell.cast",
22771 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22772 NULL, HFILL
22775 { &hf_woww_rights,
22776 { "Rights", "woww.rights",
22777 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22778 NULL, HFILL
22781 { &hf_woww_roll_number,
22782 { "Roll Number", "woww.roll.number",
22783 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22784 NULL, HFILL
22787 { &hf_woww_roll_vote,
22788 { "Roll Vote", "woww.roll.vote",
22789 FT_UINT8, BASE_HEX_DEC, VALS(e_roll_vote_strings), 0,
22790 NULL, HFILL
22793 { &hf_woww_round_time_in_ms,
22794 { "Round Time In Ms", "woww.round.time.in.ms",
22795 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22796 NULL, HFILL
22799 { &hf_woww_running_speed,
22800 { "Running Speed", "woww.running.speed",
22801 FT_FLOAT, BASE_NONE, NULL, 0,
22802 NULL, HFILL
22805 { &hf_woww_scale,
22806 { "Scale", "woww.scale",
22807 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22808 NULL, HFILL
22811 { &hf_woww_search_strings,
22812 { "Search Strings", "woww.search.strings",
22813 FT_STRINGZ, BASE_NONE, NULL, 0,
22814 NULL, HFILL
22817 { &hf_woww_searched_name,
22818 { "Searched Name", "woww.searched.name",
22819 FT_STRINGZ, BASE_NONE, NULL, 0,
22820 NULL, HFILL
22823 { &hf_woww_self_player,
22824 { "Self Player", "woww.self.player",
22825 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22826 NULL, HFILL
22829 { &hf_woww_sell_item_result,
22830 { "Sell Item Result", "woww.sell.item.result",
22831 FT_UINT8, BASE_HEX_DEC, VALS(e_sell_item_result_strings), 0,
22832 NULL, HFILL
22835 { &hf_woww_sell_price,
22836 { "Sell Price", "woww.sell.price",
22837 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22838 NULL, HFILL
22841 { &hf_woww_sender,
22842 { "Sender", "woww.sender",
22843 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22844 NULL, HFILL
22847 { &hf_woww_sender_id,
22848 { "Sender Id", "woww.sender.id",
22849 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22850 NULL, HFILL
22853 { &hf_woww_sender_name,
22854 { "Sender Name", "woww.sender.name",
22855 FT_STRINGZ, BASE_NONE, NULL, 0,
22856 NULL, HFILL
22859 { &hf_woww_sequence_id,
22860 { "Sequence Id", "woww.sequence.id",
22861 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22862 NULL, HFILL
22865 { &hf_woww_server_id,
22866 { "Server Id", "woww.server.id",
22867 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22868 NULL, HFILL
22871 { &hf_woww_server_message_type,
22872 { "Server Message Type", "woww.server.message.type",
22873 FT_UINT32, BASE_HEX_DEC, VALS(e_server_message_type_strings), 0,
22874 NULL, HFILL
22877 { &hf_woww_server_seed,
22878 { "Server Seed", "woww.server.seed",
22879 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22880 NULL, HFILL
22883 { &hf_woww_set_assistant,
22884 { "Set Assistant", "woww.set.assistant",
22885 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22886 NULL, HFILL
22889 { &hf_woww_shadow_resistance,
22890 { "Shadow Resistance", "woww.shadow.resistance",
22891 FT_INT32, BASE_DEC, NULL, 0,
22892 NULL, HFILL
22895 { &hf_woww_sheath_state,
22896 { "Sheath State", "woww.sheath.state",
22897 FT_UINT32, BASE_HEX_DEC, VALS(e_sheath_state_strings), 0,
22898 NULL, HFILL
22901 { &hf_woww_sheathe_type,
22902 { "Sheathe Type", "woww.sheathe.type",
22903 FT_UINT32, BASE_HEX_DEC, VALS(e_sheathe_type_strings), 0,
22904 NULL, HFILL
22907 { &hf_woww_show_affiliation,
22908 { "Show Affiliation", "woww.show.affiliation",
22909 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22910 NULL, HFILL
22913 { &hf_woww_signer,
22914 { "Signer", "woww.signer",
22915 FT_UINT64, BASE_HEX_DEC, NULL, 0,
22916 NULL, HFILL
22919 { &hf_woww_simple_spell_cast_result,
22920 { "Simple Spell Cast Result", "woww.simple.spell.cast.result",
22921 FT_UINT8, BASE_HEX_DEC, VALS(e_simple_spell_cast_result_strings), 0,
22922 NULL, HFILL
22925 { &hf_woww_sin_angle,
22926 { "Sin Angle", "woww.sin.angle",
22927 FT_FLOAT, BASE_NONE, NULL, 0,
22928 NULL, HFILL
22931 { &hf_woww_size_struct,
22932 { "Size Struct", "woww.size.struct",
22933 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22934 NULL, HFILL
22937 { &hf_woww_skill,
22938 { "Skill", "woww.skill",
22939 FT_UINT32, BASE_HEX_DEC, VALS(e_skill_strings), 0,
22940 NULL, HFILL
22943 { &hf_woww_skin,
22944 { "Skin", "woww.skin",
22945 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22946 NULL, HFILL
22949 { &hf_woww_skin_color,
22950 { "Skin Color", "woww.skin.color",
22951 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22952 NULL, HFILL
22955 { &hf_woww_slot,
22956 { "Slot", "woww.slot",
22957 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22958 NULL, HFILL
22961 { &hf_woww_slot_id,
22962 { "Slot Id", "woww.slot.id",
22963 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22964 NULL, HFILL
22967 { &hf_woww_slot_index,
22968 { "Slot Index", "woww.slot.index",
22969 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22970 NULL, HFILL
22973 { &hf_woww_sound_id,
22974 { "Sound Id", "woww.sound.id",
22975 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22976 NULL, HFILL
22979 { &hf_woww_source_bag,
22980 { "Source Bag", "woww.source.bag",
22981 FT_UINT8, BASE_HEX_DEC, NULL, 0,
22982 NULL, HFILL
22985 { &hf_woww_source_item_id,
22986 { "Source Item Id", "woww.source.item.id",
22987 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22988 NULL, HFILL
22991 { &hf_woww_source_node,
22992 { "Source Node", "woww.source.node",
22993 FT_UINT32, BASE_HEX_DEC, NULL, 0,
22994 NULL, HFILL
22997 { &hf_woww_source_slot,
22998 { "Source Slot", "woww.source.slot",
22999 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23000 NULL, HFILL
23003 { &hf_woww_speech_bubble_credit,
23004 { "Speech Bubble Credit", "woww.speech.bubble.credit",
23005 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23006 NULL, HFILL
23009 { &hf_woww_speed,
23010 { "Speed", "woww.speed",
23011 FT_FLOAT, BASE_NONE, NULL, 0,
23012 NULL, HFILL
23015 { &hf_woww_spell,
23016 { "Spell", "woww.spell",
23017 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23018 NULL, HFILL
23021 { &hf_woww_spell_art_kit,
23022 { "Spell Art Kit", "woww.spell.art.kit",
23023 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23024 NULL, HFILL
23027 { &hf_woww_spell_cast_result,
23028 { "Spell Cast Result", "woww.spell.cast.result",
23029 FT_UINT8, BASE_HEX_DEC, VALS(e_spell_cast_result_strings), 0,
23030 NULL, HFILL
23033 { &hf_woww_spell_cast_target_flags,
23034 { "Spell Cast Target Flags", "woww.spell.cast.target.flags",
23035 FT_UINT16, BASE_HEX_DEC, NULL, 0,
23036 NULL, HFILL
23039 { &hf_woww_spell_category,
23040 { "Spell Category", "woww.spell.category",
23041 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23042 NULL, HFILL
23045 { &hf_woww_spell_category_cooldown,
23046 { "Spell Category Cooldown", "woww.spell.category.cooldown",
23047 FT_INT32, BASE_DEC, NULL, 0,
23048 NULL, HFILL
23051 { &hf_woww_spell_charges,
23052 { "Spell Charges", "woww.spell.charges",
23053 FT_INT32, BASE_DEC, NULL, 0,
23054 NULL, HFILL
23057 { &hf_woww_spell_cooldown,
23058 { "Spell Cooldown", "woww.spell.cooldown",
23059 FT_INT32, BASE_DEC, NULL, 0,
23060 NULL, HFILL
23063 { &hf_woww_spell_cost,
23064 { "Spell Cost", "woww.spell.cost",
23065 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23066 NULL, HFILL
23069 { &hf_woww_spell_count,
23070 { "Spell Count", "woww.spell.count",
23071 FT_UINT16, BASE_HEX_DEC, NULL, 0,
23072 NULL, HFILL
23075 { &hf_woww_spell_data_id,
23076 { "Spell Data Id", "woww.spell.data.id",
23077 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23078 NULL, HFILL
23081 { &hf_woww_spell_effect,
23082 { "Spell Effect", "woww.spell.effect",
23083 FT_UINT32, BASE_HEX_DEC, VALS(e_spell_effect_strings), 0,
23084 NULL, HFILL
23087 { &hf_woww_spell_id,
23088 { "Spell Id", "woww.spell.id",
23089 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23090 NULL, HFILL
23093 { &hf_woww_spell_index,
23094 { "Spell Index", "woww.spell.index",
23095 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23096 NULL, HFILL
23099 { &hf_woww_spell_miss_info,
23100 { "Spell Miss Info", "woww.spell.miss.info",
23101 FT_UINT8, BASE_HEX_DEC, VALS(e_spell_miss_info_strings), 0,
23102 NULL, HFILL
23105 { &hf_woww_spell_on_lowest_slot,
23106 { "Spell On Lowest Slot", "woww.spell.on.lowest.slot",
23107 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23108 NULL, HFILL
23111 { &hf_woww_spell_school,
23112 { "Spell School", "woww.spell.school",
23113 FT_UINT32, BASE_HEX_DEC, VALS(e_spell_school_strings), 0,
23114 NULL, HFILL
23117 { &hf_woww_spell_school_mask,
23118 { "Spell School Mask", "woww.spell.school.mask",
23119 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23120 NULL, HFILL
23123 { &hf_woww_spell_trigger_type,
23124 { "Spell Trigger Type", "woww.spell.trigger.type",
23125 FT_UINT32, BASE_HEX_DEC, VALS(e_spell_trigger_type_strings), 0,
23126 NULL, HFILL
23129 { &hf_woww_spell_visual_kit,
23130 { "Spell Visual Kit", "woww.spell.visual.kit",
23131 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23132 NULL, HFILL
23135 { &hf_woww_spells,
23136 { "Spells", "woww.spells",
23137 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23138 NULL, HFILL
23141 { &hf_woww_spirit,
23142 { "Spirit", "woww.spirit",
23143 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23144 NULL, HFILL
23147 { &hf_woww_spirit_released,
23148 { "Spirit Released", "woww.spirit.released",
23149 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23150 NULL, HFILL
23153 { &hf_woww_spline_elevation,
23154 { "Spline Elevation", "woww.spline.elevation",
23155 FT_FLOAT, BASE_NONE, NULL, 0,
23156 NULL, HFILL
23159 { &hf_woww_spline_flag,
23160 { "Spline Flag", "woww.spline.flag",
23161 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23162 NULL, HFILL
23165 { &hf_woww_spline_id,
23166 { "Spline Id", "woww.spline.id",
23167 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23168 NULL, HFILL
23171 { &hf_woww_stable_master,
23172 { "Stable Master", "woww.stable.master",
23173 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23174 NULL, HFILL
23177 { &hf_woww_stable_result,
23178 { "Stable Result", "woww.stable.result",
23179 FT_UINT8, BASE_HEX_DEC, VALS(e_stable_result_strings), 0,
23180 NULL, HFILL
23183 { &hf_woww_stable_slots,
23184 { "Stable Slots", "woww.stable.slots",
23185 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23186 NULL, HFILL
23189 { &hf_woww_stack_count,
23190 { "Stack Count", "woww.stack.count",
23191 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23192 NULL, HFILL
23195 { &hf_woww_stackable,
23196 { "Stackable", "woww.stackable",
23197 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23198 NULL, HFILL
23201 { &hf_woww_stamina,
23202 { "Stamina", "woww.stamina",
23203 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23204 NULL, HFILL
23207 { &hf_woww_standing,
23208 { "Standing", "woww.standing",
23209 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23210 NULL, HFILL
23213 { &hf_woww_start_bid,
23214 { "Start Bid", "woww.start.bid",
23215 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23216 NULL, HFILL
23219 { &hf_woww_start_from_page,
23220 { "Start From Page", "woww.start.from.page",
23221 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23222 NULL, HFILL
23225 { &hf_woww_start_quest,
23226 { "Start Quest", "woww.start.quest",
23227 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23228 NULL, HFILL
23231 { &hf_woww_starting_bid,
23232 { "Starting Bid", "woww.starting.bid",
23233 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23234 NULL, HFILL
23237 { &hf_woww_state,
23238 { "State", "woww.state",
23239 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23240 NULL, HFILL
23243 { &hf_woww_stationery,
23244 { "Stationery", "woww.stationery",
23245 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23246 NULL, HFILL
23249 { &hf_woww_status,
23250 { "Status", "woww.status",
23251 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23252 NULL, HFILL
23255 { &hf_woww_status_id,
23256 { "Status Id", "woww.status.id",
23257 FT_UINT8, BASE_HEX_DEC, VALS(e_status_id_strings), 0,
23258 NULL, HFILL
23261 { &hf_woww_strength,
23262 { "Strength", "woww.strength",
23263 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23264 NULL, HFILL
23267 { &hf_woww_string,
23268 { "String", "woww.string",
23269 FT_STRINGZ, BASE_NONE, NULL, 0,
23270 NULL, HFILL
23273 { &hf_woww_sub_name,
23274 { "Sub Name", "woww.sub.name",
23275 FT_STRINGZ, BASE_NONE, NULL, 0,
23276 NULL, HFILL
23279 { &hf_woww_subject,
23280 { "Subject", "woww.subject",
23281 FT_STRINGZ, BASE_NONE, NULL, 0,
23282 NULL, HFILL
23285 { &hf_woww_suggestion,
23286 { "Suggestion", "woww.suggestion",
23287 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23288 NULL, HFILL
23291 { &hf_woww_summoner,
23292 { "Summoner", "woww.summoner",
23293 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23294 NULL, HFILL
23297 { &hf_woww_survey_id,
23298 { "Survey Id", "woww.survey.id",
23299 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23300 NULL, HFILL
23303 { &hf_woww_swap_with_name,
23304 { "Swap With Name", "woww.swap.with.name",
23305 FT_STRINGZ, BASE_NONE, NULL, 0,
23306 NULL, HFILL
23309 { &hf_woww_swimming_speed,
23310 { "Swimming Speed", "woww.swimming.speed",
23311 FT_FLOAT, BASE_NONE, NULL, 0,
23312 NULL, HFILL
23315 { &hf_woww_talent,
23316 { "Talent", "woww.talent",
23317 FT_UINT32, BASE_HEX_DEC, VALS(e_talent_strings), 0,
23318 NULL, HFILL
23321 { &hf_woww_talent_point_cost,
23322 { "Talent Point Cost", "woww.talent.point.cost",
23323 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23324 NULL, HFILL
23327 { &hf_woww_talent_reset_cost,
23328 { "Talent Reset Cost", "woww.talent.reset.cost",
23329 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23330 NULL, HFILL
23333 { &hf_woww_target,
23334 { "Target", "woww.target",
23335 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23336 NULL, HFILL
23339 { &hf_woww_target_error,
23340 { "Target Error", "woww.target.error",
23341 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23342 NULL, HFILL
23345 { &hf_woww_target_player,
23346 { "Target Player", "woww.target.player",
23347 FT_STRINGZ, BASE_NONE, NULL, 0,
23348 NULL, HFILL
23351 { &hf_woww_target_string,
23352 { "Target String", "woww.target.string",
23353 FT_STRINGZ, BASE_NONE, NULL, 0,
23354 NULL, HFILL
23357 { &hf_woww_targets,
23358 { "Targets", "woww.targets",
23359 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23360 NULL, HFILL
23363 { &hf_woww_taxi_mask_node_known,
23364 { "Taxi Mask Node Known", "woww.taxi.mask.node.known",
23365 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23366 NULL, HFILL
23369 { &hf_woww_text,
23370 { "Text", "woww.text",
23371 FT_STRINGZ, BASE_NONE, NULL, 0,
23372 NULL, HFILL
23375 { &hf_woww_text_emote,
23376 { "Text Emote", "woww.text.emote",
23377 FT_UINT32, BASE_HEX_DEC, VALS(e_text_emote_strings), 0,
23378 NULL, HFILL
23381 { &hf_woww_text_id,
23382 { "Text Id", "woww.text.id",
23383 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23384 NULL, HFILL
23387 { &hf_woww_texts,
23388 { "Texts", "woww.texts",
23389 FT_STRINGZ, BASE_NONE, NULL, 0,
23390 NULL, HFILL
23393 { &hf_woww_this_week_honor,
23394 { "This Week Honor", "woww.this.week.honor",
23395 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23396 NULL, HFILL
23399 { &hf_woww_this_week_honorable,
23400 { "This Week Honorable", "woww.this.week.honorable",
23401 FT_UINT16, BASE_HEX_DEC, NULL, 0,
23402 NULL, HFILL
23405 { &hf_woww_time,
23406 { "Time", "woww.time",
23407 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23408 NULL, HFILL
23411 { &hf_woww_time_in_queue_in_ms,
23412 { "Time In Queue In Ms", "woww.time.in.queue.in.ms",
23413 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23414 NULL, HFILL
23417 { &hf_woww_time_left,
23418 { "Time Left", "woww.time.left",
23419 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23420 NULL, HFILL
23423 { &hf_woww_time_offline,
23424 { "Time Offline", "woww.time.offline",
23425 FT_FLOAT, BASE_NONE, NULL, 0,
23426 NULL, HFILL
23429 { &hf_woww_time_passed,
23430 { "Time Passed", "woww.time.passed",
23431 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23432 NULL, HFILL
23435 { &hf_woww_time_remaining,
23436 { "Time Remaining", "woww.time.remaining",
23437 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23438 NULL, HFILL
23441 { &hf_woww_time_skipped,
23442 { "Time Skipped", "woww.time.skipped",
23443 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23444 NULL, HFILL
23447 { &hf_woww_time_to_bg_autoleave_in_ms,
23448 { "Time To Bg Autoleave In Ms", "woww.time.to.bg.autoleave.in.ms",
23449 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23450 NULL, HFILL
23453 { &hf_woww_time_to_bg_start_in_ms,
23454 { "Time To Bg Start In Ms", "woww.time.to.bg.start.in.ms",
23455 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23456 NULL, HFILL
23459 { &hf_woww_time_to_remove_in_queue_in_ms,
23460 { "Time To Remove In Queue In Ms", "woww.time.to.remove.in.queue.in.ms",
23461 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23462 NULL, HFILL
23465 { &hf_woww_timer,
23466 { "Timer", "woww.timer",
23467 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23468 NULL, HFILL
23471 { &hf_woww_timer_type,
23472 { "Timer Type", "woww.timer.type",
23473 FT_UINT32, BASE_HEX_DEC, VALS(e_timer_type_strings), 0,
23474 NULL, HFILL
23477 { &hf_woww_timescale,
23478 { "Timescale", "woww.timescale",
23479 FT_FLOAT, BASE_NONE, NULL, 0,
23480 NULL, HFILL
23483 { &hf_woww_timestamp,
23484 { "Timestamp", "woww.timestamp",
23485 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23486 NULL, HFILL
23489 { &hf_woww_title,
23490 { "Title", "woww.title",
23491 FT_STRINGZ, BASE_NONE, NULL, 0,
23492 NULL, HFILL
23495 { &hf_woww_title_text_id,
23496 { "Title Text Id", "woww.title.text.id",
23497 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23498 NULL, HFILL
23501 { &hf_woww_today_honorable_and_dishonorable,
23502 { "Today Honorable And Dishonorable", "woww.today.honorable.and.dishonorable",
23503 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23504 NULL, HFILL
23507 { &hf_woww_todo_amount_of_signers,
23508 { "Todo Amount Of Signers", "woww.todo.amount.of.signers",
23509 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23510 NULL, HFILL
23513 { &hf_woww_total_amount_of_auctions,
23514 { "Total Amount Of Auctions", "woww.total.amount.of.auctions",
23515 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23516 NULL, HFILL
23519 { &hf_woww_total_cost,
23520 { "Total Cost", "woww.total.cost",
23521 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23522 NULL, HFILL
23525 { &hf_woww_total_damage,
23526 { "Total Damage", "woww.total.damage",
23527 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23528 NULL, HFILL
23531 { &hf_woww_total_exp,
23532 { "Total Exp", "woww.total.exp",
23533 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23534 NULL, HFILL
23537 { &hf_woww_total_played_time,
23538 { "Total Played Time", "woww.total.played.time",
23539 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23540 NULL, HFILL
23543 { &hf_woww_trade_item,
23544 { "Trade Item", "woww.trade.item",
23545 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23546 NULL, HFILL
23549 { &hf_woww_trade_slot,
23550 { "Trade Slot", "woww.trade.slot",
23551 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23552 NULL, HFILL
23555 { &hf_woww_trade_slot_count,
23556 { "Trade Slot Count", "woww.trade.slot.count",
23557 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23558 NULL, HFILL
23561 { &hf_woww_trade_slot_number,
23562 { "Trade Slot Number", "woww.trade.slot.number",
23563 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23564 NULL, HFILL
23567 { &hf_woww_trade_status,
23568 { "Trade Status", "woww.trade.status",
23569 FT_UINT32, BASE_HEX_DEC, VALS(e_trade_status_strings), 0,
23570 NULL, HFILL
23573 { &hf_woww_trainer_spell_state,
23574 { "Trainer Spell State", "woww.trainer.spell.state",
23575 FT_UINT8, BASE_HEX_DEC, VALS(e_trainer_spell_state_strings), 0,
23576 NULL, HFILL
23579 { &hf_woww_trainer_type,
23580 { "Trainer Type", "woww.trainer.type",
23581 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23582 NULL, HFILL
23585 { &hf_woww_training_failure_reason,
23586 { "Training Failure Reason", "woww.training.failure.reason",
23587 FT_UINT32, BASE_HEX_DEC, VALS(e_training_failure_reason_strings), 0,
23588 NULL, HFILL
23591 { &hf_woww_transfer_abort_reason,
23592 { "Transfer Abort Reason", "woww.transfer.abort.reason",
23593 FT_UINT8, BASE_HEX_DEC, VALS(e_transfer_abort_reason_strings), 0,
23594 NULL, HFILL
23597 { &hf_woww_transport,
23598 { "Transport", "woww.transport",
23599 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23600 NULL, HFILL
23603 { &hf_woww_transport_guid,
23604 { "Transport Guid", "woww.transport.guid",
23605 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23606 NULL, HFILL
23609 { &hf_woww_transport_orientation,
23610 { "Transport Orientation", "woww.transport.orientation",
23611 FT_FLOAT, BASE_NONE, NULL, 0,
23612 NULL, HFILL
23615 { &hf_woww_transport_progress_in_ms,
23616 { "Transport Progress In Ms", "woww.transport.progress.in.ms",
23617 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23618 NULL, HFILL
23621 { &hf_woww_trigger_id,
23622 { "Trigger Id", "woww.trigger.id",
23623 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23624 NULL, HFILL
23627 { &hf_woww_turn_rate,
23628 { "Turn Rate", "woww.turn.rate",
23629 FT_FLOAT, BASE_NONE, NULL, 0,
23630 NULL, HFILL
23633 { &hf_woww_tutorial_data,
23634 { "Tutorial Data", "woww.tutorial.data",
23635 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23636 NULL, HFILL
23639 { &hf_woww_tutorial_flag,
23640 { "Tutorial Flag", "woww.tutorial.flag",
23641 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23642 NULL, HFILL
23645 { &hf_woww_type_flags,
23646 { "Type Flags", "woww.type.flags",
23647 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23648 NULL, HFILL
23651 { &hf_woww_unit_stand_state,
23652 { "Unit Stand State", "woww.unit.stand.state",
23653 FT_UINT32, BASE_HEX_DEC, VALS(e_unit_stand_state_strings), 0,
23654 NULL, HFILL
23657 { &hf_woww_unit_target,
23658 { "Unit Target", "woww.unit.target",
23659 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23660 NULL, HFILL
23663 { &hf_woww_unknown_flags,
23664 { "Unknown Flags", "woww.unknown.flags",
23665 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23666 NULL, HFILL
23669 { &hf_woww_unknown_float,
23670 { "Unknown Float", "woww.unknown.float",
23671 FT_FLOAT, BASE_NONE, NULL, 0,
23672 NULL, HFILL
23675 { &hf_woww_unknown_guid,
23676 { "Unknown Guid", "woww.unknown.guid",
23677 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23678 NULL, HFILL
23681 { &hf_woww_unknown_int,
23682 { "Unknown Int", "woww.unknown.int",
23683 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23684 NULL, HFILL
23687 { &hf_woww_unread_mails,
23688 { "Unread Mails", "woww.unread.mails",
23689 FT_FLOAT, BASE_NONE, NULL, 0,
23690 NULL, HFILL
23693 { &hf_woww_unused,
23694 { "Unused", "woww.unused",
23695 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23696 NULL, HFILL
23699 { &hf_woww_update_available_flag,
23700 { "Update Available Flag", "woww.update.available.flag",
23701 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23702 NULL, HFILL
23705 { &hf_woww_update_flag,
23706 { "Update Flag", "woww.update.flag",
23707 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23708 NULL, HFILL
23711 { &hf_woww_update_type,
23712 { "Update Type", "woww.update.type",
23713 FT_UINT8, BASE_HEX_DEC, VALS(e_update_type_strings), 0,
23714 NULL, HFILL
23717 { &hf_woww_url,
23718 { "Url", "woww.url",
23719 FT_STRINGZ, BASE_NONE, NULL, 0,
23720 NULL, HFILL
23723 { &hf_woww_url_info,
23724 { "Url Info", "woww.url.info",
23725 FT_UINT8, BASE_HEX_DEC, VALS(e_url_info_strings), 0,
23726 NULL, HFILL
23729 { &hf_woww_usable,
23730 { "Usable", "woww.usable",
23731 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23732 NULL, HFILL
23735 { &hf_woww_username,
23736 { "Username", "woww.username",
23737 FT_STRINGZ, BASE_NONE, NULL, 0,
23738 NULL, HFILL
23741 { &hf_woww_v_cos,
23742 { "V Cos", "woww.v.cos",
23743 FT_FLOAT, BASE_NONE, NULL, 0,
23744 NULL, HFILL
23747 { &hf_woww_v_sin,
23748 { "V Sin", "woww.v.sin",
23749 FT_FLOAT, BASE_NONE, NULL, 0,
23750 NULL, HFILL
23753 { &hf_woww_value,
23754 { "Value", "woww.value",
23755 FT_INT32, BASE_DEC, NULL, 0,
23756 NULL, HFILL
23759 { &hf_woww_vendor,
23760 { "Vendor", "woww.vendor",
23761 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23762 NULL, HFILL
23765 { &hf_woww_vendor_slot,
23766 { "Vendor Slot", "woww.vendor.slot",
23767 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23768 NULL, HFILL
23771 { &hf_woww_vertical_speed,
23772 { "Vertical Speed", "woww.vertical.speed",
23773 FT_FLOAT, BASE_NONE, NULL, 0,
23774 NULL, HFILL
23777 { &hf_woww_victim,
23778 { "Victim", "woww.victim",
23779 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23780 NULL, HFILL
23783 { &hf_woww_walking_speed,
23784 { "Walking Speed", "woww.walking.speed",
23785 FT_FLOAT, BASE_NONE, NULL, 0,
23786 NULL, HFILL
23789 { &hf_woww_weather_change_type,
23790 { "Weather Change Type", "woww.weather.change.type",
23791 FT_UINT8, BASE_HEX_DEC, VALS(e_weather_change_type_strings), 0,
23792 NULL, HFILL
23795 { &hf_woww_weather_type,
23796 { "Weather Type", "woww.weather.type",
23797 FT_UINT32, BASE_HEX_DEC, VALS(e_weather_type_strings), 0,
23798 NULL, HFILL
23801 { &hf_woww_winning_player,
23802 { "Winning Player", "woww.winning.player",
23803 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23804 NULL, HFILL
23807 { &hf_woww_winning_roll,
23808 { "Winning Roll", "woww.winning.roll",
23809 FT_UINT8, BASE_HEX_DEC, NULL, 0,
23810 NULL, HFILL
23813 { &hf_woww_wiping_npc,
23814 { "Wiping Npc", "woww.wiping.npc",
23815 FT_UINT64, BASE_HEX_DEC, NULL, 0,
23816 NULL, HFILL
23819 { &hf_woww_won,
23820 { "Won", "woww.won",
23821 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23822 NULL, HFILL
23825 { &hf_woww_world_result,
23826 { "World Result", "woww.world.result",
23827 FT_UINT8, BASE_HEX_DEC, VALS(e_world_result_strings), 0,
23828 NULL, HFILL
23831 { &hf_woww_wrapped,
23832 { "Wrapped", "woww.wrapped",
23833 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23834 NULL, HFILL
23837 { &hf_woww_x,
23838 { "X", "woww.x",
23839 FT_FLOAT, BASE_NONE, NULL, 0,
23840 NULL, HFILL
23843 { &hf_woww_xy_speed,
23844 { "Xy Speed", "woww.xy.speed",
23845 FT_FLOAT, BASE_NONE, NULL, 0,
23846 NULL, HFILL
23849 { &hf_woww_y,
23850 { "Y", "woww.y",
23851 FT_FLOAT, BASE_NONE, NULL, 0,
23852 NULL, HFILL
23855 { &hf_woww_yesterday_honor,
23856 { "Yesterday Honor", "woww.yesterday.honor",
23857 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23858 NULL, HFILL
23861 { &hf_woww_yesterday_honorable,
23862 { "Yesterday Honorable", "woww.yesterday.honorable",
23863 FT_UINT16, BASE_HEX_DEC, NULL, 0,
23864 NULL, HFILL
23867 { &hf_woww_z,
23868 { "Z", "woww.z",
23869 FT_FLOAT, BASE_NONE, NULL, 0,
23870 NULL, HFILL
23873 { &hf_woww_z_speed,
23874 { "Z Speed", "woww.z.speed",
23875 FT_FLOAT, BASE_NONE, NULL, 0,
23876 NULL, HFILL
23879 { &hf_woww_zone_or_sort,
23880 { "Zone Or Sort", "woww.zone.or.sort",
23881 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23882 NULL, HFILL
23885 { &hf_woww_zones,
23886 { "Zones", "woww.zones",
23887 FT_UINT32, BASE_HEX_DEC, NULL, 0,
23888 NULL, HFILL
23891 /* AUTOGENERATED_END_REGISTER */
23894 static int *ett[] = {
23895 &ett_woww,
23896 &ett_message,
23897 &ett_character
23900 proto_woww = proto_register_protocol("World of Warcraft World",
23901 "WOWW", "woww");
23902 woww_handle = register_dissector("woww", dissect_woww, proto_woww);
23904 proto_register_field_array(proto_woww, hf, array_length(hf));
23905 proto_register_subtree_array(ett, array_length(ett));
23907 prefs_register_protocol(proto_woww, NULL);
23911 void
23912 proto_reg_handoff_woww(void)
23914 dissector_add_for_decode_as("tcp.port", woww_handle);
23918 * Editor modelines - https://www.wireshark.org/tools/modelines.html
23920 * Local variables:
23921 * c-basic-offset: 4
23922 * tab-width: 8
23923 * indent-tabs-mode: nil
23924 * End:
23926 * vi: set shiftwidth=4 tabstop=8 expandtab:
23927 * :indentSize=4:tabSize=8:noTabs=true: