From 38d4be4e2e55ffd029ce3e6bffa787651953c148 Mon Sep 17 00:00:00 2001 From: forest2001 Date: Fri, 2 Aug 2024 23:34:29 +0100 Subject: [PATCH 1/7] how many files for one little thing? --- code/__DEFINES/mob_hud.dm | 2 + code/datums/mob_hud.dm | 29 +++++++++ code/modules/admin/admin_verbs.dm | 10 ++- code/modules/admin/tabs/admin_tab.dm | 2 +- code/modules/admin/verbs/mentorhud.dm | 58 ++++++++++++++++++ code/modules/client/preferences.dm | 3 +- code/modules/client/preferences_savefile.dm | 2 +- .../modules/gear_presets/_select_equipment.dm | 2 + code/modules/gear_presets/uscm_ship.dm | 1 + code/modules/mob/dead/observer/observer.dm | 37 ++++++----- .../mob/living/carbon/human/human_defines.dm | 4 +- .../carbon/human/powers/human_powers.dm | 16 ++--- .../mob/living/carbon/xenomorph/Xenomorph.dm | 2 +- icons/mob/hud/hud.dmi | Bin 19605 -> 19928 bytes 14 files changed, 135 insertions(+), 33 deletions(-) create mode 100644 code/modules/admin/verbs/mentorhud.dm diff --git a/code/__DEFINES/mob_hud.dm b/code/__DEFINES/mob_hud.dm index 97cbe0281924..c7f8c360bf22 100644 --- a/code/__DEFINES/mob_hud.dm +++ b/code/__DEFINES/mob_hud.dm @@ -27,6 +27,7 @@ #define HUNTER_CLAN "25" //Displays a colored icon to represent ingame Hunter Clans #define HUNTER_HUD "26" //Displays various statuses on mobs for Hunters to identify targets #define HOLOCARD_HUD "27" //Displays the holocards set by medical personnel +#define NEW_PLAYER_HUD "28" //Makes it easy to see new players. //data HUD (medhud, sechud) defines #define MOB_HUD_SECURITY_BASIC 1 @@ -47,6 +48,7 @@ #define MOB_HUD_HUNTER 16 #define MOB_HUD_HUNTER_CLAN 17 #define MOB_HUD_EXECUTE 18 +#define MOB_HUD_NEW_PLAYER 19 //for SL/FTL/LZ targeting on locator huds #define TRACKER_SL "track_sl" diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm index 33b756fc8447..5ec594507f1c 100644 --- a/code/datums/mob_hud.dm +++ b/code/datums/mob_hud.dm @@ -20,6 +20,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( MOB_HUD_HUNTER = new /datum/mob_hud/hunter_hud(), MOB_HUD_HUNTER_CLAN = new /datum/mob_hud/hunter_clan(), MOB_HUD_EXECUTE = new /datum/mob_hud/execute_hud(), + MOB_HUD_NEW_PLAYER = new /datum/mob_hud/new_player(), )) /datum/mob_hud @@ -161,6 +162,9 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( +/datum/mob_hud/new_player + hud_icons = list(NEW_PLAYER_HUD) + //Xeno status hud, for xenos /datum/mob_hud/xeno hud_icons = list(HEALTH_HUD_XENO, PLASMA_HUD, PHEROMONE_HUD, QUEEN_OVERWATCH_HUD, ARMOR_HUD_XENO, XENO_STATUS_HUD, XENO_BANISHED_HUD, HUNTER_HUD) @@ -668,6 +672,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( holder.overlays += image('icons/mob/hud/marine_hud.dmi', src, "hudmutineer") return + hud_set_new_player() F.modify_hud_holder(holder, src) /mob/living/carbon/human/yautja/hud_set_squad() @@ -840,3 +845,27 @@ GLOBAL_DATUM(hud_icon_hudfocus, /image) var/freeze_found = HAS_TRAIT(src, TRAIT_IMMOBILIZED) && body_position == STANDING_UP && !buckled // Eligible targets are unable to move but can stand and aren't buckled (eg nested) - This is to convey that they are temporarily unable to move if (freeze_found) freeze_holder.overlays += image('icons/mob/hud/hud.dmi', src, "xeno_freeze") + + + +/mob/proc/hud_set_new_player() + return + +GLOBAL_DATUM(hud_icon_new_player, /image) + + +/mob/living/carbon/human/hud_set_new_player() + if(!client || !job) + return FALSE + var/image/holder = hud_list[NEW_PLAYER_HUD] + holder.icon_state = "hudblank" + holder.overlays.Cut() + holder.pixel_y = 8 + var/playtime = get_job_playtime(client, job) + if(playtime <= JOB_PLAYTIME_TIER_1) + if(!GLOB.hud_icon_new_player) + GLOB.hud_icon_new_player = image('icons/mob/hud/hud.dmi', src, "new_player_marker") + holder.overlays += GLOB.hud_icon_new_player + + hud_list[NEW_PLAYER_HUD] = holder + return TRUE diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index aa87f157173c..c45e3e656ca0 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -315,6 +315,13 @@ GLOBAL_LIST_INIT(roundstart_mod_verbs, list( /client/proc/toggle_ob_spawn )) +GLOBAL_LIST_INIT(mentor_verbs, list( + /client/proc/cmd_mentor_say, + /datum/admins/proc/imaginary_friend, + /client/proc/toggle_newplayer_ghost_hud, + /client/proc/toggle_newplayer_ic_hud +)) + /client/proc/add_admin_verbs() if(!admin_holder) return @@ -329,8 +336,7 @@ GLOBAL_LIST_INIT(roundstart_mod_verbs, list( add_verb(src, GLOB.admin_verbs_admin) add_verb(src, GLOB.admin_verbs_major_event) if(CLIENT_HAS_RIGHTS(src, R_MENTOR)) - add_verb(src, /client/proc/cmd_mentor_say) - add_verb(src, /datum/admins/proc/imaginary_friend) + add_verb(src, GLOB.mentor_verbs) if(CLIENT_HAS_RIGHTS(src, R_BUILDMODE)) add_verb(src, /client/proc/togglebuildmodeself) if(CLIENT_HAS_RIGHTS(src, R_SERVER)) diff --git a/code/modules/admin/tabs/admin_tab.dm b/code/modules/admin/tabs/admin_tab.dm index 5f3bc220876c..ff6743e2da66 100644 --- a/code/modules/admin/tabs/admin_tab.dm +++ b/code/modules/admin/tabs/admin_tab.dm @@ -372,7 +372,7 @@ /client/proc/cmd_mentor_say(msg as text) set name = "MentorSay" - set category = "OOC" + set category = "Admin.Mentor" set hidden = 0 if(!check_rights(R_MENTOR|R_MOD|R_ADMIN)) diff --git a/code/modules/admin/verbs/mentorhud.dm b/code/modules/admin/verbs/mentorhud.dm new file mode 100644 index 000000000000..7115b9b7189f --- /dev/null +++ b/code/modules/admin/verbs/mentorhud.dm @@ -0,0 +1,58 @@ +/client/proc/toggle_newplayer_ghost_hud() + set name = "Toggle Markers (Ghost)" + set category = "Admin.Mentor" + set desc = "Toggles observer pref for mentor markers." + + if(!admin_holder || !(admin_holder.rights & R_MENTOR)) + to_chat(src, "Only mentors may use this HUD!") + return FALSE + + var/hud_choice = "New Player Markers" + prefs.observer_huds[hud_choice] = !prefs.observer_huds[hud_choice] + prefs.save_preferences() + + to_chat(src, SPAN_BOLDNOTICE("You toggled [hud_choice] to be [prefs.observer_huds[hud_choice] ? "ON" : "OFF"] by default when you are observer.")) + + if(!isobserver(usr)) + return + var/mob/dead/observer/observer_user = usr + var/datum/mob_hud/the_hud + the_hud = GLOB.huds[MOB_HUD_NEW_PLAYER] + + observer_user.HUD_toggled[hud_choice] = prefs.observer_huds[hud_choice] + if(observer_user.HUD_toggled[hud_choice]) + the_hud.add_hud_to(observer_user, observer_user) + else + the_hud.remove_hud_from(observer_user, observer_user) + +/client/proc/toggle_newplayer_ic_hud(sea_forced = FALSE) + set category = "Admin.Mentor" + set name = "Toggle Markers (IC)" + set desc = "Toggles new player HUD while IC." + + if(!admin_holder || !(admin_holder.rights & R_MENTOR)) + if(!sea_forced) + to_chat(src, "Only mentors may use this HUD!") + return FALSE + + var/mob/living/carbon/human/mentor = mob + if(!ishuman(mentor)) + to_chat(src, SPAN_WARNING("You cannot use this power as a non-human!")) + return FALSE + if(!mentor.looc_overhead) + to_chat(src, SPAN_WARNING("You are not in a mentor role! (Overhead LOOC is disabled!)")) + return FALSE + + var/datum/mob_hud/the_hud + var/chosen_HUD = 3 + the_hud = GLOB.huds[MOB_HUD_NEW_PLAYER] + + if(mentor.inherent_huds_toggled[chosen_HUD]) + mentor.inherent_huds_toggled[chosen_HUD] = FALSE + the_hud.remove_hud_from(mentor, mentor) + to_chat(mentor, SPAN_INFO("New Player Markers Disabled")) + else + mentor.inherent_huds_toggled[chosen_HUD] = TRUE + the_hud.add_hud_to(mentor, mentor) + to_chat(mentor, SPAN_INFO("New Player Markers Enabled")) + return TRUE diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index dd0d406560ab..00fec6452dc8 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -75,7 +75,8 @@ GLOBAL_LIST_INIT(bgstate_options, list( "Medical HUD" = FALSE, "Security HUD" = FALSE, "Squad HUD" = FALSE, - "Xeno Status HUD" = FALSE + "Xeno Status HUD" = FALSE, + "New Player Markers" = FALSE ) var/ghost_vision_pref = GHOST_VISION_LEVEL_MID_NVG var/ghost_orbit = GHOST_ORBIT_CIRCLE diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index f383aade5932..5811c774ca6d 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -365,7 +365,7 @@ owner.typing_indicators = TRUE if(!observer_huds) - observer_huds = list("Medical HUD" = FALSE, "Security HUD" = FALSE, "Squad HUD" = FALSE, "Xeno Status HUD" = FALSE) + observer_huds = list("Medical HUD" = FALSE, "Security HUD" = FALSE, "Squad HUD" = FALSE, "Xeno Status HUD" = FALSE, "New Player Markers" = FALSE) return 1 diff --git a/code/modules/gear_presets/_select_equipment.dm b/code/modules/gear_presets/_select_equipment.dm index 09f20161e18c..982d79fac249 100644 --- a/code/modules/gear_presets/_select_equipment.dm +++ b/code/modules/gear_presets/_select_equipment.dm @@ -121,6 +121,8 @@ . = "???" CRASH("[key_name(new_human)] spawned with no valid paygrade.") + new_human.hud_set_new_player() + return final_paygrade /datum/equipment_preset/proc/load_gear(mob/living/carbon/human/new_human, client/mob_client) diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm index 76b0ea2c9341..b682ab56ecfd 100644 --- a/code/modules/gear_presets/uscm_ship.dm +++ b/code/modules/gear_presets/uscm_ship.dm @@ -594,6 +594,7 @@ new_human.equip_to_slot_or_del(new /obj/item/device/whistle(new_human), WEAR_R_HAND) /datum/equipment_preset/uscm_ship/sea/load_rank(mob/living/carbon/human/rankee, client/mob_client) + mob_client.toggle_newplayer_ic_hud(TRUE) if(rankee?.client?.prefs?.pref_special_job_options[rank]) var/paygrade_choice = get_paygrade_id_by_name(rankee.client.prefs.pref_special_job_options[rank]) return paygrade_choice diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index d4db6bccde83..7f22b52133f5 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -376,35 +376,38 @@ if(!client || !client.prefs) return - var/datum/mob_hud/H + var/datum/mob_hud/the_hud HUD_toggled = client.prefs.observer_huds for(var/i in HUD_toggled) if(HUD_toggled[i]) switch(i) if("Medical HUD") - H = GLOB.huds[MOB_HUD_MEDICAL_OBSERVER] - H.add_hud_to(src, src) + the_hud = GLOB.huds[MOB_HUD_MEDICAL_OBSERVER] + the_hud.add_hud_to(src, src) if("Security HUD") - H = GLOB.huds[MOB_HUD_SECURITY_ADVANCED] - H.add_hud_to(src, src) + the_hud= GLOB.huds[MOB_HUD_SECURITY_ADVANCED] + the_hud.add_hud_to(src, src) if("Squad HUD") - H = GLOB.huds[MOB_HUD_FACTION_OBSERVER] - H.add_hud_to(src, src) + the_hud= GLOB.huds[MOB_HUD_FACTION_OBSERVER] + the_hud.add_hud_to(src, src) if("Xeno Status HUD") - H = GLOB.huds[MOB_HUD_XENO_STATUS] - H.add_hud_to(src, src) + the_hud= GLOB.huds[MOB_HUD_XENO_STATUS] + the_hud.add_hud_to(src, src) if("Faction UPP HUD") - H = GLOB.huds[MOB_HUD_FACTION_UPP] - H.add_hud_to(src, src) + the_hud= GLOB.huds[MOB_HUD_FACTION_UPP] + the_hud.add_hud_to(src, src) if("Faction Wey-Yu HUD") - H = GLOB.huds[MOB_HUD_FACTION_WY] - H.add_hud_to(src, src) + the_hud= GLOB.huds[MOB_HUD_FACTION_WY] + the_hud.add_hud_to(src, src) if("Faction TWE HUD") - H = GLOB.huds[MOB_HUD_FACTION_TWE] - H.add_hud_to(src, src) + the_hud= GLOB.huds[MOB_HUD_FACTION_TWE] + the_hud.add_hud_to(src, src) if("Faction CLF HUD") - H = GLOB.huds[MOB_HUD_FACTION_CLF] - H.add_hud_to(src, src) + the_hud= GLOB.huds[MOB_HUD_FACTION_CLF] + the_hud.add_hud_to(src, src) + if("New Player Markers") + the_hud= GLOB.huds[MOB_HUD_NEW_PLAYER] + the_hud.add_hud_to(src, src) see_invisible = INVISIBILITY_OBSERVER diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index e44106d90abb..4baf7943d984 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -137,7 +137,7 @@ var/last_chew = 0 //taken from human.dm - hud_possible = list(HEALTH_HUD, STATUS_HUD, STATUS_HUD_OOC, STATUS_HUD_XENO_INFECTION, STATUS_HUD_XENO_CULTIST, ID_HUD, WANTED_HUD, ORDER_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, XENO_EXECUTE, HUNTER_CLAN, HUNTER_HUD, FACTION_HUD, HOLOCARD_HUD) + hud_possible = list(HEALTH_HUD, STATUS_HUD, STATUS_HUD_OOC, STATUS_HUD_XENO_INFECTION, STATUS_HUD_XENO_CULTIST, ID_HUD, WANTED_HUD, ORDER_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, XENO_EXECUTE, HUNTER_CLAN, HUNTER_HUD, FACTION_HUD, HOLOCARD_HUD, NEW_PLAYER_HUD) var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us. var/allow_gun_usage = TRUE var/melee_allowed = TRUE @@ -147,7 +147,7 @@ /// A list of all the shrapnel currently embedded in the human var/list/atom/movable/embedded_items = list() - var/list/synthetic_HUD_toggled = list(FALSE,FALSE) + var/list/inherent_huds_toggled = list(FALSE,FALSE, FALSE) var/default_lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE diff --git a/code/modules/mob/living/carbon/human/powers/human_powers.dm b/code/modules/mob/living/carbon/human/powers/human_powers.dm index fef87c2f3263..e9d98dbee6b7 100644 --- a/code/modules/mob/living/carbon/human/powers/human_powers.dm +++ b/code/modules/mob/living/carbon/human/powers/human_powers.dm @@ -269,22 +269,22 @@ if(usr.is_mob_incapacitated()) return - var/datum/mob_hud/H + var/datum/mob_hud/the_hud var/chosen_HUD = 1 switch(hud_choice) if("Medical HUD") - H = GLOB.huds[MOB_HUD_MEDICAL_ADVANCED] + the_hud = GLOB.huds[MOB_HUD_MEDICAL_ADVANCED] if("Security HUD") - H = GLOB.huds[MOB_HUD_SECURITY_ADVANCED] + the_hud = GLOB.huds[MOB_HUD_SECURITY_ADVANCED] chosen_HUD = 2 else return - if(synthetic_HUD_toggled[chosen_HUD]) - synthetic_HUD_toggled[chosen_HUD] = FALSE - H.remove_hud_from(src, src) + if(inherent_huds_toggled[chosen_HUD]) + inherent_huds_toggled[chosen_HUD] = FALSE + the_hud.remove_hud_from(src, src) to_chat(src, SPAN_INFO("[hud_choice] Disabled")) else - synthetic_HUD_toggled[chosen_HUD] = TRUE - H.add_hud_to(src, src) + inherent_huds_toggled[chosen_HUD] = TRUE + the_hud.add_hud_to(src, src) to_chat(src, SPAN_INFO("[hud_choice] Enabled")) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index eed2dce5f7a8..c4a0d4a9e720 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -45,7 +45,7 @@ see_in_dark = 12 recovery_constant = 1.5 see_invisible = SEE_INVISIBLE_LIVING - hud_possible = list(HEALTH_HUD_XENO, PLASMA_HUD, PHEROMONE_HUD, QUEEN_OVERWATCH_HUD, ARMOR_HUD_XENO, XENO_STATUS_HUD, XENO_BANISHED_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, HUNTER_HUD) + hud_possible = list(HEALTH_HUD_XENO, PLASMA_HUD, PHEROMONE_HUD, QUEEN_OVERWATCH_HUD, ARMOR_HUD_XENO, XENO_STATUS_HUD, XENO_BANISHED_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, HUNTER_HUD, NEW_PLAYER_HUD) unacidable = TRUE rebounds = TRUE faction = FACTION_XENOMORPH diff --git a/icons/mob/hud/hud.dmi b/icons/mob/hud/hud.dmi index 8d89fb7812641ce67d21d1cef9030c877f33e7e9..6e1ec6cdd3584f5a64fbb8530c35041a17ff6217 100644 GIT binary patch literal 19928 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

3KY#c3i_qtcMNL$#nFfEtP$(g~@;0yB^V5 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 Date: Fri, 2 Aug 2024 23:54:38 +0100 Subject: [PATCH 2/7] levels and include fix --- code/datums/mob_hud.dm | 26 ++++++++++++++++++++++---- colonialmarines.dme | 1 + icons/mob/hud/hud.dmi | Bin 19928 -> 20228 bytes 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm index 5ec594507f1c..dcec4c42915e 100644 --- a/code/datums/mob_hud.dm +++ b/code/datums/mob_hud.dm @@ -851,21 +851,39 @@ GLOBAL_DATUM(hud_icon_hudfocus, /image) /mob/proc/hud_set_new_player() return -GLOBAL_DATUM(hud_icon_new_player, /image) +GLOBAL_DATUM(hud_icon_new_player_1, /image) +GLOBAL_DATUM(hud_icon_new_player_2, /image) +GLOBAL_DATUM(hud_icon_new_player_3, /image) /mob/living/carbon/human/hud_set_new_player() + if(!GLOB.hud_icon_new_player_1) + GLOB.hud_icon_new_player_1 = image('icons/mob/hud/hud.dmi', src, "new_player_marker_1") + if(!GLOB.hud_icon_new_player_2) + GLOB.hud_icon_new_player_2 = image('icons/mob/hud/hud.dmi', src, "new_player_marker_2") + if(!GLOB.hud_icon_new_player_3) + GLOB.hud_icon_new_player_3 = image('icons/mob/hud/hud.dmi', src, "new_player_marker_3") if(!client || !job) return FALSE var/image/holder = hud_list[NEW_PLAYER_HUD] holder.icon_state = "hudblank" holder.overlays.Cut() holder.pixel_y = 8 + var/total_time = client.get_total_human_playtime() var/playtime = get_job_playtime(client, job) + var/marker = GLOB.hud_icon_new_player_3 + + var/low_time = FALSE + if(total_time < JOB_PLAYTIME_TIER_2) + marker = GLOB.hud_icon_new_player_2 + low_time = TRUE + if(playtime <= JOB_PLAYTIME_TIER_1) - if(!GLOB.hud_icon_new_player) - GLOB.hud_icon_new_player = image('icons/mob/hud/hud.dmi', src, "new_player_marker") - holder.overlays += GLOB.hud_icon_new_player + if(low_time) + marker = GLOB.hud_icon_new_player_1 + else if(!low_time) + return FALSE + holder.overlays += marker hud_list[NEW_PLAYER_HUD] = holder return TRUE diff --git a/colonialmarines.dme b/colonialmarines.dme index d4c8bf6ce6e3..54b00898b0a0 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -1457,6 +1457,7 @@ #include "code\modules\admin\verbs\getlogs.dm" #include "code\modules\admin\verbs\load_event_level.dm" #include "code\modules\admin\verbs\map_template_loadverb.dm" +#include "code\modules\admin\verbs\mentorhud.dm" #include "code\modules\admin\verbs\mob_verbs.dm" #include "code\modules\admin\verbs\mooc.dm" #include "code\modules\admin\verbs\noclip.dm" diff --git a/icons/mob/hud/hud.dmi b/icons/mob/hud/hud.dmi index 6e1ec6cdd3584f5a64fbb8530c35041a17ff6217..27ebc9b9915c39d6cf4e017cebde19ffe5276507 100644 GIT binary patch literal 20228 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

;t>3t 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

3KY#c3i_qtcMNL$#nFfEtP$(g~@;0yB^V5 zlA%{MplSny`jHD&s=?-(n4N5e`9zpqC-N8or!RUGqg62TDme@$ZW^(f` zaXP2k)QM*M-r_%#&pJtAk8I~|smgbLDy8A<86&tkWB+brQC}5OQ=rb^hh4rkbRv)8 zD=W?(UnNyYIEqb} z7szB~V`VbF$Ia9#;Mu@fWQv5oy2qHwpav>BWAPm7Gmg3^xFUEDr|ns7!c@<%Q}(Z@ ziZ5a_S%4bJU|ufdYoz5n@~ld`^nxO`q=Z|wy?y;Xy!hJAdTttzmD4)Kj+^)Dk!B-d z7U^9Y+{lR`3BHNeTc=6A`>}D>a`a84pZ(3@!u*O2su3W@-_V9Ftm6!>&|~%hF00T1$zo*TMJ67*-YTU<4>Vv-xD72rG_n%@j|me zmR62)2Q#jAA|}c6Dlw&wI9J zm6c=e#xsU@dWiOXd=B>5E0=1qH}#HdNVUy%m(38cr#-h zX?ju1@y%hOEjwX8)BW)gT8{!J@WWppYIluRg@X&kB=(C8NNn{kv38@Y8)xQwY$K@) zui=oIQmM11NK$@@(I1)pylVGBD`ZO*1C6KYgWQbR8qc~MKKggO>_Vrle=&zVG$wI~fTTxE^y7D) zG|@)Ak)n~ELEl;x6ce>+mcX9-kEfIpKZxgI-`AuLA&NL2xok+g+`=QX)t7% zZbF=l=_@_iNR17%Ni-fk5a42wruGLat@Y7O)*wV@k1v#|b27$-8F*qzL^1Vyj_#iJs4;Ug| z`dLtXJz){M*6*!I%8urPrZ>lqF)aC^1L?@W&QD0a>rw0-9>>Q>A!(#&(LbhTo{|e( zeJ!bH_cTBE#-5^GY0YXMA?vfeEW2#F0ITl%mjQ-G>*SOrf}T?S*)vzbnCm|rrX!na z#=mbr#deL2#acc#>0CXtp7x{0HS}gT032~C3^KZe-2n4I^e^qd{r9*QDSnvnr5zmJ zYP%ktE}Qt{5=dWgILiw?d+G!1vU_Nis+B7I>%~7mp1pDp?YPi@&e>}kj6tq?$CAW z<(}nwvyNO=w)%oF;-H@?W~FQ-1n1xbD6ebvc|2steTh^YH?Y`7T?!lkf$J%`pQ&A+fN*S)Y$Oi31wtza2belQH4G& zq=;(%Lyi1xG^;{c_SKJBSHP&3IwB0LIuSxnzsYa0_{%i~y`6KJ+SlK$IqRJ1UoBS^ z^$dQ>sTKI{qy?27h(!z*?_9(K=VJ7P2GJVg#`3>RFCf5-{GcU zr_Q(vMD1A==3V?3brxSUCWK}m?hX$&4Jr-_SsLHK+{3JM15=gi2qHH?sUT1Nc))R8 z6(7hkcQPJg(pfpda-Ul9uW@AQcH1xe_erhYd$7ybBk=S~!=q?okl(5{)Mldf<2VtoK6O@|CRRvynt{%e@SHLUQomhQLjU+en$ac~^_YGWeVkRhs(gmQH zMZ(dn^;=HNFBpbM&Afx!77<`Flgjn4S;!+s|CtP4u>S|)!S1Xj?&QUxFMu)AQF)}m zQ2;1rMoOY}V02$OY3m>mcyeB5>$SDU(s|@@H30U=s?SLxhg#@Q*i$db)ZneYD5bMA zkVZ70(8E|(APHp5kmnXEw%4wgMwx7)qUc%@yJ8wl;f`8gvG^gy!E9s>!D=z>8=1-A zO&l=x(UY?q%K9gjV|>O4w3!_~u%pP6x>LEJ4Nf8j%hRtXG-dE9=aEjiOi7=Z=}Pxe z*e?tm_&UVG`GETN+*{}epcixe8~_Vxv1NzgvLcrxmUs-v7Y@IMajx11tjZlF5@&A7R>jL0FU=21APzA2M!A9q-^s#Uy zZMPkDaU9osZ>%12%@w%y@9{IZ4PY4`0v6d=gB2o#gGHP0ExlXw0Q=Li;+qu%M1D$@ zo(5q5pUs24Ip!J)r|RCGxYSw>LBeKuEyq6_POQG(TkZP$DmTlXCbK1g?L2ehc-gJn zHLM>rRiWc73dz{otSfhg)IKNhz;G(cKiRvB%db@K|F%VZ3lahLdP5ayul4H23wMY> zFxP+5V($Z5mU2~?5&YQH?E+zdeKP=CIgGTO|8 zUArD|h=#5xm0Uomz*t6vIf;QxW4VIGg1R$OV#?I)Zrj}@_!sq8RY3s;HFjJYDkZM^ zbG5vg$Lc>_6)s3A2Qv;HYgR4kz%afF2is+9U{fkp|Ec>5y=(YH0 z`HdU_fSTFCH*WWyrmB*kJ%&DABl;}NbiP%cH_&_o>dt*@U9FpDTxToZL5onKKie&O zE7ra1Dj{-@wmSg{`kRX1vM` z63D)>m0Oy)o%Da9L+Psq0#vkh$P6{(f%$)%dJ~F&><6e1qL)h>Mk9-ZFX z*Du~6%G?D?!|Gr0TS#!L8G=zuj>hWDGb^T8^0l7R%ia>LzX~xzv;OqC11H75Mcu%u z1~e@!$-j&Mg+5AP*GqfwkC*m)FEdvCI_VQ!F#G)==xqUfVcsGJ=l?omsAQ9wI(pOM z9q8BeYp#6RV0j_*2$B2EdZ6?ixMw`jLbE zM^|YwwhVekCF{o^P|#tczcPLw84waDa&uBHsTlaF!sz{GEP$k@S%zfcIExs*N$6uO zd-qE7di>#SPmk(z$G%uYNC(Xfj5cI01NMucKPDfZd6*+z5<()c3}_snI9=c*UzrOmiK#an~1o&H$}Fq!#}@Qbx+H37h1EI{uwQMeK)ydtClmjo{o@lHEO zaK))zb$~^oQb1YdA#!&&i&TvSR3b{3c2*dlE%$$N{we9=ckP8`m8;lbHcNMbd<29~ z^xE_J4h8RGPJCZMkI5S1mteaz#2 zK_r%BsIK`a1*}JGWi^w2zVv!*de-W+w1)vWEt~~F5k6Y@0vMqnII>Yafml}8tUH+X zl^x;C4{_kegk4t^3|RD8j*hj{C|bRe8u>2OTxz zkKnEZxW!h2k}t_)a`L*bxcGij?Tzd7`|r-Vt5xPb`N4@Q@vs}l*hQYZS3Bgld&i}3 zwsUnMAN9qv=F9are?D5NM!(?bZ-RuZLs4+(ypoIc)0(&b5YIhFJ@3yrO+1UQ%R4X(>4-Xi{%KO$Gg%(aNobGQpF+7S3Q2nW*V zN57QeNWHg%pvEiwl28U9Y8FO zd(oLMYNxv2{)U5sG-+;}bE`OjpuYjpA-zF6kAgzDdr4pWerO>~6y{}WgUW88y%j!O zMQx9?^ zlr3Bi%2?36TEP+i;WLFj6H5;XTK1Uupsz7sz*+OlBZHivzTLOBNohiTWe|9eKCne} z9>p;P3C-v3jwfRyZafs5L>9(Fs1xj+*AU|3!!EUS71stx0MkM24|{3sy(DR;cB#jt z_8drO=mpF%$7wm8oI^}97LjY3{wZXa(u~Bf<0Y&Q#YJ8diZ5*(U%Me>KDZTj*T*;g zK#{j;@DFk1MD359osCv4C_TT{m450N<%P2Nr1Ob6Q1~89^UOY~-M90~CXTA)hb5ov zHRG>Vqn1m?>vYij1r@jh!mHlDCa z%9YjH6jldZ;`VQ&+7ZyrGgX#`t;-jfcU8;@;xTTa(q@5_(ICtUdV-<2?>KB&6_nIN zi;5V?@&&Z4{JtSujskqGUszLExBJjAJmSva>G ze`4%kvdNVBB4|h}WKnqHa2H{+kff$|ewE{}I+A+?l*jj<-7mA$o=)8xX_f?6Z1V6E z0LDe@MHqi_7ya%hyKK{sWgZ{KBs8JQnQ{u$voYig7A-s9HG>>KJOWWWn)ps1OytC| z6Z^(kM2jZx1;5PsNdt4dZCqNsz>x70Jp;@|i}_NM#5sW_NiPPNU@E!7#|B)AFJTZa z`2MiYYdl~Vzycc;n4v>mIOg;pTCX53)+AuFL3qG$>nO{@=#G72JIl1mEkTK`!9C*; zz-`Juplqq94VT6P2cgtjipnfA@BC`L^gk-wRH9_7l( z&7QTz0;K4SGny;FZ7i}PY?1?bD&@_9j4Fd+pS^`-AW;A5&L#u2!N1O327op};mo92 z5YsT%%@XdQ0lL+CPjP!n)1kCQavdJ=8#l|{pyju3zicE6urlM%0QcKZOhAwTED<{y$OS{C`{C8VPPYcvEgrhBECq9XSWReHxD|T$uHy4p$cq zBE5^i;-V~tT@WTWm`Vr>EyJ#;TL0Op@^xMG#W9rDtnDN~3f zt_UVW`nUGy)X{ZYQDaeS6_7NY=^7c^bJL01n0)b5rpuFFQ-_MeqwZre(Du2b>sa6M zsvn{BzTRrt3?#JjOG?*9qO=nCDDo&J%vj3g57HSq5i{^k6 zN>6o=*mCFGTVK)-=iBo0y&poPDLEh+F$wwA>nL^lRq}`9$gHwKWFCbcp@H8tJPEa? zAo#LDc$3&Y%E%(#3$Z~asz7%rvWe^PpJMVz0`gX6S7GNx0wz|fmYFUTf9vubOc{Fi z^gCKuGe)N5LIQs@x7xii>C}IUhF?U^9Pjt_utr?jq-^-lIg@e^yqk54SO7pgB(1A) z!jM6b`?^>VDzq)FRx}QY9`F*?OolVNIR$N75xg2et2_fmvs<=3EW2*GYUKkhA@6>a z4?>v>vV+=@Cr6~S)gcJ!^6n>pV<|s|X9p+j`$Rzw z<&Y<8_wVpq6=$o$fHiwBXyCnZo{Rx_#&oPcg0h>w0X(*ZME{NY`TwK#{(mc(so_@{ z4`*I~tfb8ui|<@&dnJ7x{FNA#(LQrBBXE^RneygqiSPL3cxo)}sC1aqW_xzpax=*e zWjTeQag=I}&4NPPx&JY`3$>82_I$XAJhicX5?f3Ku?tdj4IW3JZfBpb%7o;D-BB;^ zHuf-lIo-}|ZOJd@X2qCBx8f?(&~4y{g*n4X8Jl_S{&1sSYB)r+NKfNo!4t%TQQ8;E zFfy9e(3iqKP8?gz+EIbp7C#A0X%Z5Rli}j+_pN8+lJDQTd$tM~L3m0T_7|>Pwiv5{ zBDAG^GumxWG5%2bXt{Z_re3-#%G6jntow_U@6gT}iwSy*1YU;@YJ@Raka+9#^|g#o zHFVm@$02GqnDvT3!==4>?Vf{B!^ZtG^M2}0ZS8VnB+tDyDEDi< zsL_r?5N@P$UkRxP+K?ik2<$sn6{trVjQn`ri z;J7OTb|$^;7?-Ii<7^oMGmRKryIr8;emKJoocmI*Z(SIbM$)p86JL?M|+UTK5f4`X58Lq)YXCYoR(b9L;D=K zqu}NO{#eJ6c5Q?jS$i#GR>oRMPX_zNqSvCVZ+Tk+e;t7te4kGZL@7!y!d0PNS5w&1 z>J+9b+-c!TLwh`{1KrvnVBedo`#1AvK*{pAj{G{Az10#AuNIq6Q!x9XwGu6dXC#9X z5NYk2ksA#eBRCWyk<2U8Ea5%-D@>>CcY5+PU5{Bo!H5A=u>9nVq1lS9)-HJU^;7{U zQ-&fkEGfy0pcoa-*pXZ;334Ovb=Y{GJt;t7`G>w z9!w(1_%B-4QD3i2WOFsHND~~Pi~(|?3&XGg$(0G1YK1L6*#G;oCjEfMk2~#XYe@EF#ezIj-v~zay)R8@2Jn?hC28W1 zl6eio!JIjqo{ z6P`FQLX0Q#geS{5R~f5;*B`epAR;g0_YvBC$`5yS=?h+Y=l$(1l4334qpqZ+j!4wH z(H~5)rr`t{m%%xbp6sBWTvkIa|5_Y#V%$z^eiIlniu}o}^N+kKwXW97d9m@6J9-0o z<8)WD|0@t%Qgq;$REZ~}ucQWla<4Y(|LMC0Ag7iNOXJ86fqBqjXc5$~szNfCf7+*X%aeEXK4lbV(#uCw0Be zD;>^O{n3x}mS!b;8j5}S3u`QjUE|T`ltAJ&pn8?$?_5;65;1Mgc*n(iY>i?jvd44y z*_$b`D)&~9(ks+<@DPXxlCwJw!6^@Y;~H! zn-m&4D+ZSCJFne8jPkcCXD^I~sIhJQiiym7$7q^_ zc`UYfRqq+ZA3R5Ltxh4A-Z?$gv+SpRqyHiL@ao)Ka zO=mZ3rFM>AE<)Y>n3fTA@Dzb!J_vIUy8UTsr3P~*c7yDq4)q>I9&)h+> zXcMBHTWBMQt{Tm9N(_ZdRlh;yHuyt$ zvY!Khow&kc9Q>f>;wzy&j)mah37jHymETp)o(QlOu_re3+I037pK{=GB%Do4{n&9J z*!>C%{~^=H$k3KPTw&+j))p9a0g|^2L+ZB+RH&@KE^)j0=oEv+TuaM87Y4IrxxuQ2 zLDlp9nHu>q)TO78d@1 zL&)>P%(E|RHrmL6S?O1MB!l%10>GtHV5xFL0krU!8&BE)5AV|G=c&1WS$Xg4M#=39SF83Fj9RShaGBOC|0FR=&~kbAB43 z(<$pdEua-`>80sw*I7=3VPs308E_D^d!WrzD02REZk*v+!|B?32N5TuGm-)D!jpFx z!&9*nJ=bC^j7yT070d6Zog0Syistrsz>S&Ao#N| zHMWJ3TzMBa zub<-wy^XY!+%ppCZbocJezLTAakiMSlsxfUrkb>mPe;r_p0fg?PmuS-O6G)BDeP%` zK}|m8)$7S=Z~P^=3GZ;DOAov)sa& z3VcnkQRC0Prt5QX!Oltsf~`0mMud4+!MB2?J%gh@fz^WyZhoNZ>h1$h5WBz{tjiBO ze|Sbasd8;-mmH3?<0gR-EtP4=>znfv-9gallT@38Svs>^{?Wk)XpvxcVVcCse+`i% zGSET4DvbnF*PzGa#~tUbF?q$2;ljsm(4pz3@-Qp%J$--RjUiowqo6AemqX5BApVO3 z7)j9gm8_4mUuMW;1L1r`9jhHVSFi=%8H6n)Z7|2mObWdgUqlm>1br!e%w5c<%S#Ly zosW0U5^X_Ma}8(uRR50v)sF&sC%=2h>LU-?PQEX9@8Pe6gwg+`w%7eobOhmZT^Z^c z?^kZ79-rF8Vzv{?OKhrlR*=ZAE#V_J;^OYNaIJdeL6`Tx!a~(5AEktb2HLLGJz2~k z!j%|15wD0D;6J<@rkn`C?Jj?T zJVb$$6LOTUChDQA&*VDa`&2>uN^6z?`%tf7Y)zNa&~8Iw#Y|<;U3?(lMw!Uv$RT5~ zW_HKUp%|*#LTx$nZvhKnDqlr}m_SLA+{W?gq{nVJ(jmf9sUaqVuqymFoY z`*X*$N)I5H)NXW%^j*9AGhC?8NCLh$v?a!AHNIz=%qYvAk6>9YRa`w%40cpXTbyBj zq9^Fp%xsN(NPfe~&dF0%qGz5d?298}`9`6mSa8C9zoHvPc5gRHWZcYL{)hg9T%wPP zFYS{}nYkHyYme( zOjuXFkO~X{jyCU_-$Tq=U9j@sGdN6m6_DBC#(Cg>2gX{VXfFel9CgMbC_6LRXY*dR zzw!gkpfxC1^CT+*P9$UPIo@%WDL$`foXO9Mo!-0F4SK8=h6UnTgA?9xcMpFLXxY@W zl*W&gUcxgX$4u}7l-cjThN`z*#I9agtL@0Xld`eeQBCE_1w#{=!$m&Hb++Hu zt=GQ@DlF$)uRkZx0Kt~rs%#aD5OEi$pJx2DKvLg}UJ4#wPGUJ#DT69>HVE(#G3kp9Y>$9uls^9GAZV8u;6%u|jV#o9QpT z2W`Nv(gdLzSkB`?Bz37qZCq>RnORE&dk6;jq4W26)UO}iJdNBY~0b}9sLi!lVw?@PYf%?bbW7VpIum8L{km9G5__SUGt76D~ovIwW^M#Stc zw{ir}%I{P8M43_8cRXh0F`mg~=EKiCtxT>ft<_H3G$!OvYJYSqD8JU#QWZJL0kZ^O z3BK9w+MvZ3mB00e6sb^|qZSU1+i+^`+^y%=e_DFqx10uG7C-)OVj)L+sE&20;ayRG5Zb>-M$M5_T0+ zUK_emxsxD*{FX2%-sv*GBA4NT{78{e2jfM@S#;B>xujVzy)KZGfK3T~BH>3#-KqPz z>XV{g>h6w1>S~(2JRKskczc=R(m9J)^?xeP`+WuLlP4g zZ(d7XqIv|^>htIz8Sy=vP0lY^F7TsS4+ey!2>Cy4V83;ifjxb=qV}#Ui%}cHB@9eO z;2+aLGXGr12k2*4?{HC|6p&I_iou-T#V^=P<>dV`U%ts=0$&N3*a*Tki0k^8Q7Whh zn+Z=x5ku^$7E-~hG;7%qVbFDOsvcQxEc>(HueKrqZf_X7$T*Ucu~_^tOY3$K!*t1} z!!ktJqLdz?{^nRS0e=T`W2*dsOCH>6?c%`*iaKaF9-OV}J2xYzgTOj55XJUqb3XhW z!EYvFoB!CHCb(FX+|nGG-5wM{$_|gGJ*ZKy25nMk-5vV#0|8)p)Sm)QY*r>;LwoP| zR=WU$G-BZ#WmCRi$G^{67P>_%S@7WAfqs7?_$UyvAyn{dQ~fmrkx&eOy7kSP(Ll0_ zgxb&f-E^T$h0Jo;A>ju=)B<=YkqMajuf6TZ^?#5)57rImf#6l+tU4ex1ca`n3W$Iw zAbu6!bacTQ$+-8A9eJ$BUVe&n=ai|JEgq$Qj$FR{|{92-!70W{E@0unYyG+${j zF{<^?kCQ-nP|o=2NVk2507;MCLkel4jFo#T9iXSc#0pe>_uT*EHJ+s;nFnwM^QFhK zQ#pS2K7@e%Drf0eex9`Wn1(ZV1%83&C?9~O_=m49WuO6o6U+R60YF#qoDDa4KY;t) zdLU5zl6lQUsUn#}|0*CWvvJh3slYg2{l%SvfQXh{R`z;s@Ro_AhT%Ol>s1YpC}8Lc z%S!_`RcMaDl@U9eXy$lJnZQ;1dlqa=;A&+WPrbk{?B3fG1VF8Xzd!s@o#PdV1qGgF zvA!JY-bHa@zoRhA{rI)h+zl+(yIHPA`~xKYi{ONeRwjmqE*Z6P{1Olb(d^}>F@M3I z4Di@y$#R|56ACbv4P2GHXF&~}%Xp;;LKz?KY{byDy-nH~L#(C&!iaUR@@uZlS|?a= zZxw?jU19lo-S~8@vd=Bb@?dW=&()v1gfQUdfyxa~C*^Is{<*@e!6fQJ8$g@|uJ@V{~d-SHBqfSWv)3#23B zXta^uc>2@o@YMTaaaKa*wtu@BM906P6s>CL9WdGb%whiP*^O@?ECd7u zgDw9B&0DvqY~4-^U}E!7S;Ko;pk?tvq4_y`MDe8Zi#hK;6hkZV0i}*O*!ix4Fl}+T@+T@GJ=R6$%Xgy%l5L-CeOWWA0h(4Bv)3Dj3nrbJHq$h`iqjh_TrAp6e+-%hi~{(f{Pnf3x41tx{9-OsO7XX zd+6c{`q1O%Tw??WEPtOa$YLyO&!9a9&r)S@77ymBxVsH?C<4vQGiKaV-_EbqeiS_C zT7m`7NZaeBoC^l(UqL=12EKg%Rw=krafGf72Ib) z@H51mI!VaMkki2vkhET$U=G6;52Vqq6m(ZaDvnHEU^cAeELnx_n{tYnNn-CAji zgg{z<*A_HyXr7vKT6msfdc zsOI`?B5kPQ7RZO@R|AVE-i$5Omp6J*Em^WWuXwvJxpAJ0U}Oau2J+s=G#3;V>D_v- z&^QdQXO8(LKfllA5{NdBJp6VLt}%M|XM4qw^%8I5z2S;%>+K-QkF`O^!J>EsT*Hw0 z>kXsSbH4Y@sFU=<_v3qmqk34{#K42Sv}Q+V4xt%1{nevr5cjQj!5W$4yRD=j8rou4 zw38h;TO-$&;j;B1a6J*PgWnUX1X}ABo2IRRLy3CT-*!5@;I}|F3D@EXg6a*Ec1>Gz zMX{WjUXsBjn#w$4+>lG0Kg`Fhk^J&7$^+2#1zl`r?*8AWKe=uWKc7q$w z?UG*B9o~?$`6YO{_ZG_?E334lP(0Lv-%U z2NM3ycYe(nFRW8~{eou5kRj6CC-_!ZS4(Yet+#5`s!%`dE_e;8rXnck|7*IuLL}F; z(j0$~Uu0yjgWB3!e;FdXj#nJUUy5J+d|J97*|P23^!>lRV`AtZco@a&4?uZJq*5vE zWr&65c9^aCi!#?^7Q1t9rkL=T>#(0`6d)oJivleBcf!aQ5g9UMh=?3s`~>qwL{_a@ zB_iQ{;qHq=yCCEKW!2}%sb^l9E`s9x`ioLBnbckcz$`jIG1px2 z)30AY5fQ1Yt2^w<-hS7pwQqv{n}3eS$$nExh)6~UD9`Vel%JyjJ1jrg0r7t)to%}c zx2=yq48v*{$hIZRGVc?S{W^;S03t#GRFGo+S`7ZR8kfH^%R!-UYMUf6|) z*7(D;_Ldt&L}bv7zZ4OXEnBt}^n1Mi07QWTC`3{0e4FXyB$_%uA`u<}3l;!b9f+Kd z9rhtGfBb&FNZvzGUQ~ymf{#^OTkAC)YRdR|a1KzuLsX^a#$o)W+Oq9kX&?B0SnUGY z7Eu<(4}fBD7FbB4-1+)%f;rCe@z20Y^UuPHVh)bhS!ltrv~(6)uHOk$Q-PB+JE{rL zaT3k@l m00Q*zNzeeGgaQcA^Zx-d#R_ltr_SsE0000 Date: Sat, 3 Aug 2024 00:21:57 +0100 Subject: [PATCH 3/7] test --- code/__DEFINES/hud.dm | 4 ++++ code/modules/admin/verbs/mentorhud.dm | 10 +++++----- code/modules/mob/living/carbon/human/human_defines.dm | 2 +- .../mob/living/carbon/human/powers/human_powers.dm | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index deee80c7a91d..1c261bf9d3ca 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -25,3 +25,7 @@ #define NOTIFY_JOIN_XENO "join_xeno" #define NOTIFY_XENO_TACMAP "xeno_tacmap" #define NOTIFY_USCM_TACMAP "uscm_tacmap" + +#define INHERENT_HUD_MEDICAL "med" +#define INHERENT_HUD_SECURITY "sec" +#define INHERENT_HUD_NEW_PLAYER "new" diff --git a/code/modules/admin/verbs/mentorhud.dm b/code/modules/admin/verbs/mentorhud.dm index 7115b9b7189f..d0bbc7c59554 100644 --- a/code/modules/admin/verbs/mentorhud.dm +++ b/code/modules/admin/verbs/mentorhud.dm @@ -39,20 +39,20 @@ if(!ishuman(mentor)) to_chat(src, SPAN_WARNING("You cannot use this power as a non-human!")) return FALSE - if(!mentor.looc_overhead) + + if(!mentor.looc_overhead && !(mentor.inherent_huds_toggled[INHERENT_HUD_NEW_PLAYER])) to_chat(src, SPAN_WARNING("You are not in a mentor role! (Overhead LOOC is disabled!)")) return FALSE var/datum/mob_hud/the_hud - var/chosen_HUD = 3 the_hud = GLOB.huds[MOB_HUD_NEW_PLAYER] - if(mentor.inherent_huds_toggled[chosen_HUD]) - mentor.inherent_huds_toggled[chosen_HUD] = FALSE + if(mentor.inherent_huds_toggled[INHERENT_HUD_NEW_PLAYER]) + mentor.inherent_huds_toggled[INHERENT_HUD_NEW_PLAYER] = FALSE the_hud.remove_hud_from(mentor, mentor) to_chat(mentor, SPAN_INFO("New Player Markers Disabled")) else - mentor.inherent_huds_toggled[chosen_HUD] = TRUE + mentor.inherent_huds_toggled[INHERENT_HUD_NEW_PLAYER] = TRUE the_hud.add_hud_to(mentor, mentor) to_chat(mentor, SPAN_INFO("New Player Markers Enabled")) return TRUE diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 4baf7943d984..5c5ad94031ea 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -147,7 +147,7 @@ /// A list of all the shrapnel currently embedded in the human var/list/atom/movable/embedded_items = list() - var/list/inherent_huds_toggled = list(FALSE,FALSE, FALSE) + var/list/inherent_huds_toggled = list(INHERENT_HUD_MEDICAL = FALSE, INHERENT_HUD_SECURITY = FALSE, INHERENT_HUD_NEW_PLAYER = FALSE) var/default_lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE diff --git a/code/modules/mob/living/carbon/human/powers/human_powers.dm b/code/modules/mob/living/carbon/human/powers/human_powers.dm index e9d98dbee6b7..663e3273d5a4 100644 --- a/code/modules/mob/living/carbon/human/powers/human_powers.dm +++ b/code/modules/mob/living/carbon/human/powers/human_powers.dm @@ -270,13 +270,13 @@ return var/datum/mob_hud/the_hud - var/chosen_HUD = 1 + var/chosen_HUD = INHERENT_HUD_MEDICAL switch(hud_choice) if("Medical HUD") the_hud = GLOB.huds[MOB_HUD_MEDICAL_ADVANCED] if("Security HUD") the_hud = GLOB.huds[MOB_HUD_SECURITY_ADVANCED] - chosen_HUD = 2 + chosen_HUD = INHERENT_HUD_SECURITY else return From f69c2c405541526474e5c39745e47c1519988f31 Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Tue, 6 Aug 2024 21:56:06 -0700 Subject: [PATCH 4/7] Update NEW_PLAYER_HUD define Co-authored-by: kiVts <48099872+kiVts@users.noreply.github.com> --- code/__DEFINES/mob_hud.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/mob_hud.dm b/code/__DEFINES/mob_hud.dm index c7f8c360bf22..a39160cc2247 100644 --- a/code/__DEFINES/mob_hud.dm +++ b/code/__DEFINES/mob_hud.dm @@ -27,7 +27,7 @@ #define HUNTER_CLAN "25" //Displays a colored icon to represent ingame Hunter Clans #define HUNTER_HUD "26" //Displays various statuses on mobs for Hunters to identify targets #define HOLOCARD_HUD "27" //Displays the holocards set by medical personnel -#define NEW_PLAYER_HUD "28" //Makes it easy to see new players. +#define NEW_PLAYER_HUD "29" //Makes it easy to see new players. //data HUD (medhud, sechud) defines #define MOB_HUD_SECURITY_BASIC 1 From e8eef2270537847635d60c1b0b7169848bc105a9 Mon Sep 17 00:00:00 2001 From: forest2001 Date: Tue, 13 Aug 2024 02:35:56 +0100 Subject: [PATCH 5/7] imag friend --- code/modules/admin/tabs/admin_tab.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/tabs/admin_tab.dm b/code/modules/admin/tabs/admin_tab.dm index ff6743e2da66..cf8fe41b66d7 100644 --- a/code/modules/admin/tabs/admin_tab.dm +++ b/code/modules/admin/tabs/admin_tab.dm @@ -608,7 +608,7 @@ return /datum/admins/proc/imaginary_friend() - set category = "OOC.Mentor" + set category = "Admin.Mentor" set name = "Imaginary Friend" var/mob/user = usr From aeb4b9ae6b2460019427e9d566fc31a50365e5cc Mon Sep 17 00:00:00 2001 From: forest2001 Date: Sat, 7 Sep 2024 17:52:46 +0100 Subject: [PATCH 6/7] changes --- code/datums/mob_hud.dm | 1 + code/modules/gear_presets/_select_equipment.dm | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm index f267334e622d..06f16eac44cd 100644 --- a/code/datums/mob_hud.dm +++ b/code/datums/mob_hud.dm @@ -234,6 +234,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( if(istype(hud, /datum/mob_hud/xeno)) //this one is xeno only continue hud.add_to_hud(src) + hud_set_new_player() /mob/living/carbon/xenomorph/add_to_all_mob_huds() for(var/datum/mob_hud/hud in GLOB.huds) diff --git a/code/modules/gear_presets/_select_equipment.dm b/code/modules/gear_presets/_select_equipment.dm index 13f4fb429451..1a61aa39efe8 100644 --- a/code/modules/gear_presets/_select_equipment.dm +++ b/code/modules/gear_presets/_select_equipment.dm @@ -121,8 +121,6 @@ . = "???" CRASH("[key_name(new_human)] spawned with no valid paygrade.") - new_human.hud_set_new_player() - return final_paygrade /datum/equipment_preset/proc/load_gear(mob/living/carbon/human/new_human, client/mob_client) From 1457cbadfe0e24ca5ef8a17e25a3bf9949ea8609 Mon Sep 17 00:00:00 2001 From: forest2001 Date: Sat, 7 Sep 2024 18:04:54 +0100 Subject: [PATCH 7/7] Settings option --- code/__DEFINES/hud.dm | 2 ++ code/modules/admin/verbs/mentorhud.dm | 9 ++++----- code/modules/client/preferences.dm | 7 +++++-- code/modules/client/preferences_savefile.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 2 +- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index 1c261bf9d3ca..a6a844254a02 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -29,3 +29,5 @@ #define INHERENT_HUD_MEDICAL "med" #define INHERENT_HUD_SECURITY "sec" #define INHERENT_HUD_NEW_PLAYER "new" + +#define HUD_MENTOR_SIGHT "New Player Markers" diff --git a/code/modules/admin/verbs/mentorhud.dm b/code/modules/admin/verbs/mentorhud.dm index d0bbc7c59554..f03c4edecedd 100644 --- a/code/modules/admin/verbs/mentorhud.dm +++ b/code/modules/admin/verbs/mentorhud.dm @@ -7,11 +7,10 @@ to_chat(src, "Only mentors may use this HUD!") return FALSE - var/hud_choice = "New Player Markers" - prefs.observer_huds[hud_choice] = !prefs.observer_huds[hud_choice] + prefs.observer_huds[HUD_MENTOR_SIGHT] = !prefs.observer_huds[HUD_MENTOR_SIGHT] prefs.save_preferences() - to_chat(src, SPAN_BOLDNOTICE("You toggled [hud_choice] to be [prefs.observer_huds[hud_choice] ? "ON" : "OFF"] by default when you are observer.")) + to_chat(src, SPAN_BOLDNOTICE("You toggled [HUD_MENTOR_SIGHT] to be [prefs.observer_huds[HUD_MENTOR_SIGHT] ? "ON" : "OFF"] by default when you are observer.")) if(!isobserver(usr)) return @@ -19,8 +18,8 @@ var/datum/mob_hud/the_hud the_hud = GLOB.huds[MOB_HUD_NEW_PLAYER] - observer_user.HUD_toggled[hud_choice] = prefs.observer_huds[hud_choice] - if(observer_user.HUD_toggled[hud_choice]) + observer_user.HUD_toggled[HUD_MENTOR_SIGHT] = prefs.observer_huds[HUD_MENTOR_SIGHT] + if(observer_user.HUD_toggled[HUD_MENTOR_SIGHT]) the_hud.add_hud_to(observer_user, observer_user) else the_hud.remove_hud_from(observer_user, observer_user) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 00fec6452dc8..a14b677a874b 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -76,7 +76,7 @@ GLOBAL_LIST_INIT(bgstate_options, list( "Security HUD" = FALSE, "Squad HUD" = FALSE, "Xeno Status HUD" = FALSE, - "New Player Markers" = FALSE + HUD_MENTOR_SIGHT = FALSE ) var/ghost_vision_pref = GHOST_VISION_LEVEL_MID_NVG var/ghost_orbit = GHOST_ORBIT_CIRCLE @@ -549,7 +549,7 @@ GLOBAL_LIST_INIT(bgstate_options, list( dat += "You do not have the whitelist for this role." if(MENU_MENTOR) if(owner.check_whitelist_status(WHITELIST_MENTOR)) - dat += "Nothing here. For now." + dat += "New Player Ghost HUD: [observer_huds[HUD_MENTOR_SIGHT] ? "Enabled" : "Disabled"]
" else dat += "You do not have the whitelist for this role." if(MENU_SETTINGS) @@ -1917,6 +1917,9 @@ GLOBAL_LIST_INIT(bgstate_options, list( return plane_master.backdrop(user?.client.mob) + if("newplayer_ghost_hud") + observer_huds[HUD_MENTOR_SIGHT] = !observer_huds[HUD_MENTOR_SIGHT] + if("auto_fit_viewport") auto_fit_viewport = !auto_fit_viewport if(auto_fit_viewport && owner) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 5811c774ca6d..7011f4183942 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -365,7 +365,7 @@ owner.typing_indicators = TRUE if(!observer_huds) - observer_huds = list("Medical HUD" = FALSE, "Security HUD" = FALSE, "Squad HUD" = FALSE, "Xeno Status HUD" = FALSE, "New Player Markers" = FALSE) + observer_huds = list("Medical HUD" = FALSE, "Security HUD" = FALSE, "Squad HUD" = FALSE, "Xeno Status HUD" = FALSE, HUD_MENTOR_SIGHT = FALSE) return 1 diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 7f22b52133f5..cb9510352982 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -405,7 +405,7 @@ if("Faction CLF HUD") the_hud= GLOB.huds[MOB_HUD_FACTION_CLF] the_hud.add_hud_to(src, src) - if("New Player Markers") + if(HUD_MENTOR_SIGHT) the_hud= GLOB.huds[MOB_HUD_NEW_PLAYER] the_hud.add_hud_to(src, src)