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