aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/ai/free_slot_b.cpp
diff options
context:
space:
mode:
authorThanasis Antoniou2019-07-11 15:35:58 +0300
committerThanasis Antoniou2019-07-11 16:15:05 +0300
commite0da90cdb8640461a2b0518cbe6834c4bdee446c (patch)
tree89ee505614e26d5d6d04030231a53fe899fc18c5 /engines/bladerunner/script/ai/free_slot_b.cpp
parent0195599ea25306a8a612875322a130826109785a (diff)
downloadscummvm-rg350-e0da90cdb8640461a2b0518cbe6834c4bdee446c.tar.gz
scummvm-rg350-e0da90cdb8640461a2b0518cbe6834c4bdee446c.tar.bz2
scummvm-rg350-e0da90cdb8640461a2b0518cbe6834c4bdee446c.zip
BLADERUNNER: No rats when Lucy is in UG01
Diffstat (limited to 'engines/bladerunner/script/ai/free_slot_b.cpp')
-rw-r--r--engines/bladerunner/script/ai/free_slot_b.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/engines/bladerunner/script/ai/free_slot_b.cpp b/engines/bladerunner/script/ai/free_slot_b.cpp
index f945021254..ddb7f047ff 100644
--- a/engines/bladerunner/script/ai/free_slot_b.cpp
+++ b/engines/bladerunner/script/ai/free_slot_b.cpp
@@ -460,13 +460,24 @@ void AIScriptFreeSlotB::goToRandomUGxx() {
switch (Random_Query(1, 14)) {
case 1:
// kSetUG01
+#if BLADERUNNER_ORIGINAL_BUGS
AI_Movement_Track_Append(kActorFreeSlotB, 450, 1);
AI_Movement_Track_Append(kActorFreeSlotB, 451, 5);
AI_Movement_Track_Append(kActorFreeSlotB, 450, 0);
break;
-
+#else
+ // Don't put rats in UG01 when Lucy is also here
+ if (!Actor_Query_In_Set(kActorLucy, kSetUG01)) {
+ AI_Movement_Track_Append(kActorFreeSlotB, 450, 1);
+ AI_Movement_Track_Append(kActorFreeSlotB, 451, 5);
+ AI_Movement_Track_Append(kActorFreeSlotB, 450, 0);
+ break;
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
+ // fall through
case 2:
// kSetUG01
+#if BLADERUNNER_ORIGINAL_BUGS
World_Waypoint_Set(466, kSetUG01, 144.98f, -50.13f, -175.75f);
World_Waypoint_Set(547, kSetUG01, 105.6f, -50.13f, -578.46f);
World_Waypoint_Set(548, kSetUG01, 62.0f, -50.13f, -574.0f);
@@ -475,7 +486,20 @@ void AIScriptFreeSlotB::goToRandomUGxx() {
AI_Movement_Track_Append(kActorFreeSlotB, 548, 5);
AI_Movement_Track_Append(kActorFreeSlotB, 466, 5);
break;
-
+#else
+ // Don't put rats in UG01 when Lucy is also here
+ if (!Actor_Query_In_Set(kActorLucy, kSetUG01)) {
+ World_Waypoint_Set(466, kSetUG01, 144.98f, -50.13f, -175.75f);
+ World_Waypoint_Set(547, kSetUG01, 105.6f, -50.13f, -578.46f);
+ World_Waypoint_Set(548, kSetUG01, 62.0f, -50.13f, -574.0f);
+ AI_Movement_Track_Append(kActorFreeSlotB, 466, 1);
+ AI_Movement_Track_Append(kActorFreeSlotB, 547, 1);
+ AI_Movement_Track_Append(kActorFreeSlotB, 548, 5);
+ AI_Movement_Track_Append(kActorFreeSlotB, 466, 5);
+ break;
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
+ // fall through
case 3:
// kSetUG04
AI_Movement_Track_Append(kActorFreeSlotB, 446, 15);