diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 584a161378a..631c646ec0f 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -157,8 +157,20 @@ R.notify_ai(NEW_BORG) . = R + if(R.ckey && is_banned_from(R.ckey, "Cyborg")) + INVOKE_ASYNC(R, /mob/living/silicon/robot.proc/replace_banned_cyborg) qdel(src) +/mob/living/silicon/robot/proc/replace_banned_cyborg() + to_chat(src, "You are job banned from cyborg! Appeal your job ban if you want to avoid this in the future!") + ghostize(FALSE) + + var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as [src]?", "[src]", null, "Cyborg", 50, src) + if(LAZYLEN(candidates)) + var/mob/dead/observer/chosen_candidate = pick(candidates) + message_admins("[key_name_admin(chosen_candidate)] has taken control of ([key_name_admin(src)]) to replace a jobbanned player.") + key = chosen_candidate.key + //human -> alien /mob/living/carbon/human/proc/Alienize() if (notransform)