Synthskin Limb/Shell Changes (#9127)

This commit is contained in:
ParadoxSpace
2020-06-21 20:15:35 +02:00
committed by GitHub
parent 13b704d45b
commit 31630e4442
7 changed files with 88 additions and 14 deletions
+21 -9
View File
@@ -1039,11 +1039,14 @@ Note that amputating the affected organ does in fact remove the infection from t
if(R)
if (!force_skintone)
force_icon = R.icon
name = "[R.company] [initial(name)]"
desc = "[R.desc]"
if(R.lifelike)
status |= ORGAN_LIFELIKE
name = "[initial(name)]"
else
name = "[R.company] [initial(name)]"
desc = "[R.desc]"
if(R.paintable)
painted = 1
brute_mod = R.brute_mod
burn_mod = R.burn_mod
robotize_type = company
@@ -1055,7 +1058,7 @@ Note that amputating the affected organ does in fact remove the infection from t
unmutate()
for (var/obj/item/organ/external/T in children)
if(T)
T.robotize()
T.robotize(company)
/obj/item/organ/external/mechassist()
..()
@@ -1190,22 +1193,31 @@ Note that amputating the affected organ does in fact remove the infection from t
. = ""
if(status & ORGAN_DESTROYED && !is_stump())
. += "tear at [amputation_point] so severe that it hangs by a scrap of flesh"
//Handle robotic and synthetic organ damage
if(status & ORGAN_ASSISTED)
var/LL = status & ORGAN_LIFELIKE
if(brute_dam)
switch(brute_dam)
if(0 to 20)
. += " some dents"
. += "some [LL ? pick ("cuts","bruises","scars") : "dents"]"
if(21 to INFINITY)
. += pick(" a lot of dents"," severe denting")
. += "[LL ? pick("exposed wiring","torn-back synthflesh") : pick("a lot of dents","severe denting")]"
if(brute_dam && burn_dam)
. += " and"
if(burn_dam)
switch(burn_dam)
if(0 to 20)
. += " some burns"
. += "some burns"
if(21 to INFINITY)
. += pick(" a lot of burns"," severe melting")
. += "[LL ? pick("roasted synth-flesh","melted internal wiring") : pick("many burns","scorched metal")]"
if(open)
if(brute_dam || burn_dam)
. += " and "
if(open == 1)
. += "some exposed screws"
else
. += "an open panel"
return
var/list/wound_descriptors = list()
+4 -2
View File
@@ -16,8 +16,9 @@ var/global/datum/robolimb/basic_robolimb
/datum/robolimb
var/company = "Unbranded" // Shown when selecting the limb.
var/desc = "A generic unbranded robotic prosthesis." // Seen when examining a limb.
var/icon = 'icons/mob/human_races/ipc/robotic.dmi' // Icon base to draw from.
var/icon = 'icons/mob/human_races/ipc/robotic.dmi' // Icon base to draw from.
var/unavailable_at_chargen // If set, not available at chargen.
var/lifelike = FALSE // If set, appears organic.
var/list/species_can_use = list(
"Human",
"Skrell",
@@ -30,7 +31,7 @@ var/global/datum/robolimb/basic_robolimb
"Baseline Frame",
"Off-Worlder Human"
)
var/paintable = 0 //tired of istype exceptions. bullshirt to find, and by god do i know it after this project.
var/paintable = 0 //tired of istype exceptions. bullshit to find, and by god do i know it after this project.
var/linked_frame = "Unbranded Frame" //which machine species this limb will create
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
@@ -97,6 +98,7 @@ var/global/datum/robolimb/basic_robolimb
species_can_use = list("Human")
linked_frame = "Shell Frame"
fabricator_available = TRUE
lifelike = TRUE
/datum/robolimb/autakh
company = PROSTHETIC_AUTAKH