From a6838ace3c873c3be58daa7b42c54226b79a9271 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 11 Feb 2021 13:48:06 -0500 Subject: [PATCH] v0.9.2: fixed evil eye's drops not working correctly --- .../shatteredpixeldungeon/actors/mobs/Eye.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java index 98315b61d..b20c645c5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java @@ -38,6 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.EyeSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.watabou.utils.Bundle; +import com.watabou.utils.PathFinder; import com.watabou.utils.Random; public class Eye extends Mob { @@ -205,12 +206,17 @@ public class Eye extends Mob { Item loot; switch(Random.Int(4)){ case 0: case 1: default: - loot = new Dewdrop().quantity(2); + loot = new Dewdrop(); + int ofs; + do { + ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; + } while (Dungeon.level.solid[pos + ofs] && !Dungeon.level.passable[pos + ofs]); + Dungeon.level.drop( new Dewdrop(), pos + ofs ).sprite.drop( pos ); break; - case 3: + case 2: loot = Generator.random(Generator.Category.SEED); break; - case 4: + case 3: loot = Generator.random(Generator.Category.STONE); break; }