diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm index 525bbeac7e..1e549c23c0 100644 --- a/code/game/objects/items/devices/defib.dm +++ b/code/game/objects/items/devices/defib.dm @@ -509,8 +509,8 @@ return // Still no brain. // 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. - var/brain_damage_timer = ((config.defib_timer MINUTES) / 20) - ((config.defib_braindamage_timer MINUTES) / 20) + // 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) / 2) - ((config.defib_braindamage_timer MINUTES) / 2) if(brain.defib_timer > brain_damage_timer) return // They got revived before brain damage got a chance to set in. diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index 386cfdaef5..30c539bbde 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -33,7 +33,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) if(!owner || owner.stat == DEAD) defib_timer = max(--defib_timer, 0) 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() return can_assist @@ -81,7 +81,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) /obj/item/organ/internal/brain/New() ..() 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) if(brainmob) butcherable = FALSE diff --git a/code/modules/surgery/additions_ch.dm b/code/modules/surgery/additions_ch.dm index ecddfed994..b2c603a341 100644 --- a/code/modules/surgery/additions_ch.dm +++ b/code/modules/surgery/additions_ch.dm @@ -146,38 +146,4 @@ "Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool].") affected.createwound(CUT, 15) 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("[user] begins to use \the [tool] to reverse the decay on and revatilize [target]'s brain.", \ - "You begin to use \the [tool] to reverse the decay on and revatilize [target]'s brain.") - ..() - -/datum/surgery_step/internal/brain_revive/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - user.visible_message("[user] finishes reversing the decay on and revatalizing [target]'s brain.", \ - "You finish reversing the decay on and revatalizing [target]'s brain.") - 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("[user]'s hand slips, failing to finish the surgery, and damaging [target] with \the [tool].", \ - "Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool].") - var/obj/item/organ/external/affected = target.get_organ(target_zone) - affected.createwound(CUT, 15) - affected.createwound(BRUISE, 10) ..() \ No newline at end of file