bool ScriptBase::Loop_Actor_Walk_To_XYZ(int actorId, float x, float y, float z, int destinationOffset, int a5, bool run, int a7) { _vm->gameWaitForActive(); if(_vm->_walkingActorId == actorId) { if(a7) { _vm->_walkingActorId = -1; } else { run = true; } } //TODO: //PlayerActorIdle = 0; bool isRunning; bool result = _vm->_actors[actorId]->loopWalkToXYZ(Vector3(x, y, z), destinationOffset, a5, run, 1, &isRunning); // if (PlayerActorIdle == 1) { // result = 1; // PlayerActorIdle = 0; // } if(isRunning) { _vm->_walkingActorId = actorId; } Global_Variable_Set(37, actorId); Global_Variable_Set(38, isRunning); return result; }
bool ScriptBase::Loop_Actor_Walk_To_XYZ(int actorId, float x, float y, float z, int destinationOffset, bool interruptible, bool run, int a7) { _vm->gameWaitForActive(); if (_vm->_runningActorId == actorId) { if (a7) { _vm->_runningActorId = -1; } else { run = true; } } _vm->_playerActorIdle = false; bool isRunning; bool result = _vm->_actors[actorId]->loopWalkToXYZ(Vector3(x, y, z), destinationOffset, interruptible, run, true, &isRunning); if (_vm->_playerActorIdle) { result = true; _vm->_playerActorIdle = false; } if (isRunning) { _vm->_runningActorId = actorId; } Global_Variable_Set(kVariableWalkLoopActor, actorId); Global_Variable_Set(kVariableWalkLoopRun, isRunning); return result; }
bool ScriptBase::Loop_Actor_Walk_To_Scene_Object(int actorId, const char *objectName, int destinationOffset, bool a4, bool run) { _vm->gameWaitForActive(); if(_vm->_walkingActorId == actorId) { run = true; } bool isRunning; bool result = _vm->_actors[actorId]->loopWalkToSceneObject(objectName, destinationOffset, a4, run, true, &isRunning); if(isRunning == 1) { _vm->_walkingActorId = actorId; } Global_Variable_Set(37, actorId); Global_Variable_Set(38, isRunning); return result; }
void ScriptMA04::sub_403DA8() { if (!Loop_Actor_Walk_To_Scene_Object(0, "BED-SHEETS", 12, 1, false)) { Actor_Says(0, 8530, 12); Music_Stop(4); if (sub_402820() || sub_402758()) { Overlay_Remove("MA04OVER"); } Player_Loses_Control(); Game_Flag_Set(647); if ((Game_Flag_Query(40) || Game_Flag_Query(41)) && Global_Variable_Query(1) == 1) { if (Actor_Query_Goal_Number(19) == 599) { Actor_Put_In_Set(19, 91); Actor_Set_At_Waypoint(19, 33, 0); } Game_Flag_Set(678); Global_Variable_Set(1, 2); Chapter_Enter(2, 10, 50); if (Query_Difficulty_Level() != 0) { if (!Game_Flag_Query(723)) { Global_Variable_Increment(2, 200); } } } else { Set_Enter(10, 50); } Scene_Loop_Start_Special(1, 3, 0); } }
bool AIScriptGenericWalkerC::GoalChanged(int currentGoalNumber, int newGoalNumber) { if (newGoalNumber == 0) { AI_Movement_Track_Flush(kActorGenwalkerC); Actor_Put_In_Set(kActorGenwalkerC, kSetFreeSlotH); Global_Variable_Set(kVariableGenericWalkerCModel, -1); return false; } else if (newGoalNumber == 1) { return true; } return false; }
bool ScriptBase::Loop_Actor_Walk_To_Item(int actorId, int itemId, int a3, int a4, bool run) { _vm->gameWaitForActive(); if (_vm->_walkingActorId == actorId) { run = true; } _vm->_playerActorIdle = false; bool isRunning; bool result = _vm->_actors[actorId]->loopWalkToItem(itemId, a3, a4, run, true, &isRunning); if (_vm->_playerActorIdle == 1) { result = true; _vm->_playerActorIdle = false; } if (isRunning == 1) { _vm->_walkingActorId = actorId; } Global_Variable_Set(37, actorId); Global_Variable_Set(38, isRunning); return result; }
void AIScriptLucy::checkCombat() { Game_Flag_Set(701); if (Actor_Query_In_Set(kActorLucy, kSetHF01) == 1 && Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorLucy) != 450) { if (Global_Variable_Query(kVariableAffectionTowards) == 3) { Global_Variable_Set(kVariableAffectionTowards, 0); } Actor_Set_Goal_Number(kActorLucy, 450); Non_Player_Actor_Combat_Mode_On(kActorLucy, kActorCombatStateIdle, false, kActorMcCoy, 4, kAnimationModeIdle, kAnimationModeWalk, kAnimationModeRun, -1, 0, 0, 10, 300, false); } }
void SceneScriptMA02::sub_402044() { // int v0; // int v1; // int v3[7]; // v0 = 0; int i = 0; int arr[7]; if (Global_Variable_Query(1) < 4 && Game_Flag_Query(45)) { // v0 = 1; // v3[0] = 0; arr[i++] = 0; } // v1 = v0 + 1; // v3[v0] = 1; arr[i++] = 1; if (Global_Variable_Query(1) >= 3) { // v3[v1] = 2; // v1 = v0 + 2; arr[i++] = 2; } if (Global_Variable_Query(1) >= 2 && Global_Variable_Query(1) <= 4) { // v3[v1++] = 3; arr[i++] = 3; } if (Game_Flag_Query(171) && Game_Flag_Query(170)) { // v3[v1++] = 4; arr[i++] = 4; } //if (v1 <= 0) { if (i == 0) { Global_Variable_Set(52, -1); } else { // Global_Variable_Set(52, v3[Random_Query(0, v1 - 1)]); Global_Variable_Set(52, arr[Random_Query(0, i - 1)]); } }
bool ScriptBase::Loop_Actor_Walk_To_Waypoint(int actorId, int waypointId, int destinationOffset, bool interruptible, bool run) { _vm->gameWaitForActive(); if (_vm->_runningActorId == actorId) { run = true; } _vm->_playerActorIdle = false; bool isRunning; bool result = _vm->_actors[actorId]->loopWalkToWaypoint(waypointId, destinationOffset, interruptible, run, true, &isRunning); if (_vm->_playerActorIdle) { result = true; _vm->_playerActorIdle = false; } if (isRunning) { _vm->_runningActorId = actorId; } Global_Variable_Set(kVariableWalkLoopActor, actorId); Global_Variable_Set(kVariableWalkLoopRun, isRunning); return result; }
bool SceneScriptPS10::ClickedOnExit(int exitId) { if (exitId == 1) { if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 6, 12, true, false)) { Game_Flag_Set(14); removeTargets(); Global_Variable_Decrement(kVariablePoliceMazeScore, kPoliceMazePS10TargetCount - Global_Variable_Query(kVariablePoliceMazePS10TargetCounter)); Global_Variable_Set(kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount); Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS11); } return true; } return false; }
void SceneScriptNR04::sub_402960() { int v0 = Global_Variable_Query(53); if (!v0) { Music_Play(14, 11, 80, 2, -1, 0, 0); } else if (v0 == 1) { Music_Play(13, 11, 80, 2, -1, 0, 0); } else if (v0 == 2) { Music_Play(5, 11, 80, 2, -1, 0, 0); } v0++; if (v0 > 2) { v0 = 0; } Global_Variable_Set(53, v0); }
bool AIScriptGenericWalkerA::GoalChanged(int currentGoalNumber, int newGoalNumber) { if (newGoalNumber == 0) { AI_Movement_Track_Flush(kActorGenwalkerA); Actor_Put_In_Set(kActorGenwalkerA, kSetFreeSlotH); Global_Variable_Set(kVariableGenericWalkerAModel, -1); return false; } else if (newGoalNumber == 1) { return true; } else if (newGoalNumber == 200) { Actor_Put_In_Set(kActorGenwalkerA, kSetRC04); Actor_Set_At_XYZ(kActorGenwalkerA, 0.0, 36.0, -172.0, 491); Actor_Change_Animation_Mode(kActorGenwalkerA, kAnimationModeCombatIdle); return true; } return false; }
void SceneScriptNR06::sub_401BAC() { if (Music_Is_Playing()) { Music_Adjust(31, 80, 2); } else { int v0 = Global_Variable_Query(54); if (v0 == 0) { Music_Play(16, 61, -80, 2, -1, 0, 0); } else if (v0 == 1) { Music_Play(15, 41, -80, 2, -1, 0, 0); } else if (v0 == 2) { Music_Play(7, 41, -80, 2, -1, 0, 0); } v0++; if (v0 > 2) { v0 = 0; } Global_Variable_Set(54, v0); } }
void ScriptNR08::sub_4021B4() { if (Music_Is_Playing()) { Music_Adjust(51, 0, 2); } else if (Actor_Query_Goal_Number(3) == 210) { Music_Play(6, 61, 0, 1, -1, 0, 0); } else { int v0 = Global_Variable_Query(54); if (v0 == 0) { Music_Play(16, 61, -80, 2, -1, 0, 0); } else if (v0 == 1) { Music_Play(15, 41, -80, 2, -1, 0, 0); } else if (v0 == 2) { Music_Play(7, 41, -80, 2, -1, 0, 0); } v0++; if (v0 > 2) { v0 = 0; } Global_Variable_Set(54, v0); } }
bool AIScriptGenericWalkerA::prepareWalker() { if (Game_Flag_Query(kFlagGenericWalkerWaiting) || Global_Variable_Query(35) < 0 || !preparePath()) { return false; } int model = 0; do { if (isInside) { model = Random_Query(3, 5); } else { model = Random_Query(0, 5); } } while (model == Global_Variable_Query(kVariableGenericWalkerBModel) || model == Global_Variable_Query(kVariableGenericWalkerCModel)); Global_Variable_Set(kVariableGenericWalkerAModel, model); Game_Flag_Set(kFlagGenericWalkerWaiting); AI_Countdown_Timer_Reset(kActorGenwalkerA, 2); AI_Countdown_Timer_Start(kActorGenwalkerA, 2, Random_Query(4, 12)); Actor_Set_Goal_Number(kActorGenwalkerA, 1); return true; }
bool AIScriptGenericWalkerC::prepareWalker() { if (Game_Flag_Query(kFlagGenericWalkerWaiting) || Global_Variable_Query(35) < 2 || !preparePath()) { return false; } int model = 0; do { if (isInside) { model = Random_Query(3, 5); } else { model = Random_Query(0, 5); } // Here is probably bug in original code, because it not using kVariableGenericWalkerBModel but kVariableGenericWalkerCModel } while (model == Global_Variable_Query(kVariableGenericWalkerAModel) || model == Global_Variable_Query(kVariableGenericWalkerBModel)); Global_Variable_Set(kVariableGenericWalkerCModel, model); Game_Flag_Set(kFlagGenericWalkerWaiting); AI_Countdown_Timer_Reset(kActorGenwalkerC, 2); AI_Countdown_Timer_Start(kActorGenwalkerC, 2, Random_Query(4, 12)); Actor_Set_Goal_Number(kActorGenwalkerC, 1); return true; }
void ScriptBase::Police_Maze_Set_Score(int value) { Global_Variable_Set(kVariablePoliceMazeScore, value); }
void ScriptBase::Police_Maze_Decrement_Score(int delta) { Global_Variable_Set(kVariablePoliceMazeScore, Global_Variable_Query(kVariablePoliceMazeScore) - delta); }
bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) { switch (newGoalNumber) { case kGoalClovisDefault: AI_Movement_Track_Flush(kActorClovis); AI_Movement_Track_Append(kActorClovis, 33, 0); AI_Movement_Track_Repeat(kActorClovis); return true; case kGoalClovisBB11WalkToMcCoy: AI_Movement_Track_Flush(kActorClovis); AI_Movement_Track_Append(kActorClovis, 319, 0); AI_Movement_Track_Append(kActorClovis, 320, 0); AI_Movement_Track_Repeat(kActorClovis); return true; case kGoalClovisBB11StopSadik: Actor_Start_Speech_Sample(kActorClovis, 0); AI_Movement_Track_Flush(kActorClovis); AI_Movement_Track_Append(kActorClovis, 321, 0); AI_Movement_Track_Repeat(kActorClovis); return true; case kGoalClovisBB11TalkWithSadik: Actor_Set_Goal_Number(kActorSadik, kGoalSadikBB11TalkWithClovis); Actor_Says(kActorClovis, 10, 15); Actor_Says(kActorSadik, 0, kAnimationModeTalk); Actor_Face_Actor(kActorClovis, kActorSadik, true); Actor_Says(kActorClovis, 20, 13); Actor_Says(kActorClovis, 30, 12); Actor_Face_Actor(kActorSadik, kActorClovis, true); Actor_Says(kActorSadik, 10, kAnimationModeTalk); Actor_Says(kActorClovis, 40, 17); Actor_Says(kActorSadik, 20, kAnimationModeTalk); Actor_Face_Actor(kActorClovis, kActorMcCoy, true); Actor_Face_Actor(kActorSadik, kActorMcCoy, true); Actor_Says(kActorClovis, 50, 14); Actor_Change_Animation_Mode(kActorClovis, kAnimationModeSit); return true; case kGoalClovisBB11TalkToMcCoy: Actor_Says(kActorClovis, 60, 30); Actor_Says(kActorSadik, 30, kAnimationModeTalk); Actor_Says(kActorClovis, 70, 30); Actor_Says(kActorClovis, 80, 30); Actor_Change_Animation_Mode(kActorClovis, 29); Actor_Says(kActorSadik, 40, kAnimationModeTalk); Actor_Says(kActorSadik, 50, kAnimationModeTalk); Actor_Says(kActorClovis, 90, 13); Actor_Face_Current_Camera(5, true); Actor_Says(kActorClovis, 100, 17); Delay(1000); if (!Game_Flag_Query(kFlagSadikIsReplicant)) { Actor_Clue_Acquire(kActorMcCoy, kClueStaggeredbyPunches, true, kActorSadik); } Game_Flag_Set(kFlagNotUsed383); Game_Flag_Reset(kFlagBB11SadikFight); Global_Variable_Set(kVariableChapter, 3); Actor_Set_Goal_Number(kActorClovis, 200); Actor_Set_Goal_Number(kActorSadik, 200); Actor_Clue_Acquire(kActorMcCoy, kClueAct2Ended, true, -1); Player_Gains_Control(); Chapter_Enter(3, kSetCT08_CT51_UG12, kSceneCT08); Game_Flag_Set(kFlagMcCoyTiedDown); Game_Flag_Set(kFlagChapter3Intro); return true; case 300: Actor_Put_In_Set(kActorClovis, kSetUG18); Actor_Set_At_XYZ(kActorClovis, -52.26f, 0.0f, 611.02f, 900); Actor_Change_Animation_Mode(kActorClovis, kAnimationModeIdle); return true; case 301: case 302: case 303: case 310: return true; case 350: Actor_Put_In_Set(kActorClovis, kSetFreeSlotA); Actor_Set_At_Waypoint(kActorClovis, 33, 0); return true; case 400: AI_Movement_Track_Flush(kActorClovis); Actor_Put_In_Set(kActorClovis, kSetFreeSlotA); Actor_Set_At_Waypoint(kActorClovis, 33, 0); return true; case 401: AI_Movement_Track_Flush(kActorClovis); AI_Movement_Track_Append(kActorClovis, 341, 0); AI_Movement_Track_Append(kActorClovis, 342, 0); AI_Movement_Track_Repeat(kActorClovis); return true; case 402: Player_Loses_Control(); Actor_Force_Stop_Walking(kActorMcCoy); Actor_Face_Actor(kActorMcCoy, kActorClovis, 1); Loop_Actor_Walk_To_Actor(kActorClovis, kActorMcCoy, 48, 0, 1); Actor_Face_Actor(kActorClovis, kActorMcCoy, 1); Actor_Change_Animation_Mode(kActorClovis, 6); if (Player_Query_Combat_Mode()) { Actor_Change_Animation_Mode(kActorMcCoy, 49); } else { Actor_Change_Animation_Mode(kActorMcCoy, 48); } Delay(3000); Actor_Retired_Here(kActorMcCoy, 12, 48, 1, kActorClovis); return true; case 500: Actor_Set_Goal_Number(kActorClovis, 510); return true; case 510: if (Game_Flag_Query(653)) { Actor_Set_Goal_Number(kActorClovis, 513); } else { Actor_Set_Goal_Number(kActorClovis, 511); Game_Flag_Set(685); } return true; case 511: Actor_Put_In_Set(kActorClovis, kSetKP05_KP06); Actor_Set_At_XYZ(kActorClovis, -1072.0f, 8.26f, -708.0f, 530); return true; case 512: Actor_Says(kActorClovis, 110, kAnimationModeTalk); Actor_Says(kActorMcCoy, 2255, kAnimationModeTalk); Actor_Says(kActorClovis, 120, kAnimationModeTalk); Actor_Says(kActorClovis, 130, kAnimationModeTalk); Actor_Says(kActorClovis, 140, kAnimationModeTalk); Actor_Says(kActorMcCoy, 2260, kAnimationModeTalk); Actor_Says(kActorClovis, 150, kAnimationModeTalk); Actor_Set_Goal_Number(kActorClovis, 513); return true; case 513: Actor_Put_In_Set(kActorClovis, kSetKP07); Actor_Set_Targetable(kActorClovis, true); if (Game_Flag_Query(653)) { Global_Variable_Set(kVariableReplicants, 0); Global_Variable_Increment(kVariableReplicants, 1); Actor_Set_At_XYZ(kActorClovis, 45.0f, -41.52f, -85.0f, 750); } else { Actor_Set_At_XYZ(kActorClovis, 84.85f, -50.56f, -68.87f, 800); Actor_Face_Heading(kActorClovis, 1022, false); } someAnim(); return true; case 514: Actor_Says(kActorMcCoy, 2345, 16); Actor_Says(kActorClovis, 170, -1); Actor_Says(kActorClovis, 180, kAnimationModeTalk); Actor_Says(kActorMcCoy, 2350, 17); if (!Game_Flag_Query(714)) { Actor_Says(kActorMcCoy, 2355, 11); } Actor_Says(kActorClovis, 190, -1); Actor_Says(kActorClovis, 200, kAnimationModeTalk); Actor_Says(kActorMcCoy, 2360, 18); Actor_Says(kActorClovis, 210, kAnimationModeTalk); Actor_Says(kActorClovis, 220, -1); Actor_Set_Goal_Number(kActorClovis, 515); return true; case 515: ADQ_Add(kActorClovis, 240, -1); ADQ_Add(kActorClovis, 250, -1); ADQ_Add(kActorClovis, 260, -1); ADQ_Add(kActorClovis, 270, -1); ADQ_Add_Pause(1000); ADQ_Add(kActorClovis, 280, -1); ADQ_Add(kActorClovis, 290, -1); ADQ_Add(kActorClovis, 300, -1); return true; case 516: Actor_Says(kActorMcCoy, 8501, kAnimationModeTalk); Actor_Says(kActorClovis, 1260, kAnimationModeTalk); Actor_Says(kActorMcCoy, 8502, kAnimationModeTalk); Actor_Says(kActorClovis, 1270, kAnimationModeTalk); Actor_Says(kActorMcCoy, 8504, kAnimationModeTalk); Actor_Says(kActorClovis, 1290, kAnimationModeTalk); Actor_Says(kActorMcCoy, 8505, kAnimationModeTalk); Actor_Says(kActorClovis, 1300, kAnimationModeTalk); Actor_Says(kActorClovis, 1310, kAnimationModeTalk); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Outtake_Play(kOuttakeEnd4A, 0, -1); if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy && Game_Flag_Query(kFlagLucyIsReplicant) ) { Outtake_Play(kOuttakeEnd4B, 0, -1); } else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora && Game_Flag_Query(kFlagDektoraIsReplicant) ) { Outtake_Play(kOuttakeEnd4C, 0, -1); } Outtake_Play(kOuttakeEnd4D, 0, -1); Game_Over(); return true; case 517: if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorLucy, kSetKP07)) { Actor_Set_Goal_Number(kActorLucy, 599); Global_Variable_Decrement(kVariableReplicants, 1); } if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorLuther, kSetKP07)) { Actor_Set_Goal_Number(kActorLuther, 599); Global_Variable_Decrement(kVariableReplicants, 1); } if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorDektora, kSetKP07)) { Non_Player_Actor_Combat_Mode_On(kActorDektora, kActorCombatStateIdle, false, kActorMcCoy, 19, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 10, 300, false); } if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorZuben, kSetKP07)) { Non_Player_Actor_Combat_Mode_On(kActorZuben, kActorCombatStateIdle, false, kActorMcCoy, 19, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 10, 300, false); } if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorSadik, kSetKP07)) { Non_Player_Actor_Combat_Mode_On(kActorSadik, kActorCombatStateIdle, true, kActorMcCoy, 19, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 10, 300, false); } if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorIzo, kSetKP07)) { Non_Player_Actor_Combat_Mode_On(kActorIzo, kActorCombatStateIdle, false, kActorMcCoy, 19, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 10, 300, false); } if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorGordo, kSetKP07)) { Non_Player_Actor_Combat_Mode_On(kActorGordo, kActorCombatStateIdle, true, kActorMcCoy, 19, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 10, 300, false); } if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorClovis, kSetKP07)) { Non_Player_Actor_Combat_Mode_On(kActorClovis, kActorCombatStateIdle, false, kActorMcCoy, 19, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 10, 300, false); } return true; case 518: Actor_Set_At_XYZ(kActorClovis, 84.85f, -50.56f, -68.87f, 800); Actor_Face_Heading(kActorClovis, 1022, false); Actor_Set_Targetable(kActorClovis, true); Game_Flag_Set(685); someAnim(); return true; default: break; } return false; }
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; }
void SceneScriptHF03::sub_401C80() { Dialogue_Menu_Clear_List(); DM_Add_To_List_Never_Repeat_Once_Selected(840, -1, 3, 8); DM_Add_To_List_Never_Repeat_Once_Selected(850, 6, 5, 2); DM_Add_To_List_Never_Repeat_Once_Selected(860, 8, -1, -1); DM_Add_To_List_Never_Repeat_Once_Selected(870, 2, 8, 6); Dialogue_Menu_Add_DONE_To_List(880); Dialogue_Menu_Appear(320, 240); int answer = Dialogue_Menu_Query_Input(); Dialogue_Menu_Disappear(); switch (answer) { case 840: Actor_Says(kActorMcCoy, 1630, 15); if (Global_Variable_Query(40) == 3) { Actor_Set_Goal_Number(kActorLucy, 214); } else if (Game_Flag_Query(46)) { Actor_Set_Goal_Number(kActorLucy, 212); } else { Actor_Set_Goal_Number(kActorLucy, 210); Game_Flag_Set(593); } break; case 850: Actor_Says(kActorMcCoy, 1635, 15); Actor_Says(kActorLucy, 200, 13); Actor_Modify_Friendliness_To_Other(kActorLucy, kActorMcCoy, 3); break; case 860: Actor_Says(kActorMcCoy, 1640, 12); if (Global_Variable_Query(40) == 3) { Actor_Set_Goal_Number(kActorLucy, 214); } else { Actor_Says(kActorLucy, 210, 13); Actor_Says(kActorMcCoy, 1655, 15); Actor_Modify_Friendliness_To_Other(kActorLucy, kActorMcCoy, Random_Query(9, 10)); if (Actor_Query_Friendliness_To_Other(kActorLucy, kActorMcCoy) > 59 && !Global_Variable_Query(45)) { Global_Variable_Set(45, 3); Actor_Says(kActorLucy, 940, 14); Actor_Says(kActorMcCoy, 6780, 11); Actor_Says(kActorLucy, 950, 12); Actor_Says(kActorLucy, 960, 13); Actor_Says(kActorMcCoy, 6785, 15); Actor_Says(kActorLucy, 970, 16); Actor_Says(kActorLucy, 980, 17); if (Game_Flag_Query(47)) { Actor_Says(kActorLucy, 990, 17); } Actor_Says(kActorMcCoy, 6790, 15); Actor_Says(kActorLucy, 1000, 13); Actor_Says(kActorLucy, 1010, 17); Actor_Says(kActorLucy, 1020, 18); Actor_Says(kActorMcCoy, 6795, 14); Actor_Says(kActorLucy, 1030, 17); Actor_Says(kActorMcCoy, 6800, 14); } Actor_Says(kActorLucy, 220, 13); Actor_Says(kActorMcCoy, 1660, 15); Actor_Says(kActorLucy, 230, 14); Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, 1, kActorMcCoy); if (Game_Flag_Query(46)) { Actor_Set_Goal_Number(kActorLucy, 212); } else { Actor_Set_Goal_Number(kActorLucy, 210); } } break; case 870: Actor_Says(kActorMcCoy, 1645, 18); Actor_Says(kActorLucy, 240, 14); Actor_Says(kActorLucy, 250, 12); Actor_Says(kActorLucy, 260, 13); Actor_Says(kActorLucy, 270, 19); Actor_Says(kActorMcCoy, 1665, 18); Actor_Says(kActorLucy, 280, 13); Actor_Says(kActorMcCoy, 1670, 12); Actor_Says(kActorLucy, 290, 14); Actor_Says(kActorLucy, 300, 16); Actor_Says(kActorMcCoy, 1675, 12); Actor_Says(kActorLucy, 310, 13); Actor_Clue_Acquire(kActorMcCoy, kClueLucyInterview, 0, kActorLucy); break; case 880: Actor_Says(kActorMcCoy, 1650, 14); break; } }