121#define STOMACH_X -8562.0f
122#define STOMACH_Y 2037.0f
123#define STOMACH_Z -70.0f
124#define STOMACH_O 5.05f
129 { -8571.0f, 1990.0f, -98.0f, 1.22f},
130 { -8525.0f, 1994.0f, -98.0f, 2.12f},
193 me->SetVisible(
true);
217 Spawned->AI()->AttackStart(target);
251 switch (currentPhase)
260 me->InterruptNonMeleeSpells(
false);
264 me->SetTarget(target->GetGUID());
281 if (Spawned && Spawned->
AI())
295 me->InterruptNonMeleeSpells(
false);
358 me->InterruptNonMeleeSpells(
false);
378 me->SetVisible(
false);
387 me->DespawnOrUnsummon();
403 if (damage < me->GetHealth())
407 me->InterruptNonMeleeSpells(
false);
424 me->InterruptNonMeleeSpells(
true);
425 me->RemoveAllAuras();
515 me->SetVisible(
false);
530 if (Spawned && Spawned->
AI())
542 std::list<Unit*> temp;
543 std::list<Unit*>::const_iterator j;
552 if (unit && i->second ==
false)
553 temp.push_back(unit);
565 advance (j, rand() % (temp.size() - 1));
579 Map* map =
me->GetMap();
590 if (
Player* pPlr = itr->GetSource())
629 switch (currentPhase)
640 me->InterruptNonMeleeSpells(
false);
644 me->SetVisible(
true);
654 for (std::list<HostileReference*>::const_iterator i =
me->getThreatManager().getThreatList().begin(); i !=
me->getThreatManager().getThreatList().end(); ++i)
661 for (
uint8 i = 0; i < 2; i++)
697 if (unit && i->second ==
true)
728 if (unit && i->second ==
true)
761 target->InterruptNonMeleeSpells(
false);
795 spawned->AI()->AttackStart(target);
810 spawned->AI()->AttackStart(target);
834 for (
uint8 i = 0; i < 2; i++)
869 if (damage >=
me->GetHealth())
912 pPortal->SetReactState(REACT_PASSIVE);
913 Portal = pPortal->GetGUID();
989 Portal = pPortal->GetGUID();
1024 if (!
me->IsWithinMeleeRange(
me->GetVictim()))
1032 me->SetVisible(
false);
1047 Portal = pPortal->GetGUID();
1056 me->SetVisible(
true);
1098 Portal = pPortal->GetGUID();
1135 if (!
me->IsWithinMeleeRange(
me->GetVictim()))
1143 me->SetVisible(
false);
1158 Portal = pPortal->GetGUID();
1167 me->SetVisible(
true);
1216 Portal = pPortal->GetGUID();
1280 if (
Unit* summoner = summon->GetSummoner())
1281 if (summoner->IsAIEnabled)
const T & RAND(const T &v1, const T &v2)
#define SF_LOG_ERROR(filterType__,...)
@ TEMPSUMMON_CORPSE_DESPAWN
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NOT_SELECTABLE
@ ACTION_FLESH_TENTACLE_KILLED
@ SPELL_EXIT_STOMACH_KNOCKBACK
@ SPELL_PURPLE_COLORATION
@ SPELL_MASSIVE_GROUND_RUPTURE
const Position FleshTentaclePos[2]
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
void SetReactState(ReactStates st)
CreatureScript(const char *name)
PlayerList const & GetPlayers() const
LinkedListHead::Iterator< MapReference const > const_iterator
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)
virtual void AttackStart(Unit *)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
static Unit * GetUnit(WorldObject &object, uint64 guid)
bool IsWithinDist3d(float x, float y, float z, float dist) const
InstanceScript * GetInstanceScript()
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_giant_claw_tentacle()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_giant_flesh_tentacle()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
float GetPositionZ() const
float GetPositionX() const
float GetPositionY() const
void SetCombatMovement(bool allowMovement)
void DoTeleportPlayer(Unit *unit, float x, float y, float z, float o)
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, TempSummonType type, uint32 despawntime)
ScriptedAI(Creature *creature)
void AttackStart(Unit *) OVERRIDE
UNORDERED_MAP< uint64, bool > Stomach_Map
cthunAI(Creature *creature)
void DoAction(int32 param) OVERRIDE
uint32 StomachEnterVisTimer
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *) OVERRIDE
void JustDied(Unit *) OVERRIDE
uint8 FleshTentaclesKilled
InstanceScript * instance
uint64 StomachEnterTarget
uint32 GiantClawTentacleTimer
Unit * SelectRandomNotStomach()
uint32 GiantEyeTentacleTimer
void DamageTaken(Unit *, uint32 &damage) OVERRIDE
void SpawnEyeTentacle(float x, float y)
void DamageTaken(Unit *, uint32 &damage) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
uint32 DarkGlareTickTimer
void SpawnEyeTentacle(float x, float y)
InstanceScript * instance
eye_of_cthunAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
claw_tentacleAI(Creature *creature)
uint32 GroundRuptureTimer
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
eye_tentacleAI(Creature *creature)
giant_claw_tentacleAI(Creature *creature)
uint32 GroundRuptureTimer
void EnterCombat(Unit *) OVERRIDE
void JustDied(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
giant_eye_tentacleAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
flesh_tentacleAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
@ NPC_GIANT_CLAW_TENTACLE