diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-03-19 00:03:38 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-03-19 00:03:38 +0100 |
| commit | fa75f635669df6f0aab4abef074f9e8da4b5bf06 (patch) | |
| tree | 64aacb5246beaa5a6b21143b0dd462a6694c5b3c /src/server/game/Server | |
| parent | e0d3781989c3e9339bfc14981a57683d3010f4e0 (diff) | |
Core/Auras: Implemented SPELL_AURA_MOD_CHARGE_RECOVERY_RATE, SPELL_AURA_MOD_CHARGE_RECOVERY_RATE_BY_TYPE_MASK and SPELL_AURA_MOD_CHARGE_RECOVERY_BY_TYPE_MASK
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.cpp | 11 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.h | 13 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 |
3 files changed, 25 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 23391e57175..e7bb499d85b 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -704,6 +704,17 @@ WorldPacket const* SetSpellCharges::Write() return &_worldPacket; } +WorldPacket const* UpdateChargeCategoryCooldown::Write() +{ + _worldPacket << int32(Category); + _worldPacket << float(ModChange); + _worldPacket << float(ModRate); + _worldPacket << Bits<1>(Snapshot); + _worldPacket.FlushBits(); + + return &_worldPacket; +} + ByteBuffer& operator<<(ByteBuffer& data, SpellChargeEntry const& chargeEntry) { data << uint32(chargeEntry.Category); diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index 63798895ebb..5893496f13d 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -658,6 +658,19 @@ namespace WorldPackets float ChargeModRate = 1.0f; }; + class UpdateChargeCategoryCooldown final : public ServerPacket + { + public: + UpdateChargeCategoryCooldown() : ServerPacket(SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN, 4 + 4 + 4 + 1) { } + + WorldPacket const* Write() override; + + int32 Category = 0; + float ModChange = 1.0f; + float ModRate = 1.0f; + bool Snapshot = false; + }; + struct SpellChargeEntry { uint32 Category = 0; diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index c1ebd755f4c..6192dce193e 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -2202,7 +2202,7 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CAPTURE_POINT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CELESTIAL_BODY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CHARACTER_FLAGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CRAFTING_NPC_RECIPES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_DAILY_MISSION_COUNTER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); |
