using System; namespace Server.Items { public class ArcaneFocus : TransientItem { public override int LabelNumber => 1032629; // Arcane Focus private int m_StrengthBonus; [CommandProperty( AccessLevel.GameMaster )] public int StrengthBonus { get => m_StrengthBonus; set => m_StrengthBonus = value; } [Constructible] public ArcaneFocus() : this( TimeSpan.FromHours( 1 ), 1 ) { } [Constructible] public ArcaneFocus( int lifeSpan, int strengthBonus ) : this( TimeSpan.FromSeconds( lifeSpan ), strengthBonus ) { } public ArcaneFocus( TimeSpan lifeSpan, int strengthBonus ) : base( 0x3155, lifeSpan ) { LootType = LootType.Blessed; m_StrengthBonus = strengthBonus; } public ArcaneFocus( Serial serial ) : base( serial ) { } public override void GetProperties( ObjectPropertyList list ) { base.GetProperties( list ); list.Add( 1060485, m_StrengthBonus.ToString() ); // strength bonus ~1_val~ } public override TextDefinition InvalidTransferMessage => 1073480; // Your arcane focus disappears. public override bool Nontransferable => true; public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int)0 ); writer.Write( m_StrengthBonus ); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_StrengthBonus = reader.ReadInt(); } } }