diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Degrade.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Degrade.java index 9b232013d..784b5728f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Degrade.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Degrade.java @@ -39,7 +39,7 @@ public class Degrade extends FlavourBuff { @Override public boolean attachTo(Char target) { if (super.attachTo(target)){ - Item.updateQuickslot(); + Item.updateQuickslot(false); if (target instanceof Hero) ((Hero) target).updateHT(false); return true; } @@ -50,7 +50,7 @@ public class Degrade extends FlavourBuff { public void detach() { super.detach(); if (target instanceof Hero) ((Hero) target).updateHT(false); - Item.updateQuickslot(); + Item.updateQuickslot(false); } //called in Item.buffedLevel() diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/ScrollEmpower.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/ScrollEmpower.java index 86ecdecea..894a421f8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/ScrollEmpower.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/ScrollEmpower.java @@ -37,7 +37,7 @@ public class ScrollEmpower extends FlavourBuff { @Override public void detach() { super.detach(); - Item.updateQuickslot(); + Item.updateQuickslot(false); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java index 4c3cc72e9..d089500ed 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java @@ -473,7 +473,11 @@ public class Item implements Bundlable { } public static void updateQuickslot() { - QuickSlotButton.refresh(); + updateQuickslot(true); + } + + public static void updateQuickslot(boolean full) { + QuickSlotButton.refresh(full); } private static final String QUANTITY = "quantity"; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Waterskin.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Waterskin.java index bed28114f..fc568851c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Waterskin.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Waterskin.java @@ -168,7 +168,7 @@ public class Waterskin extends Item { GLog.p( Messages.get(this, "full") ); } - updateQuickslot(); + updateQuickslot(false); } public void fill() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java index 3af33bd4f..769aa0a30 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java @@ -207,7 +207,7 @@ abstract public class ClassArmor extends Armor { LockedFloor lock = target.buff(LockedFloor.class); if (lock == null || lock.regenOn()) { charge += 100 / 500f; //500 turns to full charge - updateQuickslot(); + updateQuickslot(false); if (charge > 100) { charge = 100; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/AlchemistsToolkit.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/AlchemistsToolkit.java index 2f916a221..9571d0d94 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/AlchemistsToolkit.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/AlchemistsToolkit.java @@ -96,7 +96,7 @@ public class AlchemistsToolkit extends Artifact { if (partialCharge >= 1){ partialCharge--; charge++; - updateQuickslot(); + updateQuickslot(false); } } } @@ -126,7 +126,7 @@ public class AlchemistsToolkit extends Artifact { break; } } - updateQuickslot(); + updateQuickslot(false); } @@ -195,7 +195,7 @@ public class AlchemistsToolkit extends Artifact { partialCharge = 0; } - updateQuickslot(); + updateQuickslot(false); } } else partialCharge = 0; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CapeOfThorns.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CapeOfThorns.java index a69a52736..4d0e4666d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CapeOfThorns.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CapeOfThorns.java @@ -53,7 +53,7 @@ public class CapeOfThorns extends Artifact { public void charge(Hero target, float amount) { if (cooldown == 0) { charge += Math.round(4*amount); - updateQuickslot(); + updateQuickslot(false); } if (charge >= chargeCap){ target.buff(Thorns.class).proc(0, null, null); @@ -83,7 +83,7 @@ public class CapeOfThorns extends Artifact { if (cooldown == 0) { GLog.w( Messages.get(this, "inert") ); } - updateQuickslot(); + updateQuickslot(false); } spend(TICK); return true; @@ -116,7 +116,7 @@ public class CapeOfThorns extends Artifact { } } - updateQuickslot(); + updateQuickslot(false); return damage; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CloakOfShadows.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CloakOfShadows.java index 02a0811f2..e9b7d53eb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CloakOfShadows.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/CloakOfShadows.java @@ -169,14 +169,14 @@ public class CloakOfShadows extends Artifact { if (partialCharge >= 1){ partialCharge--; charge++; - updateQuickslot(); + updateQuickslot(false); } } } public void overCharge(int amount){ charge = Math.min(charge+amount, chargeCap+amount); - updateQuickslot(); + updateQuickslot(false); } @Override @@ -239,7 +239,7 @@ public class CloakOfShadows extends Artifact { if (cooldown > 0) cooldown --; - updateQuickslot(); + updateQuickslot(false); spend( TICK ); @@ -325,7 +325,7 @@ public class CloakOfShadows extends Artifact { } turnsToCost = 4; } - updateQuickslot(); + updateQuickslot(false); } spend( TICK ); @@ -334,7 +334,7 @@ public class CloakOfShadows extends Artifact { } public void dispel(){ - updateQuickslot(); + updateQuickslot(false); detach(); } @@ -360,7 +360,7 @@ public class CloakOfShadows extends Artifact { if (target.invisible > 0) target.invisible--; - updateQuickslot(); + updateQuickslot(false); super.detach(); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java index 1e9c0fd79..5365f5620 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java @@ -174,7 +174,7 @@ public class DriedRose extends Artifact { Talent.onArtifactUsed(hero); charge = 0; partialCharge = 0; - updateQuickslot(); + updateQuickslot(false); } else GLog.i( Messages.get(this, "no_space") ); @@ -282,12 +282,12 @@ public class DriedRose extends Artifact { partialCharge = 0; GLog.p(Messages.get(DriedRose.class, "charged")); } - updateQuickslot(); + updateQuickslot(false); } } else { int heal = Math.round((1 + level()/3f)*amount); ghost.HP = Math.min( ghost.HT, ghost.HP + heal); - updateQuickslot(); + updateQuickslot(false); } } @@ -376,7 +376,7 @@ public class DriedRose extends Artifact { LockedFloor lock = target.buff(LockedFloor.class); if (ghost.HP < ghost.HT && (lock == null || lock.regenOn())) { partialCharge += (ghost.HT / 1000f) * RingOfEnergy.artifactChargeMultiplier(target); - updateQuickslot(); + updateQuickslot(false); if (partialCharge > 1) { ghost.HP++; @@ -421,7 +421,7 @@ public class DriedRose extends Artifact { } - updateQuickslot(); + updateQuickslot(false); return true; } @@ -667,7 +667,7 @@ public class DriedRose extends Artifact { super.damage( dmg, src ); //for the rose status indicator - Item.updateQuickslot(); + Item.updateQuickslot(false); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/EtherealChains.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/EtherealChains.java index ef7dc40ed..cdcf41d9f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/EtherealChains.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/EtherealChains.java @@ -171,7 +171,7 @@ public class EtherealChains extends Artifact { } else { charge -= chargeUse; Talent.onArtifactUsed(hero); - updateQuickslot(); + updateQuickslot(false); } hero.busy(); @@ -228,7 +228,7 @@ public class EtherealChains extends Artifact { } else { charge -= chargeUse; Talent.onArtifactUsed(hero); - updateQuickslot(); + updateQuickslot(false); } hero.busy(); @@ -261,7 +261,7 @@ public class EtherealChains extends Artifact { if (partialCharge >= 1){ partialCharge--; charge++; - updateQuickslot(); + updateQuickslot(false); } } } @@ -300,7 +300,7 @@ public class EtherealChains extends Artifact { charge ++; } - updateQuickslot(); + updateQuickslot(false); spend( TICK ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HornOfPlenty.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HornOfPlenty.java index 6e681ad67..1f9924d6d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HornOfPlenty.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HornOfPlenty.java @@ -122,12 +122,13 @@ public class HornOfPlenty extends Artifact { Badges.validateFoodEaten(); + int oldImage = image; if (charge >= 15) image = ItemSpriteSheet.ARTIFACT_HORN4; else if (charge >= 10) image = ItemSpriteSheet.ARTIFACT_HORN3; else if (charge >= 5) image = ItemSpriteSheet.ARTIFACT_HORN2; else image = ItemSpriteSheet.ARTIFACT_HORN1; - updateQuickslot(); + updateQuickslot( image != oldImage ); } } else if (action.equals(AC_STORE)){ @@ -154,12 +155,14 @@ public class HornOfPlenty extends Artifact { GLog.p( Messages.get(HornOfPlenty.class, "full") ); partialCharge = 0; } - + + int oldImage = image; if (charge >= 15) image = ItemSpriteSheet.ARTIFACT_HORN4; else if (charge >= 10) image = ItemSpriteSheet.ARTIFACT_HORN3; else if (charge >= 5) image = ItemSpriteSheet.ARTIFACT_HORN2; - - updateQuickslot(); + else image = ItemSpriteSheet.ARTIFACT_HORN1; + + updateQuickslot( image != oldImage ); } } } @@ -250,17 +253,18 @@ public class HornOfPlenty extends Artifact { charge++; partialCharge -= Hunger.STARVING/10; + int oldImage = image; if (charge >= 15) image = ItemSpriteSheet.ARTIFACT_HORN4; else if (charge >= 10) image = ItemSpriteSheet.ARTIFACT_HORN3; else if (charge >= 5) image = ItemSpriteSheet.ARTIFACT_HORN2; else image = ItemSpriteSheet.ARTIFACT_HORN1; + updateQuickslot( image != oldImage ); + if (charge == chargeCap){ GLog.p( Messages.get(HornOfPlenty.class, "full") ); partialCharge = 0; } - - updateQuickslot(); } } else partialCharge = 0; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/LloydsBeacon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/LloydsBeacon.java index abec3c331..50c581417 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/LloydsBeacon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/LloydsBeacon.java @@ -201,7 +201,7 @@ public class LloydsBeacon extends Artifact { Invisibility.dispel(); charge -= Dungeon.depth > 20 ? 2 : 1; - updateQuickslot(); + updateQuickslot(false); if (Actor.findChar(target) == curUser){ ScrollOfTeleportation.teleportHero(curUser); @@ -330,7 +330,7 @@ public class LloydsBeacon extends Artifact { } } - updateQuickslot(); + updateQuickslot(false); spend( TICK ); return true; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/MasterThievesArmband.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/MasterThievesArmband.java index d47ab2e42..5f332936a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/MasterThievesArmband.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/MasterThievesArmband.java @@ -49,7 +49,7 @@ public class MasterThievesArmband extends Artifact { @Override public void charge(Hero target, float amount) { charge += Math.round(10*amount); - updateQuickslot(); + updateQuickslot(false); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/SandalsOfNature.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/SandalsOfNature.java index be4d757bf..f9f8835ef 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/SandalsOfNature.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/SandalsOfNature.java @@ -93,7 +93,7 @@ public class SandalsOfNature extends Artifact { Camera.main.shake(1, 0.4f); charge = 0; Talent.onArtifactUsed(Dungeon.hero); - updateQuickslot(); + updateQuickslot(false); } } } @@ -185,7 +185,7 @@ public class SandalsOfNature extends Artifact { charge++; partialCharge--; } - updateQuickslot(); + updateQuickslot(false); } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TalismanOfForesight.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TalismanOfForesight.java index ce32f5e35..547529031 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TalismanOfForesight.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TalismanOfForesight.java @@ -197,7 +197,7 @@ public class TalismanOfForesight extends Artifact { upgrade(); GLog.p( Messages.get(TalismanOfForesight.class, "levelup") ); } - updateQuickslot(); + updateQuickslot(false); //5 charge at 2 tiles, up to 30 charge at 25 tiles charge -= 3 + dist*1.08f; @@ -211,7 +211,7 @@ public class TalismanOfForesight extends Artifact { partialCharge--; } Talent.onArtifactUsed(Dungeon.hero); - updateQuickslot(); + updateQuickslot(false); Dungeon.observe(); Dungeon.hero.checkVisibleMobs(); GameScene.updateFog(); @@ -311,7 +311,7 @@ public class TalismanOfForesight extends Artifact { if (partialCharge > 1 && charge < chargeCap) { partialCharge--; charge++; - updateQuickslot(); + updateQuickslot(false); } else if (charge >= chargeCap) { partialCharge = 0; GLog.p( Messages.get(TalismanOfForesight.class, "full_charge") ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java index 32379fc86..f7bbc4ad1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java @@ -150,7 +150,7 @@ public class TimekeepersHourglass extends Artifact { if (partialCharge >= 1){ partialCharge--; charge++; - updateQuickslot(); + updateQuickslot(false); } } } @@ -234,7 +234,7 @@ public class TimekeepersHourglass extends Artifact { } else if (cursed && Random.Int(10) == 0) ((Hero) target).spend( TICK ); - updateQuickslot(); + updateQuickslot(false); spend( TICK ); @@ -267,7 +267,7 @@ public class TimekeepersHourglass extends Artifact { target.invisible++; - updateQuickslot(); + updateQuickslot(false); Dungeon.observe(); @@ -318,7 +318,7 @@ public class TimekeepersHourglass extends Artifact { charge --; } - updateQuickslot(); + updateQuickslot(false); if (charge < 0){ charge = 0; @@ -341,7 +341,7 @@ public class TimekeepersHourglass extends Artifact { @Override public void detach(){ - updateQuickslot(); + updateQuickslot(false); super.detach(); activeBuff = null; triggerPresses(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/UnstableSpellbook.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/UnstableSpellbook.java index dff6da662..31a22cac5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/UnstableSpellbook.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/UnstableSpellbook.java @@ -168,7 +168,7 @@ public class UnstableSpellbook extends Artifact { scroll.doRead(); Talent.onArtifactUsed(Dungeon.hero); } - updateQuickslot(); + updateQuickslot(false); } } else if (action.equals( AC_ADD )) { @@ -222,7 +222,7 @@ public class UnstableSpellbook extends Artifact { if (partialCharge >= 1){ partialCharge--; charge++; - updateQuickslot(); + updateQuickslot(false); } } } @@ -297,7 +297,7 @@ public class UnstableSpellbook extends Artifact { } } - updateQuickslot(); + updateQuickslot(false); spend( TICK ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java index 40908cb61..1a6590123 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java @@ -334,7 +334,7 @@ public class Potion extends Item { if (!anonymous) { if (!isKnown()) { handler.know(this); - updateQuickslot(); + updateQuickslot(false); Potion p = Dungeon.hero.belongings.getItem(getClass()); if (p != null) p.setAction(); if (ExoticPotion.regToExo.get(getClass()) != null) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/ExoticPotion.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/ExoticPotion.java index 17c849c4e..1f79ac9fc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/ExoticPotion.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/ExoticPotion.java @@ -98,7 +98,7 @@ public class ExoticPotion extends Potion { public void setKnown() { if (!isKnown()) { handler.know(exoToReg.get(this.getClass())); - updateQuickslot(); + updateQuickslot(false); Potion p = Dungeon.hero.belongings.getItem(getClass()); if (p != null) p.setAction(); p = Dungeon.hero.belongings.getItem(exoToReg.get(this.getClass())); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java index bd2abf14e..7db8394fc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java @@ -162,7 +162,7 @@ public class Pickaxe extends Weapon { protected boolean act() { if (!defender.isAlive()){ bloodStained = true; - updateQuickslot(); + updateQuickslot(true); } Actor.remove(this); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java index 8b378e4c2..e67973da2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java @@ -160,7 +160,7 @@ public abstract class Wand extends Item { if (overcharge) curCharges = Math.min(maxCharges+(int)amt, curCharges+1); else curCharges = Math.min(maxCharges, curCharges+1); partialCharge--; - updateQuickslot(); + updateQuickslot(false); } } @@ -581,7 +581,7 @@ public abstract class Wand extends Item { while (partialCharge >= 1 && curCharges < maxCharges) { partialCharge--; curCharges++; - updateQuickslot(); + updateQuickslot(false); } if (curCharges == maxCharges){ @@ -623,7 +623,7 @@ public abstract class Wand extends Item { partialCharge--; } curCharges = Math.min(curCharges, maxCharges); - updateQuickslot(); + updateQuickslot(false); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java index 63238cddc..530c23241 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java @@ -111,7 +111,7 @@ public class WandOfMagicMissile extends DamageWand { @Override public void detach() { super.detach(); - QuickSlotButton.refresh(); + QuickSlotButton.refresh(false); } public int level(){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java index 88e575590..d49ba655c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java @@ -183,11 +183,7 @@ public class QuickSlotButton extends Button implements WndBag.Listener { public void onSelect( Item item ) { if (item != null) { Dungeon.quickslot.setSlot( slotNum , item ); - for (int i = 0; i < instance.length; i++) { - if (instance[i] != null) { - instance[i].item(select(i)); - } - } + refresh(false); } } @@ -261,9 +257,17 @@ public class QuickSlotButton extends Button implements WndBag.Listener { } public static void refresh() { + refresh(true); + } + + public static void refresh( boolean full ) { for (int i = 0; i < instance.length; i++) { if (instance[i] != null) { - instance[i].slot.updateText(); + if (full) { + instance[i].item(select(i)); + } else { + instance[i].slot.updateText(); + } } } }