aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/items_eob.cpp
diff options
context:
space:
mode:
authorathrxx2011-08-07 03:31:15 +0200
committerJohannes Schickel2011-12-26 16:18:13 +0100
commitfc5b29fdbcf4170436a32da2c1f4b078b1f1f90f (patch)
tree48bb02e631def4d4d1fb95bcc44daa0af449a1b5 /engines/kyra/items_eob.cpp
parentbac0caeb0ff712fe9002985c44c1ea651b86e018 (diff)
downloadscummvm-rg350-fc5b29fdbcf4170436a32da2c1f4b078b1f1f90f.tar.gz
scummvm-rg350-fc5b29fdbcf4170436a32da2c1f4b078b1f1f90f.tar.bz2
scummvm-rg350-fc5b29fdbcf4170436a32da2c1f4b078b1f1f90f.zip
KYRA: (EOB) - implemented some spells and fixed more bugs
Diffstat (limited to 'engines/kyra/items_eob.cpp')
-rw-r--r--engines/kyra/items_eob.cpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/engines/kyra/items_eob.cpp b/engines/kyra/items_eob.cpp
index b48c3934c8..e2d28703a8 100644
--- a/engines/kyra/items_eob.cpp
+++ b/engines/kyra/items_eob.cpp
@@ -256,22 +256,19 @@ bool EobCoreEngine::deletePartyItems(int16 itemType, int16 itemValue) {
continue;
EobCharacter *c = &_characters[i];
- int slot = checkInventoryForItem(i, itemType, itemValue);
-
- if (slot == -1)
- continue;
-
- int itm = c->inventory[slot];
- _items[itm].block = -1;
- c->inventory[slot] = 0;
- res = true;
+ for (int slot = checkInventoryForItem(i, itemType, itemValue); slot != -1; slot = checkInventoryForItem(i, itemType, itemValue)) {
+ int itm = c->inventory[slot];
+ _items[itm].block = -1;
+ c->inventory[slot] = 0;
+ res = true;
- if (!_dialogueField) {
- if (_currentControlMode == 0 && slot < 2 && i < 5)
- gui_drawWeaponSlot(i, slot);
+ if (!_dialogueField) {
+ if (_currentControlMode == 0 && slot < 2 && i < 5)
+ gui_drawWeaponSlot(i, slot);
- if (_currentControlMode == 1 && i == _updateCharNum)
- gui_drawInventoryItem(slot, 1, 0);
+ if (_currentControlMode == 1 && i == _updateCharNum)
+ gui_drawInventoryItem(slot, 1, 0);
+ }
}
}
@@ -379,9 +376,9 @@ void EobCoreEngine::printFullItemName(Item item) {
if (v == 0)
tmpString = nameUnid;
else if (v < 0)
- tmpString = Common::String::format(_cursedString[0], v, nameUnid);
+ tmpString = _flags.gameID == GI_EOB1 ? Common::String::format(_cursedString[0], nameUnid, v) : Common::String::format(_cursedString[0], v, nameUnid);
else
- tmpString = Common::String::format(_enchantedString[0], v, nameUnid);
+ tmpString = _flags.gameID == GI_EOB1 ? Common::String::format(_enchantedString[0], nameUnid, v) : Common::String::format(_enchantedString[0], v, nameUnid);
break;
case 9: