aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
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 /src/server/game/Server/Packets
parent163bd334d0891463c9082df5d251e51f046713f1 (diff)
Core/PacketIO: updated SMSG_ENVIRONMENTALDAMAGELOG and enabled some opcodes
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/CombatLogPackets.cpp17
-rw-r--r--src/server/game/Server/Packets/CombatLogPackets.h15
2 files changed, 32 insertions, 0 deletions
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
+ };
}
}