aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchesD <majklprofik@seznam.cz>2015-03-11 16:59:42 +0100
committerMitchesD <majklprofik@seznam.cz>2015-03-11 16:59:42 +0100
commit7b446a28ccc8fe5a786c65c1f293e2df7f8da60c (patch)
treed0a0df380ae75edc90148e08d4bf345eafba7223
parent163bd334d0891463c9082df5d251e51f046713f1 (diff)
Core/PacketIO: updated SMSG_ENVIRONMENTALDAMAGELOG and enabled some opcodes
-rw-r--r--src/server/game/Entities/Player/Player.cpp15
-rw-r--r--src/server/game/Server/Packets/CombatLogPackets.cpp17
-rw-r--r--src/server/game/Server/Packets/CombatLogPackets.h15
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp22
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h24
5 files changed, 63 insertions, 30 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index b46783deffb..093efd0ac55 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -33,6 +33,7 @@
#include "CharacterPackets.h"
#include "TalentPackets.h"
#include "Chat.h"
+#include "CombatLogPackets.h"
#include "CombatPackets.h"
#include "Common.h"
#include "ConditionMgr.h"
@@ -1293,13 +1294,13 @@ uint32 Player::EnvironmentalDamage(EnviromentalDamage type, uint32 damage)
DealDamageMods(this, damage, &absorb);
- WorldPacket data(SMSG_ENVIRONMENTALDAMAGELOG, (21));
- data << GetGUID();
- data << uint8(type != DAMAGE_FALL_TO_VOID ? type : DAMAGE_FALL);
- data << uint32(damage);
- data << uint32(absorb);
- data << uint32(resist);
- SendMessageToSet(&data, true);
+ WorldPackets::CombatLog::EnvironmentalDamageLog packet;
+ packet.Victim = GetGUID();
+ packet.Type = type != DAMAGE_FALL_TO_VOID ? type : DAMAGE_FALL;
+ packet.Amount = damage;
+ packet.Absorbed = absorb;
+ packet.Resisted = resist;
+ SendMessageToSet(packet.Write(), true);
uint32 final_damage = DealDamage(this, damage, NULL, SELF_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
diff --git a/src/server/game/Server/Packets/CombatLogPackets.cpp b/src/server/game/Server/Packets/CombatLogPackets.cpp
index 3dd5237ac1f..e44db70c76a 100644
--- a/src/server/game/Server/Packets/CombatLogPackets.cpp
+++ b/src/server/game/Server/Packets/CombatLogPackets.cpp
@@ -41,3 +41,20 @@ WorldPacket const* WorldPackets::CombatLog::SpellNonMeleeDamageLog::Write()
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::CombatLog::EnvironmentalDamageLog::Write()
+{
+ _worldPacket << Victim;
+ _worldPacket << Type;
+ _worldPacket << Amount;
+ _worldPacket << Resisted;
+ _worldPacket << Absorbed;
+
+ _worldPacket.WriteBit(LogData.HasValue);
+ _worldPacket.FlushBits();
+
+ if (LogData.HasValue)
+ _worldPacket << LogData.Value;
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/CombatLogPackets.h b/src/server/game/Server/Packets/CombatLogPackets.h
index 3ab4fea2220..81e59b66c96 100644
--- a/src/server/game/Server/Packets/CombatLogPackets.h
+++ b/src/server/game/Server/Packets/CombatLogPackets.h
@@ -46,6 +46,21 @@ namespace WorldPackets
int32 Flags = 0;
int32 Overkill = 0;
};
+
+ class EnvironmentalDamageLog final : public ServerPacket
+ {
+ public:
+ EnvironmentalDamageLog() : ServerPacket(SMSG_ENVIRONMENTALDAMAGELOG, 23) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid Victim;
+ uint8 Type = 0; ///< @see enum EnviromentalDamage
+ int32 Amount = 0;
+ int32 Resisted = 0;
+ int32 Absorbed = 0;
+ Optional<Spells::SpellCastLogData> LogData; /// @todo: find the correct way where to use it, in sniff always false
+ };
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index d425d5ddc46..f7425d61b93 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -669,7 +669,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_QUESTGIVER_REQUEST_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverRequestReward, &WorldSession::HandleQuestgiverRequestRewardOpcode);
DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverStatusMultipleQuery, &WorldSession::HandleQuestgiverStatusMultipleQuery);
- DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Quest::QuestGiverStatusQuery, &WorldSession::HandleQuestgiverStatusQueryOpcode);
+ DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Quest::QuestGiverStatusQuery, &WorldSession::HandleQuestgiverStatusQueryOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTLOG_REMOVE_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestLogRemoveQuest );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTLOG_SWAP_QUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_CONFIRM_ACCEPT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestConfirmAccept );
@@ -1175,7 +1175,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCHANTMENT_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_END, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENVIRONMENTALDAMAGELOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENVIRONMENTALDAMAGELOG, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_SAVED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPECTED_SPAM_RECORDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1447,7 +1447,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_GRAVITY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_KNOCK_BACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_REMOVE_MOVEMENT_FORCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ROOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ROOT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ACTIVE_MOVER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_FLY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
@@ -1473,22 +1473,22 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WATER_WALK, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SKIP_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_GRAVITY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_GRAVITY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ROOT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ROOT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FEATHER_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLYING, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLYING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_HOVER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_LAND_WALK, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_NORMAL_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_PITCH_RATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_SWIM_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_TURN_RATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
@@ -1499,7 +1499,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_START_SWIM, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_STOP_SWIM, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNROOT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_FLYING, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_FLYING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_HOVER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_TELEPORT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNROOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1633,7 +1633,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_INVALID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS_MULTIPLE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_COMPLETION_NPC_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_CONFIRM_ACCEPT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index b4a91ecd8de..165ed58da8a 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -579,7 +579,7 @@ enum OpcodeClient : uint32
CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0xBADD,
CMSG_QUESTGIVER_REQUEST_REWARD = 0xBADD,
CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0xBADD,
- CMSG_QUESTGIVER_STATUS_QUERY = 0xBADD,
+ CMSG_QUESTGIVER_STATUS_QUERY = 0x0A7B,
CMSG_QUESTLOG_REMOVE_QUEST = 0xBADD,
CMSG_QUESTLOG_SWAP_QUEST = 0xBADD,
CMSG_QUEST_CONFIRM_ACCEPT = 0xBADD,
@@ -1386,7 +1386,7 @@ enum OpcodeServer : uint32
SMSG_MOVE_ENABLE_GRAVITY = 0xBADD,
SMSG_MOVE_KNOCK_BACK = 0xBADD,
SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0xBADD,
- SMSG_MOVE_ROOT = 0xBADD,
+ SMSG_MOVE_ROOT = 0x0031,
SMSG_MOVE_SET_ACTIVE_MOVER = 0xBADD,
SMSG_MOVE_SET_ANIM_KIT = 0xBADD,
SMSG_MOVE_SET_CAN_FLY = 0xBADD,
@@ -1412,22 +1412,22 @@ enum OpcodeServer : uint32
SMSG_MOVE_SET_WATER_WALK = 0xBADD,
SMSG_MOVE_SKIP_TIME = 0xBADD,
SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0xBADD,
- SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0xBADD,
+ SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x002A,
SMSG_MOVE_SPLINE_ENABLE_COLLISION = 0xBADD,
- SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0xBADD,
- SMSG_MOVE_SPLINE_ROOT = 0xBADD,
+ SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x0641,
+ SMSG_MOVE_SPLINE_ROOT = 0x0A4B,
SMSG_MOVE_SPLINE_SET_ANIM = 0xBADD,
SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0xBADD,
SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED = 0xBADD,
- SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED = 0xBADD,
- SMSG_MOVE_SPLINE_SET_FLYING = 0xBADD,
+ SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED = 0x0A5B,
+ SMSG_MOVE_SPLINE_SET_FLYING = 0x0212,
SMSG_MOVE_SPLINE_SET_HOVER = 0xBADD,
SMSG_MOVE_SPLINE_SET_LAND_WALK = 0xBADD,
SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0xBADD,
SMSG_MOVE_SPLINE_SET_PITCH_RATE = 0xBADD,
SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED = 0xBADD,
SMSG_MOVE_SPLINE_SET_RUN_MODE = 0xBADD,
- SMSG_MOVE_SPLINE_SET_RUN_SPEED = 0xBADD,
+ SMSG_MOVE_SPLINE_SET_RUN_SPEED = 0x0C89,
SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED = 0xBADD,
SMSG_MOVE_SPLINE_SET_SWIM_SPEED = 0xBADD,
SMSG_MOVE_SPLINE_SET_TURN_RATE = 0xBADD,
@@ -1438,11 +1438,11 @@ enum OpcodeServer : uint32
SMSG_MOVE_SPLINE_START_SWIM = 0xBADD,
SMSG_MOVE_SPLINE_STOP_SWIM = 0xBADD,
SMSG_MOVE_SPLINE_UNROOT = 0xBADD,
- SMSG_MOVE_SPLINE_UNSET_FLYING = 0xBADD,
+ SMSG_MOVE_SPLINE_UNSET_FLYING = 0x1344,
SMSG_MOVE_SPLINE_UNSET_HOVER = 0xBADD,
SMSG_MOVE_TELEPORT = 0xBADD,
- SMSG_MOVE_UNROOT = 0xBADD,
- SMSG_MOVE_UNSET_CAN_FLY = 0xBADD,
+ SMSG_MOVE_UNROOT = 0x0A52,
+ SMSG_MOVE_UNSET_CAN_FLY = 0x0163,
SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0xBADD,
SMSG_MOVE_UNSET_HOVER = 0xBADD,
SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0xBADD,
@@ -1578,7 +1578,7 @@ enum OpcodeServer : uint32
SMSG_QUESTGIVER_QUEST_INVALID = 0xBADD,
SMSG_QUESTGIVER_QUEST_LIST = 0xBADD,
SMSG_QUESTGIVER_REQUEST_ITEMS = 0xBADD,
- SMSG_QUESTGIVER_STATUS = 0xBADD,
+ SMSG_QUESTGIVER_STATUS = 0x039D,
SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x030F,
SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0xBADD,
SMSG_QUEST_CONFIRM_ACCEPT = 0xBADD,