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)
                    {
                        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.
                }
            }
Exemplo n.º 2
0
        public override void OnAfterDuped(Item newItem)
        {
            BaseTalisman talisman = newItem as BaseTalisman;

            if (talisman == null)
            {
                return;
            }

            talisman.m_Summoner        = new TalismanAttribute(m_Summoner);
            talisman.m_Protection      = new TalismanAttribute(m_Protection);
            talisman.m_Killer          = new TalismanAttribute(m_Killer);
            talisman.m_AosAttributes   = new AosAttributes(newItem, m_AosAttributes);
            talisman.m_AosSkillBonuses = new AosSkillBonuses(newItem, m_AosSkillBonuses);
        }
Exemplo n.º 3
0
        public RandomTalisman() : base(GetRandomItemID())
        {
            Summoner = BaseTalisman.GetRandomSummoner();

            if (Summoner.IsEmpty)
            {
                Removal = BaseTalisman.GetRandomRemoval();

                if (Removal != TalismanRemoval.None)
                {
                    MaxCharges    = BaseTalisman.GetRandomCharges();
                    MaxChargeTime = 1200;
                }
            }
            else
            {
                MaxCharges = Utility.RandomMinMax(10, 50);

                if (Summoner.IsItem)
                {
                    MaxChargeTime = 60;
                }
                else
                {
                    MaxChargeTime = 1800;
                }
            }

            Blessed          = BaseTalisman.GetRandomBlessed();
            Slayer           = BaseTalisman.GetRandomSlayer();
            Protection       = BaseTalisman.GetRandomProtection();
            Killer           = BaseTalisman.GetRandomKiller();
            Skill            = BaseTalisman.GetRandomSkill();
            ExceptionalBonus = BaseTalisman.GetRandomExceptional();
            SuccessBonus     = BaseTalisman.GetRandomSuccessful();
            Charges          = MaxCharges;
        }
Exemplo n.º 4
0
 public TalismanTarget(BaseTalisman talisman)
     : base(12, false, TargetFlags.Beneficial)
 {
     m_Talisman = talisman;
 }