BLADERUNNER: RESTOREDCONTENT: Fix McCoy's inner talk if confessed

This commit is contained in:
antoniou79 2023-02-02 15:42:53 +02:00
parent f5b7fec67c
commit a2fd0afadf
3 changed files with 13 additions and 3 deletions

View File

@ -626,7 +626,7 @@ enum Flags {
kFlagSteeleInPoliceStation = 185,
kFlagRC01PoliceDone = 186,
kFlagRC02RunciterTalk1 = 187,
// 188 is never used
kFlagMcCoyConfessedKillingHomelessInCT04 = 188, // Original: 188 is never used
// 189 is never used
kFlagRC02ShellCasingsTaken = 190,
// 191 is never used

View File

@ -108,11 +108,20 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
if (Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)) {
if (Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)) {
// Thrown away (garbage collected) happens in Act 3
// see transient AI.
Actor_Voice_Over(270, kActorVoiceOver);
Actor_Voice_Over(280, kActorVoiceOver);
} else if (Game_Flag_Query(kFlagCT04HomelessBodyFound)) {
Actor_Voice_Over(250, kActorVoiceOver);
Actor_Voice_Over(260, kActorVoiceOver);
if (!_vm->_cutContent
|| !Game_Flag_Query(kFlagMcCoyConfessedKillingHomelessInCT04)) {
// When McCoy confesses in the Restored Content mode,
// the body gets found. So it's gone (but not thrown with the trash).
// Since McCoy has confessed though, he shouldn't say the following quote
// "I'd screwed up and screwed up bad. But maybe there was still a way to make it right.".
Actor_Voice_Over(260, kActorVoiceOver);
}
} else {
Actor_Voice_Over(230, kActorVoiceOver);
Actor_Voice_Over(240, kActorVoiceOver);

View File

@ -350,7 +350,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
&& Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA)
&& !Game_Flag_Query(kFlagPS04GuzzaTalkDumpToMainframe)
) {
// McCoy metions Bryant's "vacation",
// McCoy mentions Bryant's "vacation",
// Guzza says about the procedure via Mainframe
Actor_Says(kActorMcCoy, 3920, 13);
Actor_Says(kActorGuzza, 570, 32);
@ -378,6 +378,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
Actor_Face_Heading(kActorGuzza, 400, false);
Actor_Says(kActorGuzza, 620, 32);
if (_vm->_cutContent) {
Game_Flag_Set(kFlagMcCoyConfessedKillingHomelessInCT04);
// add a fade-out here while Guzza calls-in for favors
Scene_Loop_Start_Special(kSceneLoopModeOnce, kPS04LoopPanToPS04, true);
Scene_Loop_Set_Default(kPS04LoopMainLoop);