diff --git a/code/__defines/misc_vr.dm b/code/__defines/misc_vr.dm
index 600bf5be2bf..23910771f02 100644
--- a/code/__defines/misc_vr.dm
+++ b/code/__defines/misc_vr.dm
@@ -21,9 +21,9 @@
#define MAX_SPECIES_TRAITS 5
// Xenochimera thing mostly
-#define REVIVING_NOW 1
-#define REVIVING_DONE 2
-#define REVIVING_COOLDOWN 3
+#define REVIVING_NOW -1
+#define REVIVING_DONE 0
+#define REVIVING_READY 1
// Resleeving Mind Record Status
#define MR_NORMAL 0
diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
index fadf7477f19..0d0328bd516 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
@@ -10,16 +10,16 @@
/mob/living/carbon/human/proc/chimera_regenerate()
//If they're already regenerating
- switch(reviving)
+ switch(revive_ready)
if(REVIVING_NOW)
to_chat(src, "You are already reconstructing, just wait for the reconstruction to finish!")
return
if(REVIVING_DONE)
to_chat(src, "Your reconstruction is done, but you need to hatch now.")
return
- if(REVIVING_COOLDOWN)
- to_chat(src, "You can't use that ability again so soon!")
- return
+ if(revive_ready > world.time)
+ to_chat(src, "You can't use that ability again so soon!")
+ return
var/nutrition_used = nutrition * 0.5
var/time = (240+960/(1 + nutrition_used/75))
@@ -32,18 +32,18 @@
to_chat(src, "You begin to reconstruct your form. You will not be able to move during this time. It should take aproximately [round(time)] seconds.")
//Scary spawnerization.
- reviving = REVIVING_NOW
+ revive_ready = REVIVING_NOW
spawn(time SECONDS)
// Was dead, now not dead.
if(stat != DEAD)
to_chat(src, "Your body has recovered from its ordeal, ready to regenerate itself again.")
- reviving = 0 //Not bool
+ revive_ready = REVIVING_READY //reset their cooldown
// Was dead, still dead.
else
to_chat(src, "Consciousness begins to stir as your new body awakens, ready to hatch.")
verbs |= /mob/living/carbon/human/proc/hatch
- reviving = REVIVING_DONE
+ revive_ready = REVIVING_DONE
//Dead until nutrition injected.
else
@@ -54,25 +54,25 @@
to_chat(src, "You begin to reconstruct your form. You will not be able to move during this time. It should take aproximately [round(time)] seconds.")
//Waiting for regen after being alive
- reviving = REVIVING_NOW
+ revive_ready = REVIVING_NOW
spawn(time SECONDS)
//If they're still alive after regenning.
if(stat != DEAD)
to_chat(src, "Consciousness begins to stir as your new body awakens, ready to hatch..")
verbs |= /mob/living/carbon/human/proc/hatch
- reviving = REVIVING_DONE
+ revive_ready = REVIVING_DONE
//Was alive, now dead
else if(hasnutriment())
to_chat(src, "Consciousness begins to stir as your new body awakens, ready to hatch..")
verbs |= /mob/living/carbon/human/proc/hatch
- reviving = REVIVING_DONE
+ revive_ready = REVIVING_DONE
//Dead until nutrition injected.
else
to_chat(src, "Your body was unable to regenerate, what few living cells remain require additional nutrients to complete the process.")
- reviving = 0 //Not boolean
+ revive_ready = REVIVING_READY //reset their cooldown
/mob/living/carbon/human/proc/hasnutriment()
if (bloodstr.has_reagent("nutriment", 30) || src.bloodstr.has_reagent("protein", 15)) //protein needs half as much. For reference, a steak contains 9u protein.
@@ -86,7 +86,7 @@
set name = "Hatch"
set category = "Abilities"
- if(reviving != REVIVING_DONE)
+ if(revive_ready != REVIVING_DONE)
//Hwhat?
verbs -= /mob/living/carbon/human/proc/hatch
return
@@ -107,7 +107,7 @@
else
to_chat(src, "Your body was unable to regenerate, what few living cells remain require additional nutrients to complete the process.")
verbs -= /mob/living/carbon/human/proc/hatch
- reviving = 0 //So they can try again when they're given a kickstart
+ revive_ready = REVIVING_READY //reset their cooldown they can try again when they're given a kickstart
//Alive when hatching
else
@@ -141,11 +141,10 @@
var/T = get_turf(src)
new /obj/effect/gibspawner/human/xenochimera(T)
- reviving = REVIVING_COOLDOWN
- addtimer(CALLBACK(src, .proc/revivingreset), 36000)
+ revive_ready = world.time + 1 HOUR //set the cooldown
-/mob/living/carbon/human/proc/revivingreset()
- reviving = 0
+/mob/living/carbon/human/proc/revivingreset() // keep this as a debug proc or potential future use
+ revive_ready = REVIVING_READY
/obj/effect/gibspawner/human/xenochimera
fleshcolor = "#14AD8B"
diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
index 6690604a723..7011ccc0201 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
@@ -75,7 +75,7 @@
handle_feralness(H)
//While regenerating
- if(H.reviving && H.reviving != REVIVING_COOLDOWN)
+ if(H.revive_ready == REVIVING_NOW || H.revive_ready == REVIVING_DONE)
H.weakened = 5
H.canmove = 0
H.does_not_breathe = TRUE
diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm
index 6701c87b359..709a02a8be8 100644
--- a/code/modules/reagents/Chemistry-Recipes_vr.dm
+++ b/code/modules/reagents/Chemistry-Recipes_vr.dm
@@ -58,7 +58,7 @@
var/mob/living/carbon/human/H = holder.my_atom
if(H.stat == DEAD && (/mob/living/carbon/human/proc/reconstitute_form in H.verbs)) //no magical regen for non-regenners, and can't force the reaction on live ones
if(H.hasnutriment()) // make sure it actually has the conditions to revive
- if(!H.reviving) // if it's not reviving, start doing so
+ if(H.revive_ready >= 1) // if it's not reviving, start doing so
H.visible_message("[H] shudders briefly, then relaxes, faint movements stirring within.")
H.chimera_regenerate()
else if (/mob/living/carbon/human/proc/hatch in H.verbs)// already reviving, check if they're ready to hatch
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index 26c03300a24..8d3cb48d244 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -11,7 +11,7 @@
var/weight_loss = 0.5 // How fast you lose weight
var/vore_egg_type = "egg" // Default egg type.
var/feral = 0 // How feral the mob is, if at all. Does nothing for non xenochimera at the moment.
- var/reviving = 0 // Only used for creatures that have the xenochimera regen ability, so far.
+ var/revive_ready = REVIVING_READY // Only used for creatures that have the xenochimera regen ability, so far.
var/metabolism = 0.0015
var/vore_taste = null // What the character tastes like
var/no_vore = 0 // If the character/mob can vore.