mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-30 16:16:17 +01:00
Life Support Enabled Operating Table - Update
* Gives carbon/humans the proc/isonlifesupport() to replace the constant checks done in other areas. Returns 1 if the target is on life support, 0 if is not. * Adds support for removing brains from mobs, without them dying. The installation of a brain into a body is still impossible at this time (looking to fix that, somehow). * Adds an internal log to the advanced operating table, which keeps track of just about everything important done to it. This log can be viewed and wiped from the operating computer. * Adds a blood syphon option, which becomes available when the advanced operating table gets emagged.
This commit is contained in:
@@ -67,13 +67,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
if(species && species.has_organ["heart"])
|
||||
var/datum/organ/internal/heart/heart = internal_organs_by_name["heart"]
|
||||
|
||||
// Before we do that, we check for lifesupport.
|
||||
var/onlifesupport = 0
|
||||
if (buckled && istype(buckled, /obj/machinery/optable/lifesupport))
|
||||
var/obj/machinery/optable/lifesupport/A = buckled
|
||||
onlifesupport = A.onlifesupport()
|
||||
|
||||
if (!onlifesupport)
|
||||
if (!isonlifesupport())
|
||||
if(!heart)
|
||||
blood_volume = 0
|
||||
else if(heart.damage > 1 && heart.damage < heart.min_bruised_damage)
|
||||
|
||||
@@ -42,10 +42,8 @@
|
||||
|
||||
/datum/organ/internal/process()
|
||||
//Check if we're on lifesupport, and whether or not organs should be processing.
|
||||
if (owner.buckled && istype(owner.buckled, /obj/machinery/optable/lifesupport))
|
||||
var/obj/machinery/optable/lifesupport/A = owner.buckled
|
||||
if (A.onlifesupport())
|
||||
return 1
|
||||
if (owner.isonlifesupport())
|
||||
return 1
|
||||
|
||||
//Process infections
|
||||
if (robotic >= 2 || (owner.species && owner.species.flags & IS_PLANT)) //TODO make robotic internal and external organs separate types of organ instead of a flag
|
||||
|
||||
@@ -191,7 +191,9 @@
|
||||
user.attack_log += "\[[time_stamp()]\]<font color='red'> removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
|
||||
target.attack_log += "\[[time_stamp()]\]<font color='orange'> had a vital organ ([src]) removed by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
|
||||
msg_admin_attack("[user.name] ([user.ckey]) removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
target.death()
|
||||
|
||||
if (!target.isonlifesupport())
|
||||
target.death()
|
||||
|
||||
|
||||
/obj/item/organ/proc/exposed_to_the_world() // this is only useful for organs that change when actually removed from the body
|
||||
|
||||
Reference in New Issue
Block a user