mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-29 07:36:18 +01:00
IPC Tag - Initial Commit
Sprites and implanting to follow.
This commit is contained in:
@@ -228,36 +228,53 @@
|
||||
|
||||
/datum/organ/internal/machine
|
||||
removed_type = /obj/item/organ/machine
|
||||
robotic = 2
|
||||
|
||||
/datum/organ/internal/machine/process()
|
||||
return
|
||||
|
||||
/obj/item/organ/machine
|
||||
robotic = 2
|
||||
|
||||
/datum/organ/internal/machine/radiator
|
||||
name = "internal cooling unit"
|
||||
parent_organ = "chest"
|
||||
robotic = 2
|
||||
min_bruised_damage = 15
|
||||
min_broken_damage = 40
|
||||
removed_type = /obj/item/organ/machine/radiator
|
||||
var/seized = 0
|
||||
|
||||
/datum/organ/internal/machine/radiator/process()
|
||||
if (seized && owner.internal_organs_by_name["diagnosis_unit"])
|
||||
var/datum/organ/internal/machine/diagnosis_unit/diagnosis_unit = owner.internal_organs_by_name["diagnosis_unit"]
|
||||
seized = diagnosis_unit.overload
|
||||
|
||||
/datum/organ/internal/machine/radiator/is_broken()
|
||||
if (seized)
|
||||
return 1
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/organ/machine/radiator
|
||||
name = "internal cooling unit"
|
||||
icon_state = "radiator"
|
||||
organ_tag = "radiator"
|
||||
organ_type = /datum/organ/internal/machine/radiator
|
||||
robotic = 2
|
||||
|
||||
/obj/item/organ/machine/radiator/exposed_to_the_world()
|
||||
var/obj/item/robot_parts/robot_component/radiator/Radiator = new(src.loc)
|
||||
if(organ_data.damage)
|
||||
Radiator.brute = organ_data.damage
|
||||
if (organ_data)
|
||||
var/datum/organ/internal/machine/radiator/old_radiator = organ_data
|
||||
if (old_radiator.seized)
|
||||
Radiator.desc += " <font color='blue'>It looks seized.</font>"
|
||||
del(src)
|
||||
return Radiator
|
||||
|
||||
/datum/organ/internal/machine/bladder
|
||||
name = "chemical containment"
|
||||
parent_organ = "groin"
|
||||
robotic = 2
|
||||
removed_type = /obj/item/organ/machine/bladder
|
||||
|
||||
/datum/organ/internal/machine/bladder/process()
|
||||
@@ -290,7 +307,6 @@
|
||||
icon_state = "bladder"
|
||||
organ_tag = "chemical containment"
|
||||
organ_type = /datum/organ/internal/machine/bladder
|
||||
robotic = 2
|
||||
|
||||
/obj/item/organ/machine/bladder/replaced(var/mob/living/carbon/human/target)
|
||||
if(istype(target) && (target.species.flags & IS_SYNTHETIC))
|
||||
@@ -318,15 +334,25 @@
|
||||
/datum/organ/internal/machine/diagnosis_unit
|
||||
name = "diagnosis unit"
|
||||
parent_organ = "head"
|
||||
robotic = 2
|
||||
removed_type = /obj/item/organ/machine/diagnosis_unit
|
||||
var/overload = 0
|
||||
|
||||
/datum/organ/internal/machine/diagnosis_unit/process()
|
||||
if (!overload)
|
||||
return
|
||||
|
||||
if (owner.internal_organs_by_name["radiator"])
|
||||
var/datum/organ/internal/machine/radiator/radiator = owner.internal_organs_by_name["radiator"]
|
||||
radiator.seized = 1
|
||||
|
||||
var/list/pain_messages = list("ERROR: damage detected!", "System failure detected!", "Runtime errors present! System failure imminent!", "Software integrity compromised!", "Hardware malfunction detected!")
|
||||
owner.custom_pain(pick(pain_messages), 1, 1)
|
||||
|
||||
/obj/item/organ/machine/diagnosis_unit
|
||||
name = "diagnosis unit"
|
||||
icon_state = "diagnosis_unit"
|
||||
organ_tag = "diagnosis unit"
|
||||
organ_type = /datum/organ/internal/machine/diagnosis_unit
|
||||
robotic = 2
|
||||
|
||||
/obj/item/organ/machine/diagnosis_unit/exposed_to_the_world()
|
||||
var/obj/item/robot_parts/robot_component/diagnosis_unit/Diagnosis_unit = new(src.loc)
|
||||
@@ -348,6 +374,30 @@
|
||||
del(src)
|
||||
return Eyes
|
||||
|
||||
/datum/organ/internal/machine/ipc_tag
|
||||
name = "IPC tag"
|
||||
parent_organ = "head"
|
||||
removed_type = /obj/item/organ/machine/ipc_tag
|
||||
|
||||
/obj/item/organ/machine/ipc_tag
|
||||
name = "IPC tag"
|
||||
organ_tag = "ipc_tag"
|
||||
organ_type = /datum/organ/internal/machine/ipc_tag
|
||||
|
||||
/obj/item/organ/machine/ipc_tag/removed(var/mob/living/carbon/human/target, var/mob/living/user)
|
||||
..()
|
||||
|
||||
if (istype(target) && target.internal_organs_by_name["diagnosis_unit"])
|
||||
var/datum/organ/internal/machine/diagnosis_unit/diagnosis_unit = target.internal_organs_by_name["diagnosis_unit"]
|
||||
diagnosis_unit.overload = 1
|
||||
|
||||
/obj/item/organ/machine/ipc_tag/exposed_to_the_world()
|
||||
var/obj/item/robot_parts/robot_component/ipc_tag/tag = new(src.loc)
|
||||
if (organ_data.damage)
|
||||
tag.brute = organ_data.damage
|
||||
del(src)
|
||||
return tag
|
||||
|
||||
/obj/item/organ/vaurca/neuralsocket
|
||||
name = "neural socket"
|
||||
organ_tag = "neural socket"
|
||||
@@ -371,5 +421,6 @@
|
||||
organ_tag = "tracheae"
|
||||
icon = 'icons/mob/alien_organs.dmi'
|
||||
icon_state = "tracheae"
|
||||
|
||||
/obj/item/organ/vaurca/tracheae/removed()
|
||||
return
|
||||
|
||||
@@ -53,10 +53,10 @@ mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0
|
||||
|
||||
// message is the custom message to be displayed
|
||||
// flash_strength is 0 for weak pain flash, 1 for strong pain flash
|
||||
mob/living/carbon/human/proc/custom_pain(var/message, var/flash_strength)
|
||||
mob/living/carbon/human/proc/custom_pain(var/message, var/flash_strength, var/override_no_pain = 0)
|
||||
if(stat >= 1) return
|
||||
|
||||
if(species && species.flags & NO_PAIN) return
|
||||
if(species && species.flags & NO_PAIN && !override_no_pain) return
|
||||
|
||||
if(reagents.has_reagent("tramadol"))
|
||||
return
|
||||
@@ -127,4 +127,4 @@ mob/living/carbon/human/proc/handle_pain()
|
||||
toxDamageMessage = "Your body aches all over, it's driving you mad."
|
||||
|
||||
if(toxDamageMessage && prob(toxMessageProb))
|
||||
src.custom_pain(toxDamageMessage, getToxLoss() >= 15)
|
||||
src.custom_pain(toxDamageMessage, getToxLoss() >= 15)
|
||||
|
||||
Reference in New Issue
Block a user