87 {-33.93f, 1149.27f, 19}
92 {-10.13f, 1149.27f, 19, 3.1415f},
93 {-33.93f, 1123.90f, 19, 0.5f*3.1415f},
94 {-54.80f, 1150.08f, 19, 0},
95 {-33.93f, 1175.68f, 19, 1.5f*3.1415f}
101 {-87.46f, 1170.09f, 6},
102 {-74.41f, 1154.75f, 6},
103 {-52.74f, 1153.32f, 19},
104 {-33.37f, 1172.46f, 19},
105 {-33.09f, 1203.87f, 19}
108 {-86.57f, 1132.85f, 6},
109 {-73.94f, 1146.00f, 6},
110 {-52.29f, 1146.51f, 19},
111 {-33.57f, 1125.72f, 19},
112 {-34.29f, 1095.22f, 19}
142 for (
uint8 i = 0; i < 40; ++i)
202 for (
uint8 i = 0; i < 4; ++i)
204 if (i == 0 || i == 2)
209 for (
uint8 j = 0; j < WallNum; j++)
223 for (
int i(0); i < 40; ++i)
237 std::list<Creature*> templist;
242 if (templist.empty())
245 for (std::list<Creature*>::const_iterator i = templist.begin(); i != templist.end(); ++i)
248 (*i)->SetDisplayId(10056);
249 else if (action == 2 &&(*i)->GetDisplayId() != 11686)
257 std::list<Creature*> templist;
261 for (std::list<Creature*>::const_iterator i = templist.begin(); i != templist.end(); ++i)
264 (*i)->RemoveAllAuras();
367 if (
Player* i_pl = i->GetSource())
425 return GetZulAmanAI<boss_janalaiAI>(creature);
457 return GetZulAmanAI<npc_janalai_firebombAI>(creature);
503 std::list<Creature*> templist;
509 for (std::list<Creature*>::const_iterator i = templist.begin(); i != templist.end() && num > 0; ++i)
510 if ((*i)->GetDisplayId() != 11686)
582 return GetZulAmanAI<npc_janalai_hatcherAI>(creature);
645 return GetZulAmanAI<npc_janalai_hatchlingAI>(creature);
671 return GetZulAmanAI<npc_janalai_eggAI>(creature);
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
int32 irand(int32 min, int32 max)
uint32 urand(uint32 min, uint32 max)
void GetCreatureListWithEntryInGrid(Container &container, WorldObject *source, uint32 entry, float maxSearchRange)
@ UNIT_FLAG_UNINTERACTIBLE
float hatcherway[2][5][3]
@ SPELL_FIRE_BOMB_CHANNEL
float FireWallCoords[4][4]
void AddSC_boss_janalai()
void JustEngagedWith(Unit *who) override
EncounterState GetBossState(uint32 id) const
PlayerList const & GetPlayers() const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
static ObjectGuid GetGUID(Object const *o)
void DoMeleeAttackIfReady()
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
void StopMoving(bool force=false)
MotionMaster * GetMotionMaster()
bool IsNonMeleeSpellCast(bool withDelayed, bool skipChanneled=false, bool skipAutorepeat=false, bool isAutoshoot=false, bool skipInstant=true) const
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
bool SetWalk(bool enable)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
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
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
bool HasInArc(float arcangle, Position const *pos, float border=2.0f) const
float GetPositionY() const
void DoTeleportTo(float x, float y, float z, uint32 time=0)
void DoTeleportPlayer(Unit *unit, float x, float y, float z, float o)
bool HealthBelowPct(uint32 pct) const
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void DamageDealt(Unit *target, uint32 &damage, DamageEffectType) override
void JustDied(Unit *) override
boss_janalaiAI(Creature *creature)
ObjectGuid FireBombGUIDs[40]
bool HatchAllEggs(uint32 action)
void HandleBombSequence()
void KilledUnit(Unit *) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void UpdateAI(uint32) override
npc_janalai_eggAI(Creature *creature)
void AttackStart(Unit *) override
void MoveInLineOfSight(Unit *) override
npc_janalai_firebombAI(Creature *creature)
void JustEngagedWith(Unit *) override
void UpdateAI(uint32) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void JustEngagedWith(Unit *) override
npc_janalai_hatcherAI(Creature *creature)
void UpdateAI(uint32 diff) override
void AttackStart(Unit *) override
void MovementInform(uint32, uint32) override
bool HatchEggs(uint32 num)
InstanceScript * instance
void MoveInLineOfSight(Unit *) override
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
npc_janalai_hatchlingAI(Creature *creature)
InstanceScript * instance