diff options
Diffstat (limited to 'engines/bladerunner/script/ai/rachael.cpp')
-rw-r--r-- | engines/bladerunner/script/ai/rachael.cpp | 185 |
1 files changed, 96 insertions, 89 deletions
diff --git a/engines/bladerunner/script/ai/rachael.cpp b/engines/bladerunner/script/ai/rachael.cpp index 20a4578ed4..5045769a3b 100644 --- a/engines/bladerunner/script/ai/rachael.cpp +++ b/engines/bladerunner/script/ai/rachael.cpp @@ -57,10 +57,10 @@ void AIScriptRachael::ReceivedClue(int clueId, int fromActorId) { void AIScriptRachael::ClickedByPlayer() { if (Actor_Query_Goal_Number(kActorRachael) == 305) { - Actor_Face_Actor(kActorMcCoy, kActorRachael, 1); - Actor_Says(kActorMcCoy, 2730, 12); - AI_Movement_Track_Pause(57); - dialogue_start(); + Actor_Face_Actor(kActorMcCoy, kActorRachael, true); + Actor_Says(kActorMcCoy, 2730, 12); // "Rachael, right?" + AI_Movement_Track_Pause(kActorRachael); + dialogue_start(); // "I remember you mr McCoy" till "I'm fine, thank you for asking." if (Player_Query_Agenda() == kPlayerAgendaSurly || Player_Query_Agenda() == kPlayerAgendaErratic) { dialogue_agenda2(); @@ -75,7 +75,7 @@ void AIScriptRachael::ClickedByPlayer() { } Actor_Set_Goal_Number(kActorRachael, 306); - AI_Movement_Track_Unpause(57); + AI_Movement_Track_Unpause(kActorRachael); } } @@ -121,12 +121,20 @@ bool AIScriptRachael::GoalChanged(int currentGoalNumber, int newGoalNumber) { break; case 300: + // Presumably Rachael's goal is set to 300 + // a) when Chapter 3 starts if McCoy met Rachael at Tyrell's during Chapter 2 + // OR b) after he has met her at Tyrell's if he makes the appointment during Chapter 3 + // It's unlikely to be connected to random chance + // + // This puts Rachael outside McCoy's building Actor_Put_In_Set(kActorRachael, kSetMA07); Actor_Set_At_XYZ(kActorRachael, -8.09f, -162.8f, 135.33f, 544); break; case 305: + // Rachael's goal is set to 305 when the player walks in the MA07 scene and if her goal is already 300 AI_Movement_Track_Flush(kActorRachael); + // This makes Rachael (who is right outside McCoy's building) head towards the Police Station (left) AI_Movement_Track_Append(kActorRachael, 468, 0); AI_Movement_Track_Append(kActorRachael, 39, 0); AI_Movement_Track_Repeat(kActorRachael); @@ -337,103 +345,102 @@ void AIScriptRachael::FledCombat() { } void AIScriptRachael::dialogue_start() { - Actor_Face_Actor(kActorRachael, kActorMcCoy, 1); - Loop_Actor_Walk_To_Actor(kActorRachael, kActorMcCoy, 84, 0, 0); - Actor_Says(kActorRachael, 0, 15); + Loop_Actor_Walk_To_Actor(kActorRachael, kActorMcCoy, 84, 0, false); + Actor_Says(kActorRachael, 0, 15); // I remember you mr mcCoy Actor_Says(kActorMcCoy, 2740, 13); Actor_Says(kActorRachael, 10, 14); Actor_Says(kActorMcCoy, 2745, 13); - Actor_Says(kActorRachael, 20, 12); - Actor_Says_With_Pause(kActorMcCoy, 2750, 1.5f, 3); - Actor_Says(kActorRachael, 30, 13); - Actor_Says(kActorRachael, 40, 15); + Actor_Says(kActorRachael, 20, 12); // perhaps none of your business + Actor_Says_With_Pause(kActorMcCoy, 2750, 1.5f, 3); // ok I get the picture (also assumed that here goes 2755: are you alright?) + Actor_Says(kActorRachael, 30, 13); // certainly had better days but i'm fine + Actor_Says(kActorRachael, 40, 15); // Thank you for asking } void AIScriptRachael::dialogue_agenda1() { - Actor_Says(kActorMcCoy, 2795, 13); - Actor_Says(kActorRachael, 140, 15); - Actor_Says(kActorMcCoy, 2800, 12); - Actor_Says(kActorRachael, 150, 16); - Actor_Says(kActorMcCoy, 2805, 18); - Actor_Says(kActorRachael, 160, 14); - Actor_Says(kActorRachael, 170, 13); - Actor_Says(kActorMcCoy, 2810, 14); - Actor_Says(kActorRachael, 180, 13); - Actor_Says(kActorMcCoy, 2815, 12); - Actor_Says(kActorMcCoy, 2820, 13); - Actor_Says(kActorRachael, 190, 15); - Actor_Says(kActorMcCoy, 2825, 12); - Actor_Says(kActorRachael, 200, 15); - Actor_Says(kActorMcCoy, 2830, 14); - Actor_Says(kActorRachael, 210, 15); - Actor_Says(kActorRachael, 220, 16); - Actor_Says(kActorMcCoy, 2835, 13); - Actor_Says(kActorRachael, 230, 14); - Actor_Says(kActorMcCoy, 2840, 12); - Actor_Says(kActorRachael, 240, 13); - Actor_Says(kActorRachael, 250, 15); - Actor_Says(kActorRachael, 260, 16); - Actor_Says(kActorMcCoy, 2845, 13); - Actor_Says(kActorRachael, 270, 13); - Actor_Says(kActorRachael, 280, 14); - Actor_Says(kActorMcCoy, 2850, 13); - Actor_Says(kActorRachael, 290, 14); - Actor_Says_With_Pause(kActorRachael, 300, 1.0f, 3); - Actor_Says(kActorMcCoy, 2860, 14); + Actor_Says(kActorMcCoy, 2795, 13); // You are upset + Actor_Says(kActorRachael, 140, 15); // How observant + Actor_Says(kActorMcCoy, 2800, 12); // Whats the matter good listener + Actor_Says(kActorRachael, 150, 16); // ImSureYouAreMrMcCoyDontFeelLike + Actor_Says(kActorMcCoy, 2805, 18); // DidYourUncleSaySomethingToYou + Actor_Says(kActorRachael, 160, 14); // HeCanBeSoCruel + Actor_Says(kActorRachael, 170, 13); // HereIAmPouringMyHeartOut + Actor_Says(kActorMcCoy, 2810, 14); // NotHowILookAtIt + Actor_Says(kActorRachael, 180, 13); // GotToLiveWithYourself + Actor_Says(kActorMcCoy, 2815, 12); // NotSomeKillingMachineRachael + Actor_Says(kActorMcCoy, 2820, 13); // + Actor_Says(kActorRachael, 190, 15); // WhyDontYouQuitThen + Actor_Says(kActorMcCoy, 2825, 12); // SomeoneWouldJustTakeMyPlace + Actor_Says(kActorRachael, 200, 15); // SoMuchForIntegrity + Actor_Says(kActorMcCoy, 2830, 14); // ItsNotThat + Actor_Says(kActorRachael, 210, 15); // ItsTheMoneyThen + Actor_Says(kActorRachael, 220, 16); // ImSoFedUpWithAllOfIt + Actor_Says(kActorMcCoy, 2835, 13); // IveThinkingAboutTheTreatmentOfReps + Actor_Says(kActorRachael, 230, 14); // BravoShouldWeCallThePressConf + Actor_Says(kActorMcCoy, 2840, 12); // MaybeTheyVeGottenARawDeal + Actor_Says(kActorRachael, 240, 13); // ImagineSomebodyEngineeringYourMind + Actor_Says(kActorRachael, 250, 15); // PuttingWhateverThoughtsAndMemories + Actor_Says(kActorRachael, 260, 16); // NothingInThisWorldWouldBelongToyou + Actor_Says(kActorMcCoy, 2845, 13); // No + Actor_Says(kActorRachael, 270, 13); // ThinkAboutItMcCoy + Actor_Says(kActorRachael, 280, 14); // MaybeYouArentSoDifferentFromThoseRepsAfterAll + Actor_Says(kActorMcCoy, 2850, 13); // ISupposeAllRepsInOneWayOrAnother + Actor_Says(kActorRachael, 290, 14); // ThatsRight + Actor_Says_With_Pause(kActorRachael, 300, 1.0f, 3); // GoodbyeMcCoy + (isn't this your floor - missing?) + Actor_Says(kActorMcCoy, 2860, 14); // YouTakeCareOfYourself } void AIScriptRachael::dialogue_agenda2() { - Actor_Says(kActorRachael, 50, 15); - Actor_Says(kActorMcCoy, 2765, 16); - Actor_Says(kActorMcCoy, 2770, 17); - Actor_Says(kActorRachael, 60, 14); - Actor_Says(kActorMcCoy, 2775, 16); - Actor_Says(kActorRachael, 70, 13); - Actor_Says(kActorRachael, 80, 14); - Actor_Says(kActorRachael, 90, 15); - Actor_Says(kActorMcCoy, 2780, 17); - Actor_Says(kActorRachael, 100, 16); - Actor_Says(kActorRachael, 110, 15); - Actor_Says(kActorMcCoy, 2785, 17); - Actor_Says(kActorRachael, 120, 13); - Actor_Says(kActorMcCoy, 2790, 16); - Actor_Says(kActorRachael, 130, 14); - Actor_Says_With_Pause(kActorRachael, 300, 1.0f, 3); - Actor_Says(0, 2860, 14); + Actor_Says(kActorRachael, 50, 15); // I don't think he'd appreciate being called that + Actor_Says(kActorMcCoy, 2765, 16); // Oh i'm sure brilliant man + Actor_Says(kActorMcCoy, 2770, 17); // anyone who could create nexus -6 + Actor_Says(kActorRachael, 60, 14); // keeping people like you employed + Actor_Says(kActorMcCoy, 2775, 16); // IdJustAsSoonNotDoThisJob + Actor_Says(kActorRachael, 70, 13); // do you really expect me to believe that + Actor_Says(kActorRachael, 80, 14); // ISawThatLookInYourEye + Actor_Says(kActorRachael, 90, 15); // LikeNothingButToKillInnocentPeople + Actor_Says(kActorMcCoy, 2780, 17); // ReplicantsArentPeople + Actor_Says(kActorRachael, 100, 16); // CertainlyAreMoreInnocentThanMostPeople + Actor_Says(kActorRachael, 110, 15); // TheyDidntAskToBeBroughtIntoThisWorld + Actor_Says(kActorMcCoy, 2785, 17); // NobodyDoes + Actor_Says(kActorRachael, 120, 13); // ThatsRightAndNobodyHasALicenseTokillHumans + Actor_Says(kActorMcCoy, 2790, 16); // Aha + Actor_Says(kActorRachael, 130, 14); // ButReplicantsHowHumain + Actor_Says_With_Pause(kActorRachael, 300, 1.0f, 3); // GoodbyeMcCoy + (isn't this your floor - missing?) + Actor_Says(kActorMcCoy, 2860, 14); // YouTakeCareOfYourself } // Not used in the game void AIScriptRachael::dialogue_agenda3() { - Actor_Says(kActorMcCoy, 2865, 3); - Actor_Says(kActorRachael, 320, 3); - Actor_Says(kActorRachael, 330, 3); - Actor_Says(kActorMcCoy, 2870, 3); - Actor_Says(kActorRachael, 340, 3); - Actor_Says(kActorMcCoy, 2875, 3); - Actor_Says(kActorRachael, 350, 3); - Actor_Says(kActorMcCoy, 2880, 3); - Actor_Says(kActorMcCoy, 2885, 3); - Actor_Says(kActorRachael, 360, 3); - Actor_Says(kActorRachael, 370, 3); - Actor_Says(kActorMcCoy, 2890, 3); - Actor_Says(kActorRachael, 380, 3); - Actor_Says(kActorRachael, 390, 3); - Actor_Says(kActorRachael, 400, 3); - Actor_Says(kActorMcCoy, 2895, 3); - Actor_Says(kActorRachael, 410, 3); - Actor_Says(kActorMcCoy, 2900, 3); - Actor_Says(kActorRachael, 420, 3); - Actor_Says(kActorMcCoy, 2905, 3); - Actor_Says(kActorRachael, 430, 3); - Actor_Says(kActorRachael, 440, 3); - Actor_Says(kActorMcCoy, 2910, 3); - Actor_Says(kActorMcCoy, 2920, 3); - Actor_Says(kActorRachael, 450, 3); - Actor_Says(kActorMcCoy, 2925, 3); - Actor_Says(kActorMcCoy, 2930, 3); - Actor_Says(kActorRachael, 460, 3); - Actor_Says(kActorMcCoy, 2935, 3); - Actor_Says(kActorRachael, 470, 3); + Actor_Says(kActorMcCoy, 2865, 3); // Lobby + Actor_Says(kActorRachael, 320, 3); // McCoy + Actor_Says(kActorRachael, 330, 3); // RachaelRememberMe + Actor_Says(kActorMcCoy, 2870, 3); // Jesus DontKnowWhatIRememberAnyMore + Actor_Says(kActorRachael, 340, 3); // NowYouLookInTrouble + Actor_Says(kActorMcCoy, 2875, 3); // Saw me here before + Actor_Says(kActorRachael, 350, 3); // YesWhatHappened + Actor_Says(kActorMcCoy, 2880, 3); // Suddenly + Actor_Says(kActorMcCoy, 2885, 3); // MyAnimalMaggiePrizedPosessionDisappeared-Elevator-Rachael + Actor_Says(kActorRachael, 360, 3); // ImSorry + Actor_Says(kActorRachael, 370, 3); // IKnowTheFeeling + Actor_Says(kActorMcCoy, 2890, 3); // You do? + Actor_Says(kActorRachael, 380, 3); // EverythingWeBelieve + Actor_Says(kActorRachael, 390, 3); // WhatIsReality + Actor_Says(kActorRachael, 400, 3); // MaybeAllSomeoneElsesFantasy + Actor_Says(kActorMcCoy, 2895, 3); // That would make us a fantasy + Actor_Says(kActorRachael, 410, 3); // ThatsRightAndInTheBlinkOfAnEyeGoesAway + Actor_Says(kActorMcCoy, 2900, 3); // But just yesterday + Actor_Says(kActorRachael, 420, 3); // YesterdayTwoMonthsAgo + Actor_Says(kActorMcCoy, 2905, 3); // ButIfWeBothRemembered-Elevator-Rachael + Actor_Says(kActorRachael, 430, 3); // CopiesOnlyCopies + Actor_Says(kActorRachael, 440, 3); // OnlyThingWeCanTrustIsNow + Actor_Says(kActorMcCoy, 2910, 3); // NotLosingMyMindEscapedReplicant-Elevator-Rachael + Actor_Says(kActorMcCoy, 2920, 3); // SomeoneSettingMeUpUsingMe-Elevator-Rachael + Actor_Says(kActorRachael, 450, 3); // NothingWrongWithAcceptingWhatYouAre + Actor_Says(kActorMcCoy, 2925, 3); // NotAReplicantGoddamnit-Elevator-Rachael + Actor_Says(kActorMcCoy, 2930, 3); // MaybeYouCanHelpMeYouAreTyrellsNiece-Elevator-Rachael + Actor_Says(kActorRachael, 460, 3); // Why not take that V-K test + Actor_Says(kActorMcCoy, 2935, 3); // YeahGoodIdeaMaybeIllDoThat-Elevator-Rachael + Actor_Says(kActorRachael, 470, 3); // Hope you get the answers looking for McCoy. } } // End of namespace BladeRunner |