mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 02:04:52 +01:00
Scripts/Icecrown Citadel: Added Sister Svalna gauntlet event script
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,7 @@
|
||||
|
||||
#define ICCScriptName "instance_icecrown_citadel"
|
||||
|
||||
uint32 const EncounterCount = 12;
|
||||
uint32 const EncounterCount = 13;
|
||||
uint32 const WeeklyNPCs = 9;
|
||||
uint32 const MaxHeroicAttempts = 50;
|
||||
// Defined in boss_sindragosa.cpp
|
||||
@@ -64,12 +64,13 @@ enum DataTypes
|
||||
DATA_PROFESSOR_PUTRICIDE = 6,
|
||||
DATA_BLOOD_PRINCE_COUNCIL = 7,
|
||||
DATA_BLOOD_QUEEN_LANA_THEL = 8,
|
||||
DATA_VALITHRIA_DREAMWALKER = 9,
|
||||
DATA_SINDRAGOSA = 10,
|
||||
DATA_THE_LICH_KING = 11,
|
||||
DATA_SISTER_SVALNA = 9,
|
||||
DATA_VALITHRIA_DREAMWALKER = 10,
|
||||
DATA_SINDRAGOSA = 11,
|
||||
DATA_THE_LICH_KING = 12,
|
||||
|
||||
// Additional data
|
||||
DATA_SAURFANG_EVENT_NPC = 12,
|
||||
DATA_SAURFANG_EVENT_NPC = 34,
|
||||
DATA_BONED_ACHIEVEMENT = 13,
|
||||
DATA_OOZE_DANCE_ACHIEVEMENT = 14,
|
||||
DATA_PUTRICIDE_TABLE = 15,
|
||||
@@ -86,6 +87,11 @@ enum DataTypes
|
||||
DATA_TEAM_IN_INSTANCE = 26,
|
||||
DATA_BLOOD_QUICKENING_STATE = 27,
|
||||
DATA_HEROIC_ATTEMPTS = 28,
|
||||
DATA_CROK_SCOURGEBANE = 29,
|
||||
DATA_CAPTAIN_ARNATH = 30,
|
||||
DATA_CAPTAIN_BRANDON = 31,
|
||||
DATA_CAPTAIN_GRONDEL = 32,
|
||||
DATA_CAPTAIN_RUPERT = 33,
|
||||
};
|
||||
|
||||
enum CreaturesIds
|
||||
@@ -186,6 +192,34 @@ enum CreaturesIds
|
||||
// Blood-Queen Lana'thel
|
||||
NPC_BLOOD_QUEEN_LANA_THEL = 37955,
|
||||
|
||||
// Frostwing Halls gauntlet event
|
||||
NPC_CROK_SCOURGEBANE = 37129,
|
||||
NPC_CAPTAIN_ARNATH = 37122,
|
||||
NPC_CAPTAIN_BRANDON = 37123,
|
||||
NPC_CAPTAIN_GRONDEL = 37124,
|
||||
NPC_CAPTAIN_RUPERT = 37125,
|
||||
NPC_CAPTAIN_ARNATH_UNDEAD = 37491,
|
||||
NPC_CAPTAIN_BRANDON_UNDEAD = 37493,
|
||||
NPC_CAPTAIN_GRONDEL_UNDEAD = 37494,
|
||||
NPC_CAPTAIN_RUPERT_UNDEAD = 37495,
|
||||
NPC_YMIRJAR_BATTLE_MAIDEN = 37132,
|
||||
NPC_YMIRJAR_DEATHBRINGER = 38125,
|
||||
NPC_YMIRJAR_FROSTBINDER = 37127,
|
||||
NPC_YMIRJAR_HUNTRESS = 37134,
|
||||
NPC_YMIRJAR_WARLORD = 37133,
|
||||
NPC_SISTER_SVALNA = 37126,
|
||||
NPC_IMPALING_SPEAR = 38248,
|
||||
|
||||
// Valithria Dreamwalker
|
||||
NPC_VALITHRIA_DREAMWALKER = 36789,
|
||||
NPC_GREEN_DRAGON_COMBAT_TRIGGER = 38752,
|
||||
NPC_RISEN_ARCHMAGE = 37868,
|
||||
NPC_BLAZING_SKELETON = 36791,
|
||||
NPC_SUPPRESSER = 37863,
|
||||
NPC_BLISTERING_ZOMBIE = 37934,
|
||||
NPC_GLUTTONOUS_ABOMINATION = 37886,
|
||||
NPC_THE_LICH_KING_VALITHRIA = 16980,
|
||||
|
||||
// Sindragosa
|
||||
NPC_SINDRAGOSA = 36853,
|
||||
NPC_SPINESTALKER = 37534,
|
||||
@@ -305,6 +339,9 @@ enum SharedActions
|
||||
// Blood-Queen Lana'thel
|
||||
ACTION_KILL_MINCHAR = -379550,
|
||||
|
||||
// Frostwing Halls gauntlet event
|
||||
ACTION_VRYKUL_DEATH = 37129,
|
||||
|
||||
// Sindragosa
|
||||
ACTION_START_FROSTWYRM = -368530,
|
||||
ACTION_TRIGGER_ASPHYXIATION = -368531,
|
||||
|
||||
@@ -38,6 +38,7 @@ DoorData const doorData[] =
|
||||
{GO_BLOOD_ELF_COUNCIL_DOOR_RIGHT, DATA_BLOOD_PRINCE_COUNCIL, DOOR_TYPE_PASSAGE, BOUNDARY_E },
|
||||
{GO_DOODAD_ICECROWN_BLOODPRINCE_DOOR_01, DATA_BLOOD_QUEEN_LANA_THEL, DOOR_TYPE_ROOM, BOUNDARY_S },
|
||||
{GO_DOODAD_ICECROWN_GRATE_01, DATA_BLOOD_QUEEN_LANA_THEL, DOOR_TYPE_PASSAGE, BOUNDARY_NONE},
|
||||
{GO_GREEN_DRAGON_BOSS_ENTRANCE, DATA_SISTER_SVALNA, DOOR_TYPE_PASSAGE, BOUNDARY_S },
|
||||
{GO_GREEN_DRAGON_BOSS_ENTRANCE, DATA_VALITHRIA_DREAMWALKER, DOOR_TYPE_ROOM, BOUNDARY_N },
|
||||
{GO_GREEN_DRAGON_BOSS_EXIT, DATA_VALITHRIA_DREAMWALKER, DOOR_TYPE_PASSAGE, BOUNDARY_S },
|
||||
{GO_SINDRAGOSA_ENTRANCE_DOOR, DATA_SINDRAGOSA, DOOR_TYPE_ROOM, BOUNDARY_S },
|
||||
@@ -101,6 +102,9 @@ class instance_icecrown_citadel : public InstanceMapScript
|
||||
memset(BloodCouncilGUIDs, 0, 3*sizeof(uint64));
|
||||
BloodCouncilControllerGUID = 0;
|
||||
BloodQueenLanaThelGUID = 0;
|
||||
CrokScourgebaneGUID = 0;
|
||||
memset(CrokCaptainGUIDs, 0, 4 * sizeof(uint64));
|
||||
SisterSvalnaGUID = 0;
|
||||
SindragosaGUID = 0;
|
||||
SpinestalkerGUID = 0;
|
||||
RimefangGUID = 0;
|
||||
@@ -221,6 +225,19 @@ class instance_icecrown_citadel : public InstanceMapScript
|
||||
case NPC_BLOOD_QUEEN_LANA_THEL:
|
||||
BloodQueenLanaThelGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_CROK_SCOURGEBANE:
|
||||
CrokScourgebaneGUID = creature->GetGUID();
|
||||
break;
|
||||
// we can only do this because there are no gaps in their entries
|
||||
case NPC_CAPTAIN_ARNATH:
|
||||
case NPC_CAPTAIN_BRANDON:
|
||||
case NPC_CAPTAIN_GRONDEL:
|
||||
case NPC_CAPTAIN_RUPERT:
|
||||
CrokCaptainGUIDs[creature->GetEntry()-NPC_CAPTAIN_ARNATH] = creature->GetGUID();
|
||||
break;
|
||||
case NPC_SISTER_SVALNA:
|
||||
SisterSvalnaGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_SINDRAGOSA:
|
||||
SindragosaGUID = creature->GetGUID();
|
||||
break;
|
||||
@@ -278,6 +295,23 @@ class instance_icecrown_citadel : public InstanceMapScript
|
||||
ColdflameJetGUIDs.erase(creature->GetGUID());
|
||||
}
|
||||
|
||||
void OnCreatureDeath(Creature* creature)
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_YMIRJAR_BATTLE_MAIDEN:
|
||||
case NPC_YMIRJAR_DEATHBRINGER:
|
||||
case NPC_YMIRJAR_FROSTBINDER:
|
||||
case NPC_YMIRJAR_HUNTRESS:
|
||||
case NPC_YMIRJAR_WARLORD:
|
||||
if (Creature* crok = instance->GetCreature(CrokScourgebaneGUID))
|
||||
crok->AI()->SetGUID(creature->GetGUID(), ACTION_VRYKUL_DEATH);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go)
|
||||
{
|
||||
switch (go->GetEntry())
|
||||
@@ -466,6 +500,15 @@ class instance_icecrown_citadel : public InstanceMapScript
|
||||
return SpinestalkerGUID;
|
||||
case DATA_RIMEFANG:
|
||||
return RimefangGUID;
|
||||
case DATA_CROK_SCOURGEBANE:
|
||||
return CrokScourgebaneGUID;
|
||||
case DATA_CAPTAIN_ARNATH:
|
||||
case DATA_CAPTAIN_BRANDON:
|
||||
case DATA_CAPTAIN_GRONDEL:
|
||||
case DATA_CAPTAIN_RUPERT:
|
||||
return CrokCaptainGUIDs[type-DATA_CAPTAIN_ARNATH];
|
||||
case DATA_SISTER_SVALNA:
|
||||
return SisterSvalnaGUID;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1011,6 +1054,9 @@ class instance_icecrown_citadel : public InstanceMapScript
|
||||
uint64 BloodCouncilGUIDs[3];
|
||||
uint64 BloodCouncilControllerGUID;
|
||||
uint64 BloodQueenLanaThelGUID;
|
||||
uint64 CrokScourgebaneGUID;
|
||||
uint64 CrokCaptainGUIDs[4];
|
||||
uint64 SisterSvalnaGUID;
|
||||
uint64 SindragosaGUID;
|
||||
uint64 SpinestalkerGUID;
|
||||
uint64 RimefangGUID;
|
||||
|
||||
Reference in New Issue
Block a user