using System; using System.Globalization; using Server; using Server.Items; using Server.Mobiles; using Server.Network; namespace Server.Items { public class GoldDeed : Item { private int m_Worth; [CommandProperty( AccessLevel.GameMaster )] public int Worth { get{ return m_Worth; } set{ m_Worth = value; InvalidateProperties(); } } public GoldDeed( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write( (int) m_Worth ); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_Worth = reader.ReadInt(); break; } } } [Constructable] public GoldDeed( int worth ) : base( 0x14F0 ) { Weight = 1.0; Hue = 0x34; Name = "gold deed"; m_Worth = worth; } public override int LabelNumber{ get{ return 1041361; } } // A gold deed public override void GetProperties( ObjectPropertyList list ) { base.GetProperties( list ); string worth = m_Worth.ToString(); list.Add( 1060738, worth ); // value: ~1_val~ } public override void OnSingleClick( Mobile from ) { from.Send( new MessageLocalizedAffix( Serial, ItemID, MessageType.Label, 0x3B2, 3, 1041361, "", AffixType.Append, String.Concat( " ", m_Worth.ToString() ), "" ) ); // A bank check: } public override void OnDoubleClick( Mobile from ) { InnBox box = from.FindInnNoCreate(); if ( box != null && IsChildOf( box ) ) { Delete(); int deposited = 0; int toAdd = m_Worth; Gold gold; while ( toAdd > 60000 ) { gold = new Gold( 60000 ); if ( box.TryDropItem( from, gold, false ) ) { toAdd -= 60000; deposited += 60000; } else { gold.Delete(); from.AddToBackpack( new GoldDeed( toAdd ) ); toAdd = 0; break; } } if ( toAdd > 0 ) { gold = new Gold( toAdd ); if ( box.TryDropItem( from, gold, false ) ) { deposited += toAdd; } else { gold.Delete(); from.AddToBackpack( new GoldDeed( toAdd ) ); } } // Gold was deposited in your account: from.SendLocalizedMessage( 1042672, true, " " + deposited.ToString() ); } else { from.SendLocalizedMessage( 1047026 ); // That must be in your inn chest to use it. } } } }