v2.2.0: reduced the forbidden runes challenge's impact on levelgen

This commit is contained in:
Evan Debenham
2023-10-11 15:36:15 -04:00
parent b9b512a418
commit 59b6065a9a
2 changed files with 19 additions and 9 deletions

View File

@@ -167,6 +167,14 @@ public class Dungeon {
}
}
//pre-v2.2.0 saves
if (Dungeon.version < 750
&& Dungeon.isChallenged(Challenges.NO_SCROLLS)
&& UPGRADE_SCROLLS.count > 0){
//we now count SOU fully, and just don't drop every 2nd one
UPGRADE_SCROLLS.count += UPGRADE_SCROLLS.count-1;
}
}
}
@@ -519,12 +527,8 @@ public class Dungeon {
public static boolean souNeeded() {
int souLeftThisSet;
//3 SOU each floor set, 1.5 (rounded) on forbidden runes challenge
if (isChallenged(Challenges.NO_SCROLLS)){
souLeftThisSet = Math.round(1.5f - (LimitedDrops.UPGRADE_SCROLLS.count - (depth / 5) * 1.5f));
} else {
souLeftThisSet = 3 - (LimitedDrops.UPGRADE_SCROLLS.count - (depth / 5) * 3);
}
//3 SOU each floor set
souLeftThisSet = 3 - (LimitedDrops.UPGRADE_SCROLLS.count - (depth / 5) * 3);
if (souLeftThisSet <= 0) return false;
int floorThisSet = (depth % 5);

View File

@@ -196,16 +196,22 @@ public abstract class Level implements Bundlable {
addItemToSpawn(Generator.random(Generator.Category.FOOD));
if (Dungeon.posNeeded()) {
addItemToSpawn( new PotionOfStrength() );
Dungeon.LimitedDrops.STRENGTH_POTIONS.count++;
addItemToSpawn( new PotionOfStrength() );
}
if (Dungeon.souNeeded()) {
addItemToSpawn( new ScrollOfUpgrade() );
Dungeon.LimitedDrops.UPGRADE_SCROLLS.count++;
//every 2nd scroll of upgrade is removed with forbidden runes challenge on
//TODO while this does significantly reduce this challenge's levelgen impact, it doesn't quite remove it
//for 0 levelgen impact, we need to do something like give the player all SOU, but nerf them
//or give a random scroll (from a separate RNG) instead of every 2nd SOU
if (!Dungeon.isChallenged(Challenges.NO_SCROLLS) || Dungeon.LimitedDrops.UPGRADE_SCROLLS.count%2 != 0){
addItemToSpawn(new ScrollOfUpgrade());
}
}
if (Dungeon.asNeeded()) {
addItemToSpawn( new Stylus() );
Dungeon.LimitedDrops.ARCANE_STYLI.count++;
addItemToSpawn( new Stylus() );
}
//one scroll of transmutation is guaranteed to spawn somewhere on chapter 2-4
int enchChapter = (int)((Dungeon.seed / 10) % 3) + 1;