73 static constexpr std::array<std::string_view, 4> KeeperStringId = {{
"StoneKeeper1",
"StoneKeeper2",
"StoneKeeper3",
"StoneKeeper4" }};
74 auto stringId = std::ranges::find_if(KeeperStringId, [creature](std::string_view stringId) {
return creature->
HasStringId(stringId); });
75 if (stringId != KeeperStringId.end())
175 if (minion->isDead())
187 if (!keeper->IsAlive())
std::set< ObjectGuid > GuidSet
uint32 const EncounterCount
bool HasStringId(std::string_view id) const
void SetFlag(GameObjectFlags flags)
void SetBossNumber(uint32 number)
virtual bool SetBossState(uint32 id, EncounterState state)
virtual void OnCreatureCreate(Creature *creature) override
Creature * GetCreature(uint32 type)
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
virtual void OnCreatureRemove(Creature *creature) override
virtual void OnGameObjectCreate(GameObject *go) override
void LoadDoorData(DoorData const *data)
GameObject * GetGameObject(uint32 type)
void SetHeaders(std::string const &dataHeaders)
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn=false, bool force=false, std::vector< WorldObject * > *spawnedObjects=nullptr)
Creature * GetCreature(ObjectGuid const &guid)
static ObjectGuid const Empty
static Creature * ToCreature(Object *o)
static ObjectGuid GetGUID(Object const *o)
virtual void DoAction(int32)
virtual void OnUnitDeath(Unit *)
InstanceScript * GetInstanceScript(InstanceMap *map) const override
static constexpr ObjectData creatureData[]
void AddSC_instance_uldaman()
static constexpr DoorData doorData[]
static constexpr ObjectData gameObjectData[]
uint32 GetData(uint32 type) const override
void OnUnitDeath(Unit *unit) override
void ReadSaveDataMore(std::istringstream &stream) override
instance_uldaman_InstanceMapScript(InstanceMap *map)
void OnCreatureCreate(Creature *creature) override
GuidSet ArchaedasMinionsGuidSet
void OnGameObjectCreate(GameObject *go) override
std::array< ObjectGuid, 4 > StoneKeeperGuid
void SetData(uint32 type, uint32 data) override
void WriteSaveDataMore(std::ostringstream &stream) override
bool SetBossState(uint32 bossId, EncounterState state) override
void ProcessEvent(WorldObject *, uint32 eventId) override
void OnCreatureRemove(Creature *creature) override
@ ACTION_ARCHAEDAS_AWAKEN
@ ACTION_KEEPER_ACTIVATED
#define UldamanScriptName
@ GO_TEMPLE_DOOR_ARCHAEDAS
@ GO_TEMPLE_DOOR_TO_ARCHAEDAS
@ GO_TEMPLE_DOOR_TO_KEEPERS