mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 02:25:38 +01:00
Move SPELLFAMILY_PALADIN dummy spell effects for Holy Shock, Blessing of Faith, and Judgement of Command to spell scripts.
--HG-- branch : trunk
This commit is contained in:
@@ -1647,18 +1647,21 @@ update creature_template set AIName='TurretAI',scriptname='' where entry=33139;
|
||||
update creature_template set ScriptName='boss_kologarn' where entry=32930;
|
||||
update creature_template set scriptname="boss_flame_leviathan_safety_container" where entry=33218;
|
||||
|
||||
DELETE FROM spell_script_names WHERE spell_id=11958 AND ScriptName='spell_mage_cold_snap';
|
||||
DELETE FROM spell_script_names WHERE spell_id=32826 AND ScriptName='spell_mage_polymorph_visual';
|
||||
DELETE FROM spell_script_names WHERE spell_id=31687 AND ScriptName='spell_mage_summon_water_elemental';
|
||||
DELETE FROM spell_script_names WHERE spell_id=-47540 AND ScriptName='spell_pri_penance';
|
||||
DELETE FROM spell_script_names WHERE spell_id=31231 AND ScriptName='spell_rog_cheat_death';
|
||||
DELETE FROM spell_script_names WHERE spell_id=51662 AND ScriptName='spell_rog_hunger_for_blood';
|
||||
DELETE FROM spell_script_names WHERE spell_id=14185 AND ScriptName='spell_rog_preparation';
|
||||
DELETE FROM spell_script_names WHERE spell_id=5938 AND ScriptName='spell_rog_shiv';
|
||||
DELETE FROM spell_script_names WHERE spell_id=53271 AND ScriptName='spell_hun_masters_call';
|
||||
DELETE FROM spell_script_names WHERE spell_id=53478 AND ScriptName='spell_hun_last_stand_pet';
|
||||
DELETE FROM spell_script_names WHERE spell_id=23989 AND ScriptName='spell_hun_readiness';
|
||||
INSERT INTO spell_script_names (spell_id, ScriptName) VALUES
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=11958 AND `ScriptName`='spell_mage_cold_snap';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=32826 AND `ScriptName`='spell_mage_polymorph_visual';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=31687 AND `ScriptName`='spell_mage_summon_water_elemental';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=-47540 AND `ScriptName`='spell_pri_penance';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=31231 AND `ScriptName`='spell_rog_cheat_death';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=51662 AND `ScriptName`='spell_rog_hunger_for_blood';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=14185 AND `ScriptName`='spell_rog_preparation';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=5938 AND `ScriptName`='spell_rog_shiv';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=53271 AND `ScriptName`='spell_hun_masters_call';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=53478 AND `ScriptName`='spell_hun_last_stand_pet';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=23989 AND `ScriptName`='spell_hun_readiness';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=37877 AND `ScriptName`='spell_pal_blessing_of_faith';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=-20473 AND `ScriptName`='spell_pal_holy_shock';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=20425 AND `ScriptName`='spell_pal_judgement_of_command';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(11958,'spell_mage_cold_snap'),
|
||||
(32826,'spell_mage_polymorph_visual'),
|
||||
(31687,'spell_mage_summon_water_elemental'),
|
||||
@@ -1669,4 +1672,7 @@ INSERT INTO spell_script_names (spell_id, ScriptName) VALUES
|
||||
(5938,'spell_rog_shiv'),
|
||||
(53271,'spell_hun_masters_call'),
|
||||
(53478,'spell_hun_last_stand_pet'),
|
||||
(23989,'spell_hun_readiness');
|
||||
(23989,'spell_hun_readiness'),
|
||||
(37877,'spell_pal_blessing_of_faith'),
|
||||
(-20473,'spell_pal_holy_shock'),
|
||||
(20425,'spell_pal_judgement_of_command');
|
||||
|
||||
7
sql/updates/9122_world_spell_script_names.sql
Normal file
7
sql/updates/9122_world_spell_script_names.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=37877 AND `ScriptName`='spell_pal_blessing_of_faith';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=-20473 AND `ScriptName`='spell_pal_holy_shock';
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`=20425 AND `ScriptName`='spell_pal_judgement_of_command';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(37877,'spell_pal_blessing_of_faith'),
|
||||
(-20473,'spell_pal_holy_shock'),
|
||||
(20425,'spell_pal_judgement_of_command');
|
||||
@@ -1682,53 +1682,9 @@ void Spell::EffectDummy(uint32 i)
|
||||
m_caster->CastCustomSpell(unitTarget, 54171, &dmg, 0, 0, true);
|
||||
return;
|
||||
}
|
||||
switch(m_spellInfo->SpellIconID)
|
||||
{
|
||||
case 156: // Holy Shock
|
||||
{
|
||||
if (!unitTarget)
|
||||
return;
|
||||
|
||||
int hurt = 0;
|
||||
int heal = 0;
|
||||
|
||||
switch(m_spellInfo->Id)
|
||||
{
|
||||
case 20473: hurt = 25912; heal = 25914; break;
|
||||
case 20929: hurt = 25911; heal = 25913; break;
|
||||
case 20930: hurt = 25902; heal = 25903; break;
|
||||
case 27174: hurt = 27176; heal = 27175; break;
|
||||
case 33072: hurt = 33073; heal = 33074; break;
|
||||
case 48824: hurt = 48822; heal = 48820; break;
|
||||
case 48825: hurt = 48823; heal = 48821; break;
|
||||
default:
|
||||
sLog.outError("Spell::EffectDummy: Spell %u not handled in HS",m_spellInfo->Id);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_caster->IsFriendlyTo(unitTarget))
|
||||
m_caster->CastSpell(unitTarget, heal, true, 0);
|
||||
else
|
||||
m_caster->CastSpell(unitTarget, hurt, true, 0);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
switch(m_spellInfo->Id)
|
||||
{
|
||||
case 20425: // Judgement of command
|
||||
{
|
||||
if (!unitTarget)
|
||||
return;
|
||||
|
||||
SpellEntry const* spell_proto = sSpellStore.LookupEntry(damage);
|
||||
if (!spell_proto)
|
||||
return;
|
||||
|
||||
m_caster->CastSpell(unitTarget, spell_proto, true, NULL);
|
||||
return;
|
||||
}
|
||||
case 31789: // Righteous Defense (step 1)
|
||||
{
|
||||
// Clear targets for eff 1
|
||||
@@ -1750,24 +1706,6 @@ void Spell::EffectDummy(uint32 i)
|
||||
// now let next effect cast spell at each target.
|
||||
return;
|
||||
}
|
||||
case 37877: // Blessing of Faith
|
||||
{
|
||||
if (!unitTarget)
|
||||
return;
|
||||
|
||||
uint32 spell_id = 0;
|
||||
switch(unitTarget->getClass())
|
||||
{
|
||||
case CLASS_DRUID: spell_id = 37878; break;
|
||||
case CLASS_PALADIN: spell_id = 37879; break;
|
||||
case CLASS_PRIEST: spell_id = 37880; break;
|
||||
case CLASS_SHAMAN: spell_id = 37881; break;
|
||||
default: return; // ignore for not healing classes
|
||||
}
|
||||
|
||||
m_caster->CastSpell(m_caster, spell_id, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SPELLFAMILY_SHAMAN:
|
||||
|
||||
@@ -16,21 +16,244 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* Scripts for spells with SPELLFAMILY_SHAMAN and SPELLFAMILY_GENERIC spells used by paladin players.
|
||||
* Scripts for spells with SPELLFAMILY_PALADIN and SPELLFAMILY_GENERIC spells used by paladin players.
|
||||
* Ordered alphabetically using scriptname.
|
||||
* Scriptnames of files in this file should be prefixed with "spell_pal_".
|
||||
*/
|
||||
|
||||
#include "ScriptPCH.h"
|
||||
|
||||
enum PaladinSpells
|
||||
{
|
||||
PALADIN_SPELL_HOLY_SHOCK_R1 = 20473,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R1_DAMAGE = 25912,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R1_HEALING = 25914,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R2 = 20929,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R2_DAMAGE = 25911,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R2_HEALING = 25913,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R3 = 20930,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R3_DAMAGE = 25902,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R3_HEALING = 25903,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R4 = 27174,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R4_DAMAGE = 27176,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R4_HEALING = 27175,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R5 = 33072,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R5_DAMAGE = 33073,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R5_HEALING = 33074,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R6 = 48824,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R6_DAMAGE = 48822,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R6_HEALING = 48820,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R7 = 48825,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R7_DAMAGE = 48823,
|
||||
PALADIN_SPELL_HOLY_SHOCK_R7_HEALING = 48821,
|
||||
|
||||
SPELL_BLESSING_OF_LOWER_CITY_DRUID = 37878,
|
||||
SPELL_BLESSING_OF_LOWER_CITY_PALADIN = 37879,
|
||||
SPELL_BLESSING_OF_LOWER_CITY_PRIEST = 37880,
|
||||
SPELL_BLESSING_OF_LOWER_CITY_SHAMAN = 37881,
|
||||
};
|
||||
|
||||
class spell_pal_blessing_of_faith_SpellScript : public SpellScript
|
||||
{
|
||||
bool Validate(SpellEntry const * spellEntry)
|
||||
{
|
||||
if (!sSpellStore.LookupEntry(SPELL_BLESSING_OF_LOWER_CITY_DRUID))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(SPELL_BLESSING_OF_LOWER_CITY_PALADIN))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(SPELL_BLESSING_OF_LOWER_CITY_PRIEST))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(SPELL_BLESSING_OF_LOWER_CITY_SHAMAN))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex effIndex)
|
||||
{
|
||||
if (Unit *unitTarget = GetHitUnit())
|
||||
{
|
||||
uint32 spell_id = 0;
|
||||
switch(unitTarget->getClass())
|
||||
{
|
||||
case CLASS_DRUID: spell_id = SPELL_BLESSING_OF_LOWER_CITY_DRUID; break;
|
||||
case CLASS_PALADIN: spell_id = SPELL_BLESSING_OF_LOWER_CITY_PALADIN; break;
|
||||
case CLASS_PRIEST: spell_id = SPELL_BLESSING_OF_LOWER_CITY_PRIEST; break;
|
||||
case CLASS_SHAMAN: spell_id = SPELL_BLESSING_OF_LOWER_CITY_SHAMAN; break;
|
||||
default: return; // ignore for non-healing classes
|
||||
}
|
||||
|
||||
GetCaster()->CastSpell(GetCaster(), spell_id, true);
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
// add dummy effect spell handler to Blessing of Faith
|
||||
EffectHandlers += EffectHandlerFn(spell_pal_blessing_of_faith_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript * GetSpellScript_spell_pal_blessing_of_faith()
|
||||
{
|
||||
return new spell_pal_blessing_of_faith_SpellScript();
|
||||
}
|
||||
|
||||
class spell_pal_holy_shock_SpellScript : public SpellScript
|
||||
{
|
||||
bool Validate(SpellEntry const * spellEntry)
|
||||
{
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R1))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R1_DAMAGE))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R1_HEALING))
|
||||
return false;
|
||||
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R2))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R2_DAMAGE))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R2_HEALING))
|
||||
return false;
|
||||
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R3))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R3_DAMAGE))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R3_HEALING))
|
||||
return false;
|
||||
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R4))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R4_DAMAGE))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R4_HEALING))
|
||||
return false;
|
||||
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R5))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R5_DAMAGE))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R5_HEALING))
|
||||
return false;
|
||||
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R6))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R6_DAMAGE))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R6_HEALING))
|
||||
return false;
|
||||
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R7))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R7_DAMAGE))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(PALADIN_SPELL_HOLY_SHOCK_R7_HEALING))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex effIndex)
|
||||
{
|
||||
if (Unit *unitTarget = GetHitUnit())
|
||||
{
|
||||
Unit *caster = GetCaster();
|
||||
|
||||
int hurt = 0;
|
||||
int heal = 0;
|
||||
|
||||
switch(GetSpellInfo()->Id)
|
||||
{
|
||||
case PALADIN_SPELL_HOLY_SHOCK_R1:
|
||||
hurt = PALADIN_SPELL_HOLY_SHOCK_R1_DAMAGE;
|
||||
heal = PALADIN_SPELL_HOLY_SHOCK_R1_HEALING;
|
||||
break;
|
||||
case PALADIN_SPELL_HOLY_SHOCK_R2:
|
||||
hurt = PALADIN_SPELL_HOLY_SHOCK_R2_DAMAGE;
|
||||
heal = PALADIN_SPELL_HOLY_SHOCK_R2_HEALING;
|
||||
break;
|
||||
case PALADIN_SPELL_HOLY_SHOCK_R3:
|
||||
hurt = PALADIN_SPELL_HOLY_SHOCK_R3_DAMAGE;
|
||||
heal = PALADIN_SPELL_HOLY_SHOCK_R3_HEALING;
|
||||
break;
|
||||
case PALADIN_SPELL_HOLY_SHOCK_R4:
|
||||
hurt = PALADIN_SPELL_HOLY_SHOCK_R4_DAMAGE;
|
||||
heal = PALADIN_SPELL_HOLY_SHOCK_R4_HEALING;
|
||||
break;
|
||||
case PALADIN_SPELL_HOLY_SHOCK_R5:
|
||||
hurt = PALADIN_SPELL_HOLY_SHOCK_R5_DAMAGE;
|
||||
heal = PALADIN_SPELL_HOLY_SHOCK_R5_HEALING;
|
||||
break;
|
||||
case PALADIN_SPELL_HOLY_SHOCK_R6:
|
||||
hurt = PALADIN_SPELL_HOLY_SHOCK_R6_DAMAGE;
|
||||
heal = PALADIN_SPELL_HOLY_SHOCK_R6_HEALING;
|
||||
break;
|
||||
case PALADIN_SPELL_HOLY_SHOCK_R7:
|
||||
hurt = PALADIN_SPELL_HOLY_SHOCK_R7_DAMAGE;
|
||||
heal = PALADIN_SPELL_HOLY_SHOCK_R7_HEALING;
|
||||
break;
|
||||
default:
|
||||
sLog.outError("spell_pal_holy_shock_SpellScript::HandleDummy: Spell %u not handled in HS",GetSpellInfo()->Id);
|
||||
return;
|
||||
}
|
||||
|
||||
if (caster->IsFriendlyTo(unitTarget))
|
||||
caster->CastSpell(unitTarget, heal, true, 0);
|
||||
else
|
||||
caster->CastSpell(unitTarget, hurt, true, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
// add dummy effect spell handler to Holy Shock
|
||||
EffectHandlers += EffectHandlerFn(spell_pal_holy_shock_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript * GetSpellScript_spell_pal_holy_shock()
|
||||
{
|
||||
return new spell_pal_holy_shock_SpellScript();
|
||||
}
|
||||
|
||||
class spell_pal_judgement_of_command_SpellScript : public SpellScript
|
||||
{
|
||||
void HandleDummy(SpellEffIndex effIndex)
|
||||
{
|
||||
if (Unit *unitTarget = GetHitUnit())
|
||||
if (SpellEntry const* spell_proto = sSpellStore.LookupEntry(GetEffectValue()))
|
||||
GetCaster()->CastSpell(unitTarget, spell_proto, true, NULL);
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
// add dummy effect spell handler to Judgement of Command
|
||||
EffectHandlers += EffectHandlerFn(spell_pal_judgement_of_command_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript * GetSpellScript_spell_pal_judgement_of_command()
|
||||
{
|
||||
return new spell_pal_judgement_of_command_SpellScript();
|
||||
}
|
||||
|
||||
void AddSC_paladin_spell_scripts()
|
||||
{
|
||||
//Script *newscript;
|
||||
Script *newscript;
|
||||
|
||||
/*
|
||||
newscript = new Script;
|
||||
newscript->Name = "spell_pal_";
|
||||
newscript->GetSpellScript = &GetSpellScript_spell_pal_;
|
||||
newscript->Name = "spell_pal_blessing_of_faith";
|
||||
newscript->GetSpellScript = &GetSpellScript_spell_pal_blessing_of_faith;
|
||||
newscript->RegisterSelf();
|
||||
*/
|
||||
}
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "spell_pal_holy_shock";
|
||||
newscript->GetSpellScript = &GetSpellScript_spell_pal_holy_shock;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "spell_pal_judgement_of_command";
|
||||
newscript->GetSpellScript = &GetSpellScript_spell_pal_judgement_of_command;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user