From fbd5fffcb5d3faea9ba990e3e1b00cb7af676754 Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Apr 2019 17:35:50 -0400 Subject: [PATCH] Return the check for mind and add in the option to give up body to ghosts(Taken from holopara proc) --- code/game/gamemodes/wizard/artefact.dm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 40da8fe11ec..a8fc2b14532 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -633,6 +633,11 @@ var/global/list/multiverse = list() if(M.stat != DEAD) to_chat(user, "This artifact can only affect the dead!") return + + if(!M.mind || !M.client) + to_chat(user,"There is no soul connected to this body...") + return + check_spooky()//clean out/refresh the list if(spooky_scaries.len >= 3 && !unlimited) @@ -645,6 +650,7 @@ var/global/list/multiverse = list() M.visible_message(" A massive amount of flesh sloughs off [M] and a skeleton rises up!") M.grab_ghost() // yoinks the ghost if its not in the body M.revive() + M.verbs += /mob/living/proc/skeleton_reset equip_skeleton(M) spooky_scaries |= M to_chat(M, "You have been revived by [user.real_name]!") @@ -726,7 +732,7 @@ var/global/list/multiverse = list() H.update_body() H.grab_ghost() H.revive() - + H.verbs += /mob/living/proc/skeleton_reset H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/head/kitty(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/under/schoolgirl(H), slot_w_uniform) @@ -876,3 +882,20 @@ var/global/list/multiverse = list() heal_brute = 25 heal_burn = 25 heal_oxy = 25 + +/mob/living/proc/skeleton_reset() + set name = "Offer skeleton to ghosts" + set category = "Skeleton" + set desc = "Give up your skeleton to ghosts so you can observe the round." + for(var/mob/living/carbon/human/G in GLOB.mob_list) + if(G == src) + var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as Skeleton?", ROLE_WIZARD, 0, 100) + var/mob/dead/observer/new_stand = null + if(candidates.len) + new_stand = pick(candidates) + to_chat(src,"Your body has been given up and taken over by someone else.") + message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(G)])") + G.ghostize() + G.key = new_stand.key + else + to_chat(src, "There were no ghosts willing to take control. Looks like you're stuck as a skeleton for now.")