aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
authorFilippos Karapetis2007-11-09 17:06:22 +0000
committerFilippos Karapetis2007-11-09 17:06:22 +0000
commite375e983ba9d8a29ac20fc948d4e105afd956b8e (patch)
treed84496ec9c59c39f887cef6f96760986e2a0a55b /engines/saga
parentb29486e3de3f757df5a45be91f747587bf6e3293 (diff)
downloadscummvm-rg350-e375e983ba9d8a29ac20fc948d4e105afd956b8e.tar.gz
scummvm-rg350-e375e983ba9d8a29ac20fc948d4e105afd956b8e.tar.bz2
scummvm-rg350-e375e983ba9d8a29ac20fc948d4e105afd956b8e.zip
Added a workaround for a bug in the original game scripts of IHNM with Edna, when the knife is used with her. Fixes bug #1826871 - "IHNM: Edna's got two hearts but loves to be on the hook"
svn-id: r29461
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/script.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp
index 4e778d4db5..642e9dab9b 100644
--- a/engines/saga/script.cpp
+++ b/engines/saga/script.cpp
@@ -493,6 +493,18 @@ void Script::doVerb() {
}
}
+ // WORKAROUND for a bug in the original game scripts of IHNM. Edna's script (actor 8197) is problematic, so
+ // when the knife (object 16385) is used with her, the expected result is not correct. The first time that
+ // the knife is used, Edna's heart is cut out (which is correct). But on subsequent use, the object's script
+ // is buggy, therefore it's possible to talk to a dead Edna by using the knife on her, or to incorrectly get her
+ // heart again, which remove's Gorrister's heart from the inventory. The solution is to disable the "use knife with
+ // Edna" action altogether, because if the player wants to kill Edna, he can do that by talking to her and
+ // choosing "[Cut out Edna's heart]", which works correctly. To disable this action, if the knife is used on Edna, we
+ // change the action here to "use knife with the knife", which yields a better reply ("I'd just dull my knife").
+ // Fixes bug #1826871 - "IHNM: Edna's got two hearts but loves to be on the hook"
+ if (_vm->getGameType() == GType_IHNM && _pendingObject[0] == 16385 && _pendingObject[1] == 8197 && _pendingVerb == 4)
+ _pendingObject[1] = 16385;
+
// WORKAROUND for a bug in the original game scripts of IHNM. Gorrister's heart is not supposed to have a
// "use" phrase attached to it (it's not used anywhere, it's only given), but when "used", an incorrect
// reply is given to the player ("It's too narrow for me to pass", said when Gorrister tries to pick up the