Exemple #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));
            }
        }
Exemple #2
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());
            }
        }
Exemple #3
0
		public override void OnDeath( Container c )
		{
			base.OnDeath( c );

			if ( !Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance( this ) )
				DemonKnight.DistributeArtifact( this );
		}
Exemple #4
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);
            }
        }
Exemple #5
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;
                }
            }
        }
        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);
                }
            }
        }
Exemple #7
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);
                }
            }
        }
Exemple #8
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;
                }
            }
        }
        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);
            }
        }