using System; using Server.Engines.Craft; using Server.Network; using System.Collections.Generic; namespace Server.Items { public abstract class BaseHat : BaseClothing, IShipwreckedItem { private bool m_IsShipwreckedItem; [CommandProperty( AccessLevel.GameMaster )] public bool IsShipwreckedItem { get { return m_IsShipwreckedItem; } set { m_IsShipwreckedItem = value; } } public BaseHat( int itemID ) : this( itemID, 0 ) { } public BaseHat( int itemID, int hue ) : base( itemID, Layer.Helm, hue ) { } public BaseHat( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write( m_IsShipwreckedItem ); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_IsShipwreckedItem = reader.ReadBool(); } public override void AddNameProperties( ObjectPropertyList list ) { base.AddNameProperties( list ); if ( m_IsShipwreckedItem ) list.Add( 1041645 ); // recovered from a shipwreck } public override int OnCraft( int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue ) { Quality = (ClothingQuality)quality; return base.OnCraft( quality, makersMark, from, craftSystem, typeRes, tool, craftItem, resHue ); } } public class FloppyHat : BaseHat { [Constructable] public FloppyHat() : this( 0 ) { } [Constructable] public FloppyHat( int hue ) : base( 0x1713, hue ) { Weight = 1.0; } public FloppyHat( 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 Hood : BaseHat { [Constructable] public Hood() : this( 0 ) { } [Constructable] public Hood( int hue ) : base( 0x141B, hue ) { Name = "hood"; Weight = 1.0; } public Hood( 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 WideBrimHat : BaseHat { [Constructable] public WideBrimHat() : this( 0 ) { } [Constructable] public WideBrimHat( int hue ) : base( 0x1714, hue ) { Weight = 1.0; } public WideBrimHat( 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 Cap : BaseHat { [Constructable] public Cap() : this( 0 ) { } [Constructable] public Cap( int hue ) : base( 0x1715, hue ) { Weight = 1.0; } public Cap( 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 SkullCap : BaseHat { [Constructable] public SkullCap() : this( 0 ) { } [Constructable] public SkullCap( int hue ) : base( 0x1544, hue ) { Weight = 1.0; } public SkullCap( 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 Bandana : BaseHat { [Constructable] public Bandana() : this( 0 ) { } [Constructable] public Bandana( int hue ) : base( 0x1540, hue ) { Weight = 1.0; } public Bandana( 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 BearMask : BaseHat { [Constructable] public BearMask() : this( 0 ) { } [Constructable] public BearMask( int hue ) : base( 0x1545, hue ) { Weight = 5.0; } public override bool Dye( Mobile from, DyeTub sender ) { from.SendLocalizedMessage( sender.FailMessage ); return false; } public BearMask( 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 DeerMask : BaseHat { [Constructable] public DeerMask() : this( 0 ) { } [Constructable] public DeerMask( int hue ) : base( 0x1547, hue ) { Weight = 4.0; } public override bool Dye( Mobile from, DyeTub sender ) { from.SendLocalizedMessage( sender.FailMessage ); return false; } public DeerMask( 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 HornedTribalMask : BaseHat { [Constructable] public HornedTribalMask() : this( 0 ) { } [Constructable] public HornedTribalMask( int hue ) : base( 0x1549, hue ) { Weight = 2.0; } public override bool Dye( Mobile from, DyeTub sender ) { from.SendLocalizedMessage( sender.FailMessage ); return false; } public HornedTribalMask( 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 TribalMask : BaseHat { [Constructable] public TribalMask() : this( 0 ) { } [Constructable] public TribalMask( int hue ) : base( 0x154B, hue ) { Weight = 2.0; } public override bool Dye( Mobile from, DyeTub sender ) { from.SendLocalizedMessage( sender.FailMessage ); return false; } public TribalMask( 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 TallStrawHat : BaseHat { [Constructable] public TallStrawHat() : this( 0 ) { } [Constructable] public TallStrawHat( int hue ) : base( 0x1716, hue ) { Weight = 1.0; } public TallStrawHat( 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 StrawHat : BaseHat { [Constructable] public StrawHat() : this( 0 ) { } [Constructable] public StrawHat( int hue ) : base( 0x1717, hue ) { Weight = 1.0; } public StrawHat( 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 WizardsHat : BaseHat { [Constructable] public WizardsHat() : this( 0 ) { } [Constructable] public WizardsHat( int hue ) : base( 0x1718, hue ) { Weight = 1.0; } public WizardsHat( 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 Bonnet : BaseHat { [Constructable] public Bonnet() : this( 0 ) { } [Constructable] public Bonnet( int hue ) : base( 0x1719, hue ) { Weight = 1.0; } public Bonnet( 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 FeatheredHat : BaseHat { [Constructable] public FeatheredHat() : this( 0 ) { } [Constructable] public FeatheredHat( int hue ) : base( 0x171A, hue ) { Weight = 1.0; } public FeatheredHat( 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 TricorneHat : BaseHat { [Constructable] public TricorneHat() : this( 0 ) { } [Constructable] public TricorneHat( int hue ) : base( 0x171B, hue ) { Weight = 1.0; } public TricorneHat( 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 JesterHat : BaseHat { [Constructable] public JesterHat() : this( 0 ) { } [Constructable] public JesterHat( int hue ) : base( 0x171C, hue ) { Weight = 1.0; } public JesterHat( 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(); } } }