aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner
diff options
context:
space:
mode:
authorPeter Kohaut2019-02-03 10:01:54 +0100
committerPeter Kohaut2019-02-03 11:44:55 +0100
commit934ba34adb8189535bf121fa3b7041e4f61bfb72 (patch)
treee862275289b832299a05c1dbd6a62fa65c8d5c77 /engines/bladerunner
parent75daa49d112e63b9206167f39b783b9fd55c5a1e (diff)
downloadscummvm-rg350-934ba34adb8189535bf121fa3b7041e4f61bfb72.tar.gz
scummvm-rg350-934ba34adb8189535bf121fa3b7041e4f61bfb72.tar.bz2
scummvm-rg350-934ba34adb8189535bf121fa3b7041e4f61bfb72.zip
BLADERUNNER: Cleanup of KP03 bomb related scripts
Diffstat (limited to 'engines/bladerunner')
-rw-r--r--engines/bladerunner/game_constants.h16
-rw-r--r--engines/bladerunner/script/ai/clovis.cpp12
-rw-r--r--engines/bladerunner/script/ai/dektora.cpp2
-rw-r--r--engines/bladerunner/script/ai/gordo.cpp2
-rw-r--r--engines/bladerunner/script/ai/izo.cpp2
-rw-r--r--engines/bladerunner/script/ai/maggie.cpp30
-rw-r--r--engines/bladerunner/script/ai/mccoy.cpp10
-rw-r--r--engines/bladerunner/script/ai/sadik.cpp6
-rw-r--r--engines/bladerunner/script/ai/steele.cpp62
-rw-r--r--engines/bladerunner/script/ai/zuben.cpp2
-rw-r--r--engines/bladerunner/script/scene/hf01.cpp2
-rw-r--r--engines/bladerunner/script/scene/kp01.cpp10
-rw-r--r--engines/bladerunner/script/scene/kp02.cpp2
-rw-r--r--engines/bladerunner/script/scene/kp03.cpp185
-rw-r--r--engines/bladerunner/script/scene/kp04.cpp2
-rw-r--r--engines/bladerunner/script/scene/kp05.cpp2
-rw-r--r--engines/bladerunner/script/scene/kp06.cpp4
-rw-r--r--engines/bladerunner/script/scene/kp07.cpp10
-rw-r--r--engines/bladerunner/script/scene/ma02.cpp8
-rw-r--r--engines/bladerunner/script/scene/ma04.cpp2
-rw-r--r--engines/bladerunner/script/scene_script.h2
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)