From 0503893f1cd1f3710e65dd43c236112b62ca1ecc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 10 Mar 2015 20:32:44 -0400 Subject: MADS: Improved fix for giving batteries to Herman --- engines/mads/nebular/globals_nebular.h | 2 +- engines/mads/nebular/nebular_scenes6.cpp | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) (limited to 'engines/mads/nebular') diff --git a/engines/mads/nebular/globals_nebular.h b/engines/mads/nebular/globals_nebular.h index ce671f653d..8d0c26d96d 100644 --- a/engines/mads/nebular/globals_nebular.h +++ b/engines/mads/nebular/globals_nebular.h @@ -150,7 +150,7 @@ enum GlobalId { kConvHermit1 = 130, kConvHermit2 = 131, kHasTalkedToHermit = 132, - kExecuted_1_11 = 133, + kHermitWantsBatteries = 133, kHandsetCellStatus = 134, kBeenInVideoStore = 135, kDurafailRecharged = 136, diff --git a/engines/mads/nebular/nebular_scenes6.cpp b/engines/mads/nebular/nebular_scenes6.cpp index 7887044804..0675ce1c6c 100644 --- a/engines/mads/nebular/nebular_scenes6.cpp +++ b/engines/mads/nebular/nebular_scenes6.cpp @@ -3275,8 +3275,7 @@ void Scene611::handleSubDialog1() { // WORKAROUND: Fix bug in the original where the option to give Hermit batteries // would be given before the player even has any batteries - //if (!_game._objects.isInInventory(OBJ_DURAFAIL_CELLS) && !_game._objects.isInInventory(OBJ_PHONE_CELLS)) - // _globals[kExecuted_1_11] = true; + _globals[kHermitWantsBatteries] = true; setDialogNode(1); break; @@ -3968,14 +3967,11 @@ void Scene611::enter() { _scene->_hotspots.activate(NOUN_HERMIT, false); } - /* WORKAROUND: Pretty sure this is a debugging code fragment that should be ignored - if (_globals[kExecuted_1_11]) { - _dialog1.write(0x294, true); - _dialog1.write(0x292, false); - _globals[kExecuted_1_11] = true; - }*/ - if ((_game._objects.isInInventory(OBJ_DURAFAIL_CELLS)) || (_game._objects.isInInventory(OBJ_PHONE_CELLS))) - _dialog1.write(0x294, true); + // WORKAROUND: Fix original adding 'give batteries' option even if you don't have them + if (_globals[kHermitWantsBatteries]) { + if ((_game._objects.isInInventory(OBJ_DURAFAIL_CELLS)) || (_game._objects.isInInventory(OBJ_PHONE_CELLS))) + _dialog1.write(0x294, true); + } if (_duringDialogFl) { _game._player._playerPos = Common::Point(237, 129); -- cgit v1.2.3