Files
abysmal-isle/Scripts/Spells/Spellweaving/ReaperForm.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

130 lines
3.0 KiB
C#

using System;
using Server.Network;
namespace Server.Spells.Spellweaving
{
public class ReaperFormSpell : ArcaneForm
{
private static readonly SpellInfo m_Info = new SpellInfo("Reaper Form", "Tarisstree", -1);
public ReaperFormSpell(Mobile caster, Item scroll)
: base(caster, scroll, m_Info)
{
}
public override TimeSpan CastDelayBase
{
get
{
return TimeSpan.FromSeconds(2.5);
}
}
public override double RequiredSkill
{
get
{
return 24.0;
}
}
public override int RequiredMana
{
get
{
return 34;
}
}
public override int Body
{
get
{
return 0x11D;
}
}
public override int FireResistOffset
{
get
{
return -25;
}
}
public override int PhysResistOffset
{
get
{
return 5 + this.FocusLevel;
}
}
public override int ColdResistOffset
{
get
{
return 5 + this.FocusLevel;
}
}
public override int PoisResistOffset
{
get
{
return 5 + this.FocusLevel;
}
}
public override int NrgyResistOffset
{
get
{
return 5 + this.FocusLevel;
}
}
public virtual int SwingSpeedBonus
{
get
{
return 10 + this.FocusLevel;
}
}
public virtual int SpellDamageBonus
{
get
{
return 10 + this.FocusLevel;
}
}
public static void Initialize()
{
if (!Core.SA)
{
EventSink.Login += new LoginEventHandler(OnLogin);
}
}
public static void OnLogin(LoginEventArgs e)
{
TransformContext context = TransformationSpellHelper.GetContext(e.Mobile);
if (context != null && context.Type == typeof(ReaperFormSpell))
e.Mobile.SendSpeedControl(SpeedControlType.WalkSpeed);
}
public override void DoEffect(Mobile m)
{
m.PlaySound(0x1BA);
BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.ReaperForm, 1071034, 1153781, "10\t10\t5\t5\t5\t5\t25"));
if (!Core.SA)
{
m.SendSpeedControl(SpeedControlType.WalkSpeed);
}
}
public override void RemoveEffect(Mobile m)
{
if (!Core.SA)
{
m.SendSpeedControl(SpeedControlType.Disable);
}
BuffInfo.RemoveBuff(m, BuffIcon.ReaperForm);
}
}
}