aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2022-06-10 00:15:20 +0300
committerShauren <shauren.trinity@gmail.com>2022-06-10 19:32:05 +0200
commit7d9d55ee87e87df86cdaf8b3d65330c6aa99e30e (patch)
tree4551a507b6bd7ac0304b014216dc29e4c5a3fc1a /src/server/scripts/EasternKingdoms
parentfcc08ffb223602f19610bd87d25d32bdf34ca589 (diff)
Scripts/Quest: Migrate few quest spell scripts to zone files (#28015)
(cherry picked from commit b52e0ccbad718eb0b2d84f4a247c60f7934e8eb6)
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
-rw-r--r--src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp56
-rw-r--r--src/server/scripts/EasternKingdoms/zone_undercity.cpp33
3 files changed, 91 insertions, 2 deletions
diff --git a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
index fdfb3000017..3ca0fba445b 100644
--- a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
+++ b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
@@ -189,7 +189,7 @@ void AddSC_burning_steppes();
void AddSC_dun_morogh();
void AddSC_dun_morogh_area_coldridge_valley();
void AddSC_duskwood();
-//void AddSC_eastern_plaguelands();
+void AddSC_eastern_plaguelands();
void AddSC_elwynn_forest();
//void AddSC_ghostlands();
void AddSC_hinterlands();
@@ -381,7 +381,7 @@ void AddEasternKingdomsScripts()
AddSC_dun_morogh();
AddSC_dun_morogh_area_coldridge_valley();
AddSC_duskwood();
- //AddSC_eastern_plaguelands();
+ AddSC_eastern_plaguelands();
AddSC_elwynn_forest();
//AddSC_ghostlands();
AddSC_hinterlands();
diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
new file mode 100644
index 00000000000..cbeaf452188
--- /dev/null
+++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
@@ -0,0 +1,56 @@
+/*
+ * 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 "ScriptMgr.h"
+#include "SpellScript.h"
+#include "Unit.h"
+
+/*######
+## Quest 5206: Marauders of Darrowshire
+######*/
+
+enum MaraudersOfDarrowshire
+{
+ SPELL_CREATE_RESONATING_SKULL = 17269,
+ SPELL_CREATE_BONE_DUST = 17270
+};
+
+// 17271 - Test Fetid Skull
+class spell_eastern_plaguelands_test_fetid_skull : public SpellScript
+{
+ PrepareSpellScript(spell_eastern_plaguelands_test_fetid_skull);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_CREATE_RESONATING_SKULL, SPELL_CREATE_BONE_DUST });
+ }
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetCaster(), roll_chance_i(50) ? SPELL_CREATE_RESONATING_SKULL : SPELL_CREATE_BONE_DUST, TRIGGERED_IGNORE_POWER_AND_REAGENT_COST);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_eastern_plaguelands_test_fetid_skull::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+};
+
+void AddSC_eastern_plaguelands()
+{
+ RegisterSpellScript(spell_eastern_plaguelands_test_fetid_skull);
+}
diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
index da61f3681dd..b7aad7ddd9b 100644
--- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
@@ -32,6 +32,7 @@ EndContentData */
#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
+#include "SpellScript.h"
/*######
## npc_lady_sylvanas_windrunner
@@ -320,6 +321,37 @@ public:
};
/*######
+## Quest 1846: Dragonmaw Shinbones
+######*/
+
+enum DragonmawShinbones
+{
+ SPELL_BENDING_SHINBONE1 = 8854,
+ SPELL_BENDING_SHINBONE2 = 8855
+};
+
+// 8856 - Bending Shinbone
+class spell_undercity_bending_shinbone : public SpellScript
+{
+ PrepareSpellScript(spell_undercity_bending_shinbone);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_BENDING_SHINBONE1, SPELL_BENDING_SHINBONE2 });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetCaster(), roll_chance_i(20) ? SPELL_BENDING_SHINBONE1 : SPELL_BENDING_SHINBONE2, GetSpell());
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_undercity_bending_shinbone::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
## AddSC
######*/
@@ -327,4 +359,5 @@ void AddSC_undercity()
{
new npc_lady_sylvanas_windrunner();
new npc_highborne_lamenter();
+ RegisterSpellScript(spell_undercity_bending_shinbone);
}