当前位置: 首页>>代码示例>>C++>>正文


C++ Actor_Query_Goal_Number函数代码示例

本文整理汇总了C++中Actor_Query_Goal_Number函数的典型用法代码示例。如果您正苦于以下问题:C++ Actor_Query_Goal_Number函数的具体用法?C++ Actor_Query_Goal_Number怎么用?C++ Actor_Query_Goal_Number使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了Actor_Query_Goal_Number函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Actor_Query_Goal_Number

void AIScriptSadik::Retired(int byActorId) {
	if ((Actor_Query_Goal_Number(kActorSadik) == 418
	  || Actor_Query_Goal_Number(kActorSadik) == 450
	 )
	 && Actor_Query_Which_Set_In(kActorSadik) != kSetKP07
	) {
		Scene_Exits_Enable();
	}

	if (Actor_Query_In_Set(kActorSadik, kSetKP07)) {
		Global_Variable_Decrement(kVariableReplicants, 1);
		Actor_Set_Goal_Number(kActorSadik, 599);

		if (Global_Variable_Query(kVariableReplicants) == 0) {
			Player_Loses_Control();
			Delay(2000);
			Player_Set_Combat_Mode(false);
			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
			Ambient_Sounds_Remove_All_Looping_Sounds(1);
			Game_Flag_Set(579);
			Game_Flag_Reset(653);
			Set_Enter(kSetKP05_KP06, kSceneKP06);
			return; //true;
		}
	}

	Actor_Set_Goal_Number(kActorSadik, 599);

	return; //false;
}
开发者ID:dreammaster,项目名称:scummvm,代码行数:31,代码来源:sadik.cpp

示例2: Actor_Set_Goal_Number

bool AIScriptMutant1::Update() {
	if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorMutant1) != 590) {
		if (Actor_Query_Which_Set_In(kActorMutant1) != Player_Query_Current_Set()) {
			Actor_Set_Goal_Number(kActorMutant1, 590);
		}

		return false;
	}

	if (Global_Variable_Query(kVariableChapter) != 4) {
		return false;
	}

	switch (Actor_Query_Goal_Number(kActorMutant1)) {
	case 400:
		if (!Game_Flag_Query(523) && Game_Flag_Query(524) == 1) {
			Actor_Set_Goal_Number(kActorMutant1, 401);
			Actor_Set_Goal_Number(kActorMutant2, 401);
			Actor_Set_Goal_Number(kActorMutant3, 401);
			Actor_Set_Targetable(kActorMutant1, 1);
			Actor_Set_Targetable(kActorMutant2, 1);
			Actor_Set_Targetable(kActorMutant3, 1);
			Game_Flag_Set(523);
		}
		break;

	case 401:
		if (Actor_Query_Which_Set_In(kActorMutant1) == Player_Query_Current_Set()
				&& (Actor_Query_Friendliness_To_Other(kActorMutant1, kActorMcCoy) < 30
				|| Actor_Query_Combat_Aggressiveness(70) >= 60)) {
			Actor_Set_Goal_Number(kActorMutant1, 410);
		}
		break;

	case 404:
		if (!Game_Flag_Query(630)) {
			Actor_Set_Goal_Number(kActorMutant1, 403);
		}
		break;

	case 410:
		if (Actor_Query_Which_Set_In(kActorMutant1) != Player_Query_Current_Set()) {
			Non_Player_Actor_Combat_Mode_Off(kActorMutant1);
			Actor_Set_Goal_Number(kActorMutant1, 403);
		}
		break;

	case 599:
		if (Actor_Query_Which_Set_In(kActorMutant1) != Player_Query_Current_Set()) {
			Actor_Set_Goal_Number(kActorMutant1, 411);
		}
		break;
	}

	if (Game_Flag_Query(630) == 1 && Actor_Query_Goal_Number(kActorMutant1) != 599) {
		Actor_Set_Goal_Number(kActorMutant1, 404);
	}

	return false;
}
开发者ID:dreammaster,项目名称:scummvm,代码行数:60,代码来源:mutant1.cpp

示例3: Actor_Query_Goal_Number

void AIScriptSadik::Retired(int byActorId) {
	if ((Actor_Query_Goal_Number(kActorSadik) == 418
	  || Actor_Query_Goal_Number(kActorSadik) == 450
	 )
	 && Actor_Query_Which_Set_In(kActorSadik) != kSetKP07
	) {
		Scene_Exits_Enable();
	}

	if (Actor_Query_In_Set(kActorSadik, kSetKP07)) {
		Global_Variable_Decrement(kVariableReplicantsSurvivorsAtMoonbus, 1); // can't Sadik still be human (Rep-sympathiser here? A bug?
		Actor_Set_Goal_Number(kActorSadik, kGoalSadikGone);

		if (Global_Variable_Query(kVariableReplicantsSurvivorsAtMoonbus) == 0) {
			Player_Loses_Control();
			Delay(2000);
			Player_Set_Combat_Mode(false);
			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
			Ambient_Sounds_Remove_All_Looping_Sounds(1);
			Game_Flag_Set(kFlagKP07toKP06);
			Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants);
			Set_Enter(kSetKP05_KP06, kSceneKP06);
			return; //true;
		}
	}

	Actor_Set_Goal_Number(kActorSadik, kGoalSadikGone);

	return; //false;
}
开发者ID:fingolfin,项目名称:scummvm,代码行数:31,代码来源:sadik.cpp

示例4: ADQ_Flush

void ScriptHF01::PlayerWalkedIn() {
	if (Game_Flag_Query(663)) {
		ADQ_Flush();
		ADQ_Add(24, 280, 3);
		Actor_Put_In_Set(23, 37);
		Actor_Set_At_XYZ(23, 8.2f, 8.0f, -346.67f, 1021);
		Actor_Put_In_Set(24, 37);
		Actor_Set_At_XYZ(24, 51.21f, 8.0f, -540.78f, 796);
		Non_Player_Actor_Combat_Mode_On(23, 3, 1, 0, 4, 4, 7, 8, 0, 0, 0, 100, 300, 0);
		Non_Player_Actor_Combat_Mode_On(24, 3, 1, 0, 4, 4, 7, 8, 0, 0, 0, 100, 300, 0);
	}
	if (!Game_Flag_Query(165) && Actor_Query_Goal_Number(9) != 2) {
		if (Actor_Clue_Query(0, 141) && Global_Variable_Query(45) == 3 && Actor_Query_Goal_Number(6) != 599) {
			Actor_Put_In_Set(6, 37);
			Actor_Set_At_XYZ(6, -5.0f, 8.0f, -622.0f, 419);
			Actor_Set_Targetable(6, true);
		} else if (Actor_Clue_Query(0, 139) && Global_Variable_Query(45) == 2 && Actor_Query_Goal_Number(3) != 599) {
			Actor_Put_In_Set(3, 37);
			Actor_Set_At_XYZ(3, -5.0f, 8.0f, -622.0f, 419);
			Actor_Set_Targetable(3, true);
		}
	}
	if (Game_Flag_Query(617)) {
		Actor_Set_Goal_Number(1, 280);
		Game_Flag_Reset(617);
		//return true;
		return;
	}
	if (Game_Flag_Query(652)) {
		Game_Flag_Reset(652);
		Actor_Voice_Over(950, 99);
		Actor_Voice_Over(960, 99);
		Actor_Voice_Over(970, 99);
		Actor_Voice_Over(980, 99);
	} else if (!Game_Flag_Query(377) && Global_Variable_Query(1) < 4) {
		ADQ_Flush();
		ADQ_Add(31, 0, 14);
		ADQ_Add(31, 10, 3);
		ADQ_Add(22, 0, 3);
		Actor_Face_Actor(31, 22, true);
		ADQ_Add(31, 20, 13);
		ADQ_Add(22, 10, 3);
		ADQ_Add(31, 30, 3);
		ADQ_Add(22, 20, 3);
		Actor_Face_Heading(31, 271, false);
		Game_Flag_Set(377);
	}
	if (Game_Flag_Query(311)) {
		Loop_Actor_Walk_To_XYZ(0, 124.0f, 8.0f, -724.0f, 0, 1, false, 0);
	} else if (Game_Flag_Query(309)) {
		Loop_Actor_Walk_To_XYZ(0, 406.0f, 8.0f, -717.0f, 0, 1, false, 0);
	} else if (!Game_Flag_Query(313)) {
		Loop_Actor_Walk_To_XYZ(0, 100.0f, 0.0f, -300.0f, 0, 1, false, 0);
	}
	Game_Flag_Reset(311);
	Game_Flag_Reset(309);
	Game_Flag_Reset(313);
	//return false;
}
开发者ID:86400,项目名称:scummvm,代码行数:59,代码来源:hf01.cpp

示例5: switch

bool AIScriptFreeSlotB::Update() {
	if (Global_Variable_Query(kVariableChapter) > 5) {
		return false;
	}

	if (Global_Variable_Query(kVariableChapter) == 4) {
		switch (Actor_Query_Goal_Number(kActorFreeSlotB)) {
		case 300:
			Actor_Set_Goal_Number(kActorFreeSlotB, 301);
			Actor_Set_Targetable(kActorFreeSlotB, 1);
			break;

		case 301:
			if (Actor_Query_Which_Set_In(kActorFreeSlotB) == Player_Query_Current_Set()
					&& Actor_Query_Inch_Distance_From_Actor(kActorFreeSlotB, kActorMcCoy) <= 48) {
				Actor_Set_Goal_Number(kActorFreeSlotB, 302);
			}
			break;

		case 302:
			if (Actor_Query_Which_Set_In(kActorFreeSlotB) != Player_Query_Current_Set()) {
				Actor_Set_Goal_Number(kActorFreeSlotB, 301);
			}
			break;

		case 599:
			if (Actor_Query_Which_Set_In(kActorFreeSlotB) != Player_Query_Current_Set()) {
				Actor_Set_Goal_Number(kActorFreeSlotB, 300);
			}
			break;

		default:
			Actor_Set_Goal_Number(kActorFreeSlotB, 300);
			break;
		}

		return false;
	}
	if (Actor_Query_Goal_Number(kActorFreeSlotB) < 400) {
		AI_Movement_Track_Flush(kActorFreeSlotB);
		Actor_Set_Goal_Number(kActorFreeSlotB, 400);
		return true;
	} else {
		if (Actor_Query_Goal_Number(kActorFreeSlotB) != 405 || Actor_Query_Which_Set_In(kActorMcCoy) != kSetKP02) {
			if (Actor_Query_Goal_Number(kActorFreeSlotB) == 599) {
				if (Actor_Query_Which_Set_In(kActorFreeSlotB) != Player_Query_Current_Set()) {
					Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotB);
					Actor_Set_Goal_Number(kActorFreeSlotB, 400);
					return true;
				}
			}
			return false;
		}
		Actor_Set_Goal_Number(kActorFreeSlotB, 406);
		Actor_Set_Targetable(kActorFreeSlotB, 1);
		return true;
	}
}
开发者ID:BenCastricum,项目名称:scummvm,代码行数:58,代码来源:free_slot_b.cpp

示例6:

int ScriptUG05::sub_4021B0() {
    if (Global_Variable_Query(45) == 2 && Actor_Query_Goal_Number(3) != 599) {
        return 3;
    }
    if (Global_Variable_Query(45) == 3 && Actor_Query_Goal_Number(6) != 599) {
        return 6;
    }
    return -1;
}
开发者ID:86400,项目名称:scummvm,代码行数:9,代码来源:ug05.cpp

示例7:

int SceneScriptUG05::sub_4021B0() {
	if (Global_Variable_Query(45) == 2 && Actor_Query_Goal_Number(kActorDektora) != 599) {
		return kActorDektora;
	}
	if (Global_Variable_Query(45) == 3 && Actor_Query_Goal_Number(kActorLucy) != 599) {
		return kActorLucy;
	}
	return -1;
}
开发者ID:AReim1982,项目名称:scummvm,代码行数:9,代码来源:ug05.cpp

示例8: Ambient_Sounds_Remove_All_Non_Looping_Sounds

void ScriptDR05::PlayerWalkedOut() {
	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
	Ambient_Sounds_Remove_All_Looping_Sounds(1);
	if (Actor_Query_Goal_Number(35) == 10 || Actor_Query_Goal_Number(35) == 18 || Actor_Query_Goal_Number(35) == 19) {
		Actor_Set_Goal_Number(35, 11);
		//return true;
	}
	//return false;
}
开发者ID:86400,项目名称:scummvm,代码行数:9,代码来源:dr05.cpp

示例9: Actor_Face_Actor

void AIScriptGaff::CompletedMovementTrack() {
	if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffMA01ApproachMcCoy) {
		Actor_Face_Actor(kActorGaff, kActorMcCoy, true);
		Actor_Says(kActorGaff, 0, kAnimationModeTalk);
		Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorGaff, 36, false, true);
		Actor_Face_Actor(kActorMcCoy, kActorGaff, true);
		Actor_Says(kActorMcCoy, 670, kAnimationModeTalk);
		Actor_Says(kActorGaff, 10, kAnimationModeTalk);
		Actor_Says(kActorMcCoy, 675, kAnimationModeTalk);
		if (Game_Flag_Query(kFlagZubenRetired)) {
			Actor_Says(kActorGaff, 50, kAnimationModeTalk);
			Actor_Says(kActorMcCoy, 695, kAnimationModeTalk);
			Actor_Says(kActorGaff, 60, kAnimationModeTalk);
			Actor_Says(kActorMcCoy, 700, kAnimationModeTalk);
			Actor_Says(kActorGaff, 70, kAnimationModeTalk);
			Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, true, -1);
		} else {
			Actor_Says(kActorGaff, 80, kAnimationModeTalk);
			Actor_Says(kActorGaff, 90, kAnimationModeTalk);
			Actor_Says(kActorMcCoy, 705, kAnimationModeTalk);
			Actor_Says(kActorGaff, 100, kAnimationModeTalk);
			Actor_Clue_Acquire(kActorGaff, kClueMcCoyLetZubenEscape, true, -1);
		}
		Actor_Says(kActorGaff, 20, kAnimationModeTalk);
		Actor_Says(kActorMcCoy, 680, kAnimationModeTalk);
		Actor_Says(kActorGaff, 30, kAnimationModeTalk);
		Actor_Says(kActorMcCoy, 685, kAnimationModeTalk);
		Actor_Says(kActorGaff, 40, kAnimationModeTalk);
		Actor_Says(kActorMcCoy, 690, kAnimationModeTalk);
		Actor_Clue_Acquire(kActorMcCoy, kClueGaffsInformation, true, kActorGaff);
		CDB_Set_Crime(kClueZuben, kCrimeMoonbusHijacking);
		Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, true, -1);
		Game_Flag_Set(kFlagGaffApproachedMcCoyAboutZuben);
		Player_Gains_Control();
		Actor_Set_Goal_Number(kActorGaff, kGoalGaffMA01Leave);
	}

	if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffCT12GoToSpinner) {
		Actor_Set_Goal_Number(kActorGaff, kGoalGaffCT12FlyAway);
	}

	if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffStartWalkingAround) {
		Actor_Set_Goal_Number(kActorGaff, kGoalGaffWalkAround);
		return;// true;
	}

	if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffWalkAround) {
		Actor_Set_Goal_Number(kActorGaff, kGoalGaffRepeatWalkingAround);
		return;// true;
	}

	if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffRepeatWalkingAround) {
		Actor_Set_Goal_Number(kActorGaff, kGoalGaffWalkAround);
		return;// true;
	}
	// return false;
}
开发者ID:fingolfin,项目名称:scummvm,代码行数:57,代码来源:gaff.cpp

示例10: Actor_Query_Goal_Number

void SceneScriptHF04::PlayerWalkedIn() {
	if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04Start
	 || Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04Run1
	) {
		Player_Set_Combat_Mode(true);
		Music_Play(kMusicBatl226M, 60, 0, 2, -1, 0, 0);
	}
	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -45.0f, -0.31f, 307.0f, 0, false, true, false);
	Delay(2500);
}
开发者ID:fingolfin,项目名称:scummvm,代码行数:10,代码来源:hf04.cpp

示例11: Actor_Set_Goal_Number

void AIScriptBryant::CompletedMovementTrack() {
	if (Actor_Query_Goal_Number(kActorBryant) == 101) {
		Actor_Set_Goal_Number(kActorBryant, 102);
		// return true;
	} else if (Actor_Query_Goal_Number(kActorBryant) == 102) {
		Actor_Set_Goal_Number(kActorBryant, 101);
		// return true;
	}
	// return false;
}
开发者ID:athrxx,项目名称:scummvm,代码行数:10,代码来源:bryant.cpp

示例12: Sound_Play

void SceneScriptHF04::SceneFrameAdvanced(int frame) {
	if (frame == 62) {
		Sound_Play(kSfxSTONDOR1, Random_Query(43, 43), 0, 0, 50);
	}

	if (frame == 154) {
		Sound_Play(kSfxSTONDOR2, Random_Query(43, 43), 0, 0, 50);
	}

	if (frame == 179
	 && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04WaitForMcCoy1
	) {
		Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF04Run3);
	}

	if (Game_Flag_Query(kFlagHF04CloseDoors)) {
		Game_Flag_Reset(kFlagHF04CloseDoors);
		Scene_Loop_Set_Default(kHF04LoopMainDoorsClosed);
		Scene_Loop_Start_Special(kSceneLoopModeOnce, kHF04LoopDoorsClosing, true);
		//return true;
		return;
	}

	if (Game_Flag_Query(kFlagHF04OpenDoors)) {
		Game_Flag_Reset(kFlagHF04OpenDoors);
		Scene_Loop_Set_Default(kHF04LoopMainLoop);
		Scene_Loop_Start_Special(kSceneLoopModeOnce, kHF04LoopDoorsOpening, true);
		return; // true;
	}

	if (frame == 89) {
		Game_Flag_Set(kFlagHF04DoorsClosed);
		Obstacle_Object("HIDE_WALL_A", false);
		Obstacle_Object("HIDE_WALL_B", false);
		Unobstacle_Object("PIVOT_WALL#1", false);
		Unobstacle_Object("PIVOT_WALL#02", false);
		Unobstacle_Object("PIVOT_WALL#03", true);
		return; // true;
	}

	if (frame == 180) {
		Unobstacle_Object("HIDE_WALL_A", false);
		Unobstacle_Object("HIDE_WALL_B", false);
		Obstacle_Object("PIVOT_WALL#1", false);
		Obstacle_Object("PIVOT_WALL#02", false);
		Obstacle_Object("PIVOT_WALL#03", true);
		Game_Flag_Reset(kFlagHF04DoorsClosed);
		if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF04Run2) {
			Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF04WaitForMcCoy1);
		}
		return; // true;
	}
	//return false;
}
开发者ID:fingolfin,项目名称:scummvm,代码行数:54,代码来源:hf04.cpp

示例13: Actor_Set_Health

bool AIScriptSadik::ShotAtAndHit() {
#if BLADERUNNER_ORIGINAL_BUGS // Sadik killed in BB09 dead end bug fix
#else
	if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikRunFromBB09) {
		// Like Izo's ShotAtAndHit() and the code below for kGoalSadikUG18Move
		// this will keep resetting Sadik's health to avoid killing him
		// Still, this is lowering Sadik's health from 80 (when Replicant) and 50 (when Human)
		if (Game_Flag_Query(kFlagSadikIsReplicant)) {
			Actor_Set_Health(kActorSadik, 60, 60);
		} else {
			Actor_Set_Health(kActorSadik, 40, 40);
		}
		return true;
	}
#endif // BLADERUNNER_ORIGINAL_BUGS
	if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikUG18Move) {
		// this lowers Sadik's original health but makes it impossible to kill him here (UG18)
		if (Game_Flag_Query(kFlagSadikIsReplicant)) {
#if BLADERUNNER_ORIGINAL_BUGS
			Actor_Set_Health(kActorSadik, 60, 60);
#else
			// Sadik killed in BB09 dead end bug fix
			if (Actor_Query_Current_HP(kActorSadik) == 60) { // shot also at Bradbury, so lower his health further
				Actor_Set_Health(kActorSadik, 50, 50);
			} else {
				Actor_Set_Health(kActorSadik, 60, 60);
			}
#endif
		} else {
#if BLADERUNNER_ORIGINAL_BUGS
			Actor_Set_Health(kActorSadik, 40, 40);
#else
			// Sadik killed in BB09 dead end bug fix
			if (Actor_Query_Current_HP(kActorSadik) == 40) { // shot also at Bradbury, so lower his health further
				Actor_Set_Health(kActorSadik, 30, 30);
			} else {
				Actor_Set_Health(kActorSadik, 40, 40);
			}
#endif
		}
		return true;
	}

	if (Actor_Query_Goal_Number(kActorSadik) == 414
	 || Actor_Query_Goal_Number(kActorSadik) == kGoalSadikUG18NeedsReactorCoreFromMcCoy
	) {
		Game_Flag_Set(kFlagMcCoyAttackedReplicants);
		if (Actor_Query_Which_Set_In(kActorSadik) != kSetKP07) {
			Actor_Set_Goal_Number(kActorSadik, 418);
			Scene_Exits_Disable();
		}
	}
	return false;
}
开发者ID:fingolfin,项目名称:scummvm,代码行数:54,代码来源:sadik.cpp

示例14: Actor_Set_Goal_Number

bool AIScriptLucy::Update() {
	float x, y, z;

	if (Global_Variable_Query(kVariableChapter) == 3 && Actor_Query_Goal_Number(kActorLucy) < 200) {
		Actor_Set_Goal_Number(kActorLucy, 200);
	}
	if (Actor_Query_Goal_Number(kActorLucy) == 230 && Player_Query_Current_Scene() == 37) {
		Actor_Set_Goal_Number(kActorLucy, 233);
	}
	if (Global_Variable_Query(kVariableChapter) == 4 && Actor_Query_Goal_Number(kActorLucy) < 300) {
		Actor_Set_Goal_Number(kActorLucy, 300);
	}
	if (Global_Variable_Query(kVariableChapter) == 4
			&& Actor_Query_Goal_Number(kActorLucy) == 599
			&& Actor_Query_Which_Set_In(kActorLucy) != 99) {
		if (Actor_Query_Which_Set_In(kActorLucy) != Player_Query_Current_Set()) {
			Actor_Put_In_Set(kActorLucy, kSetFreeSlotI);
			Actor_Set_At_Waypoint(kActorLucy, 41, 0);
		}
	}
	if (Game_Flag_Query(616) && Actor_Query_Goal_Number(kActorLucy) == 201) {
		Actor_Put_In_Set(kActorLucy, kSetHF03);
		Actor_Set_At_Waypoint(kActorLucy, 371, 156);
		Actor_Set_Goal_Number(kActorLucy, 250);
	}
	if (Actor_Query_Goal_Number(kActorLucy) > 229
			&& Actor_Query_Goal_Number(kActorLucy) < 239
			&& Actor_Query_Goal_Number(kActorLucy) != 232
			&& Player_Query_Current_Scene() == 37
			&& Actor_Query_Which_Set_In(kActorLucy) == 40
			&& !Game_Flag_Query(701)
			&& Actor_Query_Inch_Distance_From_Actor(kActorLucy, kActorMcCoy) < 84
			&& !Player_Query_Combat_Mode()
			&& Actor_Query_Friendliness_To_Other(kActorLucy, kActorMcCoy) > 40) {
		Actor_Set_Goal_Number(kActorLucy, 232);
	}
	if (Actor_Query_Goal_Number(kActorLucy) == 235) {
		Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
		if (z > -875.0f) {
			Game_Flag_Set(586);
			Actor_Set_Goal_Number(kActorLucy, 236);
		}
	}
	if (Actor_Query_Goal_Number(kActorLucy) == 237) {
		Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
		if (x > 350.0f) {
			Game_Flag_Set(585);
			Actor_Set_Goal_Number(kActorLucy, 238);
		}
	}

	return false;
}
开发者ID:BenCastricum,项目名称:scummvm,代码行数:53,代码来源:lucy.cpp

示例15: Game_Flag_Reset

void SceneScriptDR04::SceneFrameAdvanced(int frame) {
	if (Game_Flag_Query(kFlagDR05ViewExplosion)) {
		Game_Flag_Reset(kFlagDR05ViewExplosion);
		Game_Flag_Reset(kFlagDR05BombWillExplode);
		Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
		Scene_Loop_Start_Special(kSceneLoopModeOnce, kDR04LoopDR04Explosion, true);
		Music_Stop(4);
		Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiPerished);
	} else {
		if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
			Game_Flag_Reset(kFlagDR05BombWillExplode);
			Game_Flag_Set(kFlagDR05BombExploded);
			Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
			Scene_Loop_Start_Special(kSceneLoopModeOnce, kDR04LoopDR04Explosion, true);
			Item_Remove_From_World(kItemBomb);
		}

		switch (frame) {
		case 193:
			Sound_Play(301, 100, 0, 100, 50);
			Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
			Player_Loses_Control();
			Actor_Force_Stop_Walking(kActorMcCoy);
			if (farEnoughFromExplosion()) {
				if (Player_Query_Combat_Mode()) {
					Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatHit);
				} else {
					Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeHit);
				}
			} else {
				Sound_Play_Speech_Line(kActorMcCoy, 9905, 100, 0, 99);
				Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
				Actor_Retired_Here(kActorMcCoy, 6, 6, true, -1);
			}
			Player_Gains_Control();
			break;

		case 235:
			if (Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiJump
			 && Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiLayDown
			 && Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiPerished
			) {
				Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
			}
			Scene_Exits_Enable();
			break;

		case 237:
			Overlay_Play("DR04OVER", 0, true, true, 0);
			break;
		}
	}
}
开发者ID:athrxx,项目名称:scummvm,代码行数:53,代码来源:dr04.cpp


注:本文中的Actor_Query_Goal_Number函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。