Scripts/Quest: Migrate few quest spell scripts to zone files (#28015)

(cherry picked from commit b52e0ccbad)
This commit is contained in:
offl
2022-06-10 00:15:20 +03:00
committed by Shauren
parent fcc08ffb22
commit 7d9d55ee87
8 changed files with 193 additions and 166 deletions

View File

@@ -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();

View File

@@ -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);
}

View File

@@ -32,6 +32,7 @@ EndContentData */
#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
/*######
## npc_lady_sylvanas_windrunner
@@ -319,6 +320,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);
}