Exemplo n.º 1
0
            protected override void OnTarget(Mobile from, object o)
            {
                if (m_Item == null || m_Item.Deleted)
                {
                    return;
                }

                if (o is BaseTalisman)
                {
                    BaseTalisman talisman = (BaseTalisman)o;

                    if (talisman.Charges == 0)
                    {
                        // Scriptiz : les talismans ne sont pas éternels
                        if (talisman.MaxCharges > 0)      // si c'est un talisman avec des charges (pas infini)
                        {
                            talisman.MaxCharges /= 2;     // on perd la moitié des charges max
                            if (talisman.MaxCharges == 0) // s'il n'en reste plus il faut delete le talisman
                            {
                                from.SendMessage("Cet objet était trop vieux pour être rechargé, il s'est cassé.");
                                talisman.Delete();
                                return;
                            }
                        }

                        talisman.Charges = talisman.MaxCharges;
                        m_Item.Delete();
                        from.SendLocalizedMessage(1075100);                           // The item has been recharged.
                    }
                    else
                    {
                        from.SendLocalizedMessage(1075099);                           // You cannot recharge that item until all of its current charges have been used.
                    }
                }
                else
                {
                    from.SendLocalizedMessage(1046439);                       // That is not a valid target.
                }
            }