spell

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 15, 2023 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MissNone       = 0
	MissMiss       = 1
	MissResist     = 2
	MissDodge      = 3
	MissParry      = 4
	MissBlock      = 5
	MissEvade      = 6
	MissImmune     = 7
	MissTempImmune = 8 // one of these 2 is MISS_TEMPIMMUNE
	MissDeflect    = 9
	MissAbsorb     = 10
	MissReflect    = 11
)

Variables

This section is empty.

Functions

func LoadAttributes

func LoadAttributes(build vsn.Build, sp *dbdefs.Ent_Spell) (*update.Bitmask, error)

func NumActionButtons

func NumActionButtons(build vsn.Build) int

Types

type ActionButton

type ActionButton struct {
	Action uint32
	Type   models.ActionType
}

func (ActionButton) Uint32

func (ab ActionButton) Uint32(build vsn.Build) uint32

type ActionButtons

type ActionButtons struct {
	Buttons []ActionButton
}

func (*ActionButtons) Decode

func (abs *ActionButtons) Decode(build vsn.Build, in *packet.WorldPacket) error

func (*ActionButtons) Encode

func (abs *ActionButtons) Encode(build vsn.Build, out *packet.WorldPacket) error

type AmmoData

type AmmoData struct {
	DisplayID     uint32
	InventoryType uint32
}

type Attribute

type Attribute uint32
const (
	// Attributes
	Attr_ProcFailureBurnsCharge      Attribute = iota //  0
	Attr_UsesRangedSlot                               //  1 All ranged abilites have this flag
	Attr_OnNextSwing_NO_DAMAGE                        //  2 on next swing
	Attr_DoNotLog_IMMUNE_MISSES                       //  3 not set in 3.0.3
	Attr_IsAbility                                    //  4 Displays ability instead of spell clientside
	Attr_IsTradeskill                                 //  5 trade spells, will be added by client to a sublist of profession spell
	Attr_Passive                                      //  6 Passive spell
	Attr_DoNotDisplay                                 //  7 Hidden in Spellbook, Aura Icon, Combat Log
	Attr_DoNotLog                                     //  8
	Attr_HeldItemOnly                                 //  9 Client automatically selects item from mainhand slot as a cast target
	Attr_OnNextSwing                                  //  10 on next swing 2
	Attr_WearerCastsProcTrigger                       //  11
	Attr_DaytimeOnly                                  //  12 only useable at daytime, not set in 2.4.2
	Attr_NightOnly                                    //  13 only useable at night, not set in 2.4.2
	Attr_OnlyIndoors                                  //  14 only useable indoors, not set in 2.4.2
	Attr_OnlyOutdoors                                 //  15 Only useable outdoors.
	Attr_NotShapeshift                                //  16 Not while shapeshifted
	Attr_OnlyStealthed                                //  17 Must be in stealth
	Attr_DoNotSheath                                  //  18 client won't hide unit weapons in sheath on cast/channel TODO: Implement
	Attr_ScalesWithCreatureLevel                      //  19 spelldamage depends on caster level
	Attr_CancelsAutoAttackCombat                      //  20 Stop attack after use this spell (and not begin attack if use)
	Attr_NoActiveDefense                              //  21 Cannot be dodged/parried/blocked
	Attr_TrackTargetInCastPlayerOnly                  // 22 SetTrackingTarget
	Attr_AllowCastWhileDead                           //  23 castable while dead
	Attr_AllowWhileMounted                            //  24 castable while mounted
	Attr_CooldownOnEvent                              //  25 Activate and start cooldown after aura fade or remove summoned creature or go
	Attr_AuraIsDebuff                                 //  26
	Attr_AllowWhileSitting                            //  27 castable while sitting
	Attr_NotInCombatOnlyPeaceful                      //  28 Cannot be used in combat
	Attr_NoImmunities                                 //  29 unaffected by invulnerability
	Attr_HeartbeatResist                              //  30 Chance for spell effects to break early (heartbeat resist)
	Attr_NoAuraCancel                                 //  31 positive aura can't be canceled
	// AttributesEx
	AttrEx_DismissPet                  //  0
	AttrEx_DrainAllPower               //  1 use all power (Only paladin Lay of Hands and Bunyanize)
	AttrEx_Channeled1                  //  2 channeled 1
	AttrEx_CantBeRedirected            //  3
	AttrEx_Unk4                        //  4
	AttrEx_NotBreakStealth             //  5 Not break stealth
	AttrEx_Channeled2                  //  6 channeled 2
	AttrEx_CantBeReflected             //  7
	AttrEx_NotInCombatTarget           //  8 Spell req target not to be in combat state
	AttrEx_FacingTarget                //  9 TODO: CONFIRM!
	AttrEx_NoThreat                    //  10 no generates threat on cast 100%
	AttrEx_DontRefreshDurationOnRecast //  11 Aura will not refresh its duration when recast
	AttrEx_FailureBreaksStealth        //  12
	AttrEx_ToggleFarsight              //  13
	AttrEx_ChannelTrackTarget          //  14
	AttrEx_DispelAurasOnImmunity       //  15 remove auras on immunity
	AttrEx_UnaffectedBySchoolImmune    //  16 unaffected by school immunity
	AttrEx_UnautocastableByCharmed     //  17 TODO: Investigate more Chero version: SPELL_ATTR_EX_PLAYER_CANT_CAST_CHARMED, likely related to MC
	AttrEx_PreventsAnim                //  18
	AttrEx_CantTargetSelf              //  19 spells with area effect or friendly targets that exclude the caster
	AttrEx_ReqTargetComboPoints        //  20 Req combo points on target
	AttrEx_ThreatOnlyOnMiss            //  21
	AttrEx_ReqComboPoints              //  22 Use combo points (in 4.x not required combo point target selected)
	AttrEx_Unk23                       //  23
	AttrEx_Unk24                       //  24 Req fishing pole?? SPELL_ATTR_EX_FISHING
	AttrEx_Unk25                       //  25 not set in 2.4.2
	AttrEx_RequireAllTargets           //  26
	AttrEx_RefundPower                 //  27 All these spells refund power on parry or deflect
	AttrEx_DontDisplayInAuraBar        //  28
	AttrEx_ChannelDisplaySpellName     //  29
	AttrEx_EnableAtDodge               //  30 overpower
	AttrEx_Unk31                       //  31
	//AttributesEx2
	AttrEx2_CanTargetDead                //  0 can target dead unit or corpse
	AttrEx2_Unk1                         //  1
	AttrEx2_IgnoreLos                    //  2 do not need LOS (e.g. 18220 since 3.3.3)
	AttrEx2_Unk3                         //  3 auto targeting? (e.g. fishing skill enhancement items since 3.3.3)
	AttrEx2_DisplayInStanceBar           //  4 client displays icon in stance bar when learned, even if not shapeshift
	AttrEx2_AutorepeatFlag               //  5
	AttrEx2_CantTargetTapped             //  6 only usable on tabbed by yourself
	AttrEx2_Unk7                         //  7
	AttrEx2_Unk8                         //  8 not set in 2.4.2
	AttrEx2_Unk9                         //  9
	AttrEx2_Unk10                        //  10 SPELL_ATTR_EX2_TAME_SPELLS
	AttrEx2_HealthFunnel                 //  11
	AttrEx2_Unk12                        //  12 SPELL_ATTR_EX2_CLASS_CLEAVE
	AttrEx2_Unk13                        //  13 TODO: Implement from TC SPELL_ATTR_EX2_CASTABLE_ON_ITEMS
	AttrEx2_Unk14                        //  14
	AttrEx2_Unk15                        //  15 not set in 2.4.2
	AttrEx2_TameBeast                    //  16
	AttrEx2_NotResetAutoActions          //  17 suspend weapon timer instead of resetting it, (?Hunters Shot and Stings only have this flag?)
	AttrEx2_ReqDeadPet                   //  18 Only Revive pet - possible req dead pet
	AttrEx2_NotNeedShapeshift            //  19 does not necessary need shapeshift (pre-3.x not have passive spells with this attribute)
	AttrEx2_FacingTargetsBack            //  20 TODO: CONFIRM!
	AttrEx2_DamageReducedShield          //  21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure!
	AttrEx2_NoInitialThreat              //  22
	AttrEx2_IsArcaneConcentration        //  23 Only mage Arcane Concentration have this flag
	AttrEx2_Unk24                        //  24
	AttrEx2_Unk25                        //  25
	AttrEx2_UnaffectedByAuraSchoolImmune //  26
	AttrEx2_Unk27                        //  27
	AttrEx2_Unk28                        //  28 no breaks stealth if it fails??
	AttrEx2_CantCrit                     //  29 Spell can't crit
	AttrEx2_TriggeredCanTriggerProc      //  30 Chero hint: SPELL_ATTR_EX2_CAN_TRIGGER_VICTIM
	AttrEx2_FoodBuff                     //  31 Food or Drink Buff (like Well Fed)
	// AttributesEx3
	AttrEx3_OutOfCombatAttack          //  0 Spell landed counts as hostile action against enemy even if it doesn't trigger combat state, propagates PvP flags
	AttrEx3_Unk1                       //  1
	AttrEx3_Unk2                       //  2
	AttrEx3_BlockableSpell             //  3 TODO: Investigate more
	AttrEx3_IgnoreResurrectionTimer    //  4 Druid Rebirth only this spell have this flag
	AttrEx3_Unk5                       //  5
	AttrEx3_Unk6                       //  6
	AttrEx3_StackForDiffCasters        //  7 create a separate (de)buff stack for each caster
	AttrEx3_TargetOnlyPlayer           //  8 Can target only player
	AttrEx3_TriggeredCanTriggerSpecial //  9 Can only proc auras
	AttrEx3_MainHand                   //  10 Main hand weapon required
	AttrEx3_Battleground               //  11 Can casted only on battleground
	AttrEx3_CastOnDead                 //  12 target is a dead player (not every spell has this flag)
	AttrEx3_DontDisplayChannelBar      //  13
	AttrEx3_IsHonorlessTarget          //  14 "Honorless Target" only this spells have this flag
	AttrEx3_RangedAttack               //  15 Spells with this attribute are processed as ranged attacks in client
	AttrEx3_SuppressCasterProcs        //  16
	AttrEx3_SuppressTargetProcs        //  17
	AttrEx3_AlwaysHit                  //  18 Spell should always hit its target
	AttrEx3_Unk19                      //  19 TODO: Implement from TC
	AttrEx3_DeathPersistent            //  20 Death persistent spells
	AttrEx3_Unk21                      //  21
	AttrEx3_ReqWand                    //  22 Req wand
	AttrEx3_Unk23                      //  23
	AttrEx3_ReqOffhand                 //  24 Req offhand weapon
	AttrEx3_TreatAsPeriodic            //  25 Treated as periodic spell
	AttrEx3_CanProcFromTriggered       //  26 Auras with this attribute can proc off AttrEx3_TriggeredCanTriggerSpecial
	AttrEx3_Unk27                      //  27
	AttrEx3_Unk28                      //  28 always cast ok ? (requires more research)
	AttrEx3_IgnoreCasterModifiers      //  29 Resistances should still affect damage
	AttrEx3_DontDisplayRange           //  30
	AttrEx3_Unk31                      //  31
	// AttributesEx3
	AttrEx4_IgnoreResistances          //  0
	AttrEx4_ProcOnlyOnCaster           //  1 Only proc on self-cast
	AttrEx4_AuraExpiresOffline         //  2
	AttrEx4_Unk3                       //  3
	AttrEx4_Unk4                       //  4 This will no longer cause guards to attack on use??
	AttrEx4_Unk5                       //  5
	AttrEx4_NotStealable               //  6 although such auras might be dispellable, they cannot be stolen
	AttrEx4_CanCastWhileCasting        //  7 In theory, can use this spell while another is channeled/cast/autocast
	AttrEx4_IgnoreDamageTakenModifiers //  8
	AttrEx4_TriggerActivate            //  9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other)
	AttrEx4_SpellVsExtendCost          //  10 Rogue Shiv have this flag
	AttrEx4_Unk11                      //  11
	AttrEx4_Unk12                      //  12
	AttrEx4_Unk13                      //  13
	AttrEx4_DamageDoesntBreakAuras     //  14
	AttrEx4_Unk15                      //  15 Dont add to spellbook
	AttrEx4_NotUsableInArena           //  16 not usable in arena
	AttrEx4_UsableInArena              //  17 usable in arena
	AttrEx4_Unk18                      //  18 TODO: Investigate from TC
	AttrEx4_Unk19                      //  19
	AttrEx4_NotCheckSelfcastPower      //  20 do not give "more powerful spell" error message
	AttrEx4_Unk21                      //  21
	AttrEx4_Unk22                      //  22
	AttrEx4_Unk23                      //  23
	AttrEx4_AutoRangedCombatSpell      //  24
	AttrEx4_IsPetScaling               //  25 pet scaling auras
	AttrEx4_CastOnlyInOutland          //  26 Can only be used in Outland.
	AttrEx4_Unk27                      //  27 Always shown in combat log
	AttrEx4_Unk28                      //  28
	AttrEx4_Unk29                      //  29 Related to client check about dispel, CC seems to have them - dispel effect 0
	AttrEx4_Unk30                      //  30 - dispel effect 1
	AttrEx4_Unk31                      //  31 - dispel effect 2
)

type AuraCancel

type AuraCancel struct {
	Spell uint32
}

func (*AuraCancel) Decode

func (ac *AuraCancel) Decode(build vsn.Build, in *packet.WorldPacket) error

type AuraCastLog

type AuraCastLog struct {
	// packet.ReadGuid("Caster GUID");
	// packet.ReadGuid("Target GUID");
	// packet.ReadUInt32<SpellId>("Spell ID");
	// packet.ReadSingle("Unk 1");
	// packet.ReadSingle("Unk 2");
	Caster guid.GUID
	Target guid.GUID
	Spell  uint32
	X      float32
	Y      float32
}

func (*AuraCastLog) Encode

func (lg *AuraCastLog) Encode(build vsn.Build, out *packet.WorldPacket) error

type AuraDurationUpdate

type AuraDurationUpdate struct {
	Slot     uint8
	Duration uint32
}

func (*AuraDurationUpdate) Encode

func (adu *AuraDurationUpdate) Encode(build vsn.Build, out *packet.WorldPacket) error

type AuraEffect

type AuraEffect uint32
const (
	AuraEffectNone                                     AuraEffect = iota // 0
	AuraEffectBindSight                                                  // 1
	AuraEffectModPossess                                                 // 2
	AuraEffectPeriodicDamage                                             // 3
	AuraEffectDummy                                                      // 4
	AuraEffectModConfuse                                                 // 5
	AuraEffectModCharm                                                   // 6
	AuraEffectModFear                                                    // 7
	AuraEffectPeriodicHeal                                               // 8
	AuraEffectModAttackspeed                                             // 9
	AuraEffectModThreat                                                  // 10
	AuraEffectModTaunt                                                   // 11
	AuraEffectModStun                                                    // 12
	AuraEffectModDamageDone                                              // 13
	AuraEffectModDamageTaken                                             // 14
	AuraEffectDamageShield                                               // 15
	AuraEffectModStealth                                                 // 16
	AuraEffectModStealth_DETECT                                          // 17
	AuraEffectModInvisibility                                            // 18
	AuraEffectModInvisibilityDetect                                      // 19
	AuraEffectObsModHealth                                               // 20 // 20 21 unofficial
	AuraEffectObsModPower                                                // 21
	AuraEffectModResistance                                              // 22
	AuraEffectPeriodicTriggerSpell                                       // 23
	AuraEffectPeriodicEnergize                                           // 24
	AuraEffectModPacify                                                  // 25
	AuraEffectModRoot                                                    // 26
	AuraEffectModSilence                                                 // 27
	AuraEffectReflectSpells                                              // 28
	AuraEffectModStat                                                    // 29
	AuraEffectModSkill                                                   // 30
	AuraEffectModIncreaseSpeed                                           // 31
	AuraEffectModIncreaseMountedSpeed                                    // 32
	AuraEffectModDecreaseSpeed                                           // 33
	AuraEffectModIncreaseHealth                                          // 34
	AuraEffectModIncreaseEnergy                                          // 35
	AuraEffectModShapeshift                                              // 36
	AuraEffectEffectImmunity                                             // 37
	AuraEffectStateImmunity                                              // 38
	AuraEffectSchoolImmunity                                             // 39
	AuraEffectDamageImmunity                                             // 40
	AuraEffectDispelImmunity                                             // 41
	AuraEffectProcTriggerSpell                                           // 42
	AuraEffectProcTriggerDamage                                          // 43
	AuraEffectTrackCreatures                                             // 44
	AuraEffectTrackResources                                             // 45
	AuraEffect46                                                         // 46 // Ignore all Gear test spells
	AuraEffectModParryPercent                                            // 47
	AuraEffectPeriodicTriggerSpellFromClient                             // 48 // One periodic spell
	AuraEffectModDodgePercent                                            // 49
	AuraEffectModCriticalHealingAmount                                   // 50
	AuraEffectModBlockPercent                                            // 51
	AuraEffectModWeaponCritPercent                                       // 52
	AuraEffectPeriodicLeech                                              // 53
	AuraEffectModHitChance                                               // 54
	AuraEffectModSpellHitChance                                          // 55
	AuraEffectTransform                                                  // 56
	AuraEffectModSpellCritChance                                         // 57
	AuraEffectModIncreaseSwimSpeed                                       // 58
	AuraEffectModDamageDoneCreature                                      // 59
	AuraEffectModPacifySilence                                           // 60
	AuraEffectModScale                                                   // 61
	AuraEffectPeriodicHealthFunnel                                       // 62
	AuraEffectModAdditionalPowerCost                                     // 63
	AuraEffectPeriodicManaLeech                                          // 64
	AuraEffectModCastingSpeed_NOT_STACK                                  // 65
	AuraEffectFeignDeath                                                 // 66
	AuraEffectModDisarm                                                  // 67
	AuraEffectModStalked                                                 // 68
	AuraEffectSchoolAbsorb                                               // 69
	AuraEffectPeriodicWeaponPercentDamage                                // 70
	AuraEffectStoreTeleportReturnPoint                                   // 71
	AuraEffectModPowerCostSchoolPct                                      // 72
	AuraEffectModPowerCostSchool                                         // 73
	AuraEffectReflectSpells_SCHOOL                                       // 74
	AuraEffectModLanguage                                                // 75
	AuraEffectFarSight                                                   // 76
	AuraEffectMechanicImmunity                                           // 77
	AuraEffectMounted                                                    // 78
	AuraEffectModDamagePercentDone                                       // 79
	AuraEffectModPercentStat                                             // 80
	AuraEffectSplitDamagePct                                             // 81
	AuraEffectWaterBreathing                                             // 82
	AuraEffectModBaseResistance                                          // 83
	AuraEffectModRegen                                                   // 84
	AuraEffectModPowerRegen                                              // 85
	AuraEffectChannelDeathItem                                           // 86
	AuraEffectModDamagePercentTaken                                      // 87
	AuraEffectModHealthRegenPercent                                      // 88
	AuraEffectPeriodicDamagePercent                                      // 89
	AuraEffect90                                                         // 90 // old SPELL_AURA_MOD_RESIST_CHANCE
	AuraEffectModDetectRange                                             // 91
	AuraEffectPreventsFleeing                                            // 92
	AuraEffectModUnattackable                                            // 93
	AuraEffectInterruptRegen                                             // 94
	AuraEffectGhost                                                      // 95
	AuraEffectSpellMagnet                                                // 96
	AuraEffectManaShield                                                 // 97
	AuraEffectModSkillTalent                                             // 98
	AuraEffectModAttackPower                                             // 99
	AuraEffectAurasVisible                                               // 100
	AuraEffectModResistancePct                                           // 101
	AuraEffectModMeleeAttackPowerVersus                                  // 102
	AuraEffectModTotalThreat                                             // 103
	AuraEffectWaterWalk                                                  // 104
	AuraEffectFeatherFall                                                // 105
	AuraEffectHover                                                      // 106
	AuraEffectAddFlatModifier                                            // 107
	AuraEffectAddPctModifier                                             // 108
	AuraEffectAddTargetTrigger                                           // 109
	AuraEffectModPowerRegenPercent                                       // 110
	AuraEffectInterceptMeleeRangedAttacks                                // 111
	AuraEffectOverrideClassScripts                                       // 112
	AuraEffectModRangedDamageTaken                                       // 113
	AuraEffectModRangedDamageTaken_PCT                                   // 114
	AuraEffectModHealing                                                 // 115
	AuraEffectModRegen_DURING_COMBAT                                     // 116
	AuraEffectModMechanicResistance                                      // 117
	AuraEffectModHealing_PCT                                             // 118
	AuraEffectPvpTalents                                                 // 119
	AuraEffectUntrackable                                                // 120
	AuraEffectEmpathy                                                    // 121
	AuraEffectModOffhandDamagePct                                        // 122
	AuraEffectModTargetResistance                                        // 123
	AuraEffectModRangedAttackPower                                       // 124
	AuraEffectModMeleeDamageTaken                                        // 125
	AuraEffectModMeleeDamageTaken_PCT                                    // 126
	AuraEffectRangedAttackPowerAttackerBonus                             // 127
	AuraEffectModFixate                                                  // 128
	AuraEffectModSpeedAlways                                             // 129
	AuraEffectModMountedSpeedAlways                                      // 130
	AuraEffectModRangedAttackPowerVersus                                 // 131
	AuraEffectModIncreaseEnergy_PERCENT                                  // 132
	AuraEffectModIncreaseHealth_PERCENT                                  // 133
	AuraEffectModManaRegenInterrupt                                      // 134
	AuraEffectModHealingDone                                             // 135
	AuraEffectModHealingDone_PERCENT                                     // 136
	AuraEffectModTotalStatPercentage                                     // 137
	AuraEffectModMeleeHaste                                              // 138
	AuraEffectForceReaction                                              // 139
	AuraEffectModRangedHaste                                             // 140
	AuraEffect141                                                        // 141 // old SPELL_AURA_MOD_RANGED_AMMO_HASTE unused now
	AuraEffectModBaseResistance_PCT                                      // 142
	AuraEffectModRecoveryRate_BY_SPELL_LABEL                             // 143 // NYI
	AuraEffectSafeFall                                                   // 144
	AuraEffectModIncreaseHealthPercent2                                  // 145
	AuraEffectAllowTamePetType                                           // 146
	AuraEffectMechanicImmunity_MASK                                      // 147
	AuraEffectModChargeRecoveryRate                                      // 148 // NYI
	AuraEffectReducePushback                                             // 149 //    Reduce Pushback
	AuraEffectModShieldBlockvaluePct                                     // 150
	AuraEffectTrackStealthed                                             // 151 //    Track Stealthed
	AuraEffectModDetectedRange                                           // 152 //    Mod Detected Range
	AuraEffectModAutoattackRange                                         // 153
	AuraEffectModStealth_LEVEL                                           // 154 //    Stealth Level Modifier
	AuraEffectModWaterBreathing                                          // 155 //    Mod Water Breathing
	AuraEffectModReputationGain                                          // 156 //    Mod Reputation Gain
	AuraEffectPetDamageMulti                                             // 157 //    Mod Pet Damage
	AuraEffectAllowTalentSwapping                                        // 158
	AuraEffectNoPvpCredit                                                // 159
	AuraEffect160                                                        // 160 // old SPELL_AURA_MOD_AOE_AVOIDANCE. Unused 4.3.4
	AuraEffectModHealthRegenInCombat                                     // 161
	AuraEffectPowerBurn                                                  // 162
	AuraEffectModCritDamageBonus                                         // 163
	AuraEffectForceBreathBar                                             // 164
	AuraEffectMeleeAttackPowerAttackerBonus                              // 165
	AuraEffectModAttackPowerPct                                          // 166
	AuraEffectModRangedAttackPowerPct                                    // 167
	AuraEffectModDamageDoneVersus                                        // 168
	AuraEffectSetFfaPvp                                                  // 169
	AuraEffectDetectAmore                                                // 170
	AuraEffectModSpeedNotStack                                           // 171
	AuraEffectModMountedSpeedNotStack                                    // 172
	AuraEffectModRecoveryRate2                                           // 173 // NYI
	AuraEffectModSpellDamageOfStatPercent                                // 174 // by defeult intelect dependent from AuraEffectModSpellHealingOfStatPercent
	AuraEffectModSpellHealingOfStatPercent                               // 175
	AuraEffectSpiritOfRedemption                                         // 176
	AuraEffectAoeCharm                                                   // 177
	AuraEffectModMaxPowerPct                                             // 178
	AuraEffectModPowerDisplay                                            // 179
	AuraEffectModFlatSpellDamageVersus                                   // 180
	AuraEffectModSpellCurrencyReagentsCountPct                           // 181 // NYI
	AuraEffectSuppressItemPassiveEffectBySpellLabel                      // 182
	AuraEffectModCritChanceVersusTargetHealth                            // 183
	AuraEffectModAttackerMeleeHitChance                                  // 184
	AuraEffectModAttackerRangedHitChance                                 // 185
	AuraEffectModAttackerSpellHitChance                                  // 186
	AuraEffectModAttackerMeleeCritChance                                 // 187
	AuraEffectModAttackerRangedCritChance                                // 188
	AuraEffectModRating                                                  // 189
	AuraEffectModFactionReputationGain                                   // 190
	AuraEffectUseNormalMovementSpeed                                     // 191
	AuraEffectModMeleeRangedHaste                                        // 192
	AuraEffectMeleeSlow                                                  // 193
	AuraEffectModTargetAbsorbSchool                                      // 194
	AuraEffectLearnSpell                                                 // 195
	AuraEffectModCooldown                                                // 196 // only 24818 Noxious Breath
	AuraEffectModAttackerSpellAndWeaponCritChance                        // 197
	AuraEffectModCombatRatingFromCombatRating                            // 198
	AuraEffect199                                                        // 199 // old SPELL_AURA_MOD_INCREASES_SPELL_PCT_TO_HIT. unused 4.3.4
	AuraEffectModXpPct                                                   // 200
	AuraEffectFly                                                        // 201
	AuraEffectIgnoreCombatResult                                         // 202
	AuraEffectPreventInterrupt                                           // 203 // NYI
	AuraEffectPreventCorpseRelease                                       // 204 // NYI
	AuraEffectModChargeCooldown                                          // 205 // NYI
	AuraEffectModIncreaseVehicleFlightSpeed                              // 206
	AuraEffectModIncreaseMountedFlightSpeed                              // 207
	AuraEffectModIncreaseFlightSpeed                                     // 208
	AuraEffectModMountedFlightSpeedAlways                                // 209
	AuraEffectModVehicleSpeedAlways                                      // 210
	AuraEffectModFlightSpeedNotStack                                     // 211
	AuraEffectModHonorGainPct                                            // 212
	AuraEffectModRageFromDamageDealt                                     // 213
	AuraEffect214                                                        // 214
	AuraEffectArenaPreparation                                           // 215
	AuraEffectHasteSpells                                                // 216
	AuraEffectModMeleeHaste_2                                            // 217
	AuraEffectAddPctModifierBySpellLabel                                 // 218
	AuraEffectAddFlatModifier_BY_SPELL_LABEL                             // 219
	AuraEffectModAbilitySchoolMask                                       // 220 // NYI
	AuraEffectModDetaunt                                                 // 221
	AuraEffectRemoveTransmogCost                                         // 222
	AuraEffectRemoveBarberShopCost                                       // 223
	AuraEffectLearnTalent                                                // 224 // NYI
	AuraEffectModVisibilityRange                                         // 225
	AuraEffectPeriodicDummy                                              // 226
	AuraEffectPeriodicTriggerSpell_WITH_VALUE                            // 227
	AuraEffectDetectStealth                                              // 228
	AuraEffectModAoeDamageAvoidance                                      // 229
	AuraEffectModMaxHealth                                               // 230
	AuraEffectProcTriggerSpell_WITH_VALUE                                // 231
	AuraEffectMechanicDurationMod                                        // 232
	AuraEffectChangeModelForAllHumanoids                                 // 233 // client-side only
	AuraEffectMechanicDurationMod_NOT_STACK                              // 234
	AuraEffectModHoverNoHeightOffset                                     // 235
	AuraEffectControlVehicle                                             // 236
	AuraEffect237                                                        // 237
	AuraEffect238                                                        // 238
	AuraEffectModScale2                                                  // 239
	AuraEffectModExpertise                                               // 240
	AuraEffectForceMoveForward                                           // 241
	AuraEffectModSpellDamageFromHealing                                  // 242
	AuraEffectModFaction                                                 // 243
	AuraEffectComprehendLanguage                                         // 244
	AuraEffectModAuraDurationByDispel                                    // 245
	AuraEffectModAuraDurationByDispel_NOT_STACK                          // 246
	AuraEffectCloneCaster                                                // 247
	AuraEffectModCombatResultChance                                      // 248
	AuraEffectModDamagePercentDoneByTargetAuraMechanic                   // 249 // NYI
	AuraEffectModIncreaseHealth_2                                        // 250
	AuraEffectModEnemyDodge                                              // 251
	AuraEffectModSpeedSlowAll                                            // 252
	AuraEffectModBlockCritChance                                         // 253
	AuraEffectModDisarm_OFFHAND                                          // 254
	AuraEffectModMechanicDamageTakenPercent                              // 255
	AuraEffectNoReagentUse                                               // 256
	AuraEffectModTargetResistBySpellClass                                // 257
	AuraEffectOverrideSummonedObject                                     // 258
	AuraEffectModHotPct                                                  // 259
	AuraEffectScreenEffect                                               // 260
	AuraEffectPhase                                                      // 261
	AuraEffectAbilityIgnoreAurastate                                     // 262
	AuraEffectDisableCastingExceptAbilities                              // 263
	AuraEffectDisableAttackingExceptAbilities                            // 264
	AuraEffect265                                                        // 265
	AuraEffectSetVignette                                                // 266 // NYI
	AuraEffectModImmuneAuraApplySchool                                   // 267
	AuraEffectModArmorPctFromStat                                        // 268
	AuraEffectModIgnoreTargetResist                                      // 269
	AuraEffectModSchoolMaskDamageFromCaster                              // 270
	AuraEffectModSpellDamageFromCaster                                   // 271
	AuraEffectModBlockValuePct                                           // 272 // NYI
	AuraEffectXRay                                                       // 273
	AuraEffectModBlockValueFlat                                          // 274 // NYI
	AuraEffectModIgnoreShapeshift                                        // 275
	AuraEffectModDamageDoneForMechanic                                   // 276
	AuraEffect277                                                        // 277 // old SPELL_AURA_MOD_MAX_AFFECTED_TARGETS. unused 4.3.4
	AuraEffectModDisarmRanged                                            // 278
	AuraEffectInitializeImages                                           // 279
	AuraEffect280                                                        // 280 // old SPELL_AURA_MOD_ARMOR_PENETRATION_PCT unused 4.3.4
	AuraEffectProvideSpellFocus                                          // 281
	AuraEffectModBaseHealthPct                                           // 282
	AuraEffectModHealing_RECEIVED                                        // 283 // Possibly only for some spell family class spells
	AuraEffectLinked                                                     // 284
	AuraEffectLinked2                                                    // 285
	AuraEffectModRecoveryRate                                            // 286
	AuraEffectDeflectSpells                                              // 287
	AuraEffectIgnoreHitDirection                                         // 288
	AuraEffectPreventDurabilityLoss                                      // 289
	AuraEffectModCritPct                                                 // 290
	AuraEffectModXpQuestPct                                              // 291
	AuraEffectOpenStable                                                 // 292
	AuraEffectOverrideSpells                                             // 293
	AuraEffectPreventRegeneratePower                                     // 294
	AuraEffectModPeriodicDamageTaken                                     // 295
	AuraEffectSetVehicleId                                               // 296
	AuraEffectModRootDisableGravity                                      // 297 // NYI
	AuraEffectModStunDisableGravity                                      // 298 // NYI
	AuraEffect299                                                        // 299
	AuraEffectShareDamagePct                                             // 300
	AuraEffectSchoolHealAbsorb                                           // 301
	AuraEffect302                                                        // 302
	AuraEffectModDamageDoneVersusAurastate                               // 303
	AuraEffectModFakeInebriate                                           // 304
	AuraEffectModMinimumSpeed                                            // 305
	AuraEffectModCritChanceForCaster                                     // 306
	AuraEffectCastWhileWalkingBySpellLabel                               // 307
	AuraEffectModCritChanceForCasterWithAbilities                        // 308
	AuraEffectModResilience                                              // 309 // NYI
	AuraEffectModCreatureAoeDamageAvoidance                              // 310
	AuraEffectIgnoreCombat                                               // 311 // NYI
	AuraEffectAnimReplacementSet                                         // 312
	AuraEffectMountAnimReplacementSet                                    // 313
	AuraEffectPreventResurrection                                        // 314
	AuraEffectUnderwaterWalking                                          // 315
	AuraEffectSchoolAbsorbOverkill                                       // 316 // NYI - absorbs overkill damage
	AuraEffectModSpellPowerPct                                           // 317
	AuraEffectMastery                                                    // 318
	AuraEffectModMeleeHaste_3                                            // 319
	AuraEffect320                                                        // 320
	AuraEffectModNoActions                                               // 321
	AuraEffectInterfereTargetting                                        // 322
	AuraEffect323                                                        // 323 // Not used in 4.3.4
	AuraEffectOverrideUnlockedAzeriteEssenceRank                         // 324 // testing aura
	AuraEffectLearnPvpTalent                                             // 325 // NYI
	AuraEffectPhaseGroup                                                 //= 326             // Puts the player in all the phases that are in the group with id // miscB
	AuraEffectPhaseAlwaysVisible                                         // 327 // Sets PhaseShiftFlags::AlwaysVisible
	AuraEffectTriggerSpellOnPowerPct                                     //= 328             // Triggers spell when power goes above (MiscB = 0) or falls below (MiscB // 1) specified percent value (once not every time condition has meet)
	AuraEffectModPowerGainPct                                            // 329
	AuraEffectCastWhileWalking                                           // 330
	AuraEffectForceWeather                                               // 331
	AuraEffectOverrideActionbarSpells                                    // 332
	AuraEffectOverrideActionbarSpells_TRIGGERED                          // 333 // Spells cast with this override have no cast time or power cost
	AuraEffectModAutoattackCritChance                                    // 334
	AuraEffect335                                                        // 335
	AuraEffectMountRestrictions                                          // 336
	AuraEffectModVendorItemsPrices                                       // 337
	AuraEffectModDurabilityLoss                                          // 338
	AuraEffectModCritChanceForCaster_PET                                 // 339
	AuraEffectModResurrectedHealthByGuildMember                          // 340 // Increases health gained when resurrected by a guild member by X
	AuraEffectModSpellCategoryCooldown                                   // 341 // Modifies cooldown of all spells using affected category
	AuraEffectModMeleeRangedHaste_2                                      // 342
	AuraEffectModMeleeDamageFromCaster                                   // 343
	AuraEffectModAutoattackDamage                                        // 344
	AuraEffectBypassArmorForCaster                                       // 345
	AuraEffectEnableAltPower                                             // 346
	AuraEffectModSpellCooldownByHaste                                    // 347
	AuraEffectModMoneyGain                                               //  = 348             // Modifies gold gains from source: [Misc = 0 Quests][Misc // 1 Loot]
	AuraEffectModCurrencyGain                                            // 349
	AuraEffect350                                                        // 350
	AuraEffectModCurrencyCategoryGainPct                                 // 351 // NYI
	AuraEffect352                                                        // 352
	AuraEffectModCamouflage                                              // 353 // NYI
	AuraEffectModHealingDone_PCT_VERSUS_TARGET_HEALTH                    // = 354             // Restoration Shaman mastery - mod healing based on target's health (less // more healing)
	AuraEffectModCastingSpeed                                            // 355 // NYI
	AuraEffectProvideTotemCategory                                       // 356
	AuraEffectEnableBoss1UnitFrame                                       // 357
	AuraEffectWorgenAlteredForm                                          // 358
	AuraEffectModHealingDone_VERSUS_AURASTATE                            // 359
	AuraEffectProcTriggerSpell_COPY                                      // 360 // Procs the same spell that caused this proc (Dragonwrath Tarecgosa's Rest)
	AuraEffectOverrideAutoattackWithMeleeSpell                           // 361
	AuraEffect362                                                        // 362 // Not used in 4.3.4
	AuraEffectModNextSpell                                               // 363 // Used by 101601 Throw Totem - causes the client to initialize spell cast with specified spell
	AuraEffect364                                                        // 364 // Not used in 4.3.4
	AuraEffectMaxFarClipPlane                                            // 365 // Overrides client's View Distance setting to max("Fair" current_setting) and turns off terrain display
	AuraEffectOverrideSpellPowerByApPct                                  // 366 // NYI - Sets spellpower equal to % of attack power discarding all other bonuses (from gear and buffs)
	AuraEffectOverrideAutoattackWithRangedSpell                          // 367 // NYI
	AuraEffect368                                                        // 368 // Not used in 4.3.4
	AuraEffectEnablePowerBarTimer                                        // 369
	AuraEffectSpellOverrideNameGroup                                     // 370 // picks a random SpellOverrideName id from a group (group id in miscValue)
	AuraEffect371                                                        // 371
	AuraEffectOverrideMountFromSet                                       // 372 // NYI
	AuraEffectModSpeedNoControl                                          // 373 // NYI
	AuraEffectModifyFallDamagePct                                        // 374
	AuraEffectHideModelAndEquipementSlots                                // 375
	AuraEffectModCurrencyGainFromSource                                  // 376 // NYI
	AuraEffectCastWhileWalking_ALL                                       // 377 // Enables casting all spells while moving
	AuraEffectModPossess_PET                                             // 378
	AuraEffectModManaRegenPct                                            // 379
	AuraEffect380                                                        // 380
	AuraEffectModDamageTakenFromCasterPet                                // 381 // NYI
	AuraEffectModPetStatPct                                              // 382 // NYI
	AuraEffectIgnoreSpellCooldown                                        // 383 // NYI
	AuraEffect384                                                        // 384
	AuraEffect385                                                        // 385
	AuraEffect386                                                        // 386
	AuraEffect387                                                        // 387
	AuraEffectModTaxiFlightSpeed                                         // 388 // NYI
	AuraEffect389                                                        // 389
	AuraEffect390                                                        // 390
	AuraEffect391                                                        // 391
	AuraEffect392                                                        // 392
	AuraEffectBlockSpellsInFront                                         // 393 // NYI
	AuraEffectShowConfirmationPrompt                                     // 394
	AuraEffectAreaTrigger                                                // 395 // NYI
	AuraEffectTriggerSpellOnPowerAmount                                  //  = 396             // Triggers spell when power goes above (MiscA = 0) or falls below (MiscA // 1) specified percent value (once not every time condition has meet)
	AuraEffectBattlegroundPlayerPosition_FACTIONAL                       // 397
	AuraEffectBattlegroundPlayerPosition                                 // 398
	AuraEffectModTimeRate                                                // 399
	AuraEffectModSkill_2                                                 // 400
	AuraEffect401                                                        // 401
	AuraEffectModOverridePowerDisplay                                    // 402
	AuraEffectOverrideSpellVisual                                        // 403
	AuraEffectOverrideAttackPowerBySpPct                                 // 404
	AuraEffectModRatingPct                                               // 405
	AuraEffectKeyboundOverride                                           // 406 // NYI
	AuraEffectModFear2                                                   // 407 // NYI
	AuraEffectSetActionButtonSpellCount                                  // 408
	AuraEffectCanTurnWhileFalling                                        // 409
	AuraEffect410                                                        // 410
	AuraEffectModMaxCharges                                              // 411
	AuraEffect412                                                        // 412
	AuraEffectModRangedAttackDeflectChance                               // 413 // NYI
	AuraEffectModRangedAttackBlockChanceInFront                          // 414 // NYI
	AuraEffect415                                                        // 415
	AuraEffectModCooldownByHasteRegen                                    // 416
	AuraEffectModGlobalCooldownByHasteRegen                              // 417
	AuraEffectModMaxPower                                                // 418 // NYI
	AuraEffectModBaseManaPct                                             // 419
	AuraEffectModBattlePetXpPct                                          // 420
	AuraEffectModAbsorbEffectsDonePct                                    // 421 // NYI
	AuraEffectModAbsorbEffectsTakenPct                                   // 422 // NYI
	AuraEffectModManaCostPct                                             // 423
	AuraEffectCasterIgnoreLos                                            // 424 // NYI
	AuraEffect425                                                        // 425
	AuraEffect426                                                        // 426
	AuraEffectScalePlayerLevel                                           // 427 // NYI
	AuraEffectLinked_SUMMON                                              // 428
	AuraEffectModSummonDamage                                            // 429 // NYI - increases damage done by all summons not just controlled pets
	AuraEffectPlayScene                                                  // 430
	AuraEffectModOverrideZonePvpType                                     // 431 // NYI
	AuraEffect432                                                        // 432
	AuraEffect433                                                        // 433
	AuraEffect434                                                        // 434
	AuraEffect435                                                        // 435
	AuraEffectModEnvironmentalDamageTaken                                // 436
	AuraEffectModMinimumSpeed_RATE                                       // 437
	AuraEffectPreloadPhase                                               // 438 // NYI
	AuraEffect439                                                        // 439
	AuraEffectModMultistrikeDamage                                       // 440 // NYI
	AuraEffectModMultistrikeChance                                       // 441 // NYI
	AuraEffectModReadiness                                               // 442 // NYI
	AuraEffectModLeech                                                   // 443 // NYI
	AuraEffect444                                                        // 444
	AuraEffect445                                                        // 445
	AuraEffect446                                                        // 446
	AuraEffectModXpFromCreatureType                                      // 447
	AuraEffect448                                                        // 448
	AuraEffect449                                                        // 449
	AuraEffect450                                                        // 450
	AuraEffectOverridePetSpecs                                           // 451
	AuraEffect452                                                        // 452
	AuraEffectChargeRecoveryMod                                          // 453
	AuraEffectChargeRecoveryMultiplier                                   // 454
	AuraEffectModRoot_2                                                  // 455
	AuraEffectChargeRecoveryAffectedByHaste                              // 456
	AuraEffectChargeRecoveryAffectedByHasteRegen                         // 457
	AuraEffectIgnoreDualWieldHitPenalty                                  // 458
	AuraEffectIgnoreMovementForces                                       // 459
	AuraEffectResetCooldownsOnDuelStart                                  // 460 // NYI
	AuraEffect461                                                        // 461
	AuraEffectModHealing_AND_ABSORB_FROM_CASTER                          // 462 // NYI
	AuraEffectConvertCritRatingPctToParryRating                          // 463 // NYI
	AuraEffectModAttackPowerOfBonusArmor                                 // 464 // NYI
	AuraEffectModBonusArmor                                              // 465
	AuraEffectModBonusArmor_PCT                                          // 466 // Affects bonus armor gain from all sources except base stats
	AuraEffectModStat_BONUS_PCT                                          // 467 // Affects stat gain from all sources except base stats
	AuraEffectTriggerSpellOnHealthPct                                    // = 468 // Triggers spell when health goes above (MiscA = 0) or falls below (MiscA // 1) specified percent value (once not every time condition has meet)
	AuraEffectShowConfirmationPrompt_WITH_DIFFICULTY                     // 469
	AuraEffectModAuraTimeRateBySpellLabel                                // 470 // NYI
	AuraEffectModVersatility                                             // 471
	AuraEffect472                                                        // 472
	AuraEffectPreventDurabilityLoss_FROM_COMBAT                          // 473 // Prevents durability loss from dealing/taking damage
	AuraEffectReplaceItemBonusTree                                       // 474 // NYI
	AuraEffectAllowUsingGameobjectsWhileMounted                          // 475
	AuraEffectModCurrencyGainLooted                                      // 476
	AuraEffect477                                                        // 477
	AuraEffect478                                                        // 478
	AuraEffect479                                                        // 479
	AuraEffectModArtifactItemLevel                                       // 480
	AuraEffectConvertConsumedRune                                        // 481
	AuraEffect482                                                        // 482
	AuraEffectSuppressTransforms                                         // 483 // NYI
	AuraEffectAllowInterruptSpell                                        // 484 // NYI
	AuraEffectModMovementForceMagnitude                                  // 485
	AuraEffect486                                                        // 486
	AuraEffectCosmeticMounted                                            // 487
	AuraEffect488                                                        // 488
	AuraEffectModAlternativeDefaultLanguage                              // 489
	AuraEffect490                                                        // 490
	AuraEffect491                                                        // 491
	AuraEffect492                                                        // 492
	AuraEffect493                                                        // 493 // 1 spell 267116 - Animal Companion (modifies Call Pet)
	AuraEffectSetPowerPointCharge                                        // 494 // NYI
	AuraEffectTriggerSpellOnExpire                                       // 495
	AuraEffectAllowChangingEquipmentInTorghast                           // 496 // NYI
	AuraEffectModAnimaGain                                               // 497 // NYI
	AuraEffectCurrencyLossPctOnDeath                                     // 498 // NYI
	AuraEffectModRestedXpConsumption                                     // 499
	AuraEffectIgnoreSpellChargeCooldown                                  // 500 // NYI
	AuraEffectModCriticalDamageTakenFromCaster                           // 501
	AuraEffectModVersatility_DAMAGE_DONE_BENEFIT                         // 502 // NYI
	AuraEffectModVersatility_HEALING_DONE_BENEFIT                        // 503 // NYI
	AuraEffectModHealingTakenFromCaster                                  // 504
	AuraEffectModPlayerChoiceRerolls                                     // 505 // NYI
	AuraEffectDisableInertia                                             // 506
	AuraEffect507                                                        // 507
	AuraEffect508                                                        // 508
	AuraEffect509                                                        // 509
	AuraEffectModifiedRaidInstance                                       // 510 // Related to "Fated" raid affixes
	NumAuraEffects                                                       // 511
)

type Book

type Book struct {
	TalentSpec uint8

	Spells   []Page
	Cooldown []Cooldown
}

func (*Book) Encode

func (l *Book) Encode(build vsn.Build, out *packet.WorldPacket) error

type Cast

type Cast struct {
	Data
}

func (*Cast) Decode

func (c *Cast) Decode(build vsn.Build, packet *p.WorldPacket) (err error)

func (*Cast) Encode

func (c *Cast) Encode(build vsn.Build, packet p.WorldPacket) error

type CastFlags

type CastFlags uint64
const (
	None           CastFlags = 0x00000000
	PendingCast    CastFlags = 0x00000001 // 4.x NoCombatLog
	HasTrajectory  CastFlags = 0x00000002
	Unknown2       CastFlags = 0x00000004
	Unknown3       CastFlags = 0x00000008
	Unknown4       CastFlags = 0x00000010
	Projectile     CastFlags = 0x00000020
	Unknown5       CastFlags = 0x00000040
	Unknown6       CastFlags = 0x00000080
	Unknown7       CastFlags = 0x00000100
	Unknown8       CastFlags = 0x00000200
	Unknown9       CastFlags = 0x00000400
	PredictedPower CastFlags = 0x00000800
	Unknown10      CastFlags = 0x00001000
	Unknown11      CastFlags = 0x00002000
	Unknown12      CastFlags = 0x00004000
	Unknown13      CastFlags = 0x00008000
	Unknown14      CastFlags = 0x00010000
	AdjustMissile  CastFlags = 0x00020000 // 4.x
	NoGcd          CastFlags = 0x00040000
	VisualChain    CastFlags = 0x00080000 // 4.x
	Unknown18      CastFlags = 0x00100000
	RuneInfo       CastFlags = 0x00200000 // 4.x PredictedRunes
	Unknown19      CastFlags = 0x00400000
	Unknown20      CastFlags = 0x00800000
	Unknown21      CastFlags = 0x01000000
	Unknown22      CastFlags = 0x02000000
	Immunity       CastFlags = 0x04000000 // 4.x
	Unknown23      CastFlags = 0x08000000
	Unknown24      CastFlags = 0x10000000
	Unknown25      CastFlags = 0x20000000
	HealPrediction CastFlags = 0x40000000 // 4.x
	Unknown27      CastFlags = 0x80000000
)

type CastResult

type CastResult struct {
	CastID    byte
	SpellID   uint32
	Status    CastStatus
	CastCount byte
}

func (*CastResult) Encode

func (cr *CastResult) Encode(build vsn.Build, out *packet.WorldPacket) error

type CastStatus

type CastStatus uint8
const (
	Success                    CastStatus = 0
	AffectingCombat            CastStatus = 1
	AlreadyAtFullHealth        CastStatus = 2
	AlreadyAtFullMana          CastStatus = 3
	AlreadyAtFullPower         CastStatus = 4
	AlreadyBeingTamed          CastStatus = 5
	AlreadyHaveCharm           CastStatus = 6
	AlreadyHaveSummon          CastStatus = 7
	AlreadyOpen                CastStatus = 8
	AuraBounced                CastStatus = 9
	AutotrackInterrupted       CastStatus = 10
	BadImplicitTargets         CastStatus = 11
	BadTargets                 CastStatus = 12
	CantBeCharmed              CastStatus = 13
	CantBeDisenchanted         CastStatus = 14
	CantBeDisenchantedSkill    CastStatus = 15
	CantBeMilled               CastStatus = 16
	CantBeProspected           CastStatus = 17
	CantCastOnTapped           CastStatus = 18
	CantDuelWhileInvisible     CastStatus = 19
	CantDuelWhileStealthed     CastStatus = 20
	CantStealth                CastStatus = 21
	CasterAurastate            CastStatus = 22
	CasterDead                 CastStatus = 23
	Charmed                    CastStatus = 24
	ChestInUse                 CastStatus = 25
	Confused                   CastStatus = 26
	DontReport                 CastStatus = 27
	EquippedItem               CastStatus = 28
	EquippedItemClass          CastStatus = 29
	EquippedItemClassMainhand  CastStatus = 30
	EquippedItemClassOffhand   CastStatus = 31
	Error                      CastStatus = 32
	Fizzle                     CastStatus = 33
	Fleeing                    CastStatus = 34
	FoodLowlevel               CastStatus = 35
	Highlevel                  CastStatus = 36
	HungerSatiated             CastStatus = 37
	Immune                     CastStatus = 38
	IncorrectArea              CastStatus = 39
	Interrupted                CastStatus = 40
	InterruptedCombat          CastStatus = 41
	ItemAlreadyEnchanted       CastStatus = 42
	ItemGone                   CastStatus = 43
	ItemNotFound               CastStatus = 44
	ItemNotReady               CastStatus = 45
	LevelRequirement           CastStatus = 46
	LineOfSight                CastStatus = 47
	Lowlevel                   CastStatus = 48
	LowCastlevel               CastStatus = 49
	MainhandEmpty              CastStatus = 50
	Moving                     CastStatus = 51
	NeedAmmo                   CastStatus = 52
	NeedAmmoPouch              CastStatus = 53
	NeedExoticAmmo             CastStatus = 54
	NeedMoreItems              CastStatus = 55
	Nopath                     CastStatus = 56
	NotBehind                  CastStatus = 57
	NotFishable                CastStatus = 58
	NotFlying                  CastStatus = 59
	NotHere                    CastStatus = 60
	NotInfront                 CastStatus = 61
	NotInControl               CastStatus = 62
	NotKnown                   CastStatus = 63
	NotMounted                 CastStatus = 64
	NotOnTaxi                  CastStatus = 65
	NotOnTransport             CastStatus = 66
	NotReady                   CastStatus = 67
	NotShapeshift              CastStatus = 68
	NotStanding                CastStatus = 69
	NotTradeable               CastStatus = 70
	NotTrading                 CastStatus = 71
	NotUnsheathed              CastStatus = 72
	NotWhileGhost              CastStatus = 73
	NotWhileLooting            CastStatus = 74
	NoAmmo                     CastStatus = 75
	NoChargesRemain            CastStatus = 76
	NoChampion                 CastStatus = 77
	NoComboPoints              CastStatus = 78
	NoDueling                  CastStatus = 79
	NoEndurance                CastStatus = 80
	NoFish                     CastStatus = 81
	NoItemsWhileShapeshifted   CastStatus = 82
	NoMountsAllowed            CastStatus = 83
	NoPet                      CastStatus = 84
	NoPower                    CastStatus = 85
	NothingToDispel            CastStatus = 86
	NothingToSteal             CastStatus = 87
	OnlyAbovewater             CastStatus = 88
	OnlyDaytime                CastStatus = 89
	OnlyIndoors                CastStatus = 90
	OnlyMounted                CastStatus = 91
	OnlyNighttime              CastStatus = 92
	OnlyOutdoors               CastStatus = 93
	OnlyShapeshift             CastStatus = 94
	OnlyStealthed              CastStatus = 95
	OnlyUnderwater             CastStatus = 96
	OutOfRange                 CastStatus = 97
	Pacified                   CastStatus = 98
	Possessed                  CastStatus = 99
	Reagents                   CastStatus = 100
	RequiresArea               CastStatus = 101
	RequiresSpellFocus         CastStatus = 102
	Rooted                     CastStatus = 103
	Silenced                   CastStatus = 104
	SpellInProgress            CastStatus = 105
	SpellLearned               CastStatus = 106
	SpellUnavailable           CastStatus = 107
	Stunned                    CastStatus = 108
	TargetsDead                CastStatus = 109
	TargetAffectingCombat      CastStatus = 110
	TargetAurastate            CastStatus = 111
	TargetDueling              CastStatus = 112
	TargetEnemy                CastStatus = 113
	TargetEnraged              CastStatus = 114
	TargetFriendly             CastStatus = 115
	TargetInCombat             CastStatus = 116
	TargetIsPlayer             CastStatus = 117
	TargetIsPlayerControlled   CastStatus = 118
	TargetNotDead              CastStatus = 119
	TargetNotInParty           CastStatus = 120
	TargetNotLooted            CastStatus = 121
	TargetNotPlayer            CastStatus = 122
	TargetNoPockets            CastStatus = 123
	TargetNoWeapons            CastStatus = 124
	TargetNoRangedWeapons      CastStatus = 125
	TargetUnskinnable          CastStatus = 126
	ThirstSatiated             CastStatus = 127
	TooClose                   CastStatus = 128
	TooManyOfItem              CastStatus = 129
	TotemCategory              CastStatus = 130
	Totems                     CastStatus = 131
	TryAgain                   CastStatus = 132
	UnitNotBehind              CastStatus = 133
	UnitNotInfront             CastStatus = 134
	WrongPetFood               CastStatus = 135
	NotWhileFatigued           CastStatus = 136
	TargetNotInInstance        CastStatus = 137
	NotWhileTrading            CastStatus = 138
	TargetNotInRaid            CastStatus = 139
	TargetFreeforall           CastStatus = 140
	NoEdibleCorpses            CastStatus = 141
	OnlyBattlegrounds          CastStatus = 142
	TargetNotGhost             CastStatus = 143
	TransformUnusable          CastStatus = 144
	WrongWeather               CastStatus = 145
	DamageImmune               CastStatus = 146
	PreventedByMechanic        CastStatus = 147
	PlayTime                   CastStatus = 148
	Reputation                 CastStatus = 149
	MinSkill                   CastStatus = 150
	NotInArena                 CastStatus = 151
	NotOnShapeshift            CastStatus = 152
	NotOnStealthed             CastStatus = 153
	NotOnDamageImmune          CastStatus = 154
	NotOnMounted               CastStatus = 155
	TooShallow                 CastStatus = 156
	TargetNotInSanctuary       CastStatus = 157
	TargetIsTrivial            CastStatus = 158
	BmOrInvisgod               CastStatus = 159
	ExpertRidingRequirement    CastStatus = 160
	ArtisanRidingRequirement   CastStatus = 161
	NotIdle                    CastStatus = 162
	NotInactive                CastStatus = 163
	PartialPlaytime            CastStatus = 164
	NoPlaytime                 CastStatus = 165
	NotInBattleground          CastStatus = 166
	NotInRaidInstance          CastStatus = 167
	OnlyInArena                CastStatus = 168
	TargetLockedToRaidInstance CastStatus = 169
	OnUseEnchant               CastStatus = 170
	NotOnGround                CastStatus = 171
	CustomError                CastStatus = 172
	CantDoThatRightNow         CastStatus = 173
	TooManySockets             CastStatus = 174
	InvalidGlyph               CastStatus = 175
	UniqueGlyph                CastStatus = 176
	GlyphSocketLocked          CastStatus = 177
	NoValidTargets             CastStatus = 178
	ItemAtMaxCharges           CastStatus = 179
	NotInBarbershop            CastStatus = 180
	FishingTooLow              CastStatus = 181
	ItemEnchantTradeWindow     CastStatus = 182
	SummonPending              CastStatus = 183
	MaxSockets                 CastStatus = 184
	PetCanRename               CastStatus = 185
	TargetCannotBeResurrected  CastStatus = 186
	Unknown                    CastStatus = 187
)

type Cooldown

type Cooldown struct {
	Spell                uint32
	Item                 uint32
	Category             uint16
	RecoveryTime         uint32
	CategoryRecoveryTime uint32
}

func (*Cooldown) Encode

func (c *Cooldown) Encode(build vsn.Build, out *packet.WorldPacket) error

type CreatureImmunities

type CreatureImmunities struct {
	School uint32
	Value  uint32
}

func (*CreatureImmunities) Decode

func (ci *CreatureImmunities) Decode(build vsn.Build, in *packet.WorldPacket) error

func (*CreatureImmunities) Encode

func (ci *CreatureImmunities) Encode(build vsn.Build, out *packet.WorldPacket) error

type Data

type Data struct {
	GlyphIndex          int32
	Caster              guid.GUID
	Spell               uint32
	HitTargets          []guid.GUID
	TargetUnit          guid.GUID
	DestinationPosition tempest.C3Vector
	CastGUID            guid.GUID
	CastID              uint32
	Flags               CastFlags
	CastTime            uint64
	AmmoDisplayID       int32
	MissedTargets       []MissStatus
	TargetLocations     []TargetLocation
	AmmoInventoryType   uint32
	CastCount           uint32
	TargetFlags         TargetFlags
	Target              guid.GUID
	ItemTarget          guid.GUID

	SourceTransport      guid.GUID
	SourcePosition       tempest.C3Vector
	DestinationTransport guid.GUID
	TargetString         string
}

func (*Data) DecodeCastTargets

func (d *Data) DecodeCastTargets(build vsn.Build, in *packet.WorldPacket) (err error)

func (*Data) EncodeCastTargets

func (d *Data) EncodeCastTargets(build vsn.Build, out *packet.WorldPacket) error

type Effect

type Effect int
const (
	EffectNone                                 Effect = iota
	EffectInstaKill                                   //  1 SPELL_EFFECT_INSTAKILL
	EffectSchoolDMG                                   //  2 SPELL_EFFECT_SCHOOL_DAMAGE
	EffectDummy                                       //  3 SPELL_EFFECT_DUMMY
	EffectPortalTeleport                              //  4 SPELL_EFFECT_PORTAL_TELEPORT          unused
	Effect5                                           //  5 SPELL_EFFECT_5
	EffectApplyAura                                   //  6 SPELL_EFFECT_APPLY_AURA
	EffectEnvironmentalDMG                            //  7 SPELL_EFFECT_ENVIRONMENTAL_DAMAGE
	EffectPowerDrain                                  //  8 SPELL_EFFECT_POWER_DRAIN
	EffectHealthLeech                                 //  9 SPELL_EFFECT_HEALTH_LEECH
	EffectHeal                                        // 10 SPELL_EFFECT_HEAL
	EffectBind                                        // 11 SPELL_EFFECT_BIND
	EffectPortal                                      // 12 SPELL_EFFECT_PORTAL
	EffectTeleportToReturnPoint                       // 13 SPELL_EFFECT_TELEPORT_TO_RETURN_POINT
	EffectIncreaseCurrencyCap                         // 14 SPELL_EFFECT_INCREASE_CURRENCY_CAP
	EffectTeleportUnitsWithVisualLoadingScreen        // 15 SPELL_EFFECT_TELEPORT_WITH_SPELL_VISUAL_KIT_LOADING_SCREEN
	EffectQuestComplete                               // 16 SPELL_EFFECT_QUEST_COMPLETE
	EffectWeaponDamageNoSchool                        // 17 SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL
	EffectResurrect                                   // 18 SPELL_EFFECT_RESURRECT
	EffectAddExtraAttacks                             // 19 SPELL_EFFECT_ADD_EXTRA_ATTACKS
	EffectDodge                                       // 20 SPELL_EFFECT_DODGE                    one spell: Dodge
	EffectEvade                                       // 21 SPELL_EFFECT_EVADE                    one spell: Evade (DND)
	EffectParry                                       // 22 SPELL_EFFECT_PARRY
	EffectBlock                                       // 23 SPELL_EFFECT_BLOCK                    one spell: Block
	EffectCreateItem                                  // 24 SPELL_EFFECT_CREATE_ITEM
	EffectWeapon                                      // 25 SPELL_EFFECT_WEAPON
	EffectDefense                                     // 26 SPELL_EFFECT_DEFENSE                  one spell: Defense
	EffectPersistentAA                                // 27 SPELL_EFFECT_PERSISTENT_AREA_AURA
	EffectSummonType                                  // 28 SPELL_EFFECT_SUMMON
	EffectLeap                                        // 29 SPELL_EFFECT_LEAP
	EffectEnergize                                    // 30 SPELL_EFFECT_ENERGIZE
	EffectWeaponPercentDamage                         // 31 SPELL_EFFECT_WEAPON_PERCENT_DAMAGE
	EffectTriggerMissile                              // 32 SPELL_EFFECT_TRIGGER_MISSILE
	EffectOpenLock                                    // 33 SPELL_EFFECT_OPEN_LOCK
	EffectSummonChangeItem                            // 34 SPELL_EFFECT_SUMMON_CHANGE_ITEM
	EffectApplyAreaAuraParty                          // 35 SPELL_EFFECT_APPLY_AREA_AURA_PARTY
	EffectLearnSpell                                  // 36 SPELL_EFFECT_LEARN_SPELL
	EffectSpellDefense                                // 37 SPELL_EFFECT_SPELL_DEFENSE            one spell: SPELLDEFENSE (DND)
	EffectDispel                                      // 38 SPELL_EFFECT_DISPEL
	EffectLanguage                                    // 39 SPELL_EFFECT_LANGUAGE
	EffectDualWield                                   // 40 SPELL_EFFECT_DUAL_WIELD
	EffectJump                                        // 41 SPELL_EFFECT_JUMP
	EffectJumpDest                                    // 42 SPELL_EFFECT_JUMP_DEST
	EffectTeleUnitsFaceCaster                         // 43 SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER
	EffectLearnSkill                                  // 44 SPELL_EFFECT_SKILL_STEP
	EffectPlayMovie                                   // 45 SPELL_EFFECT_PLAY_MOVIE
	EffectSpawn                                       // 46 SPELL_EFFECT_SPAWN clientside unit appears as if it was just spawned
	EffectTradeSkill                                  // 47 SPELL_EFFECT_TRADE_SKILL
	EffectStealth                                     // 48 SPELL_EFFECT_STEALTH                  one spell: Base Stealth
	EffectDetect                                      // 49 SPELL_EFFECT_DETECT                   one spell: Detect
	EffectTransmitted                                 // 50 SPELL_EFFECT_TRANS_DOOR
	EffectForceCriticalHit                            // 51 SPELL_EFFECT_FORCE_CRITICAL_HIT       unused
	EffectSetMaxBattlePetCount                        // 52 SPELL_EFFECT_SET_MAX_BATTLE_PET_COUNT
	EffectEnchantItemPerm                             // 53 SPELL_EFFECT_ENCHANT_ITEM
	EffectEnchantItemTmp                              // 54 SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY
	EffectTameCreature                                // 55 SPELL_EFFECT_TAMECREATURE
	EffectSummonPet                                   // 56 SPELL_EFFECT_SUMMON_PET
	EffectLearnPetSpell                               // 57 SPELL_EFFECT_LEARN_PET_SPELL
	EffectWeaponDamage                                // 58 SPELL_EFFECT_WEAPON_DAMAGE
	EffectCreateRandomItem                            // 59 SPELL_EFFECT_CREATE_RANDOM_ITEM       create item base at spell specific loot
	EffectProficiency                                 // 60 SPELL_EFFECT_PROFICIENCY
	EffectSendEvent                                   // 61 SPELL_EFFECT_SEND_EVENT
	EffectPowerBurn                                   // 62 SPELL_EFFECT_POWER_BURN
	EffectThreat                                      // 63 SPELL_EFFECT_THREAT
	EffectTriggerSpell                                // 64 SPELL_EFFECT_TRIGGER_SPELL
	EffectApplyAreaAuraRaid                           // 65 SPELL_EFFECT_APPLY_AREA_AURA_RAID
	EffectRechargeItem                                // 66 SPELL_EFFECT_RECHARGE_ITEM
	EffectHealMaxHealth                               // 67 SPELL_EFFECT_HEAL_MAX_HEALTH
	EffectInterruptCast                               // 68 SPELL_EFFECT_INTERRUPT_CAST
	EffectDistract                                    // 69 SPELL_EFFECT_DISTRACT
	EffectCompleteAndRewardWorldQuest                 // 70 SPELL_EFFECT_COMPLETE_AND_REWARD_WORLD_QUEST
	EffectPickPocket                                  // 71 SPELL_EFFECT_PICKPOCKET
	EffectAddFarsight                                 // 72 SPELL_EFFECT_ADD_FARSIGHT
	EffectUntrainTalents                              // 73 SPELL_EFFECT_UNTRAIN_TALENTS
	EffectApplyGlyph                                  // 74 SPELL_EFFECT_APPLY_GLYPH
	EffectHealMechanical                              // 75 SPELL_EFFECT_HEAL_MECHANICAL          one spell: Mechanical Patch Kit
	EffectSummonObjectWild                            // 76 SPELL_EFFECT_SUMMON_OBJECT_WILD
	EffectScriptEffect                                // 77 SPELL_EFFECT_SCRIPT_EFFECT
	EffectAttack                                      // 78 SPELL_EFFECT_ATTACK
	EffectSanctuary                                   // 79 SPELL_EFFECT_SANCTUARY
	EffectModifyFollowerItemLevel                     // 80 SPELL_EFFECT_MODIFY_FOLLOWER_ITEM_LEVEL
	EffectPushAbilityToActionBar                      // 81 SPELL_EFFECT_PUSH_ABILITY_TO_ACTION_BAR
	EffectBindSight                                   // 82 SPELL_EFFECT_BIND_SIGHT
	EffectDuel                                        // 83 SPELL_EFFECT_DUEL
	EffectStuck                                       // 84 SPELL_EFFECT_STUCK
	EffectSummonPlayer                                // 85 SPELL_EFFECT_SUMMON_PLAYER
	EffectActivateObject                              // 86 SPELL_EFFECT_ACTIVATE_OBJECT
	EffectGameObjectDamage                            // 87 SPELL_EFFECT_GAMEOBJECT_DAMAGE
	EffectGameObjectRepair                            // 88 SPELL_EFFECT_GAMEOBJECT_REPAIR
	EffectGameObjectSetDestructionState               // 89 SPELL_EFFECT_GAMEOBJECT_SET_DESTRUCTION_STATE
	EffectKillCreditPersonal                          // 90 SPELL_EFFECT_KILL_CREDIT              Kill credit but only for single person
	EffectThreatAll                                   // 91 SPELL_EFFECT_THREAT_ALL
	EffectEnchantHeldItem                             // 92 SPELL_EFFECT_ENCHANT_HELD_ITEM
	EffectForceDeselect                               // 93 SPELL_EFFECT_FORCE_DESELECT
	EffectSelfResurrect                               // 94 SPELL_EFFECT_SELF_RESURRECT
	EffectSkinning                                    // 95 SPELL_EFFECT_SKINNING
	EffectCharge                                      // 96 SPELL_EFFECT_CHARGE
	EffectCastButtons                                 // 97 SPELL_EFFECT_CAST_BUTTON (totem bar since 3.2.2a)
	EffectKnockBack                                   // 98 SPELL_EFFECT_KNOCK_BACK
	EffectDisEnchant                                  // 99 SPELL_EFFECT_DISENCHANT
	EffectInebriate                                   //100 SPELL_EFFECT_INEBRIATE
	EffectFeedPet                                     //101 SPELL_EFFECT_FEED_PET
	EffectDismissPet                                  //102 SPELL_EFFECT_DISMISS_PET
	EffectReputation                                  //103 SPELL_EFFECT_REPUTATION
	EffectSummonObject                                //104 SPELL_EFFECT_SUMMON_OBJECT_SLOT1
	EffectSurvey                                      //105 SPELL_EFFECT_SURVEY
	EffectChangeRaidMarker                            //106 SPELL_EFFECT_CHANGE_RAID_MARKER
	EffectShowCorpseLoot                              //107 SPELL_EFFECT_SHOW_CORPSE_LOOT
	EffectDispelMechanic                              //108 SPELL_EFFECT_DISPEL_MECHANIC
	EffectResurrectPet                                //109 SPELL_EFFECT_RESURRECT_PET
	EffectDestroyAllTotems                            //110 SPELL_EFFECT_DESTROY_ALL_TOTEMS
	EffectDurabilityDamage                            //111 SPELL_EFFECT_DURABILITY_DAMAGE
	Effect112                                         //112 SPELL_EFFECT_112
	EffectCancelConversation                          //113 SPELL_EFFECT_CANCEL_CONVERSATION
	EffectTaunt                                       //114 SPELL_EFFECT_ATTACK_ME
	EffectDurabilityDamagePCT                         //115 SPELL_EFFECT_DURABILITY_DAMAGE_PCT
	EffectSkinPlayerCorpse                            //116 SPELL_EFFECT_SKIN_PLAYER_CORPSE       one spell: Remove Insignia bg usage required special corpse flags...
	EffectSpiritHeal                                  //117 SPELL_EFFECT_SPIRIT_HEAL              one spell: Spirit Heal
	EffectSkill                                       //118 SPELL_EFFECT_SKILL                    professions and more
	EffectApplyAreaAuraPet                            //119 SPELL_EFFECT_APPLY_AREA_AURA_PET
	EffectTeleportGraveyard                           //120 SPELL_EFFECT_TELEPORT_GRAVEYARD
	EffectWeaponDmg                                   //121 SPELL_EFFECT_NORMALIZED_WEAPON_DMG
	Effect122                                         //122 SPELL_EFFECT_122                      unused
	EffectSendTaxi                                    //123 SPELL_EFFECT_SEND_TAXI                taxi/flight related (misc value is taxi path id)
	EffectPullTowards                                 //124 SPELL_EFFECT_PULL_TOWARDS
	EffectModifyThreatPercent                         //125 SPELL_EFFECT_MODIFY_THREAT_PERCENT
	EffectStealBeneficialBuff                         //126 SPELL_EFFECT_STEAL_BENEFICIAL_BUFF    spell steal effect?
	EffectProspecting                                 //127 SPELL_EFFECT_PROSPECTING              Prospecting spell
	EffectApplyAreaAuraFriend                         //128 SPELL_EFFECT_APPLY_AREA_AURA_FRIEND
	EffectApplyAreaAuraEnemy                          //129 SPELL_EFFECT_APPLY_AREA_AURA_ENEMY
	EffectRedirectThreat                              //130 SPELL_EFFECT_REDIRECT_THREAT
	EffectPlaySound                                   //131 SPELL_EFFECT_PLAY_SOUND               sound id in misc value (SoundEntries.dbc)
	EffectPlayMusic                                   //132 SPELL_EFFECT_PLAY_MUSIC               sound id in misc value (SoundEntries.dbc)
	EffectUnlearnSpecialization                       //133 SPELL_EFFECT_UNLEARN_SPECIALIZATION   unlearn profession specialization
	EffectKillCredit                                  //134 SPELL_EFFECT_KILL_CREDIT              misc value is creature entry
	EffectCallPet                                     //135 SPELL_EFFECT_CALL_PET
	EffectHealPct                                     //136 SPELL_EFFECT_HEAL_PCT
	EffectEnergizePct                                 //137 SPELL_EFFECT_ENERGIZE_PCT
	EffectLeapBack                                    //138 SPELL_EFFECT_LEAP_BACK                Leap back
	EffectQuestClear                                  //139 SPELL_EFFECT_CLEAR_QUEST              Reset quest status (miscValue - quest ID)
	EffectForceCast                                   //140 SPELL_EFFECT_FORCE_CAST
	EffectForceCastWithValue                          //141 SPELL_EFFECT_FORCE_CAST_WITH_VALUE
	EffectTriggerSpellWithValue                       //142 SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE
	EffectApplyAreaAuraOwner                          //143 SPELL_EFFECT_APPLY_AREA_AURA_OWNER
	EffectKnockBackDest                               //144 SPELL_EFFECT_KNOCK_BACK_DEST
	EffectPullTowardsDest                             //145 SPELL_EFFECT_PULL_TOWARDS_DEST        Black Hole Effect
	EffectRestoreGarrisonTroopVitality                //146 SPELL_EFFECT_RESTORE_GARRISON_TROOP_VITALITY
	EffectQuestFail                                   //147 SPELL_EFFECT_QUEST_FAIL               quest fail
	EffectTriggerMissileSpell                         //148 SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE
	EffectChargeDest                                  //149 SPELL_EFFECT_CHARGE_DEST
	EffectQuestStart                                  //150 SPELL_EFFECT_QUEST_START
	EffectTriggerRitualOfSummoning                    //151 SPELL_EFFECT_TRIGGER_SPELL_2
	EffectSummonRaFFriend                             //152 SPELL_EFFECT_SUMMON_RAF_FRIEND        summon Refer-a-Friend
	EffectCreateTamedPet                              //153 SPELL_EFFECT_CREATE_TAMED_PET         misc value is creature entry
	EffectDiscoverTaxi                                //154 SPELL_EFFECT_DISCOVER_TAXI
	EffectTitanGrip                                   //155 SPELL_EFFECT_TITAN_GRIP Allows you to equip two-handed axes maces and swords in one hand but you attack $49152s1% slower than normal.
	EffectEnchantItemPrismatic                        //156 SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC
	EffectCreateItem2                                 //157 SPELL_EFFECT_CREATE_ITEM_2            create item or create item template and replace by some randon spell loot item
	EffectMilling                                     //158 SPELL_EFFECT_MILLING                  milling
	EffectRenamePet                                   //159 SPELL_EFFECT_ALLOW_RENAME_PET         allow rename pet once again
	EffectForceCast2                                  //160 SPELL_EFFECT_FORCE_CAST_2
	EffectTalentSpecCount                             //161 SPELL_EFFECT_TALENT_SPEC_COUNT        second talent spec (learn/revert)
	EffectActivateSpec                                //162 SPELL_EFFECT_TALENT_SPEC_SELECT       activate primary/secondary spec
	EffectObliterateItem                              //163 SPELL_EFFECT_OBLITERATE_ITEM
	EffectRemoveAura                                  //164 SPELL_EFFECT_REMOVE_AURA
	EffectDamageFromMaxHealthPCT                      //165 SPELL_EFFECT_DAMAGE_FROM_MAX_HEALTH_PCT
	EffectGiveCurrency                                //166 SPELL_EFFECT_GIVE_CURRENCY
	EffectUpdatePlayerPhase                           //167 SPELL_EFFECT_UPDATE_PLAYER_PHASE
	EffectAllowControlPet                             //168 SPELL_EFFECT_ALLOW_CONTROL_PET
	EffectDestroyItem                                 //169 SPELL_EFFECT_DESTROY_ITEM
	EffectUpdateZoneAurasAndPhases                    //170 SPELL_EFFECT_UPDATE_ZONE_AURAS_AND_PHASES
	EffectSummonPersonalGameObject                    //171 SPELL_EFFECT_SUMMON_PERSONAL_GAMEOBJECT
	EffectResurrectWithAura                           //172 SPELL_EFFECT_RESURRECT_WITH_AURA
	EffectUnlockGuildVaultTab                         //173 SPELL_EFFECT_UNLOCK_GUILD_VAULT_TAB
	EffectApplyAuraOnPet                              //174 SPELL_EFFECT_APPLY_AURA_ON_PET
	Effect175                                         //175 SPELL_EFFECT_175
	EffectSanctuary2                                  //176 SPELL_EFFECT_SANCTUARY_2
	EffectDespawnPersistentAreaAura                   //177 SPELL_EFFECT_DESPAWN_PERSISTENT_AREA_AURA
	Effect178                                         //178 SPELL_EFFECT_178 unused
	EffectCreateAreaTrigger                           //179 SPELL_EFFECT_CREATE_AREATRIGGER
	EffectUpdateAreaTrigger                           //180 SPELL_EFFECT_UPDATE_AREATRIGGER
	EffectRemoveTalent                                //181 SPELL_EFFECT_REMOVE_TALENT
	EffectDespawnAreaTrigger                          //182 SPELL_EFFECT_DESPAWN_AREATRIGGER
	Effect183                                         //183 SPELL_EFFECT_183
	EffectReputation2                                 //184 SPELL_EFFECT_REPUTATION
	Effect185                                         //185 SPELL_EFFECT_185
	Effect186                                         //186 SPELL_EFFECT_186
	EffectRandomizeArchaeologyDigsites                //187 SPELL_EFFECT_RANDOMIZE_ARCHAEOLOGY_DIGSITES
	EffectSummonStabledPetAsGuardian                  //188 SPELL_EFFECT_SUMMON_STABLED_PET_AS_GUARDIAN
	EffectLoot                                        //189 SPELL_EFFECT_LOOT
	EffectChangePartyMembers                          //190 SPELL_EFFECT_CHANGE_PARTY_MEMBERS
	EffectTeleportToDigsite                           //191 SPELL_EFFECT_TELEPORT_TO_DIGSITE
	EffectUncageBattlePet                             //192 SPELL_EFFECT_UNCAGE_BATTLEPET
	EffectStartPetBattle                              //193 SPELL_EFFECT_START_PET_BATTLE
	Effect194                                         //194 SPELL_EFFECT_194
	EffectPlaySceneScriptPackage                      //195 SPELL_EFFECT_PLAY_SCENE_SCRIPT_PACKAGE
	EffectCreateSceneObject                           //196 SPELL_EFFECT_CREATE_SCENE_OBJECT
	EffectCreatePrivateSceneObject                    //197 SPELL_EFFECT_CREATE_PERSONAL_SCENE_OBJECT
	EffectPlayScene                                   //198 SPELL_EFFECT_PLAY_SCENE
	EffectDespawnSummon                               //199 SPELL_EFFECT_DESPAWN_SUMMON
	EffectHealBattlePetPct                            //200 SPELL_EFFECT_HEAL_BATTLEPET_PCT
	EffectEnableBattlePets                            //201 SPELL_EFFECT_ENABLE_BATTLE_PETS
	EffectApplyAreaAuraSummons                        //202 SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS
	EffectRemoveAura2                                 //203 SPELL_EFFECT_REMOVE_AURA_2
	EffectChangeBattlePetQuality                      //204 SPELL_EFFECT_CHANGE_BATTLEPET_QUALITY
	EffectLaunchQuestChoice                           //205 SPELL_EFFECT_LAUNCH_QUEST_CHOICE
	EffectAlterItem                                   //206 SPELL_EFFECT_ALTER_ITEM
	EffectLaunchQuestTask                             //207 SPELL_EFFECT_LAUNCH_QUEST_TASK
	EffectSetReputation                               //208 SPELL_EFFECT_SET_REPUTATION
	Effect209                                         //209 SPELL_EFFECT_209
	EffectLearnGarrisonBuilding                       //210 SPELL_EFFECT_LEARN_GARRISON_BUILDING
	EffectLearnGarrisonSpecialization                 //211 SPELL_EFFECT_LEARN_GARRISON_SPECIALIZATION
	EffectRemoveAuraBySpellLabel                      //212 SPELL_EFFECT_REMOVE_AURA_BY_SPELL_LABEL
	EffectJumpDest2                                   //213 SPELL_EFFECT_JUMP_DEST_2
	EffectCreateGarrison                              //214 SPELL_EFFECT_CREATE_GARRISON
	EffectUpgradeCharacterSpells                      //215 SPELL_EFFECT_UPGRADE_CHARACTER_SPELLS
	EffectCreateShipment                              //216 SPELL_EFFECT_CREATE_SHIPMENT
	EffectUpgradeGarrison                             //217 SPELL_EFFECT_UPGRADE_GARRISON
	Effect218                                         //218 SPELL_EFFECT_218
	EffectCreateConversation                          //219 SPELL_EFFECT_CREATE_CONVERSATION
	EffectAddGarrisonFollower                         //220 SPELL_EFFECT_ADD_GARRISON_FOLLOWER
	EffectAddGarrisonMission                          //221 SPELL_EFFECT_ADD_GARRISON_MISSION
	EffectCreateHeirloomItem                          //222 SPELL_EFFECT_CREATE_HEIRLOOM_ITEM
	EffectChangeItemBonuses                           //223 SPELL_EFFECT_CHANGE_ITEM_BONUSES
	EffectActivateGarrisonBuilding                    //224 SPELL_EFFECT_ACTIVATE_GARRISON_BUILDING
	EffectGrantBattlePetLevel                         //225 SPELL_EFFECT_GRANT_BATTLEPET_LEVEL
	EffectTriggerActionSet                            //226 SPELL_EFFECT_TRIGGER_ACTION_SET
	EffectTeleportToLFGDungeon                        //227 SPELL_EFFECT_TELEPORT_TO_LFG_DUNGEON
	Effect228                                         //228 SPELL_EFFECT_228
	EffectSetFollowerQuality                          //229 SPELL_EFFECT_SET_FOLLOWER_QUALITY
	Effect230                                         //230 SPELL_EFFECT_230
	EffectIncreaseFollowerExperience                  //231 SPELL_EFFECT_INCREASE_FOLLOWER_EXPERIENCE
	EffectRemovePhase                                 //232 SPELL_EFFECT_REMOVE_PHASE
	EffectRandomizeFollowerAbilities                  //233 SPELL_EFFECT_RANDOMIZE_FOLLOWER_ABILITIES
	Effect234                                         //234 SPELL_EFFECT_234
	Effect235                                         //235 SPELL_EFFECT_235
	EffectGiveExperience                              //236 SPELL_EFFECT_GIVE_EXPERIENCE
	EffectGiveRestedExperienceBonus                   //237 SPELL_EFFECT_GIVE_RESTED_EXPERIENCE_BONUS
	EffectIncreaseSkill                               //238 SPELL_EFFECT_INCREASE_SKILL
	EffectEndGarrisonBuildingConstruction             //239 SPELL_EFFECT_END_GARRISON_BUILDING_CONSTRUCTION
	EffectGiveArtifactPower                           //240 SPELL_EFFECT_GIVE_ARTIFACT_POWER
	Effect241                                         //241 SPELL_EFFECT_241
	EffectGiveArtifactPowerNoBonus                    //242 SPELL_EFFECT_GIVE_ARTIFACT_POWER_NO_BONUS
	EffectApplyEnchantIllusion                        //243 SPELL_EFFECT_APPLY_ENCHANT_ILLUSION
	EffectLearnFollowerAbility                        //244 SPELL_EFFECT_LEARN_FOLLOWER_ABILITY
	EffectUpgradeHeirloom                             //245 SPELL_EFFECT_UPGRADE_HEIRLOOM
	EffectFinishGarrisonMission                       //246 SPELL_EFFECT_FINISH_GARRISON_MISSION
	EffectAddGarrisonMissionSet                       //247 SPELL_EFFECT_ADD_GARRISON_MISSION_SET
	EffectFinishShipment                              //248 SPELL_EFFECT_FINISH_SHIPMENT
	EffectForceEquipItem                              //249 SPELL_EFFECT_FORCE_EQUIP_ITEM
	EffectTakeScreenshot                              //250 SPELL_EFFECT_TAKE_SCREENSHOT
	EffectSetGarrisonCacheSize                        //251 SPELL_EFFECT_SET_GARRISON_CACHE_SIZE
	EffectTeleportUnits                               //252 SPELL_EFFECT_TELEPORT_UNITS
	EffectGiveHonor                                   //253 SPELL_EFFECT_GIVE_HONOR
	EffectJumpCharge                                  //254 SPELL_EFFECT_JUMP_CHARGE
	EffectLearnTransmogSet                            //255 SPELL_EFFECT_LEARN_TRANSMOG_SET
	Effect256                                         //256 SPELL_EFFECT_256
	Effect257                                         //257 SPELL_EFFECT_257
	EffectModifyKeystone                              //258 SPELL_EFFECT_MODIFY_KEYSTONE
	EffectRespecAzeriteEmpoweredItem                  //259 SPELL_EFFECT_RESPEC_AZERITE_EMPOWERED_ITEM
	EffectSummonStabledPet                            //260 SPELL_EFFECT_SUMMON_STABLED_PET
	EffectScrapItem                                   //261 SPELL_EFFECT_SCRAP_ITEM
	Effect262                                         //262 SPELL_EFFECT_262
	EffectRepairItem                                  //263 SPELL_EFFECT_REPAIR_ITEM
	EffectRemoveGem                                   //264 SPELL_EFFECT_REMOVE_GEM
	EffectLearnAzeriteEssencePower                    //265 SPELL_EFFECT_LEARN_AZERITE_ESSENCE_POWER
	EffectSetItemBonusListGroupEntry                  //266 SPELL_EFFECT_SET_ITEM_BONUS_LIST_GROUP_ENTRY
	EffectCreatePrivateConversation                   //267 SPELL_EFFECT_CREATE_PRIVATE_CONVERSATION
	EffectApplyMountEquipment                         //268 SPELL_EFFECT_APPLY_MOUNT_EQUIPMENT
	EffectIncreaseItemBonusListGroupStep              //269 SPELL_EFFECT_INCREASE_ITEM_BONUS_LIST_GROUP_STEP
	Effect270                                         //270 SPELL_EFFECT_270
	EffectApplyAreaAuraPartyNonRandom                 //271 SPELL_EFFECT_APPLY_AREA_AURA_PARTY_NONRANDOM
	EffectSetCovenant                                 //272 SPELL_EFFECT_SET_COVENANT
	EffectCraftRuneforgeLegendary                     //273 SPELL_EFFECT_CRAFT_RUNEFORGE_LEGENDARY
	Effect274                                         //274 SPELL_EFFECT_274
	Effect275                                         //275 SPELL_EFFECT_275
	EffectLearnTransmogIllusion                       //276 SPELL_EFFECT_LEARN_TRANSMOG_ILLUSION
	EffectSetChromieTime                              //277 SPELL_EFFECT_SET_CHROMIE_TIME
	Effect278                                         //278 SPELL_EFFECT_278
	EffectLearnGarrTalent                             //279 SPELL_EFFECT_LEARN_GARR_TALENT
	Effect280                                         //280 SPELL_EFFECT_280
	EffectLearnSoulbindConduit                        //281 SPELL_EFFECT_LEARN_SOULBIND_CONDUIT
	EffectConvertItemsToCurrency                      //282 SPELL_EFFECT_CONVERT_ITEMS_TO_CURRENCY
	EffectCompleteCampaign                            //283 SPELL_EFFECT_COMPLETE_CAMPAIGN
	EffectSendChatMessage                             //284 SPELL_EFFECT_SEND_CHAT_MESSAGE
	EffectModifyKeystone2                             //285 SPELL_EFFECT_MODIFY_KEYSTONE_2
	EffectGrantBattlePetExperience                    //286 SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE
	EffectSetGarrisonFollowerLevel                    //287 SPELL_EFFECT_SET_GARRISON_FOLLOWER_LEVEL
	Effect288                                         //288 SPELL_EFFECT_288
	Effect289                                         //289 SPELL_EFFECT_289
	NumEffects
)

type Go

type Go struct {
	Data

	Source guid.GUID

	ModifiedPowers []ModifiedPower
	RuneCooldown   uint32

	SpellRuneState  uint8
	PlayerRuneState uint8

	RuneCooldownPasses []byte

	Elevation float32
	DelayTime int32

	VisualChain []int32

	DestinationLocationCount uint8
}

func (*Go) Decode

func (g *Go) Decode(build vsn.Build, in *packet.WorldPacket) (err error)

func (*Go) Encode

func (g *Go) Encode(build vsn.Build, out *packet.WorldPacket) (err error)

type Learned

type Learned struct {
	Page
}

func (*Learned) Encode

func (l *Learned) Encode(build vsn.Build, out *packet.WorldPacket) error

type LogEffectApplication

type LogEffectApplication struct {
	Target           guid.GUID
	PowerTaken       uint32
	PowerType        uint32
	Multiplier       float32
	Amount           uint32
	InterruptedSpell uint32
	Item             uint32
	Slot             uint32
}

type LogExecute

type LogExecute struct {
	Caster  guid.GUID
	Spell   uint32
	Effects []LoggedEffect
}

func (*LogExecute) Encode

func (exe *LogExecute) Encode(build vsn.Build, out *packet.WorldPacket) error

type LoggedEffect

type LoggedEffect struct {
	Kind         Effect
	Applications []LogEffectApplication
}

func (*LoggedEffect) Encode

func (eff *LoggedEffect) Encode(build vsn.Build, out *packet.WorldPacket) error

type Miss

type Miss uint8

type MissStatus

type MissStatus struct {
	Target        guid.GUID
	Reason        Miss
	ReflectStatus uint8
}

func (*MissStatus) Decode

func (ms *MissStatus) Decode(build vsn.Build, in *packet.WorldPacket) (err error)

func (*MissStatus) Encode

func (ms *MissStatus) Encode(build vsn.Build, out *packet.WorldPacket) (err error)

type MissileTrajectoryResult

type MissileTrajectoryResult struct {
	TravelTime uint32
	Pitch      float32
}

func (*MissileTrajectoryResult) Decode

func (mt *MissileTrajectoryResult) Decode(build vsn.Build, in *packet.WorldPacket) error

func (*MissileTrajectoryResult) Encode

func (mtr *MissileTrajectoryResult) Encode(build vsn.Build, out *packet.WorldPacket) error

type ModifiedPower

type ModifiedPower struct {
	PowerType  uint32
	PowerValue uint32
}

func (*ModifiedPower) Decode

func (mp *ModifiedPower) Decode(build vsn.Build, in *packet.WorldPacket) error

func (*ModifiedPower) Encode

func (mp *ModifiedPower) Encode(build vsn.Build, out *packet.WorldPacket) error

type NewSlot

type NewSlot struct {
	Spell uint32
	Index int32
}

func (*NewSlot) Decode

func (ns *NewSlot) Decode(build vsn.Build, in *packet.WorldPacket) error

type Page

type Page struct {
	Spell uint32
	Flag  uint16
	Slot  uint16
}

func (*Page) Decode

func (p *Page) Decode(build vsn.Build, in *packet.WorldPacket) error

func (*Page) Encode

func (p *Page) Encode(build vsn.Build, out *packet.WorldPacket) error

type PlayVisual

type PlayVisual struct {
	ID             guid.GUID
	SpellVisualKit uint32
}

func (*PlayVisual) Encode

func (p *PlayVisual) Encode(build vsn.Build, out *packet.WorldPacket) error

type PowerType

type PowerType uint32

type RuneData

type RuneData struct {
	SpellState  uint8
	PlayerState uint8
	Cooldowns   []uint8
}

func (*RuneData) Decode

func (rd *RuneData) Decode(build vsn.Build, in *packet.WorldPacket) (err error)

func (*RuneData) Encode

func (rd *RuneData) Encode(build vsn.Build, out *packet.WorldPacket) (err error)

type SetActionButton

type SetActionButton struct {
	Slot uint32
	ActionButton
}

func (*SetActionButton) Decode

func (sab *SetActionButton) Decode(build vsn.Build, in *packet.WorldPacket) (err error)

func (*SetActionButton) Encode

func (sab *SetActionButton) Encode(build vsn.Build, out *packet.WorldPacket) error

type Start

type Start struct {
	Data

	Source guid.GUID

	ModifiedPowers []ModifiedPower
	RuneCooldown   uint32

	SpellRuneState  uint8
	PlayerRuneState uint8

	RuneCooldownPasses []byte

	Elevation float32
	DelayTime int32

	VisualChain []int32

	DestinationLocationCount uint8
}

func (*Start) Encode

func (s *Start) Encode(build vsn.Build, out *packet.WorldPacket) (err error)

type TargetData

type TargetData struct {
	Flags       TargetFlags
	Unit        guid.GUID
	Item        guid.GUID
	SrcLocation *TargetLocation
	DstLocation *TargetLocation
	Name        string
}

func (*TargetData) Decode

func (td *TargetData) Decode(build vsn.Build, in *packet.WorldPacket) error

func (*TargetData) Encode

func (td *TargetData) Encode(build vsn.Build, out *packet.WorldPacket) error

func (*TargetData) Flag

func (td *TargetData) Flag(mask TargetFlags) bool

type TargetFlags

type TargetFlags uint32
const (
	HasTargetMask TargetFlags = Unit | CorpseEnemy | GameObject | CorpseAlly | UnitMinipet
	HasItemTarget TargetFlags = Item | TradeItem
)
const (
	Self                TargetFlags = 0x00000000
	SpellDynamic1       TargetFlags = 0x00000001
	Unit                TargetFlags = 0x00000002
	UnitRaid            TargetFlags = 0x00000004
	UnitParty           TargetFlags = 0x00000008
	Item                TargetFlags = 0x00000010
	SourceLocation      TargetFlags = 0x00000020
	DestinationLocation TargetFlags = 0x00000040
	UnitEnemy           TargetFlags = 0x00000080
	UnitAlly            TargetFlags = 0x00000100
	CorpseEnemy         TargetFlags = 0x00000200
	UnitDead            TargetFlags = 0x00000400
	GameObject          TargetFlags = 0x00000800
	TradeItem           TargetFlags = 0x00001000
	NameString          TargetFlags = 0x00002000
	GameObjectItem      TargetFlags = 0x00004000
	CorpseAlly          TargetFlags = 0x00008000
	UnitMinipet         TargetFlags = 0x00010000
	Glyph               TargetFlags = 0x00020000
	DestinationTarget   TargetFlags = 0x00040000
	ExtraTargets        TargetFlags = 0x00080000 // 4.x VisualChain
	UnitPassenger       TargetFlags = 0x00100000
	Unk400000           TargetFlags = 0x00400000
	Unk1000000          TargetFlags = 0x01000000
	Unk4000000          TargetFlags = 0x04000000
	Unk10000000         TargetFlags = 0x10000000
	Unk40000000         TargetFlags = 0x40000000
)

type TargetLocation

type TargetLocation struct {
	Transport guid.GUID
	Location  tempest.C3Vector
}

func (*TargetLocation) Decode

func (t *TargetLocation) Decode(build vsn.Build, in *packet.WorldPacket) error

func (*TargetLocation) Encode

func (t *TargetLocation) Encode(build vsn.Build, out *packet.WorldPacket) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL