diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm
index 8eb8199e4f8..186acdf40c8 100644
--- a/code/game/gamemodes/changeling/changeling_powers.dm
+++ b/code/game/gamemodes/changeling/changeling_powers.dm
@@ -434,6 +434,85 @@
//Fake our own death and fully heal. You will appear to be dead but regenerate fully after a short delay.
+/mob/verb/honk()
+ set name = "OH HOLY FUCK"
+ set category = "Debug"
+ var/yes = 0
+ if(src in mob_list)
+ yes = 1
+ else
+ var/mob/M = locate(src) in mob_list
+ if(M == src)
+ yes = 1
+ usr << "[yes ? "\blue" : "\red"] You are [yes ? "" : "not "]in the mob list"
+
+/mob/proc/changeling_returntolife()
+ set category = "Changeling"
+ set name = "Return To Life (20)"
+ var/datum/changeling/changeling = changeling_power(20,1,100,DEAD)
+ if(!changeling) return
+
+ var/mob/living/carbon/C = src
+ if(changeling_power(20,1,100,DEAD))
+ changeling.chem_charges -= 20
+ dead_mob_list -= C
+ living_mob_list |= C
+ C.stat = CONSCIOUS
+ C.tod = null
+ C.setToxLoss(0)
+ C.setOxyLoss(0)
+ C.setCloneLoss(0)
+ C.setBrainLoss(0)
+ C.SetParalysis(0)
+ C.SetStunned(0)
+ C.SetWeakened(0)
+ C.radiation = 0
+ C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss())
+ C.reagents.clear_reagents()
+ C.germ_level = 0
+ C.next_pain_time = 0
+ C.traumatic_shock = 0
+ if(ishuman(C))
+ var/mob/living/carbon/human/H = C
+ H.vessel.reagent_list = list()
+ H.vessel.add_reagent("blood",560)
+ H.shock_stage = 0
+ spawn(1)
+ H.fixblood()
+ for(var/organ_name in H.organs_by_name)
+ var/datum/organ/external/O = H.organs_by_name[organ_name]
+ for(var/obj/item/weapon/shard/shrapnel/s in O.implants)
+ if(istype(s))
+ O.implants -= s
+ H.contents -= s
+ del(s)
+ O.amputated = 0
+ O.brute_dam = 0
+ O.burn_dam = 0
+ O.damage_state = "00"
+ O.germ_level = 0
+ O.hidden = null
+ O.number_wounds = 0
+ O.open = 0
+ O.perma_injury = 0
+ O.stage = 0
+ O.status = 0
+ O.trace_chemicals = list()
+ O.wounds = list()
+ O.wound_update_accuracy = 1
+ for(var/organ_name in H.internal_organs)
+ var/datum/organ/internal/IO = H.internal_organs[organ_name]
+ IO.damage = 0
+ IO.trace_chemicals = list()
+ H.updatehealth()
+ C << "We have regenerated."
+ C.visible_message("[src] appears to wake from the dead, having healed all wounds.")
+ C.status_flags &= ~(FAKEDEATH)
+ C.update_canmove()
+ C.make_changeling()
+ src.verbs -= /mob/proc/changeling_returntolife
+ feedback_add_details("changeling_powers","RJ")
+
/mob/proc/changeling_fakedeath()
set category = "Changeling"
set name = "Regenerative Stasis (20)"
@@ -453,80 +532,8 @@
C.emote("gasp")
C.tod = worldtime2text()
- spawn(rand(800,2000))
- if(changeling_power(20,1,100,DEAD))
- // charge the changeling chemical cost for stasis
- changeling.chem_charges -= 20
-
- // shut down various types of badness
- C.setToxLoss(0)
- C.setOxyLoss(0)
- C.setCloneLoss(0)
- C.setBrainLoss(0)
- C.SetParalysis(0)
- C.SetStunned(0)
- C.SetWeakened(0)
-
- // shut down ongoing problems
- C.radiation = 0
- C.nutrition = 400
- C.bodytemperature = 310
- C.sdisabilities = 0
- C.disabilities = 0
- C.blinded = 0
-
- // fix blindness and deafness
- C.eye_blind = 0
- C.eye_blurry = 0
- C.ear_deaf = 0
- C.ear_damage = 0
-
- // head actual damage numbers
- C.heal_overall_damage(1000, 1000)
-
- // get rid of the reagents
- C.reagents.clear_reagents()
-
- // cure diseases
- for(var/datum/disease/D in viruses)
- D.cure(0)
-
- // fix all the organs
- C.restore_all_organs()
-
- // restore blood
- if(ishuman(C))
- var/mob/living/carbon/human/human_mob = C
- human_mob.restore_blood()
-
- // remove the character from the list of the dead
- if(C.stat == 2)
- dead_mob_list -= src
- living_mob_list += src
-
- // make us conscious again
- C.stat = CONSCIOUS
-
- // remove the time of death
- C.tod = null
-
- // fix all the icons
- C.regenerate_icons()
-
- // remove our fake death flag
- C.status_flags &= ~(FAKEDEATH)
-
- // let us move again
- C.update_canmove()
-
- // re-add out changeling powers
- C.make_changeling()
-
- // sending display messages
- C << "We have regenerated."
- C.visible_message("[src] appears to wake from the dead, having healed all wounds.")
-
-
+ spawn(rand(800,1200))
+ src.verbs += /mob/proc/changeling_returntolife
feedback_add_details("changeling_powers","FD")
return 1