From 92e77d06c60b974581378b3955077a38bee99708 Mon Sep 17 00:00:00 2001 From: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Date: Tue, 26 Aug 2025 23:51:50 +0200 Subject: [PATCH] Fixes crusher trophies sometimes not dropping when they should/dropping duplicates (#92721) ## About The Pull Request Changes crusher trophy drops from butchering to use guaranteed drops instead of RNG-dependant ones ## Why It's Good For The Game Some mobs are limited in quantity (rare variants, such as ice/magmawings for example) and not getting a drop sucks, and getting duplicate drops is inconsistent with how del on death mob drops work. --- code/datums/elements/crusher_loot.dm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/code/datums/elements/crusher_loot.dm b/code/datums/elements/crusher_loot.dm index 02499756095..16b5253dca2 100644 --- a/code/datums/elements/crusher_loot.dm +++ b/code/datums/elements/crusher_loot.dm @@ -36,14 +36,15 @@ var/datum/status_effect/crusher_damage/damage = target.has_status_effect(/datum/status_effect/crusher_damage) if(damage && prob((damage.total_damage/target.maxHealth) * drop_mod)) //on average, you'll need to kill 4 creatures before getting the item. by default. - if(islist(trophy_type)) - for(var/trophypath in trophy_type) - make_path(target, trophypath) + if(!islist(trophy_type)) + make_path(target, trophy_type) return - make_path(target, trophy_type) + + for(var/trophypath in trophy_type) + make_path(target, trophypath) /datum/element/crusher_loot/proc/make_path(mob/living/target, path) if(drop_immediately) new path(get_turf(target)) else - target.butcher_results[path] = 1 + target.guaranteed_butcher_results[path] = 1