diff --git a/Scripts/Items/Construction/Signs/SubtextSign.cs b/Scripts/Items/Construction/Signs/SubtextSign.cs new file mode 100644 index 000000000..5129feb3a --- /dev/null +++ b/Scripts/Items/Construction/Signs/SubtextSign.cs @@ -0,0 +1,70 @@ +using System; +using Server; + +namespace Server.Items +{ + public class SubtextSign : Sign + { + private string m_Subtext; + + [CommandProperty( AccessLevel.GameMaster )] + public string Subtext + { + get { return m_Subtext; } + set { m_Subtext = value; InvalidateProperties(); } + } + + [Constructable] + public SubtextSign( SignType type, SignFacing facing, string subtext ) + : base( type, facing ) + { + m_Subtext = subtext; + } + + [Constructable] + public SubtextSign( int itemID, string subtext ) + : base( itemID ) + { + m_Subtext = subtext; + } + + public override void OnSingleClick( Mobile from ) + { + base.OnSingleClick( from ); + + if ( m_Subtext != null ) + LabelTo( from, m_Subtext ); + } + + public override void AddNameProperties( ObjectPropertyList list ) + { + base.AddNameProperties( list ); + + if ( m_Subtext != null ) + list.Add( m_Subtext ); + } + + public SubtextSign( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( (int) 0 ); + + writer.Write( m_Subtext ); + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + + m_Subtext = reader.ReadString(); + } + } +} \ No newline at end of file