313 for (
uint8 i = 0; i < 4; ++i)
406 algalon->AI()->JustSummoned(creature);
458 for (
uint8 i = 0; i < 4; ++i)
604 freya->AI()->DoAction(4);
608 hodir->AI()->DoAction(5);
652 gameObject->SetRespawnTime(gameObject->GetRespawnDelay());
665 HodirChest->SetRespawnTime(HodirChest->GetRespawnDelay());
677 cache->SetTapList(thorim->GetTapList());
678 cache->SetRespawnTime(cache->GetRespawnDelay());
697 gift->SetRespawnTime(gift->GetRespawnDelay());
701 if (
Player* player = itr->GetSource())
714 if (
Player* player = itr->GetSource())
758 hodir->RemoveGameObject(gameObject,
false);
955 vehicle->RemoveAllPassengers();
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
std::vector< ObjectGuid > GuidVector
@ EQUIPMENT_SLOT_MAINHAND
#define INVENTORY_SLOT_BAG_0
Position const AlgalonLandPos
Position const ObservationRingKeepersPos[4]
Position const YSKeepersPos[4]
void SetImmuneToPC(bool apply) override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void SetGoState(GOState state)
void SetFlag(GameObjectFlags flags)
void SetBossNumber(uint32 number)
virtual bool SetBossState(uint32 id, EncounterState state)
virtual void OnCreatureCreate(Creature *creature) override
void DoCloseDoorOrButton(ObjectGuid guid)
Creature * GetCreature(uint32 type)
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
void LoadDungeonEncounterData(T const &encounters)
void DoUpdateWorldState(int32 worldStateId, int32 value)
virtual void OnCreatureRemove(Creature *creature) override
virtual ObjectGuid GetGuidData(uint32 type) const override
BossInfo * GetBossInfo(uint32 id)
void AddMinion(Creature *minion, bool add)
EncounterState GetBossState(uint32 id) const
void TriggerGameEvent(uint32 gameEventId, WorldObject *source=nullptr, WorldObject *target=nullptr) override
virtual void OnGameObjectCreate(GameObject *go) override
virtual void AddDoor(GameObject *door, bool add)
void LoadMinionData(MinionData const *data)
void LoadDoorData(DoorData const *data)
GameObject * GetGameObject(uint32 type)
void LoadBossBoundaries(BossBoundaryData const &data)
virtual void UpdateDoorState(GameObject *door)
void SetHeaders(std::string const &dataHeaders)
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
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)
Milliseconds _despawnTimer
UlduarKeeperDespawnEvent(Creature *owner, Milliseconds despawnTimerOffset=500ms)
bool Execute(uint64, uint32) override
virtual void DoAction(int32)
void SetUninteractible(bool apply)
Vehicle * GetVehicleKit() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
InstanceScript * GetInstanceScript(InstanceMap *map) const override
ObjectData const creatureData[]
ObjectData const objectData[]
MinionData const minionData[]
static DoorData const doorData[]
void AddSC_instance_ulduar()
static BossBoundaryData const boundaries
DungeonEncounterData const encounters[]
std::array< GuidSet, static_cast< uint8 >(EncounterDoorBehavior::Max)> door
constexpr float GetPositionX() const
ObjectGuid MimironVehicleGUIDs[3]
void UpdateDoorState(GameObject *door) override
GuidVector LeviathanVehicleGUIDs
void Update(uint32 diff) override
bool SetBossState(uint32 type, EncounterState state) override
ObjectGuid HodirChestGUID
void OnCreatureRemove(Creature *creature) override
void SetGuidData(uint32, ObjectGuid) override
ObjectGuid ThorimDarkIronPortcullisGUID
void DespawnLeviatanVehicle(Creature *vehicleCreature)
bool IsDriveMeCrazyEligible
bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const *, Unit const *, uint32) override
bool _summonObservationRingKeeper[4]
uint32 GetCreatureEntry(ObjectGuid::LowType, CreatureData const *data) override
ObjectGuid MimironTramGUID
ObjectGuid HodirRareCacheGUID
void SetData(uint32 type, uint32 data) override
void OnPlayerEnter(Player *player) override
ObjectGuid BrainRoomDoorGUIDs[3]
ObjectGuid KologarnChestGUID
ObjectGuid AssemblyGUIDs[3]
ObjectGuid LeviathanGateGUID
void OnUnitDeath(Unit *unit) override
ObjectGuid KeeperGUIDs[4]
uint32 _maxWeaponItemLevel
void ProcessEvent(WorldObject *, uint32 eventId, WorldObject *) override
void AfterDataLoad() override
ObjectGuid CacheOfStormsHardmodeGUID
uint32 GetData(uint32 type) const override
ObjectGuid FreyaAchieveTriggerGUID
ObjectGuid GetGuidData(uint32 data) const override
ObjectGuid KologarnBridgeGUID
ObjectGuid XTToyPileGUIDs[4]
void OnCreatureCreate(Creature *creature) override
void OnGameObjectCreate(GameObject *gameObject) override
void AddDoor(GameObject *door, bool add) override
ObjectGuid CacheOfStormsGUID
uint32 _maxArmorItemLevel
instance_ulduar_InstanceMapScript(InstanceMap *map)
uint32 HodirRareCacheData
@ EVENT_DESPAWN_LEVIATHAN_VEHICLES
@ EVENT_LEVIATHAN_BREAK_DOOR
@ MAX_HERALD_WEAPON_ITEMLEVEL
@ MAX_HERALD_ARMOR_ITEMLEVEL
@ SPELL_TELEPORT_KEEPER_VISUAL
@ SPELL_LUMBERJACKED_CREDIT
@ DATA_RAZORSCALE_CONTROL
@ DATA_BRANN_BRONZEBEARD_INTRO
@ DATA_LORE_KEEPER_OF_NORGANNON
@ DATA_EXPEDITION_COMMANDER
@ DATA_BRANN_BRONZEBEARD_ALG
@ DATA_BRAIN_OF_YOGG_SARON
@ DATA_MIMIRON_WORLD_TRIGGER
@ DATA_GIFT_OF_THE_OBSERVER
@ DATA_ALGALON_SUMMON_STATE
@ DATA_VOICE_OF_YOGG_SARON
@ DATA_AERIAL_COMMAND_UNIT
@ GO_DOODAD_UL_SIGILDOOR_03
@ GO_DOODAD_UL_UNIVERSEGLOBE01
@ GO_HODIR_RARE_CACHE_OF_WINTER
@ GO_DOODAD_UL_SIGILDOOR_01
@ GO_GIFT_OF_THE_OBSERVER_10
@ GO_CACHE_OF_STORMS_HARDMODE_25
@ GO_THORIM_ENCOUNTER_DOOR
@ GO_DOODAD_UL_SIGILDOOR_02
@ GO_HODIR_RARE_CACHE_OF_WINTER_HERO
@ GO_CELESTIAL_PLANETARIUM_ACCESS_25
@ GO_DOODAD_UL_ULDUAR_TRAPDOOR_03
@ GO_CACHE_OF_STORMS_HARDMODE_10
@ GO_THORIM_DARK_IRON_PORTCULLIS
@ GO_DOODAD_UL_UNIVERSEFLOOR_01
@ GO_GIFT_OF_THE_OBSERVER_25
@ GO_CELESTIAL_PLANETARIUM_ACCESS_10
@ GO_DOODAD_UL_UNIVERSEFLOOR_02
@ GO_ANCIENT_GATE_OF_THE_KEEPERS
@ EVENT_TOWER_OF_STORM_DESTROYED
@ EVENT_HODIRS_PROTECTIVE_GAZE_PROC
@ EVENT_TOWER_OF_LIFE_DESTROYED
@ EVENT_ACTIVATE_SANITY_WELL
@ EVENT_TOWER_OF_FLAMES_DESTROYED
@ EVENT_TOWER_OF_FROST_DESTROYED
@ ACTION_TOWER_OF_FLAMES_DESTROYED
@ ACTION_TOWER_OF_STORM_DESTROYED
@ ACTION_MOVE_TO_CENTER_POSITION
@ ACTION_TOWER_OF_LIFE_DESTROYED
@ ACTION_TOWER_OF_FROST_DESTROYED
@ WORLD_STATE_YOGG_SARON_KEEPERS
@ NPC_ALGALON_STALKER_ASTEROID_TARGET_01
@ NPC_HODIR_OBSERVATION_RING
@ NPC_MIMIRON_OBSERVATION_RING
@ NPC_UNLEASHED_DARK_MATTER
@ NPC_HEART_OF_DECONSTRUCTOR
@ NPC_BATTLE_PRIEST_ELIZA
@ NPC_BRAIN_OF_YOGG_SARON
@ NPC_WORLD_TRIGGER_MIMIRON
@ NPC_HIGH_EXPLORER_DELLORAH
@ NPC_MERCENARY_CAPTAIN_A
@ NPC_EXPEDITION_COMMANDER
@ NPC_FREYA_OBSERVATION_RING
@ NPC_MERCENARY_SOLDIER_H
@ NPC_THORIM_OBSERVATION_RING
@ NPC_RAZORSCALE_CONTROLLER
@ NPC_BRANN_BRONZEBEARD_INTRO
@ NPC_SALVAGED_SIEGE_ENGINE
@ NPC_AERIAL_COMMAND_UNIT
@ NPC_LORE_KEEPER_OF_NORGANNON
@ NPC_ALGALON_STALKER_ASTEROID_TARGET_02
@ NPC_ELEMENTALIST_MAHFUUN
@ NPC_VOICE_OF_YOGG_SARON
@ NPC_MERCENARY_CAPTAIN_H
@ NPC_ALGALON_VOID_ZONE_VISUAL_STALKER
@ NPC_MERCENARY_SOLDIER_A
@ NPC_BRANN_BRONZBEARD_ALG
@ NPC_FREYA_ACHIEVE_TRIGGER
@ NPC_SALVAGED_DEMOLISHER
@ CRITERIA_C_O_U_VEZAX_25
@ CRITERIA_C_O_U_THORIM_10
@ CRITERIA_C_O_U_THORIM_25
@ CRITERIA_C_O_U_IRON_COUNCIL_25
@ CRITERIA_WAITS_DREAMING_CHAMBER_25
@ CRITERIA_C_O_U_KOLOGARN_10
@ CRITERIA_C_O_U_IGNIS_25
@ CRITERIA_WAITS_DREAMING_STORMWIND_25
@ CRITERIA_DRIVE_ME_CRAZY_25
@ CRITERIA_C_O_U_XT002_10
@ CRITERIA_C_O_U_AURIAYA_10
@ CRITERIA_C_O_U_MIMIRON_10
@ CRITERIA_WAITS_DREAMING_STORMWIND_10
@ CRITERIA_WAITS_DREAMING_ICECROWN_10
@ CRITERIA_C_O_U_XT002_25
@ CRITERIA_C_O_U_LEVIATHAN_10
@ CRITERIA_C_O_U_IGNIS_10
@ CRITERIA_C_O_U_YOGG_SARON_10
@ CRITERIA_CON_SPEED_ATORY
@ CRITERIA_C_O_U_HODIR_25
@ CRITERIA_C_O_U_VEZAX_10
@ CRITERIA_C_O_U_FREYA_10
@ CRITERIA_C_O_U_KOLOGARN_25
@ CRITERIA_C_O_U_RAZORSCALE_25
@ CRITERIA_WAITS_DREAMING_CHAMBER_10
@ CRITERIA_C_O_U_RAZORSCALE_10
@ CRITERIA_C_O_U_HODIR_10
@ CRITERIA_DRIVE_ME_CRAZY_10
@ CRITERIA_HERALD_OF_TITANS
@ CRITERIA_C_O_U_LEVIATHAN_25
@ CRITERIA_C_O_U_AURIAYA_25
@ CRITERIA_WAITS_DREAMING_ICECROWN_25
@ CRITERIA_C_O_U_FREYA_25
@ CRITERIA_C_O_U_YOGG_SARON_25
@ CRITERIA_C_O_U_IRON_COUNCIL_10
@ CRITERIA_C_O_U_MIMIRON_25