diff options
author | athrxx | 2012-04-28 23:48:31 +0200 |
---|---|---|
committer | athrxx | 2012-05-06 12:42:08 +0200 |
commit | e7ba09be63a556236bd19c5e89faa524289aced9 (patch) | |
tree | e229c4cbd12f1b23662596c995d6ca9a660759a4 | |
parent | 89ea3e016f8fa35dc220535f5ba5c62b74f11ff6 (diff) | |
download | scummvm-rg350-e7ba09be63a556236bd19c5e89faa524289aced9.tar.gz scummvm-rg350-e7ba09be63a556236bd19c5e89faa524289aced9.tar.bz2 scummvm-rg350-e7ba09be63a556236bd19c5e89faa524289aced9.zip |
KYRA: fix bug No. VI. from http://forums.scummvm.org/viewtopic.php?t=11487
(Vaelan's Cube should be able to remove illusionary walls)
-rw-r--r-- | engines/kyra/lol.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index d7ec965312..d3028c5e2d 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -2894,11 +2894,11 @@ int LoLEngine::processMagicVaelansCube() { uint8 s = _levelBlockProperties[bl].walls[_currentDirection ^ 2]; uint8 flg = _wllWallFlags[s]; - int v = (s == 47 && (_currentLevel == 17 || _currentLevel == 24)) ? 1 : 0; - if ((_wllVmpMap[s] == 1 || _wllVmpMap[s] == 2) && (flg & 1) && (_currentLevel == 22)) { + int res = (s == 47 && (_currentLevel == 17 || _currentLevel == 24)) ? 1 : 0; + if ((_wllVmpMap[s] == 1 || _wllVmpMap[s] == 2) && (!(flg & 1)) && (_currentLevel != 22)) { memset(_levelBlockProperties[bl].walls, 0, 4); gui_drawScene(0); - v = 1; + res = 1; } uint16 o = _levelBlockProperties[bl].assignedObjects; @@ -2906,7 +2906,7 @@ int LoLEngine::processMagicVaelansCube() { LoLMonster *m = &_monsters[o & 0x7fff]; if (m->properties->flags & 0x1000) { inflictDamage(o, 100, 0xffff, 0, 0x80); - v = 1; + res = 1; } o = m->nextAssignedObject; } @@ -2922,7 +2922,7 @@ int LoLEngine::processMagicVaelansCube() { delete[] tmpPal1; delete[] tmpPal2; - return v; + return res; } int LoLEngine::processMagicGuardian(int charNum) { |