64 absorbAmount = std::min(
limit, absorbAmount);
248 TC_LOG_ERROR(
"spells",
"Aura {} structure has been changed - first aura is no longer SPELL_AURA_MOD_POWER_REGEN",
GetId());
413 inline static std::unordered_map<Races, OtherFactionRacePriorityList>
const RaceInfo =
442 inline static std::unordered_map<Races, std::array<uint32, 2>>
const RaceDisplayIds =
476 for (
Races race : *otherRaces)
477 if (
sObjectMgr->GetPlayerInfo(race, playerClass))
486 return (*displayIds)[gender];
493 for (
auto const& [race, otherRaces] :
RaceInfo)
498 for (
Races otherRace : otherRaces)
508 for (
uint32 displayId : displayIds)
554 if (std::vector<SkillLineAbilityEntry const*>
const* skillLineAbilities =
sDB2Manager.GetSkillLineAbilitiesBySkill(racialSkillId))
587 if (caster->HealthBelowPct(35))
632 if (
Item* item = target->GetItemByGuid(auraOnGuard->GetCastItemGUID()))
633 target->DestroyItemCount(item->GetEntry(), 1,
true);
707 rider->CastSpell(target, spellId,
false);
715 for (Unit::AuraApplicationMap::const_iterator itr = auras.begin(); itr != auras.end(); ++itr)
717 if (
Aura* aura = itr->second->GetBase())
719 if (aura->GetId() == 62552 || aura->GetId() == 62719 || aura->GetId() == 64100 || aura->GetId() == 66482)
724 if (
Aura* defend = rider->GetAura(aura->GetId()))
844 int32 basepoints0 = 100;
1061 damage = createdBySpell->GetEffect(
EFFECT_1).CalcValue();
1122 switch (spellInfo->
Id)
1147 uint8 gender = player->GetNativeGender();
1285 if (
Unit* rider = vehicle->GetSummonerUnit())
1286 rider->RemoveAurasDueToSpell(
GetId());
1322 target->DespawnOrUnsummon();
1357 target->DespawnOrUnsummon();
1405 float verticalSpeed = 8.0f;
1408 player->KnockbackFrom(target->GetPosition(), horizontalSpeed, verticalSpeed);
1439 return levelDiff <= 9;
1446 std::list<TempSummon*> minionList;
1448 for (
Creature* minion : minionList)
1450 if (minion->IsAIEnabled())
1644 creature->InitializeReactState();
1679 creature->InitializeReactState();
1710 creature->InitializeReactState();
1740 creature->InitializeReactState();
1796 target->ModifyMoney(5000 *
GOLD);
1992 if (target->CanHaveThreatList())
1993 target->GetThreatManager().ModifyThreatByPercent(
GetCaster(), -100);
2196 vehicle->CastSpell(target, spellId,
false);
2205 for (Unit::AuraApplicationMap::const_iterator itr = auras.begin(); itr != auras.end(); ++itr)
2207 if (
Aura* aura = itr->second->GetBase())
2209 if (aura->GetId() == 62552 || aura->GetId() == 62719 || aura->GetId() == 64100 || aura->GetId() == 66482)
2214 if (
Aura* defend = rider->GetAura(aura->GetId()))
2249 rider->CastSpell(
GetHitUnit(), spellId,
false);
2302 for (
uint8 i = 0; i < 5; ++i)
2324 for (
uint8 i = 0; i < 5; ++i)
2523 uint8 gender = target->GetNativeGender();
2610 if (!damageInfo || !damageInfo->
GetDamage())
2661 if (target->IsFalling())
2694 Pet* newPet =
new Pet(player, newPetType);
2773 for (
int i = 0; i < 2; ++i)
2775 caster->
LearnSpell(discoveredSpellId,
false);
2778 caster->
LearnSpell(discoveredSpellId,
false);
2981 if (caster->InArena())
2984 targets.push_back(caster);
2991 uint8 const maxTargets = 10;
2993 if (targets.size() > maxTargets)
2996 targets.resize(maxTargets);
3098 if (std::distance(alteredFormAuras.begin(), alteredFormAuras.end()) > 1)
3197 spiritHealerConfirm.
Npc = target->GetGUID();
3199 spiritHealerConfirm.
Success =
true;
3224 if (
GetCaster()->IsInDisallowedMountForm())
3307 if (!caster->GetVehicleBase())
3308 caster->RemoveAurasDueToSpell(
GetId());
3392template <u
int32 TriggeredSpellId>
3452 int32 removeCount = 0;
3491 for (
uint8 i = 0; i < 5; ++i)
3493 if (player->HasItemCount(itemId[i], 1,
true))
3525 if (!damageInfo || !damageInfo->
GetDamage())
3563 baseItemLevel = 205;
3567 baseItemLevel = 170;
3572 if (avgILvl < baseItemLevel)
3575 amount =
uint16((avgILvl - baseItemLevel) * factor);
3656 if (
Player* target = casterSummon->GetSummonerUnit()->
ToPlayer())
3691 if (
Player* player = targetSummon->GetSummonerUnit()->
ToPlayer())
3692 targetSummon->AI()->Talk(
_text, player);
3708 vehicle->RemoveAllPassengers();
3733 passenger->ExitVehicle();
3755 if (
Unit* passenger = vehicle->GetPassenger(
_seatId))
3756 passenger->ExitVehicle();
3785 player->CombatStop();
3786 if (player->IsNonMeleeSpellCast(
true))
3787 player->InterruptNonMeleeSpells(
true);
3793 if (
Pet* pet = player->GetPet())
3810 player->SetFactionForRace(player->GetRace());
4113 TC_LOG_ERROR(
"spells",
"SpellId {} couldn't be processed in spell_gen_mixology_bonus",
GetId());
4160 target->RemoveOwnedAuras([](
Aura const* aura)
4250 std::list<Creature*> targets;
4255 if (!targets.empty())
4306 std::list<Creature*> targets;
4311 if (!targets.empty())
4376 if (!spellInfo->GetEffects().empty())
4395 spellCooldown.
Caster = owner->GetGUID();
4398 owner->SendDirectMessage(spellCooldown.
Write());
4456 target->SetHealth(target->CountPctFromMaxHealth(25));
4679 :
Loc(mapId, x, y, z, o),
AreaId(areaId) { }
4754 if (
sObjectMgr->GetCreatureTemplate(creatureId))
4764 summon->SetImmuneToAll(
true);
4796 if (remainingCooldown > SpellHistory::Duration::zero())
4798 if (remainingCooldown < expectedCooldown)
4820 creature->SetHomePosition(creature->GetPositionX(), creature->GetPositionY(), creature->GetPositionZ(), creature->GetOrientation());
4835 uint32 mountDisplayId = 0;
4849 if (summoner->
IsFlying() && summonedData->FlyingMountDisplayID)
4850 mountDisplayId = *summonedData->FlyingMountDisplayID;
4851 else if (summonedData->GroundMountDisplayID)
4852 mountDisplayId = *summonedData->GroundMountDisplayID;
4895 caster->
CastSpell(caster, spellId,
true);
4913 for (
uint8 i = 2; i < 8; i++)
4916 passenger->ExitVehicle();
5012 auto getSkinningLearningSpellBySkill = [&]() ->
uint32
5014 switch (skinningSkill)
5032 if (!player->
HasSkill(skinningSkill))
5033 if (
uint32 spellId = getSkinningLearningSpellBySkill())
5034 player->
CastSpell(
nullptr, spellId,
true);
5120 targets.remove_if([caster](
WorldObject* target) ->
bool
5123 return !playerTarget->CanAcceptAreaSpiritHealFrom(caster);
5250 bonusSpellId = spellId;
5258 bonusSpellId = spellId;
5262 bonusSpellId = spellId;
5270 return healingIncreaseEffect->GetAmount();
5344 if (targets.empty())
@ SPELL_SPIRIT_HEAL_CHANNEL_AOE
DB2Storage< SkillLineEntry > sSkillLineStore("SkillLine.db2", &SkillLineLoadInfo::Instance)
DB2Storage< SummonPropertiesEntry > sSummonPropertiesStore("SummonProperties.db2", &SummonPropertiesLoadInfo::Instance)
DB2Storage< BroadcastTextEntry > sBroadcastTextStore("BroadcastText.db2", &BroadcastTextLoadInfo::Instance)
DB2Storage< ChrRacesEntry > sChrRacesStore("ChrRaces.db2", &ChrRacesLoadInfo::Instance)
DB2Storage< CreatureDisplayInfoEntry > sCreatureDisplayInfoStore("CreatureDisplayInfo.db2", &CreatureDisplayInfoLoadInfo::Instance)
DB2Storage< ContentTuningEntry > sContentTuningStore("ContentTuning.db2", &ContentTuningLoadInfo::Instance)
DB2Storage< MountCapabilityEntry > sMountCapabilityStore("MountCapability.db2", &MountCapabilityLoadInfo::Instance)
DB2Storage< FactionEntry > sFactionStore("Faction.db2", &FactionLoadInfo::Instance)
@ RacialForThePurposeOfTemporaryRaceChange
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
@ ITEM_SUBCLASS_WEAPON_FISHING_POLE
#define TC_LOG_ERROR(filterType__,...)
@ EQUIPMENT_SLOT_MAINHAND
#define INVENTORY_SLOT_BAG_0
@ RACE_LIGHTFORGED_DRAENEI
@ RACE_HIGHMOUNTAIN_TAUREN
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,...)
#define EFFECT_FIRST_FOUND
@ GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING
@ TARGET_UNIT_DEST_AREA_ALLY
@ TARGET_UNIT_SRC_AREA_ENEMY
@ TARGET_UNIT_CASTER_AREA_RAID
@ EMOTE_ONESHOT_EXCLAMATION
SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_SCHOOL_DAMAGE
@ SPELL_EFFECT_GAMEOBJECT_DAMAGE
@ SPELL_EFFECT_APPLY_AURA
@ SPELL_CUSTOM_ERROR_NOTHING_TO_DISCOVER
@ SPELL_CUSTOM_ERROR_MUST_HAVE_LANCE_EQUIPPED
@ SPELL_CUSTOM_ERROR_CANT_TRANSFORM
@ SPELL_FAILED_CUSTOM_ERROR
@ SPELL_FAILED_DONT_REPORT
@ SPELL_FAILED_TARGET_AURASTATE
@ SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW
@ SPELL_FAILED_NO_EDIBLE_CORPSES
@ WS_WAR_MODE_HORDE_BUFF_VALUE
@ WS_WAR_MODE_ALLIANCE_BUFF_VALUE
@ SKILL_DRAGON_ISLES_SKINNING
@ SKILL_CATACLYSM_SKINNING
@ SKILL_KUL_TIRAN_SKINNING
@ SKILL_PANDARIA_SKINNING
@ SKILL_SHADOWLANDS_SKINNING
@ SKILL_NORTHREND_SKINNING
uint32 GetExplicitDiscoverySpell(uint32 spellId, Player *player)
bool HasDiscoveredAllSpells(uint32 spellId, Player *player)
bool HasDiscoveredAnySpell(uint32 spellId, Player *player)
@ AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK
@ AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK
@ AURA_EFFECT_HANDLE_REAL
@ AURA_REMOVE_BY_ENEMY_SPELL
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_MOD_SHAPESHIFT
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_MOD_POWER_REGEN
@ SPELL_AURA_WORGEN_ALTERED_FORM
@ SPELL_AURA_MOD_XP_QUEST_PCT
@ SPELL_AURA_PERIODIC_HEAL
@ SPELL_AURA_PERIODIC_DAMAGE_PERCENT
@ SPELL_AURA_MOD_HEALING_PCT
@ SPELL_AURA_MOD_MANA_REGEN_INTERRUPT
@ SPELL_AURA_MOD_DAMAGE_PERCENT_DONE
@ SPELL_AURA_MOD_ANIMA_GAIN
@ SPELL_AURA_MOD_MONEY_GAIN
@ SPELL_AURA_MOD_DECREASE_SPEED
@ SPELL_AURA_PERIODIC_ENERGIZE
@ SPELL_AURA_PERIODIC_DUMMY
@ SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED
@ SPELL_AURA_MOD_CURRENCY_GAIN_FROM_SOURCE
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ SPELL_AURA_MOD_INCREASE_HEALTH_PERCENT
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
@ SPELL_COOLDOWN_FLAG_NONE
@ TARGET_OBJECT_TYPE_CORPSE_ENEMY
#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 AuraCheckEffectProcFn(F, I, N)
#define AuraEffectUpdatePeriodicFn(F, I, N)
#define AuraEffectCalcHealingFn(F, I, N)
#define SpellCalcDamageFn(F)
#define SpellDestinationTargetSelectFn(F, I, N)
#define AuraEffectAbsorbFn(F, I)
#define AuraEffectCalcPeriodicFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraCheckProcFn(F)
#define SpellCalcHealingFn(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
#define DISPLAYID_HIDDEN_MOUNT
T CalculatePct(T base, U pct)
uint32 GetTickNumber() const
SpellEffIndex GetEffIndex() const
SpellEffectInfo const & GetSpellEffectInfo() const
void ChangeAmount(int32 newAmount, bool mark=true, bool onStackOrReapply=false, AuraEffect const *triggeredBy=nullptr)
void SetPeriodic(bool isPeriodic)
uint32 GetTotalTicks() const
HookList< EffectCalcDamageAndHealingHandler > DoEffectCalcDamageAndHealing
void PreventDefaultAction()
void SetMaxDuration(int32 duration)
HookList< EffectCalcPeriodicHandler > DoEffectCalcPeriodic
AuraApplication const * GetTargetApplication() const
int32 GetDuration() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< CheckEffectProcHandler > DoCheckEffectProc
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(uint32 index) const
uint8 GetStackAmount() const
SpellInfo const * GetSpellInfo() const
bool IsBattlePetSystemEnabled()
bool operator()(Unit *u) const
CorruptingPlagueSearcher(Unit *obj, float distance)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void AddEventAtOffset(BasicEvent *event, Milliseconds offset)
ObjectGuid GetOwnerGUID() const override
ItemTemplate const * GetTemplate() const
ZLiquidStatus GetLiquidStatus(PhaseShift const &phaseShift, float x, float y, float z, Optional< map_liquidHeaderTypeFlags > ReqLiquidType={}, LiquidData *data=nullptr, float collisionHeight=2.03128f)
bool IsBattleground() const
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, Milliseconds duration=0ms, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty, SmoothPhasingInfo const *smoothPhasingInfo=nullptr)
bool operator()(WorldObject *target) const
static ObjectGuid const Empty
static Creature * ToCreature(Object *o)
static Unit * ToUnit(Object *o)
static ObjectGuid GetGUID(Object const *o)
void SetEntry(uint32 entry)
static Player * ToPlayer(Object *o)
bool LoadPetFromDB(Player *owner, uint32 petEntry, uint32 petnumber, bool current, Optional< PetSaveMode > forcedSlot={})
void setDeathState(DeathState s) override
void LearnSpell(uint32 spell_id, bool dependent, int32 fromSkill=0, bool suppressMessaging=false, Optional< int32 > traitDefinitionId={})
void SendPlayerBound(ObjectGuid const &binderGuid, uint32 areaId) const
void SendBindPointUpdate() const
void SendDirectMessage(WorldPacket const *data) const
bool HasAchieved(uint32 achievementId) const
WorldSession * GetSession() const
Item * GetItemByPos(uint16 pos) const
bool HasSkill(uint32 skill) const
bool CanAcceptAreaSpiritHealFrom(Unit *spiritHealer) const
uint32 GetLastPetNumber() const
uint32 GetProfessionSkillForExp(uint32 skill, int32 expansion) const
void RemoveSpell(uint32 spell_id, bool disabled=false, bool learn_low_rank=true, bool suppressMessaging=false)
float GetAverageItemLevel() const
QuestStatus GetQuestStatus(uint32 quest_id) const
void SetAreaSpiritHealer(Creature *creature)
void SetHomebind(WorldLocation const &loc, uint32 areaId)
Team GetEffectiveTeam() const
ReputationMgr & GetReputationMgr()
void LearnSkillRewardedSpells(uint32 skillId, uint32 skillValue, Races race)
SpellSchoolMask GetSchoolMask() const
Unit * GetActionTarget() const
SpellInfo const * GetSpellInfo() const
DamageInfo * GetDamageInfo() const
Unit * GetProcTarget() const
RecastSpiritHealChannelEvent(Unit *caster)
bool Execute(uint64, uint32) override
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, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
Duration GetRemainingCategoryCooldown(uint32 categoryId) const
void ResetCooldown(uint32 spellId, bool update=false)
void ModifyCooldown(uint32 spellId, Duration cooldownMod, bool withoutCategoryCooldown=false)
void StartCooldown(SpellInfo const *spellInfo, uint32 itemId, Spell *spell=nullptr, bool onHold=false, Optional< Duration > forcedCooldown={})
uint32 ExcludeTargetAuraSpell
float GetMaxRange(bool positive=false, WorldObject *caster=nullptr, Spell *spell=nullptr) const
bool HasEffect(SpellEffectName effect) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
std::vector< SpellEffectInfo > const & GetEffects() const
uint32 ExcludeCasterAuraSpell
bool HasAura(AuraType aura) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
HookList< DamageAndHealingCalcHandler > CalcDamage
HookList< CastHandler > AfterCast
WorldLocation * GetHitDest() const
HookList< CheckCastHandler > OnCheckCast
Creature * GetHitCreature() const
Player * GetHitPlayer() const
int32 GetHitDamage() const
HookList< HitHandler > AfterHit
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
void CreateItem(uint32 itemId, ItemContext context)
HookList< HitHandler > OnHit
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Unit * GetHitUnit() const
SpellValue const * GetSpellValue() 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)
Difficulty GetCastDifficulty() const
void SetHitDamage(int32 damage)
HookList< DamageAndHealingCalcHandler > CalcHealing
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
WorldObject * GetSummoner() const
void ModifyThreatByPercent(Unit *target, int32 percent)
Binary predicate for sorting Units based on percent value of a power.
uint32 GetChannelSpellId() const
int32 ModifyPower(Powers power, int32 val, bool withPowerUpdate=true)
void SetImmuneToAll(bool apply, bool keepCombat)
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)
AuraEffectList const & GetAuraEffectsByType(AuraType type) const
void SetVirtualItem(uint32 slot, uint32 itemId, uint16 appearanceModId=0, uint16 itemVisual=0)
void SetUnitFlag3(UnitFlags3 flags)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
void EnergizeBySpell(Unit *victim, SpellInfo const *spellInfo, int32 damage, Powers powerType)
ThreatManager & GetThreatManager()
uint32 GetMountDisplayId() const
float GetCollisionHeight() const override
std::multimap< uint32, AuraApplication * > AuraApplicationMap
Unit * GetCharmer() const
std::forward_list< AuraEffect * > AuraEffectList
MotionMaster * GetMotionMaster()
Powers GetPowerType() const
Aura * AddAura(uint32 spellId, Unit *target)
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
void SetUnitFlag2(UnitFlags2 flags)
int32 GetMaxPower(Powers power) const
int32 HealBySpell(HealInfo &healInfo, bool critical=false)
void RemoveAllAurasOnDeath()
TempSummon * ToTempSummon()
void RemoveUnitFlag3(UnitFlags3 flags)
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetUninteractible(bool apply)
void Mount(uint32 mount, uint32 vehicleId=0, uint32 creatureEntry=0)
bool IsCharmedOwnedByPlayerOrPlayer() const
virtual Gender GetNativeGender() const
uint32 GetVirtualItemId(uint32 slot) const
uint64 GetMaxHealth() const
uint16 GetMaxSkillValueForLevel(Unit const *target=nullptr) const
void RemoveUnitFlag2(UnitFlags2 flags)
bool HasAuraType(AuraType auraType) const
void GetAllMinionsByEntry(std::list< TempSummon * > &Minions, uint32 entry)
void SetFullPower(Powers power)
float GetSpeedRate(UnitMoveType mtype) const
int32 GetPower(Powers power) const
uint64 CountPctFromMaxHealth(int32 pct) const
void SetSpeedRate(UnitMoveType mtype, float rate)
DeathState getDeathState() const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
SpellHistory * GetSpellHistory()
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
void SetUnitFlag(UnitFlags flags)
AuraApplicationMap & GetAppliedAuras()
void RemoveMovementImpairingAuras(bool withRoot)
Vehicle * GetVehicleKit() const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void SetMountDisplayId(uint32 mountDisplayId)
virtual void SetDisplayId(uint32 displayId, bool setNative=false)
void RemoveUnitFlag(UnitFlags flags)
Unit * GetPassenger(int8 seatId) const
Gets a passenger on specified seat.
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
PhaseShift & GetPhaseShift()
float GetDistance2d(WorldObject const *obj) const
Player * GetCharmerOrOwnerPlayerOrPlayerItself() const
float GetDistance(WorldObject const *obj) const
PlayerInteractionType InteractionType
WorldPacket const * Write() override
WorldPacket const * Write() override
std::vector< SpellCooldownStruct > SpellCooldowns
BattlePets::BattlePetMgr * GetBattlePetMgr() const
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void OnPeriodic(AuraEffect const *)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScriptEffect(SpellEffIndex)
bool CheckProc(ProcEventInfo &eventInfo)
void HandleProc(AuraEffect *, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void HandleScriptEffect(SpellEffIndex)
void HandleDamage(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void Absorb(AuraEffect *, DamageInfo &, uint32 &absorbAmount)
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
SpellCastResult CheckRequirement()
bool Validate(SpellInfo const *) override
static constexpr uint32 AncestralCallBuffs[]
void HandleScript(SpellEffIndex)
void HandleDummy(SpellEffIndex)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
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 &)
void UpdatePeriodic(AuraEffect *aurEff)
bool Validate(SpellInfo const *spellInfo) override
void PeriodicTick(AuraEffect const *aurEff)
bool CheckAreaTarget(Unit *target)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
SpellCastResult CheckCast()
void UpdateRacials(Races oldRace, Races newRace)
void HandleRemove(AuraEffect const *, AuraEffectHandleModes)
static uint32 GetDisplayIdForRace(Races race, Gender gender)
void HandleApply(AuraEffect const *, AuraEffectHandleModes mode)
std::array< Races, 3 > OtherFactionRacePriorityList
static std::vector< uint32 > RacialSkills
static std::unordered_map< Races, OtherFactionRacePriorityList > const RaceInfo
static std::unordered_map< Races, std::array< uint32, 2 > > const RaceDisplayIds
static Races GetReplacementRace(Races nativeRace, Classes playerClass)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
spell_gen_bloodlust(uint32 exhaustionSpellId)
void HandleHit(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &targets)
uint32 _exhaustionSpellId
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool CheckProc(AuraEffect const *, ProcEventInfo &procInfo)
bool Validate(SpellInfo const *) override
static constexpr uint32 SPELL_DIVINE_SHIELD
static constexpr uint32 SPELL_POWER_WORD_SHIELD
void HandleScriptEffect(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) override
void HandleApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *spellInfo) override
void HandleRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
SpellCastResult CheckIfCorpseNear()
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void UpdatePeriodic(AuraEffect *aurEff)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
void HandleScript(SpellEffIndex)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void HandleScriptEffect(SpellEffIndex effIndex)
void HandleScriptEffect(SpellEffIndex effIndex)
void CalculateDamage(Unit const *, int32 &damage, int32 &, float &) const
spell_gen_count_pct_from_max_hp(int32 damagePct=0)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex effIndex)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
spell_gen_decay_over_time_aura()=default
bool CheckProc(ProcEventInfo &eventInfo)
void Decay(ProcEventInfo &)
void ModDuration(AuraEffect const *, AuraEffectHandleModes)
void RemoveDummyFromDriver(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void RemoveVisualShields(AuraEffect const *, AuraEffectHandleModes)
void RefreshVisualShields(AuraEffect const *aurEff, AuraEffectHandleModes)
void HandleScriptEffect(SpellEffIndex)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleDummy(SpellEffIndex)
void HandleDespawn(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
void RemoveVehicleAuras()
spell_gen_eject_passenger_with_seatId(uint8 seatId)
void EjectPassenger(SpellEffIndex)
void EjectPassenger(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void HandleScriptEffect(SpellEffIndex)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *spellInfo) override
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void HandleDummy(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) override
void AfterApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void CalculateAmount(AuraEffect const *aurEff, int32 &amount, bool &)
bool Validate(SpellInfo const *spellInfo) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
void HandleEffectPeriodic(AuraEffect const *)
void HandleDummy(SpellEffIndex)
void HandleDummy(SpellEffIndex)
void HandleDummy(SpellEffIndex)
void HandleDummy(SpellEffIndex)
void OnRemove(AuraEffect const *effect, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
spell_gen_lifebloom(uint32 spellId)
void AfterRemove(AuraEffect const *aurEff, AuraEffectHandleModes)
void CalculateHealingBonus(AuraEffect const *, Unit *, int32 &, int32 &, float &pctMod) const
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void CalculateHealingBonus(Unit *, int32 &, int32 &, float &pctMod) const
void OnPeriodic(AuraEffect const *aurEff)
bool Validate(SpellInfo const *) override
void FilterTargets(std::list< WorldObject * > &targets)
void SetBonusValueForEffect(SpellEffIndex effIndex, int32 value, AuraEffect const *aurEff)
void CalculateAmount(AuraEffect const *aurEff, int32 &amount, bool &)
bool Validate(SpellInfo const *spellInfo) override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void OnPeriodic(AuraEffect const *)
void HandleScriptEffect(SpellEffIndex effIndex)
void HandleChargeEffect(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex effIndex)
void PeriodicTick(AuraEffect const *)
bool CheckProc(ProcEventInfo &eventInfo)
void OnProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *spellInfo) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void HandleEffectPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleStun(AuraEffect const *aurEff, AuraEffectHandleModes)
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
void HandleEffectPeriodic(AuraEffect const *)
void HandleEffectApply(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
bool CheckProc(ProcEventInfo &eventInfo)
void HandleChargeDrop(ProcEventInfo &)
void HandleScript(SpellEffIndex)
SpellCastResult CheckRequirement()
bool Validate(SpellInfo const *spellInfo) override
void HandleTauntEffect(SpellEffIndex effIndex)
void SelectRandomTarget(std::list< WorldObject * > &targets)
void HandleScript(SpellEffIndex)
void HandleScriptEffect(SpellEffIndex)
void PeriodicTick(AuraEffect const *)
void PeriodicTick(AuraEffect const *aurEff)
void PeriodicTick(AuraEffect const *)
bool Validate(SpellInfo const *spellInfo) override
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
void RemoveInvalidTargets(std::list< WorldObject * > &targets)
void PeriodicTick(AuraEffect const *)
void HandleScript(SpellEffIndex effIndex)
void HandleMount(AuraEffect const *aurEff, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void AchievementCredit(SpellEffIndex)
void HandleSkinningEffect(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &targets)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
static constexpr uint32 SPELL_SPIRIT_HEAL_EFFECT
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleDummy(SpellEffIndex)
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
SpellCastResult CheckIfLanceEquiped()
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
void HandleScriptEffect(SpellEffIndex effIndex)
void HandleScriptEffect(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleApplyEffect(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void UpdateReviveBattlePetCooldown(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *spellInfo) override
bool Validate(SpellInfo const *spellInfo) override
std::list< uint32 > _applyTimes
void OnApply(AuraEffect const *aurEff, AuraEffectHandleModes)
void OnPeriodic(AuraEffect const *)
void HandleScript(SpellEffIndex)
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
void HandleDummy(SpellEffIndex)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void CalcWarModeBonus(AuraEffect const *, int32 &amount, bool &)
SpellCastResult CheckCast()
void HandleEffectPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
spell_gen_whisper_to_controller_random(uint32 text)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
bool Validate(SpellInfo const *) override
void SetDest(SpellDestination &dest)
void OnPeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
void HandleRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleSummon(SpellEffIndex effIndex)
@ SPELL_REVIVE_BATTLE_PETS
float GetBonusMultiplier(Unit const *unit, uint32 spellId)
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
auto MapGetValuePtr(M &map, typename M::key_type const &key)
void RandomResize(C &container, std::size_t requestedSize)
@ SPELL_SHADOWLANDS_SKINNING
@ SPELL_PANDARIA_SKINNING
@ SPELL_ZANDALARI_SKINNING
@ SPELL_CATACLYSM_SKINNING
@ SPELL_NORTHREND_SKINNING
@ SPELL_KUL_TIRAN_SKINNING
@ SPELL_DRAGON_ISLES_SKINNING
@ SPELL_VAMPIRIC_TOUCH_HEAL
@ SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT
@ SPELL_GEN_THROW_INTERRUPT
PvPTrinketTriggeredSpells
@ SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER
@ SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER_WOTF
@ SPELL_EVOKER_EXHAUSTION
@ SPELL_MAGE_TEMPORAL_DISPLACEMENT
@ SPELL_SHAMAN_EXHAUSTION
@ SPELL_MARK_OF_KAZROGAL_DAMAGE_HELLFIRE
@ SPELL_MARK_OF_KAZROGAL_HELLFIRE
@ SPELL_SIEGE_TANK_CONTROL
@ SPELL_INFINITE_REPLENISHMENT
@ SPELL_TRANSPORTER_EVIL_TWIN
@ SPELL_TRANSPORTER_MALFUNCTION_MISS
@ SPELL_TRANSPORTER_MALFUNCTION_POLYMORPH
@ 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_FISHING_WITH_POLE
@ SPELL_FISHING_NO_FISHING_POLE
@ 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
MajorHealingCooldownSpell
@ SPELL_PRIEST_DIVINE_HYMN_HEAL
@ SPELL_DRUID_TRANQUILITY
@ SPELL_SHAMAN_HEALING_TIDE_TOTEM_HEAL
@ SPELL_SHAMAN_HEALING_TIDE_TOTEM
@ SPELL_PRIEST_LUMINOUS_BARRIER
@ SPELL_DRUID_TRANQUILITY_HEAL
@ SPELL_PRIEST_DIVINE_HYMN
@ QUEST_DEFENDER_OF_AZEROTH_HORDE
@ QUEST_DEFENDER_OF_AZEROTH_ALLIANCE
@ SPELL_DEATH_GATE_TELEPORT_STORMWIND
@ SPELL_DEATH_GATE_TELEPORT_ORGRIMMAR
@ SPELL_ORC_DISGUISE_FEMALE
@ SPELL_ORC_DISGUISE_MALE
@ SPELL_ORC_DISGUISE_TRIGGER
@ SPELL_NORTHREND_INSCRIPTION_RESEARCH
@ SPELL_TRANSPORTER_FAILURE
@ SPELL_TRANSPORTER_SUCCESS
@ SPELL_NIGHTMARE_FIGMENT_MIRROR_IMAGE
@ SPELL_NETHERBLOOM_POLLEN_1
@ SPELL_FREEZING_CIRCLE_PIT_OF_SARON_HEROIC
@ SPELL_FREEZING_CIRCLE_PIT_OF_SARON_NORMAL
@ MAP_ID_BLOOD_IN_THE_SNOW_SCENARIO
@ SPELL_FREEZING_CIRCLE_SCENARIO
@ 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
@ SPELL_CORRUPTING_PLAGUE
static Emote const EmoteArray[]
@ SPELL_PVP_TRINKET_ALLIANCE
@ SPELL_PVP_TRINKET_HORDE
@ SPELL_CREATE_LANCE_ALLIANCE
@ SPELL_CREATE_LANCE_HORDE
BindLocation const OrgrimmarInnLoc(1, 1573.18f, -4441.62f, 16.06f, 1.818284034729003906f, 8618)
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
BindLocation const StormwindInnLoc(0, -8868.1f, 675.82f, 97.9f, 5.164778709411621093f, 5148)
@ SPELL_FOAM_SWORD_DEFEAT
@ SPELL_CANNIBALIZE_TRIGGERED
@ 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
@ SPELL_MIGHT_OF_THE_BLACKROCK
@ SPELL_RICTUS_OF_THE_LAUGHING_SKULL
@ SPELL_FEROCITY_OF_THE_FROSTWOLF
@ SPELL_ZEAL_OF_THE_BURNING_BLADE
BindLocation(uint32 mapId, float x, float y, float z, float o, uint32 areaId)
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)
uint32 GetSubClass() const
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr void GetPosition(float &x, float &y) const
constexpr float GetPositionZ() const
void Relocate(Position const &pos)