83 for (
uint8 i = 0; i < 5; ++i)
168 TC_LOG_DEBUG(
"scripts",
"Instance Stratholme: Cannot open slaugther square yet.");
181 go->UseDoorOrButton(10);
183 go->SetGoState((
GOState)newState);
327 if (!pAbom->IsAlive())
337 TC_LOG_DEBUG(
"scripts",
"Instance Stratholme: Ramstein spawned.");
340 TC_LOG_DEBUG(
"scripts",
"Instance Stratholme: {} Abomnation left to kill.", count);
349 TC_LOG_DEBUG(
"scripts",
"Instance Stratholme: Slaugther event will continue in 1 minute.");
383 TC_LOG_DEBUG(
"scripts",
"Instance Stratholme: Baron run in progress.");
397 cage->UseDoorOrButton();
402 ysida->SetWalk(
true);
405 ysida->GetClosePoint(x, y, z, ysida->GetObjectScale() / 3, 4.0f);
406 ysida->GetMotionMaster()->MovePoint(1, x, y, z);
410 for (
auto const& i : players)
412 if (
Player* player = i.GetSource())
414 if (player->IsGameMaster())
505 for (
uint8 i = 0; i < 4; ++i)
510 TC_LOG_DEBUG(
"scripts",
"Instance Stratholme: Black guard sentries spawned. Opening gates to baron.");
#define TC_LOG_DEBUG(filterType__, message__,...)
@ TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
std::set< ObjectGuid > GuidSet
@ UNIT_NPC_FLAG_QUESTGIVER
bool IsWithinBoundary(Position const *pos) const
void GetHomePosition(float &x, float &y, float &z, float &ori) const
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void CancelEvent(uint32 eventId)
void SetFlag(GameObjectFlags flags)
void SetBossNumber(uint32 number)
virtual bool SetBossState(uint32 id, EncounterState state)
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell, bool includePets=false, bool includeControlled=false)
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
void LoadDungeonEncounterData(T const &encounters)
EncounterState GetBossState(uint32 id) const
void SetHeaders(std::string const &dataHeaders)
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, Milliseconds duration=0ms, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty, SmoothPhasingInfo const *smoothPhasingInfo=nullptr)
GameObject * GetGameObject(ObjectGuid const &guid)
PlayerList const & GetPlayers() const
Creature * GetCreature(ObjectGuid const &guid)
static ObjectGuid const Empty
static Creature * ToCreature(Object *o)
static ObjectGuid GetGUID(Object const *o)
void RemoveNpcFlag(NPCFlags flags)
InstanceScript * GetInstanceScript(InstanceMap *map) const override
EllipseBoundary const beforeScarletGate(Position(3671.158f, -3181.79f), 60.0f, 40.0f)
static constexpr DungeonEncounterData Encounters[]
Position const timmyTheCruelSpawnPosition
void AddSC_instance_stratholme()
@ BOSS_HEARTHSINGER_FORRESTEN
@ BOSS_INSTRUCTOR_GALFORD
@ BOSS_MAGISTRATE_BARTHILAS
@ BOSS_RAMSTEIN_THE_GORGER
@ BOSS_WILLEY_HOPEBREAKER
@ NPC_HEARTHSINGER_FORRESTEN
@ SPELL_YSIDA_CREDIT_EFFECT
#define StratholmeScriptName
@ TIMMY_THE_CRUEL_CRUSADERS_REQUIRED
amount of crusade monsters required to be killed in order for timmy the cruel to spawn
void UpdateGoState(ObjectGuid goGuid, uint32 newState, bool withRestoreTime)
bool StartSlaugtherSquare()
ObjectGuid portGauntletGUID
ObjectGuid GetGuidData(uint32 data) const override
ObjectGuid portSlaugtherGUID
void OnCreatureCreate(Creature *creature) override
bool SetBossState(uint32 id, EncounterState state) override
void SetData(uint32 type, uint32 data) override
EncounterState baronRunState
ObjectGuid gauntletGate1GUID
void AfterDataLoad() override
void OnCreatureRemove(Creature *creature) override
void OnGameObjectCreate(GameObject *go) override
void Update(uint32 diff) override
uint32 GetData(uint32 type) const override
ObjectGuid ysidaTriggerGUID
void OnUnitDeath(Unit *who) override
ObjectGuid serviceEntranceGUID
instance_stratholme_InstanceMapScript(InstanceMap *map)