226 me->SetFacingToObject(summoner);
227 me->SetInCombatWith(summoner);
238 me->RemoveCorpse(
false);
283 for (
uint8 i = 0; i < 3; ++i)
284 for (
uint8 n = 0; n < 2; ++n)
286 for (
uint8 i = 0; i < 6; ++i)
287 for (
uint8 n = 0; n < 2; ++n)
289 for (
uint8 n = 0; n < 2; ++n)
294 for (
uint8 n = 0; n < 3; ++n)
306 if (damage >=
me->GetHealth())
318 for (
uint8 n = 0; n < 3; ++n)
321 if (Elder[n] && Elder[n]->IsAlive())
333 if (Elder[0] && Elder[0]->IsAlive())
339 if (Elder[1] && Elder[1]->IsAlive())
345 if (Elder[2] && Elder[2]->IsAlive())
448 for (
uint8 i = 0; i < 2; ++i)
455 for (
uint8 k = 0; k < 3; ++k)
461 if (Elemental[0][i] && Elemental[1][i] && Elemental[2][i])
463 for (
uint8 n = 0; n < 3; ++n)
465 if (Elemental[n][i]->IsAlive())
466 Elemental[n][i]->
SetHealth(Elemental[n][i]->GetMaxHealth());
478 if (Elemental[0][i] && Elemental[1][i] && Elemental[2][i])
480 if (Elemental[0][i]->isDead() && Elemental[1][i]->isDead() && Elemental[2][i]->isDead())
482 for (
uint8 n = 0; n < 3; ++n)
484 summons.Despawn(Elemental[n][i]);
505 for (
uint8 i = 0; i < 5; ++i)
516 for (
uint8 i = 0; i < 6; ++i)
534 for (
uint8 n = 0; n < 3; ++n)
537 uint8 randomId = std::rand() % 2;
540 randomId = std::rand() % 2;
552 for (
uint8 n = 0; n < 10; ++n)
572 const uint32 summonSpell[2][4] =
575 {62950, 62953, 62955, 62957},
576 {62952, 62954, 62956, 62958}
579 me->CastSpell((
Unit*)NULL, summonSpell[
me->GetMap()->GetDifficulty()][
elderCount],
true);
584 me->RemoveAllAuras();
587 me->DeleteThreatList();
588 me->CombatStop(
true);
589 me->DespawnOrUnsummon(7500);
593 for (
uint8 n = 0; n < 3; ++n)
596 if (Elder[n] && Elder[n]->IsAlive())
609 switch (summoned->GetEntry())
630 summoned->AI()->AttackStart(target);
631 summoned->AddThreat(target, 250.0f);
638 switch (summoned->GetEntry())
643 summoned->DespawnOrUnsummon(5000);
648 summoned->DespawnOrUnsummon(5000);
732 uint8 stackAmount = 0;
743 Flux->SetStackAmount(std::rand() % 8 + 1);
764 me->DespawnOrUnsummon(10000);
843 int32 reflect = damage;
894 me->DespawnOrUnsummon(10000);
1008 me->DespawnOrUnsummon(10000);
1062 me->AddThreat(target,
me->getThreatManager().getThreat(
me->GetVictim(),
false) * 1.2f);
1063 me->AI()->AttackStart(target);
1276 for (
uint8 n = 0; n < sporesCount; ++n)
1364 lifeTimer = std::rand() % 30000 + 22000;
1372 me->DespawnOrUnsummon(2200);
1373 lifeTimer = std::rand() % 30000 + 22000;
1412 me->DespawnOrUnsummon(2500);
1451 me->RemoveGameObject(go,
true);
1452 me->RemoveFromWorld();
1494 me->DisappearAndDie();
1537 for (
uint8 n = 0; n < 2; ++n)
1542 for (
uint8 n = 0; n < 10; ++n)
1547 for (
uint8 n = 0; n < 25; ++n)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_KNOCK_BACK
#define SpellEffectFn(F, I, N)
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NOT_SELECTABLE
@ DATA_GETTING_BACK_TO_NATURE
@ EVENT_STRENGTHENED_IRON_ROOTS
@ EVENT_UNSTABLE_SUN_BEAM
@ SPELL_SUMMON_ANCIENT_CONSERVATOR
@ SPELL_ATTUNED_TO_NATURE_10_DOSE_REDUCTION
@ SPELL_HEALTHY_SPORE_VISUAL
@ SPELL_UNSTABLE_SUN_BEAM_TRIGGERED
@ SPELL_IRONBRANCH_ESSENCE
@ SPELL_DEFORESTATION_CREDIT
@ SPELL_FREYA_UNSTABLE_ENERGY_VISUAL
@ SPELL_POTENT_PHEROMONES
@ SPELL_BRIGHTLEAF_ESSENCE
@ SPELL_UNSTABLE_SUN_BEAM
@ SPELL_UNSTABLE_SUN_BEAM_SUMMON
@ SPELL_SUMMON_EONAR_GIFT
@ SPELL_SUMMON_NATURE_BOMB
@ SPELL_PETRIFIED_BARK_DMG
@ SPELL_ATTUNED_TO_NATURE_25_DOSE_REDUCTION
@ SPELL_TIDAL_WAVE_EFFECT
@ SPELL_FREYA_UNSTABLE_ENERGY
@ SPELL_FREYA_GROUND_TREMOR
@ SPELL_FREYA_UNSTABLE_SUNBEAM
@ SPELL_KNOCK_ON_WOOD_CREDIT
@ SPELL_STONEBARK_ESSENCE
@ SPELL_ATTUNED_TO_NATURE_2_DOSE_REDUCTION
@ SPELL_ATTUNED_TO_NATURE
@ NPC_STRENGTHENED_IRON_ROOTS
@ NPC_ANCIENT_WATER_SPIRIT
@ NPC_ANCIENT_CONSERVATOR
@ ACTION_ELDER_FREYA_KILLED
AchievementCriteriaScript(const char *name)
InstanceScript *const instance
BossAI(Creature *creature, uint32 bossId)
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
void RemoveLootMode(uint16 lootMode)
void Respawn(bool force=false)
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
CreatureScript(const char *name)
static Creature * GetCreature(WorldObject const &u, uint64 guid)
static Player * GetPlayer(WorldObject const &, uint64 guid)
SpellInfo const * GetSpellInfo()
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
SpellScriptLoader(const char *name)
virtual void DoAction(int32)
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 *)
void CombatStop(bool includingCast=false)
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)
void RemoveAuraFromStack(uint32 spellId, uint64 casterGUID=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void NearTeleportTo(float x, float y, float z, float orientation, bool casting=false)
void SetHealth(uint32 val)
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
void SetInCombatWith(Unit *enemy)
bool OnCheck(Player *, Unit *target) OVERRIDE
achievement_getting_back_to_nature()
bool OnCheck(Player *, Unit *target) OVERRIDE
achievement_knock_knock_knock_on_wood()
bool OnCheck(Player *, Unit *target) OVERRIDE
achievement_knock_knock_on_wood()
bool OnCheck(Player *, Unit *target) OVERRIDE
achievement_knock_on_wood()
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
npc_ancient_conservator()
npc_ancient_water_spirit()
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
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
PrepareSpellScript(spell_freya_attuned_to_nature_dose_reduction_SpellScript)
void HandleScript(SpellEffIndex)
spell_freya_attuned_to_nature_dose_reduction()
SpellScript * GetSpellScript() const OVERRIDE
void HandleSummon(SpellEffIndex effIndex)
PrepareSpellScript(spell_freya_iron_roots_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
void GetPosition(float &x, float &y) const
void SetCombatMovement(bool allowMovement)
ScriptedAI(Creature *creature)
void JustDied(Unit *killer) OVERRIDE
void DoAction(int32 action) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
boss_elder_brightleafAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
void KilledUnit(Unit *who) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void DoAction(int32 action) OVERRIDE
void JustDied(Unit *killer) OVERRIDE
void KilledUnit(Unit *who) OVERRIDE
boss_elder_ironbranchAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
boss_elder_stonebarkAI(Creature *creature)
void DamageTaken(Unit *who, uint32 &damage) OVERRIDE
void JustDied(Unit *killer) OVERRIDE
void DoAction(int32 action) OVERRIDE
void KilledUnit(Unit *who) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void LasherDead(uint32 type)
void KilledUnit(Unit *who) OVERRIDE
void JustDied(Unit *) OVERRIDE
uint32 deforestation[6][2]
void SummonedCreatureDies(Creature *summoned, Unit *who) OVERRIDE
void DamageTaken(Unit *who, uint32 &damage) OVERRIDE
boss_freyaAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
bool checkElementalAlive[2]
uint64 ElementalGUID[3][2]
void EnterCombat(Unit *who) OVERRIDE
uint32 GetData(uint32 type) const OVERRIDE
void JustSummoned(Creature *summoned) OVERRIDE
void SummonHealthySpores(uint8 sporesCount)
void EnterCombat(Unit *who) OVERRIDE
npc_ancient_conservatorAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
InstanceScript * instance
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
npc_ancient_water_spiritAI(Creature *creature)
npc_detonating_lasherAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_eonars_giftAI(Creature *creature)
uint32 lifeBindersGiftTimer
npc_healthy_sporeAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
void IsSummonedBy(Unit *summoner) OVERRIDE
npc_iron_rootsAI(Creature *creature)
npc_nature_bombAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
npc_snaplasherAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
InstanceScript * instance
void JustDied(Unit *) OVERRIDE
InstanceScript * instance
npc_storm_lasherAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
uint32 lightningLashTimer
npc_sun_beamAI(Creature *creature)
InstanceScript * instance
npc_unstable_sun_beamAI(Creature *creature)
void SpellHitTarget(Unit *target, SpellInfo const *spell) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================