コード例 #1
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Item)
                {
                    Item item = (Item)targeted;

                    if ((FurnitureAttribute.Check(item) || (item is PotionKeg)) || item is BaseArmor || item is BaseWeapon || item is IDyable || item is MonsterStatuette || item is EtherealMount || item is Spellbook || item is Runebook || item is RecallRune)
                    {
                        if (!item.IsChildOf(from.Backpack))
                        {
                            from.SendMessage("The item must be in your pack.");
                        }
                        else
                        {
                            item.Hue = m_Tub.DyedHue;

                            if (m_Tub.Charged)
                            {
                                if (m_Tub.Charges <= 1)
                                {
                                    m_Tub.Delete();
                                }
                                m_Tub.Charges = m_Tub.Charges - 1;
                            }
                            from.PlaySound(0x23F);
                        }
                    }
                    else
                    {
                        from.SendMessage("That item cannot be dyed.");
                    }
                }
                else
                {
                    from.SendMessage("You cannot dye that.");
                }
            }
コード例 #2
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Item)
                {
                    Item item = (Item)targeted;

                    if (/*item is CarpetColor || */ item is SpecialFishingNet)
                    {
                        from.SendMessage("That item cannot be dyed.");
                    }
                    else if (item is AddonComponent)
                    {
                        AddonComponent component = (AddonComponent)targeted;

                        if (component.Addon is DyeRack)
                        {
                            if (m_Tub.DyedHue < 1059)
                            {
                                from.SendMessage("This hue cannot be added to rack");
                            }
                            else
                            {
                                if (m_Tub.Charged)
                                {
                                    from.PlaySound(0x23F);
                                    from.FixedParticles(14120, 10, 15, 5011, m_Tub.DyedHue, 5, EffectLayer.Waist);

                                    ((DyeRack)component.Addon).AcquireDye(m_Tub.DyedHue, m_Tub.Charges);
                                    from.SendMessage("Hue has been added to rack with number {0}", m_Tub.DyedHue);

                                    m_Tub.Delete();
                                }
                            }
                        }
                        else
                        {
                            from.SendMessage("That item cannot be dyed.");
                        }
                    }
                    else if (FurnitureAttribute.Check(item) || item is BaseTalisman || item is BaseArmor || item is BaseWeapon || item is IDyable || item is MonsterStatuette || item is EtherealMount || item is Spellbook || item is Runebook || item is RecallRune)
                    {
                        if (!item.IsChildOf(from.Backpack))
                        {
                            from.SendMessage("The item must be in your pack.");
                        }
                        else
                        {
                            item.Hue = m_Tub.DyedHue;

                            if (m_Tub.Charged)
                            {
                                if (m_Tub.Charges <= 1)
                                {
                                    m_Tub.Delete();
                                }
                                m_Tub.Charges = m_Tub.Charges - 1;
                            }
                            from.PlaySound(0x23F);
                            from.FixedParticles(14120, 10, 15, 5011, item.Hue, 5, EffectLayer.Waist);
                        }
                    }
                    else
                    {
                        from.SendMessage("That item cannot be dyed.");
                    }
                }
                else
                {
                    from.SendMessage("You cannot dye that.");
                }
            }