Example #1
0
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);
			}
		}
	}
}
Example #2
0
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();
}