diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm index 82645f8c593..be37e03c47c 100644 --- a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm @@ -17,13 +17,13 @@ var/new_ear_style = input(src, "Pick some ears!", "Character Preference", ear_style ? ear_style.name : null) as null|anything in pretty_ear_styles if(!new_ear_style) return - + //Set new style ear_style = ear_styles_list[pretty_ear_styles[new_ear_style]] - + //Allow color picks var/current_pri_color = rgb(r_ears,g_ears,b_ears) - + var/new_pri_color = input("Pick primary ear color:","Ear Color (Pri)", current_pri_color) as null|color if(new_pri_color) var/list/new_color_rgb_list = hex2rgb(new_pri_color) @@ -33,7 +33,7 @@ //Indented inside positive primary color choice, don't bother if they clicked cancel var/current_sec_color = rgb(r_ears2,g_ears2,b_ears2) - + var/new_sec_color = input("Pick secondary ear color (only applies to some ears):","Ear Color (sec)", current_sec_color) as null|color if(new_sec_color) new_color_rgb_list = hex2rgb(new_sec_color) @@ -62,13 +62,13 @@ var/new_tail_style = input(src, "Pick a tail!", "Character Preference", tail_style ? tail_style.name : null) as null|anything in pretty_tail_styles if(!new_tail_style) return - + //Set new style tail_style = tail_styles_list[pretty_tail_styles[new_tail_style]] - + //Allow color picks var/current_pri_color = rgb(r_tail,g_tail,b_tail) - + var/new_pri_color = input("Pick primary tail color:","Tail Color (Pri)", current_pri_color) as null|color if(new_pri_color) var/list/new_color_rgb_list = hex2rgb(new_pri_color) @@ -78,7 +78,7 @@ //Indented inside positive primary color choice, don't bother if they clicked cancel var/current_sec_color = rgb(r_tail2,g_tail2,b_tail2) - + var/new_sec_color = input("Pick secondary tail color (only applies to some tails):","Tail Color (sec)", current_sec_color) as null|color if(new_sec_color) new_color_rgb_list = hex2rgb(new_sec_color) @@ -107,13 +107,13 @@ var/new_wing_style = input(src, "Pick some wings!", "Character Preference", wing_style ? wing_style.name : null) as null|anything in pretty_wing_styles if(!new_wing_style) return - + //Set new style wing_style = wing_styles_list[pretty_wing_styles[new_wing_style]] - + //Allow color picks var/current_color = rgb(r_wing,g_wing,b_wing) - + var/new_color = input("Pick wing color:","Wing Color", current_color) as null|color if(new_color) var/list/new_color_rgb_list = hex2rgb(new_color) @@ -123,7 +123,7 @@ //Indented inside positive primary color choice, don't bother if they clicked cancel var/current_sec_color = rgb(r_wing2,g_wing2,b_wing2) - + var/new_sec_color = input("Pick secondary wing color (only applies to some wings):","Wing Color (sec)", current_sec_color) as null|color if(new_sec_color) new_color_rgb_list = hex2rgb(new_sec_color) @@ -132,3 +132,19 @@ b_wing2 = new_color_rgb_list[3] update_wing_showing() + +/mob/living/carbon/human/proc/promethean_select_opaqueness() + + set name = "Toggle Transparency" + set category = "Abilities" + + if(stat || world.time < last_special) + return + + last_special = world.time + 50 + + for(var/limb in src.organs) + var/obj/item/organ/external/L = limb + L.transparent = !L.transparent + visible_message("\The [src]'s interal composition seems to change.") + update_icons_body() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm index cd162456785..d6f3ff6d680 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm @@ -31,5 +31,6 @@ /mob/living/carbon/human/proc/succubus_drain_finalize, /mob/living/carbon/human/proc/succubus_drain_lethal, /mob/living/carbon/human/proc/slime_feed, - /mob/living/proc/eat_trash + /mob/living/proc/eat_trash, + /mob/living/carbon/human/proc/promethean_select_opaqueness, ) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index e3c548bb41b..c8c4eec6052 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -277,6 +277,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() icon_key += "3" else icon_key += "1" + if(part.transparent) //VOREStation Edit. For better slime limbs. + icon_key += "_t" //VOREStation Edit. icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]" @@ -449,7 +451,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() return // VOREStation Edit - END - if(head_organ.nonsolid) + if(head_organ.transparent) //VOREStation Edit. For better slime limbs. face_standing += rgb(,,,120) overlays_standing[HAIR_LAYER] = image(face_standing, layer = BODY_LAYER+HAIR_LAYER) diff --git a/code/modules/organs/organ_external_vr.dm b/code/modules/organs/organ_external_vr.dm index 491cce94287..17422598644 100644 --- a/code/modules/organs/organ_external_vr.dm +++ b/code/modules/organs/organ_external_vr.dm @@ -1,3 +1,6 @@ +/obj/item/organ/external + var/transparent = 0 //For better slime limbs + //Sideways override for nanoform limbs (ugh) /obj/item/organ/external/robotize(var/company, var/skip_prosthetics = FALSE, var/keep_organs = FALSE) var/original_robotic = robotic diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index 221767b15bf..a5be7341fc4 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -206,7 +206,7 @@ var/global/list/limb_icon_cache = list() /obj/item/organ/external/proc/apply_colouration(var/icon/applying) - if(nonsolid) + if(transparent) //VOREStation edit applying.MapColors("#4D4D4D","#969696","#1C1C1C", "#000000") if(species && species.get_bodytype(owner) != SPECIES_HUMAN) applying.SetIntensity(1) // Unathi, Taj and Skrell have -very- dark base icons. VOREStation edit fixes this and brings the number back to 1 @@ -235,7 +235,7 @@ var/global/list/limb_icon_cache = list() //VOREStation Edit End // Translucency. - if(nonsolid) applying += rgb(,,,180) // SO INTUITIVE TY BYOND + if(transparent) applying += rgb(,,,180) // SO INTUITIVE TY BYOND //VOREStation Edit return applying diff --git a/code/modules/organs/subtypes/slime_vr.dm b/code/modules/organs/subtypes/slime_vr.dm new file mode 100644 index 00000000000..3186f084364 --- /dev/null +++ b/code/modules/organs/subtypes/slime_vr.dm @@ -0,0 +1,32 @@ +/obj/item/organ/external/chest/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/groin/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/arm/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/arm/right/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/leg/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/leg/right/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/foot/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/foot/right/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/hand/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/hand/right/unbreakable/slime + transparent = 1 + +/obj/item/organ/external/head/unbreakable/slime + transparent = 1 \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index b6101c30d9f..87877866d52 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1641,9 +1641,9 @@ #include "code\modules\ai\ai_holder_targeting_vr.dm" #include "code\modules\ai\interfaces.dm" #include "code\modules\ai\say_list.dm" -#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai.dm" -#include "code\modules\ai\ai_holder_subtypes\simple_mob_ai_vr.dm" -#include "code\modules\ai\ai_holder_subtypes\slime_xenobio_ai.dm" +#include "code\modules\ai\aI_holder_subtypes\simple_mob_ai.dm" +#include "code\modules\ai\aI_holder_subtypes\simple_mob_ai_vr.dm" +#include "code\modules\ai\aI_holder_subtypes\slime_xenobio_ai.dm" #include "code\modules\alarm\alarm.dm" #include "code\modules\alarm\alarm_handler.dm" #include "code\modules\alarm\atmosphere_alarm.dm" @@ -2934,6 +2934,7 @@ #include "code\modules\organs\subtypes\shadekin.dm" #include "code\modules\organs\subtypes\shadekin_vr.dm" #include "code\modules\organs\subtypes\slime.dm" +#include "code\modules\organs\subtypes\slime_vr.dm" #include "code\modules\organs\subtypes\standard.dm" #include "code\modules\organs\subtypes\standard_vr.dm" #include "code\modules\organs\subtypes\unathi.dm"