From 0fe6fb2fa542dae48ea70287c066ab10b0a35ce5 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 23 Apr 2023 21:21:12 +0100 Subject: [PATCH] M_ChallengesTick: Catch one more SKINCOLOR_NONE opportunity for bombcolor Also clarifies the SECRET_FOLLOWER case a little --- src/menus/extras-challenges.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/menus/extras-challenges.c b/src/menus/extras-challenges.c index 341b488b4..093630f27 100644 --- a/src/menus/extras-challenges.c +++ b/src/menus/extras-challenges.c @@ -459,11 +459,13 @@ void M_ChallengesTick(void) } case SECRET_FOLLOWER: { - INT32 skin = M_UnlockableFollowerNum(ref); - if (skin != -1) + INT32 fskin = M_UnlockableFollowerNum(ref); + if (fskin != -1) { INT32 psk = R_SkinAvailable(cv_skin[0].string); - bombcolor = K_GetEffectiveFollowerColor(followers[skin].defaultcolor, &followers[skin], cv_playercolor[0].value, (psk != -1) ? &skins[psk] : &skins[0]); + if (psk == -1) + psk = 0; + bombcolor = K_GetEffectiveFollowerColor(followers[fskin].defaultcolor, &followers[fskin], cv_playercolor[0].value, &skins[psk]); } break; } @@ -474,6 +476,13 @@ void M_ChallengesTick(void) if (bombcolor == SKINCOLOR_NONE) { bombcolor = cv_playercolor[0].value; + if (bombcolor == SKINCOLOR_NONE) + { + INT32 psk = R_SkinAvailable(cv_skin[0].string); + if (psk == -1) + psk = 0; + bombcolor = skins[psk].prefcolor; + } } i = (ref->majorunlock && M_RandomChance(FRACUNIT/2)) ? 1 : 0;