Scripts/ICC: move Sister Svalna to her own file

I've almost guttered her, so lets try it more gently this time
This commit is contained in:
ccrs
2019-06-30 17:50:30 +02:00
parent 5aedc4a510
commit 1eb2aef179
5 changed files with 1406 additions and 1466 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -15,14 +15,15 @@
* with this program. If not, see <http://www.gnu.org/licenses/>. * with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "ScriptMgr.h" #include "icecrown_citadel.h"
#include "GameObject.h" #include "GameObject.h"
#include "GameObjectAI.h" #include "GameObjectAI.h"
#include "icecrown_citadel.h"
#include "InstanceScript.h" #include "InstanceScript.h"
#include "Player.h" #include "Player.h"
#include "ScriptedGossip.h" #include "ScriptedGossip.h"
#include "ScriptMgr.h"
#include "Spell.h" #include "Spell.h"
#include "SpellInfo.h"
#include "SpellMgr.h" #include "SpellMgr.h"
static std::vector<uint32> const TeleportSpells = static std::vector<uint32> const TeleportSpells =
@@ -94,11 +95,11 @@ class at_frozen_throne_teleport : public AreaTriggerScript
} }
if (InstanceScript* instance = player->GetInstanceScript()) if (InstanceScript* instance = player->GetInstanceScript())
if (instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE && {
instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE && if (instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE && instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE &&
instance->GetBossState(DATA_SINDRAGOSA) == DONE && instance->GetBossState(DATA_SINDRAGOSA) == DONE && instance->GetBossState(DATA_THE_LICH_KING) != IN_PROGRESS)
instance->GetBossState(DATA_THE_LICH_KING) != IN_PROGRESS)
player->CastSpell(player, FROZEN_THRONE_TELEPORT, true); player->CastSpell(player, FROZEN_THRONE_TELEPORT, true);
}
return true; return true;
} }

View File

@@ -21,24 +21,10 @@
#include "CreatureAIImpl.h" #include "CreatureAIImpl.h"
#include "ScriptMgr.h" #include "ScriptMgr.h"
struct Position;
enum TriggerCastFlags : uint32;
#define ICCScriptName "instance_icecrown_citadel" #define ICCScriptName "instance_icecrown_citadel"
#define DataHeader "IC" #define DataHeader "IC"
uint32 const EncounterCount = 13; uint32 const EncounterCount = 13;
uint32 const WeeklyNPCs = 9;
uint32 const MaxHeroicAttempts = 50;
// Defined in boss_valithria_dreamwalker.cpp
extern Position const ValithriaSpawnPos;
// Defined in boss_sindragosa.cpp
extern Position const SindragosaSpawnPos;
// Defined in boss_the_lich_king.cpp
extern Position const TerenasSpawn;
extern Position const TerenasSpawnHeroic;
extern Position const SpiritWardenSpawn;
// Shared spells used by more than one script // Shared spells used by more than one script
enum ICSharedSpells enum ICSharedSpells
@@ -547,6 +533,21 @@ enum ICAreaIds
AREA_ICECROWN_CITADEL = 4812 AREA_ICECROWN_CITADEL = 4812
}; };
struct Position;
enum TriggerCastFlags : uint32;
// Defined in boss_valithria_dreamwalker.cpp
extern Position const ValithriaSpawnPos;
// Defined in boss_sindragosa.cpp
extern Position const SindragosaSpawnPos;
// Defined in boss_the_lich_king.cpp
extern Position const TerenasSpawn;
extern Position const TerenasSpawnHeroic;
extern Position const SpiritWardenSpawn;
uint32 const WeeklyNPCs = 9;
uint32 const MaxHeroicAttempts = 50;
class spell_trigger_spell_from_caster : public SpellScriptLoader class spell_trigger_spell_from_caster : public SpellScriptLoader
{ {
public: public:

View File

@@ -110,15 +110,15 @@ struct WeeklyQuest
// when changing the content, remember to update SetData, DATA_BLOOD_QUICKENING_STATE case for NPC_ALRIN_THE_AGILE index // when changing the content, remember to update SetData, DATA_BLOOD_QUICKENING_STATE case for NPC_ALRIN_THE_AGILE index
WeeklyQuest const WeeklyQuestData[WeeklyNPCs] = WeeklyQuest const WeeklyQuestData[WeeklyNPCs] =
{ {
{NPC_INFILTRATOR_MINCHAR, {QUEST_DEPROGRAMMING_10, QUEST_DEPROGRAMMING_25 }}, // Deprogramming { NPC_INFILTRATOR_MINCHAR, { QUEST_DEPROGRAMMING_10, QUEST_DEPROGRAMMING_25 } }, // Deprogramming
{NPC_KOR_KRON_LIEUTENANT, {QUEST_SECURING_THE_RAMPARTS_10, QUEST_SECURING_THE_RAMPARTS_25 }}, // Securing the Ramparts { NPC_KOR_KRON_LIEUTENANT, { QUEST_SECURING_THE_RAMPARTS_10, QUEST_SECURING_THE_RAMPARTS_25 } }, // Securing the Ramparts
{NPC_ROTTING_FROST_GIANT_10, {QUEST_SECURING_THE_RAMPARTS_10, QUEST_SECURING_THE_RAMPARTS_25 }}, // Securing the Ramparts { NPC_ROTTING_FROST_GIANT_10, { QUEST_SECURING_THE_RAMPARTS_10, QUEST_SECURING_THE_RAMPARTS_25 } }, // Securing the Ramparts
{NPC_ROTTING_FROST_GIANT_25, {QUEST_SECURING_THE_RAMPARTS_10, QUEST_SECURING_THE_RAMPARTS_25 }}, // Securing the Ramparts { NPC_ROTTING_FROST_GIANT_25, { QUEST_SECURING_THE_RAMPARTS_10, QUEST_SECURING_THE_RAMPARTS_25 } }, // Securing the Ramparts
{NPC_ALCHEMIST_ADRIANNA, {QUEST_RESIDUE_RENDEZVOUS_10, QUEST_RESIDUE_RENDEZVOUS_25 }}, // Residue Rendezvous { NPC_ALCHEMIST_ADRIANNA, { QUEST_RESIDUE_RENDEZVOUS_10, QUEST_RESIDUE_RENDEZVOUS_25 } }, // Residue Rendezvous
{NPC_ALRIN_THE_AGILE, {QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 }}, // Blood Quickening { NPC_ALRIN_THE_AGILE, { QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 } }, // Blood Quickening
{NPC_INFILTRATOR_MINCHAR_BQ, {QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 }}, // Blood Quickening { NPC_INFILTRATOR_MINCHAR_BQ, { QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 } }, // Blood Quickening
{NPC_MINCHAR_BEAM_STALKER, {QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 }}, // Blood Quickening { NPC_MINCHAR_BEAM_STALKER, { QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 } }, // Blood Quickening
{NPC_VALITHRIA_DREAMWALKER_QUEST, {QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_10, QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_25}} // Respite for a Tormented Soul { NPC_VALITHRIA_DREAMWALKER_QUEST, { QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_10, QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_25 } } // Respite for a Tormented Soul
}; };
// NPCs spawned at Light's Hammer on Lich King dead // NPCs spawned at Light's Hammer on Lich King dead