From 96f840932cd0d51503119a1ffdf04032632acd7b Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 28 Mar 2023 16:52:46 -0400 Subject: [PATCH] v2.0.1: improved noisemaker's not being collectable after trigger --- .../items/bombs/Noisemaker.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Noisemaker.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Noisemaker.java index 2b7c1f942..a2d5d4884 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Noisemaker.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Noisemaker.java @@ -58,16 +58,23 @@ public class Noisemaker extends Bomb { @Override public ItemSprite.Glowing glowing() { - if (Dungeon.hero.buff(Trigger.class) != null){ - return new ItemSprite.Glowing( 0xFF0000, 0.6f); + if (fuse == null){ + for (Trigger trigger : Dungeon.hero.buffs(Trigger.class)){ + Heap heap = Dungeon.level.heaps.get(trigger.cell); + if (heap != null && heap.items.contains(this)) { + return new ItemSprite.Glowing( 0xFF0000, 0.6f); + } + } } return super.glowing(); } @Override public boolean doPickUp(Hero hero, int pos) { - if (fuse == null && hero.buff(Trigger.class) != null){ - return false; + if (fuse == null){ + for (Trigger trigger : hero.buffs(Trigger.class)){ + if (trigger.cell == pos) return false; + } } return super.doPickUp(hero, pos); }