Core/Spells: fix some DB errors

Port From (https://github.com/TrinityCore/TrinityCore/commit/16ec008290861573fac7137af054be6d9642712f)
This commit is contained in:
hondacrx
2021-04-16 15:02:56 -04:00
parent 29fd117428
commit 5a59f99851
3 changed files with 58 additions and 0 deletions
+8
View File
@@ -3510,6 +3510,14 @@ namespace Game.Entities
break; break;
// ENDOF ISLE OF CONQUEST SPELLS // ENDOF ISLE OF CONQUEST SPELLS
// //
// Aura of Fear
case 40453:
// Bad DBC data? Copying 25820 here due to spell description
// either is a periodic with chance on tick, or a proc
spellInfo.GetEffect(0).ApplyAuraName = AuraType.ProcTriggerSpell;
spellInfo.GetEffect(0).ApplyAuraPeriod = 0;
spellInfo.ProcChance = 10;
break;
// FIRELANDS SPELLS // FIRELANDS SPELLS
// Torment Searcher // Torment Searcher
case 99253: case 99253:
+37
View File
@@ -614,6 +614,29 @@ namespace Scripts.Spells.Generic
} }
} }
[Script] // 28313 - Aura of Fear
class spell_gen_aura_of_fear : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
return ValidateSpellInfo(spellInfo.GetEffect(0).TriggerSpell);
}
void PeriodicTick(AuraEffect aurEff)
{
PreventDefaultAction();
if (!RandomHelper.randChance(GetSpellInfo().ProcChance))
return;
GetTarget().CastSpell((Unit)null, GetSpellInfo().GetEffect(aurEff.GetEffIndex()).TriggerSpell, true);
}
public override void Register()
{
OnEffectPeriodic.Add(new EffectPeriodicHandler(PeriodicTick, 0, AuraType.PeriodicTriggerSpell));
}
}
[Script] [Script]
class spell_gen_aura_service_uniform : AuraScript class spell_gen_aura_service_uniform : AuraScript
{ {
@@ -1961,6 +1984,20 @@ namespace Scripts.Spells.Generic
} }
} }
[Script]
class spell_gen_proc_charge_drop_only : AuraScript
{
void HandleChargeDrop(ProcEventInfo eventInfo)
{
PreventDefaultAction();
}
public override void Register()
{
OnProc.Add(new AuraProcHandler(HandleChargeDrop));
}
}
[Script] // 45472 Parachute [Script] // 45472 Parachute
class spell_gen_parachute : AuraScript class spell_gen_parachute : AuraScript
{ {
@@ -0,0 +1,13 @@
DELETE FROM `spell_proc` WHERE `SpellId` IN (45092/*, 50871*/);
INSERT INTO `spell_proc` (`SpellId`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `ProcFlags`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`, `ProcsPerMinute`, `Chance`, `Cooldown`, `Charges`) VALUES
(45092, 0x0, 0, 0x00000000, 0x00000000, 0x00000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0); -- Faction, Spar Buddy (SERVERSIDE) - needed to drop charge
-- (50871, 0x0, 9, 0x00000000, 0x40000000, 0x00000000, 0x0, 0x1, 0x2, 0x2, 0x0, 0, 0, 0, 0); -- Savage Rend
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_gen_aura_of_fear'/*,'spell_gen_choking_vines'*/);
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(28313, 'spell_gen_aura_of_fear');
-- (35244, 'spell_gen_choking_vines');
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_proc_charge_drop_only' AND `spell_id`=45092;
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(45092, 'spell_gen_proc_charge_drop_only');