mirror of
https://github.com/Yawn-Wider/YWPolarisVore.git
synced 2026-08-25 14:07:18 +01:00
Merge branch 'release' of https://github.com/VOREStation/VOREStation into izac
This commit is contained in:
@@ -9,14 +9,16 @@
|
||||
/datum/category_item/player_setup_item/general/language/load_character(var/savefile/S)
|
||||
S["language"] >> pref.alternate_languages
|
||||
S["extra_languages"] >> pref.extra_languages
|
||||
testing("LANGSANI: Loaded from [pref.client]'s character [pref.real_name || "-name not yet loaded-"] savefile: [english_list(pref.alternate_languages || list())]")
|
||||
if(islist(pref.alternate_languages)) // Because aparently it may not be?
|
||||
testing("LANGSANI: Loaded from [pref.client]'s character [pref.real_name || "-name not yet loaded-"] savefile: [english_list(pref.alternate_languages || list())]")
|
||||
S["language_prefixes"] >> pref.language_prefixes
|
||||
S["language_custom_keys"] >> pref.language_custom_keys
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/save_character(var/savefile/S)
|
||||
S["language"] << pref.alternate_languages
|
||||
S["extra_languages"] << pref.extra_languages
|
||||
testing("LANGSANI: Saved to [pref.client]'s character [pref.real_name || "-name not yet loaded-"] savefile: [english_list(pref.alternate_languages || list())]")
|
||||
if(islist(pref.alternate_languages)) // Because aparently it may not be?
|
||||
testing("LANGSANI: Loaded from [pref.client]'s character [pref.real_name || "-name not yet loaded-"] savefile: [english_list(pref.alternate_languages || list())]")
|
||||
S["language_prefixes"] << pref.language_prefixes
|
||||
S["language_custom_keys"] << pref.language_custom_keys
|
||||
|
||||
|
||||
@@ -420,3 +420,9 @@ var/list/_client_preferences_by_type
|
||||
key = "CHAT_RLOOC"
|
||||
enabled_description = "Show"
|
||||
disabled_description = "Hide"
|
||||
|
||||
/datum/client_preference/holder/show_staff_dsay
|
||||
description ="Staff Deadchat"
|
||||
key = "CHAT_ADSAY"
|
||||
enabled_description = "Show"
|
||||
disabled_description = "Hide"
|
||||
|
||||
@@ -334,6 +334,12 @@
|
||||
character_name = list("M41L")
|
||||
|
||||
// D CKEYS
|
||||
/datum/gear/fluff/Aku_briefcase
|
||||
path = /obj/item/weapon/storage/secure/briefcase/dealer
|
||||
display_name = "Aku's dealer briefcase"
|
||||
ckeywhitelist = list("defiintelynotarock")
|
||||
character_name = list("Aku Zoles")
|
||||
|
||||
/datum/gear/fluff/dhaeleena_medal
|
||||
path = /obj/item/clothing/accessory/medal/silver/security/fluff/dhael
|
||||
display_name = "Dhaeleena's Medal"
|
||||
@@ -1432,3 +1438,9 @@
|
||||
ckeywhitelist = list ("thedavestdave")
|
||||
character_name = list("Lucky")
|
||||
allowed_roles = "Chaplain"
|
||||
|
||||
/datum/gear/fluff/greek_dress
|
||||
path = /obj/item/clothing/under/fluff/greek_dress
|
||||
display_name = "mytilenean Dress"
|
||||
ckeywhitelist = list("sudate")
|
||||
character_name = list("Shea Corbett")
|
||||
|
||||
@@ -194,6 +194,11 @@
|
||||
path = /obj/item/clothing/suit/storage/apron/overalls
|
||||
cost = 1
|
||||
|
||||
/datum/gear/suit/altevian_apron
|
||||
display_name = "crafters pride apron"
|
||||
path = /obj/item/clothing/suit/storage/apron/altevian
|
||||
cost = 1
|
||||
|
||||
/datum/gear/suit/cyberpunk
|
||||
display_name = "cyberpunk jacket"
|
||||
path = /obj/item/clothing/suit/cyberpunk
|
||||
|
||||
@@ -143,3 +143,11 @@ Talon winter coat
|
||||
hoodies[initial(hoodie.name)] = hoodie
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(hoodies))
|
||||
gear_tweaks += gear_tweak_free_color_choice
|
||||
|
||||
/datum/gear/suit/cyberpunk_recolorable
|
||||
display_name = "cyberpunk jacket (recolorable)"
|
||||
path = /obj/item/clothing/suit/cyberpunk/recolorable
|
||||
cost = 2 //It's got armor, yo.
|
||||
|
||||
/datum/gear/suit/cyberpunk_recolorable/New()
|
||||
gear_tweaks += gear_tweak_free_color_choice
|
||||
|
||||
@@ -291,4 +291,18 @@ Talon jumpsuit
|
||||
var/list/pants = list()
|
||||
for(var/obj/item/clothing/under/pants/altevian/pants_type as anything in typesof(/obj/item/clothing/under/pants/altevian))
|
||||
pants[initial(pants_type.name)] = pants_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pants))
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pants))
|
||||
|
||||
|
||||
//Feminine Colored Jumpsuits.
|
||||
/datum/gear/suit/f_jumpsuit_alt
|
||||
display_name = "Colored Feminine Jumpsuit"
|
||||
path = /obj/item/clothing/under/color/fjumpsuit
|
||||
|
||||
/datum/gear/uniform/f_jumpsuit_alt/New()
|
||||
..()
|
||||
var/list/jumpsuits = list()
|
||||
for(var/jumpsuit_style in typesof(/obj/item/clothing/under/color/fjumpsuit))
|
||||
var/obj/item/clothing/under/color/fjumpsuit/jumpsuit = jumpsuit_style
|
||||
jumpsuits[initial(jumpsuit.name)] = jumpsuit
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(jumpsuits))
|
||||
|
||||
@@ -86,6 +86,23 @@
|
||||
//whitelisted = SPECIES_TAJ
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/mask/altevian_breath
|
||||
display_name = "spacer tuned mask (Altevian)"
|
||||
path = /obj/item/clothing/mask/altevian_breath
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/uniform/altevian_outfit
|
||||
description = "A uniform commonly seen from altevians during their work. The material on this uniform seems to be made of durable thread that can handle the stress of most matters of labor."
|
||||
display_name = "altevian duty jumpsuit selection (Altevian)"
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/uniform/altevian_outfit/New()
|
||||
..()
|
||||
var/list/pants = list()
|
||||
for(var/obj/item/clothing/under/altevian/uniform_type as anything in typesof(/obj/item/clothing/under/altevian))
|
||||
pants[initial(uniform_type.name)] = uniform_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pants))
|
||||
|
||||
// Taur stuff
|
||||
/datum/gear/suit/taur/drake_cloak
|
||||
display_name = "drake cloak (Drake-taur)"
|
||||
|
||||
@@ -2,14 +2,18 @@
|
||||
// The actual modifiers (if used) for these are stored inside code/modules/mob/_modifiers/traits.dm
|
||||
|
||||
/datum/trait/modifier
|
||||
abstract_type = /datum/trait/modifier
|
||||
var/modifier_type = null // Type to add to the mob post spawn.
|
||||
|
||||
/datum/trait/modifier/apply_trait_post_spawn(mob/living/L)
|
||||
L.add_modifier(modifier_type)
|
||||
|
||||
/datum/trait/modifier/is_available()
|
||||
return !!modifier_type
|
||||
|
||||
/datum/trait/modifier/generate_desc()
|
||||
var/new_desc = desc
|
||||
if(!modifier_type)
|
||||
if(!is_available())
|
||||
new_desc = "[new_desc] This trait is not implemented yet."
|
||||
return new_desc
|
||||
var/datum/modifier/M = new modifier_type()
|
||||
@@ -23,6 +27,7 @@
|
||||
|
||||
// Physical traits are what they sound like, and involve the character's physical body, as opposed to their mental state.
|
||||
/datum/trait/modifier/physical
|
||||
abstract_type = /datum/trait/modifier/physical
|
||||
name = "Physical"
|
||||
category = "Physical"
|
||||
|
||||
@@ -195,6 +200,7 @@
|
||||
// 'Mental' traits are just those that only sapients can have, for now, and generally involves fears.
|
||||
// So far, all of them are just for fluff/don't have mechanical effects.
|
||||
/datum/trait/modifier/mental
|
||||
abstract_type = /datum/trait/modifier/mental
|
||||
name = "Mental"
|
||||
category = "Mental"
|
||||
|
||||
|
||||
@@ -5,8 +5,13 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
/hook/startup/proc/populate_trait_list()
|
||||
|
||||
//create a list of trait datums
|
||||
for(var/trait_type in typesof(/datum/trait) - list(/datum/trait, /datum/trait/modifier))
|
||||
for(var/trait_type as anything in subtypesof(/datum/trait))
|
||||
if (is_abstract(trait_type))
|
||||
continue
|
||||
var/datum/trait/T = new trait_type
|
||||
if(!T.is_available())
|
||||
qdel(T)
|
||||
continue
|
||||
|
||||
if(!T.name)
|
||||
error("Trait Menu - Missing name: [T.type]")
|
||||
@@ -141,6 +146,7 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
|
||||
|
||||
/datum/trait
|
||||
abstract_type = /datum/trait
|
||||
var/name = null // Name to show on UI
|
||||
var/desc = null // Description of what it does, also shown on UI.
|
||||
var/list/mutually_exclusive = list() // List of trait types which cannot be taken alongside this trait.
|
||||
@@ -173,6 +179,9 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
|
||||
return result
|
||||
|
||||
/datum/trait/proc/is_available()
|
||||
return TRUE
|
||||
|
||||
// Similar to above, but uses the above two procs, in one place.
|
||||
// Returns TRUE is everything is well.
|
||||
/datum/trait/proc/validate(var/list/current_traits, var/datum/category_item/player_setup_item/traits/setup)
|
||||
@@ -193,4 +202,4 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
for(var/trait in mind.traits)
|
||||
var/datum/trait/T = trait_datums[trait]
|
||||
if(istype(T))
|
||||
T.apply_trait_post_spawn(src)
|
||||
T.apply_trait_post_spawn(src)
|
||||
|
||||
Reference in New Issue
Block a user