aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/ai
diff options
context:
space:
mode:
authorThanasis Antoniou2019-03-26 02:06:33 +0200
committerThanasis Antoniou2019-03-26 02:08:22 +0200
commit805dc466d02344a1368181f3cb852771d64a48a9 (patch)
tree897db2c9fd575c242396916532b5a687d6000c6d /engines/bladerunner/script/ai
parentb3dc3832f7b04ed2c027d7b92deece6244a7f2fd (diff)
downloadscummvm-rg350-805dc466d02344a1368181f3cb852771d64a48a9.tar.gz
scummvm-rg350-805dc466d02344a1368181f3cb852771d64a48a9.tar.bz2
scummvm-rg350-805dc466d02344a1368181f3cb852771d64a48a9.zip
BLADERUNNER: Resolve dead end state with Zuben
McCoy should now always be able to gather enough clues to trigger Zuben throwing the soup (via the VK test question if he does not have the Lucy photo clue).
Diffstat (limited to 'engines/bladerunner/script/ai')
-rw-r--r--engines/bladerunner/script/ai/officer_leary.cpp1
-rw-r--r--engines/bladerunner/script/ai/steele.cpp13
2 files changed, 14 insertions, 0 deletions
diff --git a/engines/bladerunner/script/ai/officer_leary.cpp b/engines/bladerunner/script/ai/officer_leary.cpp
index d1e7eea4d7..c4ddef72ae 100644
--- a/engines/bladerunner/script/ai/officer_leary.cpp
+++ b/engines/bladerunner/script/ai/officer_leary.cpp
@@ -64,6 +64,7 @@ bool AIScriptOfficerLeary::Update() {
&& Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)
&& Game_Flag_Query(kFlagRC01ChromeDebrisTaken)
&& Player_Query_Current_Scene() != kSceneRC01
+ && !Game_Flag_Query(kFlagRC01PoliceDone) // otherwise this clause keeps repeating
&& Global_Variable_Query(kVariableChapter) < 3
) {
Game_Flag_Set(kFlagRC01PoliceDone);
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index f5e9f05ad4..7e29a4f09c 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -390,6 +390,19 @@ void AIScriptSteele::ClickedByPlayer() {
}
void AIScriptSteele::EnteredScene(int sceneId) {
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleGoToRC01) {
+ if (!Actor_Clue_Query(kActorMcCoy, kClueOfficersStatement))
+ {
+// // no random factor here, Steele will definitely get this clue in this case
+ Actor_Clue_Acquire(kActorSteele, kClueOfficersStatement, true, kActorOfficerLeary); // Steele will upload this to the mainframe when she heads to the Police Station
+ Global_Variable_Increment(kVariableMcCoyEvidenceMissed, 1); // unused? but consistent with missing the other clues
+ return; //true;
+ }
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
+
if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleGoToRC02) {
if (!Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)
&& Random_Query(1, 3) == 1