Esempio n. 1
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (0.30 > Utility.RandomDouble())
            {
                Mobile m = DemonKnight.FindRandomPlayer(this);

                if (m != null)
                {
                    Item artifact = VoidPoolRewards.DropRandomArtifact();

                    if (artifact != null)
                    {
                        Container pack = m.Backpack;

                        if (pack == null || !pack.TryDropItem(m, artifact, false))
                        {
                            m.BankBox.DropItem(artifact);
                        }

                        m.SendLocalizedMessage(1062317); // For your valor in combating the fallen beast, a special artifact has been bestowed on you.
                    }
                }
            }
        }
Esempio n. 2
0
        public static void DistributeRandomArtifact(BaseCreature bc, Type[] typelist)
        {
            int  random = Utility.Random(typelist.Length);
            Item item   = Loot.Construct(typelist[random]);

            DistributeArtifact(DemonKnight.FindRandomPlayer(bc), item);
        }
Esempio n. 3
0
        public override bool OnBeforeDeath()
        {
            Mobile killer = DemonKnight.FindRandomPlayer(this);

            if (killer != null)
            {
                Item item = new IceWyrmScale();

                Container pack = killer.Backpack;

                if (pack == null || !pack.TryDropItem(killer, item, false))
                {
                    killer.BankBox.DropItem(item);
                }

                killer.SendLocalizedMessage(1154489); // You received a Quest Item!
            }

            return(base.OnBeforeDeath());
        }
Esempio n. 4
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            Mobile mobile = DemonKnight.FindRandomPlayer(this);

            if (Paragon.CheckArtifactChance(mobile, this))
            {
                switch (Utility.Random(4))
                {
                case 0: DemonKnight.DistributeArtifact(mobile, new Slither()); break;

                case 1: DemonKnight.DistributeArtifact(mobile, new IronwoodCompositeBow()); break;

                case 2: DemonKnight.DistributeArtifact(mobile, new MedusaBlood()); break;

                case 3: DemonKnight.DistributeArtifact(mobile, new MedusaStatue()); break;
                }
            }
        }
Esempio n. 5
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (Utility.RandomBool())
            {
                c.AddItem(ScrollofTranscendence.CreateRandom(30, 30));
            }

            if (Utility.RandomBool())
            {
                c.AddItem(new TatteredAncientScroll());
            }

            if (Utility.RandomBool())
            {
                c.AddItem(new UntransTome());
            }

            if (Utility.RandomBool())
            {
                c.AddItem(new SpiderCarapace());
            }

            // add special drops to backpack here
            if (Utility.RandomDouble() < 0.025)
            {
                c.AddItem(new Tangle1());
            }

            if (Utility.RandomDouble() < 0.025)
            {
                c.AddItem(new EyeOfNavery());
            }

            if (Utility.RandomDouble() < 0.01)
            {
                DistributeArtifact(DemonKnight.FindRandomPlayer(this), new NightEyes());
            }
        }
Esempio n. 6
0
        public override bool OnBeforeDeath()
        {
            Mobile killer = DemonKnight.FindRandomPlayer(this);

            if (killer != null)
            {
                Item item = new StrongboxKey();

                Container pack = killer.Backpack;

                if (pack == null || !pack.TryDropItem(killer, item, false))
                {
                    killer.BankBox.DropItem(item);
                }

                killer.SendLocalizedMessage(1154489); // You received a Quest Item!
            }

            Timer.DelayCall(TimeSpan.FromMinutes(10.0), new TimerCallback(m_Controller.CreateSorcerersPlates));

            return(base.OnBeforeDeath());
        }
Esempio n. 7
0
 public override bool OnBeforeDeath()
 {
     BlueTurkeyInfo.AwardPoints(DemonKnight.FindRandomPlayer(this), 1);
     return(base.OnBeforeDeath());
 }