mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
done
This commit is contained in:
@@ -92,13 +92,14 @@
|
||||
|
||||
//Mitocholide is hard enough to get, it's probably fair to make this all internal organs
|
||||
for(var/obj/item/organ/internal/I in H.internal_organs)
|
||||
I.receive_damage(-0.4)
|
||||
I.heal_internal_damage(0.4)
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/mitocholide/reaction_obj(obj/O, volume)
|
||||
if(istype(O, /obj/item/organ))
|
||||
var/obj/item/organ/Org = O
|
||||
Org.rejuvenate()
|
||||
if(!Org.is_robotic())
|
||||
Org.rejuvenate()
|
||||
|
||||
/datum/reagent/medicine/cryoxadone
|
||||
name = "Cryoxadone"
|
||||
@@ -520,7 +521,7 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes)
|
||||
if(istype(E))
|
||||
E.receive_damage(-1)
|
||||
E.heal_internal_damage(1)
|
||||
M.AdjustEyeBlurry(-1)
|
||||
M.AdjustEarDamage(-1)
|
||||
if(prob(50))
|
||||
|
||||
@@ -32,8 +32,15 @@
|
||||
return
|
||||
Stop()
|
||||
|
||||
/obj/item/organ/internal/heart/necrotize()
|
||||
..()
|
||||
Stop()
|
||||
|
||||
/obj/item/organ/internal/heart/attack_self(mob/user)
|
||||
..()
|
||||
if(status & ORGAN_DEAD)
|
||||
to_chat(user, "<span class='warning'>You can't restart a dead heart.</span>")
|
||||
return
|
||||
if(!beating)
|
||||
Restart()
|
||||
spawn(80)
|
||||
|
||||
@@ -73,13 +73,11 @@
|
||||
blood_DNA = list()
|
||||
blood_DNA[dna.unique_enzymes] = dna.b_type
|
||||
|
||||
/obj/item/organ/proc/necrotize(update_sprite=TRUE)
|
||||
if(is_robotic())
|
||||
return
|
||||
/obj/item/organ/proc/necrotize(update_sprite = TRUE)
|
||||
damage = max_damage
|
||||
status |= ORGAN_DEAD
|
||||
processing_objects -= src
|
||||
if(dead_icon)
|
||||
if(dead_icon && !is_robotic())
|
||||
icon_state = dead_icon
|
||||
if(owner && vital)
|
||||
owner.death()
|
||||
@@ -221,21 +219,23 @@
|
||||
/obj/item/organ/proc/receive_damage(amount, silent = 0)
|
||||
if(tough)
|
||||
return
|
||||
if(is_robotic())
|
||||
damage = between(0, damage + (amount * 0.8), max_damage)
|
||||
else
|
||||
damage = between(0, damage + amount, max_damage)
|
||||
damage = between(0, damage + amount, max_damage)
|
||||
|
||||
//only show this if the organ is not robotic
|
||||
if(owner && parent_organ && amount > 0)
|
||||
var/obj/item/organ/external/parent = owner.get_organ(parent_organ)
|
||||
if(parent && !silent)
|
||||
owner.custom_pain("Something inside your [parent.name] hurts a lot.")
|
||||
//only show this if the organ is not robotic
|
||||
if(owner && parent_organ && amount > 0)
|
||||
var/obj/item/organ/external/parent = owner.get_organ(parent_organ)
|
||||
if(parent && !silent)
|
||||
owner.custom_pain("Something inside your [parent.name] hurts a lot.")
|
||||
|
||||
//check if we've hit max_damage
|
||||
if(damage >= max_damage)
|
||||
necrotize()
|
||||
|
||||
/obj/item/organ/proc/heal_internal_damage(amount, robo_repair = FALSE)
|
||||
if(is_robotic() && !robo_repair)
|
||||
return
|
||||
damage = max(damage - amount, 0)
|
||||
|
||||
/obj/item/organ/proc/robotize() //Being used to make robutt hearts, etc
|
||||
status &= ~ORGAN_BROKEN
|
||||
status &= ~ORGAN_SPLINTED
|
||||
|
||||
@@ -208,7 +208,12 @@
|
||||
|
||||
for(var/obj/item/organ/internal/I in affected.internal_organs)
|
||||
if(I && I.damage)
|
||||
if(I.is_robotic() && istype(tool, /obj/item/stack/nanopaste))
|
||||
if(!I.is_robotic() && !istype (tool, /obj/item/stack/nanopaste))
|
||||
if(!(I.sterile))
|
||||
spread_germs_to_organ(I, user, tool)
|
||||
user.visible_message("[user] starts treating damage to [target]'s [I.name] with [tool_name].", \
|
||||
"You start treating damage to [target]'s [I.name] with [tool_name]." )
|
||||
else if(I.is_robotic() && istype(tool, /obj/item/stack/nanopaste))
|
||||
user.visible_message("[user] starts treating damage to [target]'s [I.name] with [tool_name].", \
|
||||
"You start treating damage to [target]'s [I.name] with [tool_name]." )
|
||||
|
||||
@@ -241,7 +246,11 @@
|
||||
if(I)
|
||||
I.surgeryize()
|
||||
if(I && I.damage)
|
||||
if(I.is_robotic() && istype(tool, /obj/item/stack/nanopaste))
|
||||
if(!I.is_robotic() && !istype (tool, /obj/item/stack/nanopaste))
|
||||
user.visible_message("<span class='notice'> [user] treats damage to [target]'s [I.name] with [tool_name].</span>", \
|
||||
"<span class='notice'> You treat damage to [target]'s [I.name] with [tool_name].</span>" )
|
||||
I.damage = 0
|
||||
else if(I.is_robotic() && istype (tool, /obj/item/stack/nanopaste))
|
||||
user.visible_message("<span class='notice'> [user] treats damage to [target]'s [I.name] with [tool_name].</span>", \
|
||||
"<span class='notice'> You treat damage to [target]'s [I.name] with [tool_name].</span>" )
|
||||
I.damage = 0
|
||||
|
||||
Reference in New Issue
Block a user