aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/scene/kp02.cpp
diff options
context:
space:
mode:
authorThanasis Antoniou2019-07-01 21:02:23 +0300
committerThanasis Antoniou2019-07-01 21:03:03 +0300
commitbfcd59571ee0e742cd74ec172301056a17c6c5ba (patch)
treed34b66485e6b8fe306cc101b4f3bbf40b1557f2d /engines/bladerunner/script/scene/kp02.cpp
parentbc056feddde50fbefc8147f667f95524ce46b622 (diff)
downloadscummvm-rg350-bfcd59571ee0e742cd74ec172301056a17c6c5ba.tar.gz
scummvm-rg350-bfcd59571ee0e742cd74ec172301056a17c6c5ba.tar.bz2
scummvm-rg350-bfcd59571ee0e742cd74ec172301056a17c6c5ba.zip
BLADERUNNER: Rat AI bug fixes
Most prominent bugs fixed is behavior in KP02 and not attacking when near McCoy
Diffstat (limited to 'engines/bladerunner/script/scene/kp02.cpp')
-rw-r--r--engines/bladerunner/script/scene/kp02.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/engines/bladerunner/script/scene/kp02.cpp b/engines/bladerunner/script/scene/kp02.cpp
index 955a5132f8..0c238b31ef 100644
--- a/engines/bladerunner/script/scene/kp02.cpp
+++ b/engines/bladerunner/script/scene/kp02.cpp
@@ -79,14 +79,15 @@ bool SceneScriptKP02::ClickedOnItem(int itemId, bool a2) {
bool SceneScriptKP02::ClickedOnExit(int exitId) {
if (exitId == 0) {
+ // TODO - A bug? Exit 0 is not added in the original game so this will never be triggered
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1040.0f, -615.49f, 2903.0f, 0, true, false, false)) {
- if (Actor_Query_Goal_Number(kActorFreeSlotB) == 406
- || Actor_Query_Goal_Number(kActorFreeSlotA) == 406
+ if (Actor_Query_Goal_Number(kActorFreeSlotB) == kGoalFreeSlotBAct5KP02Attack
+ || Actor_Query_Goal_Number(kActorFreeSlotA) == kGoalFreeSlotAAct5KP02Attack
) {
Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotB);
Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotA);
- Actor_Set_Goal_Number(kActorFreeSlotB, 400);
- Actor_Set_Goal_Number(kActorFreeSlotA, 400);
+ Actor_Set_Goal_Number(kActorFreeSlotB, kGoalFreeSlotBAct5Default);
+ Actor_Set_Goal_Number(kActorFreeSlotA, kGoalFreeSlotAAct5Default);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagKP02toUG12);
@@ -103,13 +104,13 @@ bool SceneScriptKP02::ClickedOnExit(int exitId) {
if (exitId == 1) {
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -884.0f, -615.49f, 3065.0f, 0, true, false, false)) {
- if (Actor_Query_Goal_Number(kActorFreeSlotB) == 406
- || Actor_Query_Goal_Number(kActorFreeSlotA) == 406
+ if (Actor_Query_Goal_Number(kActorFreeSlotB) == kGoalFreeSlotBAct5KP02Attack
+ || Actor_Query_Goal_Number(kActorFreeSlotA) == kGoalFreeSlotAAct5KP02Attack
) {
Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotB);
Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotA);
- Actor_Set_Goal_Number(kActorFreeSlotB, 400);
- Actor_Set_Goal_Number(kActorFreeSlotA, 400);
+ Actor_Set_Goal_Number(kActorFreeSlotB, kGoalFreeSlotBAct5Default);
+ Actor_Set_Goal_Number(kActorFreeSlotA, kGoalFreeSlotAAct5Default);
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
Ambient_Sounds_Remove_All_Looping_Sounds(1);
Game_Flag_Set(kFlagKP02toKP01);