From c1e641be437ae0e3e037f1f518466734ff47a8ab Mon Sep 17 00:00:00 2001
From: Sally Coolatta <tehrealsalt@gmail.com>
Date: Mon, 31 Oct 2022 18:09:18 -0400
Subject: [PATCH] Improve emblem sharing conditions

---
 src/p_inter.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/p_inter.c b/src/p_inter.c
index 750e9cc34c..bd3c15a456 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -796,6 +796,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
 			{
 				mobj_t *spark = NULL;
 				boolean prevCollected;
+				const boolean isServer = ((player - players) == serverplayer);
 
 				if (!P_CanPickupEmblem(player, special->health - 1))
 				{
@@ -804,13 +805,13 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
 
 				prevCollected = P_EmblemWasCollected(special->health - 1);
 
-				if (((player - players) == serverplayer) || shareEmblems)
+				if (isServer || shareEmblems)
 				{
 					serverGamedata->collected[special->health-1] = true;
 					M_SilentUpdateUnlockablesAndEmblems(serverGamedata);
 				}
 
-				if (P_IsLocalPlayer(player) /*|| shareEmblems*/)
+				if (P_IsLocalPlayer(player) || (isServer && shareEmblems))
 				{
 					clientGamedata->collected[special->health-1] = true;
 					M_UpdateUnlockablesAndExtraEmblems(clientGamedata);
-- 
GitLab