From 986ec8025daca2c39f395bec4fdcc0830c2037c0 Mon Sep 17 00:00:00 2001 From: toaster Date: Thu, 8 Jun 2023 18:28:18 +0100 Subject: [PATCH] Polish for Wrongwarp - Anti-tailgate measure for the SMK titlescreen recreation (prevents slots on the same row from being used immediately one after the other) - Slightly reduce spinout chance since it felt too frequent --- src/menus/extras-wrong.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/menus/extras-wrong.c b/src/menus/extras-wrong.c index c820b1888..3a68f3878 100644 --- a/src/menus/extras-wrong.c +++ b/src/menus/extras-wrong.c @@ -29,6 +29,7 @@ void M_WrongWarp(INT32 choice) static void M_WrongWarpTick(void) { static boolean firsteggman = true; + static boolean antitailgate = false; UINT8 i, j; @@ -91,6 +92,10 @@ static void M_WrongWarpTick(void) if (wrongwarp.wrongplayers[i].skin == rskin) return; + // Prevent tailgating. + if (antitailgate == !!(i & 1)) + continue; + // Slot isn't free. if (wrongwarp.wrongplayers[i].skin != MAXSKINS) continue; @@ -111,12 +116,14 @@ static void M_WrongWarpTick(void) return; } - wrongwarp.wrongplayers[i].spinout = M_RandomChance(FRACUNIT/10); + wrongwarp.wrongplayers[i].spinout = M_RandomChance(FRACUNIT/11); } // Add the new character! wrongwarp.wrongplayers[i].skin = rskin; wrongwarp.wrongplayers[i].across = -WRONGPLAYEROFFSCREEN; + + antitailgate = !!(i & 1); } static boolean M_WrongWarpInputs(INT32 ch)