From 618b8a0ea0c8a0fb0f0d621ca1dc33fdc48e5697 Mon Sep 17 00:00:00 2001 From: Alexander B <4866817+MathyFurret@users.noreply.github.com> Date: Wed, 16 Mar 2022 13:29:18 -0500 Subject: [PATCH] Fix `/blockchallenges friends` (#8689) --- server/ladders.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/server/ladders.ts b/server/ladders.ts index 3f7430e078..2bd259f512 100644 --- a/server/ladders.ts +++ b/server/ladders.ts @@ -163,11 +163,17 @@ class Ladder extends LadderStore { connection.popup(`You are already challenging someone. Cancel that challenge before challenging someone else.`); return false; } - if (targetUser.settings.blockChallenges && !user.can('bypassblocks', targetUser) && ( - targetUser.settings.blockChallenges === true || - targetUser.settings.blockChallenges === 'friends' && targetUser.friends?.has(user.id) || - !Users.globalAuth.atLeast(user, targetUser.settings.blockChallenges as AuthLevel) - )) { + + let blockChallenge: boolean; + if (typeof targetUser.settings.blockChallenges === 'boolean') { + blockChallenge = targetUser.settings.blockChallenges; + } else if (targetUser.settings.blockChallenges === 'friends') { + blockChallenge = !targetUser.friends?.has(user.id); + } else { + blockChallenge = !Users.globalAuth.atLeast(user, targetUser.settings.blockChallenges); + } + + if (blockChallenge && !user.can('bypassblocks', targetUser)) { connection.popup(`The user '${targetUser.name}' is not accepting challenges right now.`); Chat.maybeNotifyBlocked('challenge', targetUser, user); return false;