Files
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

86 lines
2.3 KiB
C#

using System;
using Server;
using Server.Events.Halloween;
namespace Server.Items
{
public class ShackledHeartOfThePumpkinKing : Item
{
public override int LabelNumber { get { return 1157653; } } // Shackled Heart of the Pumpkin King
private Timer Timer { get; set; }
[Constructable]
public ShackledHeartOfThePumpkinKing()
: base(0x4A9C)
{
}
public override void OnDoubleClick(Mobile m)
{
if (Timer == null)
{
m.SendLocalizedMessage(1157631); // Thou shall know the pain of a chained heart...
m.SendSound(Utility.RandomMinMax(0x423, 0x427));
Timer = new InternalTimer(m, this);
}
else
{
m.SendLocalizedMessage(1157630); // You are already bleeding!
}
}
private class InternalTimer : Timer
{
public Mobile Owner { get; set; }
public ShackledHeartOfThePumpkinKing Heart { get; set; }
public int Ticks { get; set; }
public InternalTimer(Mobile m, ShackledHeartOfThePumpkinKing heart)
: base(TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(2))
{
Owner = m;
Heart = heart;
Start();
}
protected override void OnTick()
{
if (!Owner.Alive || Owner.Map == Map.Internal || Ticks++ >= 5)
{
Stop();
Heart.Timer = null;
}
else
{
Owner.PlaySound(0x133);
var blood = new Blood();
blood.ItemID = Utility.Random(0x122A, 5);
blood.MoveToWorld(Owner.Location, Owner.Map);
}
}
}
public ShackledHeartOfThePumpkinKing(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
}