This commit is contained in:
izac112
2022-10-16 22:52:41 +02:00
501 changed files with 22581 additions and 19177 deletions
@@ -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)