void SceneScriptMA06::activateElevator() { Game_Flag_Reset(kFlagMA06toMA01); Game_Flag_Reset(kFlagMA06ToMA02); Game_Flag_Reset(kFlagMA06toMA07); while (true) { if (Game_Flag_Query(kFlagMA06ToMA02)) { break; } if (Game_Flag_Query(kFlagMA06toMA01)) { break; } if (Game_Flag_Query(kFlagMA06toMA07)) { break; } Actor_Says(kActorAnsweringMachine, 80, 3); Player_Gains_Control(); int floor = Elevator_Activate(1); Player_Loses_Control(); Scene_Loop_Start_Special(kSceneLoopMode2, 1, true); if (floor > 1) { Game_Flag_Set(kFlagMA06toMA07); } else if (floor == 1) { if (Game_Flag_Query(kFlagMA01Locked)) { Game_Flag_Set(kFlagMA06toMA01); } else { Sound_Play(412, 100, 0, 0, 50); Delay(500); Actor_Says(kActorAnsweringMachine, 610, 3); } } else { Actor_Says(kActorMcCoy, 2940, 18); if (Global_Variable_Query(1) == 4 && Game_Flag_Query(655)) { Sound_Play(412, 100, 0, 0, 50); Delay(500); Actor_Says(kActorAnsweringMachine, 610, 3); Delay(500); Actor_Says(kActorMcCoy, 8527, 3); } else { Game_Flag_Set(kFlagMA06ToMA02); Actor_Says(kActorAnsweringMachine, 90, 3); } } } }
void SceneScriptPS02::activateElevator() { Scene_Exits_Disable(); switch (Elevator_Activate(kElevatorPS)) { case 7: Game_Flag_Set(kFlagPS02toPS09); break; case 6: Game_Flag_Set(kFlagPS02toPS03); break; case 5: Game_Flag_Set(kFlagPS02toPS05); break; case 4: Game_Flag_Set(kFlagPS02toPS01); break; case 3: Game_Flag_Set(kFlagPS02toPS07); break; default: break; } Scene_Exits_Enable(); }