diff options
author | Johannes Schickel | 2008-04-27 14:03:51 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-04-27 14:03:51 +0000 |
commit | 77bae0119547c75c8858dcb64525ebd3ba58b9e7 (patch) | |
tree | 7faa5d86c780173a47f08fbe8786057b93cb6db0 /engines | |
parent | 7eef01cec48ac26d406a73a431120e56d919f63b (diff) | |
download | scummvm-rg350-77bae0119547c75c8858dcb64525ebd3ba58b9e7.tar.gz scummvm-rg350-77bae0119547c75c8858dcb64525ebd3ba58b9e7.tar.bz2 scummvm-rg350-77bae0119547c75c8858dcb64525ebd3ba58b9e7.zip |
- Fixed bug in itemInventoryMagic
- Fixed original game bug when creating item 7 (Bent nail-on-a-string), now it should award points when creating it with scene item and also in french version when creating it in inventory
svn-id: r31753
Diffstat (limited to 'engines')
-rw-r--r-- | engines/kyra/items_v3.cpp | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/engines/kyra/items_v3.cpp b/engines/kyra/items_v3.cpp index 489afbbd82..275537705f 100644 --- a/engines/kyra/items_v3.cpp +++ b/engines/kyra/items_v3.cpp @@ -546,6 +546,12 @@ bool KyraEngine_v3::itemListMagic(int handItem, int itemSlot) { if (_lang != 1) updateItemCommand(resItem, 3, 0xFF); + // Unlike the original we give points for when combining with scene items + if (resItem == 7) { + updateScore(35, 100); + delay(60, true); + } + return true; } @@ -577,19 +583,6 @@ bool KyraEngine_v3::itemInventoryMagic(int handItem, int invSlot) { return true; } - if (_mainCharacter.sceneId == 51 && queryGameFlag(0x19B) && !queryGameFlag(0x19C) - && ((item == 63 && handItem == 56) || (item == 56 && handItem == 63))) { - if (queryGameFlag(0x1AC)) { - setGameFlag(0x19C); - setGameFlag(0x1AD); - } else { - setGameFlag(0x1AE); - } - - _timer->setCountdown(12, 1); - _timer->enable(12); - } - for (int i = 0; _itemMagicTable[i] != 0xFF; i += 4) { if (_itemMagicTable[i+0] != handItem || _itemMagicTable[i+1] != item) continue; @@ -611,12 +604,13 @@ bool KyraEngine_v3::itemInventoryMagic(int handItem, int invSlot) { setHandItem(newItem); _screen->showMouse(); - if (_lang != 1) { - if (resItem == 7) { - updateScore(35, 100); - delay(60, true); - } + if (_lang != 1) updateItemCommand(resItem, 3, 0xFF); + + // Unlike the original we give points for every language + if (resItem == 7) { + updateScore(35, 100); + delay(60, true); } return true; |