Beispiel #1
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (!Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance(this))
            {
                switch (Utility.Random(5))
                {
                case 0: DemonKnight.DistributeArtifact(this, new SerpentsFang()); break;

                case 1: DemonKnight.DistributeArtifact(this, new SpiritOfTheTotem()); break;

                case 2: DemonKnight.DistributeArtifact(this, new TheDryadBow()); break;

                case 3: DemonKnight.DistributeArtifact(this, new RingOfTheElements()); break;

                default: DemonKnight.DistributeArtifact(this, new OrnamentOfTheMagician()); break;
                }
            }


            for (int i = 0; i < 6; i++)
            {
                c.DropItem(new BlueDraconicRune(1));
            }
        }
Beispiel #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);
        }
Beispiel #3
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.
                    }
                }
            }
        }
Beispiel #4
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (Utility.RandomDouble() <= 0.25)               // 25% chance
            {
                switch (Utility.Random(6))
                {
                case 0: DemonKnight.DistributeArtifact(this, new SilverFork()); break;

                case 1: DemonKnight.DistributeArtifact(this, new BistroFork()); break;

                case 2: DemonKnight.DistributeArtifact(this, new GastroFork()); break;

                case 3: DemonKnight.DistributeArtifact(this, new NeedleFork()); break;

                case 4: DemonKnight.DistributeArtifact(this, new UpgradeSporkDeed()); break;

                case 5: DemonKnight.DistributeArtifact(this, new FrogDropBag()); break;
                }
            }

            if (Utility.RandomDouble() <= 0.05)               // 5% chance
            {
                c.DropItem(new AngelSnack());
            }
        }
Beispiel #5
0
		public override void OnDeath( Container c )
		{
			base.OnDeath( c );

			if ( !Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance( this ) )
				DemonKnight.DistributeArtifact( this );
		}
Beispiel #6
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (!Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance(this))
            {
                DemonKnight.DistributeArtifact(this);
            }

            if (0.2 > Utility.RandomDouble())
            {
                int  r    = Utility.Random(100);
                Item drop = null;

                if (r > 70)
                {
                    drop = new BloodPentagramPart(Utility.Random(5));
                }
                else if (r > 60)
                {
                    drop = new MetalChest();
                }
                else if (r > 50)
                {
                    drop = new DecorativeAxeNorthDeed();
                }
                else if (r > 40)
                {
                    drop = new BrownBearRugSouthDeed();
                }
                else if (r > 30)
                {
                    drop = new BrownBearRugEastDeed();
                }
                else if (r > 20)
                {
                    drop = new StackedArrows();
                }
                else if (r > 10)
                {
                    drop = new BronzeIngots();
                }
                else if (r > 5)
                {
                    drop = new StackedShafts();
                }
                else if (r > 1)
                {
                    drop = new RareFeathers();
                }
                else
                {
                    drop = new ClothingBlessDeed();
                }

                c.DropItem(drop);
            }
        }
Beispiel #7
0
        public override void OnDeath(Container c)
        {
            double chance = 0.0;

            if (Hue == (int)FrogAge.OneDay)
            {
                chance = 0.01;
            }
            else if (Hue == (int)FrogAge.TwoDays)
            {
                chance = 0.02;
            }
            else if (Hue == (int)FrogAge.ThreeDays)
            {
                chance = 0.04;
            }
            else if (Hue == (int)FrogAge.FourDays)
            {
                chance = 0.08;
            }
            else if (Hue == (int)FrogAge.FiveDays)
            {
                chance = 0.16;
            }
            else if (Hue == (int)FrogAge.SixDays)
            {
                chance = 1.0;
            }

            base.OnDeath(c);

            if (chance > 0 && chance > Utility.RandomDouble())
            {
                switch (Utility.Random(6))
                {
                case 0: DemonKnight.DistributeArtifact(this, new WorldMap()); break;

                case 1: DemonKnight.DistributeArtifact(this, new RedLeaves()); break;

                case 2: DemonKnight.DistributeArtifact(this, new Sand()); break;

                // SpecialHairDye
                case 3: DemonKnight.DistributeArtifact(this, new Rope()); break;

                case 4: DemonKnight.DistributeArtifact(this, new Vines()); break;

                // TribalPaint
                // RockArtifact
                // Runebook
                // Gold
                case 5: DemonKnight.DistributeArtifact(this, new Gold(50)); break;
                }
            }
        }
Beispiel #8
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            // Genova: flag artefatos.
            if (GeNovaXML.Flags_Active(XMLNames.Artifacts))
            {
                if (!Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance(this))
                {
                    DemonKnight.DistributeArtifact(this);
                }
            }
        }
Beispiel #9
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (!Summoned && !NoKillAwards)
            {
                if (DemonKnight.CheckArtifactChance(this))
                {
                    DemonKnight.DistributeArtifact(this, false);
                }
                else if (Core.ML)
                {
                    DemonKnight.ComputePoints(this);
                    DemonKnight.DistributeArtifact(this, true);
                }
            }
        }
Beispiel #10
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());
        }
Beispiel #11
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;
                }
            }
        }
Beispiel #12
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());
            }
        }
Beispiel #13
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());
        }
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            if (!Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance(this))
            {
                DemonKnight.DistributeArtifact(this);
            }

            if (0.75 > Utility.RandomDouble())
            {
                int  r    = Utility.Random(100);
                Item drop = null;

                if (r < 1)
                {
                    drop = new LayerSashDeed();
                }
                else if (r < 4)
                {
                    drop = new SpecialQuestSandals();
                }
                else if (r < 6)
                {
                    drop = new RareCreamCarpet(PieceType.Centre);
                }
                else if (r < 8)
                {
                    drop = new RareBlueCarpet(PieceType.Centre);
                }
                else if (r < 10)
                {
                    drop = new RareBloodCarpet(PieceType.Centre);
                }
                else if (r < 12)
                {
                    drop = new BasicBlueCarpet(PieceType.Centre);
                }
                else if (r < 14)
                {
                    drop = new BasicPinkCarpet(PieceType.Centre);
                }
                else if (r < 29)
                {
                    drop = new BloodPentagramPart(Utility.Random(5));
                }
                else if (r < 30)
                {
                    drop = new ClothingBlessDeed();
                }
                else if (r < 35)
                {
                    drop = new MysteriousCloth();
                }
                else if (r < 40)
                {
                    drop = new SpecialHairDye();
                }
                else if (r < 45)
                {
                    drop = new SpecialBeardDye();
                }
                else if (r < 50)
                {
                    drop = new NameChangeDeed();
                }
                else if (r < 65)
                {
                    drop = new SkillTunic();
                }
                else if (r < 80)
                {
                    drop = new TamersCrook();
                }
                else if (r < 85)
                {
                    drop = new HeroShield();
                }
                else if (r < 88)
                {
                    drop = new EvilShield();
                }
                else if (r < 91)
                {
                    drop = new MondainHat();
                }
                else if (r < 94)
                {
                    drop = new PlatinGloves();
                }
                else if (r < 96)
                {
                    drop = new AncientSamuraiHelm();
                }
                else if (r < 98)
                {
                    drop = Utility.RandomBool() ? (Item)(new MirrorEast()) : (Item)(new MirrorNorth());
                }
                else
                {
                    drop = Utility.RandomBool() ? (Item)(new BoneBenchEastPart()) : (Item)(new BoneBenchWestPart());
                }

                c.DropItem(drop);
            }
        }
Beispiel #15
0
 public override bool OnBeforeDeath()
 {
     BlueTurkeyInfo.AwardPoints(DemonKnight.FindRandomPlayer(this), 1);
     return(base.OnBeforeDeath());
 }