63 absorbAmount = std::min(
limit, absorbAmount);
258 TC_LOG_ERROR(
"spells",
"Aura {} structure has been changed - first aura is no longer SPELL_AURA_MOD_POWER_REGEN",
GetId());
483 if (caster->HealthBelowPct(35))
532 for (
uint8 i = 0; i < stacks; ++i)
569 if (
Item* item = target->GetItemByGuid(auraOnGuard->GetCastItemGUID()))
570 target->DestroyItemCount(item->GetEntry(), 1,
true);
641 rider->CastSpell(target, spellId,
false);
649 for (Unit::AuraApplicationMap::const_iterator itr = auras.begin(); itr != auras.end(); ++itr)
651 if (
Aura* aura = itr->second->GetBase())
653 SpellInfo const* auraInfo = aura->GetSpellInfo();
659 if (
Aura* defend = rider->GetAura(aura->GetId()))
846 int32 basepoints0 = 100;
1097 damage = createdBySpell->GetEffect(
EFFECT_1).CalcValue();
1165 switch (spellInfo->
Id)
1190 uint8 gender = player->GetNativeGender();
1380 if (
Unit* rider = vehicle->GetSummonerUnit())
1381 rider->RemoveAurasDueToSpell(
GetId());
1415 target->DespawnOrUnsummon();
1454 target->DespawnOrUnsummon();
1534 float verticalSpeed = 8.0f;
1537 player->KnockbackFrom(target->GetPositionX(), player->GetPositionY(), horizontalSpeed, verticalSpeed);
1566 instance->UpdateEncounterStateForSpellCast(
GetSpellInfo()->Id, caster);
1599 return levelDiff <= 9;
1606 std::list<Creature*> minionList;
1608 for (
Creature* minion : minionList)
1610 if (minion->IsAIEnabled())
1813 creature->InitializeReactState();
1846 creature->InitializeReactState();
1878 creature->InitializeReactState();
1938 target->ModifyMoney(5000 *
GOLD);
2018 amount +=
int32(std::max(healTick, 0));
2115 if (target->CanHaveThreatList())
2116 target->GetThreatManager().ModifyThreatByPercent(
GetCaster(), -100);
2377 target->GetZoneAndAreaId(zoneid, areaid);
2401 if (
_mount310 && target->Has310Flyer(
false))
2414 target->CastSpell(target, mount,
true);
2512 vehicle->CastSpell(target, spellId,
false);
2521 for (Unit::AuraApplicationMap::const_iterator itr = auras.begin(); itr != auras.end(); ++itr)
2523 if (
Aura* aura = itr->second->GetBase())
2525 SpellInfo const* auraInfo = aura->GetSpellInfo();
2531 if (
Aura* defend = rider->GetAura(aura->GetId()))
2564 rider->CastSpell(
GetHitUnit(), spellId,
false);
2621 for (
uint8 i = 0; i < 5; ++i)
2643 for (
uint8 i = 0; i < 5; ++i)
2864 uint8 gender = target->GetNativeGender();
2959 if (!damageInfo || !damageInfo->
GetDamage())
3014 if (target->IsFalling())
3049 Pet* newPet =
new Pet(player, newPetType);
3132 for (
int i = 0; i < 2; ++i)
3134 caster->
LearnSpell(discoveredSpellId,
false);
3137 caster->
LearnSpell(discoveredSpellId,
false);
3320 if (caster->InArena())
3323 targets.push_back(caster);
3330 uint8 const maxTargets = 10;
3332 if (targets.size() > maxTargets)
3335 targets.resize(maxTargets);
3458 data << target->GetGUID();
3485 if (
GetCaster()->IsInDisallowedMountForm())
3574 if (!caster->GetVehicleBase())
3575 caster->RemoveAurasDueToSpell(
GetId());
3622template <u
int32 TriggeredSpellId>
3685 int32 removeCount = 0;
3726 for (
uint8 i = 0; i < 5; ++i)
3728 if (player->HasItemCount(itemId[i], 1,
true))
3762 if (!damageInfo || !damageInfo->
GetDamage())
3802 baseItemLevel = 205;
3806 baseItemLevel = 170;
3811 if (avgILvl < baseItemLevel)
3814 amount =
uint16((avgILvl - baseItemLevel) * factor);
3903 if (
Player* target = casterSummon->GetSummonerUnit()->
ToPlayer())
3940 if (
Player* player = targetSummon->GetSummonerUnit()->
ToPlayer())
3941 targetSummon->AI()->Talk(
_text, player);
3976 vehicle->RemoveAllPassengers();
4001 passenger->ExitVehicle();
4025 if (
Unit* passenger = vehicle->GetPassenger(
_seatId))
4026 passenger->ExitVehicle();
4057 player->CombatStop();
4058 if (player->IsNonMeleeSpellCast(
true))
4059 player->InterruptNonMeleeSpells(
true);
4065 if (
Pet* pet = player->GetPet())
4082 player->SetFactionForRace(player->GetRace());
4389 TC_LOG_ERROR(
"spells",
"SpellId {} couldn't be processed in spell_gen_mixology_bonus",
GetId());
4440 target->RemoveOwnedAuras([](
Aura const* aura)
4534 std::list<Creature*> targets;
4539 if (!targets.empty())
4592 std::list<Creature*> targets;
4597 if (!targets.empty())
4684 owner->SendDirectMessage(&data);
DBCStorage< FactionEntry > sFactionStore(FactionEntryfmt)
#define TC_LOG_ERROR(filterType__,...)
@ EQUIPMENT_SLOT_MAINHAND
#define INVENTORY_SLOT_BAG_0
int32 irand(int32 min, int32 max)
uint32 urand(uint32 min, uint32 max)
bool roll_chance_f(float chance)
bool roll_chance_i(int chance)
#define RegisterSpellAndAuraScriptPair(script_1, script_2)
#define RegisterSpellScript(spell_script)
#define RegisterSpellScriptWithArgs(spell_script, script_name,...)
@ GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING
#define EFFECT_FIRST_FOUND
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_SCHOOL_DAMAGE
@ SPELL_EFFECT_GAMEOBJECT_DAMAGE
@ TARGET_UNIT_CASTER_AREA_RAID
@ EMOTE_ONESHOT_EXCLAMATION
SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask)
@ SPELLFAMILY_DEATHKNIGHT
@ SPELL_CUSTOM_ERROR_NOTHING_TO_DISCOVER
@ SPELL_CUSTOM_ERROR_MUST_HAVE_LANCE_EQUIPPED
@ SPELL_FAILED_CUSTOM_ERROR
@ SPELL_FAILED_DONT_REPORT
@ SPELL_FAILED_TARGET_AURASTATE
@ SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW
@ SPELL_FAILED_NO_EDIBLE_CORPSES
uint32 GetExplicitDiscoverySpell(uint32 spellId, Player *player)
bool HasDiscoveredAllSpells(uint32 spellId, Player *player)
bool HasDiscoveredAnySpell(uint32 spellId, Player *player)
@ AURA_REMOVE_BY_ENEMY_SPELL
@ AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK
@ AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_MOD_SHAPESHIFT
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_MOD_POWER_REGEN
@ SPELL_AURA_PERIODIC_HEAL
@ SPELL_AURA_PERIODIC_DAMAGE_PERCENT
@ SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN
@ SPELL_AURA_MOD_HEALING_PCT
@ SPELL_AURA_MOD_MANA_REGEN_INTERRUPT
@ SPELL_AURA_MOD_DAMAGE_PERCENT_DONE
@ SPELL_AURA_MOD_DECREASE_SPEED
@ SPELL_AURA_PERIODIC_ENERGIZE
@ SPELL_AURA_PERIODIC_DUMMY
@ SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ SPELL_AURA_MOD_INCREASE_HEALTH_PERCENT
@ TRIGGERED_FULL_MASK
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
@ SPELL_COOLDOWN_FLAG_NONE
@ PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS
@ PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG
@ PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG
#define SpellCheckCastFn(F)
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define AuraEffectCalcAmountFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectUpdatePeriodicFn(F, I, N)
#define SpellDestinationTargetSelectFn(F, I, N)
#define AuraEffectAbsorbFn(F, I)
#define AuraEffectCalcPeriodicFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraCheckProcFn(F)
#define AuraCheckAreaTargetFn(F)
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_STAND_STATE_SUBMERGED
@ UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT
@ UNIT_FLAG_NON_ATTACKABLE
T CalculatePct(T base, U pct)
void ChangeAmount(int32 newAmount, bool mark=true, bool onStackOrReapply=false)
uint32 GetTickNumber() const
SpellEffIndex GetEffIndex() const
SpellEffectInfo const & GetSpellEffectInfo() const
void SetPeriodic(bool isPeriodic)
uint32 GetTotalTicks() const
void PreventDefaultAction()
void SetMaxDuration(int32 duration)
HookList< EffectCalcPeriodicHandler > DoEffectCalcPeriodic
AuraApplication const * GetTargetApplication() const
int32 GetDuration() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
SpellInfo const * GetSpellInfo() const
HookList< EffectApplyHandler > AfterEffectApply
int32 GetMaxDuration() const
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
HookList< EffectUpdatePeriodicHandler > OnEffectUpdatePeriodic
void SetDuration(int32 duration, bool withMods=false)
SpellEffectInfo const & GetEffectInfo(SpellEffIndex effIndex) const
HookList< EffectAbsorbHandler > OnEffectAbsorb
HookList< CheckAreaTargetHandler > DoCheckAreaTarget
ObjectGuid GetCasterGUID() const
HookList< CheckProcHandler > DoCheckProc
HookList< EffectApplyHandler > OnEffectRemove
void Remove(AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
HookList< EffectProcHandler > OnEffectProc
Unit * GetUnitOwner() const
HookList< AuraProcHandler > OnProc
uint8 GetStackAmount() const
HookList< EffectApplyHandler > OnEffectApply
bool ModStackAmount(int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
AuraEffect * GetEffect(uint8 effIndex) const
uint8 GetStackAmount() const
SpellInfo const * GetSpellInfo() const
bool operator()(Unit *u) const
CorruptingPlagueSearcher(Unit *obj, float distance)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
SpellInfo const * GetSpellInfo() const
ObjectGuid GetOwnerGUID() const override
ZLiquidStatus GetLiquidStatus(uint32 phaseMask, float x, float y, float z, Optional< uint8 > ReqLiquidType, LiquidData *data=nullptr, float collisionHeight=2.03128f) const
static ObjectGuid const Empty
virtual void RemoveDynamicFlag(uint32 flag)
static Creature * ToCreature(Object *o)
static Unit * ToUnit(Object *o)
uint32 GetUInt32Value(uint16 index) const
virtual void SetDynamicFlag(uint32 flag)
void SetEntry(uint32 entry)
static Player * ToPlayer(Object *o)
void setDeathState(DeathState s) override
bool LoadPetFromDB(Player *owner, uint32 petEntry, uint32 petnumber, bool current)
void LearnSpell(uint32 spell_id, bool dependent, uint32 fromSkill=0)
void SendDirectMessage(WorldPacket const *data) const
bool HasAchieved(uint32 achievementId) const
uint32 GetLastPetNumber() const
float GetAverageItemLevel() const
ReputationMgr & GetReputationMgr()
SpellSchoolMask GetSchoolMask() const
Unit * GetActionTarget() const
uint32 GetTypeMask() const
SpellInfo const * GetSpellInfo() const
DamageInfo * GetDamageInfo() const
bool operator()(WorldObject *obj) const
int32 GetReputation(uint32 faction_id) const
bool SetReputation(FactionEntry const *factionEntry, int32 standing)
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr) const
void ResetCooldown(uint32 spellId, bool update=false)
bool HasCooldown(SpellInfo const *spellInfo, uint32 itemId=0, bool ignoreCategoryCooldown=false) const
void BuildCooldownPacket(WorldPacket &data, uint8 flags, uint32 spellId, uint32 cooldown) const
float GetMaxRange(bool positive=false, WorldObject *caster=nullptr, Spell *spell=nullptr) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
bool HasEffect(SpellEffects effect) const
SpellCastResult CheckLocation(uint32 map_id, uint32 zone_id, uint32 area_id, Player const *player=nullptr, bool strict=true) const
HookList< CastHandler > AfterCast
HookList< CheckCastHandler > OnCheckCast
Creature * GetHitCreature() const
Player * GetHitPlayer() const
void SetEffectValue(int32 value)
int32 GetHitDamage() const
HookList< HitHandler > AfterHit
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
HookList< HitHandler > OnHit
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Unit * GetHitUnit() const
int32 GetEffectValue() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
Item * GetCastItem() const
HookList< CastHandler > OnCast
Aura * GetHitAura(bool dynObjAura=false) const
void SetCustomCastResultMessage(SpellCustomErrors result)
HookList< EffectHandler > OnEffectLaunchTarget
void SetHitDamage(int32 damage)
void CreateItem(uint32 itemId)
GameObject * GetGObjCaster() const
Unit * GetExplTargetUnit() const
SpellInfo const * GetSpellInfo() const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
Unit * GetOriginalCaster() const
GameObject * GetHitGObj() const
StasisFieldSearcher(Unit *obj, float distance)
bool operator()(Unit *u) const
void ModifyThreatByPercent(Unit *target, int32 percent)
int32 ModifyPower(Powers power, int32 val, bool withPowerUpdate=true)
void RemoveOwnedAura(AuraMap::iterator &i, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAurasByType(AuraType auraType, std::function< bool(AuraApplication const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
ThreatManager & GetThreatManager()
float GetCollisionHeight() const override
std::multimap< uint32, AuraApplication * > AuraApplicationMap
Unit * GetCharmer() const
MotionMaster * GetMotionMaster()
Powers GetPowerType() const
void SetUnitFlag2(UnitFlags2 flags)
int32 HealBySpell(HealInfo &healInfo, bool critical=false)
void SetHealth(uint32 val)
TempSummon * ToTempSummon()
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetVirtualItem(uint32 slot, uint32 itemId)
void Mount(uint32 mount, uint32 vehicleId=0, uint32 creatureEntry=0)
bool IsCharmedOwnedByPlayerOrPlayer() const
uint32 GetVirtualItemId(uint32 slot) const
uint32 GetMaxPower(Powers power) const
void SetPower(Powers power, uint32 val, bool withPowerUpdate=true, bool force=false)
void RemoveUnitFlag2(UnitFlags2 flags)
void SetFullPower(Powers power)
float GetSpeedRate(UnitMoveType mtype) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void SetSpeedRate(UnitMoveType mtype, float rate)
void EnergizeBySpell(Unit *victim, uint32 spellId, int32 damage, Powers powerType)
DeathState getDeathState() const
void HandleEmoteCommand(Emote emoteId)
uint32 CountPctFromMaxHealth(int32 pct) const
void SetStandState(UnitStandStateType state)
SpellHistory * GetSpellHistory()
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
void SetUnitFlag(UnitFlags flags)
AuraApplicationMap & GetAppliedAuras()
void RemoveMovementImpairingAuras(bool withRoot)
void GetAllMinionsByEntry(std::list< Creature * > &Minions, uint32 entry)
void RemoveUnitFlag(UnitFlags flags)
uint32 GetPhaseMask() const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
float GetDistance2d(WorldObject const *obj) const
Player * GetCharmerOrOwnerPlayerOrPlayerItself() const
float GetDistance(WorldObject const *obj) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
bool Validate(SpellInfo const *) override
void OnPeriodic(AuraEffect const *)
PrepareAuraScript(spell_corrupting_plague_aura)
bool Validate(SpellInfo const *) override
void HandleScriptEffect(SpellEffIndex)
PrepareSpellScript(spell_ethereal_pet_aura_remove)
PrepareAuraScript(spell_ethereal_pet_aura)
bool CheckProc(ProcEventInfo &eventInfo)
void HandleProc(AuraEffect const *, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_ethereal_pet_onsummon)
void HandleScriptEffect(SpellEffIndex)
void HandleDamage(SpellEffIndex)
PrepareSpellScript(spell_freezing_circle)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_5000_gold)
PrepareAuraScript(spell_gen_absorb0_hitlimit1)
void Absorb(AuraEffect *, DamageInfo &, uint32 &absorbAmount)
PrepareAuraScript(spell_gen_adaptive_warding)
bool CheckProc(ProcEventInfo &eventInfo)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_allow_cast_from_item_only)
SpellCastResult CheckRequirement()
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_animal_blood)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void CalcAmount(AuraEffect const *, int32 &amount, bool &)
bool Validate(SpellInfo const *spellInfo) override
void CalcPeriodic(AuraEffect const *, bool &isPeriodic, int32 &)
PrepareAuraScript(spell_gen_arena_drink)
void UpdatePeriodic(AuraEffect *aurEff)
bool Validate(SpellInfo const *spellInfo) override
PrepareAuraScript(spell_gen_aura_of_fear)
void PeriodicTick(AuraEffect const *aurEff)
bool CheckAreaTarget(Unit *target)
PrepareAuraScript(spell_gen_av_drekthar_presence)
bool Validate(SpellInfo const *) override
SpellCastResult CheckCast()
PrepareSpellScript(spell_gen_bandage)
bool CheckProc(ProcEventInfo &eventInfo)
PrepareAuraScript(spell_gen_black_magic)
PrepareAuraScript(spell_gen_blade_warding)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareAuraScript(spell_gen_blood_reserve)
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_bonked)
void HandleScriptEffect(SpellEffIndex effIndex)
PrepareSpellScript(spell_gen_break_shield)
void HandleApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *spellInfo) override
PrepareAuraScript(spell_gen_burning_depths_necrolyte_image)
void HandleRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareSpellScript(spell_gen_cancel_aura)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_cannibalize)
SpellCastResult CheckIfCorpseNear()
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_cannon_blast)
PrepareSpellScript(spell_gen_cast_caster_to_target)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_cast_target_to_target)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
PrepareAuraScript(spell_gen_chains_of_ice)
void UpdatePeriodic(AuraEffect *aurEff)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_chaos_blast)
PrepareSpellScript(spell_gen_charmed_unit_spell_cooldown)
void HandleChoke(AuraEffect const *)
PrepareAuraScript(spell_gen_choking_vines)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_clear_debuffs)
PrepareSpellScript(spell_gen_clear_fear_poly)
PrepareAuraScript(spell_gen_clone_weapon_aura)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_clone_weapon)
void HandleScriptEffect(SpellEffIndex effIndex)
void HandleScriptEffect(SpellEffIndex effIndex)
PrepareSpellScript(spell_gen_clone)
void HandleDamageCalc(SpellEffIndex)
PrepareSpellScript(spell_gen_consumption)
spell_gen_count_pct_from_max_hp(int32 damagePct=0)
PrepareSpellScript(spell_gen_count_pct_from_max_hp)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_gen_create_lance)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_dalaran_disguise)
bool Validate(SpellInfo const *spellInfo) override
bool Validate(SpellInfo const *) override
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_damage_reduction_aura)
spell_gen_decay_over_time_aura()=default
bool CheckProc(ProcEventInfo &eventInfo)
PrepareAuraScript(spell_gen_decay_over_time_aura)
void Decay(ProcEventInfo &)
void ModDuration(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_decay_over_time_fungal_decay)
PrepareSpellScript(spell_gen_decay_over_time_spell)
PrepareAuraScript(spell_gen_decay_over_time_tail_sting)
void RemoveDummyFromDriver(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_defend)
void RemoveVisualShields(AuraEffect const *, AuraEffectHandleModes)
void RefreshVisualShields(AuraEffect const *aurEff, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_despawn_aura)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_despawn_self)
PrepareSpellScript(spell_gen_despawn_target)
void HandleDespawn(SpellEffIndex)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_divine_storm_cd_reset)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_dreaming_glory)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_ds_flush_knockback)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_dungeon_credit)
void RemoveVehicleAuras()
PrepareSpellScript(spell_gen_eject_all_passengers)
spell_gen_eject_passenger_with_seatId(uint8 seatId)
PrepareSpellScript(spell_gen_eject_passenger_with_seatId)
void EjectPassenger(SpellEffIndex)
void EjectPassenger(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
PrepareSpellScript(spell_gen_eject_passenger)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_feast)
PrepareAuraScript(spell_gen_feign_death_all_flags)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_feign_death_no_dyn_flag)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_feign_death_no_prevent_emotes)
void AfterApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_furious_rage)
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareSpellScript(spell_gen_gadgetzan_transporter_backfire)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void CalculateAmount(AuraEffect const *aurEff, int32 &amount, bool &)
PrepareAuraScript(spell_gen_gift_of_naaru)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_gm_freeze)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_gnomish_transporter)
void HandleEffectPeriodic(AuraEffect const *)
PrepareAuraScript(spell_gen_gryphon_wyvern_mount_check)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_hate_to_50)
PrepareSpellScript(spell_gen_hate_to_75)
void HandleDummy(SpellEffIndex)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_hate_to_zero_caster_target)
PrepareSpellScript(spell_gen_hate_to_zero)
void HandleDummy(SpellEffIndex)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_injured)
spell_gen_knock_away_threat_reduction(int32 threatPercent)
PrepareSpellScript(spell_gen_knock_away_threat_reduction)
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_landmine_knockback_achievement)
void CalculateAmount(AuraEffect const *aurEff, int32 &amount, bool &)
PrepareAuraScript(spell_gen_lifeblood_aura)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_lifeblood)
bool Validate(SpellInfo const *) override
spell_gen_lifebloom(uint32 spellId)
PrepareAuraScript(spell_gen_lifebloom)
void AfterRemove(AuraEffect const *aurEff, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_mixology_bonus)
void SetBonusValueForEffect(SpellEffIndex effIndex, int32 value, AuraEffect const *aurEff)
bool Validate(SpellInfo const *) override
void CalculateAmount(AuraEffect const *aurEff, int32 &amount, bool &)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_moss_covered_feet)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareSpellScript(spell_gen_mount)
void HandleMount(SpellEffIndex effIndex)
spell_gen_mount(uint32 mount0=0, uint32 mount60=0, uint32 mount100=0, uint32 mount150=0, uint32 mount280=0, uint32 mount310=0)
bool Validate(SpellInfo const *) override
void HandleScriptEffect(SpellEffIndex effIndex)
void HandleChargeEffect(SpellEffIndex)
PrepareSpellScript(spell_gen_mounted_charge)
void HandleScript(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_netherbloom)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_nightmare_vine)
void HandleScript(SpellEffIndex effIndex)
PrepareAuraScript(spell_gen_nitrous_boost)
void PeriodicTick(AuraEffect const *)
bool CheckProc(ProcEventInfo &eventInfo)
void OnProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_obsidian_armor)
void DisablePeriodic(AuraEffect *aurEff)
PrepareAuraScript(spell_gen_one_tick_dummy)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_oracle_wolvar_reputation)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_orc_disguise)
void HandleEffectPeriodic(AuraEffect const *)
PrepareAuraScript(spell_gen_parachute)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_paralytic_poison)
bool Validate(SpellInfo const *) override
void HandleStun(AuraEffect const *aurEff, AuraEffectHandleModes)
PrepareSpellScript(spell_gen_pet_summoned)
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_pet_wait)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_player_say)
PrepareAuraScript(spell_gen_pony_mount_check)
void HandleEffectPeriodic(AuraEffect const *)
PrepareAuraScript(spell_gen_prevent_emotes)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_proc_below_pct_damaged)
bool CheckProc(ProcEventInfo &eventInfo)
void HandleChargeDrop(ProcEventInfo &)
PrepareAuraScript(spell_gen_proc_charge_drop_only)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_profession_research)
SpellCastResult CheckRequirement()
PrepareSpellScript(spell_gen_remove_flight_auras)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_remove_impairing_auras)
void HandleScriptEffect(SpellEffIndex)
PrepareAuraScript(spell_gen_remove_on_full_health_pct)
void PeriodicTick(AuraEffect const *)
void PeriodicTick(AuraEffect const *aurEff)
PrepareAuraScript(spell_gen_remove_on_full_health)
PrepareAuraScript(spell_gen_remove_on_health_pct)
void PeriodicTick(AuraEffect const *)
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
PrepareAuraScript(spell_gen_replenishment_aura)
void RemoveInvalidTargets(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_gen_replenishment)
PrepareAuraScript(spell_gen_restoration)
void PeriodicTick(AuraEffect const *)
PrepareSpellScript(spell_gen_revive_self)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void AchievementCredit(SpellEffIndex)
PrepareSpellScript(spell_gen_seaforium_blast)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_spectator_cheer_trigger)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_spirit_healer_res)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_stand)
PrepareSpellScript(spell_gen_submerged)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_summon_tournament_mount)
SpellCastResult CheckIfLanceEquiped()
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_teleporting)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gen_throw_shield)
void HandleScriptEffect(SpellEffIndex effIndex)
void HandleScriptEffect(SpellEffIndex)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gen_tournament_duel)
PrepareAuraScript(spell_gen_tournament_pennant)
void HandleApplyEffect(AuraEffect const *, AuraEffectHandleModes)
std::list< uint32 > _applyTimes
void OnApply(AuraEffect const *aurEff, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_turkey_marker)
void OnPeriodic(AuraEffect const *)
PrepareSpellScript(spell_gen_upper_deck_create_foam_sword)
void HandleScript(SpellEffIndex)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_vampiric_touch)
PrepareAuraScript(spell_gen_vehicle_control_link)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_vehicle_scaling)
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_vendor_bark_trigger)
SpellCastResult CheckCast()
PrepareSpellScript(spell_gen_wg_water)
void HandleEffectPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_gen_whisper_gulch_yogg_saron_whisper)
void HandleScript(SpellEffIndex)
spell_gen_whisper_to_controller_random(uint32 text)
PrepareSpellScript(spell_gen_whisper_to_controller_random)
PrepareSpellScript(spell_gen_whisper_to_controller)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_gen_zero_mana_full_health)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_pvp_trinket_wotf_shared_cd)
PrepareSpellScript(spell_spawn_blood_pool)
void SetDest(SpellDestination &dest)
PrepareAuraScript(spell_stasis_field_aura)
void OnPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
void HandleRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_steal_essence_visual)
@ SMSG_SPIRIT_HEALER_CONFIRM
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
@ SPELL_GEN_BLADE_WARDING_TRIGGERED
@ SPELL_BIG_BLIZZARD_BEAR_100
@ SPELL_CELESTIAL_STEED_280
@ SPELL_BIG_LOVE_ROCKET_0
@ SPELL_HEADLESS_HORSEMAN_MOUNT_60
@ SPELL_BIG_LOVE_ROCKET_60
@ SPELL_HEADLESS_HORSEMAN_MOUNT_280
@ SPELL_BIG_BLIZZARD_BEAR_60
@ SPELL_CELESTIAL_STEED_150
@ SPELL_CELESTIAL_STEED_60
@ SPELL_BIG_LOVE_ROCKET_100
@ SPELL_BLAZING_HIPPOGRYPH_150
@ SPELL_BIG_LOVE_ROCKET_150
@ SPELL_BLAZING_HIPPOGRYPH_280
@ SPELL_CELESTIAL_STEED_100
@ SPELL_CELESTIAL_STEED_310
@ SPELL_X53_TOURING_ROCKET_150
@ SPELL_HEADLESS_HORSEMAN_MOUNT_150
@ SPELL_X53_TOURING_ROCKET_280
@ SPELL_COLD_WEATHER_FLYING
@ SPELL_HEADLESS_HORSEMAN_MOUNT_100
@ SPELL_X53_TOURING_ROCKET_310
@ SPELL_BIG_LOVE_ROCKET_310
@ SPELL_VAMPIRIC_TOUCH_HEAL
@ SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT
PvPTrinketTriggeredSpells
@ SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER
@ SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER_WOTF
@ SPELL_SIEGE_TANK_CONTROL
@ SPELL_INFINITE_REPLENISHMENT
@ SPELL_TRANSPORTER_EVIL_TWIN
@ SPELL_TRANSPORTER_MALFUNCTION_MISS
@ SPELL_TRANSPORTER_MALFUNCTION_POLYMORPH
@ SPELL_FREEZING_CIRCLE_PIT_OF_SARON_HEROIC
@ SPELL_FREEZING_CIRCLE_PIT_OF_SARON_NORMAL
@ SPELL_ELIXIR_OF_MIGHTY_FORTITUDE
@ SPELL_FLASK_OF_THE_FROST_WYRM
@ SPELL_ELIXIR_OF_GREATER_FIREPOWER
@ SPELL_MIGHTY_TROLLS_BLOOD_ELIXIR
@ SPELL_WEAK_TROLLS_BLOOD_ELIXIR
@ SPELL_ELIXIR_OF_DEADLY_STRIKES
@ SPELL_ELIXIR_OF_MAJOR_MAGEBLOOD
@ SPELL_ELIXIR_OF_OGRES_STRENGTH
@ SPELL_SHADOWPOWER_ELIXIR
@ SPELL_LESSER_FLASK_OF_RESISTANCE
@ SPELL_ELIXIR_OF_GREATER_DEFENSE
@ SPELL_FLASK_OF_BLINDING_LIGHT
@ SPELL_FLASK_OF_STONEBLOOD
@ SPELL_ELIXIR_OF_MAJOR_DEFENSE
@ SPELL_ELIXIR_OF_DEFENSE
@ SPELL_LESSER_FLASK_OF_TOUGHNESS
@ SPELL_ELIXIR_OF_MAJOR_STRENGTH
@ SPELL_ELIXIR_OF_MINOR_FORTITUDE
@ SPELL_ELIXIR_OF_FORTITUDE
@ SPELL_ELIXIR_OF_AGILITY
@ SPELL_ELIXIR_OF_SUPERIOR_DEFENSE
@ SPELL_FLASK_OF_SUPREME_POWER
@ SPELL_FLASK_OF_FORTIFICATION
@ SPELL_ELIXIR_OF_DRAENIC_WISDOM
@ SPELL_ELIXIR_OF_HEALING_POWER
@ SPELL_ELIXIR_OF_MIGHTY_STRENGTH
@ SPELL_ELIXIR_OF_MIGHTY_MAGEBLOOD
@ SPELL_ELIXIR_OF_MAJOR_FROST_POWER
@ SPELL_ELIXIR_OF_FIREPOWER
@ SPELL_ELIXIR_OF_PROTECTION
@ SPELL_FLASK_OF_CHROMATIC_RESISTANCE
@ SPELL_ELIXIR_OF_MAJOR_AGILITY
@ SPELL_FLASK_OF_RELENTLESS_ASSAULT
@ SPELL_ELIXIR_OF_MIGHTY_DEFENSE
@ SPELL_ELIXIR_OF_GREATER_AGILITY
@ SPELL_FLASK_OF_THE_TITANS
@ SPELL_STRONG_TROLLS_BLOOD_ELIXIR
@ SPELL_FLASK_OF_PURE_MOJO
@ SPELL_ELIXIR_OF_LIGHTNING_SPEED
@ SPELL_FLASK_OF_PURE_DEATH
@ SPELL_ELIXIR_OF_LESSER_AGILITY
@ SPELL_FLASK_OF_ENDLESS_RAGE
@ SPELL_ELIXIR_OF_MIGHTY_TOUGHTS
@ SPELL_ELIXIR_OF_SHADOW_POWER
@ SPELL_ELIXIR_OF_GREATER_INTELLECT
@ SPELL_FLASK_OF_MIGHTY_RESTORATION
@ SPELL_ELIXIR_OF_IRONSKIN
@ SPELL_ELIXIR_OF_GIANTH_GROWTH
@ SPELL_ELIXIR_OF_MINOR_AGILITY
@ SPELL_ELIXIR_OF_MINOR_DEFENSE
@ SPELL_ELIXIR_OF_ARMOR_PIERCING
@ SPELL_FEL_STRENGTH_ELIXIR
@ SPELL_ELIXIR_OF_DEMONSLAYING
@ SPELL_ELIXIR_OF_MINOR_ACCURACY
@ SPELL_ELIXIR_OF_EXPERTISE
@ SPELL_ELIXIR_OF_MAJOR_SHADOW_POWER
@ SPELL_ELIXIR_OF_MIGHTY_AGILITY
@ SPELL_ELIXIR_OF_MAJOR_FIREPOWER
@ SPELL_MAJOR_TROLLS_BLLOOD_ELIXIR
@ SPELL_ELIXIR_OF_LIONS_STRENGTH
@ SPELL_ELIXIR_OF_MAJOR_FORTITUDE
@ SPELL_ELIXIR_OF_FROST_POWER
@ SPELL_FLASK_OF_DISTILLED_WISDOM
@ SPELL_ELIXIR_OF_MASTERY
@ SPELL_ELIXIR_OF_THE_MONGOOSE
@ SPELL_ELIXIR_OF_ACCURACY
@ SPELL_FLASK_OF_CHROMATIC_WONDER
@ SPELL_ELIXIR_OF_BRUTE_FORCE
@ SPELL_ELIXIR_OF_EMPOWERMENT
@ SPELL_GREATER_ARCANE_ELIXIR
@ SPELL_BOUNTIFUL_FEAST_FOOD
@ SPELL_FISH_FEAST_REFRESHMENT
@ SPELL_BOUNTIFUL_FEAST_REFRESHMENT
@ SPELL_GREAT_FEAST_REFRESHMENT
@ SPELL_SMALL_FEAST_REFRESHMENT
@ SPELL_GIGANTIC_FEAST_REFRESHMENT
@ SPELL_BOUNTIFUL_FEAST_DRINK
@ SPELL_PROC_TRIGGER_ON_KILL_AURA
@ SPELL_ETHEREAL_PET_AURA
@ NPC_ETHEREAL_SOUL_TRADER
@ SPELL_STEAL_ESSENCE_VISUAL
@ SPELL_SUNREAVER_DISGUISE_MALE
@ SPELL_SUNREAVER_DISGUISE_TRIGGER
@ SPELL_SILVER_COVENANT_DISGUISE_FEMALE
@ SPELL_SILVER_COVENANT_DISGUISE_MALE
@ SPELL_SUNREAVER_DISGUISE_FEMALE
@ SPELL_SILVER_COVENANT_DISGUISE_TRIGGER
@ SPELL_TELEPORT_SPIRE_UP
@ SPELL_TELEPORT_SPIRE_DOWN
@ AREA_VIOLET_CITADEL_SPIRE
@ SPELL_GEN_BLOOD_RESERVE_AURA
@ SPELL_GEN_BLOOD_RESERVE_HEAL
@ SPELL_CANNON_BLAST_DAMAGE
@ SPELL_CHARGE_CHARGING_EFFECT_8K5
@ SPELL_CHARGE_CHARGING_EFFECT_20K_2
@ SPELL_CHARGE_TRIGGER_FACTION_MOUNTS
@ SPELL_CHARGE_TRIGGER_TRIAL_CHAMPION
@ SPELL_CHARGE_DAMAGE_45K
@ SPELL_CHARGE_MISS_EFFECT
@ SPELL_CHARGE_CHARGING_EFFECT_20K_1
@ SPELL_CHARGE_DAMAGE_8K5
@ SPELL_CHARGE_CHARGING_EFFECT_45K_1
@ SPELL_CHARGE_DAMAGE_20K
@ SPELL_CHARGE_CHARGING_EFFECT_45K_2
@ SPELL_RECENTLY_BANDAGED
WhisperGulchYoggSaronWhisper
@ SPELL_YOGG_SARON_WHISPER_DUMMY
@ SPELL_GEN_ADAPTIVE_WARDING_ARCANE
@ SPELL_GEN_ADAPTIVE_WARDING_FIRE
@ SPELL_GEN_ADAPTIVE_WARDING_NATURE
@ SPELL_GEN_ADAPTIVE_WARDING_FROST
@ SPELL_GEN_ADAPTIVE_WARDING_SHADOW
@ SPELL_ORC_DISGUISE_FEMALE
@ SPELL_ORC_DISGUISE_MALE
@ SPELL_ORC_DISGUISE_TRIGGER
@ SPELL_NORTHREND_INSCRIPTION_RESEARCH
@ SPELL_TRANSPORTER_FAILURE
@ SPELL_TRANSPORTER_SUCCESS
@ SPELL_NETHERBLOOM_POLLEN_1
@ SPELL_GEN_OBSIDIAN_ARMOR_HOLY
@ SPELL_GEN_OBSIDIAN_ARMOR_FIRE
@ SPELL_GEN_OBSIDIAN_ARMOR_ARCANE
@ SPELL_GEN_OBSIDIAN_ARMOR_FROST
@ SPELL_GEN_OBSIDIAN_ARMOR_SHADOW
@ SPELL_GEN_OBSIDIAN_ARMOR_NATURE
@ NPC_AMPHITHEATER_VENDOR
@ SAY_AMPHITHEATER_VENDOR
LandmineKnockbackAchievement
@ SPELL_LANDMINE_KNOCKBACK_ACHIEVEMENT
@ SPELL_COPY_OFFHAND_2_AURA
@ SPELL_COPY_WEAPON_3_AURA
@ SPELL_COPY_OFFHAND_AURA
@ SPELL_COPY_WEAPON_2_AURA
@ SPELLICON_DRUID_INFECTED_WOUNDS
@ SPELL_BLESSING_OF_SANCTUARY
@ SPELL_DAMAGE_REDUCTION_AURA
@ SPELL_GREATER_BLESSING_OF_SANCTUARY
@ SPELL_CORRUPTING_PLAGUE
static Emote const EmoteArray[]
@ SPELL_CREATE_LANCE_ALLIANCE
@ SPELL_CREATE_LANCE_HORDE
void AddSC_generic_spell_scripts()
@ SPELL_FACTION_CHAMPIONS_DRU_LIFEBLOOM_FINAL_HEAL
@ SPELL_CENARION_SCOUT_LIFEBLOOM_FINAL_HEAL
@ SPELL_TUR_RAGEPAW_LIFEBLOOM_FINAL_HEAL
@ SPELL_HEXLORD_MALACRASS_LIFEBLOOM_FINAL_HEAL
@ SPELL_TWISTED_VISAGE_LIFEBLOOM_FINAL_HEAL
@ SPELL_FOAM_SWORD_DEFEAT
@ SPELL_CANNIBALIZE_TRIGGERED
@ SPELL_GROW_FLOWER_PATCH
@ SPELL_BREAK_SHIELD_DAMAGE_10K
@ SPELL_BREAK_SHIELD_TRIGGER_FACTION_MOUNTS
@ SPELL_BREAK_SHIELD_TRIGGER_UNK
@ SPELL_BREAK_SHIELD_DAMAGE_2K
@ SPELL_BREAK_SHIELD_TRIGGER_CAMPAING_WARHORSE
@ SPELL_ON_TOURNAMENT_MOUNT
static void VisitGridObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
static void VisitWorldObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
float GetPositionZ() const
float GetPositionX() const
void GetPosition(float &x, float &y) const
float GetPositionY() const
void Relocate(Position const &pos)