v2.1.0: fixed cases where non-levelgen sources were using new decks

This commit is contained in:
Evan Debenham
2023-05-31 21:43:47 -04:00
parent 55d4197844
commit 9dd5a5ae6e
9 changed files with 15 additions and 15 deletions
@@ -82,7 +82,7 @@ public class DM200 extends Mob {
Dungeon.LimitedDrops.DM200_EQUIP.count++; Dungeon.LimitedDrops.DM200_EQUIP.count++;
//uses probability tables for dwarf city //uses probability tables for dwarf city
if (loot == Generator.Category.WEAPON){ if (loot == Generator.Category.WEAPON){
return Generator.randomWeapon(4); return Generator.randomWeapon(4, true);
} else { } else {
return Generator.randomArmor(4); return Generator.randomArmor(4);
} }
@@ -90,7 +90,7 @@ public class Golem extends Mob {
Dungeon.LimitedDrops.GOLEM_EQUIP.count++; Dungeon.LimitedDrops.GOLEM_EQUIP.count++;
//uses probability tables for demon halls //uses probability tables for demon halls
if (loot == Generator.Category.WEAPON){ if (loot == Generator.Category.WEAPON){
return Generator.randomWeapon(5); return Generator.randomWeapon(5, true);
} else { } else {
return Generator.randomArmor(5); return Generator.randomArmor(5);
} }
@@ -294,16 +294,16 @@ public class Mimic extends Mob {
reward = new Gold().random(); reward = new Gold().random();
break; break;
case 1: case 1:
reward = Generator.randomMissile(); reward = Generator.randomMissile(true);
break; break;
case 2: case 2:
reward = Generator.randomArmor(); reward = Generator.randomArmor();
break; break;
case 3: case 3:
reward = Generator.randomWeapon(); reward = Generator.randomWeapon(true);
break; break;
case 4: case 4:
reward = Generator.random(Generator.Category.RING); reward = Generator.randomUsingDefaults(Generator.Category.RING);
break; break;
} }
} while (reward == null || Challenges.isItemBlocked(reward)); } while (reward == null || Challenges.isItemBlocked(reward));
@@ -60,7 +60,7 @@ public class TormentedSpirit extends Wraith {
//50/50 between weapon or armor, always uncursed //50/50 between weapon or armor, always uncursed
Item prize; Item prize;
if (Random.Int(2) == 0){ if (Random.Int(2) == 0){
prize = Generator.randomWeapon(); prize = Generator.randomWeapon(true);
if (((MeleeWeapon)prize).hasCurseEnchant()){ if (((MeleeWeapon)prize).hasCurseEnchant()){
((MeleeWeapon) prize).enchantment = null; ((MeleeWeapon) prize).enchantment = null;
} }
@@ -261,7 +261,7 @@ public class RingOfWealth extends Ring {
int floorset = (Dungeon.depth + level)/5; int floorset = (Dungeon.depth + level)/5;
switch (Random.Int(5)){ switch (Random.Int(5)){
default: case 0: case 1: default: case 0: case 1:
Weapon w = Generator.randomWeapon(floorset); Weapon w = Generator.randomWeapon(floorset, true);
if (!w.hasGoodEnchant() && Random.Int(10) < level) w.enchant(); if (!w.hasGoodEnchant() && Random.Int(10) < level) w.enchant();
else if (w.hasCurseEnchant()) w.enchant(null); else if (w.hasCurseEnchant()) w.enchant(null);
result = w; result = w;
@@ -273,7 +273,7 @@ public class RingOfWealth extends Ring {
result = a; result = a;
break; break;
case 3: case 3:
result = Generator.random(Generator.Category.RING); result = Generator.randomUsingDefaults(Generator.Category.RING);
break; break;
case 4: case 4:
result = Generator.random(Generator.Category.ARTIFACT); result = Generator.random(Generator.Category.ARTIFACT);
@@ -153,7 +153,7 @@ public class ScrollOfTransmutation extends InventoryScroll {
Artifact a = changeArtifact( (Artifact)item ); Artifact a = changeArtifact( (Artifact)item );
if (a == null){ if (a == null){
//if no artifacts are left, generate a random +0 ring with shared ID/curse state //if no artifacts are left, generate a random +0 ring with shared ID/curse state
Item result = Generator.random(Generator.Category.RING); Item result = Generator.randomUsingDefaults(Generator.Category.RING);
result.levelKnown = item.levelKnown; result.levelKnown = item.levelKnown;
result.cursed = item.cursed; result.cursed = item.cursed;
result.cursedKnown = item.cursedKnown; result.cursedKnown = item.cursedKnown;
@@ -175,7 +175,7 @@ public class ScrollOfTransmutation extends InventoryScroll {
} else { } else {
Wand n; Wand n;
do { do {
n = (Wand) Generator.random(Generator.Category.WAND); n = (Wand) Generator.randomUsingDefaults(Generator.Category.WAND);
} while (Challenges.isItemBlocked(n) || n.getClass() == wandClass); } while (Challenges.isItemBlocked(n) || n.getClass() == wandClass);
n.level(0); n.level(0);
n.identify(); n.identify();
@@ -205,7 +205,7 @@ public class ScrollOfTransmutation extends InventoryScroll {
} }
do { do {
n = (Weapon)Generator.random(c); n = (Weapon)Generator.randomUsingDefaults(c);
} while (Challenges.isItemBlocked(n) || n.getClass() == w.getClass()); } while (Challenges.isItemBlocked(n) || n.getClass() == w.getClass());
n.level(0); n.level(0);
@@ -232,7 +232,7 @@ public class ScrollOfTransmutation extends InventoryScroll {
private static Ring changeRing( Ring r ) { private static Ring changeRing( Ring r ) {
Ring n; Ring n;
do { do {
n = (Ring)Generator.random( Generator.Category.RING ); n = (Ring)Generator.randomUsingDefaults( Generator.Category.RING );
} while (Challenges.isItemBlocked(n) || n.getClass() == r.getClass()); } while (Challenges.isItemBlocked(n) || n.getClass() == r.getClass());
n.level(0); n.level(0);
@@ -362,7 +362,7 @@ public class CursedWand {
mimic.alignment = Char.Alignment.ENEMY; mimic.alignment = Char.Alignment.ENEMY;
Item reward; Item reward;
do { do {
reward = Generator.random(Random.oneOf(Generator.Category.WEAPON, Generator.Category.ARMOR, reward = Generator.randomUsingDefaults(Random.oneOf(Generator.Category.WEAPON, Generator.Category.ARMOR,
Generator.Category.RING, Generator.Category.WAND)); Generator.Category.RING, Generator.Category.WAND));
} while (reward.level() < 1); } while (reward.level() < 1);
//play vfx/sfx manually as mimic isn't in the scene yet //play vfx/sfx manually as mimic isn't in the scene yet
@@ -46,7 +46,7 @@ public class SecretArtilleryRoom extends SecretRoom {
if( i == 0 ){ if( i == 0 ){
level.drop(new Bomb.DoubleBomb(), itemPos); level.drop(new Bomb.DoubleBomb(), itemPos);
} else { } else {
level.drop(Generator.randomMissile(), itemPos); level.drop(Generator.randomMissile(true), itemPos);
} }
} }
@@ -97,7 +97,7 @@ public class SecretMazeRoom extends SecretRoom {
//1 floor set higher in probability, never cursed //1 floor set higher in probability, never cursed
do { do {
if (Random.Int(2) == 0) { if (Random.Int(2) == 0) {
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1); prize = Generator.randomWeapon((Dungeon.depth / 5) + 1, true);
} else { } else {
prize = Generator.randomArmor((Dungeon.depth / 5) + 1); prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
} }