From 4cc6a4a299a6ea52785a2ecf2f0c44eb5cb9456b Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 5 May 2025 17:01:16 -0400 Subject: [PATCH] v3.1.0: added gnoll exiles to the bestiary --- .../shatteredpixeldungeon/actors/mobs/GnollExile.java | 7 ++++--- .../shatteredpixeldungeon/journal/Bestiary.java | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/GnollExile.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/GnollExile.java index df43d65ce..50f104c22 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/GnollExile.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/GnollExile.java @@ -51,7 +51,7 @@ public class GnollExile extends Gnoll { defenseSkill = 6; HP = HT = 24; - loot = Generator.randomUsingDefaults(); + loot = null; //see rollToDropLoot lootChance = 1f; } @@ -98,15 +98,16 @@ public class GnollExile extends Gnoll { if (Dungeon.hero.lvl > maxLvl + 2) return; - //in addition to normal drop drop, also drops 1 or 2 random extras + //drops 2 or 3 random items ArrayList items = new ArrayList<>(); items.add(Generator.randomUsingDefaults()); + items.add(Generator.randomUsingDefaults()); if (Random.Int(2) == 0) items.add(Generator.randomUsingDefaults()); for (Item item : items){ int ofs; do { - ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; + ofs = PathFinder.NEIGHBOURS9[Random.Int(9)]; } while (Dungeon.level.solid[pos + ofs] && !Dungeon.level.passable[pos + ofs]); Dungeon.level.drop( item, pos + ofs ).sprite.drop( pos ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Bestiary.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Bestiary.java index 19661f05f..b546f22a1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Bestiary.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Bestiary.java @@ -52,6 +52,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Eye; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.FetidRat; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Ghoul; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Gnoll; +import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.GnollExile; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.GnollGeomancer; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.GnollGuard; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.GnollSapper; @@ -220,7 +221,7 @@ public enum Bestiary { UNIVERSAL.addEntities(Wraith.class, Piranha.class, Mimic.class, GoldenMimic.class, EbonyMimic.class, Statue.class, GuardianTrap.Guardian.class, SentryRoom.Sentry.class); - RARE.addEntities(Albino.class, CausticSlime.class, + RARE.addEntities(Albino.class, GnollExile.class, CausticSlime.class, Bandit.class, SpectralNecromancer.class, ArmoredBrute.class, DM201.class, Elemental.ChaosElemental.class, Senior.class,