From dded8b5dc4dfd38892cb53ad4fde4db3def853bf Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 10 Feb 2015 13:50:15 -0500 Subject: [PATCH] v0.2.4: tweaked item generation: treasuries spawn a bit more gold, bombs are in armories, and honeypots are in shortages. --- .../shatteredpixeldungeon/items/Gold.java | 2 +- .../levels/painters/ArmoryPainter.java | 11 +++++++---- .../levels/painters/StoragePainter.java | 9 ++++++++- .../levels/painters/TreasuryPainter.java | 2 +- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/Gold.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/Gold.java index 4ff7b57ac..a67012872 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/Gold.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/Gold.java @@ -103,7 +103,7 @@ public class Gold extends Item { @Override public Item random() { - quantity = Random.Int( 20 + Dungeon.depth * 10, 40 + Dungeon.depth * 20 ); + quantity = Random.Int( 30 + Dungeon.depth * 10, 60 + Dungeon.depth * 20 ); return this; } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ArmoryPainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ArmoryPainter.java index 5cd0adbae..c61321839 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ArmoryPainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ArmoryPainter.java @@ -18,6 +18,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.painters; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; +import com.shatteredpixel.shatteredpixeldungeon.items.Bomb; import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; @@ -63,9 +64,11 @@ public class ArmoryPainter extends Painter { } private static Item prize( Level level ) { - return Generator.random( Random.oneOf( - Generator.Category.ARMOR, - Generator.Category.WEAPON - ) ); + return Random.Int( 6 ) == 0 ? + new Bomb().random() : + Generator.random( Random.oneOf( + Generator.Category.ARMOR, + Generator.Category.WEAPON + ) ); } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/StoragePainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/StoragePainter.java index 00edbb314..ec3916042 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/StoragePainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/StoragePainter.java @@ -18,6 +18,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.painters; import com.shatteredpixel.shatteredpixeldungeon.items.Generator; +import com.shatteredpixel.shatteredpixeldungeon.items.Honeypot; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlame; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; @@ -33,6 +34,8 @@ public class StoragePainter extends Painter { fill( level, room, Terrain.WALL ); fill( level, room, 1, floor ); + + boolean honeyPot = Random.Int( 2 ) == 0; int n = Random.IntRange( 3, 4 ); for (int i=0; i < n; i++) { @@ -40,7 +43,11 @@ public class StoragePainter extends Painter { do { pos = room.random(); } while (level.map[pos] != floor); - level.drop( prize( level ), pos ); + if (honeyPot){ + level.drop( new Honeypot(), pos); + honeyPot = false; + } else + level.drop( prize( level ), pos ); } room.entrance().set( Room.Door.Type.BARRICADE ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java index b2268555c..4578bd849 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java @@ -52,7 +52,7 @@ public class TreasuryPainter extends Painter { do { pos = room.random(); } while (level.map[pos] != Terrain.EMPTY); - level.drop( new Gold( Random.IntRange( 1, 3 ) ), pos ); + level.drop( new Gold( Random.IntRange( 5, 12 ) ), pos ); } }