diff options
Diffstat (limited to 'engines/bladerunner/script/scene')
-rw-r--r-- | engines/bladerunner/script/scene/kp01.cpp | 2 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/kp05.cpp | 8 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/kp06.cpp | 16 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/kp07.cpp | 37 |
4 files changed, 34 insertions, 29 deletions
diff --git a/engines/bladerunner/script/scene/kp01.cpp b/engines/bladerunner/script/scene/kp01.cpp index 52f7bfb258..ab432a30e3 100644 --- a/engines/bladerunner/script/scene/kp01.cpp +++ b/engines/bladerunner/script/scene/kp01.cpp @@ -164,7 +164,7 @@ void SceneScriptKP01::PlayerWalkedIn() { Loop_Actor_Walk_To_XYZ(kActorMcCoy, 211.0f, -12.2f, -146.0f, 0, false, false, 0); if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) - && !Game_Flag_Query(714) + && !Game_Flag_Query(kFlagMcCoyAttackedReplicants) && Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleKP01Wait && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleGone ) { diff --git a/engines/bladerunner/script/scene/kp05.cpp b/engines/bladerunner/script/scene/kp05.cpp index 69de280027..91cfa0752b 100644 --- a/engines/bladerunner/script/scene/kp05.cpp +++ b/engines/bladerunner/script/scene/kp05.cpp @@ -59,7 +59,7 @@ void SceneScriptKP05::SceneLoaded() { if (!Actor_Clue_Query(kActorMcCoy, kCluePowerSource) && Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) ) { - Item_Add_To_World(118, 960, 9, -1095.0f, 0.0f, 770.0f, 256, 24, 24, false, true, false, true); + Item_Add_To_World(kItemPowerSource, 960, kSetKP05_KP06, -1095.0f, 0.0f, 770.0f, 256, 24, 24, false, true, false, true); } } @@ -76,11 +76,11 @@ bool SceneScriptKP05::ClickedOnActor(int actorId) { } bool SceneScriptKP05::ClickedOnItem(int itemId, bool a2) { - if (itemId == 118) { + if (itemId == kItemPowerSource) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1058.0f, 0.0f, 852.0f, 0, true, false, 0)) { - Actor_Face_Item(kActorMcCoy, 118, true); + Actor_Face_Item(kActorMcCoy, kItemPowerSource, true); Actor_Clue_Acquire(kActorMcCoy, kCluePowerSource, true, -1); - Item_Remove_From_World(118); + Item_Remove_From_World(kItemPowerSource); Item_Pickup_Spin_Effect(960, 58, 321); } } diff --git a/engines/bladerunner/script/scene/kp06.cpp b/engines/bladerunner/script/scene/kp06.cpp index 5087e33e44..466b957b3f 100644 --- a/engines/bladerunner/script/scene/kp06.cpp +++ b/engines/bladerunner/script/scene/kp06.cpp @@ -76,7 +76,7 @@ bool SceneScriptKP06::ClickedOn3DObject(const char *objectName, bool a2) { bool SceneScriptKP06::ClickedOnActor(int actorId) { if ( actorId == kActorSadik - && !Game_Flag_Query(714) + && !Game_Flag_Query(kFlagMcCoyAttackedReplicants) ) { if (Actor_Clue_Query(kActorSadik, kCluePowerSource)) { Actor_Face_Actor(kActorMcCoy, kActorSadik, true); @@ -115,9 +115,9 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) { if (Actor_Clue_Query(kActorSadik, kCluePowerSource) || Actor_Query_Goal_Number(kActorSadik) != 416 ) { - if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, 1, false, 0)) { + if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, true, false, 0)) { if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { - if (!Game_Flag_Query(714)) { + if (!Game_Flag_Query(kFlagMcCoyAttackedReplicants)) { Player_Set_Combat_Mode(false); } } else if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleKP06Leave) { @@ -130,11 +130,11 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) { Game_Flag_Set(kFlagKP06toKP07); Set_Enter(kSetKP07, kSceneKP07); } - } else if (Actor_Clue_Query(kActorMcCoy, kCluePowerSource) ) { - Actor_Says(kActorSadik, 280, 3); - Actor_Says(kActorSadik, 290, 3); + } else if (Actor_Clue_Query(kActorMcCoy, kCluePowerSource)) { + Actor_Says(kActorSadik, 280, kAnimationModeTalk); + Actor_Says(kActorSadik, 290, kAnimationModeTalk); Actor_Clue_Acquire(kActorSadik, kCluePowerSource, true, kActorMcCoy); - Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, 0, true, 0); + Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, false, true, 0); Player_Set_Combat_Mode(false); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); @@ -196,7 +196,7 @@ void SceneScriptKP06::PlayerWalkedIn() { Actor_Face_Actor(kActorMcCoy, kActorGaff, true); Actor_Says(kActorMcCoy, 6245, 11); Actor_Says(kActorGaff, 230, 14); - if (Game_Flag_Query(714)) { + if (Game_Flag_Query(kFlagMcCoyAttackedReplicants)) { Actor_Says(kActorMcCoy, 6250, 15); Actor_Says(kActorGaff, 240, 13); Delay(1000); diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp index 4574252015..c087e4fb9d 100644 --- a/engines/bladerunner/script/scene/kp07.cpp +++ b/engines/bladerunner/script/scene/kp07.cpp @@ -85,7 +85,7 @@ void SceneScriptKP07::InitializeScene() { Ambient_Sounds_Add_Looping_Sound(586, 52, 1, 1); Ambient_Sounds_Add_Looping_Sound(109, 38, 1, 1); - if (Game_Flag_Query(582)) { + if (Game_Flag_Query(kFlagKP07BusActive)) { Scene_Loop_Set_Default(2); } else { Scene_Loop_Set_Default(0); @@ -114,20 +114,25 @@ bool SceneScriptKP07::ClickedOn3DObject(const char *objectName, bool a2) { bool SceneScriptKP07::ClickedOnActor(int actorId) { if (actorId == kActorClovis) { - if (Game_Flag_Query(697) || actorId != kActorClovis || Actor_Query_Goal_Number(kActorClovis) == 599 || Actor_Query_Goal_Number(kActorClovis) == 515) { - return false; - } - if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { - Actor_Set_Goal_Number(kActorClovis, 516); - } else { - Music_Play(20, 31, 0, 0, -1, 1, 0); - Actor_Set_Goal_Number(kActorClovis, 514); + if (!Game_Flag_Query(kFlagKP07McCoyPulledGun) + && Actor_Query_Goal_Number(kActorClovis) != kGoalClovisGone + && Actor_Query_Goal_Number(kActorClovis) != kGoalClovisKP07SayFinalWords + ) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { + Actor_Set_Goal_Number(kActorClovis, kGoalClovisKP07FlyAway); + } else { + Music_Play(20, 31, 0, 0, -1, 1, 0); + Actor_Set_Goal_Number(kActorClovis, kGoalClovisKP07TalkToMcCoy); + } + return true; } } else { Actor_Face_Actor(kActorMcCoy, actorId, true); Actor_Says(kActorMcCoy, 8590, 14); + return true; } - return true; + + return false; } bool SceneScriptKP07::ClickedOnItem(int itemId, bool a2) { @@ -159,7 +164,7 @@ void SceneScriptKP07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo void SceneScriptKP07::PlayerWalkedIn() { Loop_Actor_Walk_To_XYZ(kActorMcCoy, 9.0f, -41.88f, -81.0f, 0, 0, false, 0); - if (!Game_Flag_Query(658)) { + if (!Game_Flag_Query(kFlagKP07Entered)) { if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Actor_Face_Actor(kActorMcCoy, kActorClovis, true); Actor_Says(kActorClovis, 1240, 3); @@ -176,7 +181,7 @@ void SceneScriptKP07::PlayerWalkedIn() { Actor_Says(kActorClovis, 160, 3); Actor_Retired_Here(kActorClovis, 72, 60, 0, -1); } - Game_Flag_Set(658); + Game_Flag_Set(kFlagKP07Entered); } } @@ -185,11 +190,11 @@ void SceneScriptKP07::PlayerWalkedOut() { } void SceneScriptKP07::DialogueQueueFlushed(int a1) { - if (Actor_Query_Goal_Number(kActorClovis) == 515) { + if (Actor_Query_Goal_Number(kActorClovis) == kGoalClovisKP07SayFinalWords) { Actor_Set_Targetable(kActorClovis, false); - Actor_Change_Animation_Mode(kActorClovis, 21); - Actor_Retired_Here(kActorClovis, 12, 48, 1, -1); - Actor_Set_Goal_Number(kActorClovis, 599); + Actor_Change_Animation_Mode(kActorClovis, kAnimationModeHit); + Actor_Retired_Here(kActorClovis, 12, 48, true, -1); + Actor_Set_Goal_Number(kActorClovis, kGoalClovisGone); } } |