private static void AddThemeLoot (LockableContainer cont, int level, ChestThemeType type) { MonsterStatuette mx = null; //switch to add in theme treasures switch ( type ) { case ChestThemeType.Solen: { //drop are special weapon QuarterStaff special = new QuarterStaff(); special.Name = "Chitanous Staff"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); //go into dropping normal loot int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new Seed(PlantType.Hedge,0,false)); //new solen seed if(onlyonedrop ==1 )cont.DropItem(new WaterBucket() ); //new waterbucket if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[0]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[1]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Brigand: { //drop are special weapon Katana special = new Katana(); special.Name = "Bandit's Blade"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new Brazier(true)); //new movable brazier if(onlyonedrop ==1 )cont.DropItem(new DecorativeBow(Utility.RandomMinMax(0,3))); //random decorative bow type for ( int i = 0; i < level * 5; ++i ) { cont.DropItem (new PowderOfTranslocation() ); //drop powder of translocation } if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[2]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[3]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Savage: { //drop are special weapon ShortSpear special = new ShortSpear(); special.Name = "Ornate Ritual Spear"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int rug = Utility.RandomMinMax(0,1); int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new SkullPole() ); //new skull pole if(onlyonedrop ==1 ) { if(rug == 0) cont.DropItem(new BrownBearRugEastDeed() ); //new rug east if(rug == 1) cont.DropItem(new BrownBearRugSouthDeed() ); //new rug south } if (Utility.RandomDouble() <= .30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[4]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[5]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Undead: { Halberd special = new Halberd(); special.Name = "Soul Reaver"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); if(onlyonedrop ==0 )cont.DropItem(new BoneContainer(Utility.RandomMinMax(0,2))); //new bone container 3 differnt types 0-2 int stone = Utility.RandomMinMax(0,3); // get random gravestone type to drop if(onlyonedrop ==1 ) { if(stone == 0) cont.DropItem(new GraveStone1()); if(stone == 1) cont.DropItem(new GraveStone2()); if(stone == 2) cont.DropItem(new GraveStone3()); if(stone == 3) cont.DropItem(new GraveStone4()); } for ( int i = 0; i < level * 5; ++i ) { cont.DropItem(new Moonstone()); //drop moonstones } if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[6]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[7]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Pirate: { Bow special = new Bow(); special.Name = "Bow of the Buccaneer"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); PirateHat hat = new PirateHat(); hat.Hue = 0x1; int oars = Utility.RandomMinMax(0,1); //2 oar types if(onlyonedrop ==0 ) { if(oars == 0) cont.DropItem(new Oars1()); if(oars == 1) cont.DropItem(new Oars2()); } if(onlyonedrop == 1 )cont.DropItem(new GenieBottle(false) ); //lamp currently disabled genie not done if (Utility.RandomDouble() <= 0.50 )cont.DropItem(hat); // 50% chance at black piratehat if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[8]); if(whichone == 1) mx = new MonsterStatuette (m_Monster[9]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Dragon: { WarFork special = new WarFork(); special.Name = "Claw of the Dragon"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0,1); //new dragonhead trophydeed type if(onlyonedrop ==0 ) cont.DropItem(new TrophyDeed(8757, 8756, "a dragon head trophy", "a dragon head trophy", 10 )); int armor = Utility.RandomMinMax(0,2); // drop 1 piece of dragonarmor if(onlyonedrop == 1 ) { if(armor == 0) cont.DropItem(new HangingDragonChest()); if(armor == 1) cont.DropItem(new HangingDragonLegs()); if(armor == 2) cont.DropItem(new HangingDragonArms()); } if (Utility.RandomDouble() <= 0.30 ) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0,1); if(whichone == 0)mx = new MonsterStatuette (m_Monster[10]); if(whichone == 1)mx = new MonsterStatuette (m_Monster[11]); mx.LootType = LootType.Regular; // not blessed cont.DropItem( mx ); // drop it baby! } break; } case ChestThemeType.Lizardmen: { if (Utility.RandomBool()) cont.DropItem( new LizardmansStaff() ); else cont.DropItem( new LizardmansMace() ); } break; case ChestThemeType.Ettin: { cont.DropItem( new EttinHammer() ); } break; case ChestThemeType.Ogre: { cont.DropItem( new OgresClub() ); } break; case ChestThemeType.Ophidian: { cont.DropItem( new OphidianBardiche() ); } break; case ChestThemeType.Skeleton: { switch (Utility.Random(3)) { case 0: cont.DropItem( new SkeletonScimitar() ); break; case 1: cont.DropItem( new SkeletonAxe() ); break; case 2: cont.DropItem( new BoneMageStaff() ); break; } } break; case ChestThemeType.Ratmen: { if (Utility.RandomBool()) cont.DropItem( new RatmanSword() ); else cont.DropItem( new RatmanAxe() ); } break; case ChestThemeType.Orc: { switch (Utility.Random(3)) { case 0: cont.DropItem( new OrcClub() ); break; case 1: cont.DropItem( new OrcMageStaff() ); break; case 2: cont.DropItem( new OrcLordBattleaxe() ); break; } } break; case ChestThemeType.Terathan: { switch (Utility.Random(3)) { case 0: cont.DropItem( new TerathanStaff() ); break; case 1: cont.DropItem( new TerathanSpear() ); break; case 2: cont.DropItem( new TerathanMace() ); break; } } break; case ChestThemeType.FrostTroll: { switch (Utility.Random(3)) { case 0: cont.DropItem( new FrostTrollClub() ); break; case 1: cont.DropItem( new TrollAxe() ); break; case 2: cont.DropItem( new TrollMaul() ); break; } } break; }//end switch }
private static void AddThemeLoot(LockableContainer cont, int level, ChestThemeType type) { MonsterStatuette mx = null; //switch to add in theme treasures switch (type) { case ChestThemeType.Solen: { //drop are special weapon QuarterStaff special = new QuarterStaff(); special.Name = "Chitanous Staff"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); //go into dropping normal loot int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new Seed(PlantType.Hedge, 0, false)); //new solen seed } if (onlyonedrop == 1) { cont.DropItem(new WaterBucket()); //new waterbucket } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[0]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[1]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Brigand: { //drop are special weapon Katana special = new Katana(); special.Name = "Bandit's Blade"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new Brazier(true)); //new movable brazier } if (onlyonedrop == 1) { cont.DropItem(new DecorativeBow(Utility.RandomMinMax(0, 3))); //random decorative bow type } for (int i = 0; i < level * 5; ++i) { cont.DropItem(new PowderOfTranslocation()); //drop powder of translocation } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[2]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[3]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Savage: { //drop are special weapon ShortSpear special = new ShortSpear(); special.Name = "Ornate Ritual Spear"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int rug = Utility.RandomMinMax(0, 1); int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new SkullPole()); //new skull pole } if (onlyonedrop == 1) { if (rug == 0) { cont.DropItem(new BrownBearRugEastDeed()); //new rug east } if (rug == 1) { cont.DropItem(new BrownBearRugSouthDeed()); //new rug south } } if (Utility.RandomDouble() <= .30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[4]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[5]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Undead: { Halberd special = new Halberd(); special.Name = "Soul Reaver"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); if (onlyonedrop == 0) { cont.DropItem(new BoneContainer(Utility.RandomMinMax(0, 2))); //new bone container 3 differnt types 0-2 } int stone = Utility.RandomMinMax(0, 3); // get random gravestone type to drop if (onlyonedrop == 1) { if (stone == 0) { cont.DropItem(new GraveStone1()); } if (stone == 1) { cont.DropItem(new GraveStone2()); } if (stone == 2) { cont.DropItem(new GraveStone3()); } if (stone == 3) { cont.DropItem(new GraveStone4()); } } for (int i = 0; i < level * 5; ++i) { cont.DropItem(new Moonstone()); //drop moonstones } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[6]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[7]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Pirate: { Bow special = new Bow(); special.Name = "Bow of the Buccaneer"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); PirateHat hat = new PirateHat(); hat.Hue = 0x1; int oars = Utility.RandomMinMax(0, 1); //2 oar types if (onlyonedrop == 0) { if (oars == 0) { cont.DropItem(new Oars1()); } if (oars == 1) { cont.DropItem(new Oars2()); } } if (onlyonedrop == 1) { cont.DropItem(new GenieBottle(false)); //lamp currently disabled genie not done } if (Utility.RandomDouble() <= 0.50) { cont.DropItem(hat); // 50% chance at black piratehat } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[8]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[9]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Dragon: { WarFork special = new WarFork(); special.Name = "Claw of the Dragon"; cont.DropItem(Loot.ImbueWeaponOrArmor(special, 6, 0, true)); int onlyonedrop = Utility.RandomMinMax(0, 1); //new dragonhead trophydeed type if (onlyonedrop == 0) { cont.DropItem(new TrophyDeed(8757, 8756, "a dragon head trophy", "a dragon head trophy", 10)); } int armor = Utility.RandomMinMax(0, 2); // drop 1 piece of dragonarmor if (onlyonedrop == 1) { if (armor == 0) { cont.DropItem(new HangingDragonChest()); } if (armor == 1) { cont.DropItem(new HangingDragonLegs()); } if (armor == 2) { cont.DropItem(new HangingDragonArms()); } } if (Utility.RandomDouble() <= 0.30) //30% chance to drop a statue { int whichone = Utility.RandomMinMax(0, 1); if (whichone == 0) { mx = new MonsterStatuette(m_Monster[10]); } if (whichone == 1) { mx = new MonsterStatuette(m_Monster[11]); } mx.LootType = LootType.Regular; // not blessed cont.DropItem(mx); // drop it baby! } break; } case ChestThemeType.Lizardmen: { if (Utility.RandomBool()) { cont.DropItem(new LizardmansStaff()); } else { cont.DropItem(new LizardmansMace()); } } break; case ChestThemeType.Ettin: { cont.DropItem(new EttinHammer()); } break; case ChestThemeType.Ogre: { cont.DropItem(new OgresClub()); } break; case ChestThemeType.Ophidian: { cont.DropItem(new OphidianBardiche()); } break; case ChestThemeType.Skeleton: { switch (Utility.Random(3)) { case 0: cont.DropItem(new SkeletonScimitar()); break; case 1: cont.DropItem(new SkeletonAxe()); break; case 2: cont.DropItem(new BoneMageStaff()); break; } } break; case ChestThemeType.Ratmen: { if (Utility.RandomBool()) { cont.DropItem(new RatmanSword()); } else { cont.DropItem(new RatmanAxe()); } } break; case ChestThemeType.Orc: { switch (Utility.Random(3)) { case 0: cont.DropItem(new OrcClub()); break; case 1: cont.DropItem(new OrcMageStaff()); break; case 2: cont.DropItem(new OrcLordBattleaxe()); break; } } break; case ChestThemeType.Terathan: { switch (Utility.Random(3)) { case 0: cont.DropItem(new TerathanStaff()); break; case 1: cont.DropItem(new TerathanSpear()); break; case 2: cont.DropItem(new TerathanMace()); break; } } break; case ChestThemeType.FrostTroll: { switch (Utility.Random(3)) { case 0: cont.DropItem(new FrostTrollClub()); break; case 1: cont.DropItem(new TrollAxe()); break; case 2: cont.DropItem(new TrollMaul()); break; } } break; } //end switch }