Reworks examine (a little) (#86506)

## About The Pull Request

Basically, reworks how examining things looks to the user.

#86497 is required even though this pretty much replaces the entire PR.

Examining random objects and simplemobs:


![image](https://github.com/user-attachments/assets/a2634a7f-b337-483a-a4e7-699586b4d6ac)


![image](https://github.com/user-attachments/assets/84cfa824-4cb3-4bc1-831c-8db3ccd6b162)

Examining a person:


![image](https://github.com/user-attachments/assets/91dc5492-9ba6-44d1-a284-5c97190b12c6)


![image](https://github.com/user-attachments/assets/7af83bea-e364-4daf-9090-551d2ec2b1a1)

Examining an ID card a person is wearing (by clicking the hyperlink
adorning the ID card when examining them):
(Note, you can only pull up this if you are within 3 tiles of the
person)


![image](https://github.com/user-attachments/assets/d9658605-0830-4cd2-9b6a-3821f19555c6)

## Why It's Good For The Game

Examine is very old and very inconsistent between atoms and mobs. So I
thought I could spruce it up a bit while bringing some consistency
along.

This should also help with losing certain details in massive walls of
examine text - stuff like names will stick out more.

## Changelog

🆑 Melbert
qol: The way examine looks has been updated.
qol: A person's ID card no longer appears with a big icon on examine.
You can now click on their ID card (in the chat box) to get a bigger
picture of it, as well as information about them.
refactor: Much of examine backend code has been refactored, report any
odd looking text.
/🆑
This commit is contained in:
MrMelbert
2024-09-10 15:47:58 -05:00
committed by GitHub
parent 21da683ff7
commit 48bbd6fddf
29 changed files with 811 additions and 701 deletions
@@ -106,7 +106,7 @@
return FALSE
to_chat(src, span_bold(playstyle_string))
/mob/living/basic/construct/examine(mob/user)
/mob/living/basic/construct/get_examine_name(mob/user)
var/text_span
switch(theme)
if(THEME_CULT)
@@ -115,13 +115,20 @@
text_span = "purple"
if(THEME_HOLY)
text_span = "blue"
. = list("<span class='[text_span]'>This is [icon2html(src, user)] \a <b>[src]</b>!\n[desc]")
if(!text_span)
return ..()
return "<span class='[text_span]'>[..()]</span>"
/mob/living/basic/construct/examine(mob/user)
. = list()
if(health < maxHealth)
if(health >= maxHealth/2)
. += span_warning("[p_They()] look[p_s()] slightly dented.")
else
. += span_warning(span_bold("[p_They()] look[p_s()] severely dented!"))
. += "</span>"
return .
/mob/living/basic/construct/narsie_act()