aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2021-11-01 18:11:39 +0200
committerShauren <shauren.trinity@gmail.com>2022-03-21 00:22:02 +0100
commit6d36a4f77abc031cb7dcb262e4ac8a339c1c2c0a (patch)
tree2d7bd18ffb3a0ed7be5f0a29b13dda9deccfe034 /src
parent77bb4d2619f5b9409cb7173d34ebce4ffaf0cb9c (diff)
Scripts/Quest: Make 'Search and Rescue' less hacky (#27227)
(cherry picked from commit 6e07acbbdeb5fdc3072af480175267ca5969efc2)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.cpp53
-rw-r--r--src/server/scripts/Northrend/northrend_script_loader.cpp2
2 files changed, 55 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.cpp b/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.cpp
new file mode 100644
index 00000000000..bd5d5ac69c8
--- /dev/null
+++ b/src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.cpp
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
+ *
+ * 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 "CreatureAIImpl.h"
+#include "ScriptMgr.h"
+#include "SpellScript.h"
+#include "Unit.h"
+
+enum SummonRandomDrakkari
+{
+ SPELL_SUMMON_DRAKKARI_SHAMAN = 49958,
+ SPELL_SUMMON_DRAKKARI_GUARDIAN = 49959
+};
+
+// 49960 - Summon Random Drakkari
+class spell_summon_random_drakkari : public SpellScript
+{
+ PrepareSpellScript(spell_summon_random_drakkari);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_SUMMON_DRAKKARI_SHAMAN, SPELL_SUMMON_DRAKKARI_GUARDIAN });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetCaster(), RAND(SPELL_SUMMON_DRAKKARI_SHAMAN, SPELL_SUMMON_DRAKKARI_GUARDIAN), true);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_summon_random_drakkari::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+void AddSC_drak_tharon_keep()
+{
+ RegisterSpellScript(spell_summon_random_drakkari);
+}
diff --git a/src/server/scripts/Northrend/northrend_script_loader.cpp b/src/server/scripts/Northrend/northrend_script_loader.cpp
index 4f435411732..78d3b00c213 100644
--- a/src/server/scripts/Northrend/northrend_script_loader.cpp
+++ b/src/server/scripts/Northrend/northrend_script_loader.cpp
@@ -41,6 +41,7 @@ void AddSC_boss_novos();
void AddSC_boss_king_dred();
void AddSC_boss_tharon_ja();
void AddSC_instance_drak_tharon_keep();
+void AddSC_drak_tharon_keep();
// Trial of the Champion
void AddSC_boss_argent_challenge();
void AddSC_boss_black_knight();
@@ -237,6 +238,7 @@ void AddNorthrendScripts()
AddSC_boss_king_dred();
AddSC_boss_tharon_ja();
AddSC_instance_drak_tharon_keep();
+ AddSC_drak_tharon_keep();
// Trial of the Champion
AddSC_boss_argent_challenge();
AddSC_boss_black_knight();