mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
108 lines
3.4 KiB
Plaintext
108 lines
3.4 KiB
Plaintext
/datum/preference/choiced/language
|
|
category = PREFERENCE_CATEGORY_MANUALLY_RENDERED
|
|
savefile_key = "language"
|
|
savefile_identifier = PREFERENCE_CHARACTER
|
|
should_generate_icons = TRUE
|
|
should_update_preview = FALSE
|
|
|
|
/datum/preference/choiced/language/create_default_value()
|
|
return "Random"
|
|
|
|
/datum/preference/choiced/language/is_accessible(datum/preferences/preferences)
|
|
if (!..())
|
|
return FALSE
|
|
|
|
return /datum/quirk/bilingual::name in preferences.all_quirks
|
|
|
|
/datum/preference/choiced/language/icon_for(value)
|
|
var/datum/language/lang = GLOB.language_types_by_name[value]
|
|
if(lang)
|
|
var/datum/universal_icon/lang_icon = uni_icon(lang.icon, lang.icon_state)
|
|
lang_icon.scale(32, 32)
|
|
return lang_icon
|
|
|
|
var/datum/universal_icon/unknown = uni_icon('icons/ui/chat/language.dmi', "unknown")
|
|
unknown.scale(32, 32)
|
|
return unknown
|
|
|
|
/datum/preference/choiced/language/init_possible_values()
|
|
var/list/values = list()
|
|
|
|
if(!GLOB.uncommon_roundstart_languages.len)
|
|
generate_selectable_species_and_languages()
|
|
|
|
values += "Random"
|
|
//we add uncommon as it's foreigner-only.
|
|
values += /datum/language/common::name // SKYRAT EDIT ADDITION START - Let's you select common
|
|
values += /datum/language/uncommon::name
|
|
|
|
for(var/datum/language/language_type as anything in GLOB.uncommon_roundstart_languages)
|
|
if(initial(language_type.name) in values)
|
|
continue
|
|
values += initial(language_type.name)
|
|
|
|
return values
|
|
|
|
/datum/preference/choiced/language/apply_to_human(mob/living/carbon/human/target, value)
|
|
return
|
|
|
|
/datum/preference/toggle/language_speakable
|
|
category = PREFERENCE_CATEGORY_MANUALLY_RENDERED
|
|
savefile_key = "language_speakable"
|
|
savefile_identifier = PREFERENCE_CHARACTER
|
|
default_value = TRUE
|
|
can_randomize = FALSE
|
|
should_update_preview = FALSE
|
|
|
|
/datum/preference/toggle/language_speakable/is_accessible(datum/preferences/preferences)
|
|
if(!..())
|
|
return FALSE
|
|
|
|
return /datum/quirk/bilingual::name in preferences.all_quirks
|
|
|
|
/datum/preference/toggle/language_speakable/apply_to_human(mob/living/carbon/human/target, value)
|
|
return
|
|
|
|
/datum/preference/choiced/language_skill
|
|
category = PREFERENCE_CATEGORY_MANUALLY_RENDERED
|
|
savefile_key = "language_skill"
|
|
savefile_identifier = PREFERENCE_CHARACTER
|
|
can_randomize = FALSE
|
|
should_update_preview = FALSE
|
|
|
|
/datum/preference/choiced/language_skill/create_default_value()
|
|
return "100%"
|
|
|
|
/datum/preference/choiced/language_skill/is_accessible(datum/preferences/preferences)
|
|
if(!..())
|
|
return FALSE
|
|
if(preferences.read_preference(/datum/preference/toggle/language_speakable))
|
|
return FALSE
|
|
|
|
return /datum/quirk/bilingual::name in preferences.all_quirks
|
|
|
|
/datum/preference/choiced/language_skill/init_possible_values()
|
|
return list("100%", "75%", "50%", "33%", "25%", "10%")
|
|
|
|
/datum/preference/choiced/language_skill/apply_to_human(mob/living/carbon/human/target, value)
|
|
return
|
|
|
|
/datum/preference/choiced/csl_strength
|
|
category = PREFERENCE_CATEGORY_MANUALLY_RENDERED
|
|
savefile_key = "csl_strength"
|
|
savefile_identifier = PREFERENCE_CHARACTER
|
|
can_randomize = FALSE
|
|
should_update_preview = FALSE
|
|
|
|
/datum/preference/choiced/csl_strength/create_default_value()
|
|
return init_possible_values()[1]
|
|
|
|
/datum/preference/choiced/csl_strength/is_accessible(datum/preferences/preferences)
|
|
return ..() && (/datum/quirk/csl::name in preferences.all_quirks)
|
|
|
|
/datum/preference/choiced/csl_strength/init_possible_values()
|
|
return list("75%", "50%", "25%")
|
|
|
|
/datum/preference/choiced/csl_strength/apply_to_human(mob/living/carbon/human/target, value)
|
|
return
|