コード例 #1
0
ファイル: tb05.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
	if (itemId == 76 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 147.12f, -209.0f, 0, 1, false, 0)) {
		Actor_Face_Heading(kActorMcCoy, 126, false);
		Item_Remove_From_World(76);
		Item_Pickup_Spin_Effect(940, 295, 408);
		Actor_Voice_Over(2140, kActorVoiceOver);
		Actor_Voice_Over(2150, kActorVoiceOver);
		Actor_Voice_Over(2160, kActorVoiceOver);
		Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyEarring, 1, -1);
		return true;
	}
	if (itemId == 119 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.89f, 147.12f, -156.26f, 0, 1, false, 0)) {
		Actor_Face_Heading(kActorMcCoy, 126, false);
		Item_Remove_From_World(119);
		Item_Pickup_Spin_Effect(972, 449, 431);
		Actor_Voice_Over(4280, kActorVoiceOver);
		if (Game_Flag_Query(kFlagGordoIsReplicant)) {
			Actor_Voice_Over(4290, kActorVoiceOver);
			Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet1, 1, -1);
		} else {
			Actor_Voice_Over(4300, kActorVoiceOver);
			Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet2, 1, -1);
		}
	}
	return false;
}
コード例 #2
0
ファイル: hc03.cpp プロジェクト: 86400/scummvm
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;
}
コード例 #3
0
ファイル: tb06.cpp プロジェクト: 86400/scummvm
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;
}
コード例 #4
0
ファイル: tb05.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptTB05::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("MONITOR05", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 122.54f, 147.12f, -197.17f, 0, 1, false, 0)) {
		Actor_Face_Heading(kActorMcCoy, 38, false);
		if (!Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus) && !Game_Flag_Query(99)) {
			Actor_Clue_Acquire(kActorMcCoy, kClueAttemptedFileAccess, 1, -1);
			Actor_Voice_Over(2170, kActorVoiceOver);
			Actor_Voice_Over(2180, kActorVoiceOver);
			Actor_Voice_Over(2190, kActorVoiceOver);
			Actor_Voice_Over(2200, kActorVoiceOver);
			Game_Flag_Set(99);
			return true;
		}
		if (Game_Flag_Query(99) && !Game_Flag_Query(100) && !Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)) {
			if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1) || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
				Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, 1, -1);
				Actor_Voice_Over(2230, kActorVoiceOver);
				Item_Pickup_Spin_Effect(941, 352, 333);
				Actor_Voice_Over(2240, kActorVoiceOver);
				Actor_Voice_Over(2250, kActorVoiceOver);
				Actor_Voice_Over(2260, kActorVoiceOver);
				Game_Flag_Set(100);
				Game_Flag_Set(101);
			} else {
				Actor_Voice_Over(2270, kActorVoiceOver);
				Game_Flag_Set(100);
			}
			return true;
		}
		if (Game_Flag_Query(100) && !Game_Flag_Query(101)) {
			if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1) || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
				Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, 1, -1);
				Actor_Voice_Over(2230, kActorVoiceOver);
				Item_Pickup_Spin_Effect(941, 352, 333);
				Actor_Voice_Over(2240, kActorVoiceOver);
				Actor_Voice_Over(2250, kActorVoiceOver);
				Actor_Voice_Over(2260, kActorVoiceOver);
				Game_Flag_Set(101);
			} else {
				Actor_Voice_Over(2280, kActorVoiceOver);
				Actor_Voice_Over(2290, kActorVoiceOver);
				Game_Flag_Set(101);
			}
			return true;
		}
		if (Game_Flag_Query(101)) {
			Actor_Voice_Over(3700, kActorVoiceOver);
			return true;
		}
		return false;
	}
	return false;
}
コード例 #5
0
ファイル: bb07.cpp プロジェクト: athrxx/scummvm
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;
}
コード例 #6
0
ファイル: rc01.cpp プロジェクト: athrxx/scummvm
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;
}
コード例 #7
0
ファイル: nr07.cpp プロジェクト: 86400/scummvm
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);
	}
}
コード例 #8
0
ファイル: ma02.cpp プロジェクト: DrItanium/scummvm
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;
}
コード例 #9
0
ファイル: ct10.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptCT10::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("TUB", objectName)) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -41.0f, 0.0f, -106.0f, 0, 1, false, 0)) {
			Player_Loses_Control();
			Actor_Face_Heading(kActorMcCoy, 850, false);
			Actor_Change_Animation_Mode(kActorMcCoy, 38);
			Delay(1000);
			Sound_Play(338, 33, 0, 0, 50);
			Delay(3000);
			if (Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1)) {
				Actor_Voice_Over(3700, kActorVoiceOver);
			} else {
				Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale1, 1, -1);
				Item_Pickup_Spin_Effect(969, 364, 214);
			}
			Delay(1000);
			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -41.0f, 0.0f, -82.0f, 0, 0, false, 1);
			Player_Gains_Control();
		}
		return true;
	}
	if (Object_Query_Click("CABINETTOP", objectName) || Object_Query_Click("CABINETFRONT", objectName)) {
		sub_401844();
		return true;
	}
	return false;
}
コード例 #10
0
ファイル: ct04.cpp プロジェクト: AReim1982/scummvm
bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
	if (objectName) {
		if (!Game_Flag_Query(137) && !Game_Flag_Query(169) && !Actor_Query_Goal_Number(kActorTransient)) {
			Game_Flag_Set(137);
			Actor_Set_Goal_Number(kActorTransient, 2);
		}
		if (Game_Flag_Query(169) && !Game_Flag_Query(170) && !Game_Flag_Query(171) && !Game_Flag_Query(172) && Global_Variable_Query(1) == 1) {
			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -147.41f, -621.3f, 724.57f, 0, 1, false, 0)) {
				Player_Loses_Control();
				Actor_Face_Heading(kActorMcCoy, 792, false);
				Actor_Put_In_Set(kActorTransient, 99);
				Actor_Set_At_XYZ(kActorTransient, 0, 0, 0, 0);
				Actor_Change_Animation_Mode(kActorMcCoy, 40);
				Actor_Voice_Over(320, kActorVoiceOver);
				Actor_Voice_Over(330, kActorVoiceOver);
				Actor_Voice_Over(340, kActorVoiceOver);
				Game_Flag_Set(170);
				Game_Flag_Set(173);
			}
			return false;
		}
		if (Game_Flag_Query(170)) {
			if (Game_Flag_Query(172)) {
				Actor_Voice_Over(270, kActorVoiceOver);
				Actor_Voice_Over(280, kActorVoiceOver);
			} else if (Game_Flag_Query(171)) {
				Actor_Voice_Over(250, kActorVoiceOver);
				Actor_Voice_Over(260, kActorVoiceOver);
			} else {
				Actor_Voice_Over(230, kActorVoiceOver);
				Actor_Voice_Over(240, kActorVoiceOver);
				Game_Flag_Reset(173);
			}
			return true;
		}
		if (Game_Flag_Query(174)) {
			if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 75, 0, 1, false)) {
				Actor_Face_Heading(kActorMcCoy, 707, false);
				Actor_Change_Animation_Mode(kActorMcCoy, 38);
				Ambient_Sounds_Play_Sound(553, 45, 30, 30, 0);
				Actor_Voice_Over(1810, kActorVoiceOver);
				Actor_Voice_Over(1820, kActorVoiceOver);
				return true;
			}
			return false;
		}
		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 75, 0, 1, false)) {
			Actor_Face_Heading(kActorMcCoy, 707, false);
			Actor_Change_Animation_Mode(kActorMcCoy, 38);
			Actor_Clue_Acquire(kActorMcCoy, kClueLicensePlate, 1, -1);
			Item_Pickup_Spin_Effect(952, 392, 225);
			Game_Flag_Set(174);
			return true;
		}
	}
	return false;
}
コード例 #11
0
ファイル: nr04.cpp プロジェクト: 86400/scummvm
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;
}
コード例 #12
0
ファイル: nr04.cpp プロジェクト: BenCastricum/scummvm
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;
}
コード例 #13
0
ファイル: tb07.cpp プロジェクト: DrItanium/scummvm
bool SceneScriptTB07::ClickedOnItem(int itemId, bool a2) {
	if (!Loop_Actor_Walk_To_Item(kActorMcCoy, itemId, 36, 1, false)) {
		Actor_Face_Item(kActorMcCoy, itemId, true);
		if (itemId == 83) {
			Item_Pickup_Spin_Effect(941, 331, 296);
			Actor_Clue_Acquire(kActorMcCoy, kClueDNATyrell, 0, -1);
		}
		Item_Remove_From_World(itemId);
	}
	return false;
}
コード例 #14
0
ファイル: kp05.cpp プロジェクト: 86400/scummvm
bool ScriptKP05::ClickedOnItem(int itemId, bool a2) {
	if (itemId == 118) {
		if (!Loop_Actor_Walk_To_XYZ(0, -1058.0f, 0.0f, 852.0f, 0, 1, false, 0)) {
			Actor_Face_Item(0, 118, true);
			Actor_Clue_Acquire(0, 145, 1, -1);
			Item_Remove_From_World(118);
			Item_Pickup_Spin_Effect(960, 58, 321);
		}
	}
	return false;
}
コード例 #15
0
ファイル: ug02.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptUG02::ClickedOnItem(int itemId, bool a2) {
	if (itemId == 88) {
		Actor_Face_Item(kActorMcCoy, 88, true);
		Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, 1, -1);
		Game_Flag_Set(656);
		Item_Remove_From_World(88);
		Item_Pickup_Spin_Effect(963, 426, 316);
		return true;
	}
	return false;
}
コード例 #16
0
ファイル: tb07.cpp プロジェクト: fingolfin/scummvm
bool SceneScriptTB07::ClickedOnItem(int itemId, bool a2) {
	if (!Loop_Actor_Walk_To_Item(kActorMcCoy, itemId, 36, true, false)) {
		Actor_Face_Item(kActorMcCoy, itemId, true);
		if (itemId == kItemDNATyrell) {
			Item_Pickup_Spin_Effect(kModelAnimationDNADataDisc, 331, 296);
			Actor_Clue_Acquire(kActorMcCoy, kClueDNATyrell, false, -1);
		}
		Item_Remove_From_World(itemId);
	}
	return false;
}
コード例 #17
0
ファイル: ct11.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptCT11::ClickedOn2DRegion(int region) {
	if (region == 0 && Game_Flag_Query(725)) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
			Actor_Face_Heading(kActorMcCoy, 47, false);
			Item_Remove_From_World(115);
			Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, 0, -1);
			Item_Pickup_Spin_Effect(951, 510, 319);
			Game_Flag_Reset(725);
			Game_Flag_Set(645);
			Actor_Voice_Over(550, kActorVoiceOver);
			Actor_Voice_Over(560, kActorVoiceOver);
			Actor_Voice_Over(570, kActorVoiceOver);
			Actor_Voice_Over(580, kActorVoiceOver);
		}
		return true;
	}
	if (region == 1) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
			Actor_Face_Heading(kActorMcCoy, 47, false);
			int temp = 0;
			if (Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewB)) {
				temp = 1;
			}
			if (Actor_Clue_Query(kActorMcCoy, kCluePaintTransfer)) {
				++temp;
			}
			if (Actor_Clue_Query(kActorMcCoy, kClueLabPaintTransfer)) {
				++temp;
			}
			if (Actor_Clue_Query(kActorMcCoy, kClueLicensePlate)) {
				temp += 2;
			}
			if (Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)) {
				temp += 2;
			}
			if (Actor_Clue_Query(kActorMcCoy, kCluePartialLicenseNumber)) {
				temp += 2;
			}
			if (temp <= 2 || Actor_Clue_Query(kActorMcCoy, kClueCar)) {
				Actor_Says(kActorMcCoy, 8525, 12);
			} else {
				Actor_Voice_Over(510, kActorVoiceOver);
				Actor_Voice_Over(520, kActorVoiceOver);
				Actor_Voice_Over(530, kActorVoiceOver);
				Actor_Voice_Over(540, kActorVoiceOver);
				Actor_Clue_Acquire(kActorMcCoy, kClueCar, 0, -1);
				Scene_2D_Region_Remove(1);
			}
		}
		return true;
	}
	return false;
}
コード例 #18
0
ファイル: rc51.cpp プロジェクト: fingolfin/scummvm
bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
	if (itemId == kItemChopstickWrapper) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 17.97f, -1238.89f, 108053.5f, 0, false, false, false)) {
			Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
			Actor_Clue_Acquire(kActorMcCoy, kClueChopstickWrapper, true, -1);
			Item_Remove_From_World(kItemChopstickWrapper);
			Item_Pickup_Spin_Effect(kModelAnimationChopstickWrapper, 437, 407);
			Actor_Voice_Over(2010, kActorVoiceOver);
			Game_Flag_Set(kFlagRC51ChopstickWrapperTaken);
			return true;
		}
	}

	if (itemId == kItemCandy) {
		if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemCandy, 36, true, false)) {
			Actor_Face_Item(kActorMcCoy, kItemCandy, true);
			Actor_Clue_Acquire(kActorMcCoy, kClueCandy, true, -1);
			Item_Remove_From_World(kItemCandy);
			Item_Pickup_Spin_Effect(kModelAnimationCandy, 445, 230);
			Actor_Says(kActorMcCoy, 8735, 3);
			Actor_Says(kActorMcCoy, 8529, 3);
			Game_Flag_Set(kFlagRC51CandyTaken);
			return true;
		}
	}

	if (itemId == kItemToyDog) {
		if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemToyDog, 36, true, false)) {
			Actor_Face_Item(kActorMcCoy, kItemToyDog, true);
			Actor_Clue_Acquire(kActorMcCoy, kClueToyDog, true, -1);
			Item_Remove_From_World(kItemToyDog);
			Item_Pickup_Spin_Effect(kModelAnimationToyDog, 55, 376);
			Actor_Says(kActorMcCoy, 8525, 3);
			Actor_Says(kActorMcCoy, 8740, 3);
			Game_Flag_Set(kFlagRC51ToyDogTaken);
			return true;
		}
	}
	return false;
}
コード例 #19
0
ファイル: ug16.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
	if (Object_Query_Click("QUADPATCH05", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, 1, false, 0)) {
		Actor_Face_Heading(kActorMcCoy, 870, false);
		if (!Game_Flag_Query(597) && Game_Flag_Query(595)) {
			Game_Flag_Set(597);
			Delay(1000);
			Actor_Voice_Over(3480, kActorVoiceOver);
			Actor_Change_Animation_Mode(kActorMcCoy, 38);
			Sound_Play(339, 100, 0, 0, 50);
			Delay(1000);
			Item_Pickup_Spin_Effect(948, 460, 287);
			Actor_Voice_Over(2740, kActorVoiceOver);
			Actor_Voice_Over(2750, kActorVoiceOver);
			Actor_Voice_Over(2760, kActorVoiceOver);
			Actor_Voice_Over(2770, kActorVoiceOver);
			Actor_Clue_Acquire(kActorMcCoy, kClueFolder, 1, -1);
		} else {
			Actor_Says(kActorMcCoy, 8523, 12);
			Actor_Says(kActorMcCoy, 8635, 12);
		}
		return true;
	}
	if (Object_Query_Click("SCREEN 01", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, 1, false, 0)) {
		Actor_Face_Heading(kActorMcCoy, 870, false);
		if ((!Game_Flag_Query(595) && Actor_Query_Is_In_Current_Set(kActorLuther)) || Actor_Clue_Query(kActorMcCoy, kClueDNALutherLance) || Game_Flag_Query(568)) {
			Actor_Says(kActorMcCoy, 8525, 12);
			Actor_Says(kActorMcCoy, 8526, 12);
			return false;
		}
		Delay(2000);
		Actor_Face_Heading(kActorMcCoy, 1016, false);
		Delay(2000);
		Actor_Says(kActorMcCoy, 5725, 14);
		Delay(1000);
		Item_Pickup_Spin_Effect(941, 418, 305);
		Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, 1, -1);
		return true;
	}
	return false;
}
コード例 #20
0
ファイル: ug18.cpp プロジェクト: athrxx/scummvm
bool SceneScriptUG18::ClickedOnItem(int itemId, bool combatMode) {
	if (itemId == kItemBriefcase) {
		if (combatMode) {
			Item_Remove_From_World(kItemBriefcase);
		} else if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemBriefcase, 12, true, false)) {
			Item_Pickup_Spin_Effect(987, 368, 243);
			Item_Remove_From_World(itemId);
			Game_Flag_Set(kFlagUG18BriefcaseTaken);
			Actor_Clue_Acquire(kActorMcCoy, kClueBriefcase, true, kActorGuzza);
		}
	}
	return false;
}
コード例 #21
0
ファイル: ct10.cpp プロジェクト: BenCastricum/scummvm
void SceneScriptCT10::sub_401844() {
	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 10.6f, 0.0f, -50.5f, 0, 1, false, 0)) {
		Player_Loses_Control();
		Actor_Face_Heading(kActorMcCoy, 0, false);
		Sound_Play(339, 100, 0, 0, 50);
		Delay(1000);
		if (Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge)) {
			Actor_Voice_Over(3700, kActorVoiceOver);
		} else {
			Item_Pickup_Spin_Effect(931, 435, 258);
			Actor_Clue_Acquire(kActorMcCoy, kClueHoldensBadge, 1, -1);
		}
		Player_Gains_Control();
	}
}
コード例 #22
0
ファイル: ct08.cpp プロジェクト: athrxx/scummvm
bool SceneScriptCT08::ClickedOnItem(int itemId, bool a2) {
	if (itemId == kItemCheese) {
		if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemCheese, 36, true, false)) {
			if (!Game_Flag_Query(kFlagMcCoyTiedDown)) {
				Actor_Clue_Acquire(kActorMcCoy, kClueCheese, true, -1);
				Item_Pickup_Spin_Effect(936, 266, 328);
				Item_Remove_From_World(kItemCheese);
				Actor_Voice_Over(480, kActorVoiceOver);
				Actor_Voice_Over(490, kActorVoiceOver);
				Actor_Voice_Over(500, kActorVoiceOver);
			}
		}
		return true;
	}
	return false;
}
コード例 #23
0
ファイル: tb06.cpp プロジェクト: 86400/scummvm
bool ScriptTB06::ClickedOnActor(int actorId) {
	if (actorId == 21 && !Loop_Actor_Walk_To_Actor(0, 21, 24, 1, false)) {
		if (Actor_Clue_Query(0, 49)) {
			Actor_Says(0, 8665, 13);
			return false;
		}
		Actor_Voice_Over(2300, 99);
		Actor_Voice_Over(2310, 99);
		Item_Pickup_Spin_Effect(974, 66, 397);
		Actor_Voice_Over(2320, 99);
		if (Game_Flag_Query(48)) {
			Actor_Voice_Over(2330, 99);
			Actor_Voice_Over(2340, 99);
		}
		Actor_Voice_Over(2350, 99);
		Actor_Clue_Acquire(0, 49, 1, -1);
		return true;
	}
	return false;
}
コード例 #24
0
ファイル: ug02.cpp プロジェクト: BenCastricum/scummvm
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;
}
コード例 #25
0
ファイル: ct06.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptCT06::ClickedOnActor(int actorId) {
	if (actorId == 19) {
		Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorZuben, 24, 1, false);
		Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
		if (Game_Flag_Query(145)) {
			Actor_Says(kActorMcCoy, 8570, 13);
			return false;
		}
		Actor_Clue_Acquire(kActorMcCoy, kClueZuben, 1, -1);
		Item_Pickup_Spin_Effect(984, 340, 369);
		Actor_Voice_Over(350, kActorVoiceOver);
		Actor_Voice_Over(360, kActorVoiceOver);
		Actor_Voice_Over(370, kActorVoiceOver);
		if (!Game_Flag_Query(kFlagDirectorsCut)) {
			Actor_Voice_Over(380, kActorVoiceOver);
			Actor_Voice_Over(390, kActorVoiceOver);
			Actor_Voice_Over(400, kActorVoiceOver);
			Actor_Voice_Over(410, kActorVoiceOver);
		}
		Game_Flag_Set(145);
		return true;
	}
	return false;
}
コード例 #26
0
ファイル: nr04.cpp プロジェクト: BenCastricum/scummvm
void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
	if (actorId == 18) {
		switch (newGoal) {
		case 214:
			Actor_Change_Animation_Mode(kActorEarlyQ, 29);
			Delay(2500);
			Actor_Says(kActorEarlyQ, 290, 3);
			sub_401DB0();
			//return true;
			break;
		case 213:
			Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, 0, kActorEarlyQ);
			Item_Pickup_Spin_Effect(984, 200, 160);
			Actor_Says(kActorEarlyQ, 200, 30);
			Actor_Says(kActorEarlyQ, 210, 30);
			Actor_Says(kActorEarlyQ, 220, 30);
			Actor_Says_With_Pause(kActorMcCoy, 3425, 1.5f, 23);
			Actor_Says(kActorMcCoy, 3430, 3);
			Actor_Says(kActorEarlyQ, 240, 30);
			Actor_Says(kActorMcCoy, 3435, 3);
			Actor_Says(kActorEarlyQ, 250, 30);
			Actor_Says(kActorMcCoy, 3440, 3);
			Actor_Says(kActorEarlyQ, 280, 30);
			Actor_Says(kActorMcCoy, 3445, 3);
			Actor_Set_Goal_Number(kActorEarlyQ, 214);
			//return true;
			break;
		case 209:
			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
			Delay(3000);
			Actor_Says(kActorEarlyQ, 170, 30);
			Actor_Says(kActorMcCoy, 3415, 3);
			Actor_Says(kActorEarlyQ, 180, 30);
			Actor_Says_With_Pause(kActorMcCoy, 3420, 1.5f, 3);
			Actor_Says(kActorEarlyQ, 190, 30);
			Actor_Set_Goal_Number(kActorEarlyQ, 211);
			//return true;
			break;
		case 207:
			Loop_Actor_Walk_To_Waypoint(kActorEarlyQ, 445, 0, 1, false);
			Actor_Face_Heading(kActorEarlyQ, 49, false);
			Actor_Change_Animation_Mode(kActorEarlyQ, 85);
			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
			Actor_Set_Goal_Number(kActorEarlyQ, 208);
			Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, 0, kActorEarlyQ);
			//return true;
			break;
		case 204:
			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
			Actor_Says(kActorEarlyQ, 90, 73);
			Actor_Says(kActorMcCoy, 3390, 3);
			Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
			Actor_Says(kActorEarlyQ, 110, 74);
			Actor_Says(kActorMcCoy, 3385, 3);
			Actor_Says(kActorEarlyQ, 120, 74);
			Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
			Actor_Set_Goal_Number(kActorEarlyQ, 205);
			//return true;
			break;
		case 202:
			Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
			Actor_Says(kActorEarlyQ, 30, 3);
			Actor_Says(kActorMcCoy, 3375, 3);
			Actor_Says_With_Pause(kActorEarlyQ, 50, 1.5f, 3);
			Actor_Says(kActorEarlyQ, 60, 3);
			Actor_Says_With_Pause(kActorMcCoy, 3380, 1.0f, 3);
			Actor_Says(kActorEarlyQ, 70, 3);
			Actor_Says(kActorMcCoy, 3415, 3);
			Actor_Says(kActorEarlyQ, 80, 3);
			Player_Gains_Control();
			Actor_Set_Goal_Number(kActorEarlyQ, 203);
			//return true;
			break;
		}
	}
	//return false;
}
コード例 #27
0
ファイル: hf01.cpp プロジェクト: 86400/scummvm
bool ScriptHF01::ClickedOnActor(int actorId) {
	int v1;
	if (Global_Variable_Query(45) == 2) {
		v1 = 3;
	} else if (Global_Variable_Query(45) == 3) {
		v1 = 6;
	} else {
		v1 = -1;
	}
	if (actorId == 22 || actorId == 31) {
		if (!Loop_Actor_Walk_To_XYZ(0, 504.04f, 8.0f, -242.17f, 12, 1, false, 0)) {
			ADQ_Flush();
			Actor_Face_Actor(0, 31, true);
			if (Game_Flag_Query(382)) {
				sub_4026B4();
			} else {
				Actor_Says(0, 1455, 15);
				Actor_Says(31, 40, 13);
				Actor_Says(0, 1460, 13);
				Actor_Says(31, 50, 12);
				Item_Pickup_Spin_Effect(951, 396, 359);
				Actor_Face_Heading(31, 271, false);
				Actor_Says(31, 60, 12);
				Actor_Says(0, 1465, 15);
				Actor_Face_Actor(31, 0, true);
				Actor_Says(31, 70, 13);
				Actor_Says(0, 1470, 14);
				Actor_Says(22, 30, 3);
				Actor_Says(31, 80, 15);
				Actor_Says(22, 50, 3);
				Actor_Says(31, 110, 14);
				Game_Flag_Set(382);
			}
			return true;
		}
		return false;
	}
	if (actorId == v1) {
		if (!Loop_Actor_Walk_To_Actor(0, actorId, 28, 1, false)) {
			if (Actor_Query_Goal_Number(v1) == 599) {
				Actor_Says(0, 8630, 13);
				return true;
			}
			if (Global_Variable_Query(1) == 5 && (Actor_Clue_Query(0, 139) || Actor_Clue_Query(0, 141)) && !Game_Flag_Query(165) && Actor_Query_Goal_Number(9) != 2 && Game_Flag_Query(653) && !Game_Flag_Query(662)) {
				Game_Flag_Set(662);
				Actor_Face_Actor(0, v1, true);
				Actor_Face_Actor(v1, 0, true);
				if (v1 == 3) {
					sub_4032DC();
				} else if (v1 == 6) {
					sub_403484();
				}
				Async_Actor_Walk_To_XYZ(v1, -175.0f, 8.0f, -617.0f, 0, false);
				Loop_Actor_Walk_To_XYZ(0, -137.0f, 8.0f, -577.0f, 0, 0, false, 1);
				Game_Flag_Set(312);
				Set_Enter(41, 38);
			}
		}
	}
	return false;
}
コード例 #28
0
ファイル: hc02.cpp プロジェクト: athrxx/scummvm
bool SceneScriptHC02::ClickedOnActor(int actorId) {
	if (actorId == kActorHawkersBarkeep) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.51f, 0.14f, 62.74f, 0, true, false, 0)) {
			Actor_Face_Actor(kActorMcCoy, kActorHawkersBarkeep, true);
			if (!Game_Flag_Query(kFlagHC02HawkersBarkeepIntroduction)) {
				Actor_Says(kActorMcCoy, 1225, 13);
				Actor_Says_With_Pause(kActorHawkersBarkeep, 0, 0.0f, 13);
				Actor_Says(kActorHawkersBarkeep, 10, 16);
				Actor_Set_Goal_Number(kActorHawkersBarkeep, 1);
				Actor_Change_Animation_Mode(kActorMcCoy, 23);
				Delay(1500);
				Actor_Change_Animation_Mode(kActorMcCoy, 75);
				Delay(1500);
				Global_Variable_Increment(kVariableMcCoyDrinks, 1);
				Game_Flag_Set(kFlagHC02HawkersBarkeepIntroduction);
			} else if ( Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)
			        && !Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityDisc)
			) {
				Actor_Says(kActorMcCoy, 4545, 11);
				Actor_Says(kActorHawkersBarkeep, 120, 12);
				Actor_Says(kActorHawkersBarkeep, 180, 13);
				Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityDisc, true, kActorHawkersBarkeep);
				Item_Pickup_Spin_Effect(975, 229, 215);
			} else if ( Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1)
			        && !Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe)
			        &&  (Global_Variable_Query(kVariableChinyen) > 20
			         ||  Query_Difficulty_Level() == 0
			        )
			) {
				Actor_Clue_Acquire(kActorMcCoy, kClueFlaskOfAbsinthe, true, kActorHawkersBarkeep);
				Actor_Says(kActorMcCoy, 1230, 13);
				Actor_Says(kActorHawkersBarkeep, 20, 12);
				Actor_Says(kActorMcCoy, 1235, 13);
				Actor_Says(kActorHawkersBarkeep, 30, 15);
				Actor_Says(kActorMcCoy, 1240, 13);
				Actor_Says(kActorHawkersBarkeep, 40, 14);
				Item_Pickup_Spin_Effect(945, 229, 215);
				Actor_Set_Goal_Number(kActorHawkersBarkeep, 2);
				Actor_Change_Animation_Mode(kActorMcCoy, 23);
				Delay(1500);
				Actor_Says_With_Pause(kActorHawkersBarkeep, 50, 1.6f, 17);
				if (Query_Difficulty_Level() != 0) {
					Global_Variable_Decrement(kVariableChinyen, 20);
				}
				Actor_Says(kActorMcCoy, 1245, 13);
			} else {
				if ( Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet)
				 && !Game_Flag_Query(kFlagHC02HawkersBarkeepBraceletTalk)
				) {
					Actor_Says(kActorHawkersBarkeep, 80, 16);
					Actor_Says(kActorMcCoy, 1265, 13);
					Actor_Says(kActorHawkersBarkeep, 90, 13);
					Game_Flag_Set(kFlagHC02HawkersBarkeepBraceletTalk);
				}
				if (Global_Variable_Query(kVariableChinyen) > 5
				 || Query_Difficulty_Level() == 0
				) {
					if (Query_Difficulty_Level() != 0) {
						Global_Variable_Decrement(kVariableChinyen, 5);
					}
					Global_Variable_Increment(kVariableMcCoyDrinks, 1);
					Actor_Says(kActorMcCoy, 1250, 13);
					Actor_Says_With_Pause(kActorHawkersBarkeep, 60, 0.8f, 14);
					Actor_Says(kActorMcCoy, 1255, 13);
					Actor_Set_Goal_Number(kActorHawkersBarkeep, 1);
					Actor_Change_Animation_Mode(kActorMcCoy, 23);
					Delay(1500);
					Actor_Change_Animation_Mode(kActorMcCoy, 75);
					Delay(1500);
				} else {
					Actor_Says_With_Pause(kActorMcCoy, 1260, 0.3f, 13);
					Actor_Says(kActorHawkersBarkeep, 70, 14);
				}
			}
		}
		return true;
	}
	return false;
}
コード例 #29
0
ファイル: hf01.cpp プロジェクト: BenCastricum/scummvm
bool SceneScriptHF01::ClickedOnActor(int actorId) {
	int v1;
	if (Global_Variable_Query(kVariableAffectionTowards) == 2) {
		v1 = kActorDektora;
	} else if (Global_Variable_Query(kVariableAffectionTowards) == 3) {
		v1 = kActorLucy;
	} else {
		v1 = -1;
	}
	if (actorId == kActorMia || actorId == kActorMurray) {
		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 504.04f, 8.0f, -242.17f, 12, 1, false, 0)) {
			ADQ_Flush();
			Actor_Face_Actor(kActorMcCoy, kActorMurray, true);
			if (Game_Flag_Query(382)) {
				sub_4026B4();
			} else {
				Actor_Says(kActorMcCoy, 1455, 15);
				Actor_Says(kActorMurray, 40, 13);
				Actor_Says(kActorMcCoy, 1460, 13);
				Actor_Says(kActorMurray, 50, 12);
				Item_Pickup_Spin_Effect(951, 396, 359);
				Actor_Face_Heading(kActorMurray, 271, false);
				Actor_Says(kActorMurray, 60, 12);
				Actor_Says(kActorMcCoy, 1465, 15);
				Actor_Face_Actor(kActorMurray, kActorMcCoy, true);
				Actor_Says(kActorMurray, 70, 13);
				Actor_Says(kActorMcCoy, 1470, 14);
				Actor_Says(kActorMia, 30, 3);
				Actor_Says(kActorMurray, 80, 15);
				Actor_Says(kActorMia, 50, 3);
				Actor_Says(kActorMurray, 110, 14);
				Game_Flag_Set(382);
			}
			return true;
		}
		return false;
	}
	if (v1 != -1 && actorId == v1) {
		if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 28, 1, false)) {
			if (Actor_Query_Goal_Number(v1) == 599) {
				Actor_Says(kActorMcCoy, 8630, 13);
				return true;
			}
			if (Global_Variable_Query(kVariableChapter) == 5 && (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1) || Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1)) && !Game_Flag_Query(165) && Actor_Query_Goal_Number(kActorCrazylegs) != 2 && Game_Flag_Query(653) && !Game_Flag_Query(662)) {
				Game_Flag_Set(662);
				Actor_Face_Actor(kActorMcCoy, v1, true);
				Actor_Face_Actor(v1, kActorMcCoy, true);
				if (v1 == kActorDektora) {
					sub_4032DC();
				} else if (v1 == kActorLucy) {
					sub_403484();
				}
				Async_Actor_Walk_To_XYZ(v1, -175.0f, 8.0f, -617.0f, 0, false);
				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, 8.0f, -577.0f, 0, 0, false, 1);
				Game_Flag_Set(312);
				Set_Enter(41, kSceneHF05);
			}
		}
	}
	return false;
}
コード例 #30
0
ファイル: ug16.cpp プロジェクト: BenCastricum/scummvm
void SceneScriptUG16::sub_401D78() {
	Dialogue_Menu_Clear_List();
	DM_Add_To_List_Never_Repeat_Once_Selected(1400, 5, 6, 2);
	DM_Add_To_List_Never_Repeat_Once_Selected(1410, 5, 4, 8);
	if (Game_Flag_Query(600) || Game_Flag_Query(601)) {
		DM_Add_To_List_Never_Repeat_Once_Selected(1420, 6, 4, 5);
		DM_Add_To_List_Never_Repeat_Once_Selected(1430, 6, 4, 5);
		DM_Add_To_List_Never_Repeat_Once_Selected(1440, 6, 4, 5);
	}
	if (Global_Variable_Query(49) > 1 && !Actor_Clue_Query(kActorMcCoy, kClueFolder)) {
		DM_Add_To_List_Never_Repeat_Once_Selected(1450, 6, 4, 5);
	}
	if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
		DM_Add_To_List_Never_Repeat_Once_Selected(1460, 6, 4, 5);
	}
	if (Actor_Clue_Query(kActorMcCoy, kClueDNATyrell) && !Actor_Clue_Query(kActorMcCoy, kClueFolder) && Game_Flag_Query(698)) {
		DM_Add_To_List_Never_Repeat_Once_Selected(1470, 6, 4, 5);
	}
	Dialogue_Menu_Add_DONE_To_List(1480);
	Dialogue_Menu_Appear(320, 240);
	int answer = Dialogue_Menu_Query_Input();
	Dialogue_Menu_Disappear();
	switch (answer) {
	case 1400:
		Actor_Says(kActorMcCoy, 5730, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLuther, 100, 18);
		Actor_Says(kActorMcCoy, 5775, 13);
		Actor_Says(kActorLance, 70, 17);
		Actor_Says(kActorLuther, 110, 16);
		Actor_Says(kActorLance, 80, 6);
		Actor_Says(kActorMcCoy, 5780, 13);
		Actor_Says(kActorLuther, 120, 16);
		Actor_Says(kActorLance, 120, 13);
		Actor_Says(kActorMcCoy, 5785, 13);
		Actor_Says(kActorLuther, 130, 6);
		Actor_Says(kActorMcCoy, 5825, 13);
		Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, -5);
		if (Game_Flag_Query(560)) {
			Actor_Says(kActorLuther, 140, 13);
			Actor_Says(kActorLuther, 150, 14);
			Actor_Says(kActorLuther, 160, 13);
			Actor_Says(kActorLance, 140, 16);
			Actor_Says(kActorMcCoy, 5790, 13);
			Actor_Says(kActorLuther, 170, 14);
			Game_Flag_Set(600);
			Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, 5);
		} else {
			Actor_Says(kActorLuther, 180, 14);
			Actor_Says(kActorMcCoy, 5795, 13);
			Actor_Says(kActorLance, 150, 17);
			Actor_Says(kActorMcCoy, 5800, 13);
			Actor_Says(kActorLuther, 190, 15);
			Game_Flag_Set(601);
			Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, -10);
		}
		break;
	case 1410:
		Actor_Says(kActorMcCoy, 5735, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLance, 160, 17);
		Actor_Says(kActorLuther, 200, 14);
		break;
	case 1420:
		Actor_Says(kActorMcCoy, 5740, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLance, 180, 15);
		Actor_Says(kActorLuther, 220, 13);
		Actor_Says(kActorLance, 190, 17);
		Actor_Says(kActorMcCoy, 5805, 13);
		Actor_Says(kActorLuther, 230, 14);
		Actor_Says(kActorLuther, 240, 13);
		Actor_Says(kActorLance, 200, 17);
		Actor_Says(kActorLuther, 260, 13);
		Actor_Says(kActorLuther, 270, 15);
		Actor_Says(kActorLance, 210, 14);
		Actor_Says(kActorMcCoy, 5810, 13);
		Actor_Says(kActorLance, 220, 14);
		Actor_Says(kActorLance, 230, 17);
		Actor_Clue_Acquire(kActorMcCoy, kClueLutherLanceInterview, 1, kActorLuther);
		break;
	case 1430:
		Actor_Says(kActorMcCoy, 5745, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLance, 240, 15);
		Actor_Says(kActorMcCoy, 5815, 13);
		Actor_Says(kActorLance, 250, 16);
		Actor_Says(kActorLuther, 290, 15);
		Actor_Says(kActorLance, 260, 15);
		break;
	case 1440:
		Actor_Says(kActorMcCoy, 5750, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLance, 280, 6);
		Actor_Says(kActorLuther, 300, 14);
		Actor_Says(kActorLuther, 310, 15);
		Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, -5);
		break;
	case 1450:
		Actor_Says(kActorMcCoy, 5755, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLance, 290, 17);
		Actor_Says(kActorLuther, 320, 16);
		Actor_Says(kActorMcCoy, 5820, 13);
		Actor_Says(kActorLance, 300, 17);
		Actor_Says(kActorLuther, 330, 14);
		Actor_Says(kActorMcCoy, 5825, 13);
		Actor_Says(kActorLuther, 340, 13);
		Actor_Says(kActorLance, 310, 13);
		Actor_Says(kActorLuther, 350, 13);
		Actor_Says(kActorLuther, 360, 15);
		Actor_Says(kActorMcCoy, 5830, 13);
		Actor_Says(kActorLance, 320, 16);
		Actor_Says(kActorLance, 330, 15);
		Game_Flag_Set(698);
		break;
	case 1460:
		Actor_Says(kActorMcCoy, 5760, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLuther, 370, 15);
		Actor_Says(kActorLance, 340, 14);
		Actor_Says(kActorMcCoy, 5835, 13);
		Actor_Says(kActorLuther, 380, 15);
		Actor_Says(kActorLance, 370, 6);
		Actor_Says(kActorMcCoy, 5840, 13);
		Actor_Says(kActorLance, 380, 13);
		break;
	case 1470:
		Actor_Says(kActorMcCoy, 5765, 13);
		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
		Actor_Says(kActorLance, 400, 15);
		Actor_Says(kActorMcCoy, 5845, 13);
		Actor_Says(kActorLuther, 390, 23);
		Actor_Says(kActorLance, 410, 14);
		Actor_Says(kActorLance, 420, 17);
		Actor_Says(kActorMcCoy, 5835, 13);
		Delay(1000);
		Item_Pickup_Spin_Effect(948, 239, 454);
		Actor_Voice_Over(2740, kActorVoiceOver);
		Actor_Voice_Over(2750, kActorVoiceOver);
		Actor_Voice_Over(2760, kActorVoiceOver);
		Actor_Voice_Over(2770, kActorVoiceOver);
		Actor_Says(kActorMcCoy, 5850, 13);
		Actor_Says(kActorLuther, 400, 15);
		Actor_Says(kActorLance, 430, 6);
		Actor_Says(kActorMcCoy, 5855, 13);
		Actor_Says(kActorLuther, 410, 14);
		Game_Flag_Set(597);
		Actor_Clue_Acquire(kActorMcCoy, kClueFolder, 1, kActorLuther);
		break;
	case 1480:
		Actor_Says(kActorMcCoy, 4595, 14);
		break;
	}
}