TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SpellPackets.h File Reference
#include "Packet.h"
#include "PacketUtilities.h"
#include "Player.h"
#include "SpellAuras.h"
#include "Spell.h"
+ Include dependency graph for SpellPackets.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  WorldPackets::Spells::CancelAura
 
class  WorldPackets::Spells::CancelAutoRepeatSpell
 
class  WorldPackets::Spells::CancelChannelling
 
class  WorldPackets::Spells::CancelGrowthAura
 
class  WorldPackets::Spells::CancelMountAura
 
class  WorldPackets::Spells::PetCancelAura
 
class  WorldPackets::Spells::RequestCategoryCooldowns
 
class  WorldPackets::Spells::CategoryCooldown
 
struct  WorldPackets::Spells::CategoryCooldown::CategoryCooldownInfo
 
class  WorldPackets::Spells::SendKnownSpells
 
class  WorldPackets::Spells::UpdateActionButtons
 
class  WorldPackets::Spells::SetActionButton
 
class  WorldPackets::Spells::SendUnlearnSpells
 
struct  WorldPackets::Spells::SpellLogPowerData
 
struct  WorldPackets::Spells::SpellCastLogData
 
struct  WorldPackets::Spells::AuraDataInfo
 
struct  WorldPackets::Spells::AuraInfo
 
class  WorldPackets::Spells::AuraUpdate
 
struct  WorldPackets::Spells::TargetLocation
 
struct  WorldPackets::Spells::SpellTargetData
 
struct  WorldPackets::Spells::MissileTrajectoryRequest
 
struct  WorldPackets::Spells::SpellWeight
 
struct  WorldPackets::Spells::SpellCastRequest
 
class  WorldPackets::Spells::CastSpell
 
class  WorldPackets::Spells::PetCastSpell
 
class  WorldPackets::Spells::UseItem
 
struct  WorldPackets::Spells::SpellMissStatus
 
struct  WorldPackets::Spells::SpellPowerData
 
struct  WorldPackets::Spells::RuneData
 
struct  WorldPackets::Spells::MissileTrajectoryResult
 
struct  WorldPackets::Spells::SpellAmmo
 
struct  WorldPackets::Spells::CreatureImmunities
 
struct  WorldPackets::Spells::SpellHealPrediction
 
struct  WorldPackets::Spells::SpellCastData
 
class  WorldPackets::Spells::SpellGo
 
class  WorldPackets::Spells::SpellStart
 
class  WorldPackets::Spells::LearnedSpells
 
class  WorldPackets::Spells::SpellFailure
 
class  WorldPackets::Spells::SpellFailedOther
 
class  WorldPackets::Spells::CastFailed
 
struct  WorldPackets::Spells::SpellModifierData
 
struct  WorldPackets::Spells::SpellModifier
 
class  WorldPackets::Spells::SetSpellModifier
 
class  WorldPackets::Spells::UnlearnedSpells
 
class  WorldPackets::Spells::CooldownEvent
 
class  WorldPackets::Spells::ClearCooldowns
 
class  WorldPackets::Spells::ClearCooldown
 
class  WorldPackets::Spells::ModifyCooldown
 
struct  WorldPackets::Spells::SpellCooldownStruct
 
class  WorldPackets::Spells::SpellCooldown
 
struct  WorldPackets::Spells::SpellHistoryEntry
 
class  WorldPackets::Spells::SendSpellHistory
 
class  WorldPackets::Spells::ClearAllSpellCharges
 
class  WorldPackets::Spells::ClearSpellCharges
 
class  WorldPackets::Spells::SetSpellCharges
 
struct  WorldPackets::Spells::SpellChargeEntry
 
class  WorldPackets::Spells::SendSpellCharges
 
class  WorldPackets::Spells::ClearTarget
 
class  WorldPackets::Spells::CancelOrphanSpellVisual
 
class  WorldPackets::Spells::CancelSpellVisual
 
class  WorldPackets::Spells::PlaySpellVisualKit
 
class  WorldPackets::Spells::CancelCast
 
class  WorldPackets::Spells::OpenItem
 
struct  WorldPackets::Spells::SpellChannelStartInterruptImmunities
 
struct  WorldPackets::Spells::SpellTargetedHealPrediction
 
class  WorldPackets::Spells::SpellChannelStart
 
class  WorldPackets::Spells::SpellChannelUpdate
 
class  WorldPackets::Spells::ResurrectRequest
 
class  WorldPackets::Spells::UnlearnSkill
 
class  WorldPackets::Spells::SelfRes
 
class  WorldPackets::Spells::GetMirrorImageData
 
class  WorldPackets::Spells::MirrorImageComponentedData
 
class  WorldPackets::Spells::MirrorImageCreatureData
 
class  WorldPackets::Spells::SpellClick
 
class  WorldPackets::Spells::ConvertRune
 
class  WorldPackets::Spells::ResyncRunes
 
struct  WorldPackets::Spells::ResyncRunes::ResyncRune
 
class  WorldPackets::Spells::MissileTrajectoryCollision
 
class  WorldPackets::Spells::NotifyMissileTrajectoryCollision
 
class  WorldPackets::Spells::UpdateMissileTrajectory
 
class  WorldPackets::Spells::SpellDelayed
 
class  WorldPackets::Spells::DispelFailed
 

Namespaces

 WorldPackets
 
 WorldPackets::Spells
 

Functions

ByteBufferoperator<< (ByteBuffer &data, WorldPackets::Spells::SpellCastLogData const &spellCastLogData)
 
ByteBufferoperator>> (ByteBuffer &buffer, WorldPackets::Spells::SpellCastRequest &request)
 

Function Documentation

ByteBuffer& operator<< ( ByteBuffer data,
WorldPackets::Spells::SpellCastLogData const spellCastLogData 
)
100 {
101  data << spellCastLogData.Health;
102  data << spellCastLogData.AttackPower;
103  data << spellCastLogData.SpellPower;
104  data << int32(spellCastLogData.PowerData.size());
105  for (WorldPackets::Spells::SpellLogPowerData const& powerData : spellCastLogData.PowerData)
106  {
107  data << powerData.PowerType;
108  data << powerData.Amount;
109  }
110  data.WriteBit(false);
111  // data << float // Unk data if bit is true
112  data.FlushBits();
113 
114  return data;
115 }
Definition: SpellPackets.h:166
int32 PowerType
Definition: SpellPackets.h:170
void FlushBits()
Definition: ByteBuffer.h:150
bool WriteBit(uint32 bit)
Definition: ByteBuffer.h:170
int32_t int32
Definition: g3dmath.h:167
int32 Amount
Definition: SpellPackets.h:171

+ Here is the call graph for this function:

ByteBuffer& operator>> ( ByteBuffer buffer,
WorldPackets::Spells::SpellCastRequest request 
)
208 {
209  buffer >> request.CastID;
210  buffer >> request.Misc[0];
211  buffer >> request.Misc[1];
212  buffer >> request.SpellID;
213  buffer >> request.SpellXSpellVisualID;
214  buffer >> request.Target;
215  buffer >> request.MissileTrajectory;
216  buffer >> request.Charmer;
217 
218  buffer.ResetBitPos();
219  request.SendCastFlags = buffer.ReadBits(5);
220  bool const hasMoveUpdate = buffer.ReadBit();
221  request.Weight.resize(buffer.ReadBits(2));
222 
223  if (hasMoveUpdate)
224  {
225  MovementInfo movementInfo;
226  buffer >> movementInfo;
227  request.MoveUpdate = movementInfo;
228  }
229 
230  for (WorldPackets::Spells::SpellWeight& weight : request.Weight)
231  {
232  buffer.ResetBitPos();
233  weight.Type = buffer.ReadBits(2);
234  buffer >> weight.ID;
235  buffer >> weight.Quantity;
236  }
237 
238  return buffer;
239 }
int32 SpellID
Definition: SpellPackets.h:250
uint32 ReadBits(int32 bits)
Definition: ByteBuffer.h:204
MissileTrajectoryRequest MissileTrajectory
Definition: SpellPackets.h:254
void ResetBitPos()
Definition: ByteBuffer.h:161
Optional< MovementInfo > MoveUpdate
Definition: SpellPackets.h:255
int32 ID
Definition: SpellPackets.h:243
SpellTargetData Target
Definition: SpellPackets.h:253
ObjectGuid Charmer
Definition: SpellPackets.h:257
int32 Misc[2]
Definition: SpellPackets.h:258
uint32 Type
Definition: SpellPackets.h:242
Definition: Object.h:267
uint32 SpellXSpellVisualID
Definition: SpellPackets.h:251
uint8 SendCastFlags
Definition: SpellPackets.h:252
std::vector< SpellWeight > Weight
Definition: SpellPackets.h:256
Definition: SpellPackets.h:240
bool ReadBit()
Definition: ByteBuffer.h:186
uint8 CastID
Definition: SpellPackets.h:249
uint32 Quantity
Definition: SpellPackets.h:244

+ Here is the call graph for this function: