195 target !=
_source->GetVictim() &&
233 me->SetDisableGravity(
true);
265 me->SetCanFly(
false);
266 me->SetDisableGravity(
false);
291 me->SetDisableGravity(
true);
317 me->setActive(
false);
318 me->SetCanFly(
false);
319 me->SetDisableGravity(
false);
333 me->SetFacingTo(
float(
M_PI));
338 me->SetFacingTo(
float(
M_PI));
346 me->SetCanFly(
false);
347 me->SetDisableGravity(
false);
351 me->GetMotionMaster()->MovementExpired();
380 summon->m_Events.AddEvent(
new FrostBombExplosion(summon,
me->GetGUID()), summon->m_Events.CalculateTime(5500));
388 summon->AI()->JustDied(summon);
394 if (spellId == spell->Id)
395 if (
Aura const* mysticBuffet = target->GetAura(spell->Id))
452 me->SetDisableGravity(
true);
480 float destX, destY, destZ;
481 destX = float(
rand_norm()) * 75.0f + 4350.0f;
482 destY = float(
rand_norm()) * 75.0f + 2450.0f;
484 me->UpdateGroundPositionZ(destX, destY, destZ);
573 me->RemoveAllGameObjects();
595 me->DespawnOrUnsummon();
647 me->SetDisableGravity(
true);
679 me->GetMotionMaster()->MoveIdle();
690 me->setActive(
false);
691 me->SetCanFly(
false);
692 me->SetDisableGravity(
false);
777 me->SetDisableGravity(
true);
809 me->GetMotionMaster()->MoveIdle();
820 me->setActive(
false);
821 me->SetCanFly(
false);
822 me->SetDisableGravity(
false);
869 me->SetFacingToObject(target);
874 else if (
Unit* victim =
me->SelectVictim())
878 me->SetCanFly(
false);
1020 if (instance->GetInstanceScript())
1031 float destX = float(
rand_norm()) * 75.0f + 4350.0f;
1032 float destY = float(
rand_norm()) * 75.0f + 2450.0f;
1033 float destZ = 205.0f;
1035 dest->Relocate(destX, destY, destZ);
1052 uint32 minResistFactor =
uint32((resistance / (resistance + 510.0f)) * 10.0f) * 2;
1053 uint32 randomResist = std::rand() % ((9 - minResistFactor) * 100) / 100 + minResistFactor;
1058 damageInfo.
damage = damage;
1105 if (unitList.size() > maxSize)
1263 summon->AddGameObject(go);
1445 if (targets.empty())
1450 targets.push_back(target);
1457 std::list<Creature*> unitList;
1462 if (unitList.empty())
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_DEAD_DESPAWN
@ QUEST_STATUS_INCOMPLETE
void GetCreatureListWithEntryInGrid(std::list< Creature * > &list, WorldObject *source, uint32 entry, float maxSearchRange)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_TRIGGER_MISSILE
@ SPELL_EFFECT_FORCE_CAST
@ TARGET_UNIT_DEST_AREA_ENEMY
@ TARGET_UNIT_SRC_AREA_ENEMY
@ TARGET_UNIT_DEST_AREA_ENTRY
@ SPELL_AURA_PERIODIC_DUMMY
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ AURA_EFFECT_HANDLE_REAL
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_BYTE1_FLAG_ALWAYS_STAND
@ TRIGGERED_FULL_MASK
Will ignore most target checks (mostly DBC target checks).
@ UNIT_FLAG_NON_ATTACKABLE
Position const SindragosaFlyInPos
@ SPELL_FROST_BOMB_VISUAL
@ SPELL_PERMAEATING_CHILL
@ SPELL_FROST_BOMB_TRIGGER
@ SPELL_CLEAVE_SPINESTALKER
@ SPELL_FROST_AURA_RIMEFANG
@ SPELL_ICE_TOMB_UNTARGETABLE
@ SPELL_FROST_IMBUED_BLADE
@ SPELL_FROST_INFUSION_CREDIT
@ SPELL_SINDRAGOSA_S_FURY
void AddSC_boss_sindragosa()
@ DATA_MYSTIC_BUFFET_STACK
Position const SpinestalkerFlyPos
Position const SpinestalkerLandPos
Position const SindragosaFlyPos
Position const RimefangLandPos
@ EMOTE_WARN_BLISTERING_COLD
@ SAY_RESPITE_FOR_A_TORMENTED_SOUL
Position const RimefangFlyPos
Position const SindragosaAirPosFar
Position const SindragosaLandPos
Position const SindragosaSpawnPos
@ EVENT_THIRD_PHASE_CHECK
@ EVENT_BLISTERING_COLD_YELL
@ EVENT_CLEAVE_SPINESTALKER
@ EVENT_FROST_BREATH_RIMEFANG
@ EVENT_FROSTWARDEN_ORDER_WHELP
Position const SindragosaAirPos
AchievementCriteriaScript(const char *name)
AreaTriggerScript(const char *name)
uint8 GetStackAmount() const
void PreventDefaultAction()
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
SpellInfo const * GetSpellInfo() const
uint64 GetCasterGUID() const
InstanceScript *const instance
void SummonedCreatureDespawn(Creature *summon) OVERRIDE
void JustReachedHome() OVERRIDE
BossAI(Creature *creature, uint32 bossId)
void EnterCombat(Unit *) OVERRIDE
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
virtual void JustRespawned()
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
CreatureScript(const char *name)
bool operator()(Unit *target) const
FrostBeaconSelector(Unit *source)
bool Execute(uint64, uint32)
FrostBombExplosion(Creature *owner, uint64 sindragosaGUID)
FrostwyrmLandEvent(Creature &owner, Position const &dest)
bool Execute(uint64, uint32)
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=NULL, uint32 duration=0, Unit *summoner=NULL, uint32 spellId=0, uint32 vehId=0)
MysticBuffetTargetFilter(Unit *caster)
bool operator()(WorldObject *unit) const
static Creature * GetCreature(WorldObject const &u, uint64 guid)
static Player * GetPlayer(WorldObject const &, uint64 guid)
OrderWhelpTargetSelector(Creature *owner)
bool operator()(Creature *creature)
QuestStatus GetQuestStatus(uint32 quest_id) const
WorldLocation const * GetExplTargetDest()
HookList< HitHandler > AfterHit
SpellInfo const * GetSpellInfo()
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
HookList< CastHandler > BeforeCast
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
SpellScriptLoader(const char *name)
UnchainedMagicTargetSelector()
bool operator()(WorldObject *object) const
virtual void SetData(uint32, uint32)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
virtual uint32 GetData(uint32) const
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)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
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 AddThreat(Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=NULL)
Aura * GetAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
void DealSpellDamage(SpellNonMeleeDamage *damageInfo, bool durabilityLoss)
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
void SendSpellNonMeleeDamageLog(SpellNonMeleeDamage *log)
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)
InstanceScript * GetInstanceScript()
bool IsWithinLOSInMap(WorldObject const *obj) const
void UpdateGroundPositionZ(float x, float y, float &z) const
GameObject * SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime)
achievement_all_you_can_eat()
bool OnCheck(Player *, Unit *target) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
PrepareAuraScript(spell_frostwarden_handler_focus_fire_AuraScript)
void PeriodicTick(AuraEffect const *)
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_frostwarden_handler_focus_fire_SpellScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_frostwarden_handler_focus_fire()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_frostwarden_handler_order_whelp_SpellScript)
void FilterTargets(std::list< WorldObject * > &targets)
bool Validate(SpellInfo const *) OVERRIDE
void HandleForcedCast(SpellEffIndex effIndex)
spell_frostwarden_handler_order_whelp()
SpellScript * GetSpellScript() const OVERRIDE
void HandleTriggerMissile(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_rimefang_icy_blast_SpellScript)
spell_rimefang_icy_blast()
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_sindragosa_frost_beacon_AuraScript)
void PeriodicTick(AuraEffect const *)
spell_sindragosa_frost_beacon()
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_sindragosa_frost_breath_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_sindragosa_frost_breath()
void PeriodicTick(AuraEffect const *)
PrepareAuraScript(spell_sindragosa_ice_tomb_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_sindragosa_ice_tomb_SpellScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_sindragosa_ice_tomb()
SpellScript * GetSpellScript() const OVERRIDE
void HandleScript(SpellEffIndex effIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_sindragosa_icy_grip_SpellScript)
spell_sindragosa_icy_grip()
SpellScript * GetSpellScript() const OVERRIDE
PrepareAuraScript(spell_sindragosa_instability_AuraScript)
void OnRemove(AuraEffect const *aurEff, AuraEffectHandleModes)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_sindragosa_instability()
PrepareSpellScript(spell_sindragosa_mystic_buffet_SpellScript)
void FilterTargets(std::list< WorldObject * > &targets)
SpellScript * GetSpellScript() const OVERRIDE
spell_sindragosa_mystic_buffet()
void CountTargets(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_sindragosa_s_fury_SpellScript)
void HandleDummy(SpellEffIndex effIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_sindragosa_s_fury()
void FilterTargets(std::list< WorldObject * > &unitList)
PrepareSpellScript(spell_sindragosa_unchained_magic_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_sindragosa_unchained_magic()
@ NPC_FROSTWARDEN_HANDLER
CreatureAI * GetIcecrownCitadelAI(Creature *creature)
@ ACTION_TRIGGER_ASPHYXIATION
@ LIGHT_S_HAMMER_TELEPORT
@ DATA_SINDRAGOSA_FROSTWYRMS
void RandomResizeList(std::list< T > &list, uint32 size)
C::value_type const & SelectRandomContainerElement(C const &container)
float GetPositionZ() const
float GetOrientation() const
float GetPositionX() const
void GetPosition(float &x, float &y) const
float GetPositionY() const
void Relocate(float x, float y)
void SetCombatMovement(bool allowMovement)
bool HealthAbovePct(uint32 pct) const
const T & RAID_MODE(const T &normal10, const T &normal25) const
ScriptedAI(Creature *creature)
void AttackStart(Unit *) OVERRIDE
void DamageTaken(Unit *, uint32 &) OVERRIDE
void KilledUnit(Unit *victim) OVERRIDE
void MovementInform(uint32 type, uint32 point) OVERRIDE
void EnterCombat(Unit *victim) OVERRIDE
void SpellHitTarget(Unit *target, SpellInfo const *spell) OVERRIDE
void DoAction(int32 action) OVERRIDE
void JustSummoned(Creature *summon) OVERRIDE
uint32 GetData(uint32 type) const OVERRIDE
void SummonedCreatureDespawn(Creature *summon) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
boss_sindragosaAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
void JustReachedHome() OVERRIDE
void SetGUID(uint64 guid, int32 type) OVERRIDE
void DoAction(int32 action) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
uint64 _trappedPlayerGUID
void JustDied(Unit *) OVERRIDE
npc_ice_tombAI(Creature *creature)
uint32 _existenceCheckTimer
void JustRespawned() OVERRIDE
void DoAction(int32 action) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *) OVERRIDE
void MovementInform(uint32 type, uint32 point) OVERRIDE
void InitializeAI() OVERRIDE
InstanceScript * _instance
npc_rimefangAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
void InitializeAI() OVERRIDE
void JustRespawned() OVERRIDE
npc_sindragosa_trashAI(Creature *creature)
InstanceScript * _instance
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SetData(uint32 type, uint32 data) OVERRIDE
uint32 GetData(uint32 type) const OVERRIDE
void JustRespawned() OVERRIDE
void MovementInform(uint32 type, uint32 point) OVERRIDE
void InitializeAI() OVERRIDE
InstanceScript * _instance
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void DoAction(int32 action) OVERRIDE
void JustDied(Unit *) OVERRIDE
npc_spinestalkerAI(Creature *creature)