172#define NECROTIC_PLAGUE_LK RAID_MODE<uint32>(70337, 73912, 73913, 73914)
173#define NECROTIC_PLAGUE_PLR RAID_MODE<uint32>(70338, 73785, 73786, 73787)
174#define REMORSELESS_WINTER_1 RAID_MODE<uint32>(68981, 74270, 74271, 74272)
175#define REMORSELESS_WINTER_2 RAID_MODE<uint32>(72259, 74273, 74274, 74275)
176#define SUMMON_VALKYR RAID_MODE<uint32>(69037, 74361, 69037, 74361)
177#define HARVEST_SOUL RAID_MODE<uint32>(68980, 74325, 74296, 74297)
273#define PHASE_TWO_THREE (events.IsInPhase(PHASE_TWO) ? PHASE_TWO : PHASE_THREE)
280 {432.0851f, -2123.673f, 864.6582f, 0.0f},
281 {457.8351f, -2123.423f, 841.1582f, 0.0f},
282 {465.0730f, -2123.470f, 840.8569f, 0.0f},
410 _owner->AI()->AttackStart(target);
453 _owner->m_Events.AddEvent(
this,
_owner->m_Events.CalculateTime(3000));
490 me->SetDisableGravity(
false);
492 me->GetMotionMaster()->MoveFall();
494 frostmourne->DespawnOrUnsummon();
527 me->VisitNearbyGridObject(333.0f, worker);
544 tirion->AI()->EnterEvadeMode();
658 me->InterruptNonMeleeSpells(
true);
677 switch (summon->GetEntry())
684 summon->m_Events.AddEvent(
new StartMovementEvent(
me, summon), summon->m_Events.CalculateTime(5000));
695 summon->GetMotionMaster()->MoveFollow(target, 0.0f, 0.0f);
698 summon->DespawnOrUnsummon();
720 summon->GetMotionMaster()->MoveRandom(10.0f);
737 switch (summon->GetEntry())
787 me->SetFacingTo(0.0f);
802 me->SetFacingTo(0.0f);
993 std::list<Creature*> triggers;
995 if (!triggers.empty())
998 Creature* spawner = triggers.front();
1030 me->SetFacingToObject(tirion);
1037 me->SetFacingTo(0.01745329f);
1053 tirion->SetFacingToObject(
me);
1061 me->SetDisableGravity(
true);
1097 data <<
uint32(overrideId);
1098 data <<
uint32(fadeInTime);
1106 data << float(0.5f);
1118 if (
Player* player = itr->GetSource())
1120 player->GetSession()->SendPacket(data);
1141 _instance(creature->GetInstanceScript())
1191 me->SetFacingTo(3.085098f);
1198 if (
me->GetCreatureTemplate()->GossipMenuId == sender && !action)
1254 me->SetFacingToObject(lichKing);
1360 _instance(creature->GetInstanceScript())
1371 if (
Unit* summoner = summon->GetSummoner())
1380 lichKing->AI()->JustSummoned(
me);
1386 lichKing->AI()->SummonedCreatureDespawn(
me);
1462 if (
me->HealthBelowPctDamaged(50, damage))
1466 me->GetMotionMaster()->MoveTargetedHome();
1492 me->DespawnOrUnsummon(1000);
1500 std::list<Creature*> triggers;
1503 if (triggers.empty())
1513 me->DespawnOrUnsummon();
1583 _instance(creature->GetInstanceScript())
1589 me->SetFacingToObject(summoner);
1597 lichKing->AI()->JustSummoned(
me);
1607 if (
Unit* summoner = summ->GetSummoner())
1615 lichKing->AI()->SummonedCreatureDespawn(
me);
1629 me->GetMotionMaster()->Clear(
false);
1630 me->GetMotionMaster()->MoveIdle();
1633 if (
Unit* summoner = summ->GetSummoner())
1636 summoner->ExitVehicle(summoner);
1652 if (
me->GetExactDist(lichKing) > 10.0f)
1656 me->GetMotionMaster()->MovePoint(0, pos);
1662 lichKing->AI()->SummonedCreatureDespawn(
me);
1663 me->DespawnOrUnsummon(1);
1690 _instance(creature->GetInstanceScript())
1704 me->setActive(
true);
1706 me->SetHealth(
me->GetMaxHealth() / 2);
1719 me->DespawnOrUnsummon(3000);
1732 me->DeleteThreatList();
1733 me->CombatStop(
false);
1738 if (damage >=
me->GetHealth())
1740 damage =
me->GetHealth() - 1;
1749 warden->DespawnOrUnsummon(2000);
1752 me->DespawnOrUnsummon(2000);
1762 me->SetFacingToObject(lichKing);
1800 tirion->AI()->AttackStart(lichKing);
1820 if (
me->IsInCombat())
1843 _instance(creature->GetInstanceScript())
1907 float destX, destY, destZ;
1908 me->GetPosition(destX, destY);
1910 me->UpdateGroundPositionZ(destX, destY, destZ);
1911 me->GetMotionMaster()->MovePoint(
POINT_GROUND, destX, destY, destZ);
1919 me->RemoveAllAuras();
1921 me->DespawnOrUnsummon(1000);
2113 if (targets.size() < 2)
2153 if (caster->GetAI())
2257 if (targets.empty())
2332 if (unitList.empty())
2454 static Position const offset = {0.0f, 0.0f, 15.0f, 0.0f};
2536 if (targets.empty())
2540 if (targets.empty())
2715 Position offset = {0.0f, 0.0f, 15.0f, 0.0f};
2748 if (targets.empty())
2796 if (targets.empty())
2802 if (
Unit* summoner = summon->GetSummoner())
2803 summoner->GetAI()->SetData(
DATA_VILE, 1);
2867 effect->RecalculateAmount(caster);
2872 canBeRecalculated =
true;
2875 amount =
int32(caster->GetHealthPct());
2940 spawner->RemoveAllAuras();
2942 std::list<Creature*> spirits;
2944 for (std::list<Creature*>::iterator itr = spirits.begin(); itr != spirits.end(); ++itr)
2946 (*itr)->m_Events.KillAllEvents(
true);
2948 (*itr)->AI()->EnterEvadeMode();
3179 return !target->GetAI()->GetData(
DATA_VILE);
@ TEMPSUMMON_CORPSE_DESPAWN
void GetCreatureListWithEntryInGrid(std::list< Creature * > &list, WorldObject *source, uint32 entry, float maxSearchRange)
@ EMOTE_ONESHOT_POINT_NO_SHEATHE
@ EMOTE_ONESHOT_TALK_NO_SHEATHE
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_SEND_EVENT
@ SPELL_EFFECT_APPLY_AURA
@ TARGET_UNIT_SRC_AREA_ENTRY
@ TARGET_UNIT_SRC_AREA_ENEMY
@ GO_DESTRUCTIBLE_REBUILDING
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_CONTROL_VEHICLE
@ SPELL_AURA_PERIODIC_HEAL
@ SPELL_AURA_MOD_DAMAGE_PERCENT_DONE
@ SPELL_AURA_PERIODIC_DUMMY
@ AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK
@ AURA_EFFECT_HANDLE_REAPPLY
@ AURA_EFFECT_HANDLE_REAL
#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 AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
#define SF_UNARY_FUNCTION
@ UNIT_BYTE1_FLAG_ALWAYS_STAND
@ AURA_REMOVE_BY_ENEMY_SPELL
@ TRIGGERED_FULL_MASK
Will ignore most target checks (mostly DBC target checks).
@ TRIGGERED_IGNORE_CAST_IN_PROGRESS
Will ignore aura scaling.
@ UNIT_FLAG_IMMUNE_TO_NPC
@ UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FIELD_NPC_EMOTESTATE
@ SPELL_EJECT_ALL_PASSENGERS
Position const TirionCharge
#define REMORSELESS_WINTER_1
@ EVENT_GROUP_VILE_SPIRITS
@ MUSIC_FURY_OF_FROSTMOURNE
@ EQUIP_BROKEN_FROSTMOURNE
@ EQUIP_ASHBRINGER_GLOWING
#define REMORSELESS_WINTER_2
@ ACTION_BREAK_FROSTMOURNE
Position const TirionIntro
@ SPELL_RAGING_SPIRIT_VISUAL
@ SPELL_PAIN_AND_SUFFERING
@ SPELL_HARVEST_SOUL_VISUAL
@ SPELL_WINGS_OF_THE_DAMNED
@ SPELL_VALKYR_TARGET_SEARCH
@ SPELL_TRIGGER_VILE_SPIRIT_HEROIC
@ SPELL_TERENAS_LOSES_INSIDE
@ SPELL_SUMMON_BROKEN_FROSTMOURNE_2
@ SPELL_REMORSELESS_WINTER_2
@ SPELL_SUMMON_BROKEN_FROSTMOURNE
@ SPELL_EMOTE_QUESTION_NO_SHEATH
@ SPELL_MASS_RESURRECTION
@ SPELL_HARVEST_SOUL_TELEPORT
@ SPELL_SUMMON_ICE_SPHERE
@ SPELL_SUMMON_DRUDGE_GHOULS
@ SPELL_SUMMON_SHAMBLING_HORROR
@ SPELL_VILE_SPIRIT_MOVE_SEARCH
@ SPELL_SUMMON_VALKYR_PERIODIC
@ SPELL_SUMMON_SPIRIT_BOMB_2
@ SPELL_VILE_SPIRIT_DAMAGE_SEARCH
@ SPELL_NECROTIC_PLAGUE_JUMP
@ SPELL_MASS_RESURRECTION_REAL
@ SPELL_HARVEST_SOUL_VEHICLE
@ SPELL_BROKEN_FROSTMOURNE_KNOCK
@ SPELL_SUMMON_BROKEN_FROSTMOURNE_3
@ SPELL_RISEN_WITCH_DOCTOR_SPAWN
@ SPELL_RAGING_SPIRIT_VISUAL_CLONE
@ SPELL_SUMMON_SPIRIT_BOMB_1
@ SPELL_KILL_FROSTMOURNE_PLAYERS
@ SPELL_BROKEN_FROSTMOURNE
@ SPELL_SHADOW_TRAP_KNOCKBACK
@ SPELL_HARVEST_SOULS_TELEPORT
@ SPELL_HARVEST_SOUL_TELEPORT_BACK
@ SPELL_REMORSELESS_WINTER_1
@ SPELL_FURY_OF_FROSTMOURNE
@ SPELL_HARVEST_SOUL_DAMAGE_AURA
@ SPELL_EJECT_ALL_PASSENGERS
@ SPELL_ICE_BURST_TARGET_SEARCH
@ SPELL_EMOTE_SHOUT_NO_SHEATH
@ SPELL_IN_FROSTMOURNE_ROOM
@ SPELL_EMOTE_SIT_NO_SHEATH
@ SPELL_HARVEST_SOUL_VALKYR
@ SPELL_FURY_OF_FROSTMOURNE_NO_REZ
Position const OutroPosition1
Position const TerenasSpawn
@ SAY_LK_FROSTMOURNE_ESCAPE
@ SAY_LK_REMORSELESS_WINTER
@ EMOTE_NECROTIC_PLAGUE_WARNING
@ SAY_LK_FROSTMOURNE_KILL
#define NECROTIC_PLAGUE_PLR
void AddSC_boss_the_lich_king()
#define NECROTIC_PLAGUE_LK
Position const TerenasSpawnHeroic
Position const CenterPosition
Position const OutroFlying
Position const LichKingIntro[3]
Position const SpiritWardenSpawn
@ EVENT_SUMMON_ICE_SPHERE
@ EVENT_OUTRO_TERENAS_TALK_1
@ EVENT_FROSTMOURNE_TALK_3
@ EVENT_SUMMON_SHAMBLING_HORROR
@ EVENT_MOVE_TO_LICH_KING
@ EVENT_FROSTMOURNE_TALK_1
@ EVENT_FROSTMOURNE_HEROIC
@ EVENT_OUTRO_TERENAS_TALK_2
@ EVENT_OUTRO_MOVE_CENTER
@ EVENT_SUMMON_RAGING_SPIRIT
@ EVENT_INTRO_CAST_FREEZE
@ EVENT_OUTRO_SUMMON_TERENAS
@ EVENT_FROSTMOURNE_TALK_2
@ EVENT_PAIN_AND_SUFFERING
@ EVENT_SUMMON_DRUDGE_GHOUL
@ EVENT_OUTRO_SOUL_BARRAGE
AchievementCriteriaScript(const char *name)
uint32 GetTickNumber() const
void SetAmount(int32 amount)
uint32 GetEffIndex() const
bool ModStackAmount(int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void PreventDefaultAction()
void Remove(uint32 removeMode=0)
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
SpellInfo const * GetSpellInfo() const
WorldObject * GetOwner() const
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
uint64 GetCasterGUID() const
HookList< EffectUpdatePeriodicHandler > OnEffectUpdatePeriodic
AuraEffect * GetEffect(uint8 effIndex) const
HookList< EffectProcHandler > OnEffectProc
Unit * GetUnitOwner() const
uint8 GetStackAmount() const
HookList< EffectApplyHandler > OnEffectApply
InstanceScript *const instance
void JustSummoned(Creature *summon) OVERRIDE
BossAI(Creature *creature, uint32 bossId)
bool WriteBit(uint32 bit)
CreatureAI(Creature *creature)
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
void SetReactState(ReactStates st)
CreatureScript(const char *name)
void AddSpellMod(SpellValueMod mod, int32 value)
void AddEvent(BasicEvent *Event, uint64 e_time, bool set_addtime=true)
void KillAllEvents(bool force)
uint64 CalculateTime(uint64 t_offset) const
ExactDistanceCheck(Unit *source, float dist)
bool operator()(WorldObject *unit)
bool operator()(GameObject *go)
FrozenThroneResetWorker()
void SetGoState(GOState state)
void SetDestructibleState(GameObjectDestructibleState state, Player *eventInvoker=NULL, bool setHealth=false)
LinkedListHead::Iterator< MapReference const > const_iterator
void MoveRandom(float spawndist=0.0f)
NecroticPlagueTargetCheck(Unit const *obj, uint32 notAura1=0, uint32 notAura2=0)
bool operator()(Unit *unit) const
static Creature * GetCreature(WorldObject const &u, uint64 guid)
static Player * GetPlayer(WorldObject const &, uint64 guid)
static GameObject * GetGameObject(WorldObject const &u, uint64 guid)
void SetFlag(uint16 index, uint32 newFlag)
DamageInfo * GetDamageInfo() const
Creature * GetHitCreature()
WorldLocation const * GetExplTargetDest()
HookList< HitHandler > AfterHit
SpellInfo const * GetSpellInfo()
HookList< HitHandler > OnHit
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
WorldLocation * GetHitDest()
void SetHitDamage(int32 damage)
HookList< EffectHandler > OnEffectLaunch
SpellValue const * GetSpellValue()
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
HookList< HitHandler > BeforeHit
SpellScriptLoader(const char *name)
bool Execute(uint64, uint32)
StartMovementEvent(Creature *summoner, Creature *owner)
StorageType::iterator iterator
TriggerWickedSpirit(Creature *owner)
bool Execute(uint64, uint32)
virtual void DoAction(int32)
virtual void SetGUID(uint64, int32=0)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoCastVictim(uint32 spellId, bool triggered=false)
void DoCastAOE(uint32 spellId, bool triggered=false)
virtual void AttackStart(Unit *)
bool isTargetableForAttack(bool checkFakeDeath=true) const
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void AddThreat(Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=NULL)
MotionMaster * GetMotionMaster()
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
void CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
Vehicle * GetVehicleKit() const
void RemoveAllPassengers()
Removes all current and pending passengers from the vehicle.
bool Execute(uint64, uint32)
VileSpiritActivateEvent(Creature *owner)
InstanceScript * GetInstanceScript()
void GetCreatureListWithEntryInGrid(std::list< Creature * > &lList, uint32 uiEntry, float fMaxSearchRange) const
achievement_been_waiting_long_time()
bool OnCheck(Player *, Unit *target) OVERRIDE
achievement_neck_deep_in_vile()
bool OnCheck(Player *, Unit *target) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_shambling_horror_icc()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_strangulate_vehicle()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_tirion_fordring_tft()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
PrepareSpellScript(spell_the_lich_king_cast_back_to_caster_SpellScript)
void HandleScript(SpellEffIndex)
spell_the_lich_king_cast_back_to_caster()
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_the_lich_king_dark_hunger_AuraScript)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
spell_the_lich_king_dark_hunger()
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_the_lich_king_defile_SpellScript)
void ChangeDamageAndGrow()
void CorrectRange(std::list< WorldObject * > &targets)
spell_the_lich_king_defile()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_the_lich_king_eject_all_passengers_SpellScript)
void HandleDummy(SpellEffIndex effIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_eject_all_passengers()
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_the_lich_king_harvest_soul_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_the_lich_king_harvest_soul()
void CheckTargetCount(std::list< WorldObject * > &unitList)
PrepareSpellScript(spell_the_lich_king_ice_burst_target_search_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
spell_the_lich_king_ice_burst_target_search()
SpellScript * GetSpellScript() const OVERRIDE
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_the_lich_king_in_frostmourne_room_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_the_lich_king_in_frostmourne_room()
PrepareAuraScript(spell_the_lich_king_infest_AuraScript)
void OnPeriodic(AuraEffect const *)
void OnUpdate(AuraEffect *aurEff)
AuraScript * GetAuraScript() const OVERRIDE
spell_the_lich_king_infest()
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_the_lich_king_jump_SpellScript)
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_the_lich_king_jump_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_jump_remove_aura()
spell_the_lich_king_jump()
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_the_lich_king_life_siphon_SpellScript)
spell_the_lich_king_life_siphon()
SpellScript * GetSpellScript() const OVERRIDE
void OnPeriodic(AuraEffect const *)
void CalculateBonus(AuraEffect const *, int32 &amount, bool &canBeRecalculated)
PrepareAuraScript(spell_the_lich_king_lights_favor_AuraScript)
spell_the_lich_king_lights_favor()
AuraScript * GetAuraScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_the_lich_king_necrotic_plague_AuraScript)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *aurEff, AuraEffectHandleModes)
PrepareAuraScript(spell_the_lich_king_necrotic_plague_AuraScript)
void AfterDispel(AuraEffect const *aurEff, AuraEffectHandleModes)
void OnDispel(AuraEffect const *aurEff, AuraEffectHandleModes)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void SelectTarget(std::list< Unit * > &targets)
PrepareSpellScript(spell_the_lich_king_necrotic_plague_SpellScript)
spell_the_lich_king_necrotic_plague_jump()
AuraScript * GetAuraScript() const OVERRIDE
SpellScript * GetSpellScript() const OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_the_lich_king_necrotic_plague()
void FilterTargets(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_the_lich_king_quake_SpellScript)
void HandleSendEvent(SpellEffIndex)
spell_the_lich_king_quake()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_the_lich_king_raging_spirit_SpellScript)
void HandleScript(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) OVERRIDE
spell_the_lich_king_raging_spirit()
SpellScript * GetSpellScript() const OVERRIDE
InstanceScript * _instance
PrepareSpellScript(spell_the_lich_king_restore_soul_SpellScript)
void HandleScript(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_restore_soul()
void CheckTargetCount(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_the_lich_king_shadow_trap_periodic_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_shadow_trap_periodic()
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_the_lich_king_shadow_trap_visual_AuraScript)
spell_the_lich_king_shadow_trap_visual()
AuraScript * GetAuraScript() const OVERRIDE
PrepareAuraScript(spell_the_lich_king_soul_reaper_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
void OnPeriodic(AuraEffect const *)
AuraScript * GetAuraScript() const OVERRIDE
spell_the_lich_king_soul_reaper()
void OnPeriodic(AuraEffect const *aurEff)
PrepareAuraScript(spell_the_lich_king_soul_rip_AuraScript)
spell_the_lich_king_soul_rip()
AuraScript * GetAuraScript() const OVERRIDE
void ModDestHeight(SpellEffIndex effIndex)
PrepareSpellScript(spell_the_lich_king_summon_into_air_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_summon_into_air()
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_the_lich_king_summon_spirit_bomb_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_summon_spirit_bomb()
PrepareSpellScript(spell_the_lich_king_trigger_vile_spirit_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_trigger_vile_spirit()
void SelectTarget(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_the_lich_king_valkyr_target_search_SpellScript)
void HandleScript(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) OVERRIDE
void ReplaceTarget(std::list< WorldObject * > &targets)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_valkyr_target_search()
PrepareSpellScript(spell_the_lich_king_vile_spirit_damage_target_search_SpellScript)
void CheckTargetCount(std::list< WorldObject * > &targets)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_vile_spirit_damage_target_search()
void SelectTarget(std::list< WorldObject * > &targets)
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_the_lich_king_vile_spirit_move_target_search_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_vile_spirit_move_target_search()
PrepareAuraScript(spell_the_lich_king_vile_spirits_AuraScript)
void OnPeriodic(AuraEffect const *aurEff)
void ModDestHeight(SpellEffIndex)
PrepareSpellScript(spell_the_lich_king_vile_spirits_visual_SpellScript)
spell_the_lich_king_vile_spirits_visual()
SpellScript * GetSpellScript() const OVERRIDE
spell_the_lich_king_vile_spirits()
AuraScript * GetAuraScript() const OVERRIDE
@ WEATHER_STATE_BLACKSNOW
@ WEATHER_STATE_LIGHT_SNOW
@ SPELL_FURY_OF_FROSTMOURNE
@ NPC_FROSTMOURNE_TRIGGER
@ NPC_STRANGULATE_VEHICLE
@ NPC_WORLD_TRIGGER_INFINITE_AOI
@ NPC_TERENAS_MENETHIL_FROSTMOURNE_H
CreatureAI * GetIcecrownCitadelAI(Creature *creature)
@ ACTION_FROSTMOURNE_INTRO
@ LIGHT_S_HAMMER_TELEPORT
@ GO_DOODAD_ICESHARD_STANDING01
@ GO_DOODAD_ICESHARD_STANDING02
@ GO_DOODAD_ICESHARD_STANDING04
@ GO_DOODAD_ICESHARD_STANDING03
@ GO_DOODAD_ICECROWN_THRONEFROSTYWIND01
@ GO_DOODAD_ICECROWN_THRONEFROSTYEDGE01
@ DATA_HIGHLORD_TIRION_FORDRING
C::value_type const & SelectRandomContainerElement(C const &container)
float GetAngle(Position const *pos) const
void RelocateOffset(Position const &offset)
void SetEquipmentSlots(bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
bool HealthAbovePct(uint32 pct) const
ScriptedAI(Creature *creature)
uint32 GetData(uint32 type) const OVERRIDE
void MovementInform(uint32 type, uint32 pointId) OVERRIDE
void DoAction(int32 action) OVERRIDE
void DamageTaken(Unit *, uint32 &) OVERRIDE
void SetData(uint32 type, uint32 value) OVERRIDE
void SendMusicToPlayers(uint32) const
void KilledUnit(Unit *victim) OVERRIDE
void JustReachedHome() OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SpellHitTarget(Unit *, SpellInfo const *spell) OVERRIDE
bool CanAIAttack(Unit const *target) const OVERRIDE
void SummonedCreatureDies(Creature *summon, Unit *) OVERRIDE
void SpellHit(Unit *, SpellInfo const *spell) OVERRIDE
uint32 _vileSpiritExplosions
void JustDied(Unit *) OVERRIDE
boss_the_lich_kingAI(Creature *creature)
void SendPacketToPlayers(WorldPacket const *data) const
void SendLightOverride(uint32 overrideId, uint32 fadeInTime) const
uint32 _necroticPlagueStack
void EnterCombat(Unit *target) OVERRIDE
void EnterEvadeMode() OVERRIDE
void SendWeather(WeatherState weather) const
void JustSummoned(Creature *summon) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void IsSummonedBy(Unit *) OVERRIDE
npc_broken_frostmourneAI(Creature *creature)
void EnterEvadeMode() OVERRIDE
void DoAction(int32 action) OVERRIDE
npc_raging_spiritAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
InstanceScript * _instance
void IsSummonedBy(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_shambling_horror_iccAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void DamageTaken(Unit *, uint32 &damage) OVERRIDE
void MovementInform(uint32 type, uint32 point) OVERRIDE
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
void AttackStart(Unit *) OVERRIDE
void IsSummonedBy(Unit *) OVERRIDE
npc_spirit_bombAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_spirit_wardenAI(Creature *creature)
InstanceScript * _instance
void JustDied(Unit *) OVERRIDE
void DoAction(int32 action) OVERRIDE
npc_strangulate_vehicleAI(Creature *creature)
InstanceScript * _instance
void IsSummonedBy(Unit *summoner) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
bool CanAIAttack(Unit const *target) const OVERRIDE
InstanceScript * _instance
npc_terenas_menethilAI(Creature *creature)
void IsSummonedBy(Unit *) OVERRIDE
void DoAction(int32 action) OVERRIDE
void EnterEvadeMode() OVERRIDE
void DamageTaken(Unit *, uint32 &damage) OVERRIDE
void SpellHit(Unit *, SpellInfo const *spell) OVERRIDE
InstanceScript * _instance
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_tirion_fordringAI(Creature *creature)
void JustReachedHome() OVERRIDE
void DoAction(int32 action) OVERRIDE
void sGossipSelect(Player *, uint32 sender, uint32 action) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustReachedHome() OVERRIDE
void MovementInform(uint32 type, uint32 id) OVERRIDE
void IsSummonedBy(Unit *) OVERRIDE
InstanceScript * _instance
void SetGUID(uint64 guid, int32) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void AttackStart(Unit *) OVERRIDE
npc_valkyr_shadowguardAI(Creature *creature)
void DamageTaken(Unit *, uint32 &damage) OVERRIDE