From 5b685d5cad6bf4ad528c44b6e214e050bab0a91c Mon Sep 17 00:00:00 2001 From: Richard Jenkins Date: Tue, 28 Mar 2017 08:24:42 +0100 Subject: [PATCH] Don't apply peep_make_passing_peeps_sick() to peeps in a queue, fixes #1992 --- src/openrct2/peep/peep.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/openrct2/peep/peep.c b/src/openrct2/peep/peep.c index 1ab24a89b9..9ba3f39138 100644 --- a/src/openrct2/peep/peep.c +++ b/src/openrct2/peep/peep.c @@ -11185,12 +11185,14 @@ static void peep_make_passing_peeps_sick(rct_peep *peep) sint32 zDiff = abs(otherPeep->z - peep->z); if (zDiff <= 32) { if (peep != otherPeep) { - if (otherPeep->action == PEEP_ACTION_NONE_1 || otherPeep->action == PEEP_ACTION_NONE_2) { - otherPeep->action = PEEP_ACTION_THROW_UP; - otherPeep->action_frame = 0; - otherPeep->action_sprite_image_offset = 0; - sub_693B58(otherPeep); - invalidate_sprite_2((rct_sprite*)otherPeep); + if (otherPeep->state != PEEP_STATE_QUEUING) { + if (otherPeep->action == PEEP_ACTION_NONE_1 || otherPeep->action == PEEP_ACTION_NONE_2) { + otherPeep->action = PEEP_ACTION_THROW_UP; + otherPeep->action_frame = 0; + otherPeep->action_sprite_image_offset = 0; + sub_693B58(otherPeep); + invalidate_sprite_2((rct_sprite*)otherPeep); + } } } }