Adds more customization to robotic internal organs but it is not broken (#13068)

This commit is contained in:
Alberyk
2022-02-06 18:07:42 -03:00
committed by GitHub
parent ea5f66fa4c
commit f42edd018e
30 changed files with 130 additions and 60 deletions
+17 -2
View File
@@ -63,16 +63,31 @@
. += "[get_wound_severity(get_scarring_level())] scarring"
/obj/item/organ/internal/is_usable()
return ..() && !is_broken()
if(robotize_type)
var/datum/robolimb/R = all_robolimbs[robotize_type]
if(!R.malfunctioning_check(owner))
return TRUE
else
return ..() && !is_broken()
/obj/item/organ/internal/proc/is_damaged()
return damage > 0
/obj/item/organ/internal/robotize()
/obj/item/organ/internal/robotize(var/company = "Unbranded")
..()
min_bruised_damage += 5
min_broken_damage += 10
if(company)
model = company
var/datum/robolimb/R = all_robolimbs[company]
if(R)
if(robotic_sprite)
icon_state = "[initial(icon_state)]-[R.internal_organ_suffix]"
robotize_type = company
/obj/item/organ/internal/proc/getToxLoss()
if(BP_IS_ROBOTIC(src))
return damage * 0.5
+1 -1
View File
@@ -14,7 +14,7 @@
/obj/item/organ/internal/appendix/process()
..()
if(inflamed && owner)
if(inflamed && owner && !(status & ORGAN_ROBOT))
inflamed++
if(prob(5))
if(owner.can_feel_pain())
-1
View File
@@ -5,7 +5,6 @@
organ_tag = BP_EYES
parent_organ = BP_HEAD
robotic_name = "optical sensors"
robotic_sprite = "eyes-prosthetic"
max_damage = 45
relative_size = 5
var/list/eye_colour = list(0,0,0)
-1
View File
@@ -5,7 +5,6 @@
parent_organ = BP_CHEST
dead_icon = "heart-off"
robotic_name = "circulatory pump"
robotic_sprite = "heart-prosthetic"
toxin_type = CE_CARDIOTOXIC
max_damage = 45
-1
View File
@@ -5,7 +5,6 @@
organ_tag = BP_KIDNEYS
parent_organ = BP_GROIN
robotic_name = "prosthetic kidneys"
robotic_sprite = "kidneys-prosthetic"
min_bruised_damage = 25
min_broken_damage = 45
max_damage = 70
-1
View File
@@ -4,7 +4,6 @@
organ_tag = BP_LIVER
parent_organ = BP_GROIN
robotic_name = "toxin filter"
robotic_sprite = "liver-prosthetic"
toxin_type = CE_HEPATOTOXIC
min_bruised_damage = 25
min_broken_damage = 55
-1
View File
@@ -7,7 +7,6 @@
organ_tag = BP_LUNGS
parent_organ = BP_CHEST
robotic_name = "gas exchange system"
robotic_sprite = "lungs-prosthetic"
min_bruised_damage = 30
min_broken_damage = 45
toxin_type = CE_PNEUMOTOXIC
@@ -1,7 +1,7 @@
/obj/item/organ/internal/eyes/night
name = "light sensitive eyes"
desc = "A pair of Tajaran eyes accustomed to the low light conditions of Adhomai."
icon_state = "tajaran_eyes"
icon = 'icons/obj/organs/tajara_organs.dmi'
action_button_name = "Activate Low Light Vision"
default_action_type = /datum/action/item_action/organ/night_eyes
relative_size = 8
@@ -109,31 +109,31 @@
/obj/item/organ/internal/stomach/tajara
name = "reinforced stomach"
desc = "A Tajara stomach adapted to help the body conserve energy during digestion."
icon_state = "tajaran_stomach"
icon = 'icons/obj/organs/tajara_organs.dmi'
stomach_volume = 80
/obj/item/organ/internal/lungs/tajara
name = "insulated lungs"
desc = "A pair of Tajaran lungs that help preserve the warmth of the air while breathing."
icon_state = "tajaran_lungs"
icon = 'icons/obj/organs/tajara_organs.dmi'
/obj/item/organ/internal/liver/tajara
desc = "An alien liver capable of filtering Adhomian toxins and chemicals."
icon_state = "tajaran_liver"
icon = 'icons/obj/organs/tajara_organs.dmi'
/obj/item/organ/internal/heart/tajara
desc = "A robust heart capable of helping to preserve body temperature through blood circulation."
icon_state = "tajaran_heart"
dead_icon = "tajaran_heart"
icon = 'icons/obj/organs/tajara_organs.dmi'
/obj/item/organ/internal/kidneys/tajara
desc = "Alien kidneys adapted to the Tajaran physiology."
icon_state = "tajaran_kidneys"
icon = 'icons/obj/organs/tajara_organs.dmi'
/obj/item/organ/internal/brain/tajara
icon_state = "tajaran_brain"
icon = 'icons/obj/organs/tajara_organs.dmi'
/obj/item/organ/internal/appendix/tajara
name = "fat reservoir"
icon_state = "tajaran_appendix"
icon = 'icons/obj/organs/tajara_organs.dmi'
desc = "An Adhomian organ that stores fat and nutrients for the winter."
possible_modifications = list("Normal","Assisted","Mechanical", "Removed")
@@ -1,28 +1,28 @@
/obj/item/organ/internal/stomach/unathi
name = "massive gizzard"
desc = "A much larger stomach than what humans have. Looks to belong to a carnivore."
icon_state = "unathi_stomach"
icon = 'icons/obj/organs/unathi_organs.dmi'
/obj/item/organ/internal/brain/unathi
icon_state = "unathi_brain"
icon = 'icons/obj/organs/unathi_organs.dmi'
/obj/item/organ/internal/lungs/unathi
name = "large lungs"
desc = "A pair of two large lungs belonging to Unathi, similar in appearance to yet much larger than Human lungs."
icon_state = "unathi_lungs"
icon = 'icons/obj/organs/unathi_organs.dmi'
/obj/item/organ/internal/heart/unathi
name = "large heart"
desc = "A single large heart almost triple the size of your hand, used to effectively pump blood throughout a body without transporting much heat. It looks to have only one ventricle."
icon_state = "unathi_heart"
icon = 'icons/obj/organs/unathi_organs.dmi'
/obj/item/organ/internal/liver/unathi
icon_state = "unathi_liver"
icon = 'icons/obj/organs/unathi_organs.dmi'
/obj/item/organ/internal/kidneys/unathi
icon_state = "unathi_kidneys"
icon = 'icons/obj/organs/unathi_organs.dmi'
/obj/item/organ/internal/eyes/unathi
name = "reptilian eyes"
desc = "A pair of reptilian eyes. The pupil is slit and never dialating; you can almost feel it staring at you."
icon_state = "unathi_eyes"
icon = 'icons/obj/organs/unathi_organs.dmi'
@@ -1,8 +1,8 @@
/obj/item/organ/internal/eyes/night/vaurca
name = "vaurcaesian eyes"
desc = "A set of four vaurcaesian eyes, adapted to the low or no light tunnels of Sedantis."
icon_state = "eyes_vaurca"
robotic_sprite = null
icon = 'icons/obj/organs/vaurca_organs.dmi'
robotic_sprite = FALSE
vision_color = /datum/client_color/vaurca
vision_mechanical_color = /datum/client_color/monochrome
eye_emote = "'s eyes gently shift."
-1
View File
@@ -8,7 +8,6 @@
organ_tag = BP_STOMACH
parent_organ = BP_GROIN
robotic_name = "digestive pump"
robotic_sprite = "stomach-prosthetic"
var/datum/reagents/metabolism/ingested
var/next_cramp = 0
var/should_process_alcohol = TRUE
+3 -4
View File
@@ -1,6 +1,6 @@
/obj/item/organ
name = "organ"
icon = 'icons/obj/surgery.dmi'
icon = 'icons/obj/organs/organs.dmi'
drop_sound = 'sound/items/drop/flesh.ogg'
pickup_sound = 'sound/items/pickup/flesh.ogg'
default_action_type = /datum/action/item_action/organ
@@ -31,8 +31,9 @@
var/robotic = 0 //For being a robot
var/robotize_type // If set, this organ type will automatically be roboticized with this manufacturer.
var/robotic_name
var/robotic_sprite
var/robotic_sprite = TRUE
var/emp_coeff = 1 //coefficient for damages taken by EMP, if the organ is robotic.
var/model
//Lists.
var/list/transplant_data
@@ -363,8 +364,6 @@
status |= ORGAN_ASSISTED
if(robotic_name)
name = robotic_name
if(robotic_sprite)
icon_state = robotic_sprite
/obj/item/organ/proc/mechassist() //Used to add things like pacemakers, etc
robotize()
+1 -1
View File
@@ -21,7 +21,7 @@
var/icon_name = null
var/body_part = null
var/icon_position = 0
var/model
var/damage_state = "00"
//Damage variables.
+21 -3
View File
@@ -1,4 +1,5 @@
var/global/list/all_robolimbs = list()
var/global/list/internal_robolimbs = list()
var/global/list/chargen_robolimbs = list()
var/global/list/fabricator_robolimbs = list()
var/global/datum/robolimb/basic_robolimb
@@ -12,6 +13,8 @@ var/global/datum/robolimb/basic_robolimb
chargen_robolimbs[R.company] = R
if(R.fabricator_available)
fabricator_robolimbs[R.company] = R
if(R.allows_internal)
internal_robolimbs[R.company] = R
/datum/robolimb
var/company = "Unbranded" // Shown when selecting the limb.
@@ -39,6 +42,9 @@ var/global/datum/robolimb/basic_robolimb
var/brute_mod = 0.9 //how resistant is this mode to brute damage
var/burn_mod = 1.1 //how resistant is this mode to burn damage
var/fabricator_available = FALSE //if you can print this limb in the robotics fabricator
var/internal_organ_suffix = "prosthetic" //this is used to define the icon
var/list/allowed_internal_organs = list(BP_HEART, BP_EYES, BP_LUNGS, BP_LIVER, BP_KIDNEYS, BP_STOMACH)//what organs can be augmented by this brand
var/allows_internal = TRUE
/datum/robolimb/proc/malfunctioning_check()
return FALSE
@@ -49,6 +55,7 @@ var/global/datum/robolimb/basic_robolimb
icon = 'icons/mob/human_races/ipc/r_ind_bishop.dmi'
linked_frame = SPECIES_IPC_BISHOP
fabricator_available = TRUE
allows_internal = FALSE
/datum/robolimb/hesphaistos
company = PROSTHETIC_HI
@@ -56,6 +63,7 @@ var/global/datum/robolimb/basic_robolimb
icon = 'icons/mob/human_races/ipc/r_ind_hephaestus.dmi'
linked_frame = SPECIES_IPC_G2
fabricator_available = TRUE
allows_internal = FALSE
/datum/robolimb/zenghu
company = PROSTHETIC_ZH
@@ -63,6 +71,7 @@ var/global/datum/robolimb/basic_robolimb
icon = 'icons/mob/human_races/ipc/r_ind_zenghu.dmi'
linked_frame = SPECIES_IPC_ZENGHU
fabricator_available = TRUE
allows_internal = FALSE
/datum/robolimb/xion
company = PROSTHETIC_XMG
@@ -70,6 +79,7 @@ var/global/datum/robolimb/basic_robolimb
icon = 'icons/mob/human_races/ipc/r_ind_xion.dmi'
linked_frame = SPECIES_IPC_XION
fabricator_available = TRUE
allows_internal = FALSE
/datum/robolimb/ipc
company = PROSTHETIC_IPC
@@ -79,6 +89,7 @@ var/global/datum/robolimb/basic_robolimb
paintable = 1
linked_frame = SPECIES_IPC
fabricator_available = TRUE
allows_internal = FALSE
/datum/robolimb/industrial
company = PROSTHETIC_IND
@@ -87,12 +98,14 @@ var/global/datum/robolimb/basic_robolimb
unavailable_at_chargen = 1
linked_frame = SPECIES_IPC_G1
fabricator_available = TRUE
allows_internal = FALSE
/datum/robolimb/terminator
company = PROSTHETIC_HK
desc = "A ludicrously expensive and EMP shielded component, these types of limbs are best suited for highly specialized cyborgs."
icon = 'icons/mob/human_races/ipc/r_terminator.dmi'
unavailable_at_chargen = 1
unavailable_at_chargen = TRUE
allows_internal = FALSE
/datum/robolimb/human
company = PROSTHETIC_SYNTHSKIN
@@ -103,19 +116,23 @@ var/global/datum/robolimb/basic_robolimb
fabricator_available = TRUE
paintable = TRUE
lifelike = TRUE
allows_internal = FALSE
/datum/robolimb/autakh
company = PROSTHETIC_AUTAKH
desc = "This limb has been designed by the Aut'akh unathi sect."
icon = 'icons/mob/human_races/unathi/r_autakh.dmi'
species_can_use = list(SPECIES_UNATHI)
paintable = 1
paintable = TRUE
allows_internal = FALSE
/datum/robolimb/tesla
company = PROSTHETIC_TESLA
desc = "A limb designed to be used by the People's Republic of Adhomai Tesla Brigade. This civilian version is issued to disabled veterans and civilians."
icon = 'icons/mob/human_races/tajara/tesla_limbs.dmi'
species_can_use = list(SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI)
internal_organ_suffix = "tesla"
allowed_internal_organs = list(BP_HEART, BP_EYES, BP_LUNGS, BP_LIVER, BP_KIDNEYS, BP_STOMACH, BP_APPENDIX)
/datum/robolimb/tesla/malfunctioning_check(var/mob/living/carbon/human/H)
var/obj/item/organ/internal/augment/tesla/T = H.internal_organs_by_name[BP_AUG_TESLA]
@@ -128,4 +145,5 @@ var/global/datum/robolimb/basic_robolimb
company = PROSTHETIC_VAURCA
desc = "This limb design is from old Sedantis, still manufactured by the Hives when providing maintenace to most of the basic Vaurcesian bioforms."
icon = 'icons/mob/human_races/vaurca/r_vaurcalimbs.dmi'
species_can_use = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
species_can_use = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
allows_internal = FALSE
+2
View File
@@ -1,5 +1,6 @@
/obj/item/organ/internal/augment
name = "augment"
icon = 'icons/obj/organs/augments.dmi'
icon_state = "augment"
parent_organ = BP_CHEST
organ_tag = "augment"
@@ -11,6 +12,7 @@
SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1,
SPECIES_IPC_G2, SPECIES_IPC_XION,
SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
robotic_sprite = FALSE
var/cooldown = 150
var/action_button_icon = "augment"
var/activable = FALSE
+6 -7
View File
@@ -1,21 +1,20 @@
/obj/item/organ/internal/heart/skrell
icon_state = "skrell_heart-on"
dead_icon = "skrell_heart-off"
icon = 'icons/obj/organs/skrell_organs.dmi'
/obj/item/organ/internal/lungs/skrell
icon_state = "lungs_skrell"
icon = 'icons/obj/organs/skrell_organs.dmi'
/obj/item/organ/internal/kidneys/skrell
icon_state = "kidney_skrell"
icon = 'icons/obj/organs/skrell_organs.dmi'
/obj/item/organ/internal/eyes/skrell
icon_state = "eyes_skrell"
icon = 'icons/obj/organs/skrell_organs.dmi'
/obj/item/organ/internal/liver/skrell
icon_state = "liver_skrell"
icon = 'icons/obj/organs/skrell_organs.dmi'
/obj/item/organ/internal/brain/skrell
icon_state = "brain_skrell"
icon = 'icons/obj/organs/skrell_organs.dmi'
/obj/item/organ/external/head/skrell
var/obj/item/storage/internal/skrell/storage
+18 -15
View File
@@ -1,50 +1,50 @@
/obj/item/organ/internal/heart/vaurca
name = "double heart system"
desc = "A double heart capable of pushing blood in an open circulatory system."
icon_state = "vaurca_heart_d-on"
icon = 'icons/obj/organs/vaurca_organs.dmi'
organ_tag = BP_HEART
parent_organ = BP_CHEST
dead_icon = "vaurca_heart_d-off"
max_damage = 90 //two hearts = stronger hearts
/obj/item/organ/internal/lungs/vaurca
icon_state = "lungs_vaurca"
icon = 'icons/obj/organs/vaurca_organs.dmi'
/obj/item/organ/internal/kidneys/vaurca
icon_state = "kidney_vaurca"
icon = 'icons/obj/organs/vaurca_organs.dmi'
/obj/item/organ/internal/kidneys/vaurca/robo
icon_state = "kidney_vaurca"
icon = 'icons/obj/organs/vaurca_organs.dmi'
organ_tag = BP_VAURCA_KIDNEYS
robotic = ROBOTIC_MECHANICAL
robotic_name = null
robotic_sprite = null
robotic_sprite = FALSE
/obj/item/organ/internal/liver/vaurca/robo
icon_state = "liver_vaurca"
icon = 'icons/obj/organs/vaurca_organs.dmi'
organ_tag = BP_VAURCA_LIVER
robotic = ROBOTIC_MECHANICAL
robotic_name = null
robotic_sprite = null
robotic_sprite = FALSE
/obj/item/organ/internal/liver/vaurca
icon_state = "liver_vaurca"
icon = 'icons/obj/organs/vaurca_organs.dmi'
/obj/item/organ/internal/stomach/vaurca
/obj/item/organ/internal/stomach/vaurca
name = "private stomach"
icon_state = "stomach_vaurca"
icon = 'icons/obj/organs/vaurca_organs.dmi'
/obj/item/organ/internal/appendix/vaurca
/obj/item/organ/internal/appendix/vaurca
name = "social stomach"
desc = "A vestigial organ that stores food for throphallaxis. It has not seen a practical use since the rise of modern Hives."
icon_state = "vaurca_appendix"
icon = 'icons/obj/organs/vaurca_organs.dmi'
/obj/item/organ/internal/brain/vaurca
name = "vaurca brain"
desc = "The brain of a Vaurca, being similar to that of an insect; and that of a mammal."
icon_state = "brain_vaurca"
desc = "The brain of a Vaurca, being similar to that of an insect; and that of a mammal."
icon = 'icons/obj/organs/vaurca_organs.dmi'
/obj/item/organ/vaurca/reservoir
icon = 'icons/obj/organs/vaurca_organs.dmi'
name = BP_PHORON_RESERVOIR
organ_tag = BP_PHORON_RESERVOIR
parent_organ = BP_CHEST
@@ -52,6 +52,7 @@
robotic = ROBOTIC_ASSISTED
/obj/item/organ/vaurca/filtrationbit
icon = 'icons/obj/organs/vaurca_organs.dmi'
name = BP_FILTRATION_BIT
organ_tag = BP_FILTRATION_BIT
parent_organ = BP_HEAD
@@ -59,6 +60,7 @@
robotic = ROBOTIC_MECHANICAL
/obj/item/organ/vaurca/neuralsocket
icon = 'icons/obj/organs/vaurca_organs.dmi'
name = BP_NEURAL_SOCKET
organ_tag = BP_NEURAL_SOCKET
icon_state = "neural_socket"
@@ -90,6 +92,7 @@ obj/item/organ/vaurca/neuralsocket/process()
..()
/obj/item/organ/vaurca/preserve
icon = 'icons/obj/organs/vaurca_organs.dmi'
name = BP_PHORON_RESERVE
organ_tag = BP_PHORON_RESERVE
parent_organ = BP_CHEST