ModernUO/Projects/UOContent/Spells/Necromancy/VampiricEmbrace.cs
Kamron Batman a552cf4138
fix: Fixes various memory leaks and spells (#1786)
### Summary
- Fixes various memory leaks related to spells
- Fixes Spell Plague
- Added ability to determine if `sdi` should take effect for Spell Damage.
- Fixes animal form timer ticking non-stop while logged out.
2024-05-21 19:44:42 -07:00

69 lines
No EOL
1.6 KiB
C#

using System;
using Server.Items;
namespace Server.Spells.Necromancy;
public class VampiricEmbraceSpell : TransformationSpell
{
private static readonly SpellInfo _info = new(
"Vampiric Embrace",
"Rel Xen An Sanct",
203,
9031,
Reagent.BatWing,
Reagent.NoxCrystal,
Reagent.PigIron
);
public VampiricEmbraceSpell(Mobile caster, Item scroll = null) : base(caster, scroll, _info)
{
}
public override TimeSpan CastDelayBase => TimeSpan.FromSeconds(2.0);
public override double RequiredSkill => 99.0;
public override int RequiredMana => 23;
public override int Body => Caster.Female ? 745 : 744;
public override int Hue => 0x847E;
public override int FireResistOffset => -25;
public override void GetCastSkills(out double min, out double max)
{
if (Caster.Skills[CastSkill].Value >= RequiredSkill)
{
min = 80.0;
max = 120.0;
}
else
{
base.GetCastSkills(out min, out max);
}
}
public override void DoEffect(Mobile m)
{
Effects.SendLocationParticles(
EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration),
0x373A,
1,
17,
1108,
7,
9914,
0
);
Effects.SendLocationParticles(
EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration),
0x376A,
1,
22,
67,
7,
9502,
0
);
Effects.PlaySound(m.Location, m.Map, 0x4B1);
}
}