diff options
-rw-r--r-- | engines/xeen/combat.cpp | 3 | ||||
-rw-r--r-- | engines/xeen/item.cpp | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp index 1452719c2b..2dca3b0648 100644 --- a/engines/xeen/combat.cpp +++ b/engines/xeen/combat.cpp @@ -385,7 +385,8 @@ void Combat::doCharDamage(Character &c, int charNum, int monsterDataIndex) { XeenItem &weapon = c._weapons[idx]; if (weapon._id < XEEN_SLAYER_SWORD && weapon._id != 0 && weapon._frame != 0) { weapon._state._broken = true; - weapon._frame = 0; + // WORKAROUND: For consistency, we don't de-equip broken items + //weapon._frame = 0; } } sound.playFX(37); diff --git a/engines/xeen/item.cpp b/engines/xeen/item.cpp index a384d615e2..bd08dcd494 100644 --- a/engines/xeen/item.cpp +++ b/engines/xeen/item.cpp @@ -740,14 +740,16 @@ void InventoryItemsGroup::breakAllItems() { for (int idx = 0; idx < INV_ITEMS_TOTAL; ++idx) { if (_owner->_weapons[idx]._id < XEEN_SLAYER_SWORD) { _owner->_weapons[idx]._state._broken = true; - _owner->_weapons[idx]._frame = 0; + // WORKAROUND: For consistency, we don't de-equip broken items + //_owner->_weapons[idx]._frame = 0; } _owner->_armor[idx]._state._broken = true; _owner->_accessories[idx]._state._broken = true; _owner->_misc[idx]._state._broken = true; - _owner->_armor[idx]._frame = 0; - _owner->_accessories[idx]._frame = 0; + // WORKAROUND: For consistency, we don't de-equip broken items + //_owner->_armor[idx]._frame = 0; + //_owner->_accessories[idx]._frame = 0; } } |