72 lines
No EOL
1.6 KiB
C#
72 lines
No EOL
1.6 KiB
C#
using System;
|
|
using Server.Mobiles;
|
|
using Server.Network;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class PlagueBeastMutationCore : Item, IScissorable
|
|
{
|
|
[Constructible]
|
|
public PlagueBeastMutationCore() : base(0x1CF0)
|
|
{
|
|
Cut = true;
|
|
Weight = 1.0;
|
|
Hue = 0x480;
|
|
}
|
|
|
|
public PlagueBeastMutationCore(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
[CommandProperty(AccessLevel.GameMaster)]
|
|
public bool Cut{ get; set; }
|
|
|
|
public override string DefaultName => "a plague beast mutation core";
|
|
|
|
public virtual bool Scissor(Mobile from, Scissors scissors)
|
|
{
|
|
if (!Cut)
|
|
{
|
|
PlagueBeastLord owner = RootParent as PlagueBeastLord;
|
|
|
|
Cut = true;
|
|
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(TimeSpan.FromSeconds(1), KillParent, owner);
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
private void KillParent(PlagueBeastLord parent)
|
|
{
|
|
parent.Unfreeze();
|
|
parent.Kill();
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.WriteEncodedInt(0); // version
|
|
|
|
writer.Write(Cut);
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadEncodedInt();
|
|
|
|
Cut = reader.ReadBool();
|
|
}
|
|
}
|
|
} |