mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Revert "fixing defib timer and adding surgery for that shit"
This commit is contained in:
@@ -509,8 +509,8 @@
|
|||||||
return // Still no brain.
|
return // Still no brain.
|
||||||
|
|
||||||
// If the brain'd `defib_timer` var gets below this number, brain damage will happen at a linear rate.
|
// If the brain'd `defib_timer` var gets below this number, brain damage will happen at a linear rate.
|
||||||
// This is measures in `Life()` ticks. E.g. 10 minute defib timer = 300 `Life()` ticks. // Original math was VERY off. Life() tick occurs every ~2 seconds, not every 2 world.time ticks.
|
// This is measures in `Life()` ticks. E.g. 10 minute defib timer = 6000 world.time units = 3000 `Life()` ticks.
|
||||||
var/brain_damage_timer = ((config.defib_timer MINUTES) / 20) - ((config.defib_braindamage_timer MINUTES) / 20)
|
var/brain_damage_timer = ((config.defib_timer MINUTES) / 2) - ((config.defib_braindamage_timer MINUTES) / 2)
|
||||||
|
|
||||||
if(brain.defib_timer > brain_damage_timer)
|
if(brain.defib_timer > brain_damage_timer)
|
||||||
return // They got revived before brain damage got a chance to set in.
|
return // They got revived before brain damage got a chance to set in.
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
|
|||||||
if(!owner || owner.stat == DEAD)
|
if(!owner || owner.stat == DEAD)
|
||||||
defib_timer = max(--defib_timer, 0)
|
defib_timer = max(--defib_timer, 0)
|
||||||
else
|
else
|
||||||
defib_timer = min(++defib_timer, (config.defib_timer MINUTES) / 20) // Time vars measure things in ticks. Life tick happens every ~2 seconds, therefore dividing by 20
|
defib_timer = min(++defib_timer, (config.defib_timer MINUTES) / 2)
|
||||||
|
|
||||||
/obj/item/organ/internal/brain/proc/can_assist()
|
/obj/item/organ/internal/brain/proc/can_assist()
|
||||||
return can_assist
|
return can_assist
|
||||||
@@ -81,7 +81,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
|
|||||||
/obj/item/organ/internal/brain/New()
|
/obj/item/organ/internal/brain/New()
|
||||||
..()
|
..()
|
||||||
health = config.default_brain_health
|
health = config.default_brain_health
|
||||||
defib_timer = (config.defib_timer MINUTES) / 20 // Time vars measure things in ticks. Life tick happens every ~2 seconds, therefore dividing by 20
|
defib_timer = (config.defib_timer MINUTES) / 2
|
||||||
spawn(5)
|
spawn(5)
|
||||||
if(brainmob)
|
if(brainmob)
|
||||||
butcherable = FALSE
|
butcherable = FALSE
|
||||||
|
|||||||
@@ -147,37 +147,3 @@
|
|||||||
affected.createwound(CUT, 15)
|
affected.createwound(CUT, 15)
|
||||||
affected.createwound(BRUISE, 10)
|
affected.createwound(BRUISE, 10)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/datum/surgery_step/internal/brain_revive
|
|
||||||
blood_level = 0
|
|
||||||
allowed_tools = list(/obj/item/weapon/surgical/bioregen=100)
|
|
||||||
min_duration = 120
|
|
||||||
max_duration = 150
|
|
||||||
|
|
||||||
/datum/surgery_step/internal/brain_revive/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
|
||||||
var/obj/item/organ/internal/brain/brain = target.internal_organs_by_name[O_BRAIN]
|
|
||||||
return ..() && target_zone == BP_HEAD && istype(brain) && (brain.status & ORGAN_DEAD || brain.defib_timer == 0)
|
|
||||||
|
|
||||||
/datum/surgery_step/internal/brain_revive/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
|
||||||
user.visible_message("<span class='notice'>[user] begins to use \the [tool] to reverse the decay on and revatilize [target]'s brain.</span>", \
|
|
||||||
"<span class='notice'>You begin to use \the [tool] to reverse the decay on and revatilize [target]'s brain.</span>")
|
|
||||||
..()
|
|
||||||
|
|
||||||
/datum/surgery_step/internal/brain_revive/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
|
||||||
user.visible_message("<span class='notice'>[user] finishes reversing the decay on and revatalizing [target]'s brain.</span>", \
|
|
||||||
"<span class='notice'>You finish reversing the decay on and revatalizing [target]'s brain.</span>")
|
|
||||||
var/obj/item/organ/internal/brain/brain = target.internal_organs_by_name[O_BRAIN]
|
|
||||||
brain.damage = max(0,brain.damage - 10)
|
|
||||||
brain.status &= ~ORGAN_DEAD
|
|
||||||
brain.handle_organ_mod_special()
|
|
||||||
brain.defib_timer = (config.defib_timer MINUTES) / 20
|
|
||||||
START_PROCESSING(SSobj, brain)
|
|
||||||
..()
|
|
||||||
|
|
||||||
/datum/surgery_step/internal/brain_revive/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
|
||||||
user.visible_message("<span class='danger'>[user]'s hand slips, failing to finish the surgery, and damaging [target] with \the [tool].</span>", \
|
|
||||||
"<span class='danger'>Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool].</span>")
|
|
||||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
|
||||||
affected.createwound(CUT, 15)
|
|
||||||
affected.createwound(BRUISE, 10)
|
|
||||||
..()
|
|
||||||
Reference in New Issue
Block a user