Files
Bubberstation/code/modules/mob/dead/new_player/preferences_setup.dm
T
fb6720c7f9 [SEMI-MODULAR] Customization (#675)
* 1

* a

* aaa

* aa

* aint got no pancake mix

* hhh

* aa

* hhh

* taurssss

* aaa

* organ partss

* genitals wip

* aaaaa

* h

* a

* mutation dna

* fixed limbs rendering

* mammols

* and thats wings and snouts

* a

* markings except they dont render yet oooooh

* woo lots of markingas

* Body marking sets!

* loadout part 1

* marking re-write. part 1 of loadout

* Loadouts, fully functional, but no customization

* Loadouts readyy

* Default features + savefiles

* Examines

* Fixes genital visibility

* Fixes husking colors

* Fixes very custom loadouts

* Fixed organ colors and bepis icon states

* Fixes genitals save/load

* Species part 1

* Just markings

* Voxes!

* Vox fixes, more validation, better randomisation

* markings refactor, languages

* Some fixes

* Missing accessories, some fixes

* Fixes, underwear toggles, examine for kinky bits

* updates code to master

* travis travis travis

* does this help???

* traaaavis

* Update species.dm

* Inches

* missing whitelines

* small fix

* more small fixes

* Preview preference bug fix

* commentomodularization

* Update tails.dm

* hoo boy

* Update preferences_savefile.dm

* Update species.dm

* Lizard fix!

* Update sprite_accessories.dm

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/human_update_icons.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/species.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-09-16 03:40:00 +02:00

149 lines
5.6 KiB
Plaintext

//The mob should have a gender you want before running this proc. Will run fine without H
//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular)
/*
/datum/preferences/proc/random_character(gender_override, antag_override = FALSE)
if(randomise[RANDOM_SPECIES])
random_species()
else if(randomise[RANDOM_NAME])
real_name = pref_species.random_name(gender,1)
if(gender_override && !(randomise[RANDOM_GENDER] || randomise[RANDOM_GENDER_ANTAG] && antag_override))
gender = gender_override
else
gender = pick(MALE,FEMALE,PLURAL)
if(randomise[RANDOM_AGE] || randomise[RANDOM_AGE_ANTAG] && antag_override)
age = rand(AGE_MIN,AGE_MAX)
if(randomise[RANDOM_UNDERWEAR])
underwear = random_underwear(gender)
if(randomise[RANDOM_UNDERWEAR_COLOR])
underwear_color = random_short_color()
if(randomise[RANDOM_UNDERSHIRT])
undershirt = random_undershirt(gender)
if(randomise[RANDOM_SOCKS])
socks = random_socks()
if(randomise[RANDOM_BACKPACK])
backpack = random_backpack()
if(randomise[RANDOM_JUMPSUIT_STYLE])
jumpsuit_style = pick(GLOB.jumpsuitlist)
if(randomise[RANDOM_HAIRSTYLE])
hairstyle = random_hairstyle(gender)
if(randomise[RANDOM_FACIAL_HAIRSTYLE])
facial_hairstyle = random_facial_hairstyle(gender)
if(randomise[RANDOM_HAIR_COLOR])
hair_color = random_short_color()
if(randomise[RANDOM_FACIAL_HAIR_COLOR])
facial_hair_color = random_short_color()
if(randomise[RANDOM_SKIN_TONE])
skin_tone = random_skin_tone()
if(randomise[RANDOM_EYE_COLOR])
eye_color = random_eye_color()
if(!pref_species)
var/rando_race = pick(GLOB.roundstart_races)
pref_species = new rando_race()
features = random_features()
if(gender in list(MALE, FEMALE))
body_type = gender
else
body_type = pick(MALE, FEMALE)
*/
//SKYRAT EDIT REMOVAL END
//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular)
/*
/datum/preferences/proc/random_species()
var/random_species_type = GLOB.species_list[pick(GLOB.roundstart_races)]
pref_species = new random_species_type
if(randomise[RANDOM_NAME])
real_name = pref_species.random_name(gender,1)
*/
//SKYRAT EDIT REMOVAL END
///Setup a hardcore random character and calculate their hardcore random score
/datum/preferences/proc/hardcore_random_setup(mob/living/carbon/human/character, antagonist, is_latejoiner)
var/rand_gender = pick(list(MALE, FEMALE, PLURAL))
random_character(rand_gender, antagonist)
select_hardcore_quirks()
hardcore_survival_score = hardcore_survival_score ** 1.2 //30 points would be about 60 score
if(is_latejoiner)//prevent them from cheatintg
hardcore_survival_score = 0
///Go through all quirks that can be used in hardcore mode and select some based on a random budget.
/datum/preferences/proc/select_hardcore_quirks()
var/quirk_budget = rand(8, 35)
all_quirks = list() //empty it out
var/list/available_hardcore_quirks = SSquirks.hardcore_quirks.Copy()
while(quirk_budget > 0)
for(var/i in available_hardcore_quirks) //Remove from available quirks if its too expensive.
var/datum/quirk/available_quirk = i
if(available_hardcore_quirks[available_quirk] > quirk_budget)
available_hardcore_quirks -= available_quirk
if(!available_hardcore_quirks.len)
break
var/datum/quirk/picked_quirk = pick(available_hardcore_quirks)
var/picked_quirk_blacklisted = FALSE
for(var/bl in SSquirks.quirk_blacklist) //Check if the quirk is blacklisted with our current quirks. quirk_blacklist is a list of lists.
var/list/blacklist = bl
if(!(picked_quirk in blacklist))
continue
for(var/iterator_quirk in all_quirks) //Go through all the quirks we've already selected to see if theres a blacklist match
if((iterator_quirk in blacklist) && !(iterator_quirk == picked_quirk)) //two quirks have lined up in the list of the list of quirks that conflict with each other, so return (see quirks.dm for more details)
picked_quirk_blacklisted = TRUE
break
if(picked_quirk_blacklisted)
break
if(picked_quirk_blacklisted)
available_hardcore_quirks -= picked_quirk
continue
if(initial(picked_quirk.mood_quirk) && CONFIG_GET(flag/disable_human_mood)) //check for moodlet quirks
available_hardcore_quirks -= picked_quirk
continue
all_quirks += initial(picked_quirk.name)
quirk_budget -= available_hardcore_quirks[picked_quirk]
hardcore_survival_score += available_hardcore_quirks[picked_quirk]
available_hardcore_quirks -= picked_quirk
//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular)
/*
/datum/preferences/proc/update_preview_icon()
// Determine what job is marked as 'High' priority, and dress them up as such.
var/datum/job/previewJob
var/highest_pref = 0
for(var/job in job_preferences)
if(job_preferences[job] > highest_pref)
previewJob = SSjob.GetJob(job)
highest_pref = job_preferences[job]
if(previewJob)
// Silicons only need a very basic preview since there is no customization for them.
if(istype(previewJob,/datum/job/ai))
parent.show_character_previews(image('icons/mob/ai.dmi', icon_state = resolve_ai_icon(preferred_ai_core_display), dir = SOUTH))
return
if(istype(previewJob,/datum/job/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, 1, TRUE, TRUE)
if(previewJob)
mannequin.job = previewJob.title
previewJob.equip(mannequin, TRUE, preference_source = parent)
COMPILE_OVERLAYS(mannequin)
parent.show_character_previews(new /mutable_appearance(mannequin))
unset_busy_human_dummy(DUMMY_HUMAN_SLOT_PREFERENCES)
*/
//SKYRAT EDIT REMOVAL END