diff options
-rw-r--r-- | engines/bladerunner/script/kia_script.cpp | 4 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/rc01.cpp | 11 |
2 files changed, 12 insertions, 3 deletions
diff --git a/engines/bladerunner/script/kia_script.cpp b/engines/bladerunner/script/kia_script.cpp index f7f97f400a..a6416d24f5 100644 --- a/engines/bladerunner/script/kia_script.cpp +++ b/engines/bladerunner/script/kia_script.cpp @@ -46,7 +46,9 @@ void KIAScript::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int notUsed, int clueId) { KIA_Play_Actor_Dialogue(kActorOfficerLeary, 0); break; case kClueDoorForced1: - if (_vm->_cutContent) { + if (_vm->_cutContent && _vm->_gameVars[kVariableChapter] == 1) { + // unfortunately this line is only available in TLK1 (so only Act 1) + // it will be silent in subsequent Acts KIA_Play_Actor_Dialogue(kActorVoiceOver, 1870); } break; diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp index ee7fe5f957..9bce0be05e 100644 --- a/engines/bladerunner/script/scene/rc01.cpp +++ b/engines/bladerunner/script/scene/rc01.cpp @@ -249,7 +249,10 @@ bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) { if (Object_Query_Click("DOOR LEFT", objectName)) { if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "DOOR LEFT", 48, true, false)) { Actor_Face_Object(kActorMcCoy, "DOOR LEFT", true); - if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) && Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) && Global_Variable_Query(kVariableChapter) > 0) { + if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) + && Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) + && Global_Variable_Query(kVariableChapter) > 0 + ) { #if BLADERUNNER_ORIGINAL_BUGS #else bool officerLearyWasInterrogatingTheCrowd = Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01CrowdInterrogation @@ -270,8 +273,12 @@ bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) { } #if BLADERUNNER_ORIGINAL_BUGS #else - else if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) && !Actor_Clue_Query(kActorMcCoy, kClueDoorForced1) && !Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) && Global_Variable_Query(kVariableChapter) == 1) { + else if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) + && !Actor_Clue_Query(kActorMcCoy, kClueDoorForced1) + && !Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) + && Global_Variable_Query(kVariableChapter) == 1) { if (_vm->_cutContent) { + // keep in mind, this line in only available in Act 1 Actor_Voice_Over(1870, kActorVoiceOver); } else { Actor_Says(kActorMcCoy, 8570, 14); |