mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 15:47:15 +01:00
Makes cham items slightly easier to parse through (#94901)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
This commit is contained in:
@@ -1186,6 +1186,10 @@
|
||||
/// If this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards.
|
||||
var/sechud_icon_state_override = null
|
||||
|
||||
/// A name (eg "Captain") that is "inherent" to this ID card
|
||||
/// If the assigned name matches the inherent name it does not apply the label
|
||||
var/inherent_assigned_name
|
||||
|
||||
/obj/item/card/id/advanced/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_ITEM_EQUIPPED, PROC_REF(update_intern_status))
|
||||
@@ -1288,6 +1292,13 @@
|
||||
is_intern = FALSE
|
||||
update_label()
|
||||
|
||||
/obj/item/card/id/advanced/update_label()
|
||||
if(inherent_assigned_name && registered_name == inherent_assigned_name)
|
||||
name = "[initial(name)][(!assignment || assignment == inherent_assigned_name) ? "" : " ([assignment])"]"
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/card/id/advanced/update_overlays()
|
||||
. = ..()
|
||||
|
||||
@@ -1390,13 +1401,7 @@
|
||||
registered_name = "Captain"
|
||||
trim = /datum/id_trim/job/captain
|
||||
registered_age = null
|
||||
|
||||
/obj/item/card/id/advanced/gold/captains_spare/update_label() //so it doesn't change to Captain's ID card (Captain) on a sneeze
|
||||
if(registered_name == "Captain")
|
||||
name = "[initial(name)][(!assignment || assignment == "Captain") ? "" : " ([assignment])"]"
|
||||
update_appearance(UPDATE_ICON)
|
||||
else
|
||||
..()
|
||||
inherent_assigned_name = "Captain"
|
||||
|
||||
/obj/item/card/id/advanced/centcom
|
||||
name = "\improper CentCom ID"
|
||||
@@ -1491,14 +1496,7 @@
|
||||
desc = "The spare ID of the Dark Lord himself."
|
||||
registered_name = "Captain"
|
||||
registered_age = null
|
||||
|
||||
/obj/item/card/id/advanced/black/syndicate_command/captain_id/syndie_spare/update_label()
|
||||
if(registered_name == "Captain")
|
||||
name = "[initial(name)][(!assignment || assignment == "Captain") ? "" : " ([assignment])"]"
|
||||
update_appearance(UPDATE_ICON)
|
||||
return
|
||||
|
||||
return ..()
|
||||
inherent_assigned_name = "Captain"
|
||||
|
||||
/obj/item/card/id/advanced/debug
|
||||
name = "\improper Debug ID"
|
||||
@@ -1952,22 +1950,6 @@
|
||||
else
|
||||
input_name = "[pick(GLOB.first_names)] [pick(GLOB.last_names)]"
|
||||
|
||||
var/change_trim = tgui_alert(user, "Adjust the appearance of your card's trim?", "Modify Trim", list("Yes", "No"))
|
||||
if(!after_input_check(user))
|
||||
return TRUE
|
||||
var/selected_trim_path
|
||||
var/static/list/trim_list
|
||||
if(change_trim == "Yes")
|
||||
trim_list = list()
|
||||
for(var/trim_path in typesof(/datum/id_trim))
|
||||
var/datum/id_trim/trim = SSid_access.trim_singletons_by_path[trim_path]
|
||||
if(trim && trim.trim_state && trim.assignment)
|
||||
var/fake_trim_name = "[trim.assignment] ([trim.trim_state])"
|
||||
trim_list[fake_trim_name] = trim_path
|
||||
selected_trim_path = tgui_input_list(user, "Select trim to apply to your card.\nNote: This will not grant any trim accesses.", "Forge Trim", sort_list(trim_list, GLOBAL_PROC_REF(cmp_typepaths_asc)))
|
||||
if(!after_input_check(user))
|
||||
return TRUE
|
||||
|
||||
var/target_occupation = tgui_input_text(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels.", "Agent card job assignment", assignment ? assignment : "Assistant", max_length = MAX_NAME_LEN)
|
||||
if(!after_input_check(user))
|
||||
return TRUE
|
||||
@@ -1984,8 +1966,6 @@
|
||||
return
|
||||
|
||||
registered_name = input_name
|
||||
if(selected_trim_path)
|
||||
SSid_access.apply_trim_override(src, trim_list[selected_trim_path])
|
||||
if(target_occupation)
|
||||
assignment = sanitize(target_occupation)
|
||||
if(new_age)
|
||||
@@ -1999,16 +1979,10 @@
|
||||
to_chat(user, span_notice("You successfully forge the ID card."))
|
||||
user.log_message("forged \the [initial(name)] with name \"[registered_name]\", occupation \"[assignment]\" and trim \"[trim?.assignment]\".", LOG_GAME)
|
||||
|
||||
if(!ishuman(user))
|
||||
if(!ishuman(user) || registered_account)
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/owner = user
|
||||
if (!selected_trim_path) // Ensure that even without a trim update, we update user's sechud
|
||||
owner.update_ID_card()
|
||||
|
||||
if (registered_account)
|
||||
return
|
||||
|
||||
var/datum/bank_account/account = SSeconomy.bank_accounts_by_id["[owner.account_id]"]
|
||||
if(account)
|
||||
set_account(account)
|
||||
|
||||
Reference in New Issue
Block a user