mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
Organ and Autopsy Qdel Fixes and Minor Organ Tweaks (#7201)
* Organ and Autopsy Qdel Fixes * organ tweaks * tweaks
This commit is contained in:
@@ -32,6 +32,14 @@ var/list/organ_cache = list()
|
||||
var/sterile = 0 //can the organ be infected by germs?
|
||||
var/tough = 0 //can organ be easily damaged?
|
||||
|
||||
/obj/item/organ/Destroy()
|
||||
processing_objects.Remove(src)
|
||||
if(owner)
|
||||
remove(owner, 1)
|
||||
QDEL_LIST_ASSOC_VAL(autopsy_data)
|
||||
QDEL_NULL(dna)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/proc/update_health()
|
||||
return
|
||||
|
||||
|
||||
@@ -71,11 +71,11 @@
|
||||
/obj/item/organ/external/necrotize(update_sprite=TRUE)
|
||||
if(status & (ORGAN_ROBOT|ORGAN_DEAD))
|
||||
return
|
||||
to_chat(owner, "<span class='notice'>You can't feel your [name] anymore...</span>")
|
||||
status |= ORGAN_DEAD
|
||||
if(dead_icon)
|
||||
icon_state = dead_icon
|
||||
if(owner)
|
||||
to_chat(owner, "<span class='notice'>You can't feel your [name] anymore...</span>")
|
||||
owner.update_body(update_sprite)
|
||||
owner.bad_external_organs |= src
|
||||
if(vital)
|
||||
@@ -85,6 +85,8 @@
|
||||
if(parent && parent.children)
|
||||
parent.children -= src
|
||||
|
||||
parent = null
|
||||
|
||||
if(internal_organs)
|
||||
for(var/obj/item/organ/internal/O in internal_organs)
|
||||
internal_organs -= O
|
||||
@@ -102,6 +104,12 @@
|
||||
deltimer(wound_cleanup_timer)
|
||||
wound_cleanup_timer = null
|
||||
|
||||
QDEL_LIST(wounds)
|
||||
|
||||
QDEL_LIST(implants)
|
||||
|
||||
QDEL_NULL(hidden)
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/external/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
@@ -15,11 +15,6 @@
|
||||
if(istype(holder))
|
||||
insert(holder)
|
||||
|
||||
/obj/item/organ/internal/Destroy()
|
||||
if(owner)
|
||||
remove(owner, 1)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/internal/proc/insert(mob/living/carbon/M, special = 0, var/dont_remove_slot = 0)
|
||||
if(!iscarbon(M) || owner == M)
|
||||
return
|
||||
@@ -120,12 +115,6 @@
|
||||
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
|
||||
|
||||
/obj/item/organ/internal/Destroy()
|
||||
if(owner)
|
||||
remove(owner, 1)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/internal/attack(mob/living/carbon/M, mob/user)
|
||||
if(M == user && ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
@@ -296,21 +285,18 @@
|
||||
// . = ..()
|
||||
|
||||
|
||||
/obj/item/organ/internal/lungs/process()
|
||||
/obj/item/organ/internal/lungs/on_life()
|
||||
..()
|
||||
|
||||
if(!owner)
|
||||
return
|
||||
if(germ_level > INFECTION_LEVEL_ONE)
|
||||
if(prob(5))
|
||||
owner.emote("cough") //respitory tract infection
|
||||
|
||||
if(is_bruised())
|
||||
if(prob(2))
|
||||
spawn owner.custom_emote(1, "coughs up blood!")
|
||||
owner.custom_emote(1, "coughs up blood!")
|
||||
owner.drip(10)
|
||||
if(prob(4))
|
||||
spawn owner.custom_emote(1, "gasps for air!")
|
||||
owner.custom_emote(1, "gasps for air!")
|
||||
owner.AdjustLoseBreath(5)
|
||||
|
||||
/obj/item/organ/internal/kidneys
|
||||
@@ -321,13 +307,8 @@
|
||||
parent_organ = "groin"
|
||||
slot = "kidneys"
|
||||
|
||||
/obj/item/organ/internal/kidneys/process()
|
||||
|
||||
/obj/item/organ/internal/kidneys/on_life()
|
||||
..()
|
||||
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
// Coffee is really bad for you with busted kidneys.
|
||||
// This should probably be expanded in some way, but fucked if I know
|
||||
// what else kidneys can process in our reagent list.
|
||||
@@ -439,12 +420,8 @@
|
||||
slot = "liver"
|
||||
var/alcohol_intensity = 1
|
||||
|
||||
/obj/item/organ/internal/liver/process()
|
||||
/obj/item/organ/internal/liver/on_life()
|
||||
..()
|
||||
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
if(germ_level > INFECTION_LEVEL_ONE)
|
||||
if(prob(1))
|
||||
to_chat(owner, "<span class='warning'> Your skin itches.</span>")
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
//CORTICAL BORER ORGANS.
|
||||
/obj/item/organ/internal/borer
|
||||
name = "cortical borer"
|
||||
icon = 'icons/obj/objects.dmi'
|
||||
icon_state = "borer"
|
||||
parent_organ = "head"
|
||||
organ_tag = "brain"
|
||||
slot = "borer"
|
||||
vital = 1
|
||||
|
||||
/obj/item/organ/internal/borer/process()
|
||||
|
||||
// Borer husks regenerate health, feel no pain, and are resistant to stuns and brainloss.
|
||||
for(var/chem in list("saline", "sailcylic", "meth", "mannitol"))
|
||||
if(owner.reagents.get_reagent_amount(chem) < 3)
|
||||
owner.reagents.add_reagent(chem, 5)
|
||||
|
||||
// They're also super gross and ooze ichor.
|
||||
if(prob(5))
|
||||
var/mob/living/carbon/human/H = owner
|
||||
if(!istype(H))
|
||||
return
|
||||
|
||||
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in H.vessel.reagent_list
|
||||
blood_splatter(H,B,1)
|
||||
var/obj/effect/decal/cleanable/blood/splatter/goo = locate() in get_turf(owner)
|
||||
if(goo)
|
||||
goo.name = "husk ichor"
|
||||
goo.desc = "It's thick and stinks of decay."
|
||||
goo.basecolor = "#412464"
|
||||
goo.update_icon()
|
||||
|
||||
/obj/item/organ/internal/borer/remove(var/mob/living/user)
|
||||
|
||||
..()
|
||||
|
||||
var/mob/living/simple_animal/borer/B = owner.has_brain_worms()
|
||||
if(B)
|
||||
B.leave_host()
|
||||
B.ckey = owner.ckey
|
||||
|
||||
spawn(0)
|
||||
qdel(src)
|
||||
return null
|
||||
|
||||
//VOX ORGANS.
|
||||
/obj/item/organ/internal/stack
|
||||
name = "cortical stack"
|
||||
icon_state = "brain-prosthetic"
|
||||
parent_organ = "head"
|
||||
organ_tag = "stack"
|
||||
slot = "vox_stack"
|
||||
robotic = 2
|
||||
vital = 1
|
||||
var/backup_time = 0
|
||||
var/datum/mind/backup
|
||||
|
||||
/obj/item/organ/internal/stack/process()
|
||||
if(owner && owner.stat != 2 && !is_broken())
|
||||
backup_time = world.time
|
||||
if(owner.mind) backup = owner.mind
|
||||
|
||||
/obj/item/organ/internal/stack/vox
|
||||
name = "vox cortical stack"
|
||||
|
||||
/obj/item/organ/internal/stack/vox/stack
|
||||
@@ -1,3 +1,16 @@
|
||||
/obj/item/organ/internal/liver/vox
|
||||
alcohol_intensity = 1.6
|
||||
species = "Vox"
|
||||
|
||||
|
||||
/obj/item/organ/internal/stack
|
||||
name = "cortical stack"
|
||||
icon_state = "brain-prosthetic"
|
||||
parent_organ = "head"
|
||||
organ_tag = "stack"
|
||||
slot = "vox_stack"
|
||||
robotic = 2
|
||||
vital = 1
|
||||
|
||||
/obj/item/organ/internal/stack/vox
|
||||
name = "vox cortical stack"
|
||||
Reference in New Issue
Block a user