diff options
author | Thanasis Antoniou | 2019-07-01 21:02:23 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-07-01 21:03:03 +0300 |
commit | bfcd59571ee0e742cd74ec172301056a17c6c5ba (patch) | |
tree | d34b66485e6b8fe306cc101b4f3bbf40b1557f2d /engines/bladerunner/script/scene/kp02.cpp | |
parent | bc056feddde50fbefc8147f667f95524ce46b622 (diff) | |
download | scummvm-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.cpp | 17 |
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); |