| CODE |
using System; using Server; using Server.Misc; namespace Server.Items { public class MuscuTronc : Item { private bool m_utiliser; public bool Utiliser {get{return m_utiliser;}set{m_utiliser = value;}} [Constructable] public MuscuTronc() : base( 0xE56 ) { Movable = false; Weight = 300.0; m_utiliser= false; } public MuscuTronc( Serial serial ) : base( serial ) { } public override void OnDoubleClick( Mobile from ) { if ( !from.InRange( GetWorldLocation(), 1 ) ) { from.SendMessage ("Vous etes bien trop loin pour l'utiliser"); } else { if (!m_utiliser) { m_utiliser = true; Timer tmp = new InternalTimer( from , this); tmp.Start(); } } } private class InternalTimer: Timer { private MuscuTronc m_tronc; private Mobile from; public InternalTimer(Mobile m,MuscuTronc tronc): base( TimeSpan.FromSeconds( 5.0), TimeSpan.FromSeconds( 5.0)) { Priority = TimerPriority.FiftyMS; m_tronc = tronc; from = m; } protected override void OnTick() { int lance = Utility.RandomMinMax (1,100); if (lance != 100 ) { from.Emote ("*tape violement sur le tronc avec la hache"); from.SendMessage ("C'etait rigolo, inutile mais rigolo"); from.Animate( 11, 5, 1, true, false, 0 ); from.PlaySound( 0x13E ); } else { if (from.Str <= 80) { from.Emote ("*donne un coup d'une puissance prodigieuse*"); from.SendMessage ("Vise un peu les biceps"); from.Animate( 11, 5, 1, true, false, 0 ); from.PlaySound( 0x13E ); from.Str += 1; } else { from.Emote ("*tape violement sur le tronc avec la hache"); from.SendMessage ("C'etait rigolo, inutile mais rigolo"); from.Animate( 11, 5, 1, true, false, 0 ); from.PlaySound( 0x13E ); } } m_tronc.Utiliser = false; Stop(); } } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } } |