diff options
author | Thanasis Antoniou | 2019-02-23 21:07:01 +0200 |
---|---|---|
committer | Thanasis Antoniou | 2019-02-23 21:07:01 +0200 |
commit | 28551e8124562440d21c23d2787f0205cd88cc6b (patch) | |
tree | 83f10e4d6e0d2fb62ee39dba9a4c4e99b0b2fe9c /engines | |
parent | 7b303ad94668690a1defb25ea72afc0d5cacb958 (diff) | |
download | scummvm-rg350-28551e8124562440d21c23d2787f0205cd88cc6b.tar.gz scummvm-rg350-28551e8124562440d21c23d2787f0205cd88cc6b.tar.bz2 scummvm-rg350-28551e8124562440d21c23d2787f0205cd88cc6b.zip |
BLADERUNNER: CT01 fixed interaction with Gordo
Also corrected an original code bug for Gordo acquiring clue that McCoy is BladeRunner
Diffstat (limited to 'engines')
-rw-r--r-- | engines/bladerunner/script/scene/ct01.cpp | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp index f43450f6da..8d1ccfa465 100644 --- a/engines/bladerunner/script/scene/ct01.cpp +++ b/engines/bladerunner/script/scene/ct01.cpp @@ -189,32 +189,39 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) { if (actorId == kActorGordo) { if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) { - if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, true, false, 0)) { - Actor_Face_Actor(kActorMcCoy, kActorGordo, true); - if (!Game_Flag_Query(kFlagCT01GordoTalk)) { - Actor_Says(kActorMcCoy, 335, 18); - Actor_Says(kActorGordo, 20, 30); - Game_Flag_Set(kFlagCT01GordoTalk); - Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy); - Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, true, kActorMcCoy); - Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -1); - } else if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) { - Actor_Says(kActorMcCoy, 340, 13); - Actor_Says(kActorMcCoy, 345, 11); - Actor_Says(kActorGordo, 30, 30); - Actor_Says(kActorMcCoy, 350, 13); - Actor_Says(kActorGordo, 40, 30); - Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5); - Player_Loses_Control(); - } else { - Actor_Says(kActorMcCoy, 365, 14); - } - if (Actor_Query_Is_In_Current_Set(kActorZuben)) { - Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2); - } - return true; + if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, true, false, 0)) { + return false; + } + } + Actor_Face_Actor(kActorMcCoy, kActorGordo, true); + if (!Game_Flag_Query(kFlagCT01GordoTalk)) { + Actor_Says(kActorMcCoy, 335, 18); + Actor_Says(kActorGordo, 20, 30); + Game_Flag_Set(kFlagCT01GordoTalk); + Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy); + #if BLADE_RUNNER_ORIGINAL_BUGS + Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, true, kActorMcCoy); + #else + Actor_Clue_Acquire(kActorGordo, kClueMcCoyIsABladeRunner, true, kActorMcCoy); + #endif // BLADE_RUNNER_ORIGINAL_BUGS + Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -1); + } else { + if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) { + Actor_Says(kActorMcCoy, 340, 13); + Actor_Says(kActorMcCoy, 345, 11); + Actor_Says(kActorGordo, 30, 30); + Actor_Says(kActorMcCoy, 350, 13); + Actor_Says(kActorGordo, 40, 30); + Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5); + Player_Loses_Control(); + } else { + Actor_Says(kActorMcCoy, 365, 14); } } + if (Actor_Query_Is_In_Current_Set(kActorZuben)) { + Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2); + } + return true; } return false; |