From e841f4b1bece6d52e5d6e52a219419e9dbc127f8 Mon Sep 17 00:00:00 2001 From: Vi3trice <80771500+Vi3trice@users.noreply.github.com> Date: Thu, 7 Apr 2022 12:04:05 -0400 Subject: [PATCH] Fix - Contractor targets are stripped of suit accessories when extracted (#17580) * Out of the original for loop to prevent wasteful checks * We had that discussion a few days ago and I already forgot about it --- .../traitor/contractor/datums/syndicate_contract.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm index 02c76cd41e3..615985dbac2 100644 --- a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm @@ -409,6 +409,14 @@ if(M.unEquip(I)) stuff_to_transfer += I + // Remove accessories from the suit if present + if(length(H.w_uniform?.accessories)) + for(var/obj/item/clothing/accessory/A in H.w_uniform.accessories) + A.on_removed(H) + H.w_uniform.accessories -= A + H.unEquip(A) + stuff_to_transfer += A + // Transfer it all (or drop it if not possible) for(var/i in stuff_to_transfer) var/obj/item/I = i