From 94534f36b617c4aa2e2cef6c2962a10c6f6d48c3 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Sun, 2 Jun 2024 01:40:56 -0500 Subject: [PATCH] Examine text improvments to humans and id cards (#3031) ## About The Pull Request fixes a bug introduced by guest book that shows "this person is ." improve id examines and attack self to be a bit clearer adds a way to quickly figure out the faction of a ship ![image](https://github.com/shiptest-ss13/Shiptest/assets/86381784/40847538-f696-4861-92a8-a3b5a39fd535) ![image](https://github.com/shiptest-ss13/Shiptest/assets/86381784/529d41ce-d142-4893-8d7d-6ce9a1310576) ## Why It's Good For The Game bug fix and makes it much easier to read id cards ## Changelog :cl: tweak: tweaked id card examine information and formating fix: human examine bug when middle aged /:cl: --- code/__HELPERS/names.dm | 100 ++++++++---------- code/game/objects/items/cards_ids.dm | 48 ++++++--- .../mob/living/carbon/human/examine.dm | 3 +- .../mob/living/carbon/human/human_helpers.dm | 31 +++--- .../overmap/ships/controlled_ship_datum.dm | 3 + 5 files changed, 101 insertions(+), 84 deletions(-) diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 7cdaf32b0531..7054c051f707 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -233,64 +233,52 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex) else . += ", " +#define FACTION_SYNDICATE "Syndicate" + #define FACTION_NGR "New Gorlex Republic" + #define FACTION_CYBERSUN "CyberSun" + #define FACTION_SUNS "Student-Union of Naturalistic Sciences" +#define FACTION_SOLGOV "SolGov" +#define FACTION_SRM "Saint-Roumain Militia" +#define FACTION_INTEQ "Inteq Risk Management Group" +#define FACTION_CLIP "CLIP Minutemen" +#define FACTION_NT "Nanotrasen" + #define FACTION_NS_LOGI "N+S Logistics" + #define FACTION_VIGILITAS "Vigilitas Interstellar" +#define FACTION_FRONTIER "Frontiersmen Fleet" +#define FACTION_PGF "Pan-Gezenan Federation" +#define FACTION_INDEPENDENT "Independent" + +#define PREFIX_SYNDICATE list("SEV", "SSV") + #define PREFIX_NGR list("NGRV") + #define PREFIX_CYBERSUN list("CSSV") + #define PREFIX_SUNS list("SUNS") +#define PREFIX_SOLGOV list("SCSV") +#define PREFIX_SRM list("SRSV") +#define PREFIX_INTEQ list("IRMV") +#define PREFIX_CLIP list("CMSV", "CMGSV") +#define PREFIX_NT list("NTSV") + #define PREFIX_NS_LOGI list("NSSV") + #define PREFIX_VIGILITAS list("VISV") +#define PREFIX_FRONTIER list("FFV") +#define PREFIX_PGF list("PGF", "PGFMC", "PGFN") +#define PREFIX_INDEPENDENT list("SV", "IMV", "ISV") + /// List of all ship factions to their prefixes. GLOBAL_LIST_INIT(ship_faction_to_prefixes, list( - "Syndicate" = list( - "SEV", - "SSV", - ), - "New Gorlex Republic" = list( - "NGRV", - ), - "CyberSun" = list( - "CSSV", - ), - "Student-Union of Naturalistic Sciences" = list( - "SUNS", - ), - "SolGov" = list( - "SCSV", - ), - "Saint-Roumain Militia" = list( - "SRSV", - ), - "Independent" = list( - "SV", - "IMV", - "ISV", - "XSV", - ), - "Inteq Risk Management Group" = list( - "IRMV", - ), - "CLIP Minutemen" = list( - "CMSV", - "CMGSV", - ), - "CLIP Government" = list( - "LGSV", - "CGSV", - ), - "Nanotrasen" = list( - "NTSV", - ), - "N+S Logistics" = list( - "NSSV", - ), - "Vigilitas Interstellar" = list( - "VISV", - ), - "Frontiersmen Fleet" = list( - "FFV", - ), - "Saint-Roumaine Militia" = list( - "SRSV", - ), - "Pan-Gezenan Federation" = list( - "PGF", - "PGFMC", - "PGFN", - ), + FACTION_SYNDICATE = PREFIX_SYNDICATE, + FACTION_NGR = PREFIX_NGR, + FACTION_CYBERSUN = PREFIX_CYBERSUN, + FACTION_SUNS = PREFIX_SUNS, + FACTION_SOLGOV = PREFIX_SOLGOV, + FACTION_SRM = PREFIX_SRM, + FACTION_INTEQ = PREFIX_INTEQ, + FACTION_CLIP = PREFIX_CLIP, + FACTION_NT = PREFIX_NT, + FACTION_NS_LOGI = PREFIX_NS_LOGI, + FACTION_VIGILITAS = PREFIX_VIGILITAS, + FACTION_FRONTIER = PREFIX_FRONTIER, + FACTION_PGF = PREFIX_PGF, + FACTION_INDEPENDENT = PREFIX_INDEPENDENT )) /proc/ship_prefix_to_faction(prefix) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 2e93b662799a..9d5623498733 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -180,7 +180,18 @@ /obj/item/card/id/attack_self(mob/user) if(Adjacent(user)) - user.visible_message("[user] shows you: [icon2html(src, viewers(user))] \the [initial(name)] [(!registered_name) ? "(" : "([registered_name]"][(!assignment) ? ")" : ", [assignment])"].", "You show \the [initial(name)] [(!registered_name) ? "(" : "([registered_name],"] [(!assignment) ? ")" : "[assignment])"].") + var/id_message = "\the [initial(name)] " + var/list/id_info = list() + if(assignment) + id_info += "JOB: [assignment]" + if(registered_name) + id_info += "NAME: [registered_name]" + if(id_info) + id_message += id_info.Join(", ") + var/self_message = span_notice("You show [id_message]") + var/other_message = span_notice("[user] shows you: [icon2html(src, viewers(user))] [id_message]") + + user.visible_message(other_message, self_message) add_fingerprint(user) /obj/item/card/id/vv_edit_var(var_name, var_value) @@ -320,33 +331,42 @@ /obj/item/card/id/examine(mob/user) . = ..() - if(registered_account) - . += "The account linked to the card belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr." . += "There's more information below, you can look again to take a closer look..." /obj/item/card/id/examine_more(mob/user) var/list/msg = list("You examine [src] closer, and note the following...") if(registered_name) - msg += "This access card is assigned to [registered_name]." + msg += "NAME:" + msg += "[registered_name]" if(registered_age) - msg += "The card indicates that the holder is [registered_age] years old. [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads 'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO' along the bottom of the card." : ""]" - if(mining_points) - msg += "There's [mining_points] mining equipment redemption point\s loaded onto this card." + msg += "AGE:" + msg += "[registered_age] years old [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads 'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO' along the bottom of the card." : ""]" if(length(ship_access)) + msg += "SHIP ACCESS:" + + var/list/ship_factions = list() + for(var/datum/overmap/ship/controlled/ship in ship_access) + var/faction = ship.get_faction() + if(!(faction in ship_factions)) + ship_factions += faction + msg += "[ship_factions.Join(", ")]" + var/list/ship_names = list() for(var/datum/overmap/ship/controlled/ship in ship_access) ship_names += ship.name - msg += "The card has access to the following ships: [ship_names.Join(", ")]" + msg += "[ship_names.Join(", ")]" + if(registered_account) - msg += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr." - msg += "Alt-Click the ID to pull money from the linked account in the form of holochips." - msg += "You can insert credits into the linked account by pressing holochips, cash, or coins against the ID." + msg += "ACCOUNT:" + msg += "LINKED ACCOUNT HOLDER: '[registered_account.account_holder]'" + msg += "BALANCE: [registered_account.account_balance] cr." + msg += "Alt-click the ID to pull money from the account in the form of holochips." + msg += "You can insert credits into the account by pressing holochips, cash, or coins against the ID." if(registered_account.account_holder == user.real_name) - msg += "If you lose this ID card, you can reclaim your account by Alt-Clicking a blank ID card while holding it and entering your account ID number." + msg += "If you lose this ID card, you can reclaim your account by Alt-click a blank ID card and entering your account ID number." else - msg += "There is no registered account linked to this card. Alt-Click to add one." - + msg += "There is no registered account. Alt-click to add one." return msg /obj/item/card/id/GetAccess() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 59f97d172ad1..64882c75ec4e 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -416,4 +416,5 @@ . = ..() if ((wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))) return - . += list(span_notice("[p_they(TRUE)] appear[p_s()] to be [get_age()].")) + if(get_age()) + . += list(span_notice("[p_they(TRUE)] appear[p_s()] to be [get_age()].")) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index b98466301f63..5d8264c14ac3 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -34,7 +34,7 @@ /mob/living/carbon/human/get_visible_name() if(name_override) return name_override - return get_generic_name(lowercase = TRUE) + return get_generic_name(TRUE, lowercase = TRUE) //Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when Fluacided or when updating a human's name variable /mob/living/carbon/human/proc/get_face_name(if_no_face = get_generic_name(lowercase = TRUE)) @@ -177,7 +177,7 @@ var/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) if((obscured & ITEM_SLOT_ICLOTHING) && skipface || isipc(src)) - return "" + return FALSE switch(age) if(70 to INFINITY) return "Geriatric" @@ -188,27 +188,35 @@ if(40 to 50) return "Middle-Aged" if(24 to 40) - return "" //not necessary because this is basically the most common age range + return FALSE //not necessary because this is basically the most common age range if(18 to 24) return "Young" else return "Puzzling" /mob/living/carbon/human/proc/get_generic_name(prefixed = FALSE, lowercase = FALSE) + var/final_string = "" var/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) var/hide_features = (obscured & ITEM_SLOT_ICLOTHING) && skipface - var/visible_adjective + if(generic_adjective && !hide_features) - visible_adjective = "[generic_adjective] " + final_string += "[generic_adjective] " + var/visible_age = get_age() if(visible_age) - visible_age = "[visible_age] " - var/visible_gender = get_gender() - var/final_string = "[visible_adjective][visible_age][dna.species.name] [visible_gender]" + final_string += "[visible_age] " + + final_string += "[dna.species.name] " + + final_string += get_gender() + if(prefixed) final_string = "\A [final_string]" - return lowercase ? lowertext(final_string) : final_string + + if(lowercase) + final_string = lowertext(final_string) + return final_string /mob/living/carbon/human/proc/get_gender() var/visible_gender = p_they() @@ -218,10 +226,7 @@ if("she") visible_gender = "Woman" if("they") - if(ishuman(src)) - visible_gender = "Person" - else - visible_gender = "Creature" + visible_gender = "Person" else visible_gender = "Thing" return visible_gender diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index b87d3efda187..ec4b78629027 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -436,6 +436,9 @@ SStgui.close_uis(helm) helm.say(helm_locked ? "Helm console is now locked." : "Helm console has been unlocked.") +/datum/overmap/ship/controlled/proc/get_faction() + return source_template.faction_name + /obj/item/key/ship name = "ship key" desc = "A key for locking and unlocking the helm of a ship, comes with a ball chain so it can be worn around the neck. Comes with a cute little shuttle-shaped keychain."