From ef43f245836cf1f7b59c72aa67e733447292c3d3 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 12 Sep 2024 18:35:33 -0400 Subject: [PATCH] v2.5.1: fixed cases where well water landmark entries hinted at secrets --- .../actors/blobs/WellWater.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/WellWater.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/WellWater.java index be6030203..5d28067b6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/WellWater.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/WellWater.java @@ -56,7 +56,6 @@ public abstract class WellWater extends Blob { if (pos == Dungeon.hero.pos && affectHero( Dungeon.hero )) { clear(pos); - if (volume <= 0 && landmark() != null) Notes.remove(landmark()); return true; } else if ((heap = Dungeon.level.heaps.get( pos )) != null) { @@ -79,7 +78,6 @@ public abstract class WellWater extends Blob { heap.sprite.link(); clear(pos); - if (volume <= 0 && landmark() != null) Notes.remove(landmark()); return true; @@ -119,6 +117,21 @@ public abstract class WellWater extends Blob { Level.set( cell, Terrain.EMPTY_WELL ); GameScene.updateMap( cell ); + + if (water.landmark() != null) { + if (water.volume <= 0) { + Notes.remove(water.landmark()); + } else { + boolean removing = true; + for (int i = 0; i < water.cur.length; i++){ + if (water.cur[i] > 0 && Dungeon.level.visited[i]){ + removing = false; + break; + } + } + if (removing) Notes.remove(water.landmark()); + } + } return; }