void ScriptDR01::SceneFrameAdvanced(int frame) { if (frame < 75) { Actor_Set_Invisible(0, true); } else { Actor_Set_Invisible(0, false); } if (frame == 2) { Ambient_Sounds_Play_Sound(487, 40, -40, 100, 99); } }
void SceneScriptCT12::SceneFrameAdvanced(int frame) { if (!((frame - 1) % 10)) { /*int v2 = Random_Query(0, 1); if (v2 <= 1) { if (v2) { v1 = 60; } else { v1 = 59; } }*/ Sound_Play(/*v1*/Random_Query(59, 60), 10, -80, -80, 50); } if (frame == 160) { Actor_Change_Animation_Mode(kActorGaff, 41); } if (frame == 152) { Sound_Play(116, 100, 40, 0, 50); } if (frame == 203) { Sound_Play(119, 100, 40, 0, 50); } if (frame == 212) { Sound_Play(117, 40, 0, 0, 50); } if (frame == 269) { Player_Gains_Control(); Player_Set_Combat_Mode(false); Actor_Set_Invisible(kActorGaff, false); } }
void ScriptNR08::SceneFrameAdvanced(int frame) { if (!Music_Is_Playing()) { sub_4021B4(); } Set_Fade_Color(0, 0, 0); if (frame >= 76 && frame < 91) { Set_Fade_Density((frame - 76) / 14.0f); Music_Stop(3); Ambient_Sounds_Play_Sound(566, 27, 0, 99, 0); } else if (frame >= 91 && frame < 120) { Actor_Set_Invisible(0, true); Set_Fade_Density(1.0f); } else if (frame >= 120 && frame < 135) { Set_Fade_Density((134 - frame) / 14.0f); Music_Play(7, 61, 0, 1, -1, 0, 0); } else { Actor_Set_Invisible(0, false); Set_Fade_Density(0.0f); } if (Game_Flag_Query(651) && !Game_Flag_Query(636)) { Game_Flag_Set(636); Scene_Exits_Disable(); Scene_Loop_Set_Default(1); Scene_Loop_Start_Special(2, 3, 1); } if (frame == 95) { Actor_Put_In_Set(3, 91); Actor_Set_At_Waypoint(3, 33, 0); Actor_Change_Animation_Mode(3, 0); Actor_Set_Goal_Number(3, 200); Scene_Exit_Add_2D_Exit(1, 0, 309, 30, 398, 3); Scene_Exit_Add_2D_Exit(2, 520, 330, 556, 386, 0); } if (frame == 130) { Scene_Exits_Enable(); } //return false; }
void SceneScriptAR01::PlayerWalkedOut() { Actor_Set_Invisible(kActorMcCoy, false); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); if (!Game_Flag_Query(kFlagMcCoyInHawkersCircle)) { Music_Stop(2); } if (!Game_Flag_Query(kFlagAR01toHC01) && !Game_Flag_Query(kFlagAR01toAR02) ) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Outtake_Play(kOuttakeTowards3, true, -1); } }
void ScriptNR11::PlayerWalkedIn() { if (Actor_Query_Goal_Number(3) == 250) { Player_Set_Combat_Mode(true); if (Game_Flag_Query(47)) { Actor_Set_Goal_Number(1, 210); } } if (Game_Flag_Query(632)) { Game_Flag_Reset(632); Game_Flag_Set(634); Actor_Put_In_Set(3, 99); Actor_Set_At_Waypoint(3, 41, 0); Actor_Set_Invisible(0, false); Player_Set_Combat_Mode(false); Player_Gains_Control(); if (Game_Flag_Query(47)) { if (Actor_Query_Goal_Number(1) == 211) { Actor_Set_At_XYZ(0, -37.41f, 0.33f, -86.0f, 26); Delay(500); Actor_Face_Current_Camera(0, true); Delay(750); Actor_Says(0, 5290, 12); Delay(1000); Actor_Set_Goal_Number(1, 212); Actor_Face_Actor(0, 1, true); } else { Actor_Set_At_XYZ(0, -15.53f, 0.33f, 73.49f, 954); Actor_Modify_Friendliness_To_Other(1, 0, 3); Delay(1500); Actor_Says(0, 3805, 12); Actor_Face_Actor(0, 1, true); Actor_Face_Actor(1, 0, true); Actor_Says_With_Pause(1, 1720, 0.3f, 16); Actor_Says(0, 3810, 16); Actor_Says_With_Pause(1, 1730, 0.2f, 14); Actor_Says(1, 1740, 15); Actor_Set_Goal_Number(3, 599); Actor_Put_In_Set(3, 99); Actor_Set_At_Waypoint(3, 41, 0); Actor_Set_Goal_Number(1, 275); } } else { Actor_Set_Goal_Number(0, 500); } } // return true; }
void SceneScriptAR01::PlayerWalkedOut() { Actor_Set_Invisible(kActorMcCoy, false); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); if (!Game_Flag_Query(kFlagMcCoyInHawkersCircle)) { Music_Stop(2); } if (!Game_Flag_Query(kFlagAR01toHC01) && !Game_Flag_Query(kFlagAR01toAR02) ) { #if BLADERUNNER_ORIGINAL_BUGS Outtake_Play(kOuttakeTowards3, true, -1); #else if (!Game_Flag_Query(kFlagMcCoyInTyrellBuilding)) { // don't play an extra outtake when going to Tyrell Building Outtake_Play(kOuttakeTowards3, true, -1); // Act 1, 2, 3 } #endif // BLADERUNNER_ORIGINAL_BUGS } }
void SceneScriptMA01::PlayerWalkedOut() { Actor_Set_Invisible(kActorMcCoy, false); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); if (!Game_Flag_Query(kFlagMA01toMA06)) { if (Global_Variable_Query(kVariableChapter) == 1) { Outtake_Play(kOuttakeTowards2, true, -1); Outtake_Play(kOuttakeInside1, true, -1); Outtake_Play(kOuttakeTowards1, true, -1); } #if BLADERUNNER_ORIGINAL_BUGS #else else { // Acts 2, 3 - should still use a spinner fly-through transition if (!Game_Flag_Query(kFlagMcCoyInTyrellBuilding)) { // don't play an extra outtake when going to Tyrell Building Outtake_Play(kOuttakeAway1, true, -1); // available in Acts 2, 3 } } #endif // BLADERUNNER_ORIGINAL_BUGS } }
void SceneScriptMA01::InitializeScene() { Setup_Scene_Information(381.0f, 0.0f, 54.0f, 992); if (Game_Flag_Query(kFlagSpinnerAtMA01)) { Setup_Scene_Information( 381.0f, 0.0f, 54.0f, 992); } if (Game_Flag_Query(kFlagMA06toMA01)) { Setup_Scene_Information(1446.0f, 0.0f, -725.0f, 660); } Scene_Exit_Add_2D_Exit(kMA01ExitMA06, 328, 132, 426, 190, 0); if (Game_Flag_Query(kFlagSpinnerAtMA01)) { Scene_Exit_Add_2D_Exit(kMA01ExitSpinner, 234, 240, 398, 328, 2); } Ambient_Sounds_Add_Looping_Sound(kSfxROOFRAN1, 90, 0, 1); Ambient_Sounds_Add_Looping_Sound(kSfxROOFAIR1, 40, -100, 1); Ambient_Sounds_Add_Looping_Sound(kSfxROOFRMB1, 40, 100, 1); Ambient_Sounds_Add_Sound(kSfxSPIN2B, 10, 100, 25, 50, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxSPIN3A, 10, 100, 25, 50, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxTHNDER2, 10, 70, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxTHNDER3, 10, 70, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxTHNDER4, 10, 70, 50, 100, 0, 0, -101, -101, 0, 0); if (Game_Flag_Query(kFlagMA06toMA01)) { Scene_Loop_Set_Default(kMA01LoopMainLoop); Game_Flag_Reset(kFlagMA06toMA01); } else { Actor_Set_Invisible(kActorMcCoy, true); Game_Flag_Set(kFlagArrivedFromSpinner2); Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA01LoopInshotRoof, false); Scene_Loop_Set_Default(kMA01LoopMainLoop); } if (Game_Flag_Query(kFlagMA01GaffApproachMcCoy)) { Actor_Set_Goal_Number(kActorGaff, kGoalGaffMA01ApproachMcCoy); Game_Flag_Reset(kFlagMA01GaffApproachMcCoy); } }
bool AIScriptGaff::UpdateAnimation(int *animation, int *frame) { switch (_animationState) { case 0: *animation = 794; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationFrame = 0; } break; case 1: *animation = 788; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationFrame = 0; } break; case 2: *animation = 798; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationFrame = 0; } break; case 3: *animation = 799; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationState = 2; _animationFrame = 0; *animation = 798; } break; case 4: *animation = 800; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationState = 2; _animationFrame = 0; *animation = 798; } break; case 5: *animation = 801; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationState = 2; _animationFrame = 0; *animation = 798; } break; case 6: *animation = 800; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationState = 2; _animationFrame = 0; *animation = 798; } break; case 7: *animation = 801; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { _animationState = 2; _animationFrame = 0; *animation = 798; } break; case 8: *animation = 802; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(35) - 1) { // Bug in the game? Actor_Set_Invisible(kActorGaff, true); *animation = 794; _animationFrame = 0; Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle); // TODO: check this, it was set directly by calling actor script Actor_Set_Goal_Number(kActorGaff, kGoalGaffCT12Leave); } break; default: *animation = 399; break; } *frame = _animationFrame; return true; }
void SceneScriptAR01::InitializeScene() { Music_Play(kMusicArabLoop, 25, 0, 2, -1, 1, 2); if (Game_Flag_Query(kFlagHC01toAR01)) { Setup_Scene_Information(-477.0f, 0.0f, -149.0f, 333); } else if (Game_Flag_Query(kFlagAR02toAR01)) { Setup_Scene_Information(-182.0f, 0.0f, -551.0f, 518); } else { Setup_Scene_Information(-152.0f, 0.0f, 332.0f, 545); } Scene_Exit_Add_2D_Exit(kAR01ExitHC01, 134, 165, 177, 290, 3); Scene_Exit_Add_2D_Exit(kAR01ExitAR02, 319, 0, 639, 207, 0); if (Game_Flag_Query(kFlagSpinnerAtAR01)) { Scene_Exit_Add_2D_Exit(kAR01ExitSpinner, 0, 404, 99, 479, 2); } Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1, 50, 1, 1); Ambient_Sounds_Add_Looping_Sound(kSfxRCAMBR1, 60, 100, 1); Ambient_Sounds_Add_Looping_Sound(kSfxHCLOOP1, 50, 1, 1); Ambient_Sounds_Add_Sound(kSfx67_0480R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_0540R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_0560R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_0870R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_0900R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_0940R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_1070R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_1080R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfx67_1160R, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM8, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM2, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM3, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM4, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM5, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM6, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM7, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxHCANM1, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Speech_Sound(kActorBlimpGuy, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Speech_Sound(kActorBlimpGuy, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Speech_Sound(kActorBlimpGuy, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Speech_Sound(kActorBlimpGuy, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Sound(kSfxSPIN2B, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxSPIN3A, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxTHNDER2, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxTHNDER3, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(kSfxTHNDER4, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); if ( Game_Flag_Query(kFlagSpinnerAtAR01) && !Game_Flag_Query(kFlagAR02toAR01) && !Game_Flag_Query(kFlagHC01toAR01) ) { Actor_Set_Invisible(kActorMcCoy, true); Game_Flag_Set(kFlagArrivedFromSpinner2); Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopInshot, false); Scene_Loop_Set_Default(kAR01LoopMainLoop); } else if (Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagAR02toAR01) ) { Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02WithSpinner, false); Scene_Loop_Set_Default(kAR01LoopMainLoop); Game_Flag_Reset(kFlagAR02toAR01); } else if (!Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagAR02toAR01) ) { Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02NoSpinner, false); Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner); Game_Flag_Reset(kFlagAR02toAR01); } else if (Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagHC01toAR01) ) { Scene_Loop_Set_Default(kAR01LoopMainLoop); } else if (!Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagHC01toAR01) ) { Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner); } else { // bug? branch content is equal to previous branch Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner); } }
bool SceneScriptAR01::ClickedOnExit(int exitId) { if (exitId == kAR01ExitHC01) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0, 0.0, -149.0, 0, true, false, false)) { Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, false, false, false); Game_Flag_Set(kFlagAR01toHC01); Game_Flag_Set(kFlagHC01GuzzaPrepare); Game_Flag_Reset(kFlagMcCoyInAnimoidRow); Game_Flag_Set(kFlagMcCoyInHawkersCircle); Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01); Actor_Set_Goal_Number(kActorFishDealer, 3); } return true; } if (exitId == kAR01ExitAR02) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0, 0.0, -551.0, 0, true, false, false)) { Game_Flag_Set(kFlagAR01toAR02); Async_Actor_Walk_To_XYZ(kActorMcCoy, -222.0, 0.0, -690.0, 0, false); Set_Enter(kSetAR01_AR02, kSceneAR02); #if BLADERUNNER_ORIGINAL_BUGS // Causes the fish dealer to blink out of existence // during the transition to AR02 Actor_Set_Goal_Number(kActorFishDealer, 3); #endif // BLADERUNNER_ORIGINAL_BUGS } return true; } if (exitId == kAR01ExitSpinner) { if (Game_Flag_Query(kFlagDNARowAvailable)) { Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true); } int v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -164.0f, 0.0f, 332.0f, 0, true, false, false); Actor_Face_Heading(kActorMcCoy, 545, false); if (Actor_Query_Goal_Number(kActorIzo) >= kGoalIzoTakePhoto && Actor_Query_Goal_Number(kActorIzo) <= kGoalIzoEscape ) { Player_Loses_Control(); Actor_Put_In_Set(kActorIzo, kSetAR01_AR02); Actor_Set_At_XYZ(kActorIzo, -448.0, 0.0, 130.0, 0); Loop_Actor_Walk_To_XYZ(kActorIzo, -323.0f, 0.64f, 101.74f, 48, false, true, false); Loop_Actor_Walk_To_Actor(kActorIzo, kActorMcCoy, 48, false, true); Actor_Face_Actor(kActorIzo, kActorMcCoy, true); Actor_Change_Animation_Mode(kActorIzo, kAnimationModeCombatAttack); Actor_Says(kActorMcCoy, 1800, 21); Actor_Change_Animation_Mode(kActorMcCoy, 48); Player_Gains_Control(); Actor_Retired_Here(kActorMcCoy, 12, 48, 1, kActorIzo); } else if (!v1) { if ( Game_Flag_Query(kFlagDNARowAvailable) && !Game_Flag_Query(kFlagDNARowAvailableTalk) ) { Actor_Voice_Over(4310, kActorVoiceOver); Actor_Voice_Over(4320, kActorVoiceOver); Actor_Voice_Over(4330, kActorVoiceOver); Actor_Voice_Over(4340, kActorVoiceOver); Actor_Voice_Over(4350, kActorVoiceOver); Game_Flag_Set(kFlagDNARowAvailableTalk); } Game_Flag_Reset(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagMcCoyInMcCoyApartment); Game_Flag_Reset(kFlagMcCoyInPoliceStation); Game_Flag_Reset(kFlagMcCoyInBradburyBuilding); Game_Flag_Reset(kFlagMcCoyInHysteriaHall); Game_Flag_Reset(kFlagMcCoyInAnimoidRow); int spinnerDest = Spinner_Interface_Choose_Dest(kAR01LoopDoorAnim, false); Actor_Face_Heading(kActorMcCoy, 545, false); switch (spinnerDest) { case kSpinnerDestinationPoliceStation: Game_Flag_Set(kFlagMcCoyInPoliceStation); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtPS01); Set_Enter(kSetPS01, kScenePS01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationMcCoysApartment: Game_Flag_Set(kFlagMcCoyInMcCoyApartment); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtMA01); Set_Enter(kSetMA01, kSceneMA01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtRC01); Set_Enter(kSetRC01, kSceneRC01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtCT01); Set_Enter(kSetCT01_CT12, kSceneCT01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(kFlagMcCoyInTyrellBuilding); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtTB02); Set_Enter(kSetTB02_TB03, kSceneTB02); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(kFlagMcCoyInDNARow); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtDR01); Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationBradburyBuilding: Game_Flag_Set(kFlagMcCoyInBradburyBuilding); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtBB01); Set_Enter(kSetBB01, kSceneBB01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationNightclubRow: Game_Flag_Set(kFlagMcCoyInNightclubRow); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtNR01); Set_Enter(kSetNR01, kSceneNR01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; case kSpinnerDestinationHysteriaHall: Game_Flag_Set(kFlagMcCoyInHysteriaHall); Game_Flag_Reset(kFlagSpinnerAtAR01); Game_Flag_Set(kFlagSpinnerAtHF01); Set_Enter(kSetHF01, kSceneHF01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshot, true); break; default: Game_Flag_Set(kFlagMcCoyInAnimoidRow); Actor_Set_Invisible(kActorMcCoy, false); break; } } return true; } return false; }
bool SceneScriptMA01::ClickedOnExit(int exitId) { if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenMA01AttackMcCoy) { return true; } if (exitId == kMA01ExitMA06) { if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenFled) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1446.0f, 0.0f, -725.0f, 72, true, false, false)) { Actor_Set_Goal_Number(kActorZuben, kGoalZubenMA01AttackMcCoy); Scene_Exits_Disable(); } } else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1446.0f, 0.0f, -725.0f, 12, true, false, false)) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagMA01toMA06); Set_Enter(kSetMA06, kSceneMA06); } return true; } if (exitId == kMA01ExitSpinner) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 381.0f, 0.0f, 54.0f, 0, true, false, false)) { Player_Loses_Control(); Actor_Face_Heading(kActorMcCoy, 736, false); Game_Flag_Reset(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagMcCoyInMcCoyApartment); Game_Flag_Reset(kFlagMcCoyInAnimoidRow); Game_Flag_Reset(kFlagMcCoyInTyrellBuilding); Game_Flag_Reset(kFlagMcCoyInDNARow); Game_Flag_Reset(kFlagMcCoyInBradburyBuilding); Game_Flag_Reset(kFlagMcCoyInPoliceStation); int spinnerDest = Spinner_Interface_Choose_Dest(kMA01LoopOutDoorAnim, false); switch (spinnerDest) { case kSpinnerDestinationPoliceStation: Game_Flag_Set(kFlagMcCoyInPoliceStation); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtPS01); Set_Enter(kSetPS01, kScenePS01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationRuncitersAnimals: Game_Flag_Set(kFlagMcCoyInRunciters); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtRC01); Set_Enter(kSetRC01, kSceneRC01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationChinatown: Game_Flag_Set(kFlagMcCoyInChinaTown); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtCT01); Set_Enter(kSetCT01_CT12, kSceneCT01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationTyrellBuilding: Game_Flag_Set(kFlagMcCoyInTyrellBuilding); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtTB02); Set_Enter(kSetTB02_TB03, kSceneTB02); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationAnimoidRow: Game_Flag_Set(kFlagMcCoyInAnimoidRow); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtAR01); Set_Enter(kSetAR01_AR02, kSceneAR01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationDNARow: Game_Flag_Set(kFlagMcCoyInDNARow); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtDR01); Set_Enter(kSetDR01_DR02_DR04, kSceneDR01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationBradburyBuilding: Game_Flag_Set(kFlagMcCoyInBradburyBuilding); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtBB01); Set_Enter(kSetBB01, kSceneBB01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationNightclubRow: Game_Flag_Set(kFlagMcCoyInNightclubRow); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtNR01); Set_Enter(kSetNR01, kSceneNR01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; case kSpinnerDestinationHysteriaHall: Game_Flag_Set(kFlagMcCoyInHysteriaHall); Game_Flag_Reset(kFlagSpinnerAtMA01); Game_Flag_Set(kFlagSpinnerAtHF01); Set_Enter(kSetHF01, kSceneHF01); Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true); break; default: Actor_Set_Invisible(kActorMcCoy, false); Actor_Face_Heading(kActorMcCoy, 736, false); Game_Flag_Set(kFlagMcCoyInMcCoyApartment); break; } } return true; } return false; }
void SceneScriptAR01::InitializeScene() { Music_Play(0, 25, 0, 2, -1, 1, 2); if (Game_Flag_Query(kFlagHC01toAR01)) { Setup_Scene_Information(-477.0f, 0.0f, -149.0f, 333); } else if (Game_Flag_Query(kFlagAR02toAR01)) { Setup_Scene_Information(-182.0f, 0.0f, -551.0f, 518); } else { Setup_Scene_Information(-152.0f, 0.0f, 332.0f, 545); } Scene_Exit_Add_2D_Exit(kAR01ExitHC01, 134, 165, 177, 290, 3); Scene_Exit_Add_2D_Exit(kAR01ExitAR02, 319, 0, 639, 207, 0); if (Game_Flag_Query(kFlagSpinnerAtAR01)) { Scene_Exit_Add_2D_Exit(kAR01ExitSpinner, 0, 404, 99, 479, 2); } Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1); Ambient_Sounds_Add_Looping_Sound( 81, 60, 100, 1); Ambient_Sounds_Add_Looping_Sound(241, 50, 1, 1); Ambient_Sounds_Add_Sound(182, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(184, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(185, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(186, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(188, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(189, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(191, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(192, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(242, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(243, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(244, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(245, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(246, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(247, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(248, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(249, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); Ambient_Sounds_Add_Sound( 68, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound( 69, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(375, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(376, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(377, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); if ( Game_Flag_Query(kFlagSpinnerAtAR01) && !Game_Flag_Query(kFlagAR02toAR01) && !Game_Flag_Query(kFlagHC01toAR01) ) { Actor_Set_Invisible(kActorMcCoy, true); Game_Flag_Set(kFlagArrivedFromSpinner2); Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopInshoot, false); Scene_Loop_Set_Default(kAR01LoopMainLoop); } else if (Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagAR02toAR01) ) { Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02WithSpinner, false); Scene_Loop_Set_Default(kAR01LoopMainLoop); Game_Flag_Reset(kFlagAR02toAR01); } else if (!Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagAR02toAR01) ) { Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02NoSpinner, false); Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner); Game_Flag_Reset(kFlagAR02toAR01); } else if (Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagHC01toAR01) ) { Scene_Loop_Set_Default(kAR01LoopMainLoop); } else if (!Game_Flag_Query(kFlagSpinnerAtAR01) && Game_Flag_Query(kFlagHC01toAR01) ) { Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner); } else { Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner); } }