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 | |
| 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
| -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; | 
