v2.0.0: fixed errors when transmuting secondary weapon
This commit is contained in:
@@ -138,7 +138,7 @@ abstract public class KindOfWeapon extends EquipableItem {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean equipSecondary( Hero hero ){
|
||||
public boolean equipSecondary( Hero hero ){
|
||||
detachAll( hero.belongings.backpack );
|
||||
|
||||
if (hero.belongings.secondWep == null || hero.belongings.secondWep.doUnequip( hero, true )) {
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Transmuting;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.EquipableItem;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.KindOfWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.AlchemicalCatalyst;
|
||||
@@ -89,8 +90,13 @@ public class ScrollOfTransmutation extends InventoryScroll {
|
||||
int slot = Dungeon.quickslot.getSlot(item);
|
||||
if (item.isEquipped(Dungeon.hero)) {
|
||||
item.cursed = false; //to allow it to be unequipped
|
||||
((EquipableItem) item).doUnequip(Dungeon.hero, false);
|
||||
((EquipableItem) result).doEquip(Dungeon.hero);
|
||||
if (item instanceof KindOfWeapon && Dungeon.hero.belongings.secondWep() == item){
|
||||
((EquipableItem) item).doUnequip(Dungeon.hero, false);
|
||||
((KindOfWeapon) result).equipSecondary(Dungeon.hero);
|
||||
} else {
|
||||
((EquipableItem) item).doUnequip(Dungeon.hero, false);
|
||||
((EquipableItem) result).doEquip(Dungeon.hero);
|
||||
}
|
||||
Dungeon.hero.spend(-Dungeon.hero.cooldown()); //cancel equip/unequip time
|
||||
} else {
|
||||
item.detach(Dungeon.hero.belongings.backpack);
|
||||
|
||||
Reference in New Issue
Block a user