コード例 #1
0
ファイル: ma04.cpp プロジェクト: 86400/scummvm
void ScriptMA04::sub_402F2C() {
	Actor_Says(6, 530, 3);
	Actor_Says(0, 2545, 19);
	Actor_Says(6, 540, 3);
	Actor_Says(6, 550, 3);
	Actor_Says(0, 2550, 13);
	Actor_Says(6, 560, 3);
	Actor_Says(0, 2555, 19);
	Actor_Says(6, 570, 3);
	Actor_Says(0, 2560, 17);
	Actor_Says(6, 580, 3);
	if (Game_Flag_Query(165) || Actor_Query_Goal_Number(9) == 2) {
		Actor_Says(6, 630, 3);
		Actor_Says_With_Pause(0, 2575, 0.0f, 15);
		if (!Game_Flag_Query(378)) {
			Actor_Says(6, 640, 3);
		}
		Actor_Clue_Acquire(0, 142, 1, -1);
	} else {
		Actor_Says(6, 590, 3);
		Actor_Says(0, 2565, 12);
		Actor_Says(6, 600, 3);
		Actor_Says(6, 610, 3);
		Actor_Says(6, 620, 3);
		Actor_Says(0, 2570, 13);
		Actor_Says_With_Pause(6, 630, 0.0f, 3);
		Actor_Says_With_Pause(0, 2575, 0.0f, 15);
		if (!Game_Flag_Query(378)) {
			Actor_Says(6, 640, 3);
		}
		Actor_Clue_Acquire(0, 141, 1, -1);
	}
	Sound_Play(123, 100, 0, 0, 50);
}
コード例 #2
0
ファイル: nr07.cpp プロジェクト: 86400/scummvm
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();
}
コード例 #3
0
ファイル: nr07.cpp プロジェクト: 86400/scummvm
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);
}
コード例 #4
0
ファイル: ma04.cpp プロジェクト: 86400/scummvm
void ScriptMA04::sub_4034D8() {
	Actor_Says(5, 330, 3);
	Actor_Says(0, 2580, 14);
	Actor_Says(5, 340, 3);
	Actor_Says(0, 2585, 19);
	Actor_Says(5, 350, 3);
	Actor_Says(5, 360, 3);
	Actor_Says(0, 2590, 18);
	Actor_Says(5, 370, 3);
	Actor_Says(0, 2595, 15);
	Actor_Says(5, 390, 3);
	Actor_Says(5, 400, 3);
	Actor_Says(5, 410, 3);
	Actor_Says(0, 2600, 15);
	Actor_Says_With_Pause(5, 420, 1.5f, 3);
	Actor_Says(0, 2605, 17);
	Actor_Says(5, 430, 3);
	Actor_Says(5, 440, 3);
	Actor_Says(0, 2610, 3);
	Actor_Says(5, 450, 3);
	Actor_Says(5, 460, 3);
	Actor_Says(5, 470, 3);
	Actor_Says(5, 480, 3);
	Actor_Says(5, 490, 3);
	Actor_Says(0, 2615, 17);
	Actor_Says(5, 500, 3);
	Actor_Says(5, 530, 3);
	Actor_Says(5, 540, 3);
	Sound_Play(123, 100, 0, 0, 50);
	Actor_Clue_Acquire(0, 143, 1, -1);
}
コード例 #5
0
ファイル: nr11.cpp プロジェクト: 86400/scummvm
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;
}
コード例 #6
0
ファイル: bb05.cpp プロジェクト: BenCastricum/scummvm
void SceneScriptBB05::PlayerWalkedIn() {
	if (Game_Flag_Query(298)) {
		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 303.0f, 0, 0, false, 0);
		Game_Flag_Reset(298);
	} else if (Game_Flag_Query(300)) {
		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, 0, false, 0);
		Game_Flag_Reset(300);
	} else if (Game_Flag_Query(302)) {
		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, 0, false, 0);
		Game_Flag_Reset(302);
	} else {
		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, 0, false, 0);
		Game_Flag_Reset(285);
	}
	if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
		Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
		Actor_Face_Actor(kActorMcCoy, kActorSebastian, true);
		Actor_Says(kActorSebastian, 120, 13);
		Actor_Says(kActorMcCoy, 7030, 15);
		Actor_Says(kActorSebastian, 130, 17);
		Actor_Says(kActorSebastian, 140, 16);
		Actor_Says(kActorSebastian, 150, 14);
		Actor_Says(kActorSebastian, 160, 15);
		Actor_Says(kActorMcCoy, 7035, 14);
		Actor_Says(kActorSebastian, 170, 12);
		Actor_Says(kActorMcCoy, 7040, 14);
		Actor_Says(kActorSebastian, 180, 16);
		Actor_Says(kActorMcCoy, 7045, 14);
		if (Game_Flag_Query(399)) {
			Actor_Says(kActorSebastian, 190, 15);
			Actor_Says(kActorMcCoy, 7050, 17);
			Actor_Says(kActorSebastian, 200, 16);
			Actor_Says_With_Pause(kActorSebastian, 210, 1.5f, 14);
			Actor_Says(kActorMcCoy, 7055, 15);
		} else {
			Actor_Put_In_Set(kActorGeneralDoll, 22);
			Actor_Set_At_Waypoint(kActorGeneralDoll, 134, 0);
			Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 135, 0, 0, false);
			Actor_Says(kActorGeneralDoll, 0, 3);
			Actor_Face_Actor(kActorMcCoy, kActorGeneralDoll, true);
			Actor_Face_Actor(kActorSebastian, kActorGeneralDoll, true);
			Actor_Says(kActorSebastian, 220, 13);
			Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 134, 0, 0, false);
			Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
			Actor_Face_Actor(kActorMcCoy, kActorSebastian, true);
			Actor_Says(kActorSebastian, 230, 15);
			Actor_Says(kActorMcCoy, 7060, 17);
			Actor_Says(kActorSebastian, 240, 12);
		}
		Actor_Says(kActorMcCoy, 7065, 16);
		Actor_Says(kActorSebastian, 250, 16);
		Actor_Says(kActorMcCoy, 7070, 18);
		Actor_Set_Goal_Number(kActorSebastian, 205);
		Actor_Set_Goal_Number(kActorGeneralDoll, 201);
		Actor_Set_Goal_Number(kActorBryant, 101);
		Actor_Set_Goal_Number(kActorGeneralDoll, 200);
	}
}
コード例 #7
0
ファイル: nr07.cpp プロジェクト: 86400/scummvm
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);
}
コード例 #8
0
ファイル: nr07.cpp プロジェクト: 86400/scummvm
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);
}
コード例 #9
0
ファイル: crazylegs.cpp プロジェクト: BenCastricum/scummvm
void AIScriptCrazylegs::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) {
	if (Actor_Query_Goal_Number(kActorCrazylegs) != 2 && !otherActorId) {
		if (combatMode && Global_Variable_Query(kVariableChapter) < 5) {
			Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, 1);
			Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, 1);
			Actor_Says(kActorCrazylegs, 430, 3);
			Actor_Says_With_Pause(kActorCrazylegs, 440, 0.0, 3);
			Actor_Says(kActorMcCoy, 1870, -1);
			Actor_Says(kActorCrazylegs, 450, 3);
			Actor_Set_Goal_Number(kActorCrazylegs, 210);
		} else if (Actor_Query_Goal_Number(kActorCrazylegs) == 210) {
			Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, 1);
			Actor_Says(kActorCrazylegs, 460, 3);
			Actor_Says(kActorCrazylegs, 470, 3);
			Actor_Set_Goal_Number(kActorCrazylegs, 2);
		}
	}
}
コード例 #10
0
ファイル: dr04.cpp プロジェクト: athrxx/scummvm
bool SceneScriptDR04::ClickedOnActor(int actorId) {
	if ( actorId == kActorMoraji
	 && !Player_Query_Combat_Mode()
	) {
		if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiLayDown) {
			if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 109, 0, true, true)) {
				Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
				Actor_Says(kActorMcCoy, 945, 13);
				Actor_Says(kActorMoraji, 0, kAnimationModeTalk);
				Actor_Says(kActorMoraji, 10, kAnimationModeTalk);
				Actor_Says(kActorMcCoy, 950, 13);
				Actor_Says(kActorMoraji, 20, kAnimationModeTalk);
				Actor_Says(kActorMoraji, 30, kAnimationModeTalk);
				Actor_Says(kActorMcCoy, 955, 13);
				Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, kAnimationModeTalk);
				Actor_Says(kActorMoraji, 50, kAnimationModeTalk);
				Actor_Clue_Acquire(kActorMcCoy, kClueMorajiInterview, true, kActorMoraji);
				Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDie);
				Actor_Set_Goal_Number(kActorOfficerGrayford, 101); // Grayford arrives at scene of Moraji corpse
				return true;
			}
		}

		if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDead) {
			if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMoraji, 36, true, false)) {
#if BLADERUNNER_ORIGINAL_BUGS
				Actor_Set_Goal_Number(kActorOfficerGrayford, 106);
#else
				// bugfix: original code would result in this conversation repeating multiple times if:
				// Officer Grayford is at 103 goal (asking "What do you know about this?"...
				// and the player skips the conversation fast.
				// So ask about a sheet (goal 106) for Moraji only when Grayford starts patrolling (104, 105 goals)
				if (Actor_Query_Goal_Number(kActorOfficerGrayford) == 104
				 || Actor_Query_Goal_Number(kActorOfficerGrayford) == 105
				) {
					Actor_Set_Goal_Number(kActorOfficerGrayford, 106); // This goal reverts to the previous one after finishing up
				}
#endif // BLADERUNNER_ORIGINAL_BUGS
				return true;
			}
		}
	}
	return false;
}
コード例 #11
0
ファイル: dr05.cpp プロジェクト: 86400/scummvm
bool ScriptDR05::ClickedOnItem(int itemId, bool a2) {
	if (itemId == 78) {
		if (Player_Query_Combat_Mode()) {
			Game_Flag_Set(271);
			Actor_Set_Goal_Number(35, 30);
		} else if (!Game_Flag_Query(272) && !Loop_Actor_Walk_To_Item(0, 78, 24, 1, true) && Actor_Query_Goal_Number(35) != 11) {
			if (!Actor_Query_Goal_Number(35)) {
				Actor_Says_With_Pause(0, 1015, 0.1f, 12);
				Actor_Says(35, 70, 13);
			}
			Actor_Set_Goal_Number(35, 30);
		}
		//return true; //bug?
	}
	if (itemId == 122 && Player_Query_Combat_Mode() && !Actor_Query_Goal_Number(35)) {
		Overlay_Play("DR05OVER", 1, 0, 1, 0);
		Item_Remove_From_World(122);
		Game_Flag_Set(270);
		Actor_Set_Goal_Number(35, 10);
		Music_Play(18, 71, 0, 0, -1, 0, 2);
		return true;
	}
	return false;
}
コード例 #12
0
ファイル: script.cpp プロジェクト: Herschel/scummvm
void ScriptBase::Actor_Says(int actorId, int sentenceId, int animationMode){
	_vm->loopActorSpeaking();
	_vm->_actorDialogueQueue->flush(1, true);
	Actor_Says_With_Pause(actorId, sentenceId, 0.5f, animationMode);
}
コード例 #13
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;
}
コード例 #14
0
ファイル: tb07.cpp プロジェクト: DrItanium/scummvm
void SceneScriptTB07::sub_401B0C() {
	Game_Flag_Set(612);
	Delay(1500);
	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, 0, false, 0);
	Actor_Face_Heading(kActorMcCoy, 178, true);
	Delay(3000);
	Actor_Put_In_Set(kActorRachael, 18);
	Actor_Set_At_XYZ(kActorRachael, -260.15f, 12.0f, -19.16f, 256);
	Actor_Change_Animation_Mode(kActorRachael, 0);
	Outtake_Play(39, 1, -1);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, 0, false, 0);
	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
	Actor_Says(kActorRachael, 480, 14);
	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
	Actor_Says(kActorMcCoy, 5315, 9);
	Actor_Says(kActorRachael, 490, 3);
	Actor_Face_Heading(kActorMcCoy, 178, true);
	Actor_Says(kActorMcCoy, 5320, 15);
	Actor_Says_With_Pause(kActorMcCoy, 5325, 1.0f, 19);
	Actor_Start_Speech_Sample(kActorRachael, 500);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, 0, false, 0);
	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
	Actor_Says(kActorMcCoy, 5330, 14);
	Actor_Says(kActorRachael, 510, 12);
	Actor_Says(kActorMcCoy, 5335, 16);
	Actor_Says(kActorRachael, 520, 17);
	Actor_Says(kActorMcCoy, 5340, 3);
	Actor_Start_Speech_Sample(kActorRachael, 530);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, 0, false, 0);
	Actor_Says(kActorRachael, 540, 16);
	Actor_Says(kActorMcCoy, 5345, 18);
	Actor_Says(kActorRachael, 550, 13);
	Actor_Says(kActorRachael, 570, 18);
	Actor_Says_With_Pause(kActorMcCoy, 5350, 0.0f, 18);
	Actor_Says(kActorRachael, 580, 16);
	Actor_Says(kActorMcCoy, 5355, 16);
	Actor_Says(kActorRachael, 590, 17);
	Actor_Says(kActorMcCoy, 5360, 17);
	Actor_Says(kActorMcCoy, 5365, 13);
	Actor_Says_With_Pause(kActorRachael, 600, 1.0f, 12);
	Actor_Says(kActorMcCoy, 5370, 3);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, 0, false, 0);
	Actor_Says(kActorRachael, 610, 13);
	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
	Actor_Says(kActorMcCoy, 5375, 18);
	Actor_Says(kActorMcCoy, 5380, 19);
	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
	Actor_Says(kActorRachael, 620, 18);
	Actor_Says_With_Pause(kActorMcCoy, 5385, 2.0f, 12);
	Actor_Says_With_Pause(kActorMcCoy, 5390, 2.0f, 14);
	Actor_Says(kActorMcCoy, 5395, 15);
	Actor_Says_With_Pause(kActorRachael, 630, 0.0f, 14);
	Actor_Says(kActorMcCoy, 5400, 18);
	Actor_Says(kActorMcCoy, 5405, 3);
	Actor_Says(kActorRachael, 640, 12);
	Actor_Says(kActorMcCoy, 5410, 16);
	Actor_Says(kActorRachael, 650, 15);
	Actor_Says_With_Pause(kActorMcCoy, 5415, 1.0f, 17);
	Actor_Says(kActorMcCoy, 5420, 14);
	Actor_Says(kActorRachael, 660, 15);
	Actor_Put_In_Set(kActorTyrell, 18);
	Actor_Set_At_XYZ(kActorTyrell, 68.0f, 12.0f, 288.0f, 0);
	Actor_Change_Animation_Mode(kActorTyrell, 0);
	Scene_Loop_Set_Default(3);
	Scene_Loop_Start_Special(2, 2, 0);
	Actor_Start_Speech_Sample(kActorTyrell, 0);
	Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, 0, false, 0);
	Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
	Actor_Face_Actor(kActorRachael, kActorTyrell, true);
	Actor_Says(kActorTyrell, 10, 12);
	Actor_Says(kActorTyrell, 20, 3);
	Actor_Says(kActorTyrell, 30, 12);
	Actor_Says(kActorMcCoy, 5425, 18);
	Actor_Set_Goal_Number(kActorRachael, 200);
	Actor_Says(kActorTyrell, 40, 15);
	Actor_Start_Speech_Sample(kActorTyrell, 50);
	Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, 0, false, 0);
	Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
	Actor_Says(kActorMcCoy, 5430, 17);
	Actor_Says(kActorMcCoy, 5435, 16);
	Actor_Says(kActorTyrell, 60, 14);
	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
	Actor_Says(kActorMcCoy, 5440, 14);
	Actor_Says(kActorTyrell, 70, 13);
	Actor_Says(kActorMcCoy, 5445, 15);
	Actor_Says_With_Pause(kActorTyrell, 80, 1.0f, 12);
	Actor_Says(kActorTyrell, 90, 15);
	Actor_Says_With_Pause(kActorMcCoy, 5450, 1.0f, 15);
	Actor_Says(kActorMcCoy, 5455, 12);
	Actor_Says(kActorTyrell, 100, 14);
	Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, 0, kActorRachael);
	Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, 0, kActorTyrell);
	Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, 0, false, 0);
}
コード例 #15
0
ファイル: ma04.cpp プロジェクト: 86400/scummvm
void ScriptMA04::sub_4028A8() {
	int answer;
	Actor_Says(3, 220, 3);
	Actor_Says(0, 2460, 0);
	Actor_Says(3, 230, 3);
	Actor_Says(3, 240, 3);
	Actor_Says(0, 2465, 0);
	Actor_Says(3, 250, 3);
	Actor_Says_With_Pause(0, 2470, 1.5f, 17);
	Actor_Says(3, 260, 3);
	Actor_Says(0, 2475, 15);
	Actor_Says(3, 270, 3);
	Actor_Says(0, 2480, 0);
	Actor_Says(3, 280, 3);
	Actor_Says(3, 290, 3);
	Actor_Says(0, 2485, 19);
	Actor_Says(3, 300, 3);
	Actor_Says(3, 310, 3);
	Actor_Says(0, 2490, 0);
	Actor_Says(3, 330, 3);
	Actor_Says(0, 2495, 0);
	Actor_Says(3, 340, 3);
	Actor_Says(3, 350, 3);
	if (Game_Flag_Query(165) || Actor_Query_Goal_Number(9) == 2) {
		answer = 1170;
	} else {
		Dialogue_Menu_Clear_List();
		DM_Add_To_List_Never_Repeat_Once_Selected(1160, 1, 1, 2);
		DM_Add_To_List_Never_Repeat_Once_Selected(1170, 2, 1, 1);
		Dialogue_Menu_Appear(320, 240);
		answer = Dialogue_Menu_Query_Input();
		Dialogue_Menu_Disappear();
	}
	if (answer == 1160) {
		Actor_Says(0, 2500, 19);
		Actor_Says(3, 360, 3);
		Actor_Says(0, 2510, 0);
		Actor_Says(3, 370, 3);
		Actor_Says(3, 380, 3);
		Actor_Says(0, 2515, 12);
		Actor_Says(3, 390, 3);
		Actor_Says(0, 2520, 13);
		Actor_Says(3, 400, 3);
		Actor_Says(3, 410, 3);
		Actor_Says(0, 2525, 15);
		Actor_Says(3, 420, 3);
		Sound_Play(123, 100, 0, 0, 50);
		Actor_Clue_Acquire(0, 139, 1, -1);
	} else {
		Actor_Says_With_Pause(0, 2505, 0.5f, 19);
		Actor_Says(3, 430, 3);
		Actor_Says(3, 440, 3);
		Actor_Says(0, 2530, 0);
		Actor_Says(3, 450, 3);
		Actor_Says(0, 2535, 12);
		Actor_Says(3, 460, 3);
		Actor_Says_With_Pause(3, 470, 1.0f, 3);
		Actor_Says(3, 480, 3);
		Actor_Says(3, 490, 3);
		Sound_Play(123, 100, 0, 0, 50);
		Actor_Says(0, 2540, 15);
		Actor_Clue_Acquire(0, 140, 1, -1);
	}
}
コード例 #16
0
ファイル: gaff.cpp プロジェクト: fingolfin/scummvm
bool AIScriptGaff::GoalChanged(int currentGoalNumber, int newGoalNumber) {
	switch (newGoalNumber) {
	case kGoalGaffCT12WaitForMcCoy:
		Actor_Put_In_Set(kActorGaff, kSetCT01_CT12);
		Actor_Set_At_Waypoint(kActorGaff, 43, 0);
		return true;

	case kGoalGaffCT12GoToSpinner:
		AI_Movement_Track_Append(kActorGaff, 123, 1);
		AI_Movement_Track_Repeat(kActorGaff);
		return true;

	case kGoalGaffMA01ApproachMcCoy:
		Player_Loses_Control();
		AI_Movement_Track_Flush(kActorGaff);
		AI_Movement_Track_Append(kActorGaff, 124, 0);
		AI_Movement_Track_Append(kActorGaff, 126, 0);
		AI_Movement_Track_Repeat(kActorGaff);
		return true;

	case kGoalGaffMA01Leave:
		AI_Movement_Track_Flush(kActorGaff);
		AI_Movement_Track_Append(kActorGaff, 124, 0);
		AI_Movement_Track_Append(kActorGaff, 35, 0);
		AI_Movement_Track_Repeat(kActorGaff);
		return true;

	case kGoalGaffCT12Leave:
		AI_Movement_Track_Flush(kActorGaff);
		AI_Movement_Track_Append(kActorGaff, 35, 90);
		AI_Movement_Track_Repeat(kActorGaff);
		return true;

	case kGoalGaffCT12FlyAway:
		Game_Flag_Reset(kFlagCT12GaffSpinner);
		Scene_Loop_Set_Default(2);
		Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
		return true;

	case kGoalGaffStartWalkingAround:
		AI_Movement_Track_Flush(kActorGaff);
		AI_Movement_Track_Append(kActorGaff, 35, 300);
		AI_Movement_Track_Repeat(kActorGaff);
		return true;

	case kGoalGaffWalkAround:
		{
			AI_Movement_Track_Flush(kActorGaff);
			AI_Movement_Track_Append(kActorGaff, 82, 1);
			AI_Movement_Track_Append(kActorGaff, 76, 1);
			AI_Movement_Track_Append(kActorGaff, 78, 1);
			int rnd = Random_Query(1, 3);
			if (rnd == 1) {
				AI_Movement_Track_Append(kActorGaff, 271, 0);
				AI_Movement_Track_Append(kActorGaff, 272, 0);
				AI_Movement_Track_Append(kActorGaff, 273, 0);
			} else if (rnd == 2) {
				AI_Movement_Track_Append(kActorGaff, 273, 0);
				AI_Movement_Track_Append(kActorGaff, 272, 0);
				AI_Movement_Track_Append(kActorGaff, 271, 0);
			} else if (rnd == 3) {
				AI_Movement_Track_Append(kActorGaff, 272, 0);
				AI_Movement_Track_Append(kActorGaff, 273, 0);
			}
			AI_Movement_Track_Append(kActorGaff, 274, 0);
			AI_Movement_Track_Append(kActorGaff, 275, 0);
			AI_Movement_Track_Repeat(kActorGaff);
		}
		return true;

	case kGoalGaffRepeatWalkingAround:
		AI_Movement_Track_Flush(kActorGaff);
		AI_Movement_Track_Append(kActorGaff, 35, 90);
		AI_Movement_Track_Repeat(kActorGaff);
		return true;

	case 299:
		AI_Movement_Track_Flush(kActorGaff);
		Actor_Put_In_Set(kActorGaff, kSetFreeSlotC);
		Actor_Set_At_Waypoint(kActorGaff, 35, 0);
		return true;

	case kGoalGaffMA07Wait:
		Player_Loses_Control();
		Actor_Put_In_Set(kActorGaff, kSetMA07);
		Actor_Set_At_XYZ(kActorGaff, -102.54f, -172.43f, 463.18f, 1015);
		Actor_Set_Goal_Number(kActorGaff, kGoalGaffMA07TalkToMcCoy);
		return true;

	case kGoalGaffMA07TalkToMcCoy:
		Game_Flag_Set(kFlagMA07GaffTalk);
		Actor_Face_Actor(kActorGaff, kActorMcCoy, true);
		Actor_Says(kActorGaff, 110, 12);
		Actor_Face_Actor(kActorMcCoy, kActorGaff, true);
		Actor_Says(kActorMcCoy, 2945, 14);
		Loop_Actor_Walk_To_Actor(kActorGaff, kActorMcCoy, 180, false, false);
		Actor_Says(kActorGaff, 120, 16);
		Actor_Says(kActorGaff, 130, 13);
		Actor_Says(kActorMcCoy, 2950, kAnimationModeTalk);
		Actor_Says(kActorMcCoy, 2955, 16);
		Actor_Says_With_Pause(kActorGaff, 140, 1.0f, 14);
		Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorGaff, 36, false, false);
		Actor_Says(kActorGaff, 150, kAnimationModeTalk);
		Actor_Says(kActorMcCoy, 2960, 12);
		Actor_Says_With_Pause(kActorGaff, 160, 1.0f, 16);
		Actor_Says(kActorMcCoy, 2965, 13);
		Actor_Says_With_Pause(kActorGaff, 170, 1.0f, kAnimationModeTalk);
		Actor_Says_With_Pause(kActorGaff, 180, 1.0f, 12);
		Actor_Says(kActorGaff, 190, 14);
		Actor_Says(kActorGaff, 200, 15);
		Async_Actor_Walk_To_XYZ(kActorGaff, -388.44f, -162.8f, 165.08f, false, false);
		Delay(4000);
		Player_Gains_Control();
		Actor_Start_Speech_Sample(kActorGaff, 210);
		Actor_Set_Goal_Number(kActorGaff, kGoalGaffMA07Left);
		return true;

	case kGoalGaffMA07Left:
		return true;

	case kGoalGaffMA07ShootMcCoy:
		Actor_Face_Actor(kActorGaff, kActorMcCoy, true);
		Actor_Change_Animation_Mode(kActorGaff, kAnimationModeCombatAttack);
		Sound_Play(kSfxSMCAL3, 100, 0, 0, 50);
		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
		Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1);
		return true;

	case kGoalGaffGone:
		AI_Movement_Track_Flush(kActorGaff);
		Actor_Put_In_Set(kActorGaff, kSetKP05_KP06);
		Actor_Set_At_XYZ(kActorGaff, -782.15f, 8.26f, -263.64f, 52);
		return true;
	}
	return false;
}
コード例 #17
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;
}
コード例 #18
0
ファイル: ug18.cpp プロジェクト: athrxx/scummvm
void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
	if (actorId == kActorGuzza) {
		switch (newGoal) {
		case kGoalGuzzaUG18HitByMcCoy:
			Game_Flag_Set(kFlagMcCoyRetiredHuman);
			ADQ_Flush();
			Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 7);
			Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 10);
			Player_Loses_Control();
			Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
			ADQ_Add(kActorGuzza, 1220, 58);
			Scene_Exits_Enable();
			Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaUG18ShotByMcCoy);
			break;

		case kGoalGuzzaUG18MissedByMcCoy:
			ADQ_Flush();
			Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 7);
			Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 10);
			Player_Loses_Control();
			Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
			ADQ_Add(kActorGuzza, 1220, 58);
			Scene_Exits_Enable();
			Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaUG18ShootMcCoy);
			break;
		}
		return;
	}

	if (actorId == kActorSadik) {
		switch (newGoal) {
		case kGoalSadikUG18Decide:
			if (Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy) > 55
			 && Game_Flag_Query(kFlagMcCoyRetiredHuman)
			) {
				Actor_Says(kActorClovis, 660, 13);
				Actor_Says(kActorMcCoy, 5995, 13);
				Actor_Says(kActorClovis, 670, 13);
				Actor_Says(kActorMcCoy, 6000, 13);
				Actor_Says_With_Pause(kActorClovis, 680, 2.0f, 13);
				Actor_Says(kActorClovis, 690, 13);
				Actor_Says(kActorClovis, 700, 13);
				Actor_Set_Goal_Number(kActorSadik, kGoalSadikUG18Leave);
				Actor_Set_Goal_Number(kActorClovis, kGoalClovisUG18Leave);
			} else {
				Actor_Set_Goal_Number(kActorSadik, kGoalSadikUG18PrepareShootMcCoy);
				Actor_Set_Goal_Number(kActorClovis, kGoalClovisUG18Leave);
			}
			break;

		// goals 303, 304 and 305 are never set, cut out part of game?
		case 304:
			Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, -3);
			ADQ_Add(kActorSadik, 380, -1);
			Actor_Set_Goal_Number(kActorSadik, kGoalSadikUG18WillShootMcCoy);
			break;

		case 305:
			Actor_Change_Animation_Mode(kActorSadik, kAnimationModeCombatAttack);
			Sound_Play(12, 100, 0, 0, 50);
			Actor_Force_Stop_Walking(kActorMcCoy);
			Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
			Player_Loses_Control();
			Actor_Retired_Here(kActorMcCoy, 6, 6, true, kActorSadik);
			break;
		}
	}
}
コード例 #19
0
ファイル: tb07.cpp プロジェクト: fingolfin/scummvm
void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
	Game_Flag_Set(kFlagTB07RachaelTalk);
	Delay(1500);
	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, false, false, false);
	Actor_Face_Heading(kActorMcCoy, 178, true);
	Delay(3000);
	Actor_Put_In_Set(kActorRachael, kSetTB07);
	Actor_Set_At_XYZ(kActorRachael, -260.15f, 12.0f, -19.16f, 256);
	Actor_Change_Animation_Mode(kActorRachael, 0);
	Outtake_Play(kOuttakeRachel, true, -1);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, false, false, false);
	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
	Actor_Says(kActorRachael, 480, 14);
	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
	Actor_Says(kActorMcCoy, 5315, 9);
	Actor_Says(kActorRachael, 490, 3);
	Actor_Face_Heading(kActorMcCoy, 178, true);
	Actor_Says(kActorMcCoy, 5320, 15);
	Actor_Says_With_Pause(kActorMcCoy, 5325, 1.0f, 19);
	Actor_Start_Speech_Sample(kActorRachael, 500);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, false, false, false);
	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
	Actor_Says(kActorMcCoy, 5330, 14);
	Actor_Says(kActorRachael, 510, 12);
	Actor_Says(kActorMcCoy, 5335, 16);
	Actor_Says(kActorRachael, 520, 17);
	Actor_Says(kActorMcCoy, 5340, 3);
	Actor_Start_Speech_Sample(kActorRachael, 530);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, false, false, false);
	Actor_Says(kActorRachael, 540, 16);
	Actor_Says(kActorMcCoy, 5345, 18);
	Actor_Says(kActorRachael, 550, 13);
	Actor_Says(kActorRachael, 570, 18);
	Actor_Says_With_Pause(kActorMcCoy, 5350, 0.0f, 18);
	Actor_Says(kActorRachael, 580, 16);
	Actor_Says(kActorMcCoy, 5355, 16);
	Actor_Says(kActorRachael, 590, 17);
	Actor_Says(kActorMcCoy, 5360, 17);
	Actor_Says(kActorMcCoy, 5365, 13);
	Actor_Says_With_Pause(kActorRachael, 600, 1.0f, 12);
	Actor_Says(kActorMcCoy, 5370, 3);
	Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, false, false, false);
	Actor_Says(kActorRachael, 610, 13);
	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
	Actor_Says(kActorMcCoy, 5375, 18);
	Actor_Says(kActorMcCoy, 5380, 19);
	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
	Actor_Says(kActorRachael, 620, 18);
	Actor_Says_With_Pause(kActorMcCoy, 5385, 2.0f, 12);
	Actor_Says_With_Pause(kActorMcCoy, 5390, 2.0f, 14);
	Actor_Says(kActorMcCoy, 5395, 15);
	Actor_Says_With_Pause(kActorRachael, 630, 0.0f, 14);
	Actor_Says(kActorMcCoy, 5400, 18);
	Actor_Says(kActorMcCoy, 5405, 3);
	Actor_Says(kActorRachael, 640, 12);
	Actor_Says(kActorMcCoy, 5410, 16);
	Actor_Says(kActorRachael, 650, 15);
	Actor_Says_With_Pause(kActorMcCoy, 5415, 1.0f, 17);
	Actor_Says(kActorMcCoy, 5420, 14);
	Actor_Says(kActorRachael, 660, 15);
	Actor_Put_In_Set(kActorTyrell, kSetTB07);
	Actor_Set_At_XYZ(kActorTyrell, 68.0f, 12.0f, 288.0f, 0);
	Actor_Change_Animation_Mode(kActorTyrell, 0);
	Scene_Loop_Set_Default(kTB07LoopMainShadeDown);
	Scene_Loop_Start_Special(kSceneLoopModeOnce, kTB07LoopShadeDrop, false);
	Actor_Start_Speech_Sample(kActorTyrell, 0);
	Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, false, false, false);
	Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
	Actor_Face_Actor(kActorRachael, kActorTyrell, true);
	Actor_Says(kActorTyrell, 10, 12);
	Actor_Says(kActorTyrell, 20, 3);
	Actor_Says(kActorTyrell, 30, 12);
	Actor_Says(kActorMcCoy, 5425, 18);
	Actor_Set_Goal_Number(kActorRachael, kGoalRachaelLeavesAfterTyrellMeeting);
	Actor_Says(kActorTyrell, 40, 15);
	Actor_Start_Speech_Sample(kActorTyrell, 50);
	Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, false, false, false);
	Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
	Actor_Says(kActorMcCoy, 5430, 17);
	Actor_Says(kActorMcCoy, 5435, 16);
	Actor_Says(kActorTyrell, 60, 14);
	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
	Actor_Says(kActorMcCoy, 5440, 14);
	Actor_Says(kActorTyrell, 70, 13);
	Actor_Says(kActorMcCoy, 5445, 15);
	Actor_Says_With_Pause(kActorTyrell, 80, 1.0f, 12);
	Actor_Says(kActorTyrell, 90, 15);
	Actor_Says_With_Pause(kActorMcCoy, 5450, 1.0f, 15);
	Actor_Says(kActorMcCoy, 5455, 12);
	Actor_Says(kActorTyrell, 100, 14);
	Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, false, kActorRachael);
	Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, false, kActorTyrell);
	Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, false, false, false);
}
コード例 #20
0
ファイル: nr11.cpp プロジェクト: 86400/scummvm
bool ScriptNR11::ClickedOn3DObject(const char *objectName, bool a2) {

	if (Object_Query_Click("CLOTHING02", objectName) || Object_Query_Click("BOX27", objectName) || Object_Query_Click("BOX39", objectName) || Object_Query_Click("BOX44", objectName) || Object_Query_Click("DRESS", objectName) || Object_Query_Click("COATRACK", objectName) || Object_Query_Click("COLUMN3 DETS", objectName) || Object_Query_Click("COLUMN PIPE01", objectName) || Object_Query_Click("RECTANGLE02", objectName) || Object_Query_Click("COLUMN04", objectName) || Object_Query_Click("COATRACK01", objectName) || Object_Query_Click("SHIRT", objectName) || Object_Query_Click("SKIRT 02", objectName) || Object_Query_Click("CLOTHING B 03", objectName) || Object_Query_Click("BUST BUST", objectName)) {
		if (a2) {
			Actor_Set_Goal_Number(1, 211);
			Scene_Exits_Disable();
			sub_4028EC();
			Player_Loses_Control();
			if (!Player_Query_Combat_Mode()) {
				Player_Set_Combat_Mode(true);
			}
			Actor_Set_Goal_Number(0, 230);
			Scene_Loop_Set_Default(3);
			Scene_Loop_Start_Special(2, 2, 1);
		} else if (Actor_Query_Goal_Number(3) == 250) {
			if (!Loop_Actor_Walk_To_XYZ(0, 24.0f, 0.33f, 0.0f, 0, 1, false, 0)) {
				Actor_Face_XYZ(0, -180.0f, 0.0f, -170.0f, true);
				sub_4028EC();
				Actor_Set_Goal_Number(1, 211);
				if (Actor_Query_Friendliness_To_Other(3, 0) < 30) {
					Actor_Set_At_XYZ(3, 0.5f, 0.33f, -162.0f, 0);
					Loop_Actor_Walk_To_XYZ(3, -24.0f, 0.33f, -35.4f, 0, 0, true, 0);
					Actor_Face_Actor(0, 3, true);
					Actor_Change_Animation_Mode(3, 71);
					Delay(500);
					Actor_Change_Animation_Mode(0, 48);
					Delay(2000);
					Actor_Set_Goal_Number(0, 231);
				} else {
					Actor_Says(0, 3840, 18);
					Delay(1000);
					if (Actor_Query_Friendliness_To_Other(3, 0) > 59 && !Global_Variable_Query(45)) {
						Music_Play(21, 35, 0, 3, -1, 0, 0);
					}
					Loop_Actor_Walk_To_XYZ(3, -135.0f, 0.33000001f, -267.0f, 0, 0, false, 0);
					Actor_Face_Actor(3, 0, true);
					Actor_Face_Actor(0, 3, true);
					Actor_Clue_Acquire(0, 107, 1, 3);
					Actor_Says(3, 990, 13);
					Actor_Says(3, 1000, 14);
					Loop_Actor_Walk_To_Actor(3, 0, 108, 0, false);
					Actor_Says(0, 3845, 13);
					Actor_Says(0, 3850, 15);
					Actor_Says(3, 1010, 14);
					Actor_Says(0, 3855, 13);
					Actor_Says(3, 1020, 12);
					Actor_Says(0, 3860, 12);
					Actor_Says_With_Pause(3, 1030, 1.0f, 14);
					Actor_Says(3, 1040, 13);
					Actor_Says(0, 3865, 15);
					Actor_Says_With_Pause(3, 1050, 0.80000001f, 14);
					Actor_Says(3, 1060, 13);
					Actor_Says(0, 3870, 3);
					Actor_Says(3, 1070, 14);
					Actor_Modify_Friendliness_To_Other(3, 0, 5);
					if (Actor_Query_Friendliness_To_Other(3, 0) > 55 && !Global_Variable_Query(45)) {
						Global_Variable_Set(45, 2);
						Actor_Says(3, 1130, 17);
						Actor_Says(0, 6365, 12);
						Actor_Says(3, 1140, 14);
						Actor_Says(0, 6370, 14);
						Actor_Says(3, 1150, 12);
						Actor_Says(3, 1160, 16);
					}
					Actor_Says(3, 1080, 13);
					Actor_Says(0, 3875, 14);
					Actor_Says(3, 1090, 17);
					Music_Stop(4);
					Actor_Set_Goal_Number(3, 260);
					if (Global_Variable_Query(40) == 1) {
						Actor_Set_Goal_Number(1, 236);
					}
					Game_Flag_Set(591);
				}
			} else {
				if (Random_Query(1, 2) == 1) {
					Actor_Says(0, 8575, 14);
				} else {
					Actor_Says(0, 8580, 14);
				}
			}
		}
		return true;
	}
	return false;
}