diff --git a/core/src/main/assets/messages/items/items.properties b/core/src/main/assets/messages/items/items.properties index 4849ff648..d1bbcfc28 100644 --- a/core/src/main/assets/messages/items/items.properties +++ b/core/src/main/assets/messages/items/items.properties @@ -1633,6 +1633,7 @@ items.weapon.melee.meleeweapon.ability_no_target=There is no target there. items.weapon.melee.meleeweapon.ability_bad_position=That target can't be reached. items.weapon.melee.meleeweapon.prompt=Select a Target items.weapon.melee.meleeweapon.swap=Swap Weapons +items.weapon.melee.meleeweapon.swap_full=You can't do that with a full inventory. items.weapon.melee.shortsword.name=shortsword items.weapon.melee.shortsword.ability_name=cleave diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java index c4cd4c51d..f8141a988 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java @@ -137,7 +137,7 @@ public abstract class EquipableItem extends Item { onDetach(); Dungeon.quickslot.clearItem(this); updateQuickslot(); - if (collect) Dungeon.level.drop( this, hero.pos ); + if (collect) Dungeon.level.drop( this, hero.pos ).sprite.drop(); } keptThoughLostInvent = wasKept; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java index 7648bfd2d..b195a8af6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java @@ -516,6 +516,11 @@ public class MeleeWeapon extends Weapon { @Override public void doAction() { + if (Dungeon.hero.belongings.secondWep == null && Dungeon.hero.belongings.backpack.items.size() >= Dungeon.hero.belongings.backpack.capacity()){ + GLog.w(Messages.get(MeleeWeapon.class, "swap_full")); + return; + } + KindOfWeapon temp = Dungeon.hero.belongings.weapon; Dungeon.hero.belongings.weapon = Dungeon.hero.belongings.secondWep; Dungeon.hero.belongings.secondWep = temp;