aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene/ug13.cpp
diff options
context:
space:
mode:
authorThanasis Antoniou2019-05-04 17:24:20 +0300
committerThanasis Antoniou2019-05-04 17:25:34 +0300
commitd666eb154a027b34302a34d090abbda2cf69ce58 (patch)
tree0db83225c2be71eed8bead048aa81e20367f0b9f /engines/bladerunner/script/scene/ug13.cpp
parent7d2777e1d7f1abef54272ffb4287e26738a8a554 (diff)
downloadscummvm-rg350-d666eb154a027b34302a34d090abbda2cf69ce58.tar.gz
scummvm-rg350-d666eb154a027b34302a34d090abbda2cf69ce58.tar.bz2
scummvm-rg350-d666eb154a027b34302a34d090abbda2cf69ce58.zip
BLADERUNNER: Fix rats re-spawn and UG09, UG13 bad paths
UG09 bad path allowed McCoy to teleport to the pipe top left. UG13, when elevator was up McCoy could walk in the empty chute
Diffstat (limited to 'engines/bladerunner/script/scene/ug13.cpp')
-rw-r--r--engines/bladerunner/script/scene/ug13.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp
index f2e43c88e3..ee1d364e4a 100644
--- a/engines/bladerunner/script/scene/ug13.cpp
+++ b/engines/bladerunner/script/scene/ug13.cpp
@@ -82,9 +82,18 @@ void SceneScriptUG13::SceneLoaded() {
Unobstacle_Object("BOX FOR ARCHWAY 02", true);
Unobstacle_Object("STAIR_RAIL", true);
Unobstacle_Object("DISC_LEFT", true);
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ if (Game_Flag_Query(kFlagUG08ElevatorUp)) {
+ Obstacle_Object("ELEVBLOCK", true);
+ } else {
+ Unobstacle_Object("ELEVBLOCK", true);
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
Clickable_Object("BASKET");
Clickable_Object("BOLLARD");
Unclickable_Object("BASKET");
+
if ( Global_Variable_Query(kVariableChapter) >= 3
&& !Actor_Clue_Query(kActorMcCoy, kClueOriginalRequisitionForm)
&& Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
@@ -115,12 +124,20 @@ bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) {
Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false);
Game_Flag_Reset(kFlagUG08ElevatorUp);
Game_Flag_Set(kFlagUG13CallElevator);
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Unobstacle_Object("ELEVBLOCK", true);
+#endif // BLADERUNNER_ORIGINAL_BUGS
return true;
} else {
Scene_Loop_Set_Default(4);
Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false);
Game_Flag_Set(kFlagUG08ElevatorUp);
Scene_Exit_Remove(0);
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Obstacle_Object("ELEVBLOCK", true);
+#endif // BLADERUNNER_ORIGINAL_BUGS
return true;
}
}