namespace Server.Items { public abstract class BaseGranite : Item { private CraftResource m_Resource; [CommandProperty( AccessLevel.GameMaster )] public CraftResource Resource { get => m_Resource; set{ m_Resource = value; InvalidateProperties(); } } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 1 ); // version writer.Write( (int) m_Resource ); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: case 0: { m_Resource = (CraftResource)reader.ReadInt(); break; } } if ( version < 1 ) Stackable = Core.ML; } public override double DefaultWeight => Core.ML ? 1.0 : 10.0; public BaseGranite( CraftResource resource ) : base( 0x1779 ) { Hue = CraftResources.GetHue( resource ); Stackable = Core.ML; m_Resource = resource; } public BaseGranite( Serial serial ) : base( serial ) { } public override int LabelNumber => 1044607; // high quality granite public override void GetProperties( ObjectPropertyList list ) { base.GetProperties( list ); if ( !CraftResources.IsStandard( m_Resource ) ) { int num = CraftResources.GetLocalizationNumber( m_Resource ); if ( num > 0 ) list.Add( num ); else list.Add( CraftResources.GetName( m_Resource ) ); } } } public class Granite : BaseGranite { [Constructible] public Granite() : base( CraftResource.Iron ) { } public Granite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class DullCopperGranite : BaseGranite { [Constructible] public DullCopperGranite() : base( CraftResource.DullCopper ) { } public DullCopperGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class ShadowIronGranite : BaseGranite { [Constructible] public ShadowIronGranite() : base( CraftResource.ShadowIron ) { } public ShadowIronGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class CopperGranite : BaseGranite { [Constructible] public CopperGranite() : base( CraftResource.Copper ) { } public CopperGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class BronzeGranite : BaseGranite { [Constructible] public BronzeGranite() : base( CraftResource.Bronze ) { } public BronzeGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class GoldGranite : BaseGranite { [Constructible] public GoldGranite() : base( CraftResource.Gold ) { } public GoldGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class AgapiteGranite : BaseGranite { [Constructible] public AgapiteGranite() : base( CraftResource.Agapite ) { } public AgapiteGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class VeriteGranite : BaseGranite { [Constructible] public VeriteGranite() : base( CraftResource.Verite ) { } public VeriteGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class ValoriteGranite : BaseGranite { [Constructible] public ValoriteGranite() : base( CraftResource.Valorite ) { } public ValoriteGranite( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } }