void SceneScriptUG05::PlayerWalkedIn() { if (Game_Flag_Query(663)) { if (Game_Flag_Query(368)) { Music_Stop(2); Actor_Put_In_Set(kActorOfficerGrayford, 78); Actor_Set_At_XYZ(kActorOfficerGrayford, 4.22f, -1.37f, -925.0f, 750); Actor_Set_Goal_Number(kActorOfficerGrayford, 599); Actor_Retired_Here(kActorOfficerGrayford, 70, 36, 1, -1); int v0 = sub_4021B0(); if (v0 == kActorDektora) { Actor_Put_In_Set(kActorDektora, 78); Actor_Set_At_XYZ(kActorDektora, -100.0f, -10.31f, -906.0f, 866); Actor_Force_Stop_Walking(kActorDektora); } else if (v0 == kActorLucy){ Actor_Put_In_Set(kActorLucy, 78); Actor_Set_At_XYZ(kActorLucy, -100.0f, -10.31f, -906.0f, 866); Actor_Force_Stop_Walking(kActorLucy); } } else { if (!Actor_Query_In_Set(kActorOfficerLeary, 78)) { Actor_Put_In_Set(kActorOfficerLeary, 78); Actor_Set_At_XYZ(kActorOfficerLeary, 0.0f, -1.37f, -1400.0f, 768); } if (!Actor_Query_In_Set(kActorOfficerGrayford, 78)) { ADQ_Flush(); ADQ_Add(kActorOfficerGrayford, 280, 3); Actor_Put_In_Set(kActorOfficerGrayford, 78); Actor_Set_At_XYZ(kActorOfficerGrayford, -16.0f, -1.37f, -960.0f, 768); } } } if (Game_Flag_Query(360)) { if (Game_Flag_Query(663) && !Game_Flag_Query(368)) { Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, 1, false, 0); } else { Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, 0); } } if (Game_Flag_Query(663)) { Game_Flag_Query(368); } Game_Flag_Reset(360); }
void ScriptUG05::PlayerWalkedIn() { if (Game_Flag_Query(663)) { if (Game_Flag_Query(368)) { Music_Stop(2); Actor_Put_In_Set(24, 78); Actor_Set_At_XYZ(24, 4.22f, -1.37f, -925.0f, 750); Actor_Set_Goal_Number(24, 599); Actor_Retired_Here(24, 70, 36, 1, -1); int v0 = sub_4021B0(); if (v0 == 3) { Actor_Put_In_Set(3, 78); Actor_Set_At_XYZ(3, -100.0f, -10.31f, -906.0f, 866); Actor_Force_Stop_Walking(3); } else if (v0 == 6) { Actor_Put_In_Set(6, 78); Actor_Set_At_XYZ(6, -100.0f, -10.31f, -906.0f, 866); Actor_Force_Stop_Walking(6); } } else { if (!Actor_Query_In_Set(23, 78)) { Actor_Put_In_Set(23, 78); Actor_Set_At_XYZ(23, 0.0f, -1.37f, -1400.0f, 768); } if (!Actor_Query_In_Set(24, 78)) { ADQ_Flush(); ADQ_Add(24, 280, 3); Actor_Put_In_Set(24, 78); Actor_Set_At_XYZ(24, -16.0f, -1.37f, -960.0f, 768); } } } if (Game_Flag_Query(360)) { if (Game_Flag_Query(663) && !Game_Flag_Query(368)) { Loop_Actor_Walk_To_XYZ(0, -288.35f, 132.77f, -1092.36f, 0, 1, false, 0); } else { Loop_Actor_Travel_Stairs(0, 2, 0, 0); } } if (Game_Flag_Query(663)) { Game_Flag_Query(368); } Game_Flag_Reset(360); }
void SceneScriptUG18::talkWithClovis() { ADQ_Flush(); Actor_Start_Speech_Sample(kActorClovis, 590); Delay(500); Loop_Actor_Walk_To_XYZ(kActorGuzza, 126.79f, 0.0f, -362.17f, 0, false, false, 0); Actor_Face_Heading(kActorGuzza, 729, false); Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaUG18Target); ADQ_Add(kActorSadik, 350, 13); ADQ_Add_Pause(1500); ADQ_Add(kActorGuzza, 1150, 58); ADQ_Add(kActorClovis, 600, 13); ADQ_Add_Pause(1000); ADQ_Add(kActorGuzza, 1160, 60); ADQ_Add_Pause(500); ADQ_Add(kActorGuzza, 1170, 59); ADQ_Add(kActorGuzza, 1180, 58); ADQ_Add(kActorClovis, 610, 13); ADQ_Add(kActorGuzza, 1190, 60); ADQ_Add(kActorClovis, 620, 13); ADQ_Add(kActorGuzza, 1200, 59); }
bool ScriptHF01::ClickedOnActor(int actorId) { int v1; if (Global_Variable_Query(45) == 2) { v1 = 3; } else if (Global_Variable_Query(45) == 3) { v1 = 6; } else { v1 = -1; } if (actorId == 22 || actorId == 31) { if (!Loop_Actor_Walk_To_XYZ(0, 504.04f, 8.0f, -242.17f, 12, 1, false, 0)) { ADQ_Flush(); Actor_Face_Actor(0, 31, true); if (Game_Flag_Query(382)) { sub_4026B4(); } else { Actor_Says(0, 1455, 15); Actor_Says(31, 40, 13); Actor_Says(0, 1460, 13); Actor_Says(31, 50, 12); Item_Pickup_Spin_Effect(951, 396, 359); Actor_Face_Heading(31, 271, false); Actor_Says(31, 60, 12); Actor_Says(0, 1465, 15); Actor_Face_Actor(31, 0, true); Actor_Says(31, 70, 13); Actor_Says(0, 1470, 14); Actor_Says(22, 30, 3); Actor_Says(31, 80, 15); Actor_Says(22, 50, 3); Actor_Says(31, 110, 14); Game_Flag_Set(382); } return true; } return false; } if (actorId == v1) { if (!Loop_Actor_Walk_To_Actor(0, actorId, 28, 1, false)) { if (Actor_Query_Goal_Number(v1) == 599) { Actor_Says(0, 8630, 13); return true; } if (Global_Variable_Query(1) == 5 && (Actor_Clue_Query(0, 139) || Actor_Clue_Query(0, 141)) && !Game_Flag_Query(165) && Actor_Query_Goal_Number(9) != 2 && Game_Flag_Query(653) && !Game_Flag_Query(662)) { Game_Flag_Set(662); Actor_Face_Actor(0, v1, true); Actor_Face_Actor(v1, 0, true); if (v1 == 3) { sub_4032DC(); } else if (v1 == 6) { sub_403484(); } Async_Actor_Walk_To_XYZ(v1, -175.0f, 8.0f, -617.0f, 0, false); Loop_Actor_Walk_To_XYZ(0, -137.0f, 8.0f, -577.0f, 0, 0, false, 1); Game_Flag_Set(312); Set_Enter(41, 38); } } } return false; }
bool SceneScriptHF01::ClickedOnActor(int actorId) { int v1; if (Global_Variable_Query(kVariableAffectionTowards) == 2) { v1 = kActorDektora; } else if (Global_Variable_Query(kVariableAffectionTowards) == 3) { v1 = kActorLucy; } else { v1 = -1; } if (actorId == kActorMia || actorId == kActorMurray) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 504.04f, 8.0f, -242.17f, 12, 1, false, 0)) { ADQ_Flush(); Actor_Face_Actor(kActorMcCoy, kActorMurray, true); if (Game_Flag_Query(382)) { sub_4026B4(); } else { Actor_Says(kActorMcCoy, 1455, 15); Actor_Says(kActorMurray, 40, 13); Actor_Says(kActorMcCoy, 1460, 13); Actor_Says(kActorMurray, 50, 12); Item_Pickup_Spin_Effect(951, 396, 359); Actor_Face_Heading(kActorMurray, 271, false); Actor_Says(kActorMurray, 60, 12); Actor_Says(kActorMcCoy, 1465, 15); Actor_Face_Actor(kActorMurray, kActorMcCoy, true); Actor_Says(kActorMurray, 70, 13); Actor_Says(kActorMcCoy, 1470, 14); Actor_Says(kActorMia, 30, 3); Actor_Says(kActorMurray, 80, 15); Actor_Says(kActorMia, 50, 3); Actor_Says(kActorMurray, 110, 14); Game_Flag_Set(382); } return true; } return false; } if (v1 != -1 && actorId == v1) { if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 28, 1, false)) { if (Actor_Query_Goal_Number(v1) == 599) { Actor_Says(kActorMcCoy, 8630, 13); return true; } if (Global_Variable_Query(kVariableChapter) == 5 && (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1) || Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1)) && !Game_Flag_Query(165) && Actor_Query_Goal_Number(kActorCrazylegs) != 2 && Game_Flag_Query(653) && !Game_Flag_Query(662)) { Game_Flag_Set(662); Actor_Face_Actor(kActorMcCoy, v1, true); Actor_Face_Actor(v1, kActorMcCoy, true); if (v1 == kActorDektora) { sub_4032DC(); } else if (v1 == kActorLucy) { sub_403484(); } Async_Actor_Walk_To_XYZ(v1, -175.0f, 8.0f, -617.0f, 0, false); Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, 8.0f, -577.0f, 0, 0, false, 1); Game_Flag_Set(312); Set_Enter(41, kSceneHF05); } } } return false; }
void SceneScriptRC01::SceneLoaded() { Obstacle_Object("HYDRANT02", true); Obstacle_Object("PARKING METER 04", true); Obstacle_Object("CHEVY PROP", true); Obstacle_Object("PARKING METER 01", true); Obstacle_Object("T-CAN01", true); Obstacle_Object("BARICADE01", true); Obstacle_Object("BARICADE02", true); Obstacle_Object("DOOR LEFT", true); Unobstacle_Object("BOX06", true); Clickable_Object("DOORWAY01"); Clickable_Object("DOOR LEFT"); Clickable_Object("HYDRANT02"); Clickable_Object("T-CAN01"); Clickable_Object("BARICADE01"); Clickable_Object("70_1"); Clickable_Object("70_2"); Clickable_Object("70_3"); Clickable_Object("70_5"); Clickable_Object("70_6"); Unclickable_Object("BARICADE02"); Unclickable_Object("BARICADE05"); Unclickable_Object("SPINNER BODY"); Unclickable_Object("HORSE01"); Unclickable_Object("DOORWAY01"); Unobstacle_Object("DOORWAY01", true); if (Game_Flag_Query(kFlagRC01PoliceDone)) { Unclickable_Object("70_1"); Unclickable_Object("70_2"); Unclickable_Object("70_3"); Unclickable_Object("70_5"); Unclickable_Object("70_6"); Unclickable_Object("BARICADE01"); Unclickable_Object("BARICADE03"); Unclickable_Object("BARICADE04"); Unobstacle_Object("70_1", true); Unobstacle_Object("70_2", true); Unobstacle_Object("70_3", true); Unobstacle_Object("70_5", true); Unobstacle_Object("70_6", true); Unobstacle_Object("BARICADE01", true); Unobstacle_Object("BARICADE02", true); Unobstacle_Object("BARICADE03", true); Unobstacle_Object("BARICADE04", true); Unobstacle_Object("BARICADE05", true); } if (!Game_Flag_Query(kFlagRC01PoliceDone)) { Preload(13); Preload(14); Preload(19); Preload(582); Preload(589); } if (!Game_Flag_Query(kFlagRC01ChromeDebrisTaken)) { Item_Add_To_World(kItemChromeDebris, 938, kSetRC01, -148.60f, -0.30f, 225.15f, 256, 24, 24, false, true, false, true); } if (!Game_Flag_Query(kFlagIntroPlayed)) { ADQ_Flush(); Actor_Voice_Over(1830, kActorVoiceOver); Actor_Voice_Over(1850, kActorVoiceOver); if (!Game_Flag_Query(kFlagDirectorsCut)) { Actor_Voice_Over(1860, kActorVoiceOver); I_Sez("MG: Is David Leary a self-respecting human or is he powered by rechargeable"); I_Sez("batteries?\n"); } Game_Flag_Set(kFlagIntroPlayed); } }
bool ScriptAR02::ClickedOnActor(int actorId) { if (actorId == 16) { if (!Loop_Actor_Walk_To_XYZ(0, -386.96f, 0.0f, -1078.45f, 12, 1, false, 0)) { Actor_Face_Actor(0, 16, true); Actor_Face_Actor(16, 0, true); if (Global_Variable_Query(1) == 2) { if (Game_Flag_Query(329) && !Game_Flag_Query(366)) { Game_Flag_Set(366); Player_Loses_Control(); ADQ_Flush(); ADQ_Add(16, 210, 14); Loop_Actor_Walk_To_XYZ(0, -350.66f, 0.0f, -1117.19f, 0, 0, false, 0); Actor_Face_Actor(0, 16,true); Actor_Says(0, 110, 18); Actor_Says(16, 230, 14); Actor_Says(0, 115, 18); Actor_Says(16, 240, 14); Item_Pickup_Spin_Effect(956, 288, 257); Actor_Says(16, 250, 14); Player_Gains_Control(); sub_402AE0(); } else if (Game_Flag_Query(329)) { Actor_Says(0, 75, 18); Actor_Says(16, 60, 12); Actor_Says(16, 70, 14); } else { sub_402694(); } } else if (Global_Variable_Query(1) > 2) { if (Actor_Clue_Query(0, 56) && !Actor_Clue_Query(0, 90)) { Actor_Says(0, 205, 16); Actor_Says(16, 290, 12); Actor_Says(16, 300, 13); Actor_Says(0, 210, 15); Actor_Says(16, 310, 12); Actor_Says(0, 215, 13); if (Game_Flag_Query(374)) { Actor_Says(0, 220, 14); Actor_Says(16, 320, 12); Actor_Says(0, 225, 13); Actor_Says(16, 330, 14); Actor_Says(0, 230, 19); Actor_Says(16, 340, 13); Actor_Says(16, 350, 12); Actor_Says(0, 235, 16); Actor_Clue_Acquire(0, 79, 0, 16); } Actor_Clue_Acquire(0, 90, 0, 16); } else { Actor_Says(0, 240, 17); Actor_Says(16, 360, 13); Actor_Says(16, 370, 14); Actor_Says(0, 245, 13); } } return true; } } if (actorId == 20 && Global_Variable_Query(1) == 2) { if (!Loop_Actor_Walk_To_XYZ(0, -240.79f, 0.0f, -1328.89f, 12, 1, false, 0)) { Actor_Face_Actor(0, 20, true); Actor_Face_Actor(20, 0, true); if (Game_Flag_Query(330)) { sub_402CE4(); return false; } Actor_Says(20, 0, 14); Actor_Says(0, 140, 18); Game_Flag_Set(330); return true; } } return false; }
void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { if (actorId == kActorGuzza) { switch (newGoal) { case kGoalGuzzaUG18HitByMcCoy: Game_Flag_Set(kFlagMcCoyRetiredHuman); ADQ_Flush(); Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 7); Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 10); Player_Loses_Control(); Actor_Face_Actor(kActorGuzza, kActorMcCoy, true); ADQ_Add(kActorGuzza, 1220, 58); Scene_Exits_Enable(); Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaUG18ShotByMcCoy); break; case kGoalGuzzaUG18MissedByMcCoy: ADQ_Flush(); Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 7); Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 10); Player_Loses_Control(); Actor_Face_Actor(kActorGuzza, kActorMcCoy, true); ADQ_Add(kActorGuzza, 1220, 58); Scene_Exits_Enable(); Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaUG18ShootMcCoy); break; } return; } if (actorId == kActorSadik) { switch (newGoal) { case kGoalSadikUG18Decide: if (Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy) > 55 && Game_Flag_Query(kFlagMcCoyRetiredHuman) ) { Actor_Says(kActorClovis, 660, 13); Actor_Says(kActorMcCoy, 5995, 13); Actor_Says(kActorClovis, 670, 13); Actor_Says(kActorMcCoy, 6000, 13); Actor_Says_With_Pause(kActorClovis, 680, 2.0f, 13); Actor_Says(kActorClovis, 690, 13); Actor_Says(kActorClovis, 700, 13); Actor_Set_Goal_Number(kActorSadik, kGoalSadikUG18Leave); Actor_Set_Goal_Number(kActorClovis, kGoalClovisUG18Leave); } else { Actor_Set_Goal_Number(kActorSadik, kGoalSadikUG18PrepareShootMcCoy); Actor_Set_Goal_Number(kActorClovis, kGoalClovisUG18Leave); } break; // goals 303, 304 and 305 are never set, cut out part of game? case 304: Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, -3); ADQ_Add(kActorSadik, 380, -1); Actor_Set_Goal_Number(kActorSadik, kGoalSadikUG18WillShootMcCoy); break; case 305: Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatAttack); Sound_Play(12, 100, 0, 0, 50); Actor_Force_Stop_Walking(kActorMcCoy); Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie); Player_Loses_Control(); Actor_Retired_Here(kActorMcCoy, 6, 6, true, kActorSadik); break; } } }