From 406dce63ac50c6a4cc9fdf57e712f6a81ae6952e Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 24 Nov 2022 14:47:35 -0500 Subject: [PATCH] v2.0.0: fixed very specific cases of Goo particles behaving incorrectly --- .../shatteredpixeldungeon/actors/mobs/Goo.java | 7 ++++--- .../shatteredpixeldungeon/sprites/GooSprite.java | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java index b359aa846..57f600919 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java @@ -66,8 +66,8 @@ public class Goo extends Mob { @Override public int damageRoll() { - int min = 1; - int max = (HP*2 <= HT) ? 12 : 8; + int min = 0; + int max = 0; if (pumpedUp > 0) { pumpedUp = 0; if (enemy == Dungeon.hero) { @@ -101,8 +101,9 @@ public class Goo extends Mob { @Override public boolean act() { - if (state != HUNTING){ + if (state != HUNTING && pumpedUp > 0){ pumpedUp = 0; + sprite.idle(); } if (Dungeon.level.water[pos] && HP < HT) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java index dff2cd4ad..9bc9bee96 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java @@ -91,6 +91,10 @@ public class GooSprite extends MobSprite { } else { play(pump); Sample.INSTANCE.play( Assets.Sounds.CHARGEUP, 1f, warnDist == 1 ? 0.8f : 1f ); + if (ch.fieldOfView == null || ch.fieldOfView.length != Dungeon.level.length()){ + ch.fieldOfView = new boolean[Dungeon.level.length()]; + Dungeon.level.updateFieldOfView( ch, ch.fieldOfView ); + } for (int i = 0; i < Dungeon.level.length(); i++){ if (ch.fieldOfView != null && ch.fieldOfView[i] && Dungeon.level.distance(i, ch.pos) <= warnDist