AGHHHHHHHHHHHHH

This commit is contained in:
Fox McCloud
2018-07-17 02:13:52 -04:00
parent 175d42fd58
commit 9c3fcaa53c
41 changed files with 101 additions and 184 deletions
+1 -1
View File
@@ -33,7 +33,7 @@
var/mob/living/carbon/human/H = HA
if(!istype(H))
H = owner
var/icon/cybereyes_icon = new /icon('icons/mob/human_face.dmi', H.species.eyes)
var/icon/cybereyes_icon = new /icon('icons/mob/human_face.dmi', H.dna.species2.eyes)
cybereyes_icon.Blend(eye_colour, ICON_ADD) // Eye implants override native DNA eye color
return cybereyes_icon
-3
View File
@@ -315,7 +315,6 @@
name = "plasma filter"
desc = "A spongy rib-shaped mass for filtering plasma from the air."
icon_state = "lungs-plasma"
species = "Plasmaman"
safe_oxygen_min = 0 //We don't breath this
safe_toxins_min = 16 //We breathe THIS!
@@ -324,7 +323,6 @@
/obj/item/organ/internal/lungs/vox
name = "Vox lungs"
desc = "They're filled with dust....wow."
species = "Vox"
safe_oxygen_min = 0 //We don't breathe this
safe_oxygen_max = 1 //This is toxic to us
@@ -333,7 +331,6 @@
/obj/item/organ/internal/lungs/drask
icon = 'icons/obj/surgery_drask.dmi'
species = "Drask"
cold_message = "an invigorating coldness"
cold_level_3_threshold = 60
+2 -6
View File
@@ -19,7 +19,6 @@
// links chemical IDs to number of ticks for which they'll stay in the blood
germ_level = 0
var/datum/dna/dna
var/datum/species/species = "Human"
// Stuff for tracking if this is on a tile with an open freezer or not
var/last_freezer_update_time = 0
@@ -44,15 +43,13 @@
/obj/item/organ/proc/update_health()
return
/obj/item/organ/New(var/mob/living/carbon/holder)
/obj/item/organ/New(mob/living/carbon/holder)
..(holder)
if(!max_damage)
max_damage = min_broken_damage * 2
if(istype(holder))
species = all_species["Human"]
if(holder.dna)
dna = holder.dna.Clone()
species = all_species[dna.species]
else
log_runtime(EXCEPTION("[holder] spawned without a proper DNA."), holder)
var/mob/living/carbon/human/H = holder
@@ -62,8 +59,7 @@
blood_DNA = list()
blood_DNA[dna.unique_enzymes] = dna.b_type
else
if(istext(species))
species = all_species[species]
dna = new /datum/dna(null)
/obj/item/organ/proc/set_dna(var/datum/dna/new_dna)
if(new_dna)
@@ -105,8 +105,8 @@
/obj/item/organ/external/New(var/mob/living/carbon/holder)
..()
var/mob/living/carbon/human/H = holder
icobase = species.icobase
deform = species.deform
icobase = dna.species2.icobase
deform = dna.species2.deform
if(istype(H))
replaced(H)
sync_colour_to_human(H)
+15 -17
View File
@@ -16,7 +16,7 @@ var/global/list/limb_icon_cache = list()
/obj/item/organ/external/proc/change_organ_icobase(var/new_icobase, var/new_deform, var/owner_sensitive) //Change the icobase/deform of this organ. If owner_sensitive is set, that means the proc won't mess with frankenstein limbs.
if(owner_sensitive) //This and the below statements mean that the icobase/deform will only get updated if the limb is the same species as and is owned by the mob it's attached to.
if(species && owner.species && species.name != owner.species.name)
if(dna.species2 && owner.dna.species2 && dna.species2.name != owner.dna.species2.name)
return
if(dna.unique_enzymes != owner.dna.unique_enzymes) // This isn't MY arm
return
@@ -25,9 +25,9 @@ var/global/list/limb_icon_cache = list()
deform = new_deform ? new_deform : deform
/obj/item/organ/external/proc/sync_colour_to_human(var/mob/living/carbon/human/H)
if(is_robotic() && !(species && species.name == "Machine")) //machine people get skin color
if(is_robotic() && !istype(dna.species2, /datum/species/machine)) //machine people get skin color
return
if(species && H.species && species.name != H.species.name)
if(dna.species2 && H.dna.species2 && dna.species2.name != H.dna.species2.name)
return
if(dna.unique_enzymes != H.dna.unique_enzymes) // This isn't MY arm
if(!(H.species.bodyflags & HAS_ICON_SKIN_TONE))
@@ -46,10 +46,10 @@ var/global/list/limb_icon_cache = list()
/obj/item/organ/external/proc/sync_colour_to_dna()
if(is_robotic())
return
if(!isnull(dna.GetUIValue(DNA_UI_SKIN_TONE)) && ((species.bodyflags & HAS_SKIN_TONE) || (species.bodyflags & HAS_ICON_SKIN_TONE)))
if(!isnull(dna.GetUIValue(DNA_UI_SKIN_TONE)) && ((dna.species2.bodyflags & HAS_SKIN_TONE) || (dna.species2.bodyflags & HAS_ICON_SKIN_TONE)))
s_col = null
s_tone = dna.GetUIValue(DNA_UI_SKIN_TONE)
if(species.bodyflags & HAS_SKIN_COLOR)
if(dna.species2.bodyflags & HAS_SKIN_COLOR)
s_tone = null
s_col = rgb(dna.GetUIValue(DNA_UI_SKIN_R), dna.GetUIValue(DNA_UI_SKIN_G), dna.GetUIValue(DNA_UI_SKIN_B))
@@ -64,11 +64,9 @@ var/global/list/limb_icon_cache = list()
/obj/item/organ/external/proc/get_icon(skeletal, fat)
// Kasparrov, you monster
if(istext(species))
species = all_species[species]
if(force_icon)
mob_icon = new /icon(force_icon, "[icon_name]")
if(species && species.name == "Machine") //snowflake for IPC's, sorry.
if(istype(dna.species2, /datum/species/machine)) //snowflake for IPC's, sorry.
if(s_col)
mob_icon.Blend(s_col, ICON_ADD)
else
@@ -101,13 +99,13 @@ var/global/list/limb_icon_cache = list()
if(!owner)
return
if(species.has_organ["eyes"])
if(dna.species2.has_organ["eyes"])
var/icon/eyes_icon = owner.get_eyecon()
if(eyes_icon)
mob_icon.Blend(eyes_icon, ICON_OVERLAY)
overlays |= eyes_icon
if(owner.lip_style && (LIPS in species.species_traits))
if(owner.lip_style && (LIPS in dna.species2.species_traits))
var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s")
overlays |= lip_icon
mob_icon.Blend(lip_icon, ICON_OVERLAY)
@@ -115,7 +113,7 @@ var/global/list/limb_icon_cache = list()
var/head_marking = owner.m_styles["head"]
if(head_marking && head_marking != "None")
var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking]
if(head_marking_style && head_marking_style.species_allowed && (species.name in head_marking_style.species_allowed) && head_marking_style.marking_location == "head")
if(head_marking_style && head_marking_style.species_allowed && (dna.species2.name in head_marking_style.species_allowed) && head_marking_style.marking_location == "head")
var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s")
if(head_marking_style.do_colouration)
h_marking_s.Blend(owner.m_colours["head"], ICON_ADD)
@@ -123,7 +121,7 @@ var/global/list/limb_icon_cache = list()
if(ha_style)
var/datum/sprite_accessory/head_accessory_style = head_accessory_styles_list[ha_style]
if(head_accessory_style && head_accessory_style.species_allowed && (species.name in head_accessory_style.species_allowed))
if(head_accessory_style && head_accessory_style.species_allowed && (dna.species2.name in head_accessory_style.species_allowed))
var/icon/head_accessory_s = new/icon("icon" = head_accessory_style.icon, "icon_state" = "[head_accessory_style.icon_state]_s")
if(head_accessory_style.do_colouration)
head_accessory_s.Blend(headacc_colour, ICON_ADD)
@@ -131,9 +129,9 @@ var/global/list/limb_icon_cache = list()
if(f_style)
var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style]
if(facial_hair_style && ((facial_hair_style.species_allowed && (species.name in facial_hair_style.species_allowed)) || (src.species.bodyflags & ALL_RPARTS)))
if(facial_hair_style && ((facial_hair_style.species_allowed && (dna.species2.name in facial_hair_style.species_allowed)) || (dna.species2.bodyflags & ALL_RPARTS)))
var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
if(species.name == "Slime People") // I am el worstos
if(istype(dna.species2, /datum/species/slime)) // I am el worstos
facial_s.Blend("[owner.skin_colour]A0", ICON_AND) //A0 = 160 alpha.
else if(facial_hair_style.do_colouration)
facial_s.Blend(facial_colour, ICON_ADD)
@@ -141,9 +139,9 @@ var/global/list/limb_icon_cache = list()
if(h_style && !(owner.head && (owner.head.flags & BLOCKHEADHAIR)))
var/datum/sprite_accessory/hair_style = hair_styles_full_list[h_style]
if(hair_style && ((species.name in hair_style.species_allowed) || (src.species.bodyflags & ALL_RPARTS)))
if(hair_style && ((dna.species2.name in hair_style.species_allowed) || (dna.species2.bodyflags & ALL_RPARTS)))
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
if(species.name == "Slime People") // I am el worstos
if(istype(dna.species2, /datum/species/slime)) // I am el worstos
hair_s.Blend("[owner.skin_colour]A0", ICON_AND) //A0 = 160 alpha.
else if(hair_style.do_colouration)
hair_s.Blend(hair_colour, ICON_ADD)
@@ -184,7 +182,7 @@ var/global/list/limb_icon_cache = list()
/obj/item/organ/external/chest/get_icon_state(skeletal)
var/result = ..()
if(fat && !skeletal && !is_robotic() && (CAN_BE_FAT in species.species_traits))
if(fat && !skeletal && !is_robotic() && (CAN_BE_FAT in dna.species2.species_traits))
result[2] += "_fat"
return result
@@ -1,4 +1,3 @@
/obj/item/organ/internal/eyes/abductor
name = "abductor eyeballs"
dark_view = 3
species = "Abductor"
dark_view = 3
+1 -28
View File
@@ -6,7 +6,6 @@
amputation_point = "trunk"
encased = null
gendered_icon = 0
species = "Diona"
/obj/item/organ/external/groin/diona
name = "fork"
@@ -14,7 +13,6 @@
cannot_break = 1
amputation_point = "lower trunk"
gendered_icon = 0
species = "Diona"
/obj/item/organ/external/arm/diona
name = "left upper tendril"
@@ -22,7 +20,6 @@
min_broken_damage = 20
cannot_break = 1
amputation_point = "upper left trunk"
species = "Diona"
/obj/item/organ/external/arm/right/diona
name = "right upper tendril"
@@ -30,7 +27,6 @@
min_broken_damage = 20
cannot_break = 1
amputation_point = "upper right trunk"
species = "Diona"
/obj/item/organ/external/leg/diona
name = "left lower tendril"
@@ -38,7 +34,6 @@
min_broken_damage = 20
cannot_break = 1
amputation_point = "lower left fork"
species = "Diona"
/obj/item/organ/external/leg/right/diona
name = "right lower tendril"
@@ -46,7 +41,6 @@
min_broken_damage = 20
cannot_break = 1
amputation_point = "lower right fork"
species = "Diona"
/obj/item/organ/external/foot/diona
name = "left foot"
@@ -54,7 +48,6 @@
min_broken_damage = 10
cannot_break = 1
amputation_point = "branch"
species = "Diona"
/obj/item/organ/external/foot/right/diona
name = "right foot"
@@ -62,19 +55,16 @@
min_broken_damage = 10
cannot_break = 1
amputation_point = "branch"
species = "Diona"
/obj/item/organ/external/hand/diona
name = "left grasper"
cannot_break = 1
amputation_point = "branch"
species = "Diona"
/obj/item/organ/external/hand/right/diona
name = "right grasper"
cannot_break = 1
amputation_point = "branch"
species = "Diona"
/obj/item/organ/external/head/diona
max_damage = 50
@@ -83,7 +73,6 @@
encased = null
amputation_point = "upper trunk"
gendered_icon = 0
species = "Diona"
//DIONA ORGANS.
/* /obj/item/organ/external/diona/removed()
@@ -101,31 +90,26 @@
name = "neural strata"
icon = 'icons/obj/objects.dmi'
icon_state = "nymph"
species = "Diona"
/obj/item/organ/internal/brain/diona // Turns into a nymph instantly, no transplanting possible.
name = "gas bladder"
icon = 'icons/obj/objects.dmi'
icon_state = "nymph"
species = "Diona"
/obj/item/organ/internal/kidneys/diona // Turns into a nymph instantly, no transplanting possible.
name = "polyp segment"
icon = 'icons/obj/objects.dmi'
icon_state = "nymph"
species = "Diona"
/obj/item/organ/internal/appendix/diona // Turns into a nymph instantly, no transplanting possible.
name = "anchoring ligament"
icon = 'icons/obj/objects.dmi'
icon_state = "nymph"
species = "Diona"
/obj/item/organ/internal/eyes/diona // Turns into a nymph instantly, no transplanting possible.
name = "receptor node"
icon = 'icons/mob/alien.dmi'
icon_state = "claw"
species = "Diona"
//TODO:Make absorb rads on insert
@@ -133,15 +117,4 @@
name = "nutrient vessel"
icon = 'icons/mob/alien.dmi'
icon_state = "claw"
alcohol_intensity = 0.5
species = "Diona"
//TODO:Make absorb light on insert.
/*/obj/item/organ/diona/removed(var/mob/living/user)
var/mob/living/carbon/human/H = owner
..()
if(!istype(H) || !H.bodyparts || !H.bodyparts.len)
H.death()
if(prob(50) && spawn_diona_nymph_from_organ(src))
qdel(src) */
alcohol_intensity = 0.5
@@ -4,31 +4,26 @@
icon = 'icons/obj/surgery_drask.dmi'
icon_state = "innards"
desc = "A greenish, slightly translucent organ. It is extremely cold."
species = "Drask"
/obj/item/organ/internal/heart/drask
name = "drask heart"
icon = 'icons/obj/surgery_drask.dmi'
parent_organ = "head"
species = "Drask"
/obj/item/organ/internal/liver/drask
name = "metabolic strainer"
icon = 'icons/obj/surgery_drask.dmi'
icon_state = "kidneys"
alcohol_intensity = 0.8
species = "Drask"
/obj/item/organ/internal/brain/drask
icon = 'icons/obj/surgery_drask.dmi'
icon_state = "brain2"
mmi_icon = 'icons/obj/surgery_drask.dmi'
mmi_icon_state = "mmi_full"
species = "Drask"
/obj/item/organ/internal/eyes/drask
name = "drask eyeballs"
icon = 'icons/obj/surgery_drask.dmi'
desc = "Drask eyes. They look even stranger disembodied"
dark_view = 5
species = "Drask"
dark_view = 5
+1 -4
View File
@@ -1,11 +1,9 @@
/obj/item/organ/internal/liver/grey
alcohol_intensity = 1.6
species = "Grey"
/obj/item/organ/internal/brain/grey
icon_state = "brain-x"
mmi_icon_state = "mmi_alien"
species = "Grey"
/obj/item/organ/internal/brain/grey/insert(var/mob/living/carbon/M, var/special = 0)
..()
@@ -17,5 +15,4 @@
/obj/item/organ/internal/eyes/grey
name = "grey eyeballs"
dark_view = 5
species = "Grey"
dark_view = 5
@@ -1,6 +1,5 @@
/obj/item/organ/internal/liver/kidan
alcohol_intensity = 0.5
species = "Kidan"
#define KIDAN_LANTERN_HUNGERCOST 0.5
#define KIDAN_LANTERN_MINHUNGER 150
@@ -5,7 +5,6 @@
min_broken_damage = 30
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/head/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -14,7 +13,6 @@
/obj/item/organ/external/chest/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/chest/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -23,7 +21,6 @@
/obj/item/organ/external/groin/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/groin/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -32,7 +29,6 @@
/obj/item/organ/external/arm/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/arm/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -41,7 +37,6 @@
/obj/item/organ/external/arm/right/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/arm/right/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -49,7 +44,6 @@
/obj/item/organ/external/leg/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/leg/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -58,7 +52,6 @@
/obj/item/organ/external/leg/right/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/leg/right/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -67,7 +60,6 @@
/obj/item/organ/external/foot/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/foot/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -76,7 +68,6 @@
/obj/item/organ/external/foot/right/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/foot/right/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -85,7 +76,6 @@
/obj/item/organ/external/hand/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/hand/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -94,7 +84,6 @@
/obj/item/organ/external/hand/right/ipc
encased = null
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/external/hand/right/ipc/New()
robotize("Morpheus Cyberkinetics")
@@ -110,7 +99,6 @@
slot = "heart"
vital = TRUE
status = ORGAN_ROBOT
species = "Machine"
/obj/item/organ/internal/cell/New()
robotize()
@@ -121,7 +109,6 @@
icon = 'icons/obj/robot_component.dmi'
icon_state = "camera"
status = ORGAN_ROBOT
species = "Machine"
// dead_icon = "camera_broken"
weld_proof = 1
@@ -3,7 +3,6 @@
name = "nucleation organ"
icon = 'icons/obj/surgery.dmi'
desc = "A crystalized human organ. /red It has a strangely iridescent glow."
species = "Nucleation"
/obj/item/organ/internal/nucleation/resonant_crystal
name = "resonant crystal"
@@ -11,7 +10,6 @@
organ_tag = "resonant crystal"
parent_organ = "head"
slot = "res_crystal"
species = "Nucleation"
/obj/item/organ/internal/nucleation/strange_crystal
name = "strange crystal"
@@ -19,14 +17,12 @@
organ_tag = "strange crystal"
parent_organ = "chest"
slot = "heart"
species = "Nucleation"
/obj/item/organ/internal/eyes/luminescent_crystal
name = "luminescent eyes"
icon_state = "crystal-eyes"
organ_tag = "luminescent eyes"
light_color = "#1C1C00"
species = "Nucleation"
/obj/item/organ/internal/eyes/luminescent_crystal/New()
set_light(2)
@@ -35,5 +31,4 @@
/obj/item/organ/internal/brain/crystal
name = "crystallized brain"
icon_state = "crystal-brain"
organ_tag = "crystallized brain"
species = "Nucleation"
organ_tag = "crystallized brain"
@@ -1,4 +1,3 @@
/obj/item/organ/internal/eyes/shadow
name = "dark orbs"
dark_view = 8
species = "Shadow"
dark_view = 8
@@ -1,6 +1,5 @@
/obj/item/organ/internal/liver/skrell
alcohol_intensity = 4
species = "Skrell"
/obj/item/organ/internal/headpocket
name = "headpocket"
@@ -10,7 +9,6 @@
w_class = WEIGHT_CLASS_TINY
parent_organ = "head"
slot = "headpocket"
species = "Skrell"
actions_types = list(/datum/action/item_action/organ_action/toggle)
var/obj/item/storage/internal/pocket
@@ -1,17 +1,14 @@
/obj/item/organ/internal/liver/tajaran
alcohol_intensity = 1.4
species = "Tajaran"
/obj/item/organ/internal/eyes/tajaran
name = "tajaran eyeballs"
species = "Tajaran"
colourblind_matrix = MATRIX_TAJ_CBLIND //The colour matrix and darksight parameters that the mob will recieve when they get the disability.
replace_colours = LIST_TAJ_REPLACE
dark_view = 8
/obj/item/organ/internal/eyes/tajaran/farwa //Being the lesser form of Tajara, Farwas have an utterly incurable version of their colourblindness.
name = "farwa eyeballs"
species = "Farwa"
colourmatrix = MATRIX_TAJ_CBLIND
dark_view = 8
replace_colours = LIST_TAJ_REPLACE
@@ -1,8 +1,6 @@
/obj/item/organ/internal/liver/unathi
alcohol_intensity = 0.8
species = "Unathi"
/obj/item/organ/internal/eyes/unathi
name = "unathi eyeballs"
dark_view = 3
species = "Unathi"
dark_view = 3
@@ -1,6 +1,5 @@
/obj/item/organ/internal/liver/vox
alcohol_intensity = 1.6
species = "Vox"
/obj/item/organ/internal/stack
@@ -1,18 +1,14 @@
/obj/item/organ/internal/liver/vulpkanin
alcohol_intensity = 1.4
species = "Vulpkanin"
/obj/item/organ/internal/eyes/vulpkanin
name = "vulpkanin eyeballs"
species = "Vulpkanin"
colourblind_matrix = MATRIX_VULP_CBLIND //The colour matrix and darksight parameters that the mob will recieve when they get the disability.
replace_colours = LIST_VULP_REPLACE
dark_view = 8
/obj/item/organ/internal/eyes/vulpkanin/wolpin //Being the lesser form of Vulpkanin, Wolpins have an utterly incurable version of their colourblindness.
name = "wolpin eyeballs"
species = "Wolpin"
colourmatrix = MATRIX_VULP_CBLIND
dark_view = 8
replace_colours = LIST_VULP_REPLACE
replace_colours = LIST_VULP_REPLACE
+1 -3
View File
@@ -6,8 +6,6 @@
icon_state = "antennae"
parent_organ = "head"
slot = "hivenode"
species = "Wryn"
/obj/item/organ/internal/eyes/wryn
dark_view = 3
species = "Wryn"
dark_view = 3