168 if (attempts++ >= 6)
break;
223 { 177.9624f, -68.23893f, 84.95197f, 3.228859f },
224 { 183.7705f, -61.43489f, 84.92424f, 5.148721f },
225 { 184.7035f, -77.74805f, 84.92424f, 4.660029f },
227 { 111.7203f, -1.105035f, 85.45985f, 3.961897f },
228 { 118.0079f, 6.430664f, 85.31169f, 2.408554f },
229 { 120.0276f, -7.496636f, 85.31169f, 2.984513f },
231 { 245.3716f, 0.628038f, 72.73877f, 0.01745329f },
232 { 240.9920f, 3.405653f, 72.73877f, 6.143559f },
233 { 240.9543f, -3.182943f, 72.73877f, 0.2268928f },
235 { 181.8245f, -42.58117f, 75.4812f, 4.660029f },
236 { 177.7456f, -42.74745f, 75.4812f, 4.886922f },
237 { 185.6157f, -42.91200f, 75.4812f, 4.45059f },
274 int8 pos_to_summon = 0;
275 int8 phase_to_set = 0;
276 int32 gate_to_close = 0;
316 for (
uint8 i = 0; i < 3; ++i)
320 Summoned->GetMotionMaster()->MoveRandom(5);
321 Summoned->AI()->SetData(0, phase_to_set);
TC_GAME_API bool InstanceHasScript(WorldObject const *obj, char const *scriptName)
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
uint32 urand(uint32 min, uint32 max)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SEND_EVENT
#define SpellEffectFn(F, I, N)
Position const SummonPos[18]
void AddSC_boss_darkmaster_gandling()
@ ROOM_HALL_OF_THE_DAMNED
@ ROOM_BAROV_FAMILY_VAULT
@ ROOM_VAULT_OF_THE_RAVENIAN
@ SPELL_SHADOW_PORTAL_THECOVEN
@ SPELL_SHADOW_PORTAL_HALLOFTHEDAMNED
@ SPELL_SHADOW_PORTAL_HALLOFSECRETS
@ SPELL_SHADOW_PORTAL_BAROVFAMILYVAULT
@ SPELL_SHADOW_PORTAL_VAULTOFTHERAVENIAN
@ SPELL_SHADOW_PORTAL_THESHADOWVAULT
@ SPELL_EVENT_HALLOFSECRETS
@ SPELL_EVENT_HALLOFTHEDAMNED
@ SPELL_EVENT_BAROVFAMILYVAULT
@ SPELL_EVENT_THESHADOWVAULT
@ SPELL_EVENT_VAULTOFTHERAVENIAN
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void Repeat(Milliseconds time)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
virtual ObjectGuid GetGuidData(uint32 type) const override
void MoveRandom(float wanderDistance=0.0f)
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
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)
MotionMaster * GetMotionMaster()
bool HasUnitState(const uint32 f) const
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)
void HandleSendEvent(SpellEffIndex)
PrepareSpellScript(spell_shadow_portal_rooms)
InstanceScript * _instance
void HandleCast(SpellEffIndex)
PrepareSpellScript(spell_shadow_portal)
InstanceScript * _instance
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
@ DATA_DARKMASTER_GANDLING
#define ScholomanceScriptName
#define RegisterScholomanceCreatureAI(ai_name)
bool HealthAbovePct(uint32 pct) const
void JustEngagedWith(Unit *who) override
boss_darkmaster_gandling(Creature *creature)
void JustDied(Unit *) override
void IsSummonedBy(WorldObject *) override
void UpdateAI(uint32 diff) override