Moves area blurbs permanently to status pane (#21797)

As title. Less annoying chat spam.
This commit is contained in:
Batrachophreno
2026-02-04 12:01:30 -05:00
committed by GitHub
parent 883aa972c1
commit d712dbfab9
13 changed files with 119 additions and 115 deletions
+38 -21
View File
@@ -9,11 +9,14 @@
var/pronouns = NEUTER
var/species_items_equipped // used so species that need special items (autoinhalers for vaurca/RMT for offworlders) don't get them twice when they shouldn't.
/// Used so species that need special items (autoinhalers for vaurca/RMT for offworlders) don't get them twice when they shouldn't.
var/species_items_equipped
var/list/hud_list[11]
var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us.
var/obj/item/rig/wearing_rig // This is very not good, but it's much much better than calling get_rig() every update_canmove() call.
/// To check if we've need to roll for damage on movement while an item is imbedded in us.
var/embedded_flag
/// This is very not good, but it's much much better than calling get_rig() every update_canmove() call.
var/obj/item/rig/wearing_rig
/// Pref holder for the speech bubble style.
var/speech_bubble_type
@@ -215,6 +218,22 @@
/mob/living/carbon/human/get_status_tab_items()
. = ..()
/// This needs to be updated to use signals.
var/holding_gps = FALSE
if(istype(src.get_active_hand(), /obj/item/gps) || istype(src.get_inactive_hand(), /obj/item/gps))
holding_gps = TRUE
var/area/A = get_area(src)
var/area_name
if(holding_gps)
area_name = get_area_display_name(A)
. += "[area_name]"
. += ""
if(A.area_blurb)
. += "[A.area_blurb]"
. += ""
. += "Intent: [a_intent]"
. += "Move Mode: [m_intent]"
if(is_diona() && DS)
@@ -420,8 +439,7 @@
mob_win.set_content(dat)
mob_win.open()
// called when something steps onto a human
// this handles vehicles
/// Called when something steps onto a human. This handles vehicles
/mob/living/carbon/human/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
..()
@@ -429,7 +447,7 @@
var/obj/vehicle/V = arrived
V.RunOver(src)
// Get rank from ID, ID inside PDA, PDA, ID in wallet, etc.
/// Get rank from ID, ID inside PDA, PDA, ID in wallet, etc.
/mob/living/carbon/human/proc/get_authentification_rank(var/if_no_id = "No id", var/if_no_job = "No job")
var/obj/item/card/id/id = GetIdCard()
if(!istype(id))
@@ -437,8 +455,7 @@
else
return id.rank ? id.rank : if_no_job
//gets assignment from ID or ID inside PDA or PDA itself
//Useful when player do something with computers
/// Gets assignment from ID or ID inside PDA or PDA itself. Useful when player does something with computers.
/mob/living/carbon/human/proc/get_assignment(var/if_no_id = "No ID", var/if_no_job = "No Job")
var/obj/item/card/id/I = GetIdCard()
if(istype(I))
@@ -446,8 +463,7 @@
else
return if_no_id
//gets name from ID or ID inside PDA or PDA itself
//Useful when player do something with computers
/// Gets name from ID or ID inside PDA or PDA itself. Useful when player does something with computers.
/mob/living/carbon/human/proc/get_authentification_name(var/if_no_id = "Unknown")
var/obj/item/card/id/I = GetIdCard()
if(istype(I))
@@ -455,7 +471,7 @@
else
return if_no_id
//repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a seperate proc as it'll be useful elsewhere
/// Repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable.
/mob/living/carbon/human/proc/get_visible_name()
if( wear_mask && (wear_mask.flags_inv&HIDEFACE) ) //Wearing a mask which hides our face, use id-name if possible
return get_id_name("Unknown")
@@ -467,15 +483,14 @@
return "[face_name] (as [id_name])"
return face_name
//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable
/// Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable
/mob/living/carbon/human/proc/get_face_name()
var/obj/item/organ/external/head = get_organ(BP_HEAD)
if(!head || head.disfigured || head.is_stump() || !real_name || (mutations & HUSK)) //disfigured. use id-name if possible
return "Unknown"
return real_name
//gets name from ID or PDA itself, ID inside PDA doesn't matter
//Useful when player is being seen by other mobs
/// Gets name from ID or PDA itself, ID inside PDA doesn't matter. Useful when player is being seen by other mobs
/mob/living/carbon/human/proc/get_id_name(var/if_no_id = "Unknown")
. = if_no_id
var/obj/item/card/id/I = GetIdCard()
@@ -483,7 +498,7 @@
return I.registered_name
return
//gets ID card object from special clothes slot or null.
/// Gets ID card object from special clothes slot or null.
/mob/living/carbon/human/proc/get_idcard()
if(wear_id)
return wear_id.GetID()
@@ -867,8 +882,8 @@
..()
return
///eyecheck()
///Returns a number between -1 to 2
/// Returns a number between -1 to 2
/mob/living/carbon/human/get_flash_protection(ignore_inherent = FALSE)
//Ling
@@ -900,8 +915,10 @@
if(prob(20))
to_chat(src, SPAN_NOTICE("Something bright flashes in the corner of your vision!"))
//Used by various things that knock people out by applying blunt trauma to the head.
//Checks that the species has a BP_HEAD (brain containing organ) and that hit_zone refers to it.
/**
* Used by various things that knock people out by applying blunt trauma to the head.
* Checks that the species has a BP_HEAD (brain containing organ) and that hit_zone refers to it.
*/
/mob/living/carbon/human/proc/headcheck(var/target_zone, var/brain_tag = BP_BRAIN)
if(!species.has_organ[brain_tag])
return 0
@@ -1089,7 +1106,7 @@
sleep(350) //wait 35 seconds before next volley
lastpuke = FALSE
// A damaged stomach can put blood in your vomit.
/// A damaged stomach can put blood in your vomit.
/mob/living/carbon/human/handle_additional_vomit_reagents(obj/effect/decal/cleanable/vomit/vomit)
..()
if(should_have_organ(BP_STOMACH))
@@ -1358,7 +1375,7 @@
var/obj/item/organ/internal/lungs/L = internal_organs_by_name[species_organ]
return L && L.rescued
//returns 1 if made bloody, returns 0 otherwise
/// Returns 1 if made bloody, returns 0 otherwise
/mob/living/carbon/human/add_blood(mob/living/carbon/C as mob)
if (!..())
return FALSE
+22 -11
View File
@@ -3,13 +3,14 @@
gender = NEUTER
voice_name = "Synthesized Voice"
accent = ACCENT_TTS
var/list/speech_synthesizer_langs = list() //which languages can be vocalized by the speech synthesizer
/// Which languages can be vocalized by the speech synthesizer
var/list/speech_synthesizer_langs = list()
var/speak_statement = "states"
var/speak_exclamation = "declares"
var/speak_query = "queries"
// Description
var/pose //Yes, now AIs can pose too.
var/pose
// Bad Guy Stuff
var/syndicate = FALSE
@@ -18,8 +19,10 @@
var/datum/ai_laws/laws
var/law_channel = DEFAULT_LAW_CHANNEL
var/list/additional_law_channels = list("State" = "")
var/list/stating_laws = list() // Channels laws are currently being stated on
var/obj/item/radio/common_radio // Used to determine default channels
/// Channels laws are currently being stated on
var/list/stating_laws = list()
/// Used to determine default channels
var/obj/item/radio/common_radio
// Hud Stuff
var/list/hud_list[10]
@@ -45,7 +48,7 @@
var/obj/item/card/id/id_card
var/id_card_type = /obj/item/card/id/synthetic
// ACCENT_ALL_IPC with the added consideration that this selection can be used by the ship AI itself, and should not look bad for the SCC. No dregs, Himeans, Trinarists, etc.
/// ACCENT_ALL_IPC with the added consideration that this selection can be used by the ship AI itself, and should not look bad for the SCC. No dregs, Himeans, Trinarists, etc.
var/list/possible_accents = list(ACCENT_CETI, ACCENT_TTS, ACCENT_XANU, ACCENT_COC, ACCENT_ELYRA, ACCENT_ERIDANI, ACCENT_SOL, ACCENT_SILVERSUN_EXPATRIATE, ACCENT_SILVERSUN_ORIGINAL,
ACCENT_PHONG, ACCENT_MARTIAN, ACCENT_KONYAN, ACCENT_LUNA, ACCENT_GIBSON_OVAN, ACCENT_GIBSON_UNDIR, ACCENT_VYSOKA, ACCENT_VENUS, ACCENT_VENUSJIN, ACCENT_JUPITER, ACCENT_CALLISTO,
ACCENT_EUROPA, ACCENT_EARTH, ACCENT_ASSUNZIONE, ACCENT_VISEGRAD, ACCENT_SANCOLETTE, ACCENT_VALKYRIE, ACCENT_MICTLAN, ACCENT_PERSEPOLIS, ACCENT_MEDINA, ACCENT_NEWSUEZ, ACCENT_AEMAQ, ACCENT_DAMASCUS)
@@ -160,34 +163,42 @@
if(bot.connected_ai == ai)
return TRUE
return FALSE
// This is a pure virtual function, it should be overwritten by all subclasses
/// This is a pure virtual function, it should be overwritten by all subclasses
/mob/living/silicon/proc/show_malf_ai()
return FALSE
// this function displays the shuttles ETA in the status panel if the shuttle has been called
/// This function displays the shuttles ETA in the status panel if the shuttle has been called
/mob/living/silicon/proc/show_emergency_shuttle_eta()
if(GLOB.evacuation_controller)
var/eta_status = GLOB.evacuation_controller.get_status_panel_eta()
if(eta_status)
stat(null, eta_status)
// This adds the basic clock, shuttle recall timer, and malf_ai info to all silicon lifeforms
/// This adds the basic clock, shuttle recall timer, and malf_ai info to all silicon lifeforms
/mob/living/silicon/get_status_tab_items()
. = ..()
var/area/A = get_area(src)
var/area_name = get_area_display_name(A)
. += "[area_name]"
. += ""
if(A.area_blurb)
. += "[A.area_blurb]"
. += ""
if(!stat)
. += "System Integrity: [round((health/maxHealth)*100)]%"
else
. += "System Integrity: NON-FUNCTIONAL"
show_malf_ai()
//can't inject synths
/// can't inject synths
/mob/living/silicon/can_inject(mob/user, error_msg)
if(error_msg)
to_chat(user, SPAN_ALERT("The armored plating is too tough."))
return 0
//Silicon mob language procs
// Silicon mob language procs
/mob/living/silicon/can_speak(datum/language/speaking)
return universal_speak || (speaking in src.speech_synthesizer_langs) //need speech synthesizer support to vocalize a language