diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java index 7d57d1ce0..511949a75 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java @@ -323,6 +323,11 @@ public class CursedWand { case 2: if (Dungeon.depth > 1 && !Dungeon.bossLevel()) { + //each depth has 1 more weight than the previous depth. + float[] depths = new float[Dungeon.depth-1]; + for (int i = 1; i < Dungeon.depth; i++) depths[i-1] = i; + int depth = 1+Random.chances(depths); + Buff buff = Dungeon.hero.buff(TimekeepersHourglass.timeFreeze.class); if (buff != null) buff.detach(); @@ -330,7 +335,7 @@ public class CursedWand { if (mob instanceof DriedRose.GhostHero) mob.destroy(); InterlevelScene.mode = InterlevelScene.Mode.RETURN; - InterlevelScene.returnDepth = Random.Int(Dungeon.depth-1)+1; + InterlevelScene.returnDepth = depth; InterlevelScene.returnPos = -1; Game.switchScene(InterlevelScene.class); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java index f88df0a90..cffc85cea 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java @@ -55,7 +55,10 @@ public class WarpingTrap extends Trap { if (Dungeon.depth > 1 && !Dungeon.bossLevel()) { - int depth = Random.Int(Dungeon.depth - 1)+1; + //each depth has 1 more weight than the previous depth. + float[] depths = new float[Dungeon.depth-1]; + for (int i = 1; i < Dungeon.depth; i++) depths[i-1] = i; + int depth = 1+Random.chances(depths); Heap heap = Dungeon.level.heaps.get(pos); if (heap != null) {