Files
abysmal-isle/Scripts/Items/Quest/PlagueBeastMutationCore.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

84 lines
2.1 KiB
C#

using System;
using Server.Mobiles;
using Server.Network;
namespace Server.Items
{
public class PlagueBeastMutationCore : Item, IScissorable
{
private bool m_Cut;
public override int LabelNumber { get { return 1153760; } } // a plague beast mutation core
[Constructable]
public PlagueBeastMutationCore()
: base(0x1CF0)
{
Weight = 1.0;
Hue = 0x480;
m_Cut = true;
}
public PlagueBeastMutationCore(Serial serial)
: base(serial)
{
}
[CommandProperty(AccessLevel.GameMaster)]
public bool Cut
{
get
{
return this.m_Cut;
}
set
{
this.m_Cut = value;
}
}
public virtual bool Scissor(Mobile from, Scissors scissors)
{
if (!this.m_Cut)
{
PlagueBeastLord owner = this.RootParent as PlagueBeastLord;
this.m_Cut = true;
this.Movable = true;
from.AddToBackpack(this);
from.LocalOverheadMessage(MessageType.Regular, 0x34, 1071906); // * You remove the plague mutation core from the plague beast, causing it to dissolve into a pile of goo *
if (owner != null)
Timer.DelayCall<PlagueBeastLord>(TimeSpan.FromSeconds(1), new TimerStateCallback<PlagueBeastLord>(KillParent), owner);
return true;
}
return false;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
writer.Write((bool)this.m_Cut);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadEncodedInt();
this.m_Cut = reader.ReadBool();
}
private void KillParent(PlagueBeastLord parent)
{
parent.Unfreeze();
parent.Kill();
}
}
}