Adds the ability to change skin color for Greys. (#25473)
* Sets groundwork for different grey skins. Sprites work fine, but preferences and char preview need to be addressed. * typo * Character preview changes color now. This partially fixes the "0 -" issue as well, it now says "0 - gray". * Adds random functionality to Greys. Randomize your own char, and fresh spawns are random! * uses clamp instead of max,min, and round
@@ -30,6 +30,11 @@
|
||||
#define VOXAZURE 5
|
||||
#define VOXEMERALD 6
|
||||
|
||||
#define GREYGRAY 1
|
||||
#define GREYLIGHT 2
|
||||
#define GREYGREEN 3
|
||||
#define GREYBLUE 4
|
||||
|
||||
#define CATBEASTBROWN 1
|
||||
#define CATBEASTBLACK 2
|
||||
|
||||
|
||||
@@ -67,6 +67,9 @@ proc/random_skin_tone(species = "Human")
|
||||
else if(species == "Vox")
|
||||
. = rand(1,6)
|
||||
return .
|
||||
else if(species == "Grey")
|
||||
. = rand(1,4)
|
||||
return .
|
||||
else if(species == "Tajaran")
|
||||
return 1
|
||||
else
|
||||
@@ -107,6 +110,16 @@ proc/skintone2racedescription(tone, species = "Human")
|
||||
return "gray"
|
||||
else
|
||||
return "green"
|
||||
else if(species == "Grey")
|
||||
switch(tone)
|
||||
if(GREYLIGHT)
|
||||
return "light gray"
|
||||
if(GREYGREEN)
|
||||
return "green"
|
||||
if(GREYBLUE)
|
||||
return "blue"
|
||||
else
|
||||
return "gray"
|
||||
else if(species == "Tajaran")
|
||||
switch(tone)
|
||||
if(CATBEASTBLACK)
|
||||
|
||||
@@ -1248,12 +1248,17 @@ NOTE: The change will take effect AFTER any current recruiting periods."}
|
||||
if(species == "Human")
|
||||
var/new_s_tone = input(user, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Character Preference") as num|null
|
||||
if(new_s_tone)
|
||||
s_tone = 35 - max(min(round(new_s_tone),220),1)
|
||||
s_tone = 35 - clamp(new_s_tone,1,220)
|
||||
to_chat(user,"You're now [skintone2racedescription(s_tone, species)].")
|
||||
else if(species == "Vox")//Can't reference species flags here, sorry.
|
||||
var/skin_c = input(user, "Choose your Vox's skin color:\n(1 = Green, 2 = Brown, 3 = Gray, 4 = Light Green, 5 = Azure, 6 = Emerald)", "Character Preference") as num|null
|
||||
if(skin_c)
|
||||
s_tone = max(min(round(skin_c),6),1)
|
||||
s_tone = clamp(skin_c,1,6)
|
||||
to_chat(user,"You will now be [skintone2racedescription(s_tone,species)] in color.")
|
||||
else if(species == "Grey")
|
||||
var/skin_c = input(user, "Choose your Grey's skin color:\n(1 = Gray, 2 = Light, 3 = Green, 4 = Blue)", "Character Preference") as num|null
|
||||
if(skin_c)
|
||||
s_tone = clamp(skin_c,1,4)
|
||||
to_chat(user,"You will now be [skintone2racedescription(s_tone,species)] in color.")
|
||||
else
|
||||
to_chat(user,"Your species doesn't have different skin tones. Yet?")
|
||||
@@ -1493,10 +1498,10 @@ NOTE: The change will take effect AFTER any current recruiting periods."}
|
||||
|
||||
if("window_flashing")
|
||||
window_flashing = !window_flashing
|
||||
|
||||
|
||||
if("antag_objectives")
|
||||
antag_objectives = !antag_objectives
|
||||
|
||||
|
||||
if(user.client.holder)
|
||||
switch(href_list["preference"])
|
||||
if("hear_ahelp")
|
||||
|
||||
@@ -601,8 +601,8 @@ var/global/list/whitelisted_species = list("Human")
|
||||
|
||||
/datum/species/grey // /vg/
|
||||
name = "Grey"
|
||||
icobase = 'icons/mob/human_races/r_grey.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_grey.dmi'
|
||||
icobase = 'icons/mob/human_races/grey/r_grey.dmi'
|
||||
deform = 'icons/mob/human_races/grey/r_def_grey.dmi'
|
||||
known_languages = list(LANGUAGE_GREY)
|
||||
eyes = "grey_eyes_s"
|
||||
|
||||
@@ -646,6 +646,26 @@ var/global/list/whitelisted_species = list("Human")
|
||||
You are particularly allergic to water, which acts like acid to you, but the inverse is so for acid, so you're fun at parties.<br>\
|
||||
You're not as good in a fist fight as a regular baseline human, but you make up for this by bullying them from afar by talking directly into peoples minds."
|
||||
|
||||
/datum/species/grey/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
if(myhuman != H)
|
||||
return
|
||||
updatespeciescolor(H)
|
||||
H.update_icon()
|
||||
|
||||
/datum/species/grey/updatespeciescolor(var/mob/living/carbon/human/H)
|
||||
switch(H.my_appearance.s_tone)
|
||||
if(4)
|
||||
icobase = 'icons/mob/human_races/grey/r_greyblue.dmi'
|
||||
deform = 'icons/mob/human_races/grey/r_def_greyblue.dmi'
|
||||
if(3)
|
||||
icobase = 'icons/mob/human_races/grey/r_greygreen.dmi'
|
||||
deform = 'icons/mob/human_races/grey/r_def_greygreen.dmi'
|
||||
if(2)
|
||||
icobase = 'icons/mob/human_races/grey/r_greylight.dmi'
|
||||
deform = 'icons/mob/human_races/grey/r_def_greylight.dmi'
|
||||
else
|
||||
icobase = 'icons/mob/human_races/grey/r_grey.dmi'
|
||||
deform = 'icons/mob/human_races/grey/r_def_grey.dmi'
|
||||
/datum/species/grey/gib(mob/living/carbon/human/H)
|
||||
..()
|
||||
H.default_gib()
|
||||
|
||||
@@ -184,6 +184,16 @@
|
||||
icobase = 'icons/mob/human_races/vox/r_voxbrn.dmi'
|
||||
else
|
||||
icobase = 'icons/mob/human_races/vox/r_vox.dmi'
|
||||
if(current_species.name == "Grey")
|
||||
switch(s_tone)
|
||||
if(4)
|
||||
icobase = 'icons/mob/human_races/grey/r_greyblue.dmi'
|
||||
if(3)
|
||||
icobase = 'icons/mob/human_races/grey/r_greygreen.dmi'
|
||||
if(2)
|
||||
icobase = 'icons/mob/human_races/grey/r_greylight.dmi'
|
||||
else
|
||||
icobase = 'icons/mob/human_races/grey/r_grey.dmi'
|
||||
else
|
||||
icobase = current_species.icobase
|
||||
else
|
||||
|
||||
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
BIN
icons/mob/human_races/grey/r_def_greyblue.dmi
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
icons/mob/human_races/grey/r_def_greygreen.dmi
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
icons/mob/human_races/grey/r_def_greylight.dmi
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
icons/mob/human_races/grey/r_greyblue.dmi
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
icons/mob/human_races/grey/r_greygreen.dmi
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
icons/mob/human_races/grey/r_greylight.dmi
Normal file
|
After Width: | Height: | Size: 3.0 KiB |