예제 #1
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                Item item = targeted as Item;

                if (item == null)
                {
                    return;
                }

                if (!item.IsChildOf(from.Backpack))
                {
                    from.SendLocalizedMessage(1062334);                       // This item must be in your backpack to be used.
                }
                else if (item is PigmentsOfTokuno || item is PigmentsOfTokunoMajor || item is CompassionPigment)
                {
                    from.SendLocalizedMessage(1042083);                       // You cannot dye that.
                }
                else if (item.IsLockedDown)
                {
                    from.SendLocalizedMessage(1070932);                       // You may not dye artifacts and enhanced magic items which are locked down.
                }
                else if (!PigmentsOfTokuno.CheckWarn(item))
                {
                    from.SendLocalizedMessage(1070930);                       // Can't dye artifacts or enhanced magic items that are being worn.
                }
                else if (PigmentsOfTokuno.CanHue(item))
                {
                    item.Hue = dye.GetHue(dye.Type);

                    dye.UsesRemaining--;

                    if (dye.UsesRemaining <= 0)
                    {
                        dye.Delete();
                    }
                }
                else
                {
                    from.SendLocalizedMessage(1070931);                       // You can only dye artifacts and enhanced magic items with this tub.
                }
            }
예제 #2
0
        public static bool IsValidItem(Item i)
        {
            // As per UO Herald Playguide:
            // "These dyes essentially combine the ability of all currently available dye tubs and Tokuno dyes."

            if (i.Stackable)
            {
                return(false);
            }

            if (i is BaseArmor)
            {
                BaseArmor armor = i as BaseArmor;

                // Leather Armor
                if (armor.MaterialType == ArmorMaterialType.Leather || armor.MaterialType == ArmorMaterialType.Studded)
                {
                    return(true);
                }

                // Metal Armor
                if (armor.MaterialType == ArmorMaterialType.Plate)
                {
                    return(true);
                }
            }

            // Weapons
            if (i is BaseWeapon)
            {
                return(true);
            }

            // Spellbooks (including other non-mage spellbooks) & Runebooks
            if (i is Spellbook || i is Runebook || i is RecallRune)
            {
                return(true);
            }

            // Statuettes
            if (i is MonsterStatuette)
            {
                return(true);
            }

            // Books
            if (i is BaseBook)
            {
                return(true);
            }

            // Jewelry
            if (i is BaseJewel)
            {
                return(true);
            }

            // Artifacts and magical items dyable with Tokuno dyes
            if (PigmentsOfTokuno.CanHue(i))
            {
                return(true);
            }

            // Talismans
            if (i is Talisman)
            {
                return(true);
            }

            if (i is DeerMask || i is TribalMask || i is BearMask)
            {
                return(true);
            }

            if (i is SnakeSkinBoots)
            {
                return(true);
            }

            return(false);
        }