diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java index 5610945ca..4f6270d98 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java @@ -22,6 +22,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; +import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.watabou.noosa.audio.Sample; import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; @@ -81,7 +82,7 @@ public class Mimic extends Mob { public void adjustStats( int level ) { this.level = level; - HT = (3 + level) * 4; + HT = (3 + level) * 5; EXP = 2 + 2 * (level - 1) / 5; defenseSkill = attackSkill( null ) / 2; @@ -153,6 +154,18 @@ public class Mimic extends Mob { CellEmitter.get( pos ).burst( Speck.factory( Speck.STAR ), 10 ); Sample.INSTANCE.play( Assets.SND_MIMIC ); } + + //generate an extra reward for killing the mimic + switch(Random.Int(5)){ + case 0: case 1: + m.items.add(new Gold().random()); break; + case 2: + m.items.add(Generator.randomArmor().identify()); break; + case 3: + m.items.add(Generator.randomWeapon().identify()); break; + case 4: + m.items.add(Generator.random(Generator.Category.RING).identify()); break; + } return m; } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RatKingPainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RatKingPainter.java index a3d2bcb68..b5e57fab4 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RatKingPainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RatKingPainter.java @@ -49,14 +49,6 @@ public class RatKingPainter extends Painter { addChest( level, i * Level.WIDTH + room.right - 1, door ); } - while (true) { - Heap chest = level.heaps.get( room.random() ); - if (chest != null) { - chest.type = Heap.Type.MIMIC; - break; - } - } - RatKing king = new RatKing(); king.pos = room.random( 1 ); level.mobs.add( king ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java index 4578bd849..05ac15d59 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/TreasuryPainter.java @@ -43,7 +43,7 @@ public class TreasuryPainter extends Painter { do { pos = room.random(); } while (level.map[pos] != Terrain.EMPTY || level.heaps.get( pos ) != null); - level.drop( new Gold().random(), pos ).type = (i == 0 && heapType == Heap.Type.CHEST ? Heap.Type.MIMIC : heapType); + level.drop( new Gold().random(), pos ).type = (Random.Int(20) == 0 && heapType == Heap.Type.CHEST ? Heap.Type.MIMIC : heapType); } if (heapType == Heap.Type.HEAP) {