public override void OnDoubleClick( Mobile from ) { if (IsChildOf(from.Backpack)) { if (Hue == 0) { from.SendMessage("Please select a hue..."); from.SendHuePicker( new InternalPicker( this ) ); } else if (i_Charges < 1) from.SendMessage("You don't have enough charges to dye anymore."); else switch (i_DyeType) { case 0: default: from.SendMessage("Please select leather armor to dye..."); from.Target = new InternalTarget( this, 0, Hue ); break; case 1: from.SendMessage("Please select metal armor to dye..."); from.Target = new InternalTarget( this, 1, Hue ); break; case 2: from.SendMessage("Please select metal weapon to dye..."); from.Target = new InternalTarget( this, 2, Hue ); break; } } }
protected override void OnTarget( Mobile from, object targeted ) { if ( targeted is Item ) { Item item = (Item)targeted; if (it_Tub != null) { if (!(item.IsChildOf(from.Backpack))) { from.SendMessage("This must be in your backpack."); } else if (targeted is ChargedDyeTub) { ChargedDyeTub tub = targeted as ChargedDyeTub; if (it_Tub == tub) { from.SendMessage("Please select a hue..."); from.SendHuePicker( new InternalPicker( tub ) ); } else if (tub.DyeType == i_DyeType) { it_Tub.Charges += tub.Charges; from.SendMessage("You combined the dye tubs"); tub.Delete(); } else from.SendMessage("You can't combine different charged dye tubs"); } else switch (i_DyeType) { case 0: default: //leather armor { if ( targeted is BaseArmor && (((BaseArmor)item).MaterialType == ArmorMaterialType.Leather || ((BaseArmor)item).MaterialType == ArmorMaterialType.Studded)) { item.Hue = i_DyeHue; from.PlaySound( 0x23E ); it_Tub.Charges--; } else from.SendMessage("That's not leather armor!!!"); break; } case 1: //metal armor { if ( targeted is BaseArmor && !(targeted is BaseShield) && !(((BaseArmor)item).MaterialType == ArmorMaterialType.Leather || ((BaseArmor)item).MaterialType == ArmorMaterialType.Studded)) { item.Hue = i_DyeHue; from.PlaySound( 0x23E ); it_Tub.Charges--; } else from.SendMessage("That's not metal armor!!!"); break; } case 2: //weapons { if ( targeted is BaseWeapon && !(targeted is BaseRanged) && !(targeted is BaseStaff) && ((BaseWeapon)item).Resource >= CraftResource.Iron && ((BaseWeapon)item).Resource <= CraftResource.Sunstone ) { item.Hue = i_DyeHue; from.PlaySound( 0x23E ); it_Tub.Charges--; } else from.SendMessage("That's not metal weapon!!!"); break; } } } } }