allow for undershirts to be ckey-enabled (#30795)

This commit is contained in:
warriorstar-orion
2025-10-26 18:17:32 -04:00
committed by GitHub
parent 2afd734f38
commit 601ff5601e
9 changed files with 22 additions and 4 deletions
+1 -1
View File
@@ -17,7 +17,7 @@
//underwear
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
//undershirt
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f, GLOB.undershirt_full_list)
//socks
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list, GLOB.socks_m, GLOB.socks_f)
//alt heads
+1
View File
@@ -20,6 +20,7 @@ GLOBAL_LIST_EMPTY(underwear_f) //stores only underwear name
GLOBAL_LIST_EMPTY(undershirt_list) //stores /datum/sprite_accessory/undershirt indexed by name
GLOBAL_LIST_EMPTY(undershirt_m) //stores only undershirt name
GLOBAL_LIST_EMPTY(undershirt_f) //stores only undershirt name
GLOBAL_LIST_EMPTY(undershirt_full_list)
//Socks
GLOBAL_LIST_EMPTY(socks_list) //stores /datum/sprite_accessory/socks indexed by name
GLOBAL_LIST_EMPTY(socks_m) //stores only socks name
@@ -10,6 +10,8 @@
var/list/pai_holoform_ckeys = list()
/// Assoc of ckeys that have custom pAI screens. Key: ckey | value: list of icon states
var/list/ipc_screen_map = list()
/// A list of ckeys to available undershirt fluff accessories
var/list/fluff_undershirts = list()
/datum/configuration_section/custom_sprites_configuration/load_data(list/data)
// Use the load wrappers here. That way the default isnt made 'null' if you comment out the config line
@@ -17,6 +19,7 @@
CONFIG_LOAD_LIST(ai_core_ckeys, data["ai_core"])
CONFIG_LOAD_LIST(ai_hologram_ckeys, data["ai_hologram"])
CONFIG_LOAD_LIST(pai_holoform_ckeys, data["pai_holoform"])
CONFIG_LOAD_LIST(fluff_undershirts, data["fluff_undershirts"])
// Load the ipc screens
if(islist(data["ipc_screens"]))
+1 -1
View File
@@ -377,7 +377,7 @@ GLOBAL_VAR_INIT(record_id_num, 1001)
underwear_standing.Blend(new /icon(u_icon, "uw_[U.icon_state]_s"), ICON_OVERLAY)
if(H.undershirt && H.dna.species.clothing_flags & HAS_UNDERSHIRT)
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_list[H.undershirt]
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_full_list[H.undershirt]
if(U2)
var/u2_icon = U2.sprite_sheets && (H.dna.species.sprite_sheet_name in U2.sprite_sheets) ? U2.sprite_sheets[H.dna.species.sprite_sheet_name] : U2.icon
underwear_standing.Blend(new /icon(u2_icon, "us_[U2.icon_state]_s"), ICON_OVERLAY)
+4
View File
@@ -35,6 +35,10 @@
if(!(H.dna.species.name in S.species_allowed))
continue
valid_undershirts[undershirt] = GLOB.undershirt_list[undershirt]
for(var/config in GLOB.configuration.custom_sprites.fluff_undershirts)
if(user.ckey in config["ckeys"])
valid_undershirts[config["name"]] = GLOB.undershirt_full_list[config["name"]]
sortTim(valid_undershirts, GLOBAL_PROC_REF(cmp_text_asc))
var/new_undershirt = tgui_input_list(user, "Choose your undershirt:", "Changing", valid_undershirts)
if(new_undershirt)
H.undershirt = new_undershirt
+1 -1
View File
@@ -1017,7 +1017,7 @@
var/icon/undershirt_s = null
if(undershirt && (current_species.clothing_flags & HAS_UNDERSHIRT))
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_list[undershirt]
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_full_list[undershirt]
if(U2)
var/u2_icon = U2.sprite_sheets && (current_species.sprite_sheet_name in U2.sprite_sheets) ? U2.sprite_sheets[current_species.sprite_sheet_name] : U2.icon
undershirt_s = new/icon(u2_icon, "us_[U2.icon_state]_s", ICON_OVERLAY)
@@ -613,6 +613,9 @@
if(active_character.body_type == FEMALE && SA.body_type == MALE)
continue
valid_undershirts[undershirt] = GLOB.undershirt_list[undershirt]
for(var/config in GLOB.configuration.custom_sprites.fluff_undershirts)
if(user.ckey in config["ckeys"])
valid_undershirts[config["name"]] = GLOB.undershirt_full_list[config["name"]]
sortTim(valid_undershirts, GLOBAL_PROC_REF(cmp_text_asc))
var/new_undershirt = tgui_input_list(user, "Choose your character's undershirt", "Character Preference", valid_undershirts)
ShowChoices(user)
@@ -257,7 +257,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
underwear_standing.Blend(new /icon(u_icon, "uw_[U.icon_state]_s"), ICON_OVERLAY)
if(undershirt && dna.species.clothing_flags & HAS_UNDERSHIRT)
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_list[undershirt]
var/datum/sprite_accessory/undershirt/U2 = GLOB.undershirt_full_list[undershirt]
if(U2)
var/u2_icon = U2.sprite_sheets && (dna.species.sprite_sheet_name in U2.sprite_sheets) ? U2.sprite_sheets[dna.species.sprite_sheet_name] : U2.icon
underwear_standing.Blend(new /icon(u2_icon, "us_[U2.icon_state]_s"), ICON_OVERLAY)
+7
View File
@@ -163,6 +163,13 @@ ipc_screens = [
"Icon State 2",
]},
]
fluff_undershirts = [
{ name = "Shirt Name Here", ckeys = [
"ckeyhere1",
"ckeyhere2",
] },
]
################################################################