aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/bladerunner/script/ai/klein.cpp52
-rw-r--r--engines/bladerunner/script/init_script.cpp6
-rw-r--r--engines/bladerunner/script/scene/ps06.cpp6
-rw-r--r--engines/bladerunner/script/scene/ps07.cpp292
4 files changed, 248 insertions, 108 deletions
diff --git a/engines/bladerunner/script/ai/klein.cpp b/engines/bladerunner/script/ai/klein.cpp
index 66d8801555..943995726a 100644
--- a/engines/bladerunner/script/ai/klein.cpp
+++ b/engines/bladerunner/script/ai/klein.cpp
@@ -53,25 +53,27 @@ bool AIScriptKlein::Update() {
// The following if-clauses and flags circumvent the manual's explicit instruction that McCoy should upload his clues
// on the Mainframe, so that Dino Klein can acquire them.
- if (Actor_Clue_Query(kActorMcCoy, kClueOfficersStatement)
- && !Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
- ) {
- Game_Flag_Set(kFlagMcCoyHasOfficersStatement);
- }
- if (Actor_Clue_Query(kActorMcCoy, kCluePaintTransfer)
- && !Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
- ) {
- Game_Flag_Set(kFlagMcCoyHasPaintTransfer);
- }
- if (Actor_Clue_Query(kActorMcCoy, kClueShellCasings)
- && !Game_Flag_Query(kFlagMcCoyHasShellCasings)
- ) {
- Game_Flag_Set(kFlagMcCoyHasShellCasings);
- }
- if (Actor_Clue_Query(kActorMcCoy, kClueChromeDebris)
- && !Game_Flag_Query(kFlagMcCoyHasChromeDebris)
- ) {
- Game_Flag_Set(kFlagMcCoyHasChromeDebris);
+ if (!_vm->_cutContent) {
+ if (Actor_Clue_Query(kActorMcCoy, kClueOfficersStatement)
+ && !Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
+ ) {
+ Game_Flag_Set(kFlagMcCoyHasOfficersStatement);
+ }
+ if (Actor_Clue_Query(kActorMcCoy, kCluePaintTransfer)
+ && !Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
+ ) {
+ Game_Flag_Set(kFlagMcCoyHasPaintTransfer);
+ }
+ if (Actor_Clue_Query(kActorMcCoy, kClueShellCasings)
+ && !Game_Flag_Query(kFlagMcCoyHasShellCasings)
+ ) {
+ Game_Flag_Set(kFlagMcCoyHasShellCasings);
+ }
+ if (Actor_Clue_Query(kActorMcCoy, kClueChromeDebris)
+ && !Game_Flag_Query(kFlagMcCoyHasChromeDebris)
+ ) {
+ Game_Flag_Set(kFlagMcCoyHasChromeDebris);
+ }
}
// The following deals with the case that Klein gets annoyed by McCoy and how he recovers from that
@@ -79,6 +81,7 @@ bool AIScriptKlein::Update() {
&& Actor_Query_Friendliness_To_Other(kActorKlein, kActorMcCoy) < 35
&& !Game_Flag_Query(kFlagPS07KleinInsulted)
) {
+ // kActorTimerAIScriptCustomTask2 causes the "Klein is annoyed dialogue" to occur after 5 seconds
AI_Countdown_Timer_Reset(kActorKlein, kActorTimerAIScriptCustomTask2);
AI_Countdown_Timer_Start(kActorKlein, kActorTimerAIScriptCustomTask2, 5);
Game_Flag_Set(kFlagPS07KleinInsulted);
@@ -219,17 +222,22 @@ bool AIScriptKlein::GoalChanged(int currentGoalNumber, int newGoalNumber) {
break;
case kGoalKleinIsAnnoyedByMcCoyInit:
AI_Movement_Track_Flush(kActorKlein);
- AI_Movement_Track_Append(kActorKlein, 32, 5); // kSetPS07
+ AI_Movement_Track_Append(kActorKlein, 32, 5); // kSetPS07 (hidden spot)
AI_Movement_Track_Repeat(kActorKlein);
break;
case kGoalKleinIsAnnoyedByMcCoy01:
AI_Movement_Track_Flush(kActorKlein);
- AI_Movement_Track_Append(kActorKlein, 35, 60); // kSetFreeSlotC
+ if (_vm->_cutContent) {
+ AI_Movement_Track_Append(kActorKlein, 35, Random_Query(8, 18)); // kSetFreeSlotC
+ } else {
+ // this never really gets triggered in the original game
+ AI_Movement_Track_Append(kActorKlein, 35, 60); // kSetFreeSlotC
+ }
AI_Movement_Track_Repeat(kActorKlein);
break;
case kGoalKleinIsAnnoyedByMcCoy02:
AI_Movement_Track_Flush(kActorKlein);
- AI_Movement_Track_Append(kActorKlein, 32, 5); // kSetPS07
+ AI_Movement_Track_Append(kActorKlein, 32, 5); // kSetPS07 (hidden spot)
AI_Movement_Track_Repeat(kActorKlein);
break;
case kGoalKleinIsAnnoyedByMcCoyFinal:
diff --git a/engines/bladerunner/script/init_script.cpp b/engines/bladerunner/script/init_script.cpp
index c62466acfc..3856f908ed 100644
--- a/engines/bladerunner/script/init_script.cpp
+++ b/engines/bladerunner/script/init_script.cpp
@@ -1138,6 +1138,12 @@ void InitScript::Init_Clues2() {
Actor_Clue_Add_To_Database(kActorKlein, kClueHollowayInterview, 65, false, false, -1);
Actor_Clue_Add_To_Database(kActorKlein, kClueRunciterConfession1, 65, false, false, -1);
Actor_Clue_Add_To_Database(kActorKlein, kClueRunciterConfession2, 65, false, false, -1);
+ if (_vm->_cutContent) {
+ Actor_Clue_Add_To_Database(kActorKlein, kClueShellCasings, 65, false, false, -1);
+ Actor_Clue_Add_To_Database(kActorKlein, kClueChromeDebris, 65, false, false, -1);
+ Actor_Clue_Add_To_Database(kActorKlein, kClueOfficersStatement, 65, false, false, -1);
+ Actor_Clue_Add_To_Database(kActorKlein, kCluePaintTransfer, 65, false, false, -1);
+ }
Actor_Clue_Add_To_Database(kActorMurray, kClueMcCoyShotZubenInTheBack, 55, false, false, -1);
Actor_Clue_Add_To_Database(kActorMurray, kClueMcCoyIsAnnoying, 55, false, false, -1);
Actor_Clue_Add_To_Database(kActorMurray, kClueMcCoyIsKind, 70, false, false, -1);
diff --git a/engines/bladerunner/script/scene/ps06.cpp b/engines/bladerunner/script/scene/ps06.cpp
index bf9a82cace..1b2477a201 100644
--- a/engines/bladerunner/script/scene/ps06.cpp
+++ b/engines/bladerunner/script/scene/ps06.cpp
@@ -83,12 +83,18 @@ bool SceneScriptPS06::ClickedOn3DObject(const char *objectName, bool a2) {
}
Actor_Clues_Transfer_New_To_Mainframe(kActorMcCoy);
Actor_Clues_Transfer_New_From_Mainframe(kActorMcCoy);
+ if (_vm->_cutContent) {
+ Actor_Clues_Transfer_New_From_Mainframe(kActorKlein);
+ }
return true;
} else {
bool transferedClues = Actor_Clues_Transfer_New_To_Mainframe(kActorMcCoy);
if (_vm->_cutContent && !transferedClues) {
Actor_Says(kActorAnsweringMachine, 370, kAnimationModeTalk); // no clues transfered
} else {
+ if (_vm->_cutContent) {
+ Actor_Clues_Transfer_New_From_Mainframe(kActorKlein);
+ }
Ambient_Sounds_Play_Sound(kSfxDATALOAD, 50, 0, 0, 99);
Delay(2000);
}
diff --git a/engines/bladerunner/script/scene/ps07.cpp b/engines/bladerunner/script/scene/ps07.cpp
index 718254584e..5971a586a9 100644
--- a/engines/bladerunner/script/scene/ps07.cpp
+++ b/engines/bladerunner/script/scene/ps07.cpp
@@ -49,7 +49,7 @@ void SceneScriptPS07::SceneLoaded() {
Unobstacle_Object("L.MOUSE", true);
Unobstacle_Object("L.MOUSE2", true);
Clickable_Object("L.MOUSE");
- Clickable_Object("L.MOUSE2");
+ Unclickable_Object("L.MOUSE2"); // TODO: we may not use this one (restored content version)
}
}
@@ -58,10 +58,11 @@ bool SceneScriptPS07::MouseClick(int x, int y) {
}
bool SceneScriptPS07::ClickedOn3DObject(const char *objectName, bool a2) {
- if (Object_Query_Click("L.MOUSE", objectName)) { // a bug? Which object is this?
+ if (Object_Query_Click("L.MOUSE", objectName)) { // this object is restored in the scene (buzzer button)
Sound_Play(kSfxLABBUZZ1, 70, 0, 0, 50);
if (Actor_Query_Goal_Number(kActorKlein) < kGoalKleinIsAnnoyedByMcCoyInit
- && Actor_Query_Goal_Number(kActorKlein) > kGoalKleinDefault) {
+ && Actor_Query_Goal_Number(kActorKlein) > kGoalKleinDefault
+ ) {
Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
Actor_Set_Goal_Number(kActorKlein, kGoalKleinGotoLabSpeaker);
Actor_Modify_Friendliness_To_Other(kActorKlein, kActorMcCoy, -3);
@@ -73,101 +74,220 @@ bool SceneScriptPS07::ClickedOn3DObject(const char *objectName, bool a2) {
bool SceneScriptPS07::ClickedOnActor(int actorId) {
if (actorId == kActorKlein) {
- Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
- Actor_Set_Goal_Number(kActorKlein, kGoalKleinGotoLabSpeaker);
+ if (_vm->_cutContent) {
+ if (Actor_Query_Goal_Number(kActorKlein) >= kGoalKleinIsAnnoyedByMcCoyInit
+ || (Actor_Query_Goal_Number(kActorKlein) < kGoalKleinIsAnnoyedByMcCoyInit
+ && Actor_Query_Friendliness_To_Other(kActorKlein, kActorMcCoy) < 40)
+ ) {
+ // Dino ignores McCoy
+ return true;
+ } else {
+ Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinGotoLabSpeaker);
+ if (!Game_Flag_Query(kFlagPS07KleinTalkClues)) {
+ Actor_Says(kActorMcCoy, 4115, 13);
+ }
- if (!Game_Flag_Query(kFlagPS07KleinTalkClues)) {
- Actor_Says(kActorMcCoy, 4115, 13);
- }
+ if (!Game_Flag_Query(kFlagPS07KleinTalkClues)
+ && (Actor_Clue_Query(kActorKlein, kClueShellCasings)
+ || Actor_Clue_Query(kActorKlein, kClueOfficersStatement)
+ || Actor_Clue_Query(kActorKlein, kCluePaintTransfer)
+ || Actor_Clue_Query(kActorKlein, kClueChromeDebris))
+ ) {
+ Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
+ Actor_Says(kActorKlein, 30, 12);
+ Game_Flag_Set(kFlagPS07KleinTalkClues);
+ } else {
+ if (Game_Flag_Query(kFlagPS07KleinTalkClues)) {
+ Actor_Says(kActorMcCoy, 4130, 18);
+ }
+ }
+ if (Actor_Clue_Query(kActorKlein, kClueShellCasings)
+ && !Game_Flag_Query(kFlagPS07KleinTalkShellCasings)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkShellCasings);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, false, kActorKlein);
+ Actor_Says(kActorKlein, 50, 16);
+ Actor_Says(kActorMcCoy, 4135, 13);
+ Actor_Says(kActorKlein, 60, 15);
+ Actor_Says(kActorKlein, 70, 12);
+ Actor_Says(kActorMcCoy, 4140, 18);
+ Actor_Says(kActorKlein, 80, 14);
+ Actor_Says(kActorKlein, 90, 14);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
- if (!Game_Flag_Query(kFlagPS07KleinTalkClues)
- && (Game_Flag_Query(kFlagMcCoyHasShellCasings)
- || Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
- || Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
- || Game_Flag_Query(kFlagMcCoyHasChromeDebris))
- ) {
- Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
- Actor_Says(kActorKlein, 30, 12);
- Game_Flag_Set(kFlagPS07KleinTalkClues);
+ if (Actor_Clue_Query(kActorKlein, kClueOfficersStatement)
+ && !Game_Flag_Query(kFlagPS07KleinTalkOfficersStatement)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkOfficersStatement);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, false, kActorKlein);
+ Actor_Says(kActorKlein, 100, 13);
+ Actor_Says(kActorMcCoy, 4145, 13);
+ Actor_Says(kActorKlein, 110, 12);
+ Actor_Says(kActorMcCoy, 4150, 13);
+ Actor_Says(kActorKlein, 120, 14);
+ Actor_Says(kActorMcCoy, 4155, 17);
+ Actor_Says(kActorKlein, 130, 15);
+ Actor_Says(kActorMcCoy, 4160, 13);
+ Actor_Says(kActorKlein, 140, 16);
+ Actor_Says(kActorMcCoy, 4165, 18);
+ Actor_Says(kActorKlein, 160, 13);
+ Actor_Says(kActorMcCoy, 4170, 19);
+ Actor_Says(kActorMcCoy, 4175, 19);
+ Actor_Modify_Friendliness_To_Other(kActorKlein, kActorMcCoy, 3);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
+
+ if (Actor_Clue_Query(kActorKlein, kCluePaintTransfer)
+ && !Game_Flag_Query(kFlagPS07KleinTalkPaintTransfer)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkPaintTransfer);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, false, kActorKlein);
+ Actor_Says(kActorKlein, 170, 14);
+ Actor_Says(kActorMcCoy, 4180, 13);
+ Actor_Says(kActorKlein, 180, 12);
+ Actor_Says(kActorKlein, 190, 13);
+ Actor_Says(kActorKlein, 200, 16);
+ Actor_Says(kActorMcCoy, 4185, 18);
+ Actor_Says(kActorKlein, 210, 12);
+ Actor_Modify_Friendliness_To_Other(kActorKlein, kActorMcCoy, -12);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
+
+ if (Actor_Clue_Query(kActorKlein, kClueChromeDebris)
+ && !Game_Flag_Query(kFlagPS07KleinTalkChromeDebris)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkChromeDebris);
+ Actor_Says(kActorKlein, 220, 12);
+ Actor_Says(kActorMcCoy, 4190, 13);
+ Actor_Says(kActorKlein, 230, 14);
+ if (_vm->_cutContent) {
+ Actor_Says(kActorMcCoy, 4195, 13);
+ Actor_Says(kActorKlein, 240, 16); // Car VIN
+ }
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
+
+ switch (Random_Query(1, 4)) {
+ case 1:
+ Actor_Says(kActorKlein, 0, 13);
+ break;
+ case 2:
+ Actor_Says(kActorKlein, 40, 13);
+ break;
+ case 3:
+ Actor_Says(kActorKlein, 270, 13);
+ break;
+ case 4:
+ Actor_Says(kActorKlein, 280, 13);
+ break;
+ }
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
} else {
- if (Game_Flag_Query(kFlagPS07KleinTalkClues)) {
- Actor_Says(kActorMcCoy, 4130, 18);
+ Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinGotoLabSpeaker);
+
+ if (!Game_Flag_Query(kFlagPS07KleinTalkClues)) {
+ Actor_Says(kActorMcCoy, 4115, 13);
}
- }
- if (Game_Flag_Query(kFlagMcCoyHasShellCasings)
- && !Game_Flag_Query(kFlagPS07KleinTalkShellCasings)
- ) {
- Game_Flag_Set(kFlagPS07KleinTalkShellCasings);
- Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, false, kActorKlein);
- Actor_Says(kActorKlein, 50, 16);
- Actor_Says(kActorMcCoy, 4135, 13);
- Actor_Says(kActorKlein, 60, 15);
- Actor_Says(kActorKlein, 70, 12);
- Actor_Says(kActorMcCoy, 4140, 18);
- Actor_Says(kActorKlein, 80, 14);
- Actor_Says(kActorKlein, 90, 14);
- Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
- return true;
- }
+ if (!Game_Flag_Query(kFlagPS07KleinTalkClues)
+ && (Game_Flag_Query(kFlagMcCoyHasShellCasings)
+ || Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
+ || Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
+ || Game_Flag_Query(kFlagMcCoyHasChromeDebris))
+ ) {
+ Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
+ Actor_Says(kActorKlein, 30, 12);
+ Game_Flag_Set(kFlagPS07KleinTalkClues);
+ } else {
+ if (Game_Flag_Query(kFlagPS07KleinTalkClues)) {
+ Actor_Says(kActorMcCoy, 4130, 18);
+ }
+ }
- if (Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
- && !Game_Flag_Query(kFlagPS07KleinTalkOfficersStatement)
- ) {
- Game_Flag_Set(kFlagPS07KleinTalkOfficersStatement);
- Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, false, kActorKlein);
- Actor_Says(kActorKlein, 100, 13);
- Actor_Says(kActorMcCoy, 4145, 13);
- Actor_Says(kActorKlein, 110, 12);
- Actor_Says(kActorMcCoy, 4150, 13);
- Actor_Says(kActorKlein, 120, 14);
- Actor_Says(kActorMcCoy, 4155, 17);
- Actor_Says(kActorKlein, 130, 15);
- Actor_Says(kActorMcCoy, 4160, 13);
- Actor_Says(kActorKlein, 140, 16);
- Actor_Says(kActorMcCoy, 4165, 18);
- Actor_Says(kActorKlein, 160, 13);
- Actor_Says(kActorMcCoy, 4170, 19);
- Actor_Says(kActorMcCoy, 4175, 19);
- Actor_Modify_Friendliness_To_Other(kActorKlein, kActorMcCoy, 3);
- Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
- return true;
- }
+ if (Game_Flag_Query(kFlagMcCoyHasShellCasings)
+ && !Game_Flag_Query(kFlagPS07KleinTalkShellCasings)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkShellCasings);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, false, kActorKlein);
+ Actor_Says(kActorKlein, 50, 16);
+ Actor_Says(kActorMcCoy, 4135, 13);
+ Actor_Says(kActorKlein, 60, 15);
+ Actor_Says(kActorKlein, 70, 12);
+ Actor_Says(kActorMcCoy, 4140, 18);
+ Actor_Says(kActorKlein, 80, 14);
+ Actor_Says(kActorKlein, 90, 14);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
- if (Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
- && !Game_Flag_Query(kFlagPS07KleinTalkPaintTransfer)
- ) {
- Game_Flag_Set(kFlagPS07KleinTalkPaintTransfer);
- Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, false, kActorKlein);
- Actor_Says(kActorKlein, 170, 14);
- Actor_Says(kActorMcCoy, 4180, 13);
- Actor_Says(kActorKlein, 180, 12);
- Actor_Says(kActorKlein, 190, 13);
- Actor_Says(kActorKlein, 200, 16);
- Actor_Says(kActorMcCoy, 4185, 18);
- Actor_Says(kActorKlein, 210, 12);
- Actor_Modify_Friendliness_To_Other(kActorKlein, kActorMcCoy, -12);
- Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
- return true;
- }
+ if (Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
+ && !Game_Flag_Query(kFlagPS07KleinTalkOfficersStatement)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkOfficersStatement);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, false, kActorKlein);
+ Actor_Says(kActorKlein, 100, 13);
+ Actor_Says(kActorMcCoy, 4145, 13);
+ Actor_Says(kActorKlein, 110, 12);
+ Actor_Says(kActorMcCoy, 4150, 13);
+ Actor_Says(kActorKlein, 120, 14);
+ Actor_Says(kActorMcCoy, 4155, 17);
+ Actor_Says(kActorKlein, 130, 15);
+ Actor_Says(kActorMcCoy, 4160, 13);
+ Actor_Says(kActorKlein, 140, 16);
+ Actor_Says(kActorMcCoy, 4165, 18);
+ Actor_Says(kActorKlein, 160, 13);
+ Actor_Says(kActorMcCoy, 4170, 19);
+ Actor_Says(kActorMcCoy, 4175, 19);
+ Actor_Modify_Friendliness_To_Other(kActorKlein, kActorMcCoy, 3);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
- if (Game_Flag_Query(kFlagMcCoyHasChromeDebris)
- && !Game_Flag_Query(kFlagPS07KleinTalkChromeDebris)
- ) {
- Game_Flag_Set(kFlagPS07KleinTalkChromeDebris);
- Actor_Says(kActorKlein, 220, 12);
- Actor_Says(kActorMcCoy, 4190, 13);
- Actor_Says(kActorKlein, 230, 14);
- if (_vm->_cutContent) {
- Actor_Says(kActorMcCoy, 4195, 13);
- Actor_Says(kActorKlein, 240, 16); // Car VIN
+ if (Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
+ && !Game_Flag_Query(kFlagPS07KleinTalkPaintTransfer)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkPaintTransfer);
+ Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, false, kActorKlein);
+ Actor_Says(kActorKlein, 170, 14);
+ Actor_Says(kActorMcCoy, 4180, 13);
+ Actor_Says(kActorKlein, 180, 12);
+ Actor_Says(kActorKlein, 190, 13);
+ Actor_Says(kActorKlein, 200, 16);
+ Actor_Says(kActorMcCoy, 4185, 18);
+ Actor_Says(kActorKlein, 210, 12);
+ Actor_Modify_Friendliness_To_Other(kActorKlein, kActorMcCoy, -12);
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
}
+
+ if (Game_Flag_Query(kFlagMcCoyHasChromeDebris)
+ && !Game_Flag_Query(kFlagPS07KleinTalkChromeDebris)
+ ) {
+ Game_Flag_Set(kFlagPS07KleinTalkChromeDebris);
+ Actor_Says(kActorKlein, 220, 12);
+ Actor_Says(kActorMcCoy, 4190, 13);
+ Actor_Says(kActorKlein, 230, 14);
+ if (_vm->_cutContent) { // TODO this can go, if we keep separate cases
+ Actor_Says(kActorMcCoy, 4195, 13);
+ Actor_Says(kActorKlein, 240, 16); // Car VIN
+ }
+ Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
+ return true;
+ }
+ Actor_Says(kActorKlein, 0, 13);
Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
return true;
+
}
- Actor_Says(kActorKlein, 0, 13);
- Actor_Set_Goal_Number(kActorKlein, kGoalKleinMovingInLab01);
- return true;
}
return false;