#### Back to Server.Items

## BaseInstrument : Item, IEntity, IPoint3D, IPoint2D, IComparable, IComparable`1, IHued, IComparable`1, ISerializable, ICraftable, ISlayer

#### Derived Types: BambooFlute, Drums, Harp, LapHarp, Lute, Tambourine, TambourineTassel

#### Nested Types: InternalTimer

(static) bool CheckMusicianship( Mobile m )
(static) int GetBardRange( Mobile bard, SkillName skill )
(static) double GetBaseDifficulty( Mobile targ )
(static) BaseInstrument GetInstrument( Mobile from )
(static) int GetPoisonLevel( BaseCreature bc )
(static) bool IsFireBreathingCreature( BaseCreature bc )
(static) bool IsMageryCreature( BaseCreature bc )
(static) bool IsPoisonImmune( BaseCreature bc )
(static) void OnPickedInstrument( Mobile from, object targeted, object state )
(static) void PickInstrument( Mobile from, InstrumentPickedCallback callback )
(static) void SetInstrument( Mobile from, BaseInstrument item )
(ctor) BaseInstrument( Serial serial )
(ctor) BaseInstrument( int itemID, int wellSound, int badlySound )
TimeSpan ChargeReplenishRate( get; )
Mobile Crafter( get; set; )
int FailureSound( get; set; )
int InitMaxUses( get; )
int InitMinUses( get; )
DateTime LastReplenished( get; set; )
InstrumentQuality Quality( get; set; )
bool ReplenishesCharges( get; set; )
SlayerName Slayer( get; set; )
SlayerName Slayer2( get; set; )
int SuccessSound( get; set; )
int UsesRemaining( get; set; )
void CheckReplenishUses()
void CheckReplenishUses( bool invalidate )
void ConsumeUse( Mobile from )
virtual void Deserialize( GenericReader reader )
double GetDifficultyFor( Mobile targ )
virtual void GetProperties( ObjectPropertyList list )
int GetUsesScalar()
virtual int OnCraft( int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue )
virtual void OnDoubleClick( Mobile from )
virtual void OnSingleClick( Mobile from )
void PlayInstrumentBadly( Mobile from )
void PlayInstrumentWell( Mobile from )
void ScaleUses()
virtual void Serialize( GenericWriter writer )
void UnscaleUses()