355 data << spellCastData.CasterGUID;
356 data << spellCastData.CasterUnit;
357 data <<
uint8(spellCastData.CastID);
358 data <<
int32(spellCastData.SpellID);
359 data <<
uint32(spellCastData.SpellXSpellVisualID);
360 data <<
uint32(spellCastData.CastFlags);
361 data <<
uint32(spellCastData.CastTime);
362 data <<
uint32(spellCastData.HitTargets.size());
363 data <<
uint32(spellCastData.MissTargets.size());
364 data <<
uint32(spellCastData.MissStatus.size());
365 data << spellCastData.Target;
366 data <<
uint32(spellCastData.RemainingPower.size());
367 data << spellCastData.MissileTrajectory;
368 data << spellCastData.Ammo;
369 data <<
uint8(spellCastData.DestLocSpellCastIndex);
370 data <<
uint32(spellCastData.TargetPoints.size());
371 data << spellCastData.Immunities;
372 data << spellCastData.Predict;
374 for (
ObjectGuid const& target : spellCastData.HitTargets)
377 for (
ObjectGuid const& target : spellCastData.MissTargets)
389 data.
WriteBits(spellCastData.CastFlagsEx, 20);
390 data.
WriteBit(spellCastData.RemainingRunes.is_initialized());
393 if (spellCastData.RemainingRunes)
394 data << *spellCastData.RemainingRunes;
void FlushBits()
Definition: ByteBuffer.h:150
Definition: SpellPackets.h:217
bool WriteBit(uint32 bit)
Definition: ByteBuffer.h:170
uint8_t uint8
Definition: g3dmath.h:164
Definition: SpellPackets.h:295
int32_t int32
Definition: g3dmath.h:167
Definition: ObjectGuid.h:189
uint32_t uint32
Definition: g3dmath.h:168
Definition: SpellPackets.h:301
void WriteBits(T value, int32 bits)
Definition: ByteBuffer.h:198