mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
Merge pull request #8091 from Cameron653/transparency_v2
Adds the ability for prometheans to toggle transparency.
This commit is contained in:
@@ -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("<span class='notice'>\The [src]'s interal composition seems to change.</span>")
|
||||
update_icons_body()
|
||||
@@ -34,5 +34,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,
|
||||
)
|
||||
|
||||
@@ -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. Avoids using solid var due to limb dropping.
|
||||
icon_key += "_t" //VOREStation Edit.
|
||||
|
||||
icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]"
|
||||
|
||||
@@ -456,7 +458,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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
32
code/modules/organs/subtypes/slime_vr.dm
Normal file
32
code/modules/organs/subtypes/slime_vr.dm
Normal file
@@ -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
|
||||
@@ -2956,6 +2956,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"
|
||||
|
||||
Reference in New Issue
Block a user