diff --git a/code/datums/mind.dm b/code/datums/mind.dm index f5fc2b79c28..a16a42069d6 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -507,10 +507,19 @@ datum/mind switch(href_list["implant"]) if("remove") for(var/obj/item/weapon/implant/loyalty/I in H.contents) - I.Del() + for(var/datum/organ/external/organs in H.organs) + if(I in organs.implants) + I.Del() + break H << "\blue Your loyalty implant has been deactivated." if("add") - H.contents.Add( new /obj/item/weapon/implant/loyalty (src) ) + var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) + L.imp_in = H + L.implanted = 1 + var/datum/organ/external/affected = H.organs_by_name["head"] + affected.implants += L + L.part = affected + H << "\red You somehow have become the recepient of a loyalty transplant, and it just activated!" if(src in ticker.mode.revolutionaries) special_role = null