diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/Artifact.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/Artifact.java index d2107958f..7f323a874 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/Artifact.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/Artifact.java @@ -82,6 +82,10 @@ public class Artifact extends KindofMisc { } public void activate( Char ch ) { + if (passiveBuff != null){ + passiveBuff.detach(); + passiveBuff = null; + } passiveBuff = passiveBuff(); passiveBuff.attachTo(ch); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java index afeb5ddb5..212ead5f1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java @@ -113,6 +113,10 @@ public class Ring extends KindofMisc { } public void activate( Char ch ) { + if (buff != null){ + buff.detach(); + buff = null; + } buff = buff(); buff.attachTo( ch ); } @@ -121,8 +125,10 @@ public class Ring extends KindofMisc { public boolean doUnequip( Hero hero, boolean collect, boolean single ) { if (super.doUnequip( hero, collect, single )) { - hero.remove( buff ); - buff = null; + if (buff != null) { + buff.detach(); + buff = null; + } return true;