aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2013-08-07 20:07:05 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2013-08-07 20:07:05 +0200
commit2daa8ed56f430fd4f4dcc0171519f1793d00ae79 (patch)
tree9f64246026504e8f4db76bbd7888168e9b4afa91 /src
parentc0fc0f237f7e85ab3c5cc422fea7a1000fa72b23 (diff)
parent1e8fd6489d67fa3e0ed73c7391970cd9a9e74383 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/scripts/EasternKingdoms/CMakeLists.txt src/server/scripts/Kalimdor/zone_durotar.cpp src/server/scripts/Spells/spell_generic.cpp
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Battlegrounds/Battleground.h1
-rw-r--r--src/server/game/Scripting/ScriptLoader.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/blackrock_spire.h)20
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gizrul_the_slavener.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp138
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp)2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_urok_doomhowl.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp (renamed from src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp)14
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/blackwing_lair.h)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp (renamed from src/server/scripts/EasternKingdoms/BlackwingLair/instance_blackwing_lair.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp (renamed from src/server/scripts/EasternKingdoms/MoltenCore/instance_molten_core.cpp)0
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h (renamed from src/server/scripts/EasternKingdoms/MoltenCore/molten_core.h)0
-rw-r--r--src/server/scripts/EasternKingdoms/CMakeLists.txt103
-rw-r--r--src/server/scripts/Examples/example_spell.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp6
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp4
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp99
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp170
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h16
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp39
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp7
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp13
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp6
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp56
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp2
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp29
-rw-r--r--src/server/scripts/Spells/spell_item.cpp22
71 files changed, 572 insertions, 185 deletions
diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h
index 37ea3e5d82a..6cac44d65fc 100644
--- a/src/server/game/Battlegrounds/Battleground.h
+++ b/src/server/game/Battlegrounds/Battleground.h
@@ -27,6 +27,7 @@ class Creature;
class GameObject;
class Group;
class Player;
+class Unit;
class WorldPacket;
class BattlegroundMap;
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index 6e86b79a38c..8253516867b 100644
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -129,6 +129,7 @@ void AddSC_boss_gyth();
void AddSC_boss_rend_blackhand();
void AddSC_boss_gizrul_the_slavener();
void AddSC_boss_urok_doomhowl();
+void AddSC_boss_lord_valthalak();
void AddSC_instance_blackrock_spire();
void AddSC_boss_razorgore(); //Blackwing lair
void AddSC_boss_vaelastrasz();
@@ -777,6 +778,7 @@ void AddEasternKingdomsScripts()
AddSC_boss_rend_blackhand();
AddSC_boss_gizrul_the_slavener();
AddSC_boss_urok_doomhowl();
+ AddSC_boss_lord_valthalak();
AddSC_instance_blackrock_spire();
AddSC_boss_razorgore(); //Blackwing lair
AddSC_boss_vaelastrasz();
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
index e9a6b15dcf8..e9a6b15dcf8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
index b279012bbf7..b279012bbf7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
index 3a4f734429c..3a4f734429c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
index 63a94ca616a..63a94ca616a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
index 25f93a2b6b7..25f93a2b6b7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
index 80bfa651301..80bfa651301 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
index d79c4d191b6..d79c4d191b6 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
index 504fca44c4c..504fca44c4c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
index 7a98cc321dc..7a98cc321dc 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
index 998e7b17897..998e7b17897 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
index 9021649a61e..9021649a61e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
index 55e6862bda7..55e6862bda7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
index b9ff40f8285..b9ff40f8285 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/blackrock_spire.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
index 5c34a30912a..e2295521a5b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/blackrock_spire.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
@@ -18,7 +18,7 @@
#ifndef DEF_BLACKROCK_SPIRE_H
#define DEF_BLACKROCK_SPIRE_H
-uint32 const EncounterCount = 22;
+uint32 const EncounterCount = 23;
#define BRSScriptName "instance_blackrock_spire"
@@ -38,15 +38,16 @@ enum DataTypes
DATA_GYTH = 11,
DATA_THE_BEAST = 12,
DATA_GENERAL_DRAKKISATH = 13,
+ DATA_LORD_VALTHALAK = 14,
// Extra
- DATA_DRAGONSPIRE_ROOM = 14,
- DATA_HALL_RUNE_1 = 15,
- DATA_HALL_RUNE_2 = 16,
- DATA_HALL_RUNE_3 = 17,
- DATA_HALL_RUNE_4 = 18,
- DATA_HALL_RUNE_5 = 19,
- DATA_HALL_RUNE_6 = 20,
- DATA_HALL_RUNE_7 = 21
+ DATA_DRAGONSPIRE_ROOM = 15,
+ DATA_HALL_RUNE_1 = 16,
+ DATA_HALL_RUNE_2 = 17,
+ DATA_HALL_RUNE_3 = 18,
+ DATA_HALL_RUNE_4 = 19,
+ DATA_HALL_RUNE_5 = 20,
+ DATA_HALL_RUNE_6 = 21,
+ DATA_HALL_RUNE_7 = 22
};
enum CreaturesIds
@@ -75,6 +76,7 @@ enum CreaturesIds
enum AdditionalData
{
SPELL_SUMMON_ROOKERY_WHELP = 15745,
+ EVENT_UROK_DOOMHOWL = 4845,
EVENT_PYROGUARD_EMBERSEER = 4884,
AREATRIGGER = 1,
AREATRIGGER_DRAGONSPIRE_HALL = 2046,
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
index 59581204b05..59581204b05 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gizrul_the_slavener.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
index f1bd81f2e6a..f1bd81f2e6a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gizrul_the_slavener.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
index dbc3056b1ff..dbc3056b1ff 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
index 630d6ff2a0d..630d6ff2a0d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
index 54ed5d44e34..54ed5d44e34 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
new file mode 100644
index 00000000000..b54c8f11f34
--- /dev/null
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
@@ -0,0 +1,138 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "ScriptMgr.h"
+#include "ScriptedCreature.h"
+#include "blackrock_spire.h"
+
+enum Spells
+{
+ SPELL_FRENZY = 8269,
+ SPELL_SUMMON_SPECTRAL_ASSASSIN = 27249,
+ SPELL_SHADOW_BOLT_VOLLEY = 27382,
+ SPELL_SHADOW_WRATH = 27286
+};
+
+enum Says
+{
+ EMOTE_FRENZY = 0
+};
+
+enum Events
+{
+ EVENT_SUMMON_SPECTRAL_ASSASSIN = 1,
+ EVENT_SHADOW_BOLT_VOLLEY = 2,
+ EVENT_SHADOW_WRATH = 3
+};
+
+class boss_lord_valthalak : public CreatureScript
+{
+public:
+ boss_lord_valthalak() : CreatureScript("boss_lord_valthalak") { }
+
+ struct boss_lord_valthalakAI : public BossAI
+ {
+ boss_lord_valthalakAI(Creature* creature) : BossAI(creature, DATA_LORD_VALTHALAK) {}
+
+ void Reset() OVERRIDE
+ {
+ _Reset();
+ frenzy40 = false;
+ frenzy15 = false;
+ }
+
+ void EnterCombat(Unit* /*who*/) OVERRIDE
+ {
+ _EnterCombat();
+ events.ScheduleEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN, urand(6000,8000));
+ events.ScheduleEvent(EVENT_SHADOW_WRATH, urand(9000,18000));
+ }
+
+ void JustDied(Unit* /*killer*/) OVERRIDE
+ {
+ if (instance)
+ instance->SetData(DATA_LORD_VALTHALAK, DONE);
+ }
+
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_SUMMON_SPECTRAL_ASSASSIN:
+ DoCast(me, SPELL_SUMMON_SPECTRAL_ASSASSIN);
+ events.ScheduleEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN, urand(30000,35000));
+ break;
+ case EVENT_SHADOW_BOLT_VOLLEY:
+ DoCastVictim(SPELL_SHADOW_BOLT_VOLLEY);
+ events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, urand(4000,6000));
+ break;
+ case EVENT_SHADOW_WRATH:
+ DoCastVictim(SPELL_SHADOW_WRATH);
+ events.ScheduleEvent(EVENT_SHADOW_WRATH, urand(19000,24000));
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (!frenzy40)
+ {
+ if (HealthBelowPct(40))
+ {
+ DoCast(me, SPELL_FRENZY);
+ events.CancelEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN);
+ frenzy40 = true;
+ }
+ }
+
+ if (!frenzy15)
+ {
+ if (HealthBelowPct(15))
+ {
+ DoCast(me, SPELL_FRENZY);
+ events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, urand(7000,14000));
+ frenzy15 = true;
+ }
+ }
+
+ DoMeleeAttackIfReady();
+ }
+ private:
+ bool frenzy40;
+ bool frenzy15;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new boss_lord_valthalakAI(creature);
+ }
+};
+
+void AddSC_boss_lord_valthalak()
+{
+ new boss_lord_valthalak();
+}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
index 608cb75bbb2..608cb75bbb2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
index 2b68b640720..2b68b640720 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
index b84be2feb17..57c3dfac7ff 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -227,7 +227,7 @@ public:
{
creatureList->Respawn();
}
- creatureList->AI()->SetData(1, 2);
+ creatureList->AI()->SetData(1, 1);
}
me->AddAura(SPELL_ENCAGED_EMBERSEER, me);
instance->SetBossState(DATA_PYROGAURD_EMBERSEER, NOT_STARTED);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
index a20822839e6..a20822839e6 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
index 275b3802764..275b3802764 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
index 1936e5e72d0..1936e5e72d0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
index c4abaac158c..c4abaac158c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_urok_doomhowl.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
index afee357aad5..afee357aad5 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_urok_doomhowl.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
index e3423fd02b6..e3423fd02b6 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
index f07e426c808..f0d252a5c5e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
@@ -33,7 +33,13 @@ uint32 const DragonspireMobs[3] = { NPC_BLACKHAND_DREADWEAVER, NPC_BLACKHAND_SUM
enum EventIds
{
EVENT_DARGONSPIRE_ROOM_STORE = 1,
- EVENT_DARGONSPIRE_ROOM_CHECK = 2
+ EVENT_DARGONSPIRE_ROOM_CHECK = 2,
+ EVENT_UROK_DOOMHOWL_SPAWNS_1 = 3,
+ EVENT_UROK_DOOMHOWL_SPAWNS_2 = 4,
+ EVENT_UROK_DOOMHOWL_SPAWNS_3 = 5,
+ EVENT_UROK_DOOMHOWL_SPAWNS_4 = 6,
+ EVENT_UROK_DOOMHOWL_SPAWNS_5 = 7,
+ EVENT_UROK_DOOMHOWL_SPAWN_IN = 8
};
class instance_blackrock_spire : public InstanceMapScript
@@ -275,6 +281,12 @@ public:
Emberseer->AI()->SetData(1, 1);
}
break;
+ case EVENT_UROK_DOOMHOWL:
+ if (GetBossState(NPC_UROK_DOOMHOWL) == NOT_STARTED)
+ {
+
+ }
+ break;
default:
break;
}
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/blackwing_lair.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
index acdbf0cd483..acdbf0cd483 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/blackwing_lair.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
index c9dc3d8f134..c9dc3d8f134 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
index 05effabe557..05effabe557 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
index 0d79f3faeee..0d79f3faeee 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
index 369e4e02f5a..369e4e02f5a 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
index 060bfeb60b3..060bfeb60b3 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
index c24f533d41c..c24f533d41c 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
index be2aeb9e223..be2aeb9e223 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
index c595f3acaff..c595f3acaff 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
index d904e0a89f8..d904e0a89f8 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
index e9ac15147f9..e9ac15147f9 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
index 5eabc11618b..5eabc11618b 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
index 15079953a34..15079953a34 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
index 0fdb88923b3..0fdb88923b3 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
index 31f4e40552f..31f4e40552f 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
index 7d40b9630ae..7d40b9630ae 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
index 1001516d42e..1001516d42e 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
index d03f756f366..d03f756f366 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
index 7c1d1af7d29..7c1d1af7d29 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
index 681f4f72bc6..681f4f72bc6 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/instance_molten_core.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
index 04e652b7f80..04e652b7f80 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/instance_molten_core.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/molten_core.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
index 407e3ee5204..407e3ee5204 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/molten_core.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
diff --git a/src/server/scripts/EasternKingdoms/CMakeLists.txt b/src/server/scripts/EasternKingdoms/CMakeLists.txt
index f4f835f5768..540bbfb4deb 100644
--- a/src/server/scripts/EasternKingdoms/CMakeLists.txt
+++ b/src/server/scripts/EasternKingdoms/CMakeLists.txt
@@ -19,6 +19,58 @@ set(scripts_STAT_SRCS
EasternKingdoms/AlteracValley/alterac_valley.cpp
EasternKingdoms/BaradinHold/boss_alizabal.cpp
EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
+ EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
+ EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
+ EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
+ EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
EasternKingdoms/Scholomance/boss_the_ravenian.cpp
EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
@@ -52,37 +104,12 @@ set(scripts_STAT_SRCS
EasternKingdoms/Gnomeregan/gnomeregan.cpp
EasternKingdoms/Gnomeregan/gnomeregan.h
EasternKingdoms/zone_redridge_mountains.cpp
- EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
- EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp
- EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
- EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp
- EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
- EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp
- EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
- EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp
- EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp
- EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp
- EasternKingdoms/BlackrockDepths/blackrock_depths.h
- EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
- EasternKingdoms/BlackrockDepths/boss_magmus.cpp
EasternKingdoms/zone_ironforge.cpp
EasternKingdoms/ScarletEnclave/chapter2.cpp
EasternKingdoms/ScarletEnclave/chapter5.cpp
EasternKingdoms/ScarletEnclave/chapter1.cpp
EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
EasternKingdoms/zone_eastern_plaguelands.cpp
- EasternKingdoms/MoltenCore/boss_gehennas.cpp
- EasternKingdoms/MoltenCore/boss_lucifron.cpp
- EasternKingdoms/MoltenCore/boss_golemagg.cpp
- EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
- EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
- EasternKingdoms/MoltenCore/boss_ragnaros.cpp
- EasternKingdoms/MoltenCore/boss_garr.cpp
- EasternKingdoms/MoltenCore/molten_core.h
- EasternKingdoms/MoltenCore/instance_molten_core.cpp
- EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
- EasternKingdoms/MoltenCore/boss_magmadar.cpp
- EasternKingdoms/MoltenCore/boss_shazzrah.cpp
EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
EasternKingdoms/Stratholme/boss_nerubenkan.cpp
EasternKingdoms/Stratholme/instance_stratholme.cpp
@@ -114,22 +141,6 @@ set(scripts_STAT_SRCS
EasternKingdoms/Uldaman/instance_uldaman.cpp
EasternKingdoms/Uldaman/boss_archaedas.cpp
EasternKingdoms/zone_swamp_of_sorrows.cpp
- EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
- EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
- EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
- EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
- EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
- EasternKingdoms/BlackrockSpire/boss_halycon.cpp
- EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
- EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
- EasternKingdoms/BlackrockSpire/boss_gyth.cpp
- EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
- EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
- EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
- EasternKingdoms/BlackrockSpire/boss_gizrul_the_slavener.cpp
- EasternKingdoms/BlackrockSpire/boss_urok_doomhowl.cpp
- EasternKingdoms/BlackrockSpire/blackrock_spire.h
- EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp
EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
EasternKingdoms/SunwellPlateau/sunwell_plateau.h
@@ -164,16 +175,6 @@ set(scripts_STAT_SRCS
EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
EasternKingdoms/zone_burning_steppes.cpp
- EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
- EasternKingdoms/BlackwingLair/boss_razorgore.cpp
- EasternKingdoms/BlackwingLair/boss_firemaw.cpp
- EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
- EasternKingdoms/BlackwingLair/boss_ebonroc.cpp
- EasternKingdoms/BlackwingLair/instance_blackwing_lair.cpp
- EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
- EasternKingdoms/BlackwingLair/boss_nefarian.cpp
- EasternKingdoms/BlackwingLair/boss_flamegor.cpp
- EasternKingdoms/BlackwingLair/blackwing_lair.h
EasternKingdoms/zone_blasted_lands.cpp
EasternKingdoms/zone_stormwind_city.cpp
EasternKingdoms/ZulAman/boss_halazzi.cpp
diff --git a/src/server/scripts/Examples/example_spell.cpp b/src/server/scripts/Examples/example_spell.cpp
index 30206ec555c..8e22c4b66c8 100644
--- a/src/server/scripts/Examples/example_spell.cpp
+++ b/src/server/scripts/Examples/example_spell.cpp
@@ -50,7 +50,7 @@ class spell_ex_5581 : public SpellScriptLoader
// function called on server startup
// checks if script has data required for it to work
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
// check if spellid 70522 exists in dbc, we will trigger it later
if (!sSpellMgr->GetSpellInfo(SPELL_TRIGGERED))
@@ -208,7 +208,7 @@ class spell_ex_66244 : public SpellScriptLoader
PrepareAuraScript(spell_ex_66244AuraScript);
// function called on server startup
// checks if script has data required for it to work
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
// check if spellid exists in dbc, we will trigger it later
if (!sSpellMgr->GetSpellInfo(SPELL_TRIGGERED))
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp
index 0814f572805..523c29a5777 100644
--- a/src/server/scripts/Kalimdor/zone_durotar.cpp
+++ b/src/server/scripts/Kalimdor/zone_durotar.cpp
@@ -125,7 +125,7 @@ class spell_voodoo : public SpellScriptLoader
{
PrepareSpellScript(spell_voodoo_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_BREW) || !sSpellMgr->GetSpellInfo(SPELL_GHOSTLY) ||
!sSpellMgr->GetSpellInfo(SPELL_HEX1) || !sSpellMgr->GetSpellInfo(SPELL_HEX2) ||
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 2d790d60e05..30e9906e3e1 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -609,7 +609,7 @@ class spell_ooze_zap : public SpellScriptLoader
{
PrepareSpellScript(spell_ooze_zap_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_OOZE_ZAP))
return false;
@@ -656,7 +656,7 @@ class spell_ooze_zap_channel_end : public SpellScriptLoader
{
PrepareSpellScript(spell_ooze_zap_channel_end_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_OOZE_ZAP_CHANNEL_END))
return false;
@@ -692,7 +692,7 @@ class spell_energize_aoe : public SpellScriptLoader
{
PrepareSpellScript(spell_energize_aoe_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_ENERGIZED))
return false;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
index 3dc537b4c23..ce0f8e4778c 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -2312,7 +2312,7 @@ class spell_toc_bloodlust : public SpellScriptLoader
{
PrepareSpellScript(spell_toc_bloodlust_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(AURA_SATED))
return false;
@@ -2353,7 +2353,7 @@ class spell_toc_heroism : public SpellScriptLoader
{
PrepareSpellScript(spell_toc_heroism_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(AURA_EXHAUSTION))
return false;
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
index 785038137d9..0160359f0f2 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
@@ -20,21 +20,14 @@
#include "ScriptedCreature.h"
#include "drak_tharon_keep.h"
-enum Misc
-{
- ACTION_RESET_CRYSTALS,
- ACTION_ACTIVATE_CRYSTAL,
- ACTION_DEACTIVATE,
- EVENT_ATTACK,
- EVENT_SUMMON_MINIONS,
- DATA_NOVOS_ACHIEV
-};
-
-enum Creatures
+enum Yells
{
- NPC_FETID_TROLL_CORPSE = 27598,
- NPC_RISEN_SHADOWCASTER = 27600,
- NPC_HULKING_CORPSE = 27597
+ SAY_AGGRO = 0,
+ SAY_KILL = 1,
+ SAY_DEATH = 2,
+ SAY_SUMMONING_ADDS = 3, // unused
+ SAY_ARCANE_FIELD = 4,
+ EMOTE_SUMMONING_ADDS = 5 // unused
};
enum Spells
@@ -46,6 +39,7 @@ enum Spells
SPELL_SUMMON_FETID_TROLL_CORPSE = 49103,
SPELL_SUMMON_HULKING_CORPSE = 49104,
SPELL_SUMMON_CRYSTAL_HANDLER = 49179,
+ SPELL_SUMMON_COPY_OF_MINIONS = 59933,
SPELL_ARCANE_BLAST = 49198,
SPELL_BLIZZARD = 49034,
@@ -54,6 +48,16 @@ enum Spells
SPELL_SUMMON_MINIONS = 59910
};
+enum Misc
+{
+ ACTION_RESET_CRYSTALS,
+ ACTION_ACTIVATE_CRYSTAL,
+ ACTION_DEACTIVATE,
+ EVENT_ATTACK,
+ EVENT_SUMMON_MINIONS,
+ DATA_NOVOS_ACHIEV
+};
+
struct SummonerInfo
{
uint32 data, spell, timer;
@@ -92,6 +96,7 @@ public:
void EnterCombat(Unit* /* victim */) OVERRIDE
{
_EnterCombat();
+ Talk(SAY_AGGRO);
SetCrystalsStatus(true);
SetSummonerStatus(true);
@@ -107,6 +112,18 @@ public:
DoStartNoMovement(target);
}
+ void KilledUnit(Unit* who) OVERRIDE
+ {
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_KILL);
+ }
+
+ void JustDied(Unit* /*killer*/) OVERRIDE
+ {
+ _JustDied();
+ Talk(SAY_DEATH);
+ }
+
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim() || _bubbled)
@@ -210,9 +227,6 @@ public:
void SetCrystalStatus(GameObject* crystal, bool active)
{
- if (!crystal)
- return;
-
crystal->SetGoState(active ? GO_STATE_ACTIVE : GO_STATE_READY);
if (Creature* crystalChannelTarget = crystal->FindNearestCreature(NPC_CRYSTAL_CHANNEL_TARGET, 5.0f))
{
@@ -236,6 +250,7 @@ public:
if (++_crystalHandlerCount >= 4)
{
+ Talk(SAY_ARCANE_FIELD);
SetSummonerStatus(false);
SetBubbled(false);
events.ScheduleEvent(EVENT_ATTACK, 3000);
@@ -332,42 +347,44 @@ public:
}
};
-enum SummonMinions
+class spell_novos_summon_minions : public SpellScriptLoader
{
- SPELL_COPY_OF_SUMMON_MINIONS = 59933
-};
+ public:
+ spell_novos_summon_minions() : SpellScriptLoader("spell_novos_summon_minions") { }
-class spell_summon_minions : public SpellScriptLoader
-{
-public:
- spell_summon_minions() : SpellScriptLoader("spell_summon_minions") { }
+ class spell_novos_summon_minions_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_novos_summon_minions_SpellScript);
- class spell_summon_minions_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_summon_minions_SpellScript);
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_COPY_OF_MINIONS))
+ return false;
+ return true;
+ }
- void HandleScript(SpellEffIndex /*effIndex*/)
- {
- GetCaster()->CastSpell((Unit*)NULL, SPELL_COPY_OF_SUMMON_MINIONS, true);
- GetCaster()->CastSpell((Unit*)NULL, SPELL_COPY_OF_SUMMON_MINIONS, true);
- }
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ for (uint8 i = 0; i < 2; ++i)
+ GetCaster()->CastSpell((Unit*)NULL, SPELL_SUMMON_COPY_OF_MINIONS, true);
+ }
- void Register() OVERRIDE
+ void Register() OVERRIDE
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_novos_summon_minions_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const OVERRIDE
{
- OnEffectHitTarget += SpellEffectFn(spell_summon_minions_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ return new spell_novos_summon_minions_SpellScript();
}
- };
-
- SpellScript* GetSpellScript() const OVERRIDE
- {
- return new spell_summon_minions_SpellScript();
- }
};
void AddSC_boss_novos()
{
new boss_novos();
new npc_crystal_channel_target();
- new spell_summon_minions();
+ new spell_novos_summon_minions();
new achievement_oh_novos();
}
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
index d126340ef51..225fa79b1fd 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
@@ -21,40 +21,42 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "SpellAuras.h"
+#include "SpellScript.h"
+#include "SpellAuraEffects.h"
#include "drak_tharon_keep.h"
enum Spells
{
- SPELL_INFECTED_WOUND = 49637,
- SPELL_CRUSH = 49639,
- SPELL_CORPSE_EXPLODE = 49555,
- SPELL_CONSUME = 49380,
- SPELL_CONSUME_AURA = 49381,
- // Heroic spells
- H_SPELL_CORPSE_EXPLODE = 59807,
- H_SPELL_CONSUME = 59803,
- H_SPELL_CONSUME_AURA = 59805,
+ SPELL_INFECTED_WOUND = 49637,
+ SPELL_CRUSH = 49639,
+ SPELL_CORPSE_EXPLODE = 49555,
+ SPELL_CORPSE_EXPLODE_DAMAGE = 49618,
+ SPELL_CONSUME = 49380,
+ SPELL_CONSUME_BUFF = 49381,
+ SPELL_CONSUME_BUFF_H = 59805,
+
+ SPELL_SUMMON_INVADER_A = 49456,
+ SPELL_SUMMON_INVADER_B = 49457,
+ //SPELL_SUMMON_INVADER_C = 49458, // can't find any sniffs
+
+ H_SPELL_CORPSE_EXPLODE = 59807,
+ H_SPELL_CONSUME = 59803,
};
-enum Yells
-{
- SAY_AGGRO = 0,
- SAY_KILL = 1,
- SAY_CONSUME = 2,
- SAY_EXPLODE = 3,
- SAY_DEATH = 4
-};
+#define SPELL_CONSUME_BUFF_HELPER DUNGEON_MODE<uint32>(SPELL_CONSUME_BUFF, SPELL_CONSUME_BUFF_H)
-enum Creatures
+enum Yells
{
- NPC_DRAKKARI_INVADER_1 = 27753,
- NPC_DRAKKARI_INVADER_2 = 27709
+ SAY_AGGRO = 0,
+ SAY_KILL = 1,
+ SAY_CONSUME = 2,
+ SAY_EXPLODE = 3,
+ SAY_DEATH = 4
};
enum Misc
{
- DATA_CONSUMPTION_JUNCTION = 1
+ DATA_CONSUMPTION_JUNCTION = 1
};
Position AddSpawnPoint = { -260.493011f, -622.968018f, 26.605301f, 3.036870f };
@@ -97,9 +99,9 @@ public:
lSummons.DespawnAll();
- me->RemoveAura(DUNGEON_MODE(SPELL_CONSUME_AURA, H_SPELL_CONSUME_AURA));
+ me->RemoveAura(SPELL_CONSUME_BUFF_HELPER);
- instance->SetData(DATA_TROLLGORE, NOT_STARTED);
+ instance->SetBossState(DATA_TROLLGORE, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) OVERRIDE
@@ -118,7 +120,7 @@ public:
{
uint32 spawnNumber = urand(2, DUNGEON_MODE(3, 5));
for (uint8 i = 0; i < spawnNumber; ++i)
- DoSummon(RAND(NPC_DRAKKARI_INVADER_1, NPC_DRAKKARI_INVADER_2), AddSpawnPoint, 0, TEMPSUMMON_DEAD_DESPAWN);
+ DoSummon(RAND(NPC_DRAKKARI_INVADER_A, NPC_DRAKKARI_INVADER_B), AddSpawnPoint, 0, TEMPSUMMON_DEAD_DESPAWN);
uiSpawnTimer = urand(30*IN_MILLISECONDS, 40*IN_MILLISECONDS);
} else uiSpawnTimer -= diff;
@@ -131,7 +133,7 @@ public:
if (consumptionJunction)
{
- Aura* ConsumeAura = me->GetAura(DUNGEON_MODE(SPELL_CONSUME_AURA, H_SPELL_CONSUME_AURA));
+ Aura* ConsumeAura = me->GetAura(SPELL_CONSUME_BUFF_HELPER);
if (ConsumeAura && ConsumeAura->GetStackAmount() > 9)
consumptionJunction = false;
}
@@ -197,6 +199,119 @@ public:
}
};
+// 49380, 59803 - Consume
+class spell_trollgore_consume : public SpellScriptLoader
+{
+ public:
+ spell_trollgore_consume() : SpellScriptLoader("spell_trollgore_consume") { }
+
+ class spell_trollgore_consume_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_trollgore_consume_SpellScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_CONSUME_BUFF))
+ return false;
+ return true;
+ }
+
+ void HandleConsume(SpellEffIndex /*effIndex*/)
+ {
+ if (Unit* target = GetHitUnit())
+ target->CastSpell(GetCaster(), SPELL_CONSUME_BUFF, true);
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_trollgore_consume_SpellScript::HandleConsume, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const OVERRIDE
+ {
+ return new spell_trollgore_consume_SpellScript();
+ }
+};
+
+// 49555, 59807 - Corpse Explode
+class spell_trollgore_corpse_explode : public SpellScriptLoader
+{
+ public:
+ spell_trollgore_corpse_explode() : SpellScriptLoader("spell_trollgore_corpse_explode") { }
+
+ class spell_trollgore_corpse_explode_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_trollgore_corpse_explode_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_CORPSE_EXPLODE_DAMAGE))
+ return false;
+ return true;
+ }
+
+ void PeriodicTick(AuraEffect const* aurEff)
+ {
+ if (aurEff->GetTickNumber() == 2)
+ if (Unit* caster = GetCaster())
+ caster->CastSpell(GetTarget(), SPELL_CORPSE_EXPLODE_DAMAGE, true, NULL, aurEff);
+ }
+
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Creature* target = GetTarget()->ToCreature())
+ target->DespawnOrUnsummon();
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_trollgore_corpse_explode_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_trollgore_corpse_explode_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const OVERRIDE
+ {
+ return new spell_trollgore_corpse_explode_AuraScript();
+ }
+};
+
+// 49405 - Invader Taunt Trigger
+class spell_trollgore_invader_taunt : public SpellScriptLoader
+{
+ public:
+ spell_trollgore_invader_taunt() : SpellScriptLoader("spell_trollgore_invader_taunt") { }
+
+ class spell_trollgore_invader_taunt_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_trollgore_invader_taunt_SpellScript);
+
+ bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].CalcValue()))
+ return false;
+ return true;
+ }
+
+ void HandleTaunt(SpellEffIndex /*effIndex*/)
+ {
+ if (Unit* target = GetHitUnit())
+ target->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_trollgore_invader_taunt_SpellScript::HandleTaunt, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const OVERRIDE
+ {
+ return new spell_trollgore_invader_taunt_SpellScript();
+ }
+};
+
class achievement_consumption_junction : public AchievementCriteriaScript
{
public:
@@ -220,5 +335,8 @@ class achievement_consumption_junction : public AchievementCriteriaScript
void AddSC_boss_trollgore()
{
new boss_trollgore();
+ new spell_trollgore_consume();
+ new spell_trollgore_corpse_explode();
+ new spell_trollgore_invader_taunt();
new achievement_consumption_junction();
}
diff --git a/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h b/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h
index cc0fb9a0090..072a5f2f534 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h
+++ b/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h
@@ -36,6 +36,10 @@ enum DataTypes
// Additional data
//DATA_KING_DRED_ACHIEV,
+ DATA_TROLLGORE_INVADER_SUMMONER_1,
+ DATA_TROLLGORE_INVADER_SUMMONER_2,
+ DATA_TROLLGORE_INVADER_SUMMONER_3,
+
DATA_NOVOS_CRYSTAL_1,
DATA_NOVOS_CRYSTAL_2,
DATA_NOVOS_CRYSTAL_3,
@@ -55,13 +59,23 @@ enum CreatureIds
NPC_KING_DRED = 27483,
NPC_THARON_JA = 26632,
+ // Trollgore
+ NPC_DRAKKARI_INVADER_A = 27709,
+ NPC_DRAKKARI_INVADER_B = 27753,
+ NPC_DRAKKARI_INVADER_C = 27754,
+
// Novos
NPC_CRYSTAL_CHANNEL_TARGET = 26712,
NPC_CRYSTAL_HANDLER = 26627,
+ NPC_HULKING_CORPSE = 27597,
+ NPC_FETID_TROLL_CORPSE = 27598,
+ NPC_RISEN_SHADOWCASTER = 27600,
// King Dred
NPC_DRAKKARI_GUTRIPPER = 26641,
- NPC_DRAKKARI_SCYTHECLAW = 26628
+ NPC_DRAKKARI_SCYTHECLAW = 26628,
+
+ NPC_WORLD_TRIGGER = 22515
};
enum GameObjectIds
diff --git a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
index 99a4ce77623..e2ed883ad08 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
@@ -36,11 +36,12 @@ class instance_drak_tharon_keep : public InstanceMapScript
KingDredGUID = 0;
TharonJaGUID = 0;
+ memset(TrollgoreInvaderSummonerGuids, 0, 4 * sizeof(uint64));
memset(NovosCrystalGUIDs, 0, 4 * sizeof(uint64));
memset(NovosSummonerGUIDs, 0, 4 * sizeof(uint64));
}
- void OnCreatureCreate(Creature* creature)
+ void OnCreatureCreate(Creature* creature) OVERRIDE
{
switch (creature->GetEntry())
{
@@ -56,6 +57,9 @@ class instance_drak_tharon_keep : public InstanceMapScript
case NPC_THARON_JA:
TharonJaGUID = creature->GetGUID();
break;
+ case NPC_WORLD_TRIGGER:
+ InitializeTrollgoreInvaderSummoner(creature);
+ break;
case NPC_CRYSTAL_CHANNEL_TARGET:
InitializeNovosSummoner(creature);
break;
@@ -64,31 +68,43 @@ class instance_drak_tharon_keep : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go)
+ void OnGameObjectCreate(GameObject* go) OVERRIDE
{
switch (go->GetEntry())
{
case GO_NOVOS_CRYSTAL_1:
NovosCrystalGUIDs[0] = go->GetGUID();
- go->SetGoState(GO_STATE_READY);
break;
case GO_NOVOS_CRYSTAL_2:
NovosCrystalGUIDs[1] = go->GetGUID();
- go->SetGoState(GO_STATE_READY);
break;
case GO_NOVOS_CRYSTAL_3:
NovosCrystalGUIDs[2] = go->GetGUID();
- go->SetGoState(GO_STATE_READY);
break;
case GO_NOVOS_CRYSTAL_4:
NovosCrystalGUIDs[3] = go->GetGUID();
- go->SetGoState(GO_STATE_READY);
break;
default:
break;
}
}
+ void InitializeTrollgoreInvaderSummoner(Creature* creature)
+ {
+ float y = creature->GetPositionY();
+ float z = creature->GetPositionZ();
+
+ if (z < 50.0f)
+ return;
+
+ if (y < -650.0f && y > -660.0f)
+ TrollgoreInvaderSummonerGuids[0] = creature->GetGUID();
+ else if (y < -660.0f && y > -670.0f)
+ TrollgoreInvaderSummonerGuids[1] = creature->GetGUID();
+ else if (y < -675.0f && y > -685.0f)
+ TrollgoreInvaderSummonerGuids[2] = creature->GetGUID();
+ }
+
void InitializeNovosSummoner(Creature* creature)
{
float x = creature->GetPositionX();
@@ -117,6 +133,10 @@ class instance_drak_tharon_keep : public InstanceMapScript
return KingDredGUID;
case DATA_THARON_JA:
return TharonJaGUID;
+ case DATA_TROLLGORE_INVADER_SUMMONER_1:
+ case DATA_TROLLGORE_INVADER_SUMMONER_2:
+ case DATA_TROLLGORE_INVADER_SUMMONER_3:
+ return TrollgoreInvaderSummonerGuids[type - DATA_TROLLGORE_INVADER_SUMMONER_1];
case DATA_NOVOS_CRYSTAL_1:
case DATA_NOVOS_CRYSTAL_2:
case DATA_NOVOS_CRYSTAL_3:
@@ -132,14 +152,14 @@ class instance_drak_tharon_keep : public InstanceMapScript
return 0;
}
- void OnUnitDeath(Unit* unit)
+ void OnUnitDeath(Unit* unit) OVERRIDE
{
if (unit->GetEntry() == NPC_CRYSTAL_HANDLER)
if (Creature* novos = instance->GetCreature(NovosGUID))
novos->AI()->DoAction(ACTION_CRYSTAL_HANDLER_DIED);
}
- std::string GetSaveData()
+ std::string GetSaveData() OVERRIDE
{
OUT_SAVE_INST_DATA;
@@ -150,7 +170,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str)
+ void Load(char const* str) OVERRIDE
{
if (!str)
{
@@ -188,6 +208,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
uint64 KingDredGUID;
uint64 TharonJaGUID;
+ uint64 TrollgoreInvaderSummonerGuids[3];
uint64 NovosCrystalGUIDs[4];
uint64 NovosSummonerGUIDs[4];
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index d8578b31abb..45c35741c3c 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -432,11 +432,10 @@ class spell_ignis_slag_pot : public SpellScriptLoader
{
PrepareAuraScript(spell_ignis_slag_pot_AuraScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SLAG_POT_DAMAGE))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_SLAG_IMBUED))
+ if (!sSpellMgr->GetSpellInfo(SPELL_SLAG_POT_DAMAGE)
+ || !sSpellMgr->GetSpellInfo(SPELL_SLAG_IMBUED))
return false;
return true;
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
index 1cd0fde4107..2de21278953 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
@@ -168,6 +168,7 @@ enum TickingTimeBomb
{
SPELL_TICKING_TIME_BOMB_EXPLODE = 59687
};
+
class spell_ticking_time_bomb : public SpellScriptLoader
{
public:
@@ -177,9 +178,11 @@ class spell_ticking_time_bomb : public SpellScriptLoader
{
PrepareAuraScript(spell_ticking_time_bomb_AuraScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
- return (bool) sSpellMgr->GetSpellInfo(SPELL_TICKING_TIME_BOMB_EXPLODE);
+ if (!sSpellMgr->GetSpellInfo(SPELL_TICKING_TIME_BOMB_EXPLODE))
+ return false;
+ return true;
}
void HandleOnEffectRemove(AuraEffect const* /* aurEff */, AuraEffectHandleModes /* mode */)
@@ -215,9 +218,11 @@ class spell_fixate : public SpellScriptLoader
{
PrepareSpellScript(spell_fixate_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
- return (bool) sSpellMgr->GetSpellInfo(SPELL_FIXATE_TRIGGER);
+ if (!sSpellMgr->GetSpellInfo(SPELL_FIXATE_TRIGGER))
+ return false;
+ return true;
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 60ae487daa7..5e9a19685bc 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -1609,7 +1609,7 @@ class spell_random_ingredient_aura : public SpellScriptLoader
{
PrepareAuraScript(spell_random_ingredient_aura_AuraScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_RANDOM_INGREDIENT_EASY) || !sSpellMgr->GetSpellInfo(SPELL_RANDOM_INGREDIENT_MEDIUM) || !sSpellMgr->GetSpellInfo(SPELL_RANDOM_INGREDIENT_HARD))
return false;
@@ -1656,7 +1656,7 @@ class spell_random_ingredient : public SpellScriptLoader
{
PrepareSpellScript(spell_random_ingredient_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_FETCH_KNOTROOT) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PICKLED_EAGLE_EGG) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SPECKLED_GUANO) ||
!sSpellMgr->GetSpellInfo(SPELL_FETCH_WITHERED_BATWING) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SEASONED_SLIDER_CIDER) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PULVERIZED_GARGOYLE_TEETH) ||
@@ -1720,7 +1720,7 @@ class spell_pot_check : public SpellScriptLoader
{
PrepareSpellScript(spell_pot_check_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_FETCH_KNOTROOT) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PICKLED_EAGLE_EGG) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SPECKLED_GUANO) ||
!sSpellMgr->GetSpellInfo(SPELL_FETCH_WITHERED_BATWING) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SEASONED_SLIDER_CIDER) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PULVERIZED_GARGOYLE_TEETH) ||
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
index 6c0d653f213..83c0cbf04d5 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
@@ -365,9 +365,65 @@ public:
};
+enum Yor
+{
+ SPELL_DOUBLE_BREATH = 38361,
+ EVENT_DOUBLE_BREATH = 1
+};
+
+class npc_yor : public CreatureScript
+{
+public:
+ npc_yor() : CreatureScript("npc_yor") { }
+
+ struct npc_yorAI : public ScriptedAI
+ {
+ npc_yorAI(Creature* creature) : ScriptedAI(creature) {}
+
+ void Reset() OVERRIDE {}
+
+ void EnterCombat(Unit* /*who*/) OVERRIDE
+ {
+ events.ScheduleEvent(EVENT_DOUBLE_BREATH, urand(6000,9000));
+ }
+
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_DOUBLE_BREATH:
+ if (me->IsWithinDist(me->GetVictim(), ATTACK_DISTANCE))
+ DoCastVictim(SPELL_DOUBLE_BREATH);
+ events.ScheduleEvent(EVENT_DOUBLE_BREATH, urand(6000,9000));
+ break;
+ default:
+ break;
+ }
+ }
+ DoMeleeAttackIfReady();
+ }
+
+ private:
+ EventMap events;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_yorAI(creature);
+ }
+};
+
void AddSC_boss_nexusprince_shaffar()
{
new boss_nexusprince_shaffar();
new npc_ethereal_beacon();
new npc_ethereal_apprentice();
+ new npc_yor();
}
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index 3d7a143d59e..290641437f3 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -903,7 +903,7 @@ public:
{
PrepareAuraScript(spell_boss_lady_malande_shield_AuraScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
return sSpellMgr->GetSpellInfo(SPELL_REFLECTIVE_SHIELD_T);
}
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
index 597cccda102..3c8627c7058 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
@@ -519,7 +519,7 @@ class spell_astromancer_wrath_of_the_astromancer : public SpellScriptLoader
{
PrepareAuraScript(spell_astromancer_wrath_of_the_astromancer_AuraScript);
- bool Validate(SpellInfo const* /*SpellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_WRATH_OF_THE_ASTROMANCER_DOT))
return false;
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index da36646c243..14746fbcb6c 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -680,7 +680,7 @@ class spell_gen_cannibalize : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_cannibalize_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_CANNIBALIZE_TRIGGERED))
return false;
@@ -733,7 +733,7 @@ class spell_gen_chaos_blast : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_chaos_blast_SpellScript)
- bool Validate(SpellInfo const* /*SpellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_CHAOS_BLAST))
return false;
@@ -853,7 +853,7 @@ class spell_gen_clone_weapon_aura : public SpellScriptLoader
uint32 prevItem;
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_COPY_WEAPON_AURA) ||
!sSpellMgr->GetSpellInfo(SPELL_COPY_WEAPON_2_AURA) ||
@@ -1095,9 +1095,10 @@ class spell_gen_dalaran_disguise : public SpellScriptLoader
class spell_gen_dalaran_disguise_SpellScript : public SpellScript
{
PrepareSpellScript(spell_gen_dalaran_disguise_SpellScript);
- bool Validate(SpellInfo const* spellEntry) OVERRIDE
+
+ bool Validate(SpellInfo const* spellInfo) OVERRIDE
{
- switch (spellEntry->Id)
+ switch (spellInfo->Id)
{
case SPELL_SUNREAVER_DISGUISE_TRIGGER:
if (!sSpellMgr->GetSpellInfo(SPELL_SUNREAVER_DISGUISE_FEMALE) ||
@@ -1165,7 +1166,7 @@ class spell_gen_defend : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_defend_AuraScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_VISUAL_SHIELD_1))
return false;
@@ -1287,7 +1288,7 @@ class spell_gen_divine_storm_cd_reset : public SpellScriptLoader
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_DIVINE_STORM))
return false;
@@ -1365,7 +1366,7 @@ class spell_gen_dummy_trigger : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_dummy_trigger_SpellScript);
- bool Validate(SpellInfo const* /*SpellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_PERSISTANT_SHIELD_TRIGGERED) ||
!sSpellMgr->GetSpellInfo(SPELL_PERSISTANT_SHIELD))
@@ -1458,7 +1459,7 @@ class spell_gen_elune_candle : public SpellScriptLoader
class spell_gen_elune_candle_SpellScript : public SpellScript
{
PrepareSpellScript(spell_gen_elune_candle_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_HEAD) ||
!sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_CHEST) ||
@@ -1525,7 +1526,7 @@ class spell_gen_gadgetzan_transporter_backfire : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_gadgetzan_transporter_backfire_SpellScript)
- bool Validate(SpellInfo const* /*SpellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_MALFUNCTION_POLYMORPH) ||
!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_EVIL_TWIN) ||
@@ -1626,7 +1627,7 @@ class spell_gen_gnomish_transporter : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_gnomish_transporter_SpellScript)
- bool Validate(SpellInfo const* /*SpellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_SUCCESS) ||
!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_FAILURE))
@@ -3191,7 +3192,7 @@ class spell_gen_summon_tournament_mount : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_summon_tournament_mount_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_LANCE_EQUIPPED))
return false;
@@ -3240,7 +3241,7 @@ class spell_gen_tournament_duel : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_tournament_duel_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_ON_TOURNAMENT_MOUNT) ||
!sSpellMgr->GetSpellInfo(SPELL_MOUNTED_DUEL))
@@ -3332,7 +3333,7 @@ class spell_pvp_trinket_wotf_shared_cd : public SpellScriptLoader
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER) ||
!sSpellMgr->GetSpellInfo(SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER_WOTF))
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 0e011d6c99f..16e9d8da64d 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -47,7 +47,7 @@ class spell_item_trigger_spell : public SpellScriptLoader
public:
spell_item_trigger_spell_SpellScript(uint32 triggeredSpellId) : SpellScript(), _triggeredSpellId(triggeredSpellId) { }
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(_triggeredSpellId))
return false;
@@ -322,7 +322,7 @@ class spell_item_deviate_fish : public SpellScriptLoader
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
for (uint32 spellId = SPELL_SLEEPY; spellId <= SPELL_HEALTHY_SPIRIT; ++spellId)
if (!sSpellMgr->GetSpellInfo(spellId))
@@ -367,7 +367,7 @@ class spell_item_flask_of_the_north : public SpellScriptLoader
{
PrepareSpellScript(spell_item_flask_of_the_north_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_SP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_AP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_STR))
return false;
@@ -436,7 +436,7 @@ class spell_item_gnomish_death_ray : public SpellScriptLoader
{
PrepareSpellScript(spell_item_gnomish_death_ray_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_SELF) || !sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_TARGET))
return false;
@@ -492,7 +492,7 @@ class spell_item_make_a_wish : public SpellScriptLoader
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_BLESSING) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_MIGHTY_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FURIOUS_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_TINY_MAGICAL_CRAWDAD) || !sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_GIFT))
return false;
@@ -646,7 +646,7 @@ class spell_item_net_o_matic : public SpellScriptLoader
{
PrepareSpellScript(spell_item_net_o_matic_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED3))
return false;
@@ -703,7 +703,7 @@ class spell_item_noggenfogger_elixir : public SpellScriptLoader
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED3))
return false;
@@ -788,7 +788,7 @@ class spell_item_savory_deviate_delight : public SpellScriptLoader
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
for (uint32 spellId = SPELL_FLIP_OUT_MALE; spellId <= SPELL_YAAARRRR_FEMALE; ++spellId)
if (!sSpellMgr->GetSpellInfo(spellId))
@@ -1112,7 +1112,7 @@ class spell_item_six_demon_bag : public SpellScriptLoader
{
PrepareSpellScript(spell_item_six_demon_bag_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_FROSTBOLT) || !sSpellMgr->GetSpellInfo(SPELL_POLYMORPH) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FELHOUND_MINION) || !sSpellMgr->GetSpellInfo(SPELL_FIREBALL) || !sSpellMgr->GetSpellInfo(SPELL_CHAIN_LIGHTNING) || !sSpellMgr->GetSpellInfo(SPELL_ENVELOPING_WINDS))
return false;
@@ -1213,7 +1213,7 @@ class spell_item_underbelly_elixir : public SpellScriptLoader
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED3))
return false;
@@ -1491,7 +1491,7 @@ class spell_item_vanquished_clutches : public SpellScriptLoader
{
PrepareSpellScript(spell_item_vanquished_clutches_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
if (!sSpellMgr->GetSpellInfo(SPELL_CRUSHER) || !sSpellMgr->GetSpellInfo(SPELL_CONSTRICTOR) || !sSpellMgr->GetSpellInfo(SPELL_CORRUPTOR))
return false;