aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp27
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp23
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp29
-rw-r--r--src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp175
-rw-r--r--src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp2
5 files changed, 256 insertions, 0 deletions
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 61049c875a2..60437c0eb78 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -1143,6 +1143,32 @@ class spell_chapter1_runeforging_credit : public SpellScript
}
};
+enum SkyDarkenerAssault
+{
+ SPELL_SKY_DARKENER_ASSAULT = 52125
+};
+
+// 52124 - Sky Darkener Assault
+class spell_chapter1_sky_darkener_assault : public SpellScript
+{
+ PrepareSpellScript(spell_chapter1_sky_darkener_assault);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_SKY_DARKENER_ASSAULT });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_SKY_DARKENER_ASSAULT);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_chapter1_sky_darkener_assault::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_the_scarlet_enclave_c1()
{
new npc_unworthy_initiate();
@@ -1160,4 +1186,5 @@ void AddSC_the_scarlet_enclave_c1()
RegisterCreatureAI(npc_scarlet_ghoul);
RegisterSpellScript(spell_gift_of_the_harvester);
RegisterSpellScript(spell_chapter1_runeforging_credit);
+ RegisterSpellScript(spell_chapter1_sky_darkener_assault);
}
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index a892e1ae0fe..44c339f8310 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -53,6 +53,7 @@ enum Spells
SPELL_ENTROPIUS_COSMETIC_SPAWN = 46223,
SPELL_DARKNESS_E = 46269,
SPELL_NEGATIVE_ENERGY_PERIODIC_E = 46284,
+ SPELL_NEGATIVE_ENERGY_DAMAGE = 46285,
SPELL_BLACKHOLE = 46282,
SPELL_SUMMON_DARKFIEND_E = 46263,
@@ -635,6 +636,27 @@ class spell_muru_negative_energy_periodic : public AuraScript
}
};
+// 46289 - Negative Energy
+class spell_muru_negative_energy : public SpellScript
+{
+ PrepareSpellScript(spell_muru_negative_energy);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_NEGATIVE_ENERGY_DAMAGE });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_NEGATIVE_ENERGY_DAMAGE, true);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_muru_negative_energy::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_boss_muru()
{
RegisterSunwellPlateauCreatureAI(boss_muru);
@@ -649,4 +671,5 @@ void AddSC_boss_muru()
RegisterSpellScript(spell_transform_visual_missile_periodic);
RegisterSpellScript(spell_summon_blood_elves_periodic);
RegisterSpellScript(spell_muru_negative_energy_periodic);
+ RegisterSpellScript(spell_muru_negative_energy);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp
index 9a641317d36..940e7981c1d 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp
@@ -16,10 +16,12 @@
*/
#include "ScriptMgr.h"
+#include "SpellScript.h"
#include "zulgurub.h"
#include "GameEventMgr.h"
#include "GameObject.h"
#include "GameObjectAI.h"
+#include "Unit.h"
/*######
## go_brazier_of_madness
@@ -74,7 +76,34 @@ public:
}
};
+enum PoisonousBlood
+{
+ SPELL_POISONOUS_BLOOD = 24321
+};
+
+// 24320 - Poisonous Blood
+class spell_zulgurub_poisonous_blood : public SpellScript
+{
+ PrepareSpellScript(spell_zulgurub_poisonous_blood);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_POISONOUS_BLOOD });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_POISONOUS_BLOOD);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_zulgurub_poisonous_blood::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_zulgurub()
{
new go_brazier_of_madness();
+ RegisterSpellScript(spell_zulgurub_poisonous_blood);
}
diff --git a/src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp b/src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp
new file mode 100644
index 00000000000..4e36f5e5c39
--- /dev/null
+++ b/src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp
@@ -0,0 +1,175 @@
+/*
+ * 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 "DBCStores.h"
+#include "ScriptMgr.h"
+#include "SpellScript.h"
+#include "Unit.h"
+
+enum Translocation
+{
+ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP = 26566,
+ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN = 26572,
+ SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY = 25649,
+ SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON = 35730
+};
+
+// 34448 - Translocate
+class spell_eastern_kingdoms_duskwither_spire_up : public SpellScript
+{
+ PrepareSpellScript(spell_eastern_kingdoms_duskwither_spire_up);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_duskwither_spire_up::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+// 34452 - Translocate
+class spell_eastern_kingdoms_duskwither_spire_down : public SpellScript
+{
+ PrepareSpellScript(spell_eastern_kingdoms_duskwither_spire_down);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_duskwither_spire_down::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+// 35376 - Translocate
+class spell_eastern_kingdoms_silvermoon_to_undercity : public SpellScript
+{
+ PrepareSpellScript(spell_eastern_kingdoms_silvermoon_to_undercity);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_silvermoon_to_undercity::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+// 35727 - Translocate
+class spell_eastern_kingdoms_undercity_to_silvermoon : public SpellScript
+{
+ PrepareSpellScript(spell_eastern_kingdoms_undercity_to_silvermoon);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_undercity_to_silvermoon::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+enum DeadScarBombingRun
+{
+ SOUND_ID_BOMBING_RUN = 12318
+};
+
+// 45071 - Quest - Sunwell Daily - Dead Scar Bombing Run
+class spell_eastern_kingdoms_dead_scar_bombing_run : public SpellScript
+{
+ PrepareSpellScript(spell_eastern_kingdoms_dead_scar_bombing_run);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return sSoundEntriesStore.LookupEntry(SOUND_ID_BOMBING_RUN);
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->PlayDirectSound(SOUND_ID_BOMBING_RUN);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_dead_scar_bombing_run::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+enum DawnbladeAttack
+{
+ SPELL_DAWNBLADE_ATTACK = 45189
+};
+
+// 45188 - Dawnblade Attack
+class spell_eastern_kingdoms_dawnblade_attack : public SpellScript
+{
+ PrepareSpellScript(spell_eastern_kingdoms_dawnblade_attack);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_DAWNBLADE_ATTACK });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_DAWNBLADE_ATTACK);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_dawnblade_attack::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+void AddSC_eastern_kingdoms()
+{
+ RegisterSpellScript(spell_eastern_kingdoms_duskwither_spire_up);
+ RegisterSpellScript(spell_eastern_kingdoms_duskwither_spire_down);
+ RegisterSpellScript(spell_eastern_kingdoms_silvermoon_to_undercity);
+ RegisterSpellScript(spell_eastern_kingdoms_undercity_to_silvermoon);
+ RegisterSpellScript(spell_eastern_kingdoms_dead_scar_bombing_run);
+ RegisterSpellScript(spell_eastern_kingdoms_dawnblade_attack);
+}
diff --git a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
index ef2c5c36bb3..56b5438747d 100644
--- a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
+++ b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
@@ -174,6 +174,7 @@ void AddSC_boss_renataki();
void AddSC_boss_wushoolay();
void AddSC_instance_zulgurub();
void AddSC_zulgurub();
+void AddSC_eastern_kingdoms();
//void AddSC_alterac_mountains();
//void AddSC_arathi_highlands();
void AddSC_blasted_lands();
@@ -354,6 +355,7 @@ void AddEasternKingdomsScripts()
AddSC_boss_wushoolay();
AddSC_instance_zulgurub();
AddSC_zulgurub();
+ AddSC_eastern_kingdoms();
//AddSC_alterac_mountains();
//AddSC_arathi_highlands();
AddSC_blasted_lands();