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; } } } } } }
public InternalTarget(ChargedDyeTub tub, int Charges) : base(1, false, TargetFlags.None) { m_Tub = tub; m_Charges = Charges; }
public InternalTarget(ChargedDyeTub tub, int dyetype, int dyehue) : base(1, false, TargetFlags.None) { it_Tub = tub; i_DyeType = dyetype; i_DyeHue = dyehue; }
public ChargedDyeTubGump( Mobile from, ChargedDyeTub tub, int hue ) : base(0, 0) { m_From = from; if (!(m_From is PlayerMobile)) return; c_Tub = tub; i_Hue = hue; Resizable=false; AddPage(0); AddBackground(20, 20, 320, 130, 2620); AddLabel(35, 40, 89, @"Please type which hue number you want to use"); AddTextEntry(70, 70, 70, 20, i_Hue, 1, i_Hue.ToString()); AddButton(35, 67, 2644, 2645, 2, GumpButtonType.Reply, 0); AddLabel(35, 100, i_Hue, @"This is the current hue number " + i_Hue + "."); }
public ChargedDyeTubMenu( Mobile from, ChargedDyeTub tub ) : base( 5049 ) { m_From = from; c_Tub = tub; }
public InternalPicker( ChargedDyeTub tub ) : base( tub.ItemID ) { m_Tub = tub; }
public InternalTarget( ChargedDyeTub tub, int dyetype, int dyehue ) : base( 1, false, TargetFlags.None ) { it_Tub = tub; i_DyeType = dyetype; i_DyeHue = dyehue; }
public static void SelectHueNumber( Mobile from, ChargedDyeTub tub ) { if (tub.IsChildOf(from.Backpack)) from.SendGump( new ChargedDyeTubGump(from, tub, tub.Hue)); }