Skip to content

Commit

Permalink
BLADERUNNER: Remove police officers from MA07
Browse files Browse the repository at this point in the history
They are causing issues with Gaff dialogue if they are in the same scene
at the same time.
  • Loading branch information
peterkohaut committed May 5, 2019
1 parent d8ba527 commit 4a2d726
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
8 changes: 8 additions & 0 deletions engines/bladerunner/script/ai/officer_grayford.cpp
Expand Up @@ -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);
Expand All @@ -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)) {
Expand Down
12 changes: 10 additions & 2 deletions engines/bladerunner/script/ai/officer_leary.cpp
Expand Up @@ -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);
Expand All @@ -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:
Expand Down Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 4a2d726

Please sign in to comment.