aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/FULL/world_scripts_full.sql1
-rw-r--r--sql/updates/6208_world_scripts.sql1
-rw-r--r--src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp46
3 files changed, 40 insertions, 8 deletions
diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql
index e80dacc6eb3..8e23e092721 100644
--- a/sql/FULL/world_scripts_full.sql
+++ b/sql/FULL/world_scripts_full.sql
@@ -804,6 +804,7 @@ UPDATE `creature_template` SET `ScriptName`='mob_webwrap' WHERE `entry`=16486;
UPDATE `creature_template` SET `ScriptName`='boss_noth' WHERE `entry`=15954;
UPDATE `creature_template` SET `ScriptName`='boss_heigan' WHERE `entry`=15936;
UPDATE `creature_template` SET `ScriptName`='boss_loatheb' WHERE `entry`=16011;
+UPDATE `creature_template` SET `ScriptName`='mob_loatheb_spore' WHERE `entry`=16286;
UPDATE `creature_template` SET `ScriptName`='boss_razuvious' WHERE `entry`=16061;
UPDATE `creature_template` SET `ScriptName`='boss_gothik' WHERE `entry`=16060;
UPDATE `creature_template` SET `ScriptName`='mob_gothik_minion' where `entry` IN (16124,16125,16126,16127,16148,16149,16150);
diff --git a/sql/updates/6208_world_scripts.sql b/sql/updates/6208_world_scripts.sql
new file mode 100644
index 00000000000..5b7f773b54a
--- /dev/null
+++ b/sql/updates/6208_world_scripts.sql
@@ -0,0 +1 @@
+UPDATE `creature_template` SET `ScriptName`='mob_loatheb_spore' WHERE `entry`=16286;
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp
index 29d4f8d15f0..5b51719fd85 100644
--- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp
+++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp
@@ -19,14 +19,19 @@
#include "precompiled.h"
#include "naxxramas.h"
-#define SPELL_NECROTIC_AURA 55593
-#define SPELL_SUMMON_SPORE 29234
-#define SPELL_DEATHBLOOM HEROIC(29865,55053)
-#define SPELL_INEVITABLE_DOOM HEROIC(29204,55052)
+enum Spells
+{
+ SPELL_NECROTIC_AURA = 55593,
+ SPELL_SUMMON_SPORE = 29234,
+ SPELL_DEATHBLOOM = 29865,
+ H_SPELL_DEATHBLOOM = 55053,
+ SPELL_INEVITABLE_DOOM = 29204,
+ H_SPELL_INEVITABLE_DOOM = 55052
+};
enum Events
{
- EVENT_AURA = 1,
+ EVENT_AURA,
EVENT_BLOOM,
EVENT_DOOM,
};
@@ -60,11 +65,11 @@ struct TRINITY_DLL_DECL boss_loathebAI : public BossAI
return;
case EVENT_BLOOM:
DoCastAOE(SPELL_SUMMON_SPORE, true);
- DoCastAOE(SPELL_DEATHBLOOM);
+ DoCastAOE(HEROIC(SPELL_DEATHBLOOM,H_SPELL_DEATHBLOOM));
events.ScheduleEvent(EVENT_BLOOM, 30000);
return;
case EVENT_DOOM:
- DoCastAOE(SPELL_INEVITABLE_DOOM);
+ DoCastAOE(HEROIC(SPELL_INEVITABLE_DOOM,H_SPELL_INEVITABLE_DOOM));
events.ScheduleEvent(EVENT_DOOM, events.GetTimer() < 5*60000 ? 30000 : 15000);
return;
}
@@ -79,6 +84,26 @@ CreatureAI* GetAI_boss_loatheb(Creature* pCreature)
return new boss_loathebAI (pCreature);
}
+enum SporeSpells
+{
+ SPELL_FUNGAL_CREEP = 29232
+};
+
+struct TRINITY_DLL_DECL mob_loatheb_sporeAI : public ScriptedAI
+{
+ mob_loatheb_sporeAI(Creature *c) : ScriptedAI(c) {}
+
+ void JustDied(Unit* killer)
+ {
+ DoCast(killer, SPELL_FUNGAL_CREEP);
+ }
+};
+
+CreatureAI* GetAI_mob_loatheb_spore(Creature* pCreature)
+{
+ return new mob_loatheb_sporeAI (pCreature);
+}
+
void AddSC_boss_loatheb()
{
Script *newscript;
@@ -87,7 +112,12 @@ void AddSC_boss_loatheb()
newscript->GetAI = &GetAI_boss_loatheb;
newscript->RegisterSelf();
+ newscript = new Script;
+ newscript->Name = "mob_loatheb_spore";
+ newscript->GetAI = &GetAI_mob_loatheb_spore;
+ newscript->RegisterSelf();
+
// Fungal Creep
- GetAISpellInfo(29232)->condition = AICOND_DIE;
+ //GetAISpellInfo(29232)->condition = AICOND_DIE;
}