Core/Scripts: Move some spells to scripts
Port From (https://github.com/TrinityCore/TrinityCore/commit/3b1ed434aeacfa57f392387c2176dfb4438b13f8)
This commit is contained in:
@@ -260,7 +260,7 @@ namespace Framework.Constants
|
|||||||
WildPet = 14,
|
WildPet = 14,
|
||||||
Aberration = 15,
|
Aberration = 15,
|
||||||
|
|
||||||
MaskDemonOrUnDead = (1 << (Demon - 1)) | (1 << (Undead - 1)),
|
MaskDemonOrUndead = (1 << (Demon - 1)) | (1 << (Undead - 1)),
|
||||||
MaskHumanoidOrUndead = (1 << (Humanoid - 1)) | (1 << (Undead - 1)),
|
MaskHumanoidOrUndead = (1 << (Humanoid - 1)) | (1 << (Undead - 1)),
|
||||||
MaskMechanicalOrElemental = (1 << (Mechanical - 1)) | (1 << (Elemental - 1))
|
MaskMechanicalOrElemental = (1 << (Mechanical - 1)) | (1 << (Elemental - 1))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,39 +161,6 @@ namespace Game.Spells
|
|||||||
damage /= (int)count;
|
damage /= (int)count;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (m_spellInfo.SpellFamilyName)
|
|
||||||
{
|
|
||||||
case SpellFamilyNames.Generic:
|
|
||||||
{
|
|
||||||
///@todo: move those to scripts
|
|
||||||
switch (m_spellInfo.Id) // better way to check unknown
|
|
||||||
{
|
|
||||||
// Consumption
|
|
||||||
case 28865:
|
|
||||||
damage = 2750;
|
|
||||||
if (m_caster.GetMap().IsHeroic())
|
|
||||||
damage = 4250;
|
|
||||||
break;
|
|
||||||
// percent from health with min
|
|
||||||
case 25599: // Thundercrash
|
|
||||||
{
|
|
||||||
damage = (int)unitTarget.GetHealth() / 2;
|
|
||||||
if (damage < 200)
|
|
||||||
damage = 200;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// arcane charge. must only affect demons (also undead?)
|
|
||||||
case 45072:
|
|
||||||
{
|
|
||||||
if ((unitTarget.GetCreatureTypeMask() & (uint)CreatureType.MaskDemonOrUnDead) == 0)
|
|
||||||
return;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (unitCaster != null && apply_direct_bonus)
|
if (unitCaster != null && apply_direct_bonus)
|
||||||
{
|
{
|
||||||
uint bonus = unitCaster.SpellDamageBonusDone(unitTarget, m_spellInfo, (uint)damage, DamageEffectType.SpellDirect, effectInfo);
|
uint bonus = unitCaster.SpellDamageBonusDone(unitTarget, m_spellInfo, (uint)damage, DamageEffectType.SpellDirect, effectInfo);
|
||||||
|
|||||||
@@ -528,6 +528,27 @@ namespace Scripts.Spells.Generic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Script]
|
||||||
|
class spell_gen_arcane_charge : SpellScript
|
||||||
|
{
|
||||||
|
SpellCastResult CheckRequirement()
|
||||||
|
{
|
||||||
|
Unit target = GetExplTargetUnit();
|
||||||
|
if (target != null)
|
||||||
|
{
|
||||||
|
if ((target.GetCreatureTypeMask() & (uint)CreatureType.MaskDemonOrUndead) == 0)
|
||||||
|
return SpellCastResult.DontReport;
|
||||||
|
}
|
||||||
|
|
||||||
|
return SpellCastResult.SpellCastOk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
OnCheckCast.Add(new CheckCastHandler(CheckRequirement));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 430 Drink
|
// 430 Drink
|
||||||
// 431 Drink
|
// 431 Drink
|
||||||
// 432 Drink
|
// 432 Drink
|
||||||
@@ -1624,7 +1645,7 @@ namespace Scripts.Spells.Generic
|
|||||||
AfterEffectRemove.Add(new EffectApplyHandler(HandleRemove, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
|
AfterEffectRemove.Add(new EffectApplyHandler(HandleRemove, 0, AuraType.Dummy, AuraEffectHandleModes.Real));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Script] // 131474 - Fishing
|
[Script] // 131474 - Fishing
|
||||||
class spell_gen_fishing : SpellScript
|
class spell_gen_fishing : SpellScript
|
||||||
{
|
{
|
||||||
@@ -3832,4 +3853,4 @@ namespace Scripts.Spells.Generic
|
|||||||
OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy));
|
OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
|
||||||
|
('spell_four_horsemen_consumption',
|
||||||
|
'spell_rajaxx_thundercrash',
|
||||||
|
'spell_gen_arcane_charge');
|
||||||
|
|
||||||
|
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||||
|
(28865, 'spell_four_horsemen_consumption'),
|
||||||
|
(25599, 'spell_rajaxx_thundercrash'),
|
||||||
|
(45072, 'spell_gen_arcane_charge');
|
||||||
Reference in New Issue
Block a user