aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2022_06_10_17_world_2022_06_09_01_world.sql6
-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
-rw-r--r--src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp32
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp32
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp32
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp164
8 files changed, 193 insertions, 166 deletions
diff --git a/sql/updates/world/master/2022_06_10_17_world_2022_06_09_01_world.sql b/sql/updates/world/master/2022_06_10_17_world_2022_06_09_01_world.sql
new file mode 100644
index 00000000000..3231c540777
--- /dev/null
+++ b/sql/updates/world/master/2022_06_10_17_world_2022_06_09_01_world.sql
@@ -0,0 +1,6 @@
+--
+UPDATE `spell_script_names` SET `ScriptName` = 'spell_undercity_bending_shinbone' WHERE `ScriptName` = 'spell_q1846_bending_shinbone';
+UPDATE `spell_script_names` SET `ScriptName` = 'spell_eastern_plaguelands_test_fetid_skull' WHERE `ScriptName` = 'spell_q5206_test_fetid_skull';
+UPDATE `spell_script_names` SET `ScriptName` = 'spell_azuremyst_isle_cast_fishing_net' WHERE `ScriptName` = 'spell_q9452_cast_net';
+UPDATE `spell_script_names` SET `ScriptName` = 'spell_dustwallow_marsh_salvage_wreckage' WHERE `ScriptName` = 'spell_q11140salvage_wreckage';
+UPDATE `spell_script_names` SET `ScriptName` = 'spell_borean_tundra_arcane_prisoner_rescue' WHERE `ScriptName` = 'spell_q11587_arcane_prisoner_rescue';
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);
}
diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
index 5b241b476eb..18ddd8a2a38 100644
--- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
@@ -632,6 +632,37 @@ class spell_inoculate_nestlewood : public AuraScript
}
};
+/*######
+## Quest 9452: Red Snapper - Very Tasty!
+######*/
+
+enum RedSnapperVeryTasty
+{
+ SPELL_FISHED_UP_RED_SNAPPER = 29867,
+ SPELL_FISHED_UP_MURLOC = 29869
+};
+
+// 29866 - Cast Fishing Net
+class spell_azuremyst_isle_cast_fishing_net : public SpellScript
+{
+ PrepareSpellScript(spell_azuremyst_isle_cast_fishing_net);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_FISHED_UP_RED_SNAPPER, SPELL_FISHED_UP_MURLOC });
+ }
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetCaster(), roll_chance_i(66) ? SPELL_FISHED_UP_RED_SNAPPER : SPELL_FISHED_UP_MURLOC);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_azuremyst_isle_cast_fishing_net::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+};
+
void AddSC_azuremyst_isle()
{
new npc_draenei_survivor();
@@ -639,4 +670,5 @@ void AddSC_azuremyst_isle()
new npc_injured_draenei();
new npc_magwin();
RegisterSpellScript(spell_inoculate_nestlewood);
+ RegisterSpellScript(spell_azuremyst_isle_cast_fishing_net);
}
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 5be9f6502cb..a73bc730ae3 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -122,9 +122,41 @@ class spell_energize_aoe : public SpellScript
}
};
+/*######
+## Quest 11140: Recover the Cargo!
+######*/
+
+enum RecoverTheCargo
+{
+ SPELL_SUMMON_LOCKBOX = 42288,
+ SPELL_SUMMON_BURROWER = 42289
+};
+
+// 42287 - Salvage Wreckage
+class spell_dustwallow_marsh_salvage_wreckage : public SpellScript
+{
+ PrepareSpellScript(spell_dustwallow_marsh_salvage_wreckage);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_SUMMON_LOCKBOX, SPELL_SUMMON_BURROWER });
+ }
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetCaster(), roll_chance_i(50) ? SPELL_SUMMON_LOCKBOX : SPELL_SUMMON_BURROWER);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_dustwallow_marsh_salvage_wreckage::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+};
+
void AddSC_dustwallow_marsh()
{
RegisterSpellScript(spell_ooze_zap);
RegisterSpellScript(spell_ooze_zap_channel_end);
RegisterSpellScript(spell_energize_aoe);
+ RegisterSpellScript(spell_dustwallow_marsh_salvage_wreckage);
}
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index 9634edd04a6..b282ae2f22d 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -1884,6 +1884,37 @@ class spell_borean_tundra_prototype_neural_needle : public SpellScript
}
};
+/*######
+## Quest 11587: Prison Break
+######*/
+
+enum PrisonBreak
+{
+ SPELL_SUMMON_ARCANE_PRISONER_1 = 45446,
+ SPELL_SUMMON_ARCANE_PRISONER_2 = 45448
+};
+
+// 45449 - Arcane Prisoner Rescue
+class spell_borean_tundra_arcane_prisoner_rescue : public SpellScript
+{
+ PrepareSpellScript(spell_borean_tundra_arcane_prisoner_rescue);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_SUMMON_ARCANE_PRISONER_1, SPELL_SUMMON_ARCANE_PRISONER_2 });
+ }
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetCaster(), RAND(SPELL_SUMMON_ARCANE_PRISONER_1, SPELL_SUMMON_ARCANE_PRISONER_2));
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_borean_tundra_arcane_prisoner_rescue::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+};
+
void AddSC_borean_tundra()
{
RegisterCreatureAI(npc_corastrasza);
@@ -1911,4 +1942,5 @@ void AddSC_borean_tundra()
RegisterSpellScript(spell_borean_tundra_kodo_delivered);
RegisterSpellScript(spell_borean_tundra_neural_needle);
RegisterSpellScript(spell_borean_tundra_prototype_neural_needle);
+ RegisterSpellScript(spell_borean_tundra_arcane_prisoner_rescue);
}
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index 485c8acb2df..9da2dda21d6 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -87,34 +87,6 @@ class spell_q55_sacred_cleansing : public SpellScriptLoader
}
};
-enum BendingShinbone
-{
- SPELL_BENDING_SHINBONE1 = 8854,
- SPELL_BENDING_SHINBONE2 = 8855
-};
-
-// 8856 - Bending Shinbone
-class spell_q1846_bending_shinbone : public SpellScript
-{
- PrepareSpellScript(spell_q1846_bending_shinbone);
-
- void HandleScriptEffect(SpellEffIndex /* effIndex */)
- {
- Item* target = GetHitItem();
- Unit* caster = GetCaster();
- if (!target && caster->GetTypeId() != TYPEID_PLAYER)
- return;
-
- uint32 const spellId = roll_chance_i(20) ? SPELL_BENDING_SHINBONE1 : SPELL_BENDING_SHINBONE2;
- caster->CastSpell(caster, spellId, GetSpell());
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_q1846_bending_shinbone::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
- }
-};
-
enum ThaumaturgyChannel
{
SPELL_THAUMATURGY_CHANNEL = 21029
@@ -143,41 +115,6 @@ class spell_q2203_thaumaturgy_channel : public AuraScript
}
};
-// http://www.wowhead.com/quest=5206 Marauders of Darrowshire
-enum Quest5206Data
-{
- SPELL_CREATE_RESONATING_SKULL = 17269,
- SPELL_CREATE_BONE_DUST = 17270
-};
-
-// 17271 - Test Fetid Skull
-class spell_q5206_test_fetid_skull : public SpellScript
-{
- PrepareSpellScript(spell_q5206_test_fetid_skull);
-
- bool Load() override
- {
- return GetCaster()->GetTypeId() == TYPEID_PLAYER;
- }
-
- bool Validate(SpellInfo const* /*spellEntry*/) override
- {
- return ValidateSpellInfo({ SPELL_CREATE_RESONATING_SKULL, SPELL_CREATE_BONE_DUST });
- }
-
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- Unit* caster = GetCaster();
- uint32 spellId = roll_chance_i(50) ? SPELL_CREATE_RESONATING_SKULL : SPELL_CREATE_BONE_DUST;
- caster->CastSpell(caster, spellId, true);
- }
-
- void Register() override
- {
- OnEffectHit += SpellEffectFn(spell_q5206_test_fetid_skull::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
-};
-
// http://www.wowhead.com/quest=6124 Curing the Sick (A)
// http://www.wowhead.com/quest=6129 Curing the Sick (H)
enum Quests6124_6129Data
@@ -351,38 +288,6 @@ class spell_q11515_fel_siphon_dummy : public SpellScriptLoader
}
};
-// http://www.wowhead.com/quest=11587 Prison Break
-enum Quest11587Data
-{
- SPELL_SUMMON_ARCANE_PRISONER_MALE = 45446, // Summon Arcane Prisoner - Male
- SPELL_SUMMON_ARCANE_PRISONER_FEMALE = 45448 // Summon Arcane Prisoner - Female
-};
-
-// 45449 - Arcane Prisoner Rescue
-class spell_q11587_arcane_prisoner_rescue : public SpellScript
-{
- PrepareSpellScript(spell_q11587_arcane_prisoner_rescue);
-
- bool Validate(SpellInfo const* /*spellEntry*/) override
- {
- return ValidateSpellInfo({ SPELL_SUMMON_ARCANE_PRISONER_MALE, SPELL_SUMMON_ARCANE_PRISONER_FEMALE });
- }
-
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- Unit* caster = GetCaster();
- uint32 spellId = SPELL_SUMMON_ARCANE_PRISONER_MALE;
- if (rand32() % 2)
- spellId = SPELL_SUMMON_ARCANE_PRISONER_FEMALE;
- caster->CastSpell(caster, spellId, true);
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_q11587_arcane_prisoner_rescue::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
-};
-
// http://www.wowhead.com/quest=11730 Master and Servant
enum Quest11730Data
{
@@ -712,38 +617,6 @@ class spell_q13280_13283_jump_jets : public SpellScript
}
};
-enum RedSnapperVeryTasty
-{
- SPELL_FISHED_UP_RED_SNAPPER = 29867,
- SPELL_FISHED_UP_MURLOC = 29869
-};
-
-// 29866 - Cast Fishing Net
-class spell_q9452_cast_net : public SpellScript
-{
- PrepareSpellScript(spell_q9452_cast_net);
-
- bool Validate(SpellInfo const* /*spell*/) override
- {
- return ValidateSpellInfo({ SPELL_FISHED_UP_RED_SNAPPER, SPELL_FISHED_UP_MURLOC });
- }
-
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- Unit* caster = GetCaster();
-
- if (roll_chance_i(66))
- caster->CastSpell(caster, SPELL_FISHED_UP_RED_SNAPPER, true);
- else
- caster->CastSpell(nullptr, SPELL_FISHED_UP_MURLOC, true);
- }
-
- void Register() override
- {
- OnEffectHit += SpellEffectFn(spell_q9452_cast_net::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
-};
-
enum FocusOnTheBeach
{
SPELL_BUNNY_CREDIT_BEAM = 47390,
@@ -928,38 +801,6 @@ class spell_q11010_q11102_q11023_q11008_check_fly_mount : public SpellScript
}
};
-enum RecoverTheCargo
-{
- SPELL_SUMMON_LOCKBOX = 42288,
- SPELL_SUMMON_BURROWER = 42289
-};
-
-// 42287 - Salvage Wreckage
-class spell_q11140salvage_wreckage : public SpellScript
-{
- PrepareSpellScript(spell_q11140salvage_wreckage);
-
- bool Validate(SpellInfo const* /*spell*/) override
- {
- return ValidateSpellInfo({ SPELL_SUMMON_LOCKBOX, SPELL_SUMMON_BURROWER });
- }
-
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- Unit* caster = GetCaster();
-
- if (roll_chance_i(50))
- caster->CastSpell(caster, SPELL_SUMMON_LOCKBOX, true);
- else
- caster->CastSpell(nullptr, SPELL_SUMMON_BURROWER, true);
- }
-
- void Register() override
- {
- OnEffectHit += SpellEffectFn(spell_q11140salvage_wreckage::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
-};
-
enum SpellZuldrakRat
{
SPELL_SUMMON_GORGED_LURKING_BASILISK = 50928
@@ -2106,16 +1947,13 @@ class spell_q14386_call_attack_mastiffs : public SpellScript
void AddSC_quest_spell_scripts()
{
new spell_q55_sacred_cleansing();
- RegisterSpellScript(spell_q1846_bending_shinbone);
RegisterSpellScript(spell_q2203_thaumaturgy_channel);
- RegisterSpellScript(spell_q5206_test_fetid_skull);
RegisterSpellScript(spell_q6124_6129_apply_salve);
new spell_q10255_administer_antidote();
RegisterSpellScript(spell_q11396_11399_force_shield_arcane_purple_x3);
RegisterSpellScript(spell_q11396_11399_scourging_crystal_controller);
RegisterSpellScript(spell_q11396_11399_scourging_crystal_controller_dummy);
new spell_q11515_fel_siphon_dummy();
- RegisterSpellScript(spell_q11587_arcane_prisoner_rescue);
RegisterSpellScript(spell_q11730_ultrasonic_screwdriver);
RegisterSpellScript(spell_q12459_seeds_of_natures_wrath);
RegisterSpellScript(spell_q12634_despawn_fruit_tosser);
@@ -2124,7 +1962,6 @@ void AddSC_quest_spell_scripts()
RegisterSpellScript(spell_q12805_lifeblood_dummy);
RegisterSpellScript(spell_q13280_13283_plant_battle_standard);
RegisterSpellScript(spell_q13280_13283_jump_jets);
- RegisterSpellScript(spell_q9452_cast_net);
RegisterSpellScript(spell_q12066_bunny_kill_credit);
RegisterSpellScript(spell_q12372_cast_from_gossip_trigger);
RegisterSpellScript(spell_q12372_destabilize_azure_dragonshrine_dummy);
@@ -2133,7 +1970,6 @@ void AddSC_quest_spell_scripts()
RegisterSpellScript(spell_q11010_q11102_q11023_aggro_burst);
RegisterSpellScript(spell_q11010_q11102_q11023_choose_loc);
RegisterSpellScript(spell_q11010_q11102_q11023_q11008_check_fly_mount);
- RegisterSpellScript(spell_q11140salvage_wreckage);
RegisterSpellScript(spell_q12527_zuldrak_rat);
RegisterSpellScript(spell_q12661_q12669_q12676_q12677_q12713_summon_stefan);
RegisterSpellScript(spell_q12730_quenching_mist);