mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-31 00:49:06 +01:00
Human Sprites 2: The Desimpsonifying (#7057)
This commit is contained in:
@@ -1,197 +1,204 @@
|
||||
datum/preferences
|
||||
/datum/preferences
|
||||
//The mob should have a gender you want before running this proc. Will run fine without H
|
||||
proc/randomize_appearance_for(var/mob/living/carbon/human/H,var/random_gender=TRUE)
|
||||
if(random_gender)
|
||||
gender = pick(MALE, FEMALE)
|
||||
else
|
||||
gender = H.gender
|
||||
var/datum/species/current_species = all_species[species]
|
||||
/datum/preferences/proc/randomize_appearance_for(var/mob/living/carbon/human/H,var/random_gender=TRUE)
|
||||
if(random_gender)
|
||||
gender = pick(MALE, FEMALE)
|
||||
else
|
||||
gender = H.gender
|
||||
var/datum/species/current_species = all_species[species]
|
||||
|
||||
if(current_species)
|
||||
if(current_species.appearance_flags & HAS_SKIN_TONE)
|
||||
s_tone = random_skin_tone()
|
||||
if(current_species.appearance_flags & HAS_EYE_COLOR)
|
||||
randomize_eyes_color()
|
||||
if(current_species.appearance_flags & HAS_SKIN_COLOR)
|
||||
randomize_skin_color()
|
||||
if(current_species.appearance_flags & HAS_UNDERWEAR)
|
||||
if(gender == FEMALE)
|
||||
underwear = underwear_f[pick(underwear_f)]
|
||||
else
|
||||
underwear = underwear_m[pick(underwear_m)]
|
||||
undershirt = undershirt_t[pick(undershirt_t)]
|
||||
if(current_species.appearance_flags & HAS_SOCKS)
|
||||
if(gender == FEMALE)
|
||||
socks = socks_f[pick(socks_f)]
|
||||
else
|
||||
socks = socks_m[pick(socks_m)]
|
||||
if(current_species)
|
||||
if(current_species.appearance_flags & HAS_SKIN_TONE)
|
||||
s_tone = random_skin_tone()
|
||||
if(current_species.appearance_flags & HAS_EYE_COLOR)
|
||||
randomize_eyes_color()
|
||||
if(current_species.appearance_flags & HAS_SKIN_COLOR)
|
||||
randomize_skin_color(current_species)
|
||||
if(current_species.appearance_flags & HAS_UNDERWEAR)
|
||||
if(gender == FEMALE)
|
||||
underwear = underwear_f[pick(underwear_f)]
|
||||
else
|
||||
underwear = underwear_m[pick(underwear_m)]
|
||||
undershirt = undershirt_t[pick(undershirt_t)]
|
||||
if(current_species.appearance_flags & HAS_SOCKS)
|
||||
if(gender == FEMALE)
|
||||
socks = socks_f[pick(socks_f)]
|
||||
else
|
||||
socks = socks_m[pick(socks_m)]
|
||||
|
||||
h_style = random_hair_style(gender, species)
|
||||
f_style = random_facial_hair_style(gender, species)
|
||||
randomize_hair_color("hair")
|
||||
randomize_hair_color("facial")
|
||||
h_style = random_hair_style(gender, species)
|
||||
f_style = random_facial_hair_style(gender, species)
|
||||
randomize_hair_color("hair")
|
||||
randomize_hair_color("facial")
|
||||
|
||||
backbag = 2
|
||||
age = rand(getMinAge(),getMaxAge())
|
||||
if(H)
|
||||
copy_to(H,1)
|
||||
backbag = 2
|
||||
age = rand(getMinAge(),getMaxAge())
|
||||
if(H)
|
||||
copy_to(H,1)
|
||||
|
||||
|
||||
proc/randomize_hair_color(var/target = "hair")
|
||||
if(prob (75) && target == "facial") // Chance to inherit hair color
|
||||
r_facial = r_hair
|
||||
g_facial = g_hair
|
||||
b_facial = b_hair
|
||||
return
|
||||
/datum/preferences/proc/randomize_hair_color(var/target = "hair")
|
||||
if(prob (75) && target == "facial") // Chance to inherit hair color
|
||||
r_facial = r_hair
|
||||
g_facial = g_hair
|
||||
b_facial = b_hair
|
||||
return
|
||||
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
|
||||
var/col = pick ("blonde", "black", "chestnut", "copper", "brown", "wheat", "old", "punk")
|
||||
switch(col)
|
||||
if("blonde")
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 0
|
||||
if("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 51
|
||||
if("copper")
|
||||
red = 255
|
||||
green = 153
|
||||
blue = 0
|
||||
if("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if("wheat")
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 153
|
||||
if("old")
|
||||
red = rand (100, 255)
|
||||
green = red
|
||||
blue = red
|
||||
if("punk")
|
||||
red = rand (0, 255)
|
||||
green = rand (0, 255)
|
||||
blue = rand (0, 255)
|
||||
var/col = pick ("blonde", "black", "chestnut", "copper", "brown", "wheat", "old", "punk")
|
||||
switch(col)
|
||||
if("blonde")
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 0
|
||||
if("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 51
|
||||
if("copper")
|
||||
red = 255
|
||||
green = 153
|
||||
blue = 0
|
||||
if("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if("wheat")
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 153
|
||||
if("old")
|
||||
red = rand (100, 255)
|
||||
green = red
|
||||
blue = red
|
||||
if("punk")
|
||||
red = rand (0, 255)
|
||||
green = rand (0, 255)
|
||||
blue = rand (0, 255)
|
||||
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
|
||||
switch(target)
|
||||
if("hair")
|
||||
r_hair = red
|
||||
g_hair = green
|
||||
b_hair = blue
|
||||
if("facial")
|
||||
r_facial = red
|
||||
g_facial = green
|
||||
b_facial = blue
|
||||
switch(target)
|
||||
if("hair")
|
||||
r_hair = red
|
||||
g_hair = green
|
||||
b_hair = blue
|
||||
if("facial")
|
||||
r_facial = red
|
||||
g_facial = green
|
||||
b_facial = blue
|
||||
|
||||
proc/randomize_eyes_color()
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
/datum/preferences/proc/randomize_eyes_color()
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
|
||||
var/col = pick ("black", "grey", "brown", "chestnut", "blue", "lightblue", "green", "albino")
|
||||
switch(col)
|
||||
if("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if("grey")
|
||||
red = rand (100, 200)
|
||||
green = red
|
||||
blue = red
|
||||
if("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 0
|
||||
if("blue")
|
||||
red = 51
|
||||
green = 102
|
||||
blue = 204
|
||||
if("lightblue")
|
||||
red = 102
|
||||
green = 204
|
||||
blue = 255
|
||||
if("green")
|
||||
red = 0
|
||||
green = 102
|
||||
blue = 0
|
||||
if("albino")
|
||||
red = rand (200, 255)
|
||||
green = rand (0, 150)
|
||||
blue = rand (0, 150)
|
||||
var/col = pick ("black", "grey", "brown", "chestnut", "blue", "lightblue", "green", "albino")
|
||||
switch(col)
|
||||
if("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if("grey")
|
||||
red = rand (100, 200)
|
||||
green = red
|
||||
blue = red
|
||||
if("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 0
|
||||
if("blue")
|
||||
red = 51
|
||||
green = 102
|
||||
blue = 204
|
||||
if("lightblue")
|
||||
red = 102
|
||||
green = 204
|
||||
blue = 255
|
||||
if("green")
|
||||
red = 0
|
||||
green = 102
|
||||
blue = 0
|
||||
if("albino")
|
||||
red = rand (200, 255)
|
||||
green = rand (0, 150)
|
||||
blue = rand (0, 150)
|
||||
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
|
||||
r_eyes = red
|
||||
g_eyes = green
|
||||
b_eyes = blue
|
||||
r_eyes = red
|
||||
g_eyes = green
|
||||
b_eyes = blue
|
||||
|
||||
proc/randomize_skin_color()
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
/datum/preferences/proc/randomize_skin_color(var/datum/species/current_species)
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
|
||||
var/col = pick ("black", "grey", "brown", "chestnut", "blue", "lightblue", "green", "albino")
|
||||
switch(col)
|
||||
if("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if("grey")
|
||||
red = rand (100, 200)
|
||||
green = red
|
||||
blue = red
|
||||
if("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 0
|
||||
if("blue")
|
||||
red = 51
|
||||
green = 102
|
||||
blue = 204
|
||||
if("lightblue")
|
||||
red = 102
|
||||
green = 204
|
||||
blue = 255
|
||||
if("green")
|
||||
red = 0
|
||||
green = 102
|
||||
blue = 0
|
||||
if("albino")
|
||||
red = rand (200, 255)
|
||||
green = rand (0, 150)
|
||||
blue = rand (0, 150)
|
||||
if(current_species && current_species.appearance_flags & HAS_SKIN_PRESET)
|
||||
var/hex = pick(current_species.character_color_presets)
|
||||
r_skin = GetRedPart(hex)
|
||||
g_skin = GetGreenPart(hex)
|
||||
b_skin = GetBluePart(hex)
|
||||
return
|
||||
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
var/col = pick ("black", "grey", "brown", "chestnut", "blue", "lightblue", "green", "albino")
|
||||
switch(col)
|
||||
if("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if("grey")
|
||||
red = rand (100, 200)
|
||||
green = red
|
||||
blue = red
|
||||
if("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 0
|
||||
if("blue")
|
||||
red = 51
|
||||
green = 102
|
||||
blue = 204
|
||||
if("lightblue")
|
||||
red = 102
|
||||
green = 204
|
||||
blue = 255
|
||||
if("green")
|
||||
red = 0
|
||||
green = 102
|
||||
blue = 0
|
||||
if("albino")
|
||||
red = rand (200, 255)
|
||||
green = rand (0, 150)
|
||||
blue = rand (0, 150)
|
||||
|
||||
r_skin = red
|
||||
g_skin = green
|
||||
b_skin = blue
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
|
||||
r_skin = red
|
||||
g_skin = green
|
||||
b_skin = blue
|
||||
|
||||
|
||||
/datum/preferences/proc/dress_preview_mob(var/mob/living/carbon/human/mannequin)
|
||||
@@ -238,6 +245,9 @@ datum/preferences
|
||||
/datum/preferences/proc/update_preview_icon()
|
||||
var/mob/living/carbon/human/dummy/mannequin/mannequin = SSmob.get_mannequin(client.ckey)
|
||||
mannequin.delete_inventory(TRUE)
|
||||
mannequin.species.create_organs(mannequin)
|
||||
if(gender)
|
||||
mannequin.change_gender(gender)
|
||||
dress_preview_mob(mannequin)
|
||||
|
||||
preview_icon = icon('icons/effects/effects.dmi', "nothing")
|
||||
|
||||
@@ -22,9 +22,10 @@
|
||||
return
|
||||
|
||||
src.gender = gender
|
||||
dna.SetUIState(DNA_UI_GENDER, src.gender != MALE, 1)
|
||||
reset_hair()
|
||||
update_body()
|
||||
update_dna()
|
||||
species.create_organs(src)
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/human/proc/change_hair(var/hair_style)
|
||||
@@ -112,7 +113,7 @@
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/human/proc/change_skin_color(var/red, var/green, var/blue)
|
||||
if(red == r_skin && green == g_skin && blue == b_skin || !(species.appearance_flags & HAS_SKIN_COLOR))
|
||||
if((red == r_skin && green == g_skin && blue == b_skin) || !((species.appearance_flags & HAS_SKIN_COLOR) && (species.appearance_flags & HAS_SKIN_PRESET)))
|
||||
return
|
||||
|
||||
r_skin = red
|
||||
|
||||
@@ -212,6 +212,7 @@
|
||||
var/list/allowed_religions = list(RELIGION_NONE, RELIGION_OTHER, RELIGION_CHRISTIANITY, RELIGION_ISLAM, RELIGION_JUDAISM, RELIGION_HINDU, RELIGION_BUDDHISM, RELIGION_MOROZ, RELIGION_TRINARY)
|
||||
|
||||
var/zombie_type //What zombie species they become
|
||||
var/list/character_color_presets
|
||||
|
||||
/datum/species/proc/get_eyes(var/mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
name_language = null // Use the first-name last-name generator rather than a language scrambler
|
||||
mob_size = 9
|
||||
spawn_flags = CAN_JOIN
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR | HAS_SOCKS
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR | HAS_SOCKS | HAS_SKIN_PRESET
|
||||
remains_type = /obj/effect/decal/remains/human
|
||||
|
||||
stamina = 130 // Humans can sprint for longer than any other species
|
||||
@@ -38,4 +38,6 @@
|
||||
inherent_verbs = list(
|
||||
/mob/living/carbon/human/proc/tie_hair)
|
||||
|
||||
zombie_type = "Zombie"
|
||||
zombie_type = "Zombie"
|
||||
base_color = "#25032"
|
||||
character_color_presets = list("Dark" = "#000000", "Warm" = "#250302", "Cold" = "#1e1e29")
|
||||
@@ -43,7 +43,7 @@
|
||||
"Your synthetic flesh crawls in the heat, swelling into a disgusting morass of plastic."
|
||||
)
|
||||
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_EYE_COLOR | HAS_FBP | HAS_UNDERWEAR | HAS_SOCKS
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_EYE_COLOR | HAS_FBP | HAS_UNDERWEAR | HAS_SOCKS | HAS_SKIN_PRESET
|
||||
|
||||
has_limbs = list(
|
||||
"chest" = list("path" = /obj/item/organ/external/chest/shell),
|
||||
@@ -59,6 +59,9 @@
|
||||
"r_foot" = list("path" = /obj/item/organ/external/foot/right/shell)
|
||||
)
|
||||
|
||||
base_color = "#25032"
|
||||
character_color_presets = list("Dark" = "#000000", "Warm" = "#250302", "Cold" = "#1e1e29")
|
||||
|
||||
sprint_temperature_factor = 1.3
|
||||
sprint_charge_factor = 0.85
|
||||
|
||||
|
||||
Reference in New Issue
Block a user