From e6e70b2042d222b81498fc2cc6be2aa6d7655f39 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 1 Sep 2019 20:12:33 -0700 Subject: XEEN: Don't de-equip armor/acccessories when broken --- engines/xeen/combat.cpp | 3 ++- engines/xeen/item.cpp | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'engines') 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; } } -- cgit v1.2.3