mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
puts dsi prosthetics back to normal in favor of dsi - adaptive skipping icon
This commit is contained in:
@@ -1140,6 +1140,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
brute_mod *= R.robo_brute_mod
|
||||
burn_mod *= R.robo_burn_mod
|
||||
skip_robo_icon = R.no_icon //CHOMPStation edit
|
||||
digi_prosthetic = R.can_be_digitigrade //CHOMPStation edit
|
||||
if(R.lifelike)
|
||||
robotic = ORGAN_LIFELIKE
|
||||
name = "[initial(name)]"
|
||||
|
||||
@@ -4,7 +4,7 @@ GLOBAL_LIST_INIT(dsi_to_species, list(SPECIES_TAJARAN = "DSI - Tajaran", SPECIES
|
||||
|
||||
/datum/robolimb
|
||||
var/no_icon = FALSE //specifically for DSI things, makes it so it doesn't override the species icons
|
||||
//var/has_digitigrade_icon = FALSE //make this a thing
|
||||
var/can_be_digitigrade = FALSE //used for skipping the icon if it can be digitigrade - maybe turn this into more of a 'use this icon/iconstate' instead later, when actual prosthetic digi icons get made
|
||||
|
||||
/datum/robolimb/valehoundhead
|
||||
company = "VALE Hound- Head"
|
||||
@@ -14,34 +14,31 @@ GLOBAL_LIST_INIT(dsi_to_species, list(SPECIES_TAJARAN = "DSI - Tajaran", SPECIES
|
||||
parts = list(BP_HEAD)
|
||||
|
||||
/datum/robolimb/dsi_tajaran
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_lizard
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_sergal
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_nevrean
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_vulpkanin
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_akula
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_spider
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_zorren
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_fennec
|
||||
no_icon = TRUE
|
||||
|
||||
/datum/robolimb/dsi_teshari
|
||||
no_icon = TRUE
|
||||
can_be_digitigrade = TRUE
|
||||
|
||||
/datum/robolimb/dsi_teshari/New()
|
||||
. = ..()
|
||||
@@ -49,7 +46,7 @@ GLOBAL_LIST_INIT(dsi_to_species, list(SPECIES_TAJARAN = "DSI - Tajaran", SPECIES
|
||||
|
||||
|
||||
/datum/robolimb/dsi_other
|
||||
company = "DSI - Synthetic"
|
||||
company = "DSI - Adaptive"
|
||||
desc = "This limb has a realistic design and squish. By Darkside Incorperated."
|
||||
blood_color = "#ffe2ff"
|
||||
lifelike = 1
|
||||
|
||||
@@ -136,7 +136,16 @@
|
||||
|
||||
// Destroy/cyborgize organs and limbs.
|
||||
if (convert_to_prosthetics) //should only really be run for proteans
|
||||
for(var/name in BP_ALL)
|
||||
var/list/organs_to_edit = list()
|
||||
for (var/name in list(BP_TORSO, BP_HEAD, BP_GROIN, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT))
|
||||
var/obj/item/organ/external/O = character.organs_by_name[name]
|
||||
if (O)
|
||||
var/x = organs_to_edit.Find(O.parent_organ)
|
||||
if (x == 0)
|
||||
organs_to_edit += name
|
||||
else
|
||||
organs_to_edit.Insert(x+(O.robotic == ORGAN_NANOFORM ? 1 : 0), name)
|
||||
for(var/name in organs_to_edit)
|
||||
var/status = organ_data[name]
|
||||
var/obj/item/organ/external/O = character.organs_by_name[name]
|
||||
if(O)
|
||||
@@ -153,7 +162,7 @@
|
||||
bodytype = selected_species.get_bodytype()
|
||||
var/dsi_company = GLOB.dsi_to_species[bodytype]
|
||||
if (!dsi_company)
|
||||
dsi_company = "DSI - Synthetic"
|
||||
dsi_company = "DSI - Adaptive"
|
||||
O.robotize(dsi_company)
|
||||
|
||||
for(var/N in character.organs_by_name)
|
||||
|
||||
@@ -84,7 +84,16 @@
|
||||
var/bodytype = character.species?.get_bodytype()
|
||||
|
||||
if (convert_to_prosthetics) //should only really be run for proteans
|
||||
for(var/name in BP_ALL)
|
||||
var/list/organs_to_edit = list()
|
||||
for (var/name in list(BP_TORSO, BP_HEAD, BP_GROIN, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT))
|
||||
var/obj/item/organ/external/O = character.organs_by_name[name]
|
||||
if (O)
|
||||
var/x = organs_to_edit.Find(O.parent_organ)
|
||||
if (x == 0)
|
||||
organs_to_edit += name
|
||||
else
|
||||
organs_to_edit.Insert(x+(O.robotic == ORGAN_NANOFORM ? 1 : 0), name)
|
||||
for(var/name in organs_to_edit)
|
||||
var/obj/item/organ/external/I = character.organs_by_name[name]
|
||||
var/obj/item/organ/external/O = organs_by_name[name]
|
||||
if(O)
|
||||
@@ -93,7 +102,7 @@
|
||||
else
|
||||
var/dsi_company = GLOB.dsi_to_species[bodytype]
|
||||
if (!dsi_company)
|
||||
dsi_company = "DSI - Synthetic"
|
||||
dsi_company = "DSI - Adaptive"
|
||||
O.robotize(dsi_company)
|
||||
|
||||
for(var/N in character.organs_by_name)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/obj/item/organ/external
|
||||
var/skip_robo_icon = FALSE //CHOMPStation edit - to force it to use the normal species icon
|
||||
var/digi_prosthetic = FALSE //is it a prosthetic that can be digitigrade
|
||||
|
||||
//new function to check for markings
|
||||
/obj/item/organ/external/proc/is_hidden_by_markings()
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
digitigrade = dna.digitigrade && (istype(src,/obj/item/organ/external/leg) || istype(src,/obj/item/organ/external/foot))
|
||||
|
||||
var/gender = "m"
|
||||
var/skip_forced_icon = skip_robo_icon || (digi_prosthetic && digitigrade)
|
||||
if(owner && owner.gender == FEMALE)
|
||||
gender = "f"
|
||||
|
||||
@@ -18,7 +19,7 @@
|
||||
else
|
||||
icon_cache_key = "[icon_name]_[force_icon_key]"
|
||||
|
||||
if(force_icon && !skip_robo_icon)
|
||||
if(force_icon && !skip_forced_icon)
|
||||
mob_icon = new /icon(force_icon, "[icon_name][gendered_icon ? "_[gender]" : ""]")
|
||||
else
|
||||
if(!dna)
|
||||
@@ -35,7 +36,7 @@
|
||||
|
||||
if(skeletal)
|
||||
mob_icon = new /icon('icons/mob/human_races/r_skeleton.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
else if (robotic >= ORGAN_ROBOT && !skip_robo_icon)
|
||||
else if (robotic >= ORGAN_ROBOT && !skip_forced_icon)
|
||||
mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
else
|
||||
@@ -46,13 +47,13 @@
|
||||
mob_icon = new /icon(digitigrade ? species.icodigi : species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
|
||||
if (model && !skip_robo_icon)
|
||||
if (model && !skip_forced_icon)
|
||||
icon_cache_key += "_model_[model]"
|
||||
apply_colouration(mob_icon)
|
||||
|
||||
//Code here is copied from organ_icon.dm line 118 at time of writing (9/20/21), VOREStation edits are left in intentionally, because I think it's worth keeping track of the fact that the code is from Virgo's edits.
|
||||
//Body markings, actually does not include head this time. Done separately above.
|
||||
if((!istype(src,/obj/item/organ/external/head) && !(force_icon && !skip_robo_icon)) || (model && owner && owner.synth_markings))
|
||||
if((!istype(src,/obj/item/organ/external/head) && !(force_icon && !skip_forced_icon)) || (model && owner && owner.synth_markings))
|
||||
for(var/M in markings)
|
||||
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
|
||||
var/isdigitype = istype(mark_style,/datum/sprite_accessory/marking/digi)
|
||||
@@ -71,7 +72,7 @@
|
||||
mob_icon.Blend(limb_icon_cache[cache_key], ICON_OVERLAY)
|
||||
|
||||
// VOREStation edit start
|
||||
if(nail_polish && !(force_icon && !skip_robo_icon))
|
||||
if(nail_polish && !(force_icon && !skip_forced_icon))
|
||||
var/icon/I = new(nail_polish.icon, nail_polish.icon_state)
|
||||
I.Blend(nail_polish.color, ICON_MULTIPLY)
|
||||
add_overlay(I)
|
||||
|
||||
Reference in New Issue
Block a user