Files
GS13NG/code/modules/mob/dead/new_player/preferences_setup.dm
Poojawa b393789f19 Character Creation Overhaul (#7987)
* Rebase fail. good thing I made back ups. c:

* Tails more or less done

* wouldn't update cleanly otherwise

* It's completly working now. holy fuck I did it

Just need the refurbished body markings done, then to chop 'em up for full PR status

* MARKINGS DONE AAAAAAAAAAAAA

* fixes digi legs that didn't convert correctly

* ports the refractored preferences

Kinda ugly now tbh. but fuckit

* quality sweep, things should should properly now in general

* Taurs converted and improved! BODYMARKING -> MATRIXED

* oops. s'what I get for not compile checking

* remember to throw shade at furries

* vigorously update markings upon switching species and colors

* re-adds old wolf ears, Big Wolf fixes snout bugs

* few more snout tweaks

* cut the lists, cut everything. reeee

* This code I s2g

* Adds context clues to preferences

Hopefully people will read them before making an OOC fuss

* Fixes hands and feet markings with this one weird trick

remember kids, proper layering and order of operations is important

* Sprite tweaking and polishing

Sergal stuff being worked on

* a few QoL things for species swapping

* how the fuck did I miss these markings

* fleshes out sprites in preperation for marking experimentation later

* fixes catboy problems

* Mam_snout is a thing now,

* pixel adjusted tails, cleaned up wah tail a bit better

also gets digitgate legs missing pixels fixed

* cleans up more shit. ree

* force "plain" instead of none to avoid missing pixel reports

* tweaks to reinspire mapdiff

* Clean up Preference UI

Looks a little better now

* k

* doubly ensure None markings aren't valid

* reee spessman barbie

* brightens pixels around tiger head markings

* YEENS

* Cat ears tweaked because it triggers Kev otherwise

* another session of quality control

* Crows and crow accessories

* husk fixes

* works good enough, mission accomplished

* fixes the proc properly

* cleans up brute force code that isn't needed

* c a t
2019-02-22 05:59:05 -08:00

70 lines
2.3 KiB
Plaintext

//The mob should have a gender you want before running this proc. Will run fine without H
/datum/preferences/proc/random_character(gender_override)
if(gender_override)
gender = gender_override
else
gender = pick(MALE,FEMALE)
underwear = random_underwear(gender)
undershirt = random_undershirt(gender)
socks = random_socks()
skin_tone = random_skin_tone()
hair_style = random_hair_style(gender)
facial_hair_style = random_facial_hair_style(gender)
hair_color = random_short_color()
facial_hair_color = hair_color
eye_color = random_eye_color()
if(!pref_species)
var/rando_race = pick(GLOB.roundstart_races)
pref_species = new rando_race()
features = random_features()
age = rand(AGE_MIN,AGE_MAX)
/datum/preferences/proc/update_preview_icon()
// Silicons only need a very basic preview since there is no customization for them.
// var/wide_icon = FALSE //CITDEL THINGS
// if(features["taur"] != "None")
// wide_icon = TRUE
if(job_engsec_high)
switch(job_engsec_high)
if(AI_JF)
parent.show_character_previews(image('icons/mob/ai.dmi', icon_state = "AI", dir = SOUTH))
return
if(CYBORG)
parent.show_character_previews(image('icons/mob/robots.dmi', icon_state = "robot", dir = SOUTH))
return
// Set up the dummy for its photoshoot
var/mob/living/carbon/human/dummy/mannequin = generate_or_wait_for_human_dummy(DUMMY_HUMAN_SLOT_PREFERENCES)
copy_to(mannequin)
// Determine what job is marked as 'High' priority, and dress them up as such.
var/datum/job/previewJob
var/highRankFlag = job_civilian_high | job_medsci_high | job_engsec_high
if(job_civilian_low & ASSISTANT)
previewJob = SSjob.GetJob("Assistant")
else if(highRankFlag)
var/highDeptFlag
if(job_civilian_high)
highDeptFlag = CIVILIAN
else if(job_medsci_high)
highDeptFlag = MEDSCI
else if(job_engsec_high)
highDeptFlag = ENGSEC
for(var/datum/job/job in SSjob.occupations)
if(job.flag == highRankFlag && job.department_flag == highDeptFlag)
previewJob = job
break
if(previewJob)
if(current_tab != 2)
mannequin.job = previewJob.title
previewJob.equip(mannequin, TRUE)
COMPILE_OVERLAYS(mannequin)
parent.show_character_previews(new /mutable_appearance(mannequin))
unset_busy_human_dummy(DUMMY_HUMAN_SLOT_PREFERENCES)