public override bool OnBeforeDeath()
        {
            BoneMagi rm = new BoneMagi();

            rm.Team = this.Team;
            rm.MoveToWorld(this.Location, this.Map);

            Effects.SendLocationEffect(Location, Map, 0x3709, 13, 0x3B2, 0);

            Container bag = new Bag();

            switch (Utility.Random(9))
            {
            case 0: bag.DropItem(new Amber()); break;

            case 1: bag.DropItem(new Amethyst()); break;

            case 2: bag.DropItem(new Citrine()); break;

            case 3: bag.DropItem(new Diamond()); break;

            case 4: bag.DropItem(new Emerald()); break;

            case 5: bag.DropItem(new Ruby()); break;

            case 6: bag.DropItem(new Sapphire()); break;

            case 7: bag.DropItem(new StarSapphire()); break;

            case 8: bag.DropItem(new Tourmaline()); break;
            }

            switch (Utility.Random(8))
            {
            case 0: bag.DropItem(new SpidersSilk(3)); break;

            case 1: bag.DropItem(new BlackPearl(3)); break;

            case 2: bag.DropItem(new Bloodmoss(3)); break;

            case 3: bag.DropItem(new Garlic(3)); break;

            case 4: bag.DropItem(new MandrakeRoot(3)); break;

            case 5: bag.DropItem(new Nightshade(3)); break;

            case 6: bag.DropItem(new SulfurousAsh(3)); break;

            case 7: bag.DropItem(new Ginseng(3)); break;
            }

            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                bag.DropItem(iob);
            }

            bag.DropItem(new Gold(1000, 1500));

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }

            // Category 4 MID
            rm.PackMagicItem(2, 3, 0.10);
            rm.PackMagicItem(2, 3, 0.05);
            rm.PackMagicItem(2, 3, 0.02);

            rm.PackMagicEquipment(2, 3, 0.60, 0.60);
            rm.PackMagicEquipment(2, 3, 0.25, 0.25);

            rm.AddItem(bag);

            this.Delete();

            return(false);
        }
示例#2
0
		public override bool OnBeforeDeath()
		{
			BoneMagi rm = new BoneMagi();

			rm.Team = this.Team;
			rm.MoveToWorld( this.Location, this.Map );

			Effects.SendLocationEffect( Location,Map, 0x3709, 13, 0x3B2, 0 );

			Container bag = new Bag();

			switch ( Utility.Random( 9 ))
			{
				case 0: bag.DropItem( new Amber() ); break;
				case 1: bag.DropItem( new Amethyst() ); break;
				case 2: bag.DropItem( new Citrine() ); break;
				case 3: bag.DropItem( new Diamond() ); break;
				case 4: bag.DropItem( new Emerald() ); break;
				case 5: bag.DropItem( new Ruby() ); break;
				case 6: bag.DropItem( new Sapphire() ); break;
				case 7: bag.DropItem( new StarSapphire() ); break;
				case 8: bag.DropItem( new Tourmaline() ); break;
			}

			switch ( Utility.Random( 8 ))
			{
				case 0: bag.DropItem( new SpidersSilk( 3 ) ); break;
				case 1: bag.DropItem( new BlackPearl( 3 ) ); break;
				case 2: bag.DropItem( new Bloodmoss( 3 ) ); break;
				case 3: bag.DropItem( new Garlic( 3 ) ); break;
				case 4: bag.DropItem( new MandrakeRoot( 3 ) ); break;
				case 5: bag.DropItem( new Nightshade( 3 ) ); break;
				case 6: bag.DropItem( new SulfurousAsh( 3 ) ); break;
				case 7: bag.DropItem( new Ginseng( 3 ) ); break;
			}

			if (0.12 > Utility.RandomDouble())
			{
				Item iob = Loot.RandomIOB();
				bag.DropItem( iob );
			}

			bag.DropItem( new Gold( 1000, 1500 ));
			
			if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
			{
				// 30% boost to gold
				PackGold( base.GetGold()/3 );
			}

			// Category 4 MID
			rm.PackMagicItem(2, 3, 0.10);
			rm.PackMagicItem(2, 3, 0.05);
			rm.PackMagicItem(2, 3, 0.02);

			rm.PackMagicEquipment(2, 3, 0.60, 0.60);
			rm.PackMagicEquipment(2, 3, 0.25, 0.25);

			rm.AddItem( bag );

			this.Delete();

			return false;
		}