mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-14 19:51:59 +00:00
* tgui Preferences Menu + total rewrite of the preferences backend * nah, we dont need to ping those people * trying to remove the funny stuff * unmodularizing this * prefs reset * this may need to be reverted, who knows * okay, this part * perhaps * EEEEEEEEE * unsanitary * E * Stage 1 + loadout system * more fixes * E * I mean, it launches? * More fixes and reorganisation * E * customisation code is spaget. * disable ERP prefs * Update erp_preferences.dm * Update erp_preferences.dm * E * Slowly getting there * It may be time for help :) * tri...colors... help * preferences now pass preferences * Update dna.dm * Fuck this man * missing savefile return, set_species works, removed dumb stuff from updateappearance * https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224 * https://github.com/tgstation/tgstation/pull/61519 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278 * e * le butonAZARAK HELLO * hhh * Proper recognition where it's due, MrMelbert! * EEEE * examine block * Better gen hit sounds from whitedream * final loadout touches, more bug fixes im sure to come * i said there would be bugfixes * Update LoadoutManager.js * Missing preferences in the html menu * LIVE TESTING PHASE BABY * Update LoadoutManager.js * EEE * LAUNCH TEST FIRE * Update job.dm * Update new_player.dm * 50gb DAY ONE PATCH * EEE * Update preferences.dm * buggle fixes * Update examine.dm * >LOOC starts on Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com> Co-authored-by: Gandalf <jzo123@hotmail.com> Co-authored-by: Azarak <azarak10@gmail.com>
52 lines
2.1 KiB
Plaintext
52 lines
2.1 KiB
Plaintext
/// Requires all preferences to implement required methods.
|
|
/datum/unit_test/preferences_implement_everything
|
|
|
|
/datum/unit_test/preferences_implement_everything/Run()
|
|
var/datum/preferences/preferences = new
|
|
var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human)
|
|
|
|
for (var/preference_type in GLOB.preference_entries)
|
|
var/datum/preference/preference = GLOB.preference_entries[preference_type]
|
|
if (preference.savefile_identifier == PREFERENCE_CHARACTER)
|
|
preference.apply_to_human(human, preference.create_informed_default_value(preferences))
|
|
|
|
if (istype(preference, /datum/preference/choiced))
|
|
var/datum/preference/choiced/choiced_preference = preference
|
|
choiced_preference.init_possible_values()
|
|
|
|
// Smoke-test is_valid
|
|
preference.is_valid(TRUE)
|
|
preference.is_valid("string")
|
|
preference.is_valid(100)
|
|
preference.is_valid(list(1, 2, 3))
|
|
|
|
/// Requires all preferences to have a valid, unique savefile_identifier.
|
|
/datum/unit_test/preferences_valid_savefile_key
|
|
|
|
/datum/unit_test/preferences_valid_savefile_key/Run()
|
|
var/list/known_savefile_keys = list()
|
|
|
|
for (var/preference_type in GLOB.preference_entries)
|
|
var/datum/preference/preference = GLOB.preference_entries[preference_type]
|
|
if (!istext(preference.savefile_key))
|
|
Fail("[preference_type] has an invalid savefile_key.")
|
|
|
|
if (preference.savefile_key in known_savefile_keys)
|
|
Fail("[preference_type] has a non-unique savefile_key `[preference.savefile_key]`!")
|
|
|
|
known_savefile_keys += preference.savefile_key
|
|
|
|
/// Requires all main features have a main_feature_name
|
|
/datum/unit_test/preferences_valid_main_feature_name
|
|
|
|
/datum/unit_test/preferences_valid_main_feature_name/Run()
|
|
for (var/preference_type in GLOB.preference_entries)
|
|
var/datum/preference/choiced/preference = GLOB.preference_entries[preference_type]
|
|
if (!istype(preference))
|
|
continue
|
|
|
|
if (preference.category != PREFERENCE_CATEGORY_FEATURES && preference.category != PREFERENCE_CATEGORY_CLOTHING)
|
|
continue
|
|
|
|
TEST_ASSERT(!isnull(preference.main_feature_name), "Preference [preference_type] does not have a main_feature_name set!")
|