TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SpellPackets.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2 of the License, or (at your
7  * option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef SpellPackets_h__
19 #define SpellPackets_h__
20 
21 #include "Packet.h"
22 #include "PacketUtilities.h"
23 #include "Player.h"
24 #include "SpellAuras.h"
25 #include "Spell.h"
26 
27 namespace WorldPackets
28 {
29  namespace Spells
30  {
31  class CancelAura final : public ClientPacket
32  {
33  public:
34  CancelAura(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_AURA, std::move(packet)) { }
35 
36  void Read() override;
37 
40  };
41 
42  class CancelAutoRepeatSpell final : public ClientPacket
43  {
44  public:
46 
47  void Read() override { }
48  };
49 
50  class CancelChannelling final : public ClientPacket
51  {
52  public:
54 
55  void Read() override;
56 
58  };
59 
60  class CancelGrowthAura final : public ClientPacket
61  {
62  public:
64 
65  void Read() override { }
66  };
67 
68  class CancelMountAura final : public ClientPacket
69  {
70  public:
72 
73  void Read() override { }
74  };
75 
76  class PetCancelAura final : public ClientPacket
77  {
78  public:
80 
81  void Read() override;
82 
85  };
86 
88  {
89  public:
91 
92  void Read() override { }
93  };
94 
95  class CategoryCooldown final : public ServerPacket
96  {
97  public:
99  {
100  CategoryCooldownInfo(uint32 category, int32 cooldown)
101  : Category(category), ModCooldown(cooldown) { }
102 
105  };
106 
108 
109  WorldPacket const* Write() override;
110 
111  std::vector<CategoryCooldownInfo> CategoryCooldowns;
112  };
113 
114  class SendKnownSpells final : public ServerPacket
115  {
116  public:
118 
119  WorldPacket const* Write() override;
120 
121  bool InitialLogin = false;
122  std::vector<uint32> KnownSpells;
123  };
124 
125  class UpdateActionButtons final : public ServerPacket
126  {
127  public:
129  {
130  std::memset(ActionButtons, 0, sizeof(ActionButtons));
131  }
132 
133  WorldPacket const* Write() override;
134 
137  /*
138  Reason can be 0, 1, 2
139  0 - Sends initial action buttons, client does not validate if we have the spell or not
140  1 - Used used after spec swaps, client validates if a spell is known.
141  2 - Clears the action bars client sided. This is sent during spec swap before unlearning and before sending the new buttons
142  */
143  };
144 
145  class SetActionButton final : public ClientPacket
146  {
147  public:
149 
150  void Read() override;
151 
154  };
155 
156  class SendUnlearnSpells final : public ServerPacket
157  {
158  public:
160 
161  WorldPacket const* Write() override;
162 
163  std::vector<uint32> Spells;
164  };
165 
167  {
168  SpellLogPowerData(int32 powerType, int32 amount) : PowerType(powerType), Amount(amount) { }
169 
172  };
173 
175  {
179  std::vector<SpellLogPowerData> PowerData;
180 
181  void Initialize(Unit const* unit);
182  };
183 
185  {
195  std::vector<float> Points;
196  std::vector<float> EstimatedPoints;
197  };
198 
199  struct AuraInfo
200  {
201  uint8 Slot = 0;
203  };
204 
205  class AuraUpdate final : public ServerPacket
206  {
207  public:
209 
210  WorldPacket const* Write() override;
211 
212  bool UpdateAll = false;
214  std::vector<AuraInfo> Auras;
215  };
216 
218  {
221  };
222 
224  {
231  std::string Name;
232  };
233 
235  {
236  float Pitch = 0.0f;
237  float Speed = 0.0f;
238  };
239 
240  struct SpellWeight
241  {
243  int32 ID = 0;
245  };
246 
248  {
256  std::vector<SpellWeight> Weight;
258  int32 Misc[2] = { };
259  };
260 
261  class CastSpell final : public ClientPacket
262  {
263  public:
264  CastSpell(WorldPacket&& packet) : ClientPacket(CMSG_CAST_SPELL, std::move(packet)) { }
265 
266  void Read() override;
267 
269  };
270 
271  class PetCastSpell final : public ClientPacket
272  {
273  public:
275 
276  void Read() override;
277 
280  };
281 
282  class UseItem final : public ClientPacket
283  {
284  public:
285  UseItem(WorldPacket&& packet) : ClientPacket(CMSG_USE_ITEM, std::move(packet)) { }
286 
287  void Read() override;
288 
290  uint8 Slot = 0;
293  };
294 
296  {
299  };
300 
302  {
303  int32 Cost = 0;
304  int8 Type = 0;
305  };
306 
307  struct RuneData
308  {
311  std::vector<uint8> Cooldowns;
312  };
313 
315  {
317  float Pitch = 0.0f;
318  };
319 
320  struct SpellAmmo
321  {
324  };
325 
327  {
330  };
331 
333  {
336  uint8 Type = 0;
337  };
338 
340  {
349  std::vector<ObjectGuid> HitTargets;
350  std::vector<ObjectGuid> MissTargets;
351  std::vector<SpellMissStatus> MissStatus;
353  std::vector<SpellPowerData> RemainingPower;
358  std::vector<TargetLocation> TargetPoints;
361  };
362 
363  class SpellGo final : public ServerPacket
364  {
365  public:
367 
368  WorldPacket const* Write() override;
369 
372  };
373 
374  class SpellStart final : public ServerPacket
375  {
376  public:
378 
379  WorldPacket const* Write() override;
380 
382  };
383 
384  class LearnedSpells final : public ServerPacket
385  {
386  public:
388 
389  WorldPacket const* Write() override;
390 
391  std::vector<int32> SpellID;
392  bool SuppressMessaging = false;
393  };
394 
395  class SpellFailure final : public ServerPacket
396  {
397  public:
399 
400  WorldPacket const* Write() override;
401 
407  };
408 
409  class SpellFailedOther final : public ServerPacket
410  {
411  public:
413 
414  WorldPacket const* Write() override;
415 
420  };
421 
422  class TC_GAME_API CastFailed final : public ServerPacket
423  {
424  public:
425  CastFailed(OpcodeServer opcode) : ServerPacket(opcode, 4+4+4+4+1) { }
426 
427  WorldPacket const* Write() override;
428 
429  int32 Reason = 0;
430  int32 FailedArg1 = -1;
431  int32 FailedArg2 = -1;
432  int32 SpellID = 0;
433  uint8 CastID = 0;
434  };
435 
437  {
438  float ModifierValue = 0.0f;
440  };
441 
443  {
445  std::vector<SpellModifierData> ModifierData;
446  };
447 
449  {
450  public:
451  SetSpellModifier(OpcodeServer opcode) : ServerPacket(opcode, 20) { }
452 
453  WorldPacket const* Write() override;
454 
455  std::vector<SpellModifier> Modifiers;
456  };
457 
458  class UnlearnedSpells final : public ServerPacket
459  {
460  public:
462 
463  WorldPacket const* Write() override;
464 
465  std::vector<uint32> SpellID;
466  bool SuppressMessaging = false;
467  };
468 
469  class CooldownEvent final : public ServerPacket
470  {
471  public:
473  CooldownEvent(bool isPet, int32 spellId) : ServerPacket(SMSG_COOLDOWN_EVENT, 16 + 4), IsPet(isPet), SpellID(spellId) { }
474 
475  WorldPacket const* Write() override;
476 
477  bool IsPet = false;
479  };
480 
481  class ClearCooldowns final : public ServerPacket
482  {
483  public:
485 
486  WorldPacket const* Write() override;
487 
488  std::vector<int32> SpellID;
489  bool IsPet = false;
490  };
491 
492  class ClearCooldown final : public ServerPacket
493  {
494  public:
496 
497  WorldPacket const* Write() override;
498 
499  bool IsPet = false;
501  bool ClearOnHold = false;
502  };
503 
504  class ModifyCooldown final : public ServerPacket
505  {
506  public:
508 
509  WorldPacket const* Write() override;
510 
511  bool IsPet = false;
514  };
515 
517  {
519  SpellCooldownStruct(uint32 spellId, uint32 forcedCooldown) : SrecID(spellId), ForcedCooldown(forcedCooldown) { }
520 
523  };
524 
526  {
527  public:
529 
530  WorldPacket const* Write() override;
531 
532  std::vector<SpellCooldownStruct> SpellCooldowns;
535  };
536 
538  {
544  bool OnHold = false;
547  };
548 
549  class SendSpellHistory final : public ServerPacket
550  {
551  public:
553 
554  WorldPacket const* Write() override;
555 
556  std::vector<SpellHistoryEntry> Entries;
557  };
558 
559  class ClearAllSpellCharges final : public ServerPacket
560  {
561  public:
563 
564  WorldPacket const* Write() override;
565 
566  bool IsPet = false;
567  };
568 
569  class ClearSpellCharges final : public ServerPacket
570  {
571  public:
573 
574  WorldPacket const* Write() override;
575 
576  bool IsPet = false;
578  };
579 
580  class SetSpellCharges final : public ServerPacket
581  {
582  public:
584 
585  WorldPacket const* Write() override;
586 
587  bool IsPet = false;
591  };
592 
594  {
598  };
599 
600  class SendSpellCharges final : public ServerPacket
601  {
602  public:
604 
605  WorldPacket const* Write() override;
606 
607  std::vector<SpellChargeEntry> Entries;
608  };
609 
610  class ClearTarget final : public ServerPacket
611  {
612  public:
614 
615  WorldPacket const* Write() override;
616 
618  };
619 
621  {
622  public:
624 
625  WorldPacket const* Write() override;
626 
628  };
629 
630  class CancelSpellVisual final : public ServerPacket
631  {
632  public:
634 
635  WorldPacket const* Write() override;
636 
639  };
640 
641  class PlaySpellVisualKit final : public ServerPacket
642  {
643  public:
645 
646  WorldPacket const* Write() override;
647 
652  };
653 
654  class CancelCast final : public ClientPacket
655  {
656  public:
657  CancelCast(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_CAST, std::move(packet)) { }
658 
659  void Read() override;
660 
663  };
664 
665  class OpenItem final : public ClientPacket
666  {
667  public:
668  OpenItem(WorldPacket&& packet) : ClientPacket(CMSG_OPEN_ITEM, std::move(packet)) { }
669 
670  void Read() override;
671 
672  uint8 Slot = 0;
674  };
675 
677  {
680  };
681 
683  {
686  };
687 
688  class SpellChannelStart final : public ServerPacket
689  {
690  public:
692 
693  WorldPacket const* Write() override;
694 
700  };
701 
702  class SpellChannelUpdate final : public ServerPacket
703  {
704  public:
706 
707  WorldPacket const* Write() override;
708 
711  };
712 
713  class ResurrectRequest final : public ServerPacket
714  {
715  public:
717 
718  WorldPacket const* Write() override;
719 
724  bool UseTimer = false;
725  bool Sickness = false;
726  std::string Name;
727  };
728 
729  class UnlearnSkill final : public ClientPacket
730  {
731  public:
733 
734  void Read() override;
735 
737  };
738 
739  class SelfRes final : public ClientPacket
740  {
741  public:
742  SelfRes(WorldPacket&& packet) : ClientPacket(CMSG_SELF_RES, std::move(packet)) { }
743 
744  void Read() override { }
745  };
746 
747  class GetMirrorImageData final : public ClientPacket
748  {
749  public:
751 
752  void Read() override;
753 
756  };
757 
759  {
760  public:
762 
763  WorldPacket const* Write() override;
764 
776 
777  std::vector<uint32> ItemDisplayID;
778  };
779 
781  {
782  public:
784 
785  WorldPacket const* Write() override;
786 
789  };
790 
791  class SpellClick final : public ClientPacket
792  {
793  public:
794  SpellClick(WorldPacket&& packet) : ClientPacket(CMSG_SPELL_CLICK, std::move(packet)) { }
795 
796  void Read() override;
797 
799  bool TryAutoDismount = false;
800  };
801 
802  class ConvertRune final : public ServerPacket
803  {
804  public:
806 
807  WorldPacket const* Write() override;
808 
810  uint8 Rune = 0;
811  };
812 
813  class ResyncRunes final : public ServerPacket
814  {
815  public:
816  struct ResyncRune
817  {
820  };
821 
822  ResyncRunes(size_t size) : ServerPacket(SMSG_RESYNC_RUNES, 4 + 2 * size) { }
823 
824  WorldPacket const* Write() override;
825 
826  std::vector<ResyncRune> Runes;
827  };
828 
830  {
831  public:
833 
834  void Read() override;
835 
840  };
841 
843  {
844  public:
846 
847  WorldPacket const* Write() override;
848 
852  };
853 
855  {
856  public:
858 
859  void Read() override;
860 
864  float Pitch = 0.0f;
865  float Speed = 0.0f;
869  };
870 
871  class SpellDelayed final : public ServerPacket
872  {
873  public:
875 
876  WorldPacket const* Write() override;
877 
880  };
881 
882  class DispelFailed final : public ServerPacket
883  {
884  public:
885  DispelFailed() : ServerPacket(SMSG_DISPEL_FAILED, 16 + 16 + 4 + 4 + 4 /* predict a single failure on average */) { }
886 
887  WorldPacket const* Write() override;
888 
892  std::vector<int32> FailedSpells;
893  };
894  }
895 }
896 
899 
900 #endif // SpellPackets_h__
uint8 CastID
Definition: SpellPackets.h:662
Definition: Opcodes.h:154
Definition: Opcodes.h:408
CancelGrowthAura(WorldPacket &&packet)
Definition: SpellPackets.h:63
int32 Cost
Definition: SpellPackets.h:303
SendUnlearnSpells()
Definition: SpellPackets.h:159
void Read() override
Definition: SpellPackets.cpp:736
void Read() override
Definition: SpellPackets.h:92
WorldPacket const * Write() override
Definition: SpellPackets.cpp:550
ObjectGuid CasterGUID
Definition: SpellPackets.h:889
SpellCooldownStruct(uint32 spellId, uint32 forcedCooldown)
Definition: SpellPackets.h:519
std::vector< uint32 > KnownSpells
Definition: SpellPackets.h:122
Definition: SpellPackets.h:326
Optional< AuraDataInfo > AuraData
Definition: SpellPackets.h:202
G3D::Vector3 CollisionPos
Definition: SpellPackets.h:851
WorldPacket const * Write() override
Definition: SpellPackets.cpp:82
Definition: Opcodes.h:1461
SpellCooldown()
Definition: SpellPackets.h:528
std::vector< SpellCooldownStruct > SpellCooldowns
Definition: SpellPackets.h:532
uint8 HairColor
Definition: SpellPackets.h:773
int32 SpellID
Definition: SpellPackets.h:863
SpellLogPowerData(int32 powerType, int32 amount)
Definition: SpellPackets.h:168
ObjectGuid Caster
Definition: SpellPackets.h:849
CastFailed(OpcodeServer opcode)
Definition: SpellPackets.h:425
ConvertRune()
Definition: SpellPackets.h:805
WorldPacket const * Write() override
Definition: SpellPackets.cpp:606
Definition: SpellPackets.h:166
std::vector< int32 > FailedSpells
Definition: SpellPackets.h:892
Definition: Opcodes.h:772
void Initialize(Unit const *unit)
Definition: SpellPackets.cpp:91
Definition: Opcodes.h:1547
WorldPacket const * Write() override
Definition: SpellPackets.cpp:811
Definition: SpellPackets.h:282
ObjectGuid Caster
Definition: SpellPackets.h:533
bool OnHold
Definition: SpellPackets.h:544
Definition: ByteBuffer.h:70
int8_t int8
Definition: Define.h:148
uint8 DestLocSpellCastIndex
Definition: SpellPackets.h:357
CategoryCooldown()
Definition: SpellPackets.h:107
std::vector< uint32 > SpellID
Definition: SpellPackets.h:465
UnlearnedSpells()
Definition: SpellPackets.h:461
SetSpellModifier(OpcodeServer opcode)
Definition: SpellPackets.h:451
bool IsPet
Definition: SpellPackets.h:499
void Read() override
Definition: SpellPackets.h:65
Definition: Opcodes.h:867
Definition: Opcodes.h:502
Definition: SpellPackets.h:68
uint32 SpellID
Definition: SpellPackets.h:539
uint32 CastTime
Definition: SpellPackets.h:348
WorldPacket const * Write() override
Definition: SpellPackets.cpp:511
ObjectGuid VictimGUID
Definition: SpellPackets.h:890
Optional< TargetLocation > SrcLocation
Definition: SpellPackets.h:228
bool ClearOnHold
Definition: SpellPackets.h:501
WorldPacket const * Write() override
Definition: SpellPackets.cpp:589
Definition: SpellPackets.h:271
ObjectGuid GuildGUID
Definition: SpellPackets.h:775
ResyncRunes(size_t size)
Definition: SpellPackets.h:822
std::vector< int32 > SpellID
Definition: SpellPackets.h:391
float Speed
Definition: SpellPackets.h:865
std::vector< SpellMissStatus > MissStatus
Definition: SpellPackets.h:351
CancelAura(WorldPacket &&packet)
Definition: SpellPackets.h:34
uint32 SpellXSpellVisualID
Definition: SpellPackets.h:345
Definition: Opcodes.h:1222
SpellChannelUpdate()
Definition: SpellPackets.h:705
Points
Definition: ScriptedEscortAI.cpp:31
uint8 PackSlot
Definition: SpellPackets.h:673
WorldPacket const * Write() override
Definition: SpellPackets.cpp:597
std::vector< ObjectGuid > HitTargets
Definition: SpellPackets.h:349
uint8 ReflectStatus
Definition: SpellPackets.h:298
Definition: SpellPackets.h:641
int32 SpellID
Definition: SpellPackets.h:250
int32 SpellID
Definition: SpellPackets.h:39
ObjectGuid PetGUID
Definition: SpellPackets.h:83
CancelOrphanSpellVisual()
Definition: SpellPackets.h:623
int32 CategoryRecoveryTime
Definition: SpellPackets.h:543
Definition: SpellPackets.h:384
G3D::Vector3 ImpactPos
Definition: SpellPackets.h:867
LearnedSpells()
Definition: SpellPackets.h:387
Definition: SpellPackets.h:630
Optional< int32 > Remaining
Definition: SpellPackets.h:194
void Read() override
Definition: SpellPackets.cpp:76
uint32 Category
Definition: SpellPackets.h:595
Definition: Opcodes.h:1595
ObjectGuid BeaconGUID
Definition: SpellPackets.h:334
SpellGo()
Definition: SpellPackets.h:366
uint32 ItemID
Definition: SpellPackets.h:540
uint32 DisplayID
Definition: SpellPackets.h:755
uint32 CastFlags
Definition: SpellPackets.h:346
Definition: SpellPackets.h:816
Definition: Opcodes.h:1487
Definition: Opcodes.h:142
ObjectGuid Unit
Definition: SpellPackets.h:226
Definition: SpellPackets.h:580
Definition: SpellPackets.h:739
Spells
Definition: BattlegroundIC.h:707
Definition: SpellPackets.h:729
ObjectGuid CasterUnit
Definition: SpellPackets.h:416
MissileTrajectoryRequest MissileTrajectory
Definition: SpellPackets.h:254
Definition: Opcodes.h:143
Definition: SpellPackets.h:593
uint8 Reason
Definition: SpellPackets.h:297
std::vector< int32 > SpellID
Definition: SpellPackets.h:488
WorldPacket const * Write() override
Definition: SpellPackets.cpp:406
int32 SpellVisualID
Definition: SpellPackets.h:638
Definition: SpellPackets.h:156
WorldPacket const * Write() override
Definition: SpellPackets.cpp:641
WorldPacket const * Write() override
Definition: SpellPackets.cpp:634
std::vector< SpellPowerData > RemainingPower
Definition: SpellPackets.h:353
WorldPacket const * Write() override
Definition: SpellPackets.cpp:717
Definition: SpellPackets.h:654
Definition: Opcodes.h:653
Definition: SpellPackets.h:320
ByteBuffer & operator<<(ByteBuffer &data, WorldPackets::Spells::SpellCastLogData const &spellCastLogData)
Definition: SpellPackets.cpp:99
SetSpellCharges()
Definition: SpellPackets.h:583
Action
Definition: boss_balinda.cpp:38
uint32 SpellID
Definition: SpellPackets.h:661
void Read() override
Definition: SpellPackets.cpp:777
G3D::Vector3 FirePos
Definition: SpellPackets.h:866
Definition: SpellPackets.h:688
Definition: SpellPackets.h:199
std::vector< uint32 > ItemDisplayID
Definition: SpellPackets.h:777
WorldPacket const * Write() override
Definition: SpellPackets.cpp:848
uint8 Rune
Definition: SpellPackets.h:810
Optional< MovementInfo > MoveUpdate
Definition: SpellPackets.h:255
SpellCastData Cast
Definition: SpellPackets.h:381
int32 ID
Definition: SpellPackets.h:243
SpellCastRequest Cast
Definition: SpellPackets.h:292
WorldPacket const * Write() override
Definition: SpellPackets.cpp:692
STL namespace.
int32 SpellID
Definition: SpellPackets.h:344
Definition: SpellPackets.h:50
PetCastSpell(WorldPacket &&packet)
Definition: SpellPackets.h:274
uint32 DisplayID
Definition: SpellPackets.h:788
uint8 Reason
Definition: SpellPackets.h:136
uint32 SpellID
Definition: SpellPackets.h:417
uint32 ChannelDuration
Definition: SpellPackets.h:699
bool IsPet
Definition: SpellPackets.h:587
Definition: Opcodes.h:1220
uint8 ConsumedCharges
Definition: SpellPackets.h:597
uint32 ActiveFlags
Definition: SpellPackets.h:189
uint8 HairVariation
Definition: SpellPackets.h:772
uint16 Reason
Definition: SpellPackets.h:405
WorldPacket const * Write() override
Definition: SpellPackets.cpp:53
SpellCooldownStruct()
Definition: SpellPackets.h:518
WorldPacket const * Write() override
Definition: SpellPackets.cpp:533
Definition: SpellPackets.h:174
MissileTrajectoryCollision(WorldPacket &&packet)
Definition: SpellPackets.h:832
ObjectGuid TargetGUID
Definition: SpellPackets.h:684
uint8 Cooldown
Definition: SpellPackets.h:819
Definition: Opcodes.h:695
CancelCast(WorldPacket &&packet)
Definition: SpellPackets.h:657
SpellHealPrediction Predict
Definition: SpellPackets.h:685
int32 Category
Definition: SpellPackets.h:577
uint32 Duration
Definition: SpellPackets.h:651
WorldPacket const * Write() override
Definition: SpellPackets.cpp:490
Definition: SpellPackets.h:31
Definition: SpellPackets.h:114
int32 SpellID
Definition: SpellPackets.h:837
SpellTargetData Target
Definition: SpellPackets.h:253
float Pitch
Definition: SpellPackets.h:236
uint32 ResurrectOffererVirtualRealmAddress
Definition: SpellPackets.h:721
SendSpellHistory()
Definition: SpellPackets.h:552
uint32 SkillLine
Definition: SpellPackets.h:736
Definition: SpellPackets.h:217
Definition: Opcodes.h:1593
Definition: Opcodes.h:931
ClearAllSpellCharges()
Definition: SpellPackets.h:562
uint8 CastID
Definition: SpellPackets.h:850
Definition: Opcodes.h:149
uint32 DisplayID
Definition: SpellPackets.h:766
Definition: SpellPackets.h:448
Optional< SpellCastLogData > LogData
Definition: SpellPackets.h:370
Definition: SpellPackets.h:95
Definition: Opcodes.h:144
int32 DeltaTime
Definition: SpellPackets.h:512
SpellChannelStart()
Definition: SpellPackets.h:691
WorldPacket const * Write() override
Definition: SpellPackets.cpp:502
Definition: SpellPackets.h:458
Definition: Opcodes.h:479
ObjectGuid ResurrectOffererGUID
Definition: SpellPackets.h:720
InventoryType
Definition: ItemTemplate.h:330
uint8 Reason
Definition: SpellPackets.h:418
MissileTrajectoryResult MissileTrajectory
Definition: SpellPackets.h:355
uint8 RaceID
Definition: SpellPackets.h:767
UnlearnSkill(WorldPacket &&packet)
Definition: SpellPackets.h:732
ObjectGuid CasterUnit
Definition: SpellPackets.h:402
Definition: Opcodes.h:1537
DispelFailed()
Definition: SpellPackets.h:885
Definition: SpellPackets.h:332
Definition: Opcodes.h:912
AuraUpdate()
Definition: SpellPackets.h:208
Definition: Vector3.h:58
UseItem(WorldPacket &&packet)
Definition: SpellPackets.h:285
Optional< uint32 > unused622_1
This field is not used for anything in the client in 6.2.2.20444.
Definition: SpellPackets.h:545
bool IsPet
Definition: SpellPackets.h:511
uint8 Slot
Definition: SpellPackets.h:672
Definition: SpellPackets.h:791
bool InitialLogin
Definition: SpellPackets.h:121
Definition: SpellPackets.h:395
ObjectGuid Charmer
Definition: SpellPackets.h:257
Definition: SpellPackets.h:504
uint64 ActionButtons[MAX_ACTION_BUTTONS]
Definition: SpellPackets.h:135
CreatureImmunities Immunities
Definition: SpellPackets.h:359
Definition: Opcodes.h:1485
uint32 SpelXSpellVisualID
Definition: SpellPackets.h:404
Definition: SpellPackets.h:559
int32 SpellID
Definition: SpellPackets.h:723
Optional< int32 > Duration
Definition: SpellPackets.h:193
Definition: Opcodes.h:700
void Read() override
Definition: SpellPackets.cpp:672
float Pitch
Definition: SpellPackets.h:864
SpellTargetData Target
Definition: SpellPackets.h:352
Definition: Opcodes.h:1538
WorldPacket const * Write() override
Definition: SpellPackets.cpp:66
WorldPacket const * Write() override
Definition: SpellPackets.cpp:523
WorldPacket const * Write() override
Definition: SpellPackets.cpp:769
NotifyMissileTrajectoryCollision()
Definition: SpellPackets.h:845
std::vector< SpellModifierData > ModifierData
Definition: SpellPackets.h:445
ObjectGuid SpellClickUnitGuid
Definition: SpellPackets.h:798
CooldownEvent()
Definition: SpellPackets.h:472
WorldPacket const * Write() override
Definition: SpellPackets.cpp:648
std::vector< SpellLogPowerData > PowerData
Definition: SpellPackets.h:179
WorldPacket const * Write() override
Definition: SpellPackets.cpp:625
int32 DisplayID
Definition: SpellPackets.h:322
uint8 Slot
Definition: SpellPackets.h:201
SpellHealPrediction Predict
Definition: SpellPackets.h:360
Optional< TargetLocation > DstLocation
Definition: SpellPackets.h:229
Definition: Packet.h:59
ObjectGuid CasterGUID
Definition: SpellPackets.h:38
uint8 Slot
Definition: SpellPackets.h:290
Definition: SpellPackets.h:780
Definition: Opcodes.h:1486
bool UseTimer
Definition: SpellPackets.h:724
uint8 CastID
Definition: SpellPackets.h:343
std::vector< AuraInfo > Auras
Definition: SpellPackets.h:214
bool IsPet
Definition: SpellPackets.h:576
uint32 SpellID
Definition: SpellPackets.h:84
int32 KitType
Definition: SpellPackets.h:650
MirrorImageComponentedData()
Definition: SpellPackets.h:761
Definition: SpellPackets.h:469
ObjectGuid Unit
Definition: SpellPackets.h:648
Definition: SpellPackets.h:363
uint8 ClassIndex
Definition: SpellPackets.h:439
WorldPacket const * Write() override
Definition: SpellPackets.cpp:783
ObjectGuid Item
Definition: SpellPackets.h:227
bool TryAutoDismount
Definition: SpellPackets.h:799
std::vector< SpellModifier > Modifiers
Definition: SpellPackets.h:455
bool Sickness
Definition: SpellPackets.h:725
std::vector< float > EstimatedPoints
Definition: SpellPackets.h:196
Definition: SpellPackets.h:76
uint8 CastID
Definition: SpellPackets.h:419
Gender
Definition: SharedDefines.h:90
int32 ModCooldown
Reduced Cooldown in ms.
Definition: SpellPackets.h:104
ByteBuffer & operator>>(ByteBuffer &buffer, WorldPackets::Spells::SpellCastRequest &request)
Definition: SpellPackets.cpp:207
WorldPacket const * Write() override
Definition: SpellPackets.cpp:791
uint8 SkinColor
Definition: SpellPackets.h:770
uint16 CastLevel
Definition: SpellPackets.h:190
Definition: Opcodes.h:604
SpellStart()
Definition: SpellPackets.h:377
uint32 CastFlagsEx
Definition: SpellPackets.h:347
SendSpellCharges()
Definition: SpellPackets.h:603
SpellClick(WorldPacket &&packet)
Definition: SpellPackets.h:794
OpcodeServer
Definition: Opcodes.h:725
uint32 Category
SpellCategory Id.
Definition: SpellPackets.h:103
bool SuppressMessaging
Definition: SpellPackets.h:466
Definition: Packet.h:46
ObjectGuid UnitGUID
Definition: SpellPackets.h:754
Definition: Opcodes.h:145
uint32 SpellXSpellVisualID
Definition: SpellPackets.h:251
uint32 ForcedCooldown
Definition: SpellPackets.h:522
uint8 Index
Definition: SpellPackets.h:153
Definition: Opcodes.h:873
bool IsPet
Definition: SpellPackets.h:489
WorldPacket const * Write() override
Definition: SpellPackets.cpp:419
std::vector< uint8 > Cooldowns
Definition: SpellPackets.h:311
int32 AttackPower
Definition: SpellPackets.h:177
void Read() override
Definition: SpellPackets.cpp:33
Optional< ObjectGuid > CastUnit
Definition: SpellPackets.h:192
Definition: SpellPackets.h:747
Definition: SpellPackets.h:436
void Read() override
Definition: SpellPackets.h:744
uint32 PetNumber
Definition: SpellPackets.h:722
uint32 SrecID
Definition: SpellPackets.h:521
int32 KitRecID
Definition: SpellPackets.h:649
uint32 Flags
Definition: SpellPackets.h:225
ClearTarget()
Definition: SpellPackets.h:613
int32_t int32
Definition: Define.h:146
Definition: SpellPackets.h:537
ObjectGuid Source
Definition: SpellPackets.h:637
uint32_t uint32
Definition: Define.h:150
Optional< SpellTargetedHealPrediction > HealPrediction
Definition: SpellPackets.h:698
Definition: Opcodes.h:869
uint64_t uint64
Definition: Define.h:149
CancelAutoRepeatSpell(WorldPacket &&packet)
Definition: SpellPackets.h:45
Definition: Opcodes.h:954
SpellCastRequest Cast
Definition: SpellPackets.h:268
SpellCastData Cast
Definition: SpellPackets.h:371
uint16_t uint16
Definition: Define.h:151
Definition: SpellPackets.h:422
Optional< float > Orientation
Definition: SpellPackets.h:230
bool IsPet
Definition: SpellPackets.h:566
Definition: Opcodes.h:915
void Read() override
Definition: SpellPackets.cpp:241
float Speed
Definition: SpellPackets.h:237
Definition: SpellPackets.h:223
Definition: Opcodes.h:146
ClearCooldowns()
Definition: SpellPackets.h:484
bool IsPet
Definition: SpellPackets.h:477
std::vector< ResyncRune > Runes
Definition: SpellPackets.h:826
Definition: Opcodes.h:1515
Definition: Opcodes.h:503
CooldownEvent(bool isPet, int32 spellId)
Definition: SpellPackets.h:473
Position Location
Definition: SpellPackets.h:220
uint8 ConsumedCharges
Definition: SpellPackets.h:590
int32 SpellID
Definition: SpellPackets.h:513
Definition: Opcodes.h:929
bool UpdateAll
Definition: SpellPackets.h:212
boost::optional< T > Optional
Optional helper class to wrap optional values within.
Definition: Common.h:170
uint8 BeardVariation
Definition: SpellPackets.h:774
ClearSpellCharges()
Definition: SpellPackets.h:572
#define MAX_ACTION_BUTTONS
Definition: Player.h:359
void Read() override
Definition: SpellPackets.h:73
uint8 CastID
Definition: SpellPackets.h:406
Definition: SpellPackets.h:813
int32 RecoveryTime
Definition: SpellPackets.h:542
uint8 Start
Definition: SpellPackets.h:309
SetActionButton(WorldPacket &&packet)
Definition: SpellPackets.h:148
Definition: SpellPackets.h:600
uint32 SpellID
Definition: SpellPackets.h:891
MirrorImageCreatureData()
Definition: SpellPackets.h:783
Definition: Opcodes.h:1460
void Read() override
Definition: SpellPackets.cpp:252
int32 ActualDelay
Definition: SpellPackets.h:879
WorldPacket const * Write() override
Definition: SpellPackets.cpp:747
Definition: SpellPackets.h:492
UpdateActionButtons()
Definition: SpellPackets.h:128
Definition: Opcodes.h:1532
Definition: SpellPackets.h:307
Definition: SpellPackets.h:409
float ModifierValue
Definition: SpellPackets.h:438
UpdateMissileTrajectory(WorldPacket &&packet)
Definition: SpellPackets.h:857
Definition: BattlegroundMgr.h:57
WorldPacket const * Write() override
Definition: SpellPackets.cpp:399
uint8 ClassID
Definition: SpellPackets.h:769
CancelMountAura(WorldPacket &&packet)
Definition: SpellPackets.h:71
Definition: SpellPackets.h:516
ObjectGuid UnitGUID
Definition: SpellPackets.h:787
void Read() override
Definition: SpellPackets.cpp:820
std::vector< SpellChargeEntry > Entries
Definition: SpellPackets.h:607
OpenItem(WorldPacket &&packet)
Definition: SpellPackets.h:668
SpellDelayed()
Definition: SpellPackets.h:874
G3D::Vector3 CollisionPos
Definition: SpellPackets.h:839
Definition: SpellPackets.h:314
ObjectGuid CasterGUID
Definition: SpellPackets.h:697
int32 SchoolImmunities
Definition: SpellPackets.h:678
RequestCategoryCooldowns(WorldPacket &&packet)
Definition: SpellPackets.h:90
uint8 Index
Definition: SpellPackets.h:809
Definition: SpellPackets.h:610
uint8 Count
Definition: SpellPackets.h:310
ObjectGuid UnitGUID
Definition: SpellPackets.h:213
int32 SpellID
Definition: SpellPackets.h:186
uint32 NextRecoveryTime
Definition: SpellPackets.h:596
Definition: SpellPackets.h:665
ClearCooldown()
Definition: SpellPackets.h:495
Definition: SpellPackets.h:442
Definition: Opcodes.h:916
int32 SpellID
Definition: SpellPackets.h:478
uint32 NextRecoveryTime
Definition: SpellPackets.h:589
Definition: SpellPackets.h:60
Definition: Opcodes.h:1529
Definition: SpellPackets.h:295
Definition: Opcodes.h:1482
ObjectGuid Transport
Definition: SpellPackets.h:219
std::string Name
Definition: SpellPackets.h:726
Definition: Opcodes.h:561
WorldPacket const * Write() override
Definition: SpellPackets.cpp:117
Definition: Opcodes.h:913
Definition: SpellPackets.h:549
std::vector< uint32 > Spells
Definition: SpellPackets.h:163
Definition: SpellPackets.h:374
void Read() override
Definition: SpellPackets.cpp:666
Definition: SpellPackets.h:713
uint8 ModIndex
Definition: SpellPackets.h:444
ModifyCooldown()
Definition: SpellPackets.h:507
PlaySpellVisualKit()
Definition: SpellPackets.h:644
Definition: SpellPackets.h:145
ObjectGuid CasterUnit
Definition: SpellPackets.h:342
uint32 SpellXSpellVisualID
Definition: SpellPackets.h:187
#define TC_GAME_API
Definition: Define.h:134
Definition: SpellPackets.h:569
int32 ChannelSpell
Definition: SpellPackets.h:57
void Read() override
Definition: SpellPackets.cpp:246
ObjectGuid PetGUID
Definition: SpellPackets.h:278
WorldPacket const * Write() override
Definition: SpellPackets.cpp:38
Optional< RuneData > RemainingRunes
Definition: SpellPackets.h:354
WorldPacket const * Write() override
Definition: SpellPackets.cpp:710
WorldPacket const * Write() override
Definition: SpellPackets.cpp:442
Definition: Opcodes.h:594
int32 SpellPower
Definition: SpellPackets.h:178
void Read() override
Definition: SpellPackets.cpp:803
ObjectGuid Guid
Definition: SpellPackets.h:861
Definition: SpellPackets.h:247
ResurrectRequest()
Definition: SpellPackets.h:716
Definition: SpellPackets.h:205
WorldPacket const * Write() override
Definition: SpellPackets.cpp:431
Definition: SpellPackets.h:261
uint8_t uint8
Definition: Define.h:152
Definition: Opcodes.h:1379
Definition: Position.h:27
uint8 Flags
Definition: SpellPackets.h:188
Definition: Opcodes.h:910
uint32 SpellID
Definition: SpellPackets.h:403
bool SuppressMessaging
Definition: SpellPackets.h:392
int32 SpellID
Definition: SpellPackets.h:695
Definition: SpellPackets.h:125
Definition: Opcodes.h:293
SpellFailedOther()
Definition: SpellPackets.h:412
Definition: Opcodes.h:1528
Definition: Opcodes.h:1155
Definition: ObjectGuid.h:189
Definition: Opcodes.h:1536
Definition: SpellPackets.h:802
SpellCastRequest Cast
Definition: SpellPackets.h:279
Definition: SpellPackets.h:882
SelfRes(WorldPacket &&packet)
Definition: SpellPackets.h:742
std::vector< SpellHistoryEntry > Entries
Definition: SpellPackets.h:556
uint8 PackSlot
Definition: SpellPackets.h:289
void Read() override
Definition: SpellPackets.h:47
Definition: Opcodes.h:1219
Definition: SpellPackets.h:184
uint8 SendCastFlags
Definition: SpellPackets.h:252
std::vector< SpellWeight > Weight
Definition: SpellPackets.h:256
RuneType
Definition: Player.h:459
Definition: SpellPackets.h:702
uint8 Applications
Definition: SpellPackets.h:191
Misc
Definition: boss_occuthar.cpp:48
void Read() override
Definition: SpellPackets.cpp:27
CancelSpellVisual()
Definition: SpellPackets.h:633
std::string Name
Definition: SpellPackets.h:231
SpellFailure()
Definition: SpellPackets.h:398
Type
Type of JSON value.
Definition: rapidjson.h:642
Definition: SpellPackets.h:339
CancelChannelling(WorldPacket &&packet)
Definition: SpellPackets.h:53
Definition: SpellPackets.h:481
Definition: Unit.h:1305
Definition: SpellPackets.h:301
SpellAmmo Ammo
Definition: SpellPackets.h:356
Definition: SpellPackets.h:240
Definition: SpellPackets.h:525
uint8 Flags
Definition: SpellPackets.h:534
Optional< uint32 > unused622_2
This field is not used for anything in the client in 6.2.2.20444.
Definition: SpellPackets.h:546
float Pitch
Definition: SpellPackets.h:317
Optional< SpellChannelStartInterruptImmunities > InterruptImmunities
Definition: SpellPackets.h:696
ObjectGuid Caster
Definition: SpellPackets.h:878
CastSpell(WorldPacket &&packet)
Definition: SpellPackets.h:264
uint8 FaceVariation
Definition: SpellPackets.h:771
Definition: SpellPackets.h:620
Definition: WorldPacket.h:26
Definition: Opcodes.h:710
WorldPacket const * Write() override
Definition: SpellPackets.cpp:840
std::vector< ObjectGuid > MissTargets
Definition: SpellPackets.h:350
int32 SpellID
Definition: SpellPackets.h:500
uint32 Category
Definition: SpellPackets.h:541
int32 Health
Definition: SpellPackets.h:176
uint16 MoveMsgID
Definition: SpellPackets.h:862
ObjectGuid CasterGUID
Definition: SpellPackets.h:341
Definition: SpellPackets.h:871
Definition: Opcodes.h:1530
SendKnownSpells()
Definition: SpellPackets.h:117
WorldPacket const * Write() override
Definition: SpellPackets.cpp:580
ObjectGuid Guid
Definition: SpellPackets.h:617
PowerType
Definition: VehicleDefines.h:28
Definition: SpellPackets.h:854
ObjectGuid CasterGUID
Definition: SpellPackets.h:709
std::vector< CategoryCooldownInfo > CategoryCooldowns
Definition: SpellPackets.h:111
std::vector< TargetLocation > TargetPoints
Definition: SpellPackets.h:358
CategoryCooldownInfo(uint32 category, int32 cooldown)
Definition: SpellPackets.h:100
int32 Amount
Definition: SpellPackets.h:171
int32 SpellVisualID
Definition: SpellPackets.h:627
uint8 CastID
Definition: SpellPackets.h:249
void Read() override
Definition: SpellPackets.cpp:21
GetMirrorImageData(WorldPacket &&packet)
Definition: SpellPackets.h:750
uint32 Quantity
Definition: SpellPackets.h:244
std::vector< float > Points
Definition: SpellPackets.h:195
ObjectGuid CastItem
Definition: SpellPackets.h:291
Definition: SpellPackets.h:42
uint32 Category
Definition: SpellPackets.h:588
uint32 TravelTime
Definition: SpellPackets.h:316
WorldPacket const * Write() override
Definition: SpellPackets.cpp:656
uint32 School
Definition: SpellPackets.h:328
Optional< MovementInfo > Status
Definition: SpellPackets.h:868
ObjectGuid Target
Definition: SpellPackets.h:836
int32 TimeRemaining
Definition: SpellPackets.h:710
ObjectGuid UnitGUID
Definition: SpellPackets.h:765
uint8 CastID
Definition: SpellPackets.h:838
void Read() override
Definition: SpellPackets.cpp:741
PetCancelAura(WorldPacket &&packet)
Definition: SpellPackets.h:79