Esempio n. 1
0
bool ScriptTB06::ClickedOnItem(int itemId, bool a2) {
	if (itemId == 84 && !Loop_Actor_Walk_To_Item(0, 84, 12, 1, false)) {
		Actor_Face_Item(0, 84, true);
		Actor_Clue_Acquire(0, 65, 1, -1);
		Item_Pickup_Spin_Effect(942, 341, 368);
		Item_Remove_From_World(84);
		Actor_Voice_Over(4160, 99);
		Game_Flag_Set(519);
		return true;
	}
	if (itemId == 108 && !Loop_Actor_Walk_To_Item(0, 108, 12, 1, false)) {
		Actor_Face_Item(0, 108, true);
		Actor_Clue_Acquire(0, 53, 1, -1);
		Item_Remove_From_World(108);
		Item_Pickup_Spin_Effect(955, 390, 368);
		Actor_Says(0, 8775, 3);
		Game_Flag_Set(520);
		return true;
	}
	if (itemId == 82 && !Loop_Actor_Walk_To_Item(0, 82, 12, 1, false)) {
		Actor_Face_Item(0, 82, true);
		Actor_Says(0, 5285, 3);
		return true;
	}
	if ((itemId == 103 || itemId == 104 || itemId == 105) && !Loop_Actor_Walk_To_Item(0, 103, 24, 1, false)) {
		Actor_Face_Item(0, 103, true);
		Actor_Voice_Over(2380, 99);
		Actor_Voice_Over(2390, 99);
		Actor_Voice_Over(2400, 99);
		return true;
	}
	return false;
}
Esempio n. 2
0
void SceneScriptNR04::sub_401DB0() {
	Dialogue_Menu_Clear_List();
	DM_Add_To_List(1530, 10, 5, 3);
	DM_Add_To_List(1540, 3, 5, 10);
	Dialogue_Menu_Appear(320, 240);
	int answer = Dialogue_Menu_Query_Input();
	Dialogue_Menu_Disappear();
	if (answer == 1530) {
		Loop_Actor_Walk_To_Actor(kActorEarlyQ, kActorMcCoy, 36, 0, false);
		Actor_Change_Animation_Mode(kActorMcCoy, 23);
		Actor_Change_Animation_Mode(kActorEarlyQ, 23);
		Delay(1500);
		Actor_Says(kActorEarlyQ, 300, 3);
		Actor_Change_Animation_Mode(kActorMcCoy, 0);
		Actor_Change_Animation_Mode(kActorEarlyQ, 0);
		Actor_Says(kActorEarlyQ, 310, 3);
		ADQ_Add(kActorMcCoy, 3450, 3);
		Actor_Set_Targetable(kActorEarlyQ, false);
		Actor_Set_Goal_Number(kActorEarlyQ, 217);
		Actor_Clue_Lose(kActorMcCoy, kClueEarlyQsClub);
		Scene_Exits_Enable();
	} else if (answer == 1540) {
		Actor_Says(kActorMcCoy, 8512, 15);
		Actor_Says(kActorEarlyQ, 320, 12);
		Actor_Says(kActorMcCoy, 3455, 13);
		Actor_Says(kActorEarlyQ, 330, 15);
		Actor_Says(kActorMcCoy, 3460, 12);
		Actor_Says(kActorEarlyQ, 340, 12);
		Actor_Says(kActorMcCoy, 3465, 12);
		Actor_Says(kActorEarlyQ, 350, 16);
		Actor_Set_Targetable(kActorEarlyQ, false);
		Actor_Set_Goal_Number(kActorEarlyQ, 217);
		Scene_Exits_Enable();
	}
}
Esempio n. 3
0
void ScriptTB06::PlayerWalkedIn() {
	if (!Game_Flag_Query(102) && !Game_Flag_Query(483)) {
		Actor_Face_Actor(0, 21, true);
		Actor_Says(0, 5290, 3);
		Loop_Actor_Walk_To_XYZ(0, -10.0f, 149.0f, -631.0f, 0, 0, false, 0);
		AI_Movement_Track_Pause(37);
		Actor_Face_Actor(0, 37, true);
		Actor_Face_Actor(37, 0, true);
		Actor_Says(37, 0, 3);
		Actor_Says(0, 5295, 3);
		Actor_Face_Actor(37, 21, true);
		Actor_Says(37, 10, 3);
		AI_Movement_Track_Unpause(37);
		Game_Flag_Set(483);
		//return true;
		return;
	}
	if (Game_Flag_Query(103)) {
		Item_Remove_From_World(84);
		Item_Remove_From_World(82);
		Item_Remove_From_World(98);
		//return true;
		return;
	}
	//return false;
	return;
}
Esempio n. 4
0
bool SceneScriptCT04::ClickedOnActor(int actorId) {
	if (actorId == 12) {
		if (Game_Flag_Query(169)) {
			if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorTransient, 36, 1, false)) {
				Actor_Voice_Over(290, kActorVoiceOver);
				Actor_Voice_Over(300, kActorVoiceOver);
				Actor_Voice_Over(310, kActorVoiceOver);
			}
		} else {
			Actor_Set_Targetable(kActorTransient, false);
			if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorTransient, 36, 1, false)) {
				Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
				if (!Game_Flag_Query(137)) {
					if (Game_Flag_Query(40)) {
						Actor_Says(kActorMcCoy, 435, 3);
						Actor_Set_Goal_Number(kActorTransient, 2);
					} else {
						Music_Stop(3);
						Actor_Says(kActorMcCoy, 425, 3);
						Actor_Says(kActorTransient, 0, 13);
						sub_401D4C();
						Actor_Set_Goal_Number(kActorTransient, 2);
					}
					Game_Flag_Set(137);
				} else {
					Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
					Actor_Says(kActorMcCoy, 435, 3);
				}
			}
		}
		return true;
	}
	return false;
}
Esempio n. 5
0
bool SceneScriptRC01::ClickedOnItem(int itemId, bool a2) {
	if (itemId == kItemChromeDebris) {
		Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
		if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemChromeDebris, 36, true, false)) {
			Actor_Face_Item(kActorMcCoy, kItemChromeDebris, true);
			Actor_Clue_Acquire(kActorMcCoy, kClueChromeDebris, true, -1);
			Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
			Actor_Says(kActorOfficerLeary, 20, 12);
			Game_Flag_Set(kFlagRC01ChromeDebrisTaken);
			Item_Remove_From_World(kItemChromeDebris);
			Item_Pickup_Spin_Effect(938, 426, 316);
			I_Sez("JM: Chrome...is that what that is?");
			Actor_Says(kActorMcCoy, 4505, 13);
			ADQ_Flush();
			ADQ_Add(kActorOfficerLeary, 30, -1);
			ADQ_Add(kActorMcCoy, 4510, 13);
			I_Sez("JM: It's hard to imagine that thing on either a car or a horse.");
			I_Sez("MG: McCoy! What a witty chap...");
			I_Sez("JM: He keeps me chuckling non-stop!\n");
			Loop_Actor_Walk_To_Actor(kActorOfficerLeary, kActorMcCoy, 36, 0, false);
		}
		return true;
	}
	return false;
}
Esempio n. 6
0
bool SceneScriptBB07::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("PRINTER", objectName)) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -472.63f, 252.59f, -1086.81f, 0, false, false, 0)) {
			Actor_Face_Object(kActorMcCoy, "PRINTER", true);
			if ( Game_Flag_Query(kFlagBB07ElectricityOn)
			 && !Game_Flag_Query(kFlagBB07PrinterChecked)
			) {
				Actor_Voice_Over(130, kActorVoiceOver);
				Item_Pickup_Spin_Effect(941, 439, 242);
				Actor_Voice_Over(140, kActorVoiceOver);
				Game_Flag_Set(kFlagBB07PrinterChecked);
				Actor_Clue_Acquire(kActorMcCoy, kClueDNASebastian, true, -1);
			} else if (Game_Flag_Query(kFlagBB07ElectricityOn)
			        && Game_Flag_Query(kFlagBB07PrinterChecked)
			) {
				Actor_Face_Object(kActorMcCoy, "PRINTER", true);
				Actor_Says(kActorMcCoy, 8570, 13);
			} else {
				Actor_Face_Object(kActorMcCoy, "PRINTER", true);
				Actor_Says(kActorMcCoy, 8575, 13);
			}
		}
	}
	return false;
}
Esempio n. 7
0
void ScriptNR07::sub_401EF4() {
	Actor_Clue_Acquire(0, 96, 1, -1);
	Actor_Says(0, 3625, 19);
	Actor_Says(3, 570, 30);
	Actor_Says_With_Pause(3, 580, 1.0f, 31);
	Actor_Says(0, 3630, 13);
	Actor_Says_With_Pause(3, 590, 1.0f, 30);
	Actor_Says(3, 600, 30);
	Actor_Start_Speech_Sample(0, 3640);
	Loop_Actor_Walk_To_XYZ(0, -109.0f, -73.0f, -89.0f, 0, 0, false, 0);
	Actor_Face_Actor(0, 3, true);
	Actor_Face_Actor(3, 0, true);
	Game_Flag_Set(638);
	Actor_Clue_Acquire(0, 91, 1, 3);
	int v0 = Actor_Query_Friendliness_To_Other(3, 0);
	if (!Game_Flag_Query(47) && v0 < 40) {
		sub_4018D4();
		return;
	}
	if (v0 < 36) {
		sub_401A10();
		return;
	}
	sub_4020F0();
}
Esempio n. 8
0
bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("BARICADE01", objectName)
	 || Object_Query_Click("BARICADE03", objectName)
	 || Object_Query_Click("BARICADE04", objectName)
	 || Object_Query_Click("70_1", objectName)
	 || Object_Query_Click("70_2", objectName)
	 || Object_Query_Click("70_3", objectName)
	 || Object_Query_Click("70_5", objectName)
	 || Object_Query_Click("70_6", objectName)
	) {
		interrogateCrowd();
		return true;
	}

	if (Object_Query_Click("HYDRANT02", objectName)) {
		if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "HYDRANT02", 60, true, false)) {
			if (Actor_Clue_Query(kActorMcCoy, kCluePaintTransfer)) {
				Actor_Says(kActorMcCoy, 6975, kAnimationModeTalk);
			} else {
				Actor_Face_Object(kActorMcCoy, "HYDRANT02", true);
				Actor_Voice_Over(1880, kActorVoiceOver);
				Actor_Voice_Over(1890, kActorVoiceOver);
				I_Sez("JM: That McCoy--he's one funny guy! Jet-black fire truck, hehehehe...");
				Actor_Clue_Acquire(kActorMcCoy, kCluePaintTransfer, true, -1);
			}
		}
		return true;
	}

	if (Object_Query_Click("DOOR LEFT", objectName)) {
		if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "DOOR LEFT", 48, true, false)) {
			Actor_Face_Object(kActorMcCoy, "DOOR LEFT", true);
			if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) && Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) && Global_Variable_Query(kVariableChapter) > 0) {
				Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
				Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
				Actor_Says(kActorOfficerLeary, 0, 12);
				Actor_Says(kActorMcCoy, 4495, 13);
				Actor_Clue_Acquire(kActorMcCoy, kClueDoorForced2, true, kActorOfficerLeary);
			} else {
				Actor_Says(kActorMcCoy, 8570, 14);
			}
			Actor_Clue_Acquire(kActorMcCoy, kClueDoorForced1, true, -1);
		}
		return true;
	}

	if (Object_Query_Click("T-CAN01", objectName)) {
		if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "T-CAN01", 24, true, false)) {
			Actor_Face_Object(kActorMcCoy, "T-CAN01", true);
			Actor_Voice_Over(1810, kActorVoiceOver);
			Actor_Voice_Over(1820, kActorVoiceOver);
		}
		return true;
	}

	return false;
}
Esempio n. 9
0
bool SceneScriptCT01::ClickedOn3DObject(const char *objectName, bool a2) {
//	if ("ASIANSITTINGANDEATI" == objectName) { //bug?
	if (Object_Query_Click("ASIANSITTINGANDEATI", objectName)) {
		Actor_Face_Object(kActorMcCoy, "ASIANSITTINGANDEATI", true);
		Actor_Says(kActorMcCoy, 365, 13);
		Actor_Says(kActorHowieLee, 160, 13);
		return true;
	}
	return false;
}
Esempio n. 10
0
void AIScriptFreeSlotB::ClickedByPlayer() {
	if (Actor_Query_Goal_Number(kActorFreeSlotB) != 599)
		return; //false;

	Actor_Face_Actor(kActorMcCoy, kActorFreeSlotB, 1);
	if (Random_Query(1, 2) == 1) {
		Actor_Says(kActorMcCoy, 8655, 16);
	} else {
		Actor_Says(kActorMcCoy, 8665, 16);
	}
}
Esempio n. 11
0
bool SceneScriptUG10::ClickedOnExit(int exitId) {
	float x, y, z;
	Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
	if (exitId == 0) {
		if ((!Game_Flag_Query(474) && x > 125.0f) || Game_Flag_Query(474)) {
			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, 1, false, 0)) {
				Game_Flag_Set(317);
				Set_Enter(74, kSceneUG01);
				return true;
			}
		} else if (!Game_Flag_Query(474)) {
			Actor_Says(kActorMcCoy, 8521, 3);
		}
	} else if (exitId == 1) {
		if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) {
			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, 1, false, 0)) {
				Actor_Face_Heading(kActorMcCoy, 0, false);
				Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, 0);
				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, 0, false, 0);
				Game_Flag_Set(337);
				Set_Enter(76, kSceneUG03);
				return true;
			}
		} else if (!Game_Flag_Query(474)) {
			Actor_Says(kActorMcCoy, 6165, 3);
		}
	} else if (exitId == 2) {
		if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) {
			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, 1, false, 0)) {
				Actor_Face_Heading(kActorMcCoy, 1001, false);
				Loop_Actor_Travel_Ladder(kActorMcCoy, 1, 1, 0);
				Game_Flag_Set(424);
				Set_Enter(80, kSceneUG07);
				return true;
			}
		} else if (!Game_Flag_Query(474)) {
			Actor_Says(kActorMcCoy, 6165, 3);
		}
	} else if (exitId == 3) {
		if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) {
			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, 1, false, 0)) {
				Game_Flag_Set(347);
				Set_Enter(86, kSceneUG14);
				return true;
			}
		} else if (!Game_Flag_Query(474)) {
			Actor_Says(kActorMcCoy, 6165, 3);
		}
	}
	return false;
}
Esempio n. 12
0
void SceneScriptRC01::interrogateCrowd() {
	if (!Game_Flag_Query(kFlagRC01PoliceDone)) {
		if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "BARICADE03", 36, true, false)) {
			Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
			Actor_Face_Object(kActorMcCoy, "BARICADE03", true);
			Loop_Actor_Walk_To_Actor(kActorOfficerLeary, kActorMcCoy, 36, true, false);
			Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
			Actor_Says(kActorMcCoy, 4500, 14);
			I_Sez("MG: We don't want any of that abstract art oozing out onto the street.");
			Actor_Says(kActorOfficerLeary, 10, 14);
			Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyRC01WalkToCrowd);
		}
	}
}
Esempio n. 13
0
void ScriptNR07::sub_402510() {
	Actor_Says(0, 3690, 14);
	Actor_Start_Speech_Sample(3, 750);
	Loop_Actor_Walk_To_XYZ(0, -109.0f, -73.0f, -89.0f, 0, 0, false, 0);
	Actor_Face_Actor(0, 3, true);
	Actor_Face_Actor(3, 0, true);
	Actor_Says(0, 3695, 15);
	Actor_Modify_Friendliness_To_Other(3, 0, 5);
	if (Game_Flag_Query(47)) {
		sub_401A10();
	} else {
		sub_4018D4();
	}
}
Esempio n. 14
0
void ScriptNR07::sub_402614() {
	Actor_Says(0, 3705, 19);
	Actor_Says(3, 760, 53);
	if (Game_Flag_Query(47)) {
		Actor_Modify_Friendliness_To_Other(3, 0, -5);
		Actor_Says(0, 3710, 18);
		sub_401A10();
	} else {
		Actor_Modify_Friendliness_To_Other(3, 0, -3);
		Actor_Start_Speech_Sample(0, 3710);
		Loop_Actor_Walk_To_XYZ(0, -109.0f, -73.0f, -89.0f, 0, 0, false, 0);
		Actor_Face_Actor(0, 3, true);
		sub_4018D4();
	}
}
Esempio n. 15
0
bool SceneScriptUG01::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("PIPES_FG_LFT", objectName)) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, 1, false, 0)
		 && !Game_Flag_Query(kFlagUG01SteamOff)
		) {
			Actor_Says(kActorMcCoy, 8525, 13);
			Scene_Loop_Set_Default(3);
			Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
			Game_Flag_Set(kFlagUG01SteamOff);
		} else {
			Actor_Says(kActorMcCoy, 8525, 13);
		}
	}
	return false;
}
Esempio n. 16
0
void ScriptNR07::sub_4028FC() {
	Actor_Says(0, 3620, 19);
	Actor_Says(3, 840, 30);
	Actor_Says(0, 3745, 9);
	Actor_Says_With_Pause(3, 850, 1.0f, 30);
	Actor_Says(3, 860, 30);
	Actor_Says(3, 870, 53);
	Actor_Says(0, 3750, 11);
	Actor_Says(3, 880, 30);
	Actor_Says(0, 3755, 16);
	Actor_Says(3, 890, 31);
}
Esempio n. 17
0
bool SceneScriptBB03::ClickedOnExit(int exitId) {
	if (exitId == 0) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, 1, false, 0)) {
			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, 0, false, 0);
			Game_Flag_Set(283);
			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
			Ambient_Sounds_Remove_All_Looping_Sounds(1);
			Set_Enter(1, kSceneBB04);
		}
		return true;
	}
	if (exitId == 1) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, 1, false, 0)) {
			Game_Flag_Set(281);
			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
			Ambient_Sounds_Remove_All_Looping_Sounds(1);
			Set_Enter(1, kSceneBB02);
		}
		return true;
	}
	if (exitId == 2) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 60.16f, -164.0f, 0, 1, false, 0)) {
			if (Global_Variable_Query(kVariableChapter) < 4) {
				if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
					Actor_Says(kActorSebastian, 70, 3);
					Actor_Says(kActorMcCoy, 7010, 13);
					Actor_Says(kActorSebastian, 80, 3);
					Actor_Says(kActorMcCoy, 7015, 12);
					Actor_Says(kActorSebastian, 90, 3);
					Actor_Says(kActorMcCoy, 7020, 14);
					Actor_Says(kActorSebastian, 100, 3);
					Actor_Says(kActorMcCoy, 7025, 15);
					Actor_Says(kActorSebastian, 110, 3);
					Actor_Set_Targetable(kActorBryant, false);
					Actor_Set_Targetable(kActorGeneralDoll, false);
				}
				Game_Flag_Set(285);
				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
				Ambient_Sounds_Remove_All_Looping_Sounds(1);
				Set_Enter(22, kSceneBB05);
			} else {
				Actor_Says(kActorMcCoy, 8522, 3);
			}
		}
		return true;
	}
	return false;
}
Esempio n. 18
0
void SceneScriptMA02::PlayerWalkedIn() {
	if (Game_Flag_Query(34)) {
		sub_402044();
	}
	if (Game_Flag_Query(36)) {
		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.12f, -144.13f, 34.27f, 0, 1, false, 0);
	}
	if (Global_Variable_Query(1) == 4 && !Game_Flag_Query(655)) {
		Game_Flag_Set(623);
		Game_Flag_Set(655);
		sub_401E4C();
		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.19f, -144.12f, 378.27f, 0, 0, false, 0);
		Game_Flag_Set(33);
		Set_Enter(52, 52);
		//	return true;
		return;
	}
	if (Global_Variable_Query(1) == 5 && !Game_Flag_Query(654)) {
		if (Game_Flag_Query(653)) {
			Actor_Says(kActorMcCoy, 2390, 0);
			Music_Play(2, 25, 0, 3, -1, 0, 0);
		} else {
			Actor_Says(kActorMcCoy, 2385, 3);
		}
		Game_Flag_Set(654);
		Autosave_Game(3);
	}
	if (Global_Variable_Query(1) < 4 && !Game_Flag_Query(36) && Actor_Query_Goal_Number(kActorMaggie) != 2) {
		Actor_Set_Goal_Number(kActorMaggie, 1);
		if (!Game_Flag_Query(60)) {
			Game_Flag_Set(60);
			Actor_Face_Actor(kActorMcCoy, kActorMaggie, true);
			Actor_Voice_Over(1210, kActorVoiceOver);
			if (!Game_Flag_Query(378)) {
				Actor_Voice_Over(1220, kActorVoiceOver);
			}
			Actor_Voice_Over(1230, kActorVoiceOver);
			if (!Game_Flag_Query(378)) {
				Actor_Voice_Over(1240, kActorVoiceOver);
				Actor_Voice_Over(1250, kActorVoiceOver);
			}
		}
	}
	Game_Flag_Reset(36);
	Game_Flag_Reset(34);
	//return false;
	return;
}
Esempio n. 19
0
bool SceneScriptDR02::ClickedOnExit(int exitId) {
	if (exitId == 0) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, 0)) {
			Async_Actor_Walk_To_XYZ(kActorMcCoy, -727.0f, -0.04f, -118.0f, 0, false);
			Game_Flag_Set(kFlagDR02toDR01);
			Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
		}
		Ambient_Sounds_Adjust_Looping_Sound(219, 12, -101, 1);
		Ambient_Sounds_Adjust_Looping_Sound(98, 14, -101, 1);
		return true;
	}

	if (exitId == 1) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1162.0f, 7.18f, -322.0f, 0, true, false, 0)) {
			if (Global_Variable_Query(kVariableChapter) > 2) {
				Actor_Says(kActorMcCoy, 8522, 15);
			} else {
				Game_Flag_Set(kFlagDR02toDR03);
				Set_Enter(kSetDR03, kSceneDR03);
			}
		}
		return true;
	}

	if (exitId == 2) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1258.0f, 7.18f, -314.0f, 0, true, false, 0)) {
			Game_Flag_Set(kFlagDR02toBB01);
			Game_Flag_Reset(kFlagMcCoyInDNARow);
			Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
			Set_Enter(kSetBB01, kSceneBB01);
		}
		return true;
	}
	return false;
}
Esempio n. 20
0
bool SceneScriptUG10::ClickedOn2DRegion(int region) {
	float x, y, z;
	Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
	if (region == 0 && !Player_Query_Combat_Mode()) {
		if (x >= 120.0f) {
			Actor_Says(kActorMcCoy, 8525, 3);
		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.98f, 0.38f, 83.15f, 0, 1, false, 0)) {
			if (Game_Flag_Query(474)) {
				Scene_Loop_Set_Default(1);
				Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false);
				Game_Flag_Reset(474);
				Obstacle_Object("BOX01 BRIDGE", true);
				Player_Loses_Control();
			} else {
				Scene_Loop_Set_Default(4);
				Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false);
				Game_Flag_Set(474);
				Unobstacle_Object("BOX01 BRIDGE", true);
				Player_Loses_Control();
			}
		}
		return true;
	}
	return false;
}
Esempio n. 21
0
bool ScriptHC03::ClickedOnItem(int itemId, bool a2) {
	if (itemId == 121) {
		if (a2) {
			Scene_Loop_Set_Default(3);
			Scene_Loop_Start_Special(2, 2, 1);
			Game_Flag_Set(403);
			Item_Remove_From_World(121);
			Unobstacle_Object("GPscisGate", true);
		} else {
			Actor_Says(0, 8522, 12);
		}
		return true;
	}
	if (itemId == 107) {
		Item_Remove_From_World(107);
		Item_Pickup_Spin_Effect(977, 68, 435);
		Delay(1500);
		Item_Pickup_Spin_Effect(984, 78, 435);
		Delay(1500);
		Item_Pickup_Spin_Effect(984, 58, 435);
		if (Game_Flag_Query(374)) {
			Actor_Clue_Acquire(0, 246, 1, 7);
		} else {
			Actor_Clue_Acquire(0, 247, 1, 7);
		}
		Actor_Clue_Acquire(0, 260, 1, 7);
		return true;
	}
	return false;
}
Esempio n. 22
0
void ScriptMA04::sub_403DA8() {
	if (!Loop_Actor_Walk_To_Scene_Object(0, "BED-SHEETS", 12, 1, false)) {
		Actor_Says(0, 8530, 12);
		Music_Stop(4);
		if (sub_402820() || sub_402758()) {
			Overlay_Remove("MA04OVER");
		}
		Player_Loses_Control();
		Game_Flag_Set(647);
		if ((Game_Flag_Query(40) || Game_Flag_Query(41)) && Global_Variable_Query(1) == 1) {
			if (Actor_Query_Goal_Number(19) == 599) {
				Actor_Put_In_Set(19, 91);
				Actor_Set_At_Waypoint(19, 33, 0);
			}
			Game_Flag_Set(678);
			Global_Variable_Set(1, 2);
			Chapter_Enter(2, 10, 50);
			if (Query_Difficulty_Level() != 0) {
				if (!Game_Flag_Query(723)) {
					Global_Variable_Increment(2, 200);
				}
			}
		} else {
			Set_Enter(10, 50);
		}
		Scene_Loop_Start_Special(1, 3, 0);
	}
}
Esempio n. 23
0
void ScriptNR07::sub_402738() {
	Actor_Modify_Friendliness_To_Other(3, 0, -3);
	Actor_Says(0, 3615, 16);
	Actor_Says(3, 770, 30);
	Actor_Says(0, 3720, 15);
	Actor_Says_With_Pause(3, 780, 2.0f, 30);
	Actor_Says(3, 790, 31);
	Actor_Says(0, 3725, 18);
	Actor_Says(3, 800, 30);
	Actor_Says_With_Pause(0, 3730, 2.0f, 13);
	Actor_Says_With_Pause(3, 810, 1.0f, 53);
	Actor_Says(3, 820, 30);
	Actor_Says(0, 3735, 14);
	Actor_Says(3, 830, 31);
	Actor_Says(0, 3740, 19);
}
Esempio n. 24
0
bool SceneScriptUG17::ClickedOnExit(int exitId) {
	if (exitId == 0) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, 1, false, 0)) {
			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
			Ambient_Sounds_Remove_All_Looping_Sounds(1);
			Game_Flag_Set(353);
			Set_Enter(87, kSceneUG15);
		}
		return true;
	}
	if (exitId == 1) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1013.0f, 67.96f, -1892.0f, 0, 1, false, 0)) {
			Actor_Face_Heading(kActorMcCoy, 89, false);
			if (Global_Variable_Query(kVariableChapter) == 5) {
				Actor_Says(kActorMcCoy, 8522, 14);
			} else {
				Loop_Actor_Travel_Ladder(kActorMcCoy, 10, 1, 0);
				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
				Ambient_Sounds_Remove_All_Looping_Sounds(1);
				Game_Flag_Set(448);
				Set_Enter(17, kSceneTB03);
			}
		}
		return true;
	}
	return false;
}
Esempio n. 25
0
bool SceneScriptMA02::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("E-ESPER", objectName)) {
		Actor_Face_Object(kActorMcCoy, "E-ESPER", true);
		Delay(1000);
		ESPER_Flag_To_Activate();
		return true;
	}
	if (Object_Query_Click("BAR-MAIN", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -29.0f, -140.4f, 298.0f, 36, 1, false, 0)) {
		Actor_Face_Object(kActorMcCoy, "BAR-MAIN", true);
		if (Global_Variable_Query(1) < 4) {
			Actor_Set_Goal_Number(kActorMaggie, 3);
		} else if (Global_Variable_Query(1) == 5 && Game_Flag_Query(653) && !Actor_Clue_Query(kActorMcCoy, kClueCrystalsCigarette)) {
			Overlay_Remove("MA02OVER");
			Item_Pickup_Spin_Effect(985, 480, 240);
			Actor_Voice_Over(1150, kActorVoiceOver);
			Actor_Voice_Over(1160, kActorVoiceOver);
			Actor_Voice_Over(1170, kActorVoiceOver);
			Actor_Voice_Over(1180, kActorVoiceOver);
			Actor_Voice_Over(1190, kActorVoiceOver);
			Actor_Voice_Over(1200, kActorVoiceOver);
			Actor_Clue_Acquire(kActorMcCoy, kClueCrystalsCigarette, 1, -1);
		} else {
			Actor_Says(kActorMcCoy, 8526, 0);
		}
		return true;
	}
	return false;
}
Esempio n. 26
0
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;
}
Esempio n. 27
0
bool SceneScriptRC51::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("POSTER_2", objectName)) {
		Actor_Face_Object(kActorMcCoy, "POSTER_2", true);
		Actor_Says(kActorMcCoy, 8620, 3);
		return true;
	}
	return false;
}
Esempio n. 28
0
bool ScriptDR05::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("T2 DOORWAY", objectName)) {
		if (Game_Flag_Query(276) || Actor_Query_Goal_Number(35)) {
			if (!Loop_Actor_Walk_To_XYZ(0, 57.61f, 0.3f, 69.27f, 0, 1, false, 0)) {
				Actor_Face_Object(0, "T2 DOORWAY", true);
				Actor_Says(0, 8522, 13);
				Actor_Says(0, 8521, 14);
			}
		} else {
			Actor_Face_Object(0, "T2 DOORWAY", true);
			Actor_Says(0, 1020, 14);
			Actor_Says(35, 90, 13);
		}
		return true;
	}
	return false;
}
Esempio n. 29
0
void ScriptAR02::sub_402AE0() {
	Dialogue_Menu_Clear_List();
	if (Global_Variable_Query(2) >= 15 || Query_Difficulty_Level() == 0) {
		DM_Add_To_List_Never_Repeat_Once_Selected(530, 7, 5, 3);
	}
	DM_Add_To_List_Never_Repeat_Once_Selected(540, 3, 5, 7);
	Dialogue_Menu_Appear(320, 240);
	int answerValue = Dialogue_Menu_Query_Input();
	Dialogue_Menu_Disappear();
	if (answerValue == 530) {
		Actor_Says(0, 120, 12);
		if (Query_Difficulty_Level() != 0) {
			Global_Variable_Decrement(2, 15);
		}
		Actor_Clue_Acquire(0, 75, 1, 16);
		Actor_Modify_Friendliness_To_Other(16, 0, 5);
	} else if (answerValue == 540) {
		Actor_Says(0, 125, 13);
		Actor_Says(16, 260, 3);
		Actor_Says(0, 130, 15);
		Actor_Says(16, 270, 3);
		Actor_Says(16, 280, 3);
		Actor_Says(0, 135, 11);
		Actor_Modify_Friendliness_To_Other(16, 0, -5);
	}
}
Esempio n. 30
0
void SceneScriptPS10::PlayerWalkedIn() {
	if (Game_Flag_Query(15)) {
		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -352.09f, -9.23f, 267.95f, 0, false, true, 0);
		Police_Maze_Set_Pause_State(false);
		Game_Flag_Reset(15);
		//return true;
		return;
	} else {
		Player_Set_Combat_Mode(true);
		Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 5, 0, false, true);
		Actor_Says(kActorAnsweringMachine, 280, kAnimationModeTalk);
		Actor_Says(kActorAnsweringMachine, 290, kAnimationModeTalk);
		Actor_Says(kActorAnsweringMachine, 300, kAnimationModeTalk);
		Police_Maze_Set_Pause_State(false);
		//return true;
		return;
	}
}