diff options
21 files changed, 196 insertions, 177 deletions
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h index 217c594871..3901347553 100644 --- a/engines/bladerunner/game_constants.h +++ b/engines/bladerunner/game_constants.h @@ -859,7 +859,8 @@ enum Flags { kFlagKP03toKP01 = 418, kFlagKP03toKP05 = 419, kFlagKP05toKP03 = 420, - + kFlagKP03BombActive = 421, + kFlagKP03BombExploded = 422, kFlagUG07toUG10 = 423, kFlagUG10toUG07 = 424, // is never checked kFlagUG07toUG08 = 425, // is never checked @@ -898,7 +899,7 @@ enum Flags { // 458 is never used // 459 is never used kFlagSteeleWalkingAround = 460, - kFlagMaggieIsHurt = 461, + kFlagMaggieHasBomb = 461, kFlagPS04GuzzaLeft = 462, kFlagHC01GuzzaWalk = 463, kFlagHC01GuzzaPrepare= 464, @@ -921,7 +922,7 @@ enum Flags { // 481 is never used kFlagSteeleSmoking = 482, kFlagTB06Introduction = 483, - + kFlagKP03BombDisarmed = 484, kFlagTB06Photographer = 485, kFlagDNARowAvailable = 486, kFlagKIAPrivacyAddon = 487, @@ -1088,7 +1089,7 @@ enum Flags { kFlagMA04PhoneMessageFromLucy = 650, kFlagNR08McCoyWatchingShow = 651, kFlagCrazylegsArrestedTalk = 652, - kFlagMcCoyIsNotHelpingReplicants = 653, + kFlagMcCoyIsHelpingReplicants = 653, kFlagMA02RajifTalk = 655, kFlagUG02RagiationGooglesTaken = 656, @@ -1813,9 +1814,16 @@ enum GoalSteele { kGoalSteeleNR01StartChapter4 = 290, kGoalSteeleHF01StartChapter4 = 291, // chapter 5 + // kGoalSteeleKP03WillShootMcCoy = 410, + kGoalSteeleKP03Walk = 411, + kGoalSteeleKP03Exploded = 415, + kGoalSteeleKP03Dying = 416, + kGoalSteeleKP03ShootMcCoy = 418, + kGoalSteeleKP03Dead = 419, kGoalSteeleKP01Wait = 420, kGoalSteeleKP01TalkToMcCoy = 421, kGoalSteeleKP01Leave = 422, + kGoalSteeleKP01Left = 423, kGoalSteeleGone = 599 }; diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp index a8f0cf20a9..26d545e5f1 100644 --- a/engines/bladerunner/script/ai/clovis.cpp +++ b/engines/bladerunner/script/ai/clovis.cpp @@ -82,7 +82,7 @@ bool AIScriptClovis::Update() { Actor_Set_Goal_Number(kActorClovis, 512); } - if ( Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + if ( Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && !Game_Flag_Query(696) && Game_Flag_Query(697) ) { @@ -149,7 +149,7 @@ void AIScriptClovis::OtherAgentExitedThisScene(int otherActorId) { } void AIScriptClovis::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) { - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) && Actor_Query_In_Set(kActorMcCoy, kSetKP07)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && Actor_Query_In_Set(kActorMcCoy, kSetKP07)) { Game_Flag_Set(697); Game_Flag_Set(714); // return true; @@ -182,7 +182,7 @@ bool AIScriptClovis::ShotAtAndHit() { } void AIScriptClovis::Retired(int byActorId) { - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { if (Actor_Query_In_Set(kActorClovis, kSetKP07)) { Global_Variable_Decrement(kVariableReplicants, 1); Actor_Set_Goal_Number(kActorClovis, 599); @@ -195,7 +195,7 @@ void AIScriptClovis::Retired(int byActorId) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagKP07toKP06); - Game_Flag_Reset(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Set_Enter(kSetKP05_KP06, kSceneKP06); } } @@ -356,7 +356,7 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) { return true; case 510: - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Actor_Set_Goal_Number(kActorClovis, 513); } else { Actor_Set_Goal_Number(kActorClovis, 511); @@ -383,7 +383,7 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) { case 513: Actor_Put_In_Set(kActorClovis, kSetKP07); Actor_Set_Targetable(kActorClovis, true); - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Global_Variable_Set(kVariableReplicants, 0); Global_Variable_Increment(kVariableReplicants, 1); Actor_Set_At_XYZ(kActorClovis, 45.0f, -41.52f, -85.0f, 750); diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp index 8054bc8627..7da4b97200 100644 --- a/engines/bladerunner/script/ai/dektora.cpp +++ b/engines/bladerunner/script/ai/dektora.cpp @@ -305,7 +305,7 @@ void AIScriptDektora::Retired(int byActorId) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagKP07toKP06); - Game_Flag_Reset(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Set_Enter(kSetKP05_KP06, kSceneKP06); return; //true; diff --git a/engines/bladerunner/script/ai/gordo.cpp b/engines/bladerunner/script/ai/gordo.cpp index 17656576f1..700e8c0066 100644 --- a/engines/bladerunner/script/ai/gordo.cpp +++ b/engines/bladerunner/script/ai/gordo.cpp @@ -299,7 +299,7 @@ void AIScriptGordo::Retired(int byActorId) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagKP07toKP06); - Game_Flag_Reset(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Set_Enter(kSetKP05_KP06, kSceneKP06); return;// true; } diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp index ede8b684c0..78c6f4f03d 100644 --- a/engines/bladerunner/script/ai/izo.cpp +++ b/engines/bladerunner/script/ai/izo.cpp @@ -249,7 +249,7 @@ void AIScriptIzo::Retired(int byActorId) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagKP07toKP06); - Game_Flag_Reset(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Set_Enter(kSetKP05_KP06, kSceneKP06); return; //true; } diff --git a/engines/bladerunner/script/ai/maggie.cpp b/engines/bladerunner/script/ai/maggie.cpp index a1661eac7e..4feb740059 100644 --- a/engines/bladerunner/script/ai/maggie.cpp +++ b/engines/bladerunner/script/ai/maggie.cpp @@ -37,9 +37,9 @@ enum kMaggieStates { kMaggieStateGoingToSleep = 8, kMaggieStateSleeping = 9, kMaggieStateWakingUp = 10, - kMaggieStateHurtIdle = 11, - kMaggieStateHurtWalk = 12, - kMaggieStateHurtJumping = 13, + kMaggieStateBombIdle = 11, + kMaggieStateBombWalk = 12, + kMaggieStateBombJumping = 13, kMaggieStateExploding = 14, kMaggieStateDeadExploded = 15, kMaggieStateDead = 16 @@ -149,7 +149,7 @@ void AIScriptMaggie::ReceivedClue(int clueId, int fromActorId) { } void AIScriptMaggie::ClickedByPlayer() { - if (!Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && Global_Variable_Query(kVariableChapter) == 5 ) { if (Actor_Query_Goal_Number(kActorMaggie) == 413) { @@ -357,7 +357,7 @@ bool AIScriptMaggie::GoalChanged(int currentGoalNumber, int newGoalNumber) { break; case 411: AI_Movement_Track_Flush(kActorMaggie); - Game_Flag_Set(kFlagMaggieIsHurt); + Game_Flag_Set(kFlagMaggieHasBomb); Actor_Put_In_Set(kActorMaggie, kSetKP05_KP06); Actor_Set_At_XYZ(kActorMaggie, -672.0, 0.0, -428.0, 653); Actor_Change_Animation_Mode(kActorMaggie, kAnimationModeIdle); @@ -390,24 +390,24 @@ bool AIScriptMaggie::UpdateAnimation(int *animation, int *frame) { Actor_Set_At_Waypoint(kActorMaggie, 41, 0); } break; - case kMaggieStateHurtJumping: + case kMaggieStateBombJumping: *animation = 873; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(873)) { - _animationState = kMaggieStateHurtIdle; + _animationState = kMaggieStateBombIdle; _animationFrame = 0; *animation = 875; Actor_Set_Goal_Number(kActorMaggie, 414); } break; - case kMaggieStateHurtWalk: + case kMaggieStateBombWalk: *animation = 872; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(872)) { _animationFrame = 0; } break; - case kMaggieStateHurtIdle: + case kMaggieStateBombIdle: *animation = 875; _animationFrame++; if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(875)) { @@ -540,8 +540,8 @@ bool AIScriptMaggie::UpdateAnimation(int *animation, int *frame) { bool AIScriptMaggie::ChangeAnimationMode(int mode) { if (mode == kAnimationModeWalk) { - if (Game_Flag_Query(kFlagMaggieIsHurt)) { - _animationState = kMaggieStateHurtWalk; + if (Game_Flag_Query(kFlagMaggieHasBomb)) { + _animationState = kMaggieStateBombWalk; _animationFrame = 0; } else { _animationState = kMaggieStateWalking; @@ -550,8 +550,8 @@ bool AIScriptMaggie::ChangeAnimationMode(int mode) { return true; } if (mode == kAnimationModeIdle) { - if (Game_Flag_Query(kFlagMaggieIsHurt)) { - _animationState = kMaggieStateHurtIdle; + if (Game_Flag_Query(kFlagMaggieHasBomb)) { + _animationState = kMaggieStateBombIdle; _animationFrame = kMaggieStateIdle; } else { switch (_animationState) { @@ -620,8 +620,8 @@ bool AIScriptMaggie::ChangeAnimationMode(int mode) { } break; case kAnimationModeFeeding: - if (Game_Flag_Query(kFlagMaggieIsHurt)) { - _animationState = kMaggieStateHurtJumping; + if (Game_Flag_Query(kFlagMaggieHasBomb)) { + _animationState = kMaggieStateBombJumping; _animationFrame = 0; } else { _animationState = kMaggieStateJumping; diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp index 866ee654ea..6dd8c90eb1 100644 --- a/engines/bladerunner/script/ai/mccoy.cpp +++ b/engines/bladerunner/script/ai/mccoy.cpp @@ -499,24 +499,24 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) { } if (Actor_Query_Friendliness_To_Other(kActorSteele, kActorMcCoy) < Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy)) { - Game_Flag_Set(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Set(kFlagMcCoyIsHelpingReplicants); } affectionTowards = Global_Variable_Query(kVariableAffectionTowards); if (affectionTowards == kAffectionTowardsSteele) { - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsNone); } } else if (affectionTowards == kAffectionTowardsDektora || affectionTowards == kAffectionTowardsLucy ) { - if (!Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsNone); } } - if (!Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { - Game_Flag_Set(kFlagMaggieIsHurt); + if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { + Game_Flag_Set(kFlagMaggieHasBomb); } Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); diff --git a/engines/bladerunner/script/ai/sadik.cpp b/engines/bladerunner/script/ai/sadik.cpp index fb5e725973..df9ad658c8 100644 --- a/engines/bladerunner/script/ai/sadik.cpp +++ b/engines/bladerunner/script/ai/sadik.cpp @@ -214,7 +214,7 @@ void AIScriptSadik::Retired(int byActorId) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagKP07toKP06); - Game_Flag_Reset(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Set_Enter(kSetKP05_KP06, kSceneKP06); return; //true; } @@ -347,7 +347,7 @@ bool AIScriptSadik::GoalChanged(int currentGoalNumber, int newGoalNumber) { return true; case 410: - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) == 1) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) == 1) { Actor_Set_Goal_Number(kActorSadik, 414); } else { Actor_Set_Goal_Number(kActorSadik, 411); @@ -430,7 +430,7 @@ bool AIScriptSadik::GoalChanged(int currentGoalNumber, int newGoalNumber) { return true; case 418: - Game_Flag_Reset(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Actor_Set_Goal_Number(kActorClovis, 518); Non_Player_Actor_Combat_Mode_On(kActorSadik, kActorCombatStateIdle, true, kActorMcCoy, 9, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, -1, -1, 15, 300, false); return true; diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp index 58ef11593d..2b2e1f223c 100644 --- a/engines/bladerunner/script/ai/steele.cpp +++ b/engines/bladerunner/script/ai/steele.cpp @@ -165,7 +165,7 @@ bool AIScriptSteele::Update() { break; case 5: - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && Actor_Query_Goal_Number(kActorSteele) < 400 ) { Actor_Set_Goal_Number(kActorSteele, 400); @@ -208,10 +208,10 @@ void AIScriptSteele::TimerExpired(int timer) { AI_Countdown_Timer_Reset(kActorSteele, 1); - if (goal == 415) { - Actor_Set_Goal_Number(kActorSteele, 416); - } else if (goal == 416) { - Actor_Set_Goal_Number(kActorSteele, 419); + if (goal == kGoalSteeleKP03Exploded) { + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03Dying); + } else if (goal == kGoalSteeleKP03Dying) { + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03Dead); } } return; // false; @@ -309,8 +309,8 @@ void AIScriptSteele::CompletedMovementTrack() { Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02LucyShotBySteele); break; - case 422: - Actor_Set_Goal_Number(kActorSteele, 423); + case kGoalSteeleKP01Leave: + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP01Left); break; case 432: @@ -358,15 +358,13 @@ void AIScriptSteele::ClickedByPlayer() { return; //true; } - if (goal - 241 <= 9) { - if (goal == kGoalSteeleHF02ShootLucy) { - Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02LucyShotBySteele); - return; //true; - } + if (goal == kGoalSteeleHF02ShootLucy) { + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02LucyShotBySteele); + return; //true; + } - if (goal == kGoalSteeleNR01ConfrontGordo) { - return; //true; - } + if (goal == kGoalSteeleNR01ConfrontGordo) { + return; //true; } AI_Movement_Track_Pause(1); @@ -460,7 +458,7 @@ void AIScriptSteele::OtherAgentEnteredCombatMode(int otherActorId, int combatMod if (otherActorId == kActorMcCoy && Actor_Query_Goal_Number(kActorSteele) == 410 ) - Actor_Set_Goal_Number(kActorSteele, 418); + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03ShootMcCoy); } void AIScriptSteele::ShotAtAndMissed() { @@ -483,7 +481,7 @@ void AIScriptSteele::Retired(int byActorId) { if (Actor_Query_Goal_Number(kActorSteele) == 450) { Scene_Exits_Enable(); - Game_Flag_Set(484); + Game_Flag_Set(kFlagKP03BombDisarmed); } if (Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleGone) { @@ -1316,23 +1314,23 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) { case 400: case 401: - case 423: + case kGoalSteeleKP01Left: return true; case 410: - Actor_Set_Targetable(kActorSteele, 1); - Actor_Face_Actor(kActorSteele, kActorMcCoy, 1); + Actor_Set_Targetable(kActorSteele, true); + Actor_Face_Actor(kActorSteele, kActorMcCoy, true); Actor_Start_Speech_Sample(kActorSteele, 2510); - Actor_Change_Animation_Mode(kActorSteele, 4); - Actor_Face_Actor(kActorMcCoy, kActorSteele, 1); + Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle); + Actor_Face_Actor(kActorMcCoy, kActorSteele, true); Delay(3000); Async_Actor_Walk_To_XYZ(kActorSteele, -109.0f, -36.55f, 26.0f, 0, false); return true; - case 411: - Actor_Face_Actor(kActorMcCoy, kActorSteele, 1); + case kGoalSteeleKP03Walk: + Actor_Face_Actor(kActorMcCoy, kActorSteele, true); Actor_Says(kActorSteele, 430, 14); - Actor_Change_Animation_Mode(kActorSteele, 4); + Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle); Delay(4000); Async_Actor_Walk_To_XYZ(kActorSteele, -109.0f, -36.55f, 26.0f, 0, false); return true; @@ -1345,17 +1343,17 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) { Async_Actor_Walk_To_XYZ(kActorSteele, 1.0, -36.55f, 111.0f, 0, false); return true; - case 415: + case kGoalSteeleKP03Exploded: Actor_Force_Stop_Walking(kActorSteele); Actor_Change_Animation_Mode(kActorSteele, 51); AI_Countdown_Timer_Start(kActorSteele, 1, 2); return true; - case 416: + case kGoalSteeleKP03Dying: Actor_Set_At_XYZ(kActorSteele, -48.83f, -36.55f, 69.98f, 280); Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorSteele, 36, false, true); Actor_Face_Actor(kActorMcCoy, kActorSteele, true); - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) == 1) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Actor_Says(kActorSteele, 400, 3); Actor_Says(kActorMcCoy, 2165, 14); Actor_Says(kActorSteele, 410, 3); @@ -1371,14 +1369,14 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) { AI_Countdown_Timer_Start(kActorSteele, 1, 3); return true; - case 418: + case kGoalSteeleKP03ShootMcCoy: Actor_Face_Actor(kActorSteele, kActorMcCoy, true); Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack); Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie); Actor_Retired_Here(kActorMcCoy, 72, 18, true, -1); return true; - case 419: + case kGoalSteeleKP03Dead: Actor_Set_Targetable(kActorSteele, false); Game_Flag_Set(kFlagSteeleDead); Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGone); @@ -1403,10 +1401,10 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) { Actor_Says(kActorSteele, 380, 16); Actor_Says(kActorMcCoy, 2160, 18); Actor_Says(kActorSteele, 390, 13); - Actor_Set_Goal_Number(kActorSteele, 422); + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP01Leave); return true; - case 422: + case kGoalSteeleKP01Leave: AI_Movement_Track_Flush(kActorSteele); AI_Movement_Track_Append(kActorSteele, 530, 0); AI_Movement_Track_Repeat(kActorSteele); diff --git a/engines/bladerunner/script/ai/zuben.cpp b/engines/bladerunner/script/ai/zuben.cpp index 3214cb6354..84139015e1 100644 --- a/engines/bladerunner/script/ai/zuben.cpp +++ b/engines/bladerunner/script/ai/zuben.cpp @@ -298,7 +298,7 @@ void AIScriptZuben::Retired(int byActorId) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagKP07toKP06); - Game_Flag_Reset(kFlagMcCoyIsNotHelpingReplicants); + Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Set_Enter(kSetKP05_KP06, kSceneKP06); // return true; return; diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp index d01d6d8514..2ceda569c1 100644 --- a/engines/bladerunner/script/scene/hf01.cpp +++ b/engines/bladerunner/script/scene/hf01.cpp @@ -158,7 +158,7 @@ bool SceneScriptHF01::ClickedOnActor(int actorId) { ) && !Game_Flag_Query(kFlagCrazylegsArrested) && Actor_Query_Goal_Number(kActorCrazylegs) != 2 - && Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + && Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && !Game_Flag_Query(662) ) { Game_Flag_Set(662); diff --git a/engines/bladerunner/script/scene/kp01.cpp b/engines/bladerunner/script/scene/kp01.cpp index 80109af7ce..8fbccd5ccf 100644 --- a/engines/bladerunner/script/scene/kp01.cpp +++ b/engines/bladerunner/script/scene/kp01.cpp @@ -33,7 +33,7 @@ void SceneScriptKP01::InitializeScene() { Setup_Scene_Information( 239.0f, -12.2f, -146.0f, 820); Game_Flag_Reset(kFlagKP02toKP01); if (!Game_Flag_Query(kFlagKP01Entered) - && !Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + && !Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) ) { Game_Flag_Set(kFlagKP01Entered); Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP01Wait); @@ -124,19 +124,19 @@ void SceneScriptKP01::SceneFrameAdvanced(int frame) { void SceneScriptKP01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { if (actorId == kActorSteele) { - if (newGoal == 422) { + if (newGoal == kGoalSteeleKP01Leave) { if (Game_Flag_Query(kFlagDirectorsCut)) { Delay(500); Actor_Change_Animation_Mode(kActorMcCoy, 75); Delay(4500); Actor_Face_Current_Camera(kActorMcCoy, true); - Actor_Says(kActorMcCoy, 510, 3); + Actor_Says(kActorMcCoy, 510, kAnimationModeTalk); } else { Delay(3000); } Async_Actor_Walk_To_XYZ(kActorMcCoy, 76.56f, -12.2f, -405.48f, 0, false); //return true; - } else if (newGoal == 423) { + } else if (newGoal == kGoalSteeleKP01Left) { Player_Gains_Control(); Actor_Force_Stop_Walking(kActorMcCoy); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); @@ -163,7 +163,7 @@ void SceneScriptKP01::PlayerWalkedIn() { } Loop_Actor_Walk_To_XYZ(kActorMcCoy, 211.0f, -12.2f, -146.0f, 0, false, false, 0); - if (!Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && !Game_Flag_Query(714) && Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleKP01Wait && Actor_Query_Goal_Number(kActorSteele) != 599 diff --git a/engines/bladerunner/script/scene/kp02.cpp b/engines/bladerunner/script/scene/kp02.cpp index 9759a9f4df..50dd9c438b 100644 --- a/engines/bladerunner/script/scene/kp02.cpp +++ b/engines/bladerunner/script/scene/kp02.cpp @@ -142,7 +142,7 @@ void SceneScriptKP02::PlayerWalkedIn() { Game_Flag_Reset(kFlagKP01toKP02); } - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && Actor_Query_Goal_Number(kActorSteele) != 599 ) { Actor_Set_Goal_Number(kActorSteele, 450); diff --git a/engines/bladerunner/script/scene/kp03.cpp b/engines/bladerunner/script/scene/kp03.cpp index 1888380fca..fe2746cda0 100644 --- a/engines/bladerunner/script/scene/kp03.cpp +++ b/engines/bladerunner/script/scene/kp03.cpp @@ -24,6 +24,14 @@ namespace BladeRunner { +enum KP03Loops { + kKP03MainLoopBombInactive = 0, + kKP03MainLoopBombActive = 2, + kKP03MainLoopBombExploding = 4, + kKP03MainLoopBombExploded = 5, + kKP03MainLoopBombNoWire = 7 +}; + void SceneScriptKP03::InitializeScene() { if (Game_Flag_Query(kFlagKP05toKP03)) { Setup_Scene_Information( 1.0f, -36.55f, 111.0f, 200); @@ -40,22 +48,23 @@ void SceneScriptKP03::InitializeScene() { Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0); Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0); - if (Game_Flag_Query(422)) { - Scene_Loop_Set_Default(5); - } else if (Game_Flag_Query(484)) { - Scene_Loop_Set_Default(7); + if (Game_Flag_Query(kFlagKP03BombExploded)) { + Scene_Loop_Set_Default(kKP03MainLoopBombExploded); + } else if (Game_Flag_Query(kFlagKP03BombDisarmed)) { + Scene_Loop_Set_Default(kKP03MainLoopBombNoWire); } else { - Scene_Loop_Set_Default(2); - Game_Flag_Set(421); + Scene_Loop_Set_Default(kKP03MainLoopBombActive); + Game_Flag_Set(kFlagKP03BombActive); } - if (( Actor_Query_Goal_Number(kActorSteele) != 599 - && !Game_Flag_Query(422) - && !Game_Flag_Query(484) + + if (( Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleGone + && !Game_Flag_Query(kFlagKP03BombExploded) + && !Game_Flag_Query(kFlagKP03BombDisarmed) ) - && ((Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + && ((Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && Game_Flag_Query(kFlagKP05toKP03) ) - || (!Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + || (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && Game_Flag_Query(kFlagKP01toKP03) ) ) @@ -79,31 +88,35 @@ bool SceneScriptKP03::MouseClick(int x, int y) { bool SceneScriptKP03::ClickedOn3DObject(const char *objectName, bool combatMode) { Actor_Face_Object(kActorSteele, "BRACK MID", true); - if (Object_Query_Click("BRACK MID", objectName) && !Game_Flag_Query(422)) { + if ( Object_Query_Click("BRACK MID", objectName) + && !Game_Flag_Query(kFlagKP03BombExploded) + ) { if (combatMode) { - Scene_Loop_Set_Default(5); - Scene_Loop_Start_Special(kSceneLoopModeOnce, 4, true); + Scene_Loop_Set_Default(kKP03MainLoopBombExploded); + Scene_Loop_Start_Special(kSceneLoopModeOnce, kKP03MainLoopBombExploding, true); Actor_Change_Animation_Mode(kActorMcCoy, 39); Actor_Retired_Here(kActorMcCoy, 72, 18, 1, -1); - Game_Flag_Set(422); - Game_Flag_Reset(421); + Game_Flag_Set(kFlagKP03BombExploded); + Game_Flag_Reset(kFlagKP03BombActive); return false; } - if (Actor_Query_Goal_Number(kActorSteele) == 411) { + + if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleKP03Walk) { Scene_Exits_Enable(); - sub_401E54(); + saveSteele(); } else { if (Game_Flag_Query(kFlagKP01toKP03)) { Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, -36.55f, 26.0f, 0, 0, true, 0); } else if (Game_Flag_Query(kFlagKP05toKP03)) { Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, -36.55f, 78.0f, 0, 0, true, 0); } - if (Game_Flag_Query(421)) { + + if (Game_Flag_Query(kFlagKP03BombActive)) { Actor_Face_Object(kActorMcCoy, "BRACK MID", true); - Game_Flag_Set(484); - Game_Flag_Reset(421); - Scene_Loop_Set_Default(7); - Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false); + Game_Flag_Set(kFlagKP03BombDisarmed); + Game_Flag_Reset(kFlagKP03BombActive); + Scene_Loop_Set_Default(kKP03MainLoopBombNoWire); + Scene_Loop_Start_Special(kSceneLoopModeOnce, kKP03MainLoopBombInactive, false); Actor_Voice_Over(1110, kActorVoiceOver); Actor_Voice_Over(1120, kActorVoiceOver); } else { @@ -118,10 +131,10 @@ bool SceneScriptKP03::ClickedOn3DObject(const char *objectName, bool combatMode) bool SceneScriptKP03::ClickedOnActor(int actorId) { if (actorId == kActorSteele - && Actor_Query_Goal_Number(kActorSteele) == 411 + && Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleKP03Walk ) { Actor_Face_Object(kActorSteele, "BRACK MID", true); - sub_401E54(); + saveSteele(); } return false; } @@ -132,7 +145,7 @@ bool SceneScriptKP03::ClickedOnItem(int itemId, bool a2) { bool SceneScriptKP03::ClickedOnExit(int exitId) { if (Actor_Query_Goal_Number(kActorSteele) == 410) { - Actor_Set_Goal_Number(kActorSteele, 418); + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03ShootMcCoy); } else { if (exitId == 0) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, true, false, 0)) { @@ -168,73 +181,73 @@ bool SceneScriptKP03::ClickedOn2DRegion(int region) { } void SceneScriptKP03::SceneFrameAdvanced(int frame) { - int v1; - float x, y, z; - if (frame == 123) { Ambient_Sounds_Play_Sound(491, 99, -60, 100, 99); } - if ( Game_Flag_Query(421) - && !Game_Flag_Query(484) + if ( Game_Flag_Query(kFlagKP03BombActive) + && !Game_Flag_Query(kFlagKP03BombDisarmed) + && !Game_Flag_Query(kFlagKP03BombExploded) ) { - v1 = -1; - if (!Game_Flag_Query(422)) { - Actor_Query_XYZ(kActorMcCoy, &x, &y, &z); + float x, y, z; + int bombTriggeredByActor = -1; + + Actor_Query_XYZ(kActorMcCoy, &x, &y, &z); + if ((Game_Flag_Query(kFlagKP01toKP03) + && -130.0f < x + ) + || (Game_Flag_Query(kFlagKP05toKP03) + && -130.0f > x + ) + ) { + bombTriggeredByActor = kActorMcCoy; + } + + Actor_Query_XYZ(kActorSteele, &x, &y, &z); + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) + && Actor_Query_Which_Set_In(kActorSteele) == kSetKP03 + ) { if ((Game_Flag_Query(kFlagKP01toKP03) - && -130.0f < x + && -130.0f > x ) || (Game_Flag_Query(kFlagKP05toKP03) - && -130.0f > x + && -130.0f < x ) ) { - v1 = 0; - } - } - if (!Game_Flag_Query(422)) { //todo ? same condition as before - Actor_Query_XYZ(kActorSteele, &x, &y, &z); - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) - && Actor_Query_Which_Set_In(kActorSteele) == 46 - ) { - if ((Game_Flag_Query(kFlagKP01toKP03) - && -130.0f > x - ) - || (Game_Flag_Query(kFlagKP05toKP03) - && -130.0f < x - ) - ) { - v1 = 1; - } - } else if ((Game_Flag_Query(kFlagKP01toKP03) - && -130.0f < x - ) - || (Game_Flag_Query(kFlagKP05toKP03) - && -130.0f > x - ) - ) { - v1 = 1; + bombTriggeredByActor = kActorSteele; } + } else if ((Game_Flag_Query(kFlagKP01toKP03) + && -130.0f < x + ) + || (Game_Flag_Query(kFlagKP05toKP03) + && -130.0f > x + ) + ) { + bombTriggeredByActor = kActorSteele; } - if (v1 != -1) { - Scene_Loop_Set_Default(5); - Scene_Loop_Start_Special(kSceneLoopModeOnce, 4, true); - Game_Flag_Set(422); - Game_Flag_Reset(421); + + if (bombTriggeredByActor != -1) { + Scene_Loop_Set_Default(kKP03MainLoopBombExploded); + Scene_Loop_Start_Special(kSceneLoopModeOnce, kKP03MainLoopBombExploding, true); + Game_Flag_Set(kFlagKP03BombExploded); + Game_Flag_Reset(kFlagKP03BombActive); Unclickable_Object("BRACK MID"); Scene_Exits_Enable(); - if (v1 == 1) { - Actor_Set_Goal_Number(kActorSteele, 415); + + if (bombTriggeredByActor == kActorSteele) { + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03Exploded); Music_Play(12, 25, 0, 1, -1, 0, 0); if (Actor_Query_Inch_Distance_From_Actor(kActorMcCoy, kActorSteele) <= 120) { - v1 = 0; + bombTriggeredByActor = kActorMcCoy; } } - if (v1) { - Actor_Change_Animation_Mode(kActorMcCoy, 21); + + if (bombTriggeredByActor == kActorSteele) { + Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeHit); } else { Actor_Force_Stop_Walking(kActorMcCoy); - Actor_Change_Animation_Mode(kActorMcCoy, 48); - Actor_Retired_Here(kActorMcCoy, 72, 18, 1, -1); + Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie); + Actor_Retired_Here(kActorMcCoy, 72, 18, true, -1); } } } @@ -245,26 +258,26 @@ void SceneScriptKP03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo void SceneScriptKP03::PlayerWalkedIn() { if (Game_Flag_Query(kFlagKP05toKP03)) { - Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 87.0f, 0, 0, false, 0); + Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 87.0f, 0, false, false, 0); } if (Actor_Query_Is_In_Current_Set(kActorSteele) - && Actor_Query_Goal_Number(kActorSteele) != 419 + && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleKP03Dead ) { - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { if (Game_Flag_Query(kFlagKP05toKP03)) { Actor_Set_Goal_Number(kActorSteele, 410); } return; } - if (!Game_Flag_Query(422) - && !Game_Flag_Query(484) + if (!Game_Flag_Query(kFlagKP03BombExploded) + && !Game_Flag_Query(kFlagKP03BombDisarmed) && Game_Flag_Query(kFlagKP01toKP03) ) { Scene_Exits_Disable(); Delay(1000); - Actor_Set_Goal_Number(kActorSteele, 411); + Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03Walk); } } } @@ -275,28 +288,28 @@ void SceneScriptKP03::PlayerWalkedOut() { void SceneScriptKP03::DialogueQueueFlushed(int a1) { } -void SceneScriptKP03::sub_401E54() { +void SceneScriptKP03::saveSteele() { Player_Loses_Control(); Actor_Says(kActorMcCoy, 2180, 14); Actor_Set_Goal_Number(kActorSteele, 412); Actor_Says(kActorSteele, 480, 60); Actor_Face_Object(kActorMcCoy, "BRACK MID", true); Actor_Says(kActorMcCoy, 2185, 14); - Loop_Actor_Walk_To_XYZ(kActorSteele, -137.0f, -36.55f, 26.0f, 0, 0, false, 0); + Loop_Actor_Walk_To_XYZ(kActorSteele, -137.0f, -36.55f, 26.0f, 0, false, false, 0); Actor_Face_Object(kActorSteele, "BRACK MID", true); Actor_Says(kActorSteele, 490, 58); Actor_Says(kActorMcCoy, 2190, 14); Actor_Says(kActorSteele, 500, 58); Actor_Says(kActorSteele, 510, 59); Actor_Says(kActorSteele, 520, 60); - Game_Flag_Set(484); - Game_Flag_Reset(421); - Scene_Loop_Set_Default(7); - Scene_Loop_Start_Special(kSceneLoopModeOnce, 7, false); + Game_Flag_Set(kFlagKP03BombDisarmed); + Game_Flag_Reset(kFlagKP03BombActive); + Scene_Loop_Set_Default(kKP03MainLoopBombNoWire); + Scene_Loop_Start_Special(kSceneLoopModeOnce, kKP03MainLoopBombNoWire, false); Actor_Set_Goal_Number(kActorSteele, 413); Actor_Says(kActorMcCoy, 2195, 14); Ambient_Sounds_Play_Sound(151, 40, -60, -60, 0); - Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, 0, false, 0); + Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, false, false, 0); Actor_Set_Goal_Number(kActorSteele, 430); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); diff --git a/engines/bladerunner/script/scene/kp04.cpp b/engines/bladerunner/script/scene/kp04.cpp index 4de125d5bd..a921066f98 100644 --- a/engines/bladerunner/script/scene/kp04.cpp +++ b/engines/bladerunner/script/scene/kp04.cpp @@ -74,7 +74,7 @@ bool SceneScriptKP04::ClickedOnExit(int exitId) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -905.0f, 94.89f, 1357.0f, 0, true, false, 0)) { Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); - Game_Flag_Set(416); + Game_Flag_Set(kFlagKP04toKP01); Set_Enter(kSetKP01, kSceneKP01); } return true; diff --git a/engines/bladerunner/script/scene/kp05.cpp b/engines/bladerunner/script/scene/kp05.cpp index 03f3fb24ee..ff3bb0843b 100644 --- a/engines/bladerunner/script/scene/kp05.cpp +++ b/engines/bladerunner/script/scene/kp05.cpp @@ -55,7 +55,7 @@ void SceneScriptKP05::SceneLoaded() { Unobstacle_Object("OBSTACLEBOX20", true); Clickable_Object("BRIDGE02"); Unclickable_Object("BRIDGE02"); - if (!Actor_Clue_Query(kActorMcCoy, kCluePowerSource) && Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (!Actor_Clue_Query(kActorMcCoy, kCluePowerSource) && Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Item_Add_To_World(118, 960, 9, -1095.0f, 0.0f, 770.0f, 256, 24, 24, false, true, false, true); } } diff --git a/engines/bladerunner/script/scene/kp06.cpp b/engines/bladerunner/script/scene/kp06.cpp index 2a2d2b46c4..0cd53dfe1a 100644 --- a/engines/bladerunner/script/scene/kp06.cpp +++ b/engines/bladerunner/script/scene/kp06.cpp @@ -112,7 +112,7 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) { if (exitId == 1) { if (Actor_Clue_Query(kActorSadik, kCluePowerSource) || Actor_Query_Goal_Number(kActorSadik) != 416) { if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, 1, false, 0)) { - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { if (!Game_Flag_Query(714)) { Player_Set_Combat_Mode(false); } @@ -155,7 +155,7 @@ void SceneScriptKP06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo } void SceneScriptKP06::PlayerWalkedIn() { - if (!Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && Game_Flag_Query(kFlagKP07toKP06) ) { Game_Flag_Reset(kFlagKP07toKP06); diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp index 9ad6f8dc8e..4574252015 100644 --- a/engines/bladerunner/script/scene/kp07.cpp +++ b/engines/bladerunner/script/scene/kp07.cpp @@ -31,7 +31,7 @@ void SceneScriptKP07::InitializeScene() { Scene_Exit_Add_2D_Exit(0, 315, 185, 381, 285, 0); - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { if (Game_Flag_Query(kFlagDektoraIsReplicant) && Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraGone ) { @@ -93,12 +93,12 @@ void SceneScriptKP07::InitializeScene() { } void SceneScriptKP07::SceneLoaded() { - if (!Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Music_Play(19, 25, 0, 0, -1, 1, 0); } Obstacle_Object("BUNK_TRAY01", true); Unobstacle_Object("BUNK_TRAY01", true); - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Player_Set_Combat_Mode(false); Scene_Exits_Disable(); } @@ -117,7 +117,7 @@ bool SceneScriptKP07::ClickedOnActor(int actorId) { if (Game_Flag_Query(697) || actorId != kActorClovis || Actor_Query_Goal_Number(kActorClovis) == 599 || Actor_Query_Goal_Number(kActorClovis) == 515) { return false; } - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Actor_Set_Goal_Number(kActorClovis, 516); } else { Music_Play(20, 31, 0, 0, -1, 1, 0); @@ -160,7 +160,7 @@ void SceneScriptKP07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo void SceneScriptKP07::PlayerWalkedIn() { Loop_Actor_Walk_To_XYZ(kActorMcCoy, 9.0f, -41.88f, -81.0f, 0, 0, false, 0); if (!Game_Flag_Query(658)) { - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Actor_Face_Actor(kActorMcCoy, kActorClovis, true); Actor_Says(kActorClovis, 1240, 3); Actor_Says(kActorMcCoy, 8500, 3); diff --git a/engines/bladerunner/script/scene/ma02.cpp b/engines/bladerunner/script/scene/ma02.cpp index 29a14a9bb1..b3e93869a9 100644 --- a/engines/bladerunner/script/scene/ma02.cpp +++ b/engines/bladerunner/script/scene/ma02.cpp @@ -44,7 +44,7 @@ void SceneScriptMA02::InitializeScene() { if (Global_Variable_Query(kVariableChapter) >= 4 && Global_Variable_Query(kVariableChapter) == 5 - && Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + && Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) ) { Actor_Set_Goal_Number(kActorMaggie, 599); Actor_Change_Animation_Mode(kActorMaggie, 88); @@ -68,7 +68,7 @@ void SceneScriptMA02::InitializeScene() { } if ( Global_Variable_Query(kVariableChapter) == 5 - && Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) + && Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && !Actor_Clue_Query(kActorMcCoy, kClueCrystalsCigarette) ) { Overlay_Play("MA02OVER", 0, 1, 0, 0); @@ -98,7 +98,7 @@ bool SceneScriptMA02::ClickedOn3DObject(const char *objectName, bool a2) { Actor_Face_Object(kActorMcCoy, "BAR-MAIN", true); if (Global_Variable_Query(kVariableChapter) < 4) { Actor_Set_Goal_Number(kActorMaggie, 3); - } else if (Global_Variable_Query(kVariableChapter) == 5 && Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants) && !Actor_Clue_Query(kActorMcCoy, kClueCrystalsCigarette)) { + } else if (Global_Variable_Query(kVariableChapter) == 5 && Game_Flag_Query(kFlagMcCoyIsHelpingReplicants) && !Actor_Clue_Query(kActorMcCoy, kClueCrystalsCigarette)) { Overlay_Remove("MA02OVER"); Item_Pickup_Spin_Effect(985, 480, 240); Actor_Voice_Over(1150, kActorVoiceOver); @@ -188,7 +188,7 @@ void SceneScriptMA02::PlayerWalkedIn() { if ( Global_Variable_Query(kVariableChapter) == 5 && !Game_Flag_Query(654) ) { - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { Actor_Says(kActorMcCoy, 2390, kAnimationModeIdle); Music_Play(2, 25, 0, 3, -1, 0, 0); } else { diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp index d750d8894a..5013bb5849 100644 --- a/engines/bladerunner/script/scene/ma04.cpp +++ b/engines/bladerunner/script/scene/ma04.cpp @@ -175,7 +175,7 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) { Sound_Play(123, 100, 0, 0, 50); Overlay_Remove("MA04OVER"); Delay(500); - if (Game_Flag_Query(kFlagMcCoyIsNotHelpingReplicants)) { + if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) { if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora) { phoneCallWithDektora(); } else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy) { diff --git a/engines/bladerunner/script/scene_script.h b/engines/bladerunner/script/scene_script.h index 1212371c12..df8fe1aee8 100644 --- a/engines/bladerunner/script/scene_script.h +++ b/engines/bladerunner/script/scene_script.h @@ -242,7 +242,7 @@ DECLARE_SCRIPT(KP02) END_SCRIPT DECLARE_SCRIPT(KP03) - void sub_401E54(); + void saveSteele(); END_SCRIPT DECLARE_SCRIPT(KP04) |