diff options
author | Peter Kohaut | 2019-05-05 23:04:44 +0200 |
---|---|---|
committer | Peter Kohaut | 2019-05-05 23:04:44 +0200 |
commit | 4a2d7269f43bcdd09d2ad42833243f9b1afd2462 (patch) | |
tree | 4af2faa12e431bec368f2d4112be70ffdb4ed389 | |
parent | d8ba527cf0c2613bdcdd5869ecc70e626888b82e (diff) | |
download | scummvm-rg350-4a2d7269f43bcdd09d2ad42833243f9b1afd2462.tar.gz scummvm-rg350-4a2d7269f43bcdd09d2ad42833243f9b1afd2462.tar.bz2 scummvm-rg350-4a2d7269f43bcdd09d2ad42833243f9b1afd2462.zip |
BLADERUNNER: Remove police officers from MA07
They are causing issues with Gaff dialogue if they are in the same scene
at the same time.
-rw-r--r-- | engines/bladerunner/script/ai/officer_grayford.cpp | 8 | ||||
-rw-r--r-- | engines/bladerunner/script/ai/officer_leary.cpp | 12 |
2 files changed, 18 insertions, 2 deletions
diff --git a/engines/bladerunner/script/ai/officer_grayford.cpp b/engines/bladerunner/script/ai/officer_grayford.cpp index 15f7044ba9..7f502cd6db 100644 --- a/engines/bladerunner/script/ai/officer_grayford.cpp +++ b/engines/bladerunner/script/ai/officer_grayford.cpp @@ -654,6 +654,10 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb Actor_Set_Goal_Number(kActorOfficerGrayford, 305); return true; +#if BLADERUNNER_ORIGINAL_BUGS + // Gaff is waiting at MA07 and he will trigger a non-interactive dialogue with McCoy. + // When the police officer is there as well he will kill McCoy because player cannot control him. + case 7: AI_Movement_Track_Append(kActorOfficerGrayford, 394, 15); AI_Movement_Track_Append(kActorOfficerGrayford, 395, 0); @@ -666,6 +670,10 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb AI_Movement_Track_Repeat(kActorOfficerGrayford); Actor_Set_Goal_Number(kActorOfficerGrayford, 305); return true; +#else + case 7: + // fall through +#endif case 8: switch (Random_Query(1, 7)) { diff --git a/engines/bladerunner/script/ai/officer_leary.cpp b/engines/bladerunner/script/ai/officer_leary.cpp index a4ece9fece..8d2bd3b9c5 100644 --- a/engines/bladerunner/script/ai/officer_leary.cpp +++ b/engines/bladerunner/script/ai/officer_leary.cpp @@ -419,6 +419,10 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber) AI_Movement_Track_Append(kActorOfficerLeary, 387, 15); AI_Movement_Track_Repeat(kActorOfficerLeary); break; +#if BLADERUNNER_ORIGINAL_BUGS + // Gaff is waiting at MA07 and he will trigger a non-interactive dialogue with McCoy. + // When the police officer is there as well he will kill McCoy because player cannot control him. + case 7: AI_Movement_Track_Append(kActorOfficerLeary, 394, 15); AI_Movement_Track_Append(kActorOfficerLeary, 395, 0); @@ -430,6 +434,10 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber) AI_Movement_Track_Append(kActorOfficerLeary, 35, 30); AI_Movement_Track_Repeat(kActorOfficerLeary); break; +#else + case 7: + // fall through +#endif case 8: switch (Random_Query(1, 7)) { case 1: @@ -486,7 +494,7 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber) default: return false; } - // fall through + // fall through, a bug in original game? case 9: if (Random_Query(1, 2) - 1 == 1) { AI_Movement_Track_Append(kActorOfficerLeary, 433, 10); @@ -503,7 +511,7 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber) AI_Movement_Track_Append(kActorOfficerLeary, 420, 10); AI_Movement_Track_Append(kActorOfficerLeary, 35, 30); AI_Movement_Track_Repeat(kActorOfficerLeary); - // fall through + // fall through, a bug in original game? case 10: AI_Movement_Track_Append(kActorOfficerLeary, 310, 0); AI_Movement_Track_Append(kActorOfficerLeary, 307, 0); |