mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 16:38:42 +01:00
Scripts/DS: implement of Madness of Deathwing encounter for normal difficulties
This commit is contained in:
@@ -5198,6 +5198,40 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
|
||||
// ENDOF THRONE OF THE FOUR WINDS SPELLS
|
||||
|
||||
// DRAGON SOUL SPELLS
|
||||
|
||||
ApplySpellFix({
|
||||
106028, // Alexstrasza's Presence
|
||||
109571,
|
||||
109572,
|
||||
109573,
|
||||
106457, // Ysera's Presence
|
||||
109640,
|
||||
109641,
|
||||
109642,
|
||||
106027, // Nozdormu's Presence
|
||||
109622,
|
||||
109623,
|
||||
109624,
|
||||
106029, // Kalecgos' Presence
|
||||
109606,
|
||||
109607,
|
||||
109608,
|
||||
106040, // Spellweaving
|
||||
106464 // Enter the Dream
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO;
|
||||
});
|
||||
|
||||
// Root
|
||||
ApplySpellFix({ 105451 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->Effects[EFFECT_0].ApplyAuraName = SPELL_AURA_MOD_ROOT;
|
||||
});
|
||||
|
||||
// ENDOF DRAGON SOUL SPELLS
|
||||
|
||||
// Disenchant
|
||||
ApplySpellFix({ 13262 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -35,15 +35,60 @@ enum DSDataTypes
|
||||
DATA_ULTRAXION = 4,
|
||||
DATA_WARMASTER_BLACKHORN = 5,
|
||||
DATA_SPINE_OF_DEATHWING = 6,
|
||||
DATA_MADNESS_OF_DEATHWING = 7
|
||||
DATA_MADNESS_OF_DEATHWING = 7,
|
||||
|
||||
// Additional Data
|
||||
DATA_DEATHWING_MADNESS_OF_DEATHWING,
|
||||
DATA_THRALL_MADNESS_OF_DEATHWING,
|
||||
DATA_YSERA_MADNESS_OF_DEATHWING,
|
||||
DATA_ALEXSTRASZA_MADNESS_OF_DEATHWING,
|
||||
DATA_NOZDORMU_MADNESS_OF_DEATHWING,
|
||||
DATA_KALECGOS_MADNESS_OF_DEATHWING,
|
||||
DATA_TAIL_TENTACLE_MADNESS_OF_DEATHWING
|
||||
};
|
||||
|
||||
enum DSCreatures
|
||||
{
|
||||
// Bosses
|
||||
BOSS_MADNESS_OF_DEATHWING = 56173,
|
||||
|
||||
/*Madness of Deathwing*/
|
||||
NPC_DEATHWING_MADNESS_OF_DEATHWING = 57962,
|
||||
NPC_ARM_TENTACLE_1 = 56167,
|
||||
NPC_ARM_TENTACLE_2 = 56846,
|
||||
NPC_WING_TENTACLE = 56168,
|
||||
NPC_TAIL_TENTACLE = 56844,
|
||||
NPC_MUTATED_CORRUPTION = 56471,
|
||||
NPC_CRUSH_TARGET = 56581,
|
||||
NPC_PLATFORM = 56307,
|
||||
NPC_HEMORRHAGE_TARGET = 56359,
|
||||
NPC_ELEMENTIUM_BOLT = 56262,
|
||||
NPC_BLISTERING_TENTACLE = 56188,
|
||||
NPC_TIME_ZONE_TARGET = 56332,
|
||||
NPC_TIME_ZONE = 56311,
|
||||
NPC_COSMETIC_TENTACLE = 57693,
|
||||
NPC_ELEMENTIUM_FRAGMENT = 56724,
|
||||
NPC_ELEMENTIUM_TERROR = 56710,
|
||||
NPC_JUMP_PAD = 56699,
|
||||
NPC_THRALL_MADNESS_OF_DEATHWING = 56103,
|
||||
NPC_YSERA_MADNESS_OF_DEATHWING = 56100,
|
||||
NPC_ALEXSTRASZA_MADNESS_OF_DEATHWING = 56099,
|
||||
NPC_NOZDORMU_MADNESS_OF_DEATHWING = 56102,
|
||||
NPC_KALECGOS_MADNESS_OF_DEATHWING = 56101
|
||||
};
|
||||
|
||||
enum DSGameObjectIds
|
||||
{
|
||||
GO_ELEMENTIUM_FRAGMENT_10_NORMAL = 210079,
|
||||
GO_ELEMENTIUM_FRAGMENT_25_NORMAL = 210218,
|
||||
GO_ELEMENTIUM_FRAGMENT_25_LFR = 210220,
|
||||
GO_ELEMENTIUM_FRAGMENT_10_HEROIC = 210219,
|
||||
GO_ELEMENTIUM_FRAGMENT_25_HEROIC = 210217
|
||||
};
|
||||
|
||||
enum DSSpells
|
||||
{
|
||||
SPELL_CALM_MAELSTROM_SKYBOX = 109480
|
||||
};
|
||||
|
||||
template<class AI>
|
||||
|
||||
@@ -21,7 +21,15 @@
|
||||
|
||||
ObjectData const creatureData[] =
|
||||
{
|
||||
{ 0, 0 } // END
|
||||
{ BOSS_MADNESS_OF_DEATHWING, DATA_MADNESS_OF_DEATHWING },
|
||||
{ NPC_DEATHWING_MADNESS_OF_DEATHWING, DATA_DEATHWING_MADNESS_OF_DEATHWING },
|
||||
{ NPC_THRALL_MADNESS_OF_DEATHWING, DATA_THRALL_MADNESS_OF_DEATHWING },
|
||||
{ NPC_YSERA_MADNESS_OF_DEATHWING, DATA_YSERA_MADNESS_OF_DEATHWING },
|
||||
{ NPC_ALEXSTRASZA_MADNESS_OF_DEATHWING, DATA_ALEXSTRASZA_MADNESS_OF_DEATHWING },
|
||||
{ NPC_NOZDORMU_MADNESS_OF_DEATHWING, DATA_NOZDORMU_MADNESS_OF_DEATHWING },
|
||||
{ NPC_KALECGOS_MADNESS_OF_DEATHWING, DATA_KALECGOS_MADNESS_OF_DEATHWING },
|
||||
{ NPC_TAIL_TENTACLE, DATA_TAIL_TENTACLE_MADNESS_OF_DEATHWING },
|
||||
{ 0, 0 } // END
|
||||
};
|
||||
|
||||
ObjectData const gameobjectData[] =
|
||||
@@ -48,6 +56,29 @@ public:
|
||||
LoadDoorData(doorData);
|
||||
LoadObjectData(creatureData, gameobjectData);
|
||||
}
|
||||
|
||||
void OnCreatureCreate(Creature* creature) override
|
||||
{
|
||||
InstanceScript::OnCreatureCreate(creature);
|
||||
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_YSERA_MADNESS_OF_DEATHWING:
|
||||
case NPC_ALEXSTRASZA_MADNESS_OF_DEATHWING:
|
||||
case NPC_NOZDORMU_MADNESS_OF_DEATHWING:
|
||||
case NPC_KALECGOS_MADNESS_OF_DEATHWING:
|
||||
creature->setActive(true); // Ugly as fuck but the boss area is just too big...
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OnPlayerEnter(Player* player) override
|
||||
{
|
||||
if (GetBossState(DATA_MADNESS_OF_DEATHWING) == DONE)
|
||||
player->CastSpell(player, SPELL_CALM_MAELSTROM_SKYBOX);
|
||||
}
|
||||
};
|
||||
|
||||
InstanceScript* GetInstanceScript(InstanceMap* map) const override
|
||||
|
||||
@@ -50,7 +50,8 @@ void AddSC_instance_culling_of_stratholme();
|
||||
void AddSC_instance_end_time(); //CoT End Time
|
||||
void AddSC_instance_well_of_eternity(); //CoT Well of Eternity
|
||||
void AddSC_instance_hour_of_twilight(); //CoT Hour of Twilight
|
||||
void AddSC_instance_dragon_soul();
|
||||
void AddSC_instance_dragon_soul(); //CoT Dragon Soul
|
||||
void AddSC_boss_madness_of_deathwing();
|
||||
void AddSC_instance_dire_maul(); //Dire Maul
|
||||
void AddSC_instance_ragefire_chasm(); //Ragefire Chasm
|
||||
void AddSC_boss_celebras_the_cursed(); //Maraudon
|
||||
@@ -181,7 +182,8 @@ void AddKalimdorScripts()
|
||||
AddSC_instance_end_time(); //CoT End Time
|
||||
AddSC_instance_well_of_eternity(); //CoT Well of Eternity
|
||||
AddSC_instance_hour_of_twilight(); //CoT Hour of Twilight
|
||||
AddSC_instance_dragon_soul();
|
||||
AddSC_instance_dragon_soul(); //CoT Dragon Soul
|
||||
AddSC_boss_madness_of_deathwing();
|
||||
AddSC_instance_dire_maul(); //Dire Maul
|
||||
AddSC_instance_ragefire_chasm(); //Ragefire Chasm
|
||||
AddSC_boss_celebras_the_cursed(); //Maraudon
|
||||
|
||||
Reference in New Issue
Block a user