Fixes clones being stuck mindslaved (#25981)

* Update clonepod.dm

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>

* Update clonepod.dm

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>

* Update bio_chip_traitor.dm

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>

* Update datum_mindslave.dm

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>

* Update datum_mindslave.dm

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>

* Create misc_mindslave.dm

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>

* Update paradise.dme

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>

---------

Signed-off-by: Faron  <171642577+FaronCD@users.noreply.github.com>
This commit is contained in:
Faron
2024-06-25 10:34:22 +00:00
committed by GitHub
parent 1d0cb9aa7e
commit ef3162121a
3 changed files with 7 additions and 2 deletions
@@ -35,7 +35,7 @@
return FALSE
// Create a new mindslave datum for the target with the user as their master.
mindslave_target.mind.add_antag_datum(new /datum/antagonist/mindslave(user.mind))
mindslave_target.mind.add_antag_datum(new /datum/antagonist/mindslave/implant(user.mind))
mindslave_UID = mindslave_target.mind.UID()
log_admin("[key_name_admin(user)] has mind-slaved [key_name_admin(mindslave_target)].")
return ..()
@@ -43,7 +43,7 @@
/obj/item/bio_chip/traitor/removed(mob/target)
. = ..()
var/datum/mind/M = locateUID(mindslave_UID)
M.remove_antag_datum(/datum/antagonist/mindslave)
M.remove_antag_datum(/datum/antagonist/mindslave/implant)
/obj/item/bio_chip_implanter/traitor
name = "bio-chip implanter (Mindslave)"
@@ -0,0 +1,4 @@
//Mindslave given by an implant, if the mob is transfered they lose the implant and cant have mindslave removed otherwise
/datum/antagonist/mindslave/implant/on_body_transfer(mob/living/old_body, mob/living/new_body)
. = ..()
owner.remove_antag_datum(/datum/antagonist/mindslave/implant)