mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 20:45:28 +01:00
UPSTREAM -25-02 - Accidental double eye wounds
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
|
||||
/*
|
||||
Piercing wounds
|
||||
*/
|
||||
@@ -333,49 +334,6 @@
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/wound/pierce/bleed/severe/eye
|
||||
name = "Eyeball Puncture"
|
||||
desc = "Patient's eye has sustained extreme damage, causing severe bleeding from the ocular cavity."
|
||||
occur_text = "looses a violent spray of blood, revealing a crushed eyeball"
|
||||
var/right_side = FALSE
|
||||
|
||||
/datum/wound/pierce/bleed/severe/eye/apply_wound(obj/item/bodypart/limb, silent, datum/wound/old_wound, smited, attack_direction, wound_source, replacing, right_side)
|
||||
var/obj/item/organ/internal/eyes/eyes = locate() in limb
|
||||
if (!istype(eyes))
|
||||
return FALSE
|
||||
. = ..()
|
||||
src.right_side = right_side
|
||||
examine_desc = "has its [right_side ? "right" : "left"] eye pierced clean through, blood spewing from the cavity"
|
||||
RegisterSignal(limb, COMSIG_BODYPART_UPDATE_WOUND_OVERLAY, PROC_REF(wound_overlay))
|
||||
limb.update_part_wound_overlay()
|
||||
|
||||
/datum/wound/pierce/bleed/severe/eye/remove_wound(ignore_limb, replaced)
|
||||
if (!isnull(limb))
|
||||
UnregisterSignal(limb, COMSIG_BODYPART_UPDATE_WOUND_OVERLAY)
|
||||
return ..()
|
||||
|
||||
/datum/wound/pierce/bleed/severe/eye/proc/wound_overlay(obj/item/bodypart/source, limb_bleed_rate)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if (limb_bleed_rate <= BLEED_OVERLAY_LOW || limb_bleed_rate > BLEED_OVERLAY_GUSH)
|
||||
return
|
||||
|
||||
if (blood_flow <= BLEED_OVERLAY_LOW)
|
||||
return
|
||||
|
||||
source.bleed_overlay_icon = right_side ? "r_eye" : "l_eye"
|
||||
return COMPONENT_PREVENT_WOUND_OVERLAY_UPDATE
|
||||
|
||||
/datum/wound_pregen_data/flesh_pierce/open_puncture/eye
|
||||
wound_path_to_generate = /datum/wound/pierce/bleed/severe/eye
|
||||
viable_zones = list(BODY_ZONE_HEAD)
|
||||
can_be_randomly_generated = FALSE
|
||||
|
||||
/datum/wound_pregen_data/flesh_pierce/open_puncture/eye/can_be_applied_to(obj/item/bodypart/limb, list/suggested_wounding_types, datum/wound/old_wound, random_roll, duplicates_allowed, care_about_existing_wounds)
|
||||
if (isnull(locate(/obj/item/organ/internal/eyes) in limb))
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/wound/pierce/bleed/critical
|
||||
name = "Ruptured Cavity"
|
||||
desc = "Patient's internal tissue and circulatory system is shredded, causing significant internal bleeding and damage to internal organs."
|
||||
|
||||
Reference in New Issue
Block a user