using System; using System.Collections; using System.Collections.Generic; using Server; using Server.Items; using Server.ContextMenus; namespace Server.Mobiles { public class TinkerGuildmaster : BaseGuildmaster { public override NpcGuild NpcGuild{ get{ return NpcGuild.TinkersGuild; } } [Constructable] public TinkerGuildmaster() : base( "tinker" ) { SetSkill( SkillName.Lockpicking, 65.0, 88.0 ); SetSkill( SkillName.Tinkering, 90.0, 100.0 ); SetSkill( SkillName.RemoveTrap, 85.0, 100.0 ); } public TinkerGuildmaster( 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 override void AddCustomContextEntries( Mobile from, List list ) { if ( Core.ML && from.Alive ) { RechargeEntry entry = new RechargeEntry( from, this ); if ( WeaponEngravingTool.Find( from ) == null ) entry.Enabled = false; list.Add( entry ); } base.AddCustomContextEntries( from, list ); } private class RechargeEntry : ContextMenuEntry { private Mobile m_From; private Mobile m_Vendor; public RechargeEntry( Mobile from, Mobile vendor ) : base( 6271, 6 ) { m_From = from; m_Vendor = vendor; } public override void OnClick() { if ( !Core.ML || m_Vendor == null || m_Vendor.Deleted ) return; WeaponEngravingTool tool = WeaponEngravingTool.Find( m_From ); if ( tool != null && tool.UsesRemaining <= 0 ) { if ( Banker.GetBalance( m_From ) >= 100000 ) m_From.SendGump( new WeaponEngravingTool.ConfirmGump( tool, m_Vendor ) ); else m_Vendor.Say( 1076167 ); // You need a 100,000 gold and a blue diamond to recharge the weapon engraver. } else m_Vendor.Say( 1076164 ); // I can only help with this if you are carrying an engraving tool that needs repair. } } } }