Пример #1
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;
}
Пример #2
0
bool SceneScriptRC01::ClickedOnActor(int actorId) {
	if (actorId == kActorOfficerLeary && Global_Variable_Query(kVariableChapter) == 1) {
		if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorOfficerLeary, 36, true, false)) {
			Actor_Face_Actor(kActorMcCoy, kActorOfficerLeary, true);
			Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
			if (Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01WalkToCrowd) {
				Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
			}
			if (Game_Flag_Query(kFlagRC01GotOfficersStatement)) {
				Actor_Says(kActorMcCoy, 4535, 13);
				Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyTalking);
				if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA) && !Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewA)) {
					Actor_Face_Object(kActorOfficerLeary, "70_1", true);
					Actor_Says(kActorOfficerLeary, 100, 15);
					Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
					Actor_Clue_Acquire(kActorMcCoy, kClueCrowdInterviewA, true, kActorOfficerLeary);
					Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
				} else if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB) && !Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewB)) {
					Actor_Face_Object(kActorOfficerLeary, "70_5", true);
					Actor_Says(kActorOfficerLeary, 120, 19);
					Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
					Actor_Says(kActorOfficerLeary, 130, 14);
					I_Sez("JM: Did it have a huge, ugly piece of chrome on it?");
					Actor_Clue_Acquire(kActorMcCoy, kClueCrowdInterviewB, true, kActorOfficerLeary);
					Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
				} else {
					Actor_Says(kActorOfficerLeary, 90, 16);
					I_Sez("JM: This officer has a talent for vivid metaphors.");
					if (!Game_Flag_Query(kFlagRC01McCoyAndOfficerLearyArtMetaphor)) {
						I_Sez("DL: What is that supposed to mean?  I didn't write this line...");
						Actor_Says(kActorMcCoy, 4540, 16);
						Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyArtMetaphor);
					}
					Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
				}
			} else {
				I_Sez("MG: Hey, leave that officer alone. Can't you see he's busy?");
				I_Sez("JM: (...mmm, donuts...)");
				Game_Flag_Set(kFlagRC01GotOfficersStatement);
				Actor_Clue_Acquire(kActorMcCoy, kClueOfficersStatement, true, kActorOfficerLeary);
				Actor_Says(kActorMcCoy, 4515, 13);
				Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyTalking);
				Actor_Says(kActorOfficerLeary, 40, 13);
				if (!Game_Flag_Query(kFlagRC02Entered)) {
					Actor_Says(kActorOfficerLeary, 50, 14);
					Actor_Says(kActorOfficerLeary, 60, 15);
					I_Sez("MG: It's all fun and games until someone loses a tiger cub.");
					Actor_Says(kActorMcCoy, 4520, 18);
					Actor_Says(kActorOfficerLeary, 70, 16);
					Actor_Says(kActorMcCoy, 4525, 14);
					Actor_Says(kActorOfficerLeary, 80, 18);
					Actor_Says(kActorMcCoy, 4530, 15);
				}
				Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
			}
		}
		return true;
	}
	return false;
}
Пример #3
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;
}
Пример #4
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;
}
Пример #5
0
void ScriptNR07::sub_401C60() {
	Loop_Actor_Walk_To_XYZ(0, -109.0f, -73.0f, -89.0f, 0, 0, false, 0);
	Actor_Face_Object(0, "VASE", true);
	if (Actor_Query_Is_In_Current_Set(3)) {
		if (!Actor_Clue_Query(0, 97)) {
			Actor_Clue_Acquire(0, 97, 1, -1);
			int v0 = Actor_Query_Friendliness_To_Other(3, 0);
			if (v0 > 50) {
				Actor_Modify_Friendliness_To_Other(3, 0, 2);
			} else if (v0 <= 50) {
				Actor_Modify_Friendliness_To_Other(3, 0, -2);
			}
			Actor_Says(0, 3600, 19);
			Actor_Says(3, 550, 30);
			Actor_Says(0, 3605, 19);
			Actor_Says(3, 560, 31);
			Actor_Says(0, 3610, 19);
		}
	} else if (Actor_Clue_Query(0, 98)) {
		Actor_Says(0, 8585, 14);
	} else {
		Actor_Clue_Acquire(0, 98, 1, -1);
		Loop_Actor_Walk_To_Scene_Object(0, "VASE", 100, 1, false);
		Actor_Change_Animation_Mode(0, 23);
		Item_Pickup_Spin_Effect(935, 526, 268);
		Actor_Voice_Over(1690, 99);
		Actor_Voice_Over(1700, 99);
	}
}
Пример #6
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;
}
Пример #7
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;
}
Пример #8
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;
}
Пример #9
0
bool ScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("B.TV01", objectName) || Object_Query_Click("B.TV02", objectName) || Object_Query_Click("B.TV03", objectName) || Object_Query_Click("B.TV05", objectName) || Object_Query_Click("DESK", objectName)) {
		if (!Loop_Actor_Walk_To_Waypoint(0, 546, 0, 1, false)) {
			if (!Object_Query_Click("DESK", objectName)) {
				Actor_Face_Object(0, "B.TV01", true);
				Actor_Voice_Over(1530, 99);
				Actor_Voice_Over(1540, 99);
				Actor_Voice_Over(1550, 99);
			} else {
				Actor_Face_Object(0, "DESK", true);
				if (!Actor_Clue_Query(0, 56)) {
					Actor_Voice_Over(1600, 99);
					Actor_Voice_Over(1610, 99);
				} else if (Actor_Clue_Query(0, 100)) {
					Actor_Says(0, 8580, 3);
				} else {
					Actor_Clue_Acquire(0, 100, 0, -1);
					Item_Pickup_Spin_Effect(961, 247, 141);
					Actor_Voice_Over(1560, 99);
					Actor_Voice_Over(1570, 99);
					Actor_Voice_Over(1580, 99);
					Actor_Voice_Over(1590, 99);
				}

			}
		}
	} else if (Object_Query_Click("TORUS01", objectName)
		&& !Loop_Actor_Walk_To_XYZ(0, 18.56f, 0.0f, 38.86f, 0, 1, false, 0)
		&& !Game_Flag_Query(605)) {
		Unclickable_Object("TORUS01");
		Scene_Exits_Disable();
		Player_Loses_Control();
		Game_Flag_Set(605);
		Actor_Face_Object(0, "TORUS01", true);
		Item_Pickup_Spin_Effect(975, 358, 160);
		Actor_Voice_Over(1620, 99);
		Actor_Voice_Over(1630, 99);
		Actor_Clue_Acquire(0, 89, 0, -1);
		Actor_Set_Goal_Number(18, 201);
	}
	return false;
}
Пример #10
0
bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("B.TV01", objectName) || Object_Query_Click("B.TV02", objectName) || Object_Query_Click("B.TV03", objectName) || Object_Query_Click("B.TV05", objectName) || Object_Query_Click("DESK", objectName)) {
		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 546, 0, 1, false)) {
			if (!Object_Query_Click("DESK", objectName)) {
				Actor_Face_Object(kActorMcCoy, "B.TV01", true);
				Actor_Voice_Over(1530, kActorVoiceOver);
				Actor_Voice_Over(1540, kActorVoiceOver);
				Actor_Voice_Over(1550, kActorVoiceOver);
			} else {
				Actor_Face_Object(kActorMcCoy, "DESK", true);
				if (!Actor_Clue_Query(kActorMcCoy, kCluePeruvianLadyInterview)) {
					Actor_Voice_Over(1600, kActorVoiceOver);
					Actor_Voice_Over(1610, kActorVoiceOver);
				} else if (Actor_Clue_Query(kActorMcCoy, kClueCollectionReceipt)) {
					Actor_Says(kActorMcCoy, 8580, 3);
				} else {
					Actor_Clue_Acquire(kActorMcCoy, kClueCollectionReceipt, 0, -1);
					Item_Pickup_Spin_Effect(961, 247, 141);
					Actor_Voice_Over(1560, kActorVoiceOver);
					Actor_Voice_Over(1570, kActorVoiceOver);
					Actor_Voice_Over(1580, kActorVoiceOver);
					Actor_Voice_Over(1590, kActorVoiceOver);
				}

			}
		}
	} else if (Object_Query_Click("TORUS01", objectName)
		&& !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.56f, 0.0f, 38.86f, 0, 1, false, 0)
		&& !Game_Flag_Query(605)) {
		Unclickable_Object("TORUS01");
		Scene_Exits_Disable();
		Player_Loses_Control();
		Game_Flag_Set(605);
		Actor_Face_Object(kActorMcCoy, "TORUS01", true);
		Item_Pickup_Spin_Effect(975, 358, 160);
		Actor_Voice_Over(1620, kActorVoiceOver);
		Actor_Voice_Over(1630, kActorVoiceOver);
		Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQsClub, 0, -1);
		Actor_Set_Goal_Number(kActorEarlyQ, 201);
	}
	return false;
}
Пример #11
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);
		}
	}
}
Пример #12
0
bool SceneScriptCT05::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("STAIR1", objectName)) {
		Actor_Face_Object(kActorMcCoy, objectName, true);
		return true;
	}
	if (Object_Query_Click("STAIR2", objectName)) {
		Actor_Face_Object(kActorMcCoy, objectName, true);
		return true;
	}
	if (Object_Query_Click("GRGDOOR", objectName)) {
		Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "GRGDOOR", 24, true, false);
		Actor_Face_Object(kActorMcCoy, objectName, true);
		Actor_Says(kActorMcCoy, 8522, 12);
		return true;
	}
	if (Object_Query_Click("GRGDOOR2", objectName)) {
		Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "GRGDOOR2", 24, true, false);
		Actor_Face_Object(kActorMcCoy, objectName, true);
		Actor_Says(kActorMcCoy, 8522, 12);
		return true;
	}
	if (Object_Query_Click("TURBINE", objectName)) {
		Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "TURBINE", 36, true, false);
		Actor_Face_Object(kActorMcCoy, objectName, true);
		Actor_Says(kActorMcCoy, 8528, 12);
		return true;
	}
	if (Object_Query_Click("LFTDOOR", objectName)) {
		Actor_Face_Object(kActorMcCoy, objectName, true);
		Actor_Says(kActorMcCoy, 8522, 12);
		return true;
	}
	if (Object_Query_Click("BARREL", objectName)) {
		Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "BARREL", 36, true, false);
		Actor_Face_Object(kActorMcCoy, objectName, true);
		Actor_Says(kActorMcCoy, 8529, 12);
		return true;
	}
	if (Object_Query_Click("GRNDPIPE", objectName)) {
		Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "GRNDPIPE", 24, true, false);
		Actor_Face_Object(kActorMcCoy, objectName, true);
		Actor_Says(kActorMcCoy, 8528, 12);
		return true;
	}
	return false;
}
Пример #13
0
void ScriptNR07::sub_4020F0() {
	if (Actor_Clue_Query(3, 213) && Actor_Clue_Query(3, 214)) {
		Actor_Modify_Friendliness_To_Other(3, 0, -1);
	}
	Actor_Says(3, 610, 31);
	Actor_Says(0, 3645, 12);
	Actor_Says(3, 620, 30);
	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;
	}
	Actor_Face_Object(3, "VANITY", true);
}
Пример #14
0
bool SceneScriptCT05::ClickedOnExit(int exitId) {
	if (exitId == 0) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -128.42f, -109.91f, 112.83f, 0, true, false, false)) {
			Game_Flag_Set(kFlagCT05toCT12);
			if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffCT12WaitForMcCoy) {
				Overlay_Remove("ct05over");
			}
			Set_Enter(kSetCT01_CT12, kSceneCT12);
		}
		return true;
	}

	if (exitId == 1) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, true, false, false)) {
			Game_Flag_Set(kFlagCT05toCT04);
			if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffCT12WaitForMcCoy) {
				Overlay_Remove("ct05over");
				Actor_Set_Goal_Number(kActorGaff, kGoalGaffCT12Leave);
				Game_Flag_Set(kFlagMA01GaffApproachMcCoy);
			}
			Set_Enter(kSetCT03_CT04, kSceneCT04);
		}
		return true;
	}

	if (exitId == 2) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.99f, -109.91f, 288.79f, 0, true, false, false)) {
			Footstep_Sound_Override_On(2);
			Actor_Face_Object(kActorMcCoy, "STAIR 2", true);
			Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
			Actor_Set_At_XYZ(kActorMcCoy, 99.73f, -19.91f, 134.97f, 256);
			Loop_Actor_Travel_Stairs(kActorMcCoy, 5, true, kAnimationModeIdle);
			Footstep_Sound_Override_Off();
			Game_Flag_Set(kFlagCT05toCT06);
			if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffCT12WaitForMcCoy) {
				Overlay_Remove("ct05over");
			}
			Set_Enter(kSetCT06, kSceneCT06);
		}
		return true;
	}
	return false;
}
Пример #15
0
bool SceneScriptCT06::ClickedOnExit(int exitId) {
	if (exitId == 0) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.41f, -58.23f, -2.17f, 0, 1, false, 0)) {
			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
			Ambient_Sounds_Remove_All_Looping_Sounds(1);
			Game_Flag_Set(78);
			Set_Enter(28, kSceneCT05);
			Game_Flag_Reset(212);
		}
		return true;
	}
	if (exitId == 1) {
		if (Actor_Query_Goal_Number(kActorZuben) == 13) {
			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, 1, false, 0)) {
				Ambient_Sounds_Remove_Sound(196, true);
				Ambient_Sounds_Remove_Sound(197, true);
				Ambient_Sounds_Remove_Sound(198, true);
				Ambient_Sounds_Remove_Sound(199, true);
				Player_Loses_Control();
				Actor_Set_Goal_Number(kActorZuben, 11);
				Game_Flag_Reset(212);
			}
			return true;
		}
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, 1, false, 0)) {
			if (Global_Variable_Query(kVariableChapter) < 3) {
				Actor_Face_Object(kActorMcCoy, "DOOR", true);
				Actor_Says(kActorMcCoy, 8522, 12);
			} else {
				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
				Ambient_Sounds_Remove_All_Looping_Sounds(1);
				Game_Flag_Set(79);
				Set_Enter(6, kSceneCT08);
				Game_Flag_Reset(212);
			}
		}
	}
	return false;
}
Пример #16
0
bool SceneScriptUG02::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("GUN_1", objectName) || Object_Query_Click("GUN_2", objectName) || Object_Query_Click("CRATE_3", objectName)) {
		Actor_Face_Object(kActorMcCoy, "GUN_1", true);
		if (!Game_Flag_Query(449) && Global_Variable_Query(kVariableChapter) < 4) {
			Actor_Voice_Over(2430, kActorVoiceOver);
			Actor_Voice_Over(2440, kActorVoiceOver);
			Actor_Voice_Over(2450, kActorVoiceOver);
			Actor_Voice_Over(2460, kActorVoiceOver);
			Game_Flag_Set(449);
			Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsCache, 1, -1);
			return true;
		}
		if (Global_Variable_Query(kVariableChapter) <= 3) {
			Actor_Says(kActorMcCoy, 8580, 14);
			return false;
		}
		if (Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache) && !Actor_Clue_Query(kActorMcCoy, kClueIzosStashRaided)) {
			Actor_Voice_Over(2470, kActorVoiceOver);
			Actor_Voice_Over(2480, kActorVoiceOver);
			Actor_Voice_Over(2490, kActorVoiceOver);
			Actor_Voice_Over(2500, kActorVoiceOver);
			Actor_Clue_Acquire(kActorMcCoy, kClueIzosStashRaided, 1, -1);
		} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache)) {
			Actor_Voice_Over(2510, kActorVoiceOver);
			Actor_Voice_Over(2520, kActorVoiceOver);
			Actor_Voice_Over(2530, kActorVoiceOver);
		} else if (Game_Flag_Query(708)) {
			Actor_Says(kActorMcCoy, 8580, 14);
		} else {
			Item_Pickup_Spin_Effect(996, 360, 440);
			Actor_Says(kActorMcCoy, 8525, 14);
			Give_McCoy_Ammo(2, 18);
			Game_Flag_Set(708);
		}
		return true;
	}
	return false;
}
Пример #17
0
void ScriptNR07::sub_401A10() {
	Scene_Exits_Disable();
	Actor_Set_Goal_Number(25, 201);
	Actor_Says_With_Pause(3, 930, 1.0f, 30);
	Actor_Says_With_Pause(3, 910, 1.0f, 30);
	Actor_Face_Object(3, "VANITY", true);
	Actor_Says(3, 940, 31);
	Actor_Says(0, 3770, 19);
	Async_Actor_Walk_To_XYZ(0, -193.0f, -73.5f, -13.0f, 0, false);
	Actor_Says(3, 950, 31);
	Actor_Face_Actor(3, 0, true);
	Actor_Change_Animation_Mode(3, 4);
	Actor_Face_Actor(0, 3, true);
	Actor_Says(0, 3760, 19);
	Actor_Says(3, 960, 53);
	Actor_Says(3, 920, 53);
	Actor_Says(0, 3780, 0);
	Actor_Says(3, 970, 53);
	Actor_Voice_Over(1710, 99);
	Actor_Voice_Over(1720, 99);
	Actor_Voice_Over(1730, 99);
	Actor_Set_Goal_Number(33, 240);
}
Пример #18
0
void SceneScriptMA06::PlayerWalkedIn() {
	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 40.0f, 1.35f, 0.0f, 0, 0, false, 0);
	Actor_Face_Object(kActorMcCoy, "panel", true);
	Delay(500);
	activateElevator();
	if (isElevatorOnDifferentFloor()) {
		Sound_Play(114, 25, 0, 0, 50);
		Delay(4000);
	}
	Game_Flag_Reset(kFlagMA01toMA06);
	Game_Flag_Reset(kFlagMA02toMA06);
	Game_Flag_Reset(kFlagMA07toMA06);

	if (Game_Flag_Query(kFlagMA06toMA01)) {
		Set_Enter(49, 48);
	} else if (Game_Flag_Query(kFlagMA06ToMA02)) {
		Set_Enter(10, 49);
	} else { // kFlagMA06ToMA07
		Set_Enter(53, 53);
	}
	Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
	Sound_Play(208, 100, 50, 50, 50);
	//return true;
}