aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_01_02_01_world_spell_script.sql3
-rw-r--r--sql/updates/world/2013_01_02_02_world_instance_template.sql1
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp45
3 files changed, 49 insertions, 0 deletions
diff --git a/sql/updates/world/2013_01_02_01_world_spell_script.sql b/sql/updates/world/2013_01_02_01_world_spell_script.sql
new file mode 100644
index 00000000000..a839ca6dc7b
--- /dev/null
+++ b/sql/updates/world/2013_01_02_01_world_spell_script.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `spell_id`=34803;
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(34803,'spell_commander_sarannis_summon_reinforcements');
diff --git a/sql/updates/world/2013_01_02_02_world_instance_template.sql b/sql/updates/world/2013_01_02_02_world_instance_template.sql
new file mode 100644
index 00000000000..f63a2c3ba2e
--- /dev/null
+++ b/sql/updates/world/2013_01_02_02_world_instance_template.sql
@@ -0,0 +1 @@
+UPDATE `instance_template` SET `script`='instance_the_botanica' WHERE `map`=553;
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
index f64276940aa..6b232a2ad17 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
@@ -18,6 +18,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "the_botanica.h"
+#include "SpellScript.h"
enum Says
{
@@ -134,6 +135,50 @@ class boss_commander_sarannis : public CreatureScript
}
};
+Position const PosSummonReinforcements[4] =
+{
+ { 160.4483f, 287.6435f, -3.887904f, 2.3841f },
+ { 153.4406f, 289.9929f, -4.736916f, 2.3841f },
+ { 154.4137f, 292.8956f, -4.683603f, 2.3841f },
+ { 157.1544f, 294.2599f, -4.726504f, 2.3841f }
+};
+
+enum Creatures
+{
+ NPC_SUMMONED_BLOODWARDER_MENDER = 20083,
+ NPC_SUMMONED_BLOODWARDER_RESERVIST = 20078
+};
+
+class spell_commander_sarannis_summon_reinforcements : public SpellScriptLoader
+{
+ public:
+ spell_commander_sarannis_summon_reinforcements() : SpellScriptLoader("spell_commander_sarannis_summon_reinforcements") { }
+
+ class spell_commander_sarannis_summon_reinforcements_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_commander_sarannis_summon_reinforcements_SpellScript);
+
+ void HandleCast(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->SummonCreature(NPC_SUMMONED_BLOODWARDER_MENDER, PosSummonReinforcements[0], TEMPSUMMON_CORPSE_DESPAWN);
+ GetCaster()->SummonCreature(NPC_SUMMONED_BLOODWARDER_RESERVIST, PosSummonReinforcements[1], TEMPSUMMON_CORPSE_DESPAWN);
+ GetCaster()->SummonCreature(NPC_SUMMONED_BLOODWARDER_RESERVIST, PosSummonReinforcements[2], TEMPSUMMON_CORPSE_DESPAWN);
+ if (GetCaster()->GetMap()->IsHeroic())
+ GetCaster()->SummonCreature(NPC_SUMMONED_BLOODWARDER_RESERVIST, PosSummonReinforcements[3], TEMPSUMMON_CORPSE_DESPAWN);
+ }
+
+ void Register()
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_commander_sarannis_summon_reinforcements_SpellScript::HandleCast, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_commander_sarannis_summon_reinforcements_SpellScript();
+ }
+};
+
void AddSC_boss_commander_sarannis()
{
new boss_commander_sarannis();