using System; using Server; using Server.Items; using Server.Commands; using Server.Mobiles; namespace Server.Commands { public class BandSelf { public static void Initialize() { CommandSystem.Register("Bandself", AccessLevel.Player, new CommandEventHandler(Bandself_OnCommand)); } [Usage("Bandself")] [Description("Uses a bandage from the player's backpack on themselves.")] public static void Bandself_OnCommand(CommandEventArgs e) { Mobile from = e.Mobile; if (BandageContext.GetContext(from) != null) { from.SendMessage( 33, "You are already applying a bandage." ); return; } EnchantedBandage enchanted = from.Backpack.FindItemByType(); if (enchanted != null && enchanted.Charges > 0) { if ( EnchantedBandage.CooldownTable.ContainsKey( from ) && EnchantedBandage.CooldownTable[from] > DateTime.UtcNow ) { from.SendMessage( 33, "You must wait a moment before using an enchanted bandage again." ); return; } if (Utility.RandomDouble() < 0.30) { from.Poison = null; from.Hits = from.HitsMax; from.PlaySound(0x1F2); from.FixedParticles(0x376A, 9, 32, 5030, EffectLayer.Waist); from.SendMessage(63, "The enchanted bandage glows brightly, instantly curing and fully healing you!"); EnchantedBandage.CooldownTable[from] = DateTime.UtcNow + TimeSpan.FromSeconds( 5 ); } else { if (BandageContext.BeginHeal(from, from) != null) { enchanted.Charges--; } } return; } Bandage bandage = from.Backpack.FindItemByType(); if (bandage != null) { if (BandageContext.BeginHeal(from, from) != null) { bandage.Consume(); } } else { from.SendMessage("You do not have any bandages in your backpack."); } } } }