mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 03:02:54 +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
|
brute_mod *= R.robo_brute_mod
|
||||||
burn_mod *= R.robo_burn_mod
|
burn_mod *= R.robo_burn_mod
|
||||||
skip_robo_icon = R.no_icon //CHOMPStation edit
|
skip_robo_icon = R.no_icon //CHOMPStation edit
|
||||||
|
digi_prosthetic = R.can_be_digitigrade //CHOMPStation edit
|
||||||
if(R.lifelike)
|
if(R.lifelike)
|
||||||
robotic = ORGAN_LIFELIKE
|
robotic = ORGAN_LIFELIKE
|
||||||
name = "[initial(name)]"
|
name = "[initial(name)]"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ GLOBAL_LIST_INIT(dsi_to_species, list(SPECIES_TAJARAN = "DSI - Tajaran", SPECIES
|
|||||||
|
|
||||||
/datum/robolimb
|
/datum/robolimb
|
||||||
var/no_icon = FALSE //specifically for DSI things, makes it so it doesn't override the species icons
|
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
|
/datum/robolimb/valehoundhead
|
||||||
company = "VALE Hound- Head"
|
company = "VALE Hound- Head"
|
||||||
@@ -14,34 +14,31 @@ GLOBAL_LIST_INIT(dsi_to_species, list(SPECIES_TAJARAN = "DSI - Tajaran", SPECIES
|
|||||||
parts = list(BP_HEAD)
|
parts = list(BP_HEAD)
|
||||||
|
|
||||||
/datum/robolimb/dsi_tajaran
|
/datum/robolimb/dsi_tajaran
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_lizard
|
/datum/robolimb/dsi_lizard
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_sergal
|
/datum/robolimb/dsi_sergal
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_nevrean
|
/datum/robolimb/dsi_nevrean
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_vulpkanin
|
/datum/robolimb/dsi_vulpkanin
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_akula
|
/datum/robolimb/dsi_akula
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_spider
|
/datum/robolimb/dsi_spider
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_zorren
|
/datum/robolimb/dsi_zorren
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_fennec
|
/datum/robolimb/dsi_fennec
|
||||||
no_icon = TRUE
|
can_be_digitigrade = TRUE
|
||||||
|
|
||||||
/datum/robolimb/dsi_teshari
|
|
||||||
no_icon = TRUE
|
|
||||||
|
|
||||||
/datum/robolimb/dsi_teshari/New()
|
/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
|
/datum/robolimb/dsi_other
|
||||||
company = "DSI - Synthetic"
|
company = "DSI - Adaptive"
|
||||||
desc = "This limb has a realistic design and squish. By Darkside Incorperated."
|
desc = "This limb has a realistic design and squish. By Darkside Incorperated."
|
||||||
blood_color = "#ffe2ff"
|
blood_color = "#ffe2ff"
|
||||||
lifelike = 1
|
lifelike = 1
|
||||||
|
|||||||
@@ -136,7 +136,16 @@
|
|||||||
|
|
||||||
// Destroy/cyborgize organs and limbs.
|
// Destroy/cyborgize organs and limbs.
|
||||||
if (convert_to_prosthetics) //should only really be run for proteans
|
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/status = organ_data[name]
|
||||||
var/obj/item/organ/external/O = character.organs_by_name[name]
|
var/obj/item/organ/external/O = character.organs_by_name[name]
|
||||||
if(O)
|
if(O)
|
||||||
@@ -153,7 +162,7 @@
|
|||||||
bodytype = selected_species.get_bodytype()
|
bodytype = selected_species.get_bodytype()
|
||||||
var/dsi_company = GLOB.dsi_to_species[bodytype]
|
var/dsi_company = GLOB.dsi_to_species[bodytype]
|
||||||
if (!dsi_company)
|
if (!dsi_company)
|
||||||
dsi_company = "DSI - Synthetic"
|
dsi_company = "DSI - Adaptive"
|
||||||
O.robotize(dsi_company)
|
O.robotize(dsi_company)
|
||||||
|
|
||||||
for(var/N in character.organs_by_name)
|
for(var/N in character.organs_by_name)
|
||||||
|
|||||||
@@ -84,7 +84,16 @@
|
|||||||
var/bodytype = character.species?.get_bodytype()
|
var/bodytype = character.species?.get_bodytype()
|
||||||
|
|
||||||
if (convert_to_prosthetics) //should only really be run for proteans
|
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/I = character.organs_by_name[name]
|
||||||
var/obj/item/organ/external/O = organs_by_name[name]
|
var/obj/item/organ/external/O = organs_by_name[name]
|
||||||
if(O)
|
if(O)
|
||||||
@@ -93,7 +102,7 @@
|
|||||||
else
|
else
|
||||||
var/dsi_company = GLOB.dsi_to_species[bodytype]
|
var/dsi_company = GLOB.dsi_to_species[bodytype]
|
||||||
if (!dsi_company)
|
if (!dsi_company)
|
||||||
dsi_company = "DSI - Synthetic"
|
dsi_company = "DSI - Adaptive"
|
||||||
O.robotize(dsi_company)
|
O.robotize(dsi_company)
|
||||||
|
|
||||||
for(var/N in character.organs_by_name)
|
for(var/N in character.organs_by_name)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/obj/item/organ/external
|
/obj/item/organ/external
|
||||||
var/skip_robo_icon = FALSE //CHOMPStation edit - to force it to use the normal species icon
|
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
|
//new function to check for markings
|
||||||
/obj/item/organ/external/proc/is_hidden_by_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))
|
digitigrade = dna.digitigrade && (istype(src,/obj/item/organ/external/leg) || istype(src,/obj/item/organ/external/foot))
|
||||||
|
|
||||||
var/gender = "m"
|
var/gender = "m"
|
||||||
|
var/skip_forced_icon = skip_robo_icon || (digi_prosthetic && digitigrade)
|
||||||
if(owner && owner.gender == FEMALE)
|
if(owner && owner.gender == FEMALE)
|
||||||
gender = "f"
|
gender = "f"
|
||||||
|
|
||||||
@@ -18,7 +19,7 @@
|
|||||||
else
|
else
|
||||||
icon_cache_key = "[icon_name]_[force_icon_key]"
|
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]" : ""]")
|
mob_icon = new /icon(force_icon, "[icon_name][gendered_icon ? "_[gender]" : ""]")
|
||||||
else
|
else
|
||||||
if(!dna)
|
if(!dna)
|
||||||
@@ -35,7 +36,7 @@
|
|||||||
|
|
||||||
if(skeletal)
|
if(skeletal)
|
||||||
mob_icon = new /icon('icons/mob/human_races/r_skeleton.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
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]" : ""]")
|
mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||||
apply_colouration(mob_icon)
|
apply_colouration(mob_icon)
|
||||||
else
|
else
|
||||||
@@ -46,13 +47,13 @@
|
|||||||
mob_icon = new /icon(digitigrade ? species.icodigi : species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
|
mob_icon = new /icon(digitigrade ? species.icodigi : species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
|
||||||
apply_colouration(mob_icon)
|
apply_colouration(mob_icon)
|
||||||
|
|
||||||
if (model && !skip_robo_icon)
|
if (model && !skip_forced_icon)
|
||||||
icon_cache_key += "_model_[model]"
|
icon_cache_key += "_model_[model]"
|
||||||
apply_colouration(mob_icon)
|
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.
|
//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.
|
//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)
|
for(var/M in markings)
|
||||||
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
|
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
|
||||||
var/isdigitype = istype(mark_style,/datum/sprite_accessory/marking/digi)
|
var/isdigitype = istype(mark_style,/datum/sprite_accessory/marking/digi)
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
mob_icon.Blend(limb_icon_cache[cache_key], ICON_OVERLAY)
|
mob_icon.Blend(limb_icon_cache[cache_key], ICON_OVERLAY)
|
||||||
|
|
||||||
// VOREStation edit start
|
// 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)
|
var/icon/I = new(nail_polish.icon, nail_polish.icon_state)
|
||||||
I.Blend(nail_polish.color, ICON_MULTIPLY)
|
I.Blend(nail_polish.color, ICON_MULTIPLY)
|
||||||
add_overlay(I)
|
add_overlay(I)
|
||||||
|
|||||||
Reference in New Issue
Block a user