167 switch (creature->GetEntry())
214 creature->LastUsedScriptID = creature->GetScriptId();
277 if (creature->GetExactDist2d(4357.052f, 2769.421f) < 10.0f)
292 creature->SetCorpseDelay(0);
399 switch (go->GetEntry())
502 go->SetLootRecipient(valithria->GetLootRecipient());
528 go->SetRespawnTime(7 *
DAY);
533 go->SetRespawnTime(7 *
DAY);
538 go->SetRespawnTime(7 *
DAY);
547 switch (go->GetEntry())
695 loot->SetLootRecipient(deathbringer->GetLootRecipient());
754 putricide->DespawnOrUnsummon();
770 bq->DespawnOrUnsummon();
790 sindra->DespawnOrUnsummon();
811 theLichKing->DespawnOrUnsummon();
818 bolvar->SetRespawnTime(7 *
DAY);
820 pillars->SetRespawnTime(7 *
DAY);
822 pillars->SetRespawnTime(7 *
DAY);
927 return instance->ToInstanceMap()->GetMaxPlayers() == 10;
931 return instance->ToInstanceMap()->GetMaxPlayers() == 25;
1080 std::list<Creature*> stalkers;
1082 if (stalkers.empty())
1087 stalkers.pop_front();
1088 for (std::list<Creature*>::iterator itr = stalkers.begin(); itr != stalkers.end(); ++itr)
1089 (*itr)->AI()->Reset();
1098 std::ostringstream saveStream;
1103 return saveStream.str();
1116 char dataHead1, dataHead2;
1118 std::istringstream loadStream(str);
1119 loadStream >> dataHead1 >> dataHead2;
1121 if (dataHead1 ==
'I' && dataHead2 ==
'C')
1126 loadStream >> tmpState;
1226 std::list<Creature*> triggers;
1228 if (!triggers.empty())
1231 Unit* visual = triggers.front();
1237 terenas->AI()->AttackStart(warden);
1238 warden->AddThreat(terenas, 300000.0f);
@ GO_STATE_ACTIVE_ALTERNATIVE
#define OUT_LOAD_INST_DATA_FAIL
#define OUT_SAVE_INST_DATA_COMPLETE
#define OUT_LOAD_INST_DATA_COMPLETE
#define OUT_SAVE_INST_DATA
#define OUT_LOAD_INST_DATA(a)
void GetCreatureListWithEntryInGrid(std::list< Creature * > &list, WorldObject *source, uint32 entry, float maxSearchRange)
@ GO_DESTRUCTIBLE_DESTROYED
@ GO_DESTRUCTIBLE_REBUILDING
@ GO_DESTRUCTIBLE_DAMAGED
uint32 const EncounterCount
Position const SindragosaSpawnPos
Position const TerenasSpawn
Position const SpiritWardenSpawn
Position const ValithriaSpawnPos
uint32 GetDBTableGUIDLow() const
InstanceMapScript(const char *name, uint32 mapId)
void SetBossNumber(uint32 number)
virtual bool SetBossState(uint32 id, EncounterState state)
std::string GetBossSaveData()
EncounterState GetBossState(uint32 id) const
void AddDoor(GameObject *door, bool add)
void LoadDoorData(DoorData const *data)
void HandleGameObject(uint64 guid, bool open, GameObject *go=NULL)
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue)
virtual uint32 GetData(uint32) const
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
instance_icecrown_citadel()
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
uint32 const MaxHeroicAttempts
@ NPC_THE_LICH_KING_VALITHRIA
@ NPC_GREEN_DRAGON_COMBAT_TRIGGER
@ NPC_INFILTRATOR_MINCHAR_BQ
@ NPC_TERENAS_MENETHIL_FROSTMOURNE
@ NPC_SKYBREAKER_LIEUTENANT
@ NPC_VALITHRIA_DREAMWALKER
@ NPC_YMIRJAR_BATTLE_MAIDEN
@ NPC_ROTTING_FROST_GIANT_25
@ NPC_DEATHBRINGER_SAURFANG
@ NPC_BLOOD_ORB_CONTROLLER
@ NPC_KOR_KRON_LIEUTENANT
@ NPC_SE_SKYBREAKER_MARINE
@ NPC_ROTTING_FROST_GIANT_10
@ NPC_INFILTRATOR_MINCHAR
@ NPC_BLOOD_QUEEN_LANA_THEL
@ NPC_HIGHLORD_TIRION_FORDRING_LK
@ NPC_SE_HIGH_OVERLORD_SAURFANG
@ NPC_MINCHAR_BEAM_STALKER
@ NPC_PROFESSOR_PUTRICIDE
@ NPC_WORLD_TRIGGER_INFINITE_AOI
@ NPC_YMIRJAR_FROSTBINDER
@ NPC_SE_MURADIN_BRONZEBEARD
@ NPC_VALITHRIA_DREAMWALKER_QUEST
@ NPC_TERENAS_MENETHIL_FROSTMOURNE_H
@ CRITERIA_ONCE_BITTEN_TWICE_SHY_25V
@ CRITERIA_DANCES_WITH_OOZES_10H
@ CRITERIA_ONCE_BITTEN_TWICE_SHY_10V
@ CRITERIA_ORB_WHISPERER_25H
@ CRITERIA_DANCES_WITH_OOZES_10N
@ CRITERIA_DANCES_WITH_OOZES_25H
@ CRITERIA_KILL_LANA_THEL_25M
@ CRITERIA_ONCE_BITTEN_TWICE_SHY_10N
@ CRITERIA_DANCES_WITH_OOZES_25N
@ CRITERIA_ORB_WHISPERER_25N
@ CRITERIA_KILL_LANA_THEL_10M
@ CRITERIA_ORB_WHISPERER_10N
@ CRITERIA_ORB_WHISPERER_10H
@ CRITERIA_ONCE_BITTEN_TWICE_SHY_25N
@ ACTION_FROSTMOURNE_INTRO
@ SPELL_ARTHAS_TELEPORTER_CEREMONY
@ SPELL_FROSTMOURNE_TELEPORT_VISUAL
@ WORLDSTATE_SHOW_ATTEMPTS
@ WORLDSTATE_ATTEMPTS_REMAINING
@ WORLDSTATE_ATTEMPTS_MAX
@ WORLDSTATE_EXECUTION_TIME
@ GO_SINDRAGOSA_SHORTCUT_ENTRANCE_DOOR
@ GO_SCIENTIST_AIRLOCK_DOOR_GREEN
@ GO_SCOURGE_TRANSPORTER_LK
@ GO_GREEN_PLAGUE_MONSTER_ENTRANCE
@ GO_SCIENTIST_AIRLOCK_DOOR_COLLISION
@ GO_DOODAD_ICECROWN_GREENTUBES02
@ GO_DEATHBRINGER_S_CACHE_10N
@ GO_CACHE_OF_THE_DREAMWALKER_25H
@ GO_DEATHBRINGER_S_CACHE_25N
@ GO_LADY_DEATHWHISPER_ELEVATOR
@ GO_CACHE_OF_THE_DREAMWALKER_25N
@ GO_BLOOD_ELF_COUNCIL_DOOR_RIGHT
@ GO_SINDRAGOSA_SHORTCUT_EXIT_DOOR
@ GO_DOODAD_ICECROWN_SNOWEDGEWARNING01
@ GO_SCOURGE_TRANSPORTER_SAURFANG
@ GO_DOODAD_ICECROWN_ICEWALL02
@ GO_LAVAMAN_PILLARS_UNCHAINED
@ GO_ORATORY_OF_THE_DAMNED_ENTRANCE
@ GO_DOODAD_ICECROWN_ROOSTPORTCULLIS_04
@ GO_SCIENTIST_AIRLOCK_DOOR_ORANGE
@ GO_CACHE_OF_THE_DREAMWALKER_10N
@ GO_GREEN_DRAGON_BOSS_EXIT
@ GO_ORANGE_PLAGUE_MONSTER_ENTRANCE
@ GO_DOODAD_ICECROWN_BLOODPRINCE_DOOR_01
@ GO_DEATHBRINGER_S_CACHE_10H
@ GO_DOODAD_ICECROWN_THRONEFROSTYWIND01
@ GO_DOODAD_ICECROWN_ROOSTPORTCULLIS_02
@ GO_DOODAD_ICECROWN_ROOSTPORTCULLIS_03
@ GO_SIGIL_OF_THE_FROSTWING
@ GO_DOODAD_ICECROWN_ROOSTPORTCULLIS_01
@ GO_BLOOD_ELF_COUNCIL_DOOR
@ GO_DOODAD_ICECROWN_ORANGETUBES02
@ GO_DEATHBRINGER_S_CACHE_25H
@ GO_DOODAD_ICECROWN_GRATE_01
@ GO_LORD_MARROWGAR_S_ENTRANCE
@ GO_LAVAMAN_PILLARS_CHAINED
@ GO_DOODAD_ICECROWN_THRONEFROSTYEDGE01
@ GO_CACHE_OF_THE_DREAMWALKER_10H
@ GO_GREEN_DRAGON_BOSS_ENTRANCE
@ GO_SINDRAGOSA_ENTRANCE_DOOR
@ DATA_ORB_WHISPERER_ACHIEVEMENT
@ DATA_SINDRAGOSA_FROSTWYRMS
@ DATA_BLOOD_PRINCE_COUNCIL
@ DATA_DEATHBRINGER_SAURFANG
@ DATA_VALITHRIA_LICH_KING
@ DATA_OOZE_DANCE_ACHIEVEMENT
@ DATA_NAUSEA_ACHIEVEMENT
@ DATA_BLOOD_PRINCES_CONTROL
@ DATA_PRINCE_TALDARAM_GUID
@ DATA_PRINCE_VALANAR_GUID
@ DATA_SAURFANG_EVENT_NPC
@ DATA_VALITHRIA_DREAMWALKER
@ DATA_HIGHLORD_TIRION_FORDRING
@ DATA_BLOOD_QUICKENING_STATE
@ DATA_BLOOD_QUEEN_LANA_THEL
@ DATA_PROFESSOR_PUTRICIDE
@ DATA_PRINCE_KELESETH_GUID
@ QUEST_SECURING_THE_RAMPARTS_25
@ QUEST_RESIDUE_RENDEZVOUS_10
@ QUEST_SECURING_THE_RAMPARTS_10
@ QUEST_BLOOD_QUICKENING_10
@ QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_10
@ QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_25
@ QUEST_BLOOD_QUICKENING_25
@ QUEST_RESIDUE_RENDEZVOUS_25
DoorData const doorData[]
void AddSC_instance_icecrown_citadel()
DoorData const doorData[]
@ EVENT_UPDATE_EXECUTION_TIME
WeeklyQuest const WeeklyQuestData[WeeklyNPCs]
@ EVENT_SECOND_REMORSELESS_WINTER
@ EVENT_TELEPORT_TO_FROSMOURNE
@ RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES
@ NPC_YMIRJAR_DEATHBRINGER
uint64 LadyDeathwisperElevatorGUID
uint64 TheLichKingTeleportGUID
bool SetBossState(uint32 type, EncounterState state) OVERRIDE
void OnGameObjectRemove(GameObject *go) OVERRIDE
uint64 DeathbringerSaurfangDoorGUID
uint64 BloodQueenLanaThelGUID
instance_icecrown_citadel_InstanceMapScript(InstanceMap *map)
uint64 FrozenThroneWindGUID
uint64 ProfessorPutricideGUID
uint64 FrostwingSigilGUID
bool CheckFrostwingHalls(uint32 bossId) const
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
uint64 FrozenThroneWarningGUID
uint16 BloodQuickeningMinutes
void OnCreatureCreate(Creature *creature) OVERRIDE
uint64 PutricidePipeGUIDs[2]
bool IsOrbWhispererEligible
uint64 PutricideGateGUIDs[2]
uint64 ValithriaLichKingGUID
uint64 DeathbringersCacheGUID
uint64 PillarsUnchainedGUID
uint64 ValithriaDreamwalkerGUID
void Update(uint32 diff) OVERRIDE
bool CheckLowerSpire(uint32 bossId) const
uint64 SaurfangTeleportGUID
uint32 BloodQuickeningState
uint32 ColdflameJetsState
std::set< uint32 > FrostwyrmGUIDs
uint64 ValithriaTriggerGUID
uint32 GetCreatureEntry(uint32, CreatureData const *data) OVERRIDE
uint64 HighlordTirionFordringGUID
uint64 CrokScourgebaneGUID
std::string GetSaveData() OVERRIDE
uint64 BloodwingSigilGUID
uint64 ArthasPrecipiceGUID
uint64 FrozenThroneEdgeGUID
void ProcessEvent(WorldObject *, uint32 eventId) OVERRIDE
void OnCreatureRemove(Creature *creature) OVERRIDE
uint64 DeathbringerSaurfangEventGUID
bool CheckRequiredBosses(uint32 bossId, Player const *player=NULL) const OVERRIDE
uint64 TerenasMenethilGUID
bool CheckCrimsonHalls(uint32 bossId) const
bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const *, Unit const *, uint32) OVERRIDE
void Load(const char *str) OVERRIDE
uint64 PillarsChainedGUID
uint64 GetData64(uint32 type) const OVERRIDE
uint64 DeathbringerSaurfangGUID
uint32 GetData(uint32 type) const OVERRIDE
uint64 ArthasPlatformGUID
void CheckLichKingAvailability()
void OnGameObjectCreate(GameObject *go) OVERRIDE
std::set< uint32 > RimefangTrash
void OnPlayerEnter(Player *player) OVERRIDE
uint64 PutricideTableGUID
std::set< uint32 > SpinestalkerTrash
uint64 CrokCaptainGUIDs[4]
bool CheckPlagueworks(uint32 bossId) const
uint64 PutricideCollisionGUID
void SetData(uint32 type, uint32 data) OVERRIDE
uint64 BloodCouncilControllerGUID
void OnUnitDeath(Unit *unit) OVERRIDE
uint64 BloodCouncilGUIDs[3]