mirror of
https://github.com/Yawn-Wider/YWPolarisVore.git
synced 2026-08-30 00:22:03 +01:00
Merge branch 'release' of https://github.com/VOREStation/VOREStation into izac
This commit is contained in:
@@ -15,8 +15,18 @@
|
||||
if(!islist(pref.alternate_languages)) pref.alternate_languages = list()
|
||||
if(pref.species)
|
||||
var/datum/species/S = GLOB.all_species[pref.species]
|
||||
if(S && pref.alternate_languages.len > S.num_alternate_languages)
|
||||
if(!istype(S))
|
||||
return
|
||||
|
||||
if(pref.alternate_languages.len > S.num_alternate_languages)
|
||||
pref.alternate_languages.len = S.num_alternate_languages // Truncate to allowed length
|
||||
|
||||
// Sanitize illegal languages
|
||||
for(var/language in pref.alternate_languages)
|
||||
var/datum/language/L = GLOB.all_languages[language]
|
||||
if(!istype(L) || (L.flags & RESTRICTED) || (!(language in S.secondary_langs) && !is_lang_whitelisted(pref.client, L)))
|
||||
pref.alternate_languages -= language
|
||||
|
||||
if(isnull(pref.language_prefixes) || !pref.language_prefixes.len)
|
||||
pref.language_prefixes = config.language_prefixes.Copy()
|
||||
for(var/prefix in pref.language_prefixes)
|
||||
|
||||
@@ -37,6 +37,43 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
var/g_wing3 = 30 // Wing tertiary color
|
||||
var/b_wing3 = 30 // Wing tertiary color
|
||||
|
||||
// Sanitize ear/wing/tail styles
|
||||
/datum/preferences/proc/sanitize_body_styles()
|
||||
|
||||
// Grandfather in anyone loading paths from a save.
|
||||
if(ispath(ear_style, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/instance = global.ear_styles_list[ear_style]
|
||||
if(istype(instance))
|
||||
ear_style = instance.name
|
||||
if(ispath(wing_style, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/instance = global.wing_styles_list[wing_style]
|
||||
if(istype(instance))
|
||||
wing_style = instance.name
|
||||
if(ispath(tail_style, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/instance = global.tail_styles_list[tail_style]
|
||||
if(istype(instance))
|
||||
tail_style = instance.name
|
||||
|
||||
// Sanitize for non-existent keys.
|
||||
if(ear_style && !(ear_style in get_available_styles(global.ear_styles_list)))
|
||||
ear_style = null
|
||||
if(wing_style && !(wing_style in get_available_styles(global.wing_styles_list)))
|
||||
wing_style = null
|
||||
if(tail_style && !(tail_style in get_available_styles(global.tail_styles_list)))
|
||||
tail_style = null
|
||||
|
||||
/datum/preferences/proc/get_available_styles(var/style_list)
|
||||
. = list("Normal" = null)
|
||||
for(var/path in style_list)
|
||||
var/datum/sprite_accessory/instance = style_list[path]
|
||||
if(!istype(instance))
|
||||
continue
|
||||
if(instance.ckeys_allowed && (!client || !(client.ckey in instance.ckeys_allowed)))
|
||||
continue
|
||||
if(instance.species_allowed && (!species || !(species in instance.species_allowed)) && (!client || !check_rights(R_ADMIN | R_EVENT | R_FUN, 0, client)) && (!custom_base || !(custom_base in instance.species_allowed))) //VOREStation Edit: Custom Species
|
||||
continue
|
||||
.[instance.name] = instance
|
||||
|
||||
/datum/category_item/player_setup_item/general/body
|
||||
name = "Body"
|
||||
sort_order = 3
|
||||
@@ -238,21 +275,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
pref.r_wing3 = sanitize_integer(pref.r_wing3, 0, 255, initial(pref.r_wing3))
|
||||
pref.g_wing3 = sanitize_integer(pref.g_wing3, 0, 255, initial(pref.g_wing3))
|
||||
pref.b_wing3 = sanitize_integer(pref.b_wing3, 0, 255, initial(pref.b_wing3))
|
||||
if(pref.ear_style)
|
||||
pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style))
|
||||
var/datum/sprite_accessory/temp_ear_style = ear_styles_list[pref.ear_style]
|
||||
if(temp_ear_style.apply_restrictions && (!(pref.species in temp_ear_style.species_allowed)))
|
||||
pref.ear_style = initial(pref.ear_style)
|
||||
if(pref.tail_style)
|
||||
pref.tail_style = sanitize_inlist(pref.tail_style, tail_styles_list, initial(pref.tail_style))
|
||||
var/datum/sprite_accessory/temp_tail_style = tail_styles_list[pref.tail_style]
|
||||
if(temp_tail_style.apply_restrictions && (!(pref.species in temp_tail_style.species_allowed)))
|
||||
pref.tail_style = initial(pref.tail_style)
|
||||
if(pref.wing_style)
|
||||
pref.wing_style = sanitize_inlist(pref.wing_style, wing_styles_list, initial(pref.wing_style))
|
||||
var/datum/sprite_accessory/temp_wing_style = wing_styles_list[pref.wing_style]
|
||||
if(temp_wing_style.apply_restrictions && (!(pref.species in temp_wing_style.species_allowed)))
|
||||
pref.wing_style = initial(pref.wing_style)
|
||||
|
||||
pref.sanitize_body_styles()
|
||||
|
||||
// Moved from /datum/preferences/proc/copy_to()
|
||||
/datum/category_item/player_setup_item/general/body/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
@@ -284,37 +308,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
character.g_synth = pref.g_synth
|
||||
character.b_synth = pref.b_synth
|
||||
character.synth_markings = pref.synth_markings
|
||||
character.ear_style = ear_styles_list[pref.ear_style]
|
||||
character.r_ears = pref.r_ears
|
||||
character.b_ears = pref.b_ears
|
||||
character.g_ears = pref.g_ears
|
||||
character.r_ears2 = pref.r_ears2
|
||||
character.b_ears2 = pref.b_ears2
|
||||
character.g_ears2 = pref.g_ears2
|
||||
character.r_ears3 = pref.r_ears3
|
||||
character.b_ears3 = pref.b_ears3
|
||||
character.g_ears3 = pref.g_ears3
|
||||
character.tail_style = tail_styles_list[pref.tail_style]
|
||||
character.r_tail = pref.r_tail
|
||||
character.b_tail = pref.b_tail
|
||||
character.g_tail = pref.g_tail
|
||||
character.r_tail2 = pref.r_tail2
|
||||
character.b_tail2 = pref.b_tail2
|
||||
character.g_tail2 = pref.g_tail2
|
||||
character.r_tail3 = pref.r_tail3
|
||||
character.b_tail3 = pref.b_tail3
|
||||
character.g_tail3 = pref.g_tail3
|
||||
character.wing_style = wing_styles_list[pref.wing_style]
|
||||
character.r_wing = pref.r_wing
|
||||
character.b_wing = pref.b_wing
|
||||
character.g_wing = pref.g_wing
|
||||
character.r_wing2 = pref.r_wing2
|
||||
character.b_wing2 = pref.b_wing2
|
||||
character.g_wing2 = pref.g_wing2
|
||||
character.r_wing3 = pref.r_wing3
|
||||
character.b_wing3 = pref.b_wing3
|
||||
character.g_wing3 = pref.g_wing3
|
||||
character.set_gender( pref.biological_gender)
|
||||
//YWadd START
|
||||
if(pref.species == "Grey")//YWadd START
|
||||
character.wingdings = pref.wingdings
|
||||
|
||||
@@ -330,6 +324,43 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
if(pref.haemophilia == 1)
|
||||
character.add_modifier(/datum/modifier/trait/haemophilia)
|
||||
//YWadd END
|
||||
var/list/ear_styles = pref.get_available_styles(global.ear_styles_list)
|
||||
character.ear_style = ear_styles[pref.ear_style]
|
||||
character.r_ears = pref.r_ears
|
||||
character.b_ears = pref.b_ears
|
||||
character.g_ears = pref.g_ears
|
||||
character.r_ears2 = pref.r_ears2
|
||||
character.b_ears2 = pref.b_ears2
|
||||
character.g_ears2 = pref.g_ears2
|
||||
character.r_ears3 = pref.r_ears3
|
||||
character.b_ears3 = pref.b_ears3
|
||||
character.g_ears3 = pref.g_ears3
|
||||
|
||||
var/list/tail_styles = pref.get_available_styles(global.tail_styles_list)
|
||||
character.tail_style = tail_styles[pref.tail_style]
|
||||
character.r_tail = pref.r_tail
|
||||
character.b_tail = pref.b_tail
|
||||
character.g_tail = pref.g_tail
|
||||
character.r_tail2 = pref.r_tail2
|
||||
character.b_tail2 = pref.b_tail2
|
||||
character.g_tail2 = pref.g_tail2
|
||||
character.r_tail3 = pref.r_tail3
|
||||
character.b_tail3 = pref.b_tail3
|
||||
character.g_tail3 = pref.g_tail3
|
||||
|
||||
var/list/wing_styles = pref.get_available_styles(global.wing_styles_list)
|
||||
character.wing_style = wing_styles[pref.wing_style]
|
||||
character.r_wing = pref.r_wing
|
||||
character.b_wing = pref.b_wing
|
||||
character.g_wing = pref.g_wing
|
||||
character.r_wing2 = pref.r_wing2
|
||||
character.b_wing2 = pref.b_wing2
|
||||
character.g_wing2 = pref.g_wing2
|
||||
character.r_wing3 = pref.r_wing3
|
||||
character.b_wing3 = pref.b_wing3
|
||||
character.g_wing3 = pref.g_wing3
|
||||
|
||||
character.set_gender(pref.biological_gender)
|
||||
|
||||
// Destroy/cyborgize organs and limbs.
|
||||
for(var/name in list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO))
|
||||
@@ -544,59 +575,47 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
. += "<h2>Genetics Settings</h2>"
|
||||
|
||||
var/ear_display = "Normal"
|
||||
if(pref.ear_style && (pref.ear_style in ear_styles_list))
|
||||
var/datum/sprite_accessory/ears/instance = ear_styles_list[pref.ear_style]
|
||||
ear_display = instance.name
|
||||
|
||||
else if(pref.ear_style)
|
||||
ear_display = "REQUIRES UPDATE"
|
||||
var/list/ear_styles = pref.get_available_styles(global.ear_styles_list)
|
||||
var/datum/sprite_accessory/ears/ear = ear_styles[pref.ear_style]
|
||||
. += "<b>Ears</b><br>"
|
||||
. += " Style: <a href='?src=\ref[src];ear_style=1'>[ear_display]</a><br>"
|
||||
if(ear_styles_list[pref.ear_style])
|
||||
var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style]
|
||||
if(istype(ear))
|
||||
. += " Style: <a href='?src=\ref[src];ear_style=1'>[ear.name]</a><br>"
|
||||
if(ear.do_colouration)
|
||||
. += "<a href='?src=\ref[src];ear_color=1'>Change Color</a> [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]<br>"
|
||||
if(ear.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];ear_color2=1'>Change Secondary Color</a> [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]<br>"
|
||||
if(ear.extra_overlay2)
|
||||
. += "<a href='?src=\ref[src];ear_color3=1'>Change Tertiary Color</a> [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]<br>"
|
||||
else
|
||||
. += " Style: <a href='?src=\ref[src];ear_style=1'>Select</a><br>"
|
||||
|
||||
var/tail_display = "Normal"
|
||||
if(pref.tail_style && (pref.tail_style in tail_styles_list))
|
||||
var/datum/sprite_accessory/tail/instance = tail_styles_list[pref.tail_style]
|
||||
tail_display = instance.name
|
||||
else if(pref.tail_style)
|
||||
tail_display = "REQUIRES UPDATE"
|
||||
var/list/tail_styles = pref.get_available_styles(global.tail_styles_list)
|
||||
var/datum/sprite_accessory/tail/tail = tail_styles[pref.tail_style]
|
||||
. += "<b>Tail</b><br>"
|
||||
. += " Style: <a href='?src=\ref[src];tail_style=1'>[tail_display]</a><br>"
|
||||
|
||||
if(tail_styles_list[pref.tail_style])
|
||||
var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style]
|
||||
if(T.do_colouration)
|
||||
if(istype(tail))
|
||||
. += " Style: <a href='?src=\ref[src];tail_style=1'>[tail.name]</a><br>"
|
||||
if(tail.do_colouration)
|
||||
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]<br>"
|
||||
if(T.extra_overlay)
|
||||
if(tail.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];tail_color2=1'>Change Secondary Color</a> [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]<br>"
|
||||
if(T.extra_overlay2)
|
||||
if(tail.extra_overlay2)
|
||||
. += "<a href='?src=\ref[src];tail_color3=1'>Change Tertiary Color</a> [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]<br>"
|
||||
else
|
||||
. += " Style: <a href='?src=\ref[src];tail_style=1'>Select</a><br>"
|
||||
|
||||
var/wing_display = "Normal"
|
||||
if(pref.wing_style && (pref.wing_style in wing_styles_list))
|
||||
var/datum/sprite_accessory/wing/instance = wing_styles_list[pref.wing_style]
|
||||
wing_display = instance.name
|
||||
else if(pref.wing_style)
|
||||
wing_display = "REQUIRES UPDATE"
|
||||
var/list/wing_styles = pref.get_available_styles(global.wing_styles_list)
|
||||
var/datum/sprite_accessory/wing/wings = wing_styles[pref.wing_style]
|
||||
. += "<b>Wing</b><br>"
|
||||
. += " Style: <a href='?src=\ref[src];wing_style=1'>[wing_display]</a><br>"
|
||||
|
||||
if(wing_styles_list[pref.wing_style])
|
||||
var/datum/sprite_accessory/wing/W = wing_styles_list[pref.wing_style]
|
||||
if(W.do_colouration)
|
||||
if(istype(wings))
|
||||
. += " Style: <a href='?src=\ref[src];wing_style=1'>[wings.name]</a><br>"
|
||||
if(wings.do_colouration)
|
||||
. += "<a href='?src=\ref[src];wing_color=1'>Change Color</a> [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]<br>"
|
||||
if(W.extra_overlay)
|
||||
if(wings.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];wing_color2=1'>Change Secondary Color</a> [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]<br>"
|
||||
if(W.extra_overlay2)
|
||||
if(wings.extra_overlay2)
|
||||
. += "<a href='?src=\ref[src];wing_color3=1'>Change Secondary Color</a> [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]<br>"
|
||||
else
|
||||
. += " Style: <a href='?src=\ref[src];wing_style=1'>Select</a><br>"
|
||||
|
||||
. += "<br><a href='?src=\ref[src];marking_style=1'>Body Markings +</a><br>"
|
||||
. += "<table>"
|
||||
@@ -697,7 +716,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
reset_limbs() // Safety for species with incompatible manufacturers; easier than trying to do it case by case.
|
||||
pref.body_markings.Cut() // Basically same as above.
|
||||
|
||||
|
||||
pref.sanitize_body_styles()
|
||||
|
||||
var/min_age = get_min_age()
|
||||
var/max_age = get_max_age()
|
||||
pref.age = max(min(pref.age, max_age), min_age)
|
||||
@@ -1113,17 +1134,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["ear_style"])
|
||||
// Construct the list of names allowed for this user.
|
||||
var/list/pretty_ear_styles = list("Normal" = null)
|
||||
for(var/path in ear_styles_list)
|
||||
var/datum/sprite_accessory/ears/instance = ear_styles_list[path]
|
||||
if(((!instance.ckeys_allowed) || (usr.ckey in instance.ckeys_allowed)) && ((!instance.apply_restrictions) || (pref.species in instance.species_allowed)) || check_rights(R_ADMIN | R_EVENT | R_FUN, 0, user)) //VOREStation Edit
|
||||
pretty_ear_styles[instance.name] = path
|
||||
|
||||
// Present choice to user
|
||||
var/new_ear_style = input(user, "Pick ears", "Character Preference", pref.ear_style) as null|anything in pretty_ear_styles
|
||||
var/new_ear_style = input(user, "Select an ear style for this character:", "Character Preference", pref.ear_style) as null|anything in pref.get_available_styles(global.ear_styles_list)
|
||||
if(new_ear_style)
|
||||
pref.ear_style = pretty_ear_styles[new_ear_style]
|
||||
pref.ear_style = new_ear_style
|
||||
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
@@ -1155,18 +1168,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["tail_style"])
|
||||
// Construct the list of names allowed for this user.
|
||||
var/list/pretty_tail_styles = list("Normal" = null)
|
||||
for(var/path in tail_styles_list)
|
||||
var/datum/sprite_accessory/tail/instance = tail_styles_list[path]
|
||||
if(((!instance.ckeys_allowed) || (usr.ckey in instance.ckeys_allowed)) && ((!instance.apply_restrictions) || (pref.species in instance.species_allowed)) || check_rights(R_ADMIN | R_EVENT | R_FUN, 0, user)) //VOREStation Edit
|
||||
pretty_tail_styles[instance.name] = path
|
||||
|
||||
// Present choice to user
|
||||
var/new_tail_style = input(user, "Pick tails", "Character Preference", pref.tail_style) as null|anything in pretty_tail_styles
|
||||
var/new_tail_style = input(user, "Select a tail style for this character:", "Character Preference", pref.tail_style) as null|anything in pref.get_available_styles(global.tail_styles_list)
|
||||
if(new_tail_style)
|
||||
pref.tail_style = pretty_tail_styles[new_tail_style]
|
||||
|
||||
pref.tail_style = new_tail_style
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["tail_color"])
|
||||
@@ -1197,17 +1201,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["wing_style"])
|
||||
// Construct the list of names allowed for this user.
|
||||
var/list/pretty_wing_styles = list("Normal" = null)
|
||||
for(var/path in wing_styles_list)
|
||||
var/datum/sprite_accessory/wing/instance = wing_styles_list[path]
|
||||
if(((!instance.ckeys_allowed) || (usr.ckey in instance.ckeys_allowed)) && ((!instance.apply_restrictions) || (pref.species in instance.species_allowed)) || check_rights(R_ADMIN | R_EVENT | R_FUN, 0, user)) //VOREStation Edit
|
||||
pretty_wing_styles[instance.name] = path
|
||||
|
||||
// Present choice to user
|
||||
var/new_wing_style = input(user, "Pick wings", "Character Preference", pref.wing_style) as null|anything in pretty_wing_styles
|
||||
var/new_wing_style = input(user, "Select a wing style for this character:", "Character Preference", pref.wing_style) as null|anything in pref.get_available_styles(global.wing_styles_list)
|
||||
if(new_wing_style)
|
||||
pref.wing_style = pretty_wing_styles[new_wing_style]
|
||||
pref.wing_style = new_wing_style
|
||||
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
|
||||
@@ -62,14 +62,15 @@ var/list/gear_datums = list()
|
||||
|
||||
/datum/category_item/player_setup_item/loadout/proc/valid_gear_choices(var/max_cost)
|
||||
. = list()
|
||||
var/mob/preference_mob = preference_mob()
|
||||
var/mob/preference_mob = preference_mob() //VOREStation Add
|
||||
for(var/gear_name in gear_datums)
|
||||
var/datum/gear/G = gear_datums[gear_name]
|
||||
|
||||
//VOREStation Removal Start - No need for species-based whitelists for species clothes
|
||||
//if(G.whitelisted && G.whitelisted != pref.species)
|
||||
// continue
|
||||
//VOREStation Removal End
|
||||
if(G.whitelisted && config.loadout_whitelist != LOADOUT_WHITELIST_OFF)
|
||||
if(config.loadout_whitelist == LOADOUT_WHITELIST_STRICT && G.whitelisted != pref.species)
|
||||
continue
|
||||
if(config.loadout_whitelist == LOADOUT_WHITELIST_LAX && !is_alien_whitelisted(preference_mob(), GLOB.all_species[G.whitelisted]))
|
||||
continue
|
||||
if(max_cost && G.cost > max_cost)
|
||||
continue
|
||||
//VOREStation Edit Start
|
||||
|
||||
@@ -60,6 +60,18 @@
|
||||
ckeywhitelist = list("aegisoa")
|
||||
character_name = list("Xander Bevin")
|
||||
|
||||
/datum/gear/fluff/charlotte_medal
|
||||
path = /obj/item/clothing/accessory/medal/silver/security
|
||||
display_name = "Charlotte's Robust Security Medal"
|
||||
ckeywhitelist = list("alfalah")
|
||||
character_name = list("Charlotte Graves")
|
||||
|
||||
/datum/gear/fluff/charlotte_medal_2
|
||||
path = /obj/item/clothing/accessory/medal/conduct
|
||||
display_name = "Charlotte's Medal of Conduct"
|
||||
ckeywhitelist = list("alfalah")
|
||||
character_name = list("Charlotte Graves")
|
||||
|
||||
/datum/gear/fluff/charlotte_cigarettes
|
||||
path = /obj/item/weapon/storage/fancy/fluff/charlotte
|
||||
display_name = "Charlotte's cigarette case"
|
||||
@@ -632,6 +644,12 @@
|
||||
ckeywhitelist = list("luminescentring")
|
||||
character_name = list("Briana Moore")
|
||||
|
||||
/datum/gear/fluff/entchtut_medal
|
||||
path = /obj/item/clothing/accessory/medal/conduct
|
||||
display_name = "Entchtut's Conduct Medal"
|
||||
ckeywhitelist = list("littlebigkid2000")
|
||||
character_name = list("Entchtut Cenein")
|
||||
|
||||
// M CKEYS
|
||||
/datum/gear/fluff/phi_box
|
||||
path = /obj/item/weapon/storage/box/fluff/phi
|
||||
@@ -739,12 +757,11 @@
|
||||
character_name = list("Bogen Kellogg")
|
||||
|
||||
// P CKEYS
|
||||
/datum/gear/fluff/zaku_sweatervest
|
||||
path = /obj/item/clothing/suit/varsity/green/sweater_vest
|
||||
display_name = "Zaku's Sweater Vest"
|
||||
slot = slot_wear_suit
|
||||
ckeywhitelist = list("pimientopyro")
|
||||
character_name = list("Zaku Fyodorovna")
|
||||
/datum/gear/fluff/evelyn_medal
|
||||
path = /obj/item/clothing/accessory/medal/conduct
|
||||
display_name = "Evelyn's Medal of Conduct"
|
||||
ckeywhitelist = list("pandora029")
|
||||
character_name = list("Evelyn Tareen")
|
||||
|
||||
/datum/gear/fluff/lily_medal
|
||||
path = /obj/item/clothing/accessory/medal/silver/unity
|
||||
@@ -783,6 +800,13 @@
|
||||
ckeywhitelist = list("pimientopyro")
|
||||
character_name = list("Scylla Casmus")
|
||||
|
||||
/datum/gear/fluff/zaku_sweatervest
|
||||
path = /obj/item/clothing/suit/varsity/green/sweater_vest
|
||||
display_name = "Zaku's Sweater Vest"
|
||||
slot = slot_wear_suit
|
||||
ckeywhitelist = list("pimientopyro")
|
||||
character_name = list("Zaku Fyodorovna")
|
||||
|
||||
/datum/gear/fluff/kiyoshi_cloak
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/fluff/cloakglowing
|
||||
display_name = "glowing cloak"
|
||||
@@ -806,6 +830,18 @@
|
||||
character_name = list("Clara Mali")
|
||||
cost = 1
|
||||
|
||||
/datum/gear/fluff/luna_sci_medal
|
||||
path = /obj/item/clothing/accessory/medal/nobel_science
|
||||
display_name = "LUNA's Nobel Science Award"
|
||||
ckeywhitelist = list("residentcody")
|
||||
character_name = list("LUNA")
|
||||
|
||||
/datum/gear/fluff/luna_conduct_medal
|
||||
path = /obj/item/clothing/accessory/medal/conduct
|
||||
display_name = "LUNA's Distinguished Conduct Medal"
|
||||
ckeywhitelist = list("residentcody")
|
||||
character_name = list("LUNA")
|
||||
|
||||
/datum/gear/fluff/nikki_dorky_outfit
|
||||
path = /obj/item/weapon/storage/box/fluff
|
||||
display_name = "Nikki's Witchy Outfit"
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
description = "Choose from a number of toys."
|
||||
path = /obj/item/toy/
|
||||
|
||||
/* VOREStation removal
|
||||
/datum/gear/toy/New()
|
||||
..()
|
||||
var/toytype = list()
|
||||
@@ -86,7 +87,7 @@
|
||||
toytype["Magic 8 Ball"] = /obj/item/toy/eight_ball
|
||||
toytype["Magic Conch shell"] = /obj/item/toy/eight_ball/conch
|
||||
gear_tweaks += new/datum/gear_tweak/path(toytype)
|
||||
|
||||
*/
|
||||
|
||||
/datum/gear/flask
|
||||
display_name = "flask"
|
||||
|
||||
@@ -9,4 +9,83 @@
|
||||
for(var/ball in typesof(/obj/item/toy/tennis/))
|
||||
var/obj/item/toy/tennis/ball_type = ball
|
||||
balls[initial(ball_type.name)] = ball_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(balls))
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(balls))
|
||||
|
||||
/datum/gear/character/
|
||||
display_name = "miniature selection"
|
||||
description = "Choose from a number of miniatures. From Battlemace 40 million to Grottos and Ghouls."
|
||||
path = /obj/item/toy/character/alien
|
||||
|
||||
/datum/gear/character/New()
|
||||
..()
|
||||
var/list/characters = list()
|
||||
for(var/character in typesof(/obj/item/toy/character/) - /obj/item/toy/character)
|
||||
var/obj/item/toy/character/character_type = character
|
||||
characters[initial(character_type.name)] = character_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(characters))
|
||||
|
||||
/datum/gear/mechtoy/
|
||||
display_name = "mecha toy selection"
|
||||
description = "Choose from a number of mech toys."
|
||||
path = /obj/item/toy/mecha/ripley
|
||||
|
||||
/datum/gear/mechtoy/New()
|
||||
..()
|
||||
var/list/mechs = list()
|
||||
for(var/mech in typesof(/obj/item/toy/mecha/) - /obj/item/toy/mecha/)
|
||||
var/obj/item/toy/mecha/mech_type = mech
|
||||
mechs[initial(mech_type.name)] = mech_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(mechs))
|
||||
|
||||
/datum/gear/toy/New()
|
||||
..()
|
||||
var/toytype = list()
|
||||
toytype["Blink toy"] = /obj/item/toy/blink
|
||||
toytype["Foam dart crossbow"] = /obj/item/toy/blink
|
||||
toytype["Toy sword"] = /obj/item/toy/sword
|
||||
toytype["Toy katana"] = /obj/item/toy/katana
|
||||
toytype["Snap pops"] = /obj/item/weapon/storage/box/snappops
|
||||
toytype["Plastic flowers"] = /obj/item/toy/bouquet/fake
|
||||
toytype["Stick horse"] = /obj/item/toy/stickhorse
|
||||
toytype["Toy X-mas tree"] = /obj/item/toy/xmastree
|
||||
toytype["Fake handcuff kit"] = /obj/item/weapon/storage/box/handcuffs/fake
|
||||
toytype["Gravitational singularity"] = /obj/item/toy/spinningtoy
|
||||
toytype["Water flower"] = /obj/item/weapon/reagent_containers/spray/waterflower
|
||||
toytype["Bosun's whistle"] = /obj/item/toy/bosunwhistle
|
||||
toytype["Magic 8 Ball"] = /obj/item/toy/eight_ball
|
||||
toytype["Magic Conch shell"] = /obj/item/toy/eight_ball/conch
|
||||
toytype["Pet rock"] = /obj/item/toy/rock
|
||||
toytype["Toy flash"] = /obj/item/toy/flash
|
||||
toytype["Big Red Button"] = /obj/item/toy/redbutton
|
||||
toytype["Garden gnome"] = /obj/item/toy/gnome
|
||||
toytype["Toy AI"] = /obj/item/toy/AI
|
||||
toytype["Hand buzzer"] = /obj/item/clothing/gloves/ring/buzzer/toy
|
||||
toytype["Toy nuke"] = /obj/item/toy/nuke
|
||||
toytype["Toy gibber"] = /obj/item/toy/minigibber
|
||||
toytype["Toy xeno"] = /obj/item/toy/toy_xeno
|
||||
gear_tweaks += new/datum/gear_tweak/path(toytype)
|
||||
|
||||
/datum/gear/chewtoy
|
||||
display_name = "animal toy selection"
|
||||
path = /obj/item/toy/chewtoy
|
||||
|
||||
/datum/gear/chewtoy/New()
|
||||
..()
|
||||
var/toytype = list()
|
||||
toytype["Bone"] = /obj/item/toy/chewtoy
|
||||
toytype["Classic"] = /obj/item/toy/chewtoy/tall
|
||||
toytype["Mouse"] = /obj/item/toy/cat_toy
|
||||
toytype["Feather rod"] = /obj/item/toy/cat_toy/rod
|
||||
gear_tweaks += new/datum/gear_tweak/path(toytype)
|
||||
|
||||
/datum/gear/chewtoy_poly
|
||||
display_name = "animal toy selection, colorable"
|
||||
path = /obj/item/toy/chewtoy/poly
|
||||
|
||||
/datum/gear/chewtoy_poly/New()
|
||||
..()
|
||||
var/toytype = list()
|
||||
toytype["Bone"] = /obj/item/toy/chewtoy/poly
|
||||
toytype["Classic"] = /obj/item/toy/chewtoy/tall/poly
|
||||
gear_tweaks += new/datum/gear_tweak/path(toytype)
|
||||
gear_tweaks += gear_tweak_free_color_choice
|
||||
|
||||
@@ -129,6 +129,7 @@
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.load_character(S)
|
||||
|
||||
|
||||
/datum/category_group/player_setup_category/proc/save_character(var/savefile/S)
|
||||
// Sanitize all data, then save it
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
|
||||
Reference in New Issue
Block a user