65#define SPELL_SHARE_HEALTH (me->GetEntry() == NPC_BLAZING_MONSTROSITY_LEFT ? SPELL_SHARE_HEALTH_LEFT : SPELL_SHARE_HEALTH_RIGHT)
66#define SPELL_MOLTEN_BARRAGE (me->GetEntry() == NPC_BLAZING_MONSTROSITY_LEFT ? SPELL_MOLTEN_BARRAGE_LEFT : SPELL_MOLTEN_BARRAGE_RIGHT)
67#define SPELL_MOLTEN_BARRAGE_EFFECT (me->GetEntry() == NPC_BLAZING_MONSTROSITY_LEFT ? SPELL_MOLTEN_BARRAGE_EFFECT_L : SPELL_MOLTEN_BARRAGE_EFFECT_R)
97 _egg->RestoreDisplayId();
118 if (
_eggPile->GetDistance2d(
object) > 20.0f)
186 if (
me->IsInCombat())
189 if (!unit->IsCharmedOwnedByPlayerOrPlayer())
197 if (!
me->IsInCombat())
285 passenger->setFaction(35);
291 init.
MoveTo(0.6654003f, 0.0f, 1.9815f);
324 egg->AI()->DoAction(
me->GetEntry());
404 std::list<Creature*> eggs;
406 for (std::list<Creature*>::const_iterator itr = eggs.begin(); itr != eggs.end(); ++itr)
448 std::list<Creature*> eggs;
451 me->VisitNearbyGridObject(20.0f, searcher);
505 creature->DespawnOrUnsummon(4000);
549 if (
Unit* summoner = summ->GetSummoner())
556 angle = bird->GetOrientation();
565 angle -=
M_PI * 0.5f;
570 angle +=
M_PI * 0.5f;
DBCStorage< CreatureDisplayInfoEntry > sCreatureDisplayInfoStore(CreatureDisplayInfofmt)
void GetCreatureListWithEntryInGrid(std::list< Creature * > &list, WorldObject *source, uint32 entry, float maxSearchRange)
@ SPELL_EFFECT_SCRIPT_EFFECT
#define SpellEffectFn(F, I, N)
@ TRIGGERED_FULL_MASK
Will ignore most target checks (mostly DBC target checks).
@ CURRENT_CHANNELED_SPELL
@ UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FIELD_CHANNEL_OBJECT
#define SPELL_MOLTEN_BARRAGE
@ MODEL_INVISIBLE_STALKER
#define SPELL_SHARE_HEALTH
static void AlysrazorTrashEvaded(Creature *creature)
@ SPELL_MOLTEN_BARRAGE_LEFT
@ SPELL_RIGHT_SIDE_SMACK_R
@ SPELL_INVISIBILITY_AND_STEALTH_DETECTION
@ SPELL_LEFT_SIDE_SMACK_L
@ SPELL_SHARE_HEALTH_RIGHT
@ SPELL_FIEROCLAST_BARRAGE
@ SPELL_GENERIC_DUMMY_CAST
@ SPELL_MOLTEN_BARRAGE_VISUAL
@ SPELL_RIGHT_SIDE_SMACK_L
@ SPELL_KNOCKBACK_FORWARD
@ SPELL_MOLTEN_EGG_TRASH_CALL_L
@ SPELL_SHARE_HEALTH_LEFT
@ SPELL_LEFT_SIDE_SMACK_R
@ SPELL_MOLTEN_BARRAGE_RIGHT
@ SPELL_SUMMON_SMOULDERING_HATCHLING
@ SPELL_MOLTEN_BARRAGE_EFFECT_L
@ SPELL_MOLTEN_BARRAGE_EFFECT_R
@ SPELL_SLEEP_ULTRA_HIGH_PRIORITY
@ SPELL_ALYSRAZOR_COSMETIC_EGG_XPLOSION
@ SPELL_MOLTEN_EGG_TRASH_CALL_R
void AddSC_boss_alysrazor()
#define SPELL_MOLTEN_BARRAGE_EFFECT
@ EVENT_CONTINUE_SPITTING
@ EVENT_FIEROCLAST_BARRAGE
@ EVENT_SUMMON_SMOULDERING_HATCHLING
CreatureAI(Creature *creature)
virtual void MoveInLineOfSight(Unit *)
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
void Respawn(bool force=false)
void SetDisplayId(uint32 modelId) OVERRIDE
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
CreatureScript(const char *name)
void AddEvent(BasicEvent *Event, uint64 e_time, bool set_addtime=true)
uint64 CalculateTime(uint64 t_offset) const
bool operator()(Unit *object) const
MoltenEggCheck(Creature *pile)
void DisableTransportPathTransformations()
void SetFacing(float angle)
void MoveTo(const Vector3 &destination, bool generatePath=true, bool forceDestination=false)
NullCreatureAI(Creature *c)
static Creature * GetCreature(WorldObject const &u, uint64 guid)
RespawnEggEvent(Creature *egg)
bool Execute(uint64, uint32)
Creature * GetHitCreature()
HookList< CastHandler > AfterCast
SpellInfo const * GetSpellInfo()
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
SpellScriptLoader(const char *name)
float getThreat(Unit *victim, bool alsoSearchOfflineList=false)
void addThreat(Unit *victim, float threat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=NULL)
void operator()(Creature *creature) const
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoCastAOE(uint32 spellId, bool triggered=false)
virtual void AttackStart(Unit *)
void ClearUnitState(uint32 f)
void SetFacingTo(float ori)
void PlayOneShotAnimKit(uint32 id)
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)
MotionMaster * GetMotionMaster()
void AddUnitState(uint32 f)
uint32 GetDisplayId() const
uint32 GetNativeDisplayId() const
virtual void SetDisplayId(uint32 modelId)
ThreatManager & getThreatManager()
void VisitNearbyGridObject(float const &radius, NOTIFIER ¬ifier) const
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_blazing_monstrosity()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
PrepareSpellScript(spell_alysrazor_aggro_closest_SpellScript)
void HandleEffect(SpellEffIndex effIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_alysrazor_aggro_closest()
PrepareSpellScript(spell_alysrazor_cosmetic_egg_xplosion_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleExplosion(SpellEffIndex effIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_alysrazor_cosmetic_egg_xplosion()
PrepareSpellScript(spell_alysrazor_fieroblast_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
spell_alysrazor_fieroblast()
SpellScript * GetSpellScript() const OVERRIDE
void TurnBird(SpellEffIndex effIndex)
PrepareSpellScript(spell_alysrazor_turn_monstrosity_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void KnockBarrage(SpellEffIndex effIndex)
spell_alysrazor_turn_monstrosity()
SpellScript * GetSpellScript() const OVERRIDE
@ NPC_SMOULDERING_HATCHLING
@ NPC_BLAZING_MONSTROSITY_RIGHT
@ NPC_BLAZING_MONSTROSITY_LEFT
C::value_type const & SelectRandomContainerElement(C const &container)
void SetOrientation(float orientation)
ScriptedAI(Creature *creature)
void JustReachedHome() OVERRIDE
void SummonedCreatureDespawn(Creature *summon) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
void JustSummoned(Creature *summon) OVERRIDE
void PassengerBoarded(Unit *passenger, int8, bool apply) OVERRIDE
== Fields =======================================
void EnterEvadeMode() OVERRIDE
npc_blazing_monstrosityAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
uint32 _callHatchlingSpell
void DoAction(int32 action) OVERRIDE
void AttackStart(Unit *) OVERRIDE
npc_egg_pileAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustReachedHome() OVERRIDE
npc_harbinger_of_flameAI(Creature *creature)
void JustReachedHome() OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void MoveInLineOfSight(Unit *unit) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void IsSummonedBy(Unit *) OVERRIDE
npc_molten_barrageAI(Creature *creature)
void MovementInform(uint32 movementType, uint32) OVERRIDE
void AttackStart(Unit *target) OVERRIDE