## Mirror of PR #25192: [Criminal record hud
icons](https://github.com/space-wizards/space-station-14/pull/25192)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)
###### `60b9d89e4dbdd8aaad4992a105628297d9480617`
PR opened by <img
src="https://avatars.githubusercontent.com/u/137322659?v=4"
width="16"/><a href="https://github.com/Arendian"> Arendian</a> at
2024-02-13 19:39:59 UTC
PR merged by <img
src="https://avatars.githubusercontent.com/u/19864447?v=4"
width="16"/><a href="https://github.com/web-flow"> web-flow</a> at
2024-03-11 03:12:52 UTC
---
PR changed 19 files with 230 additions and 40 deletions.
The PR had the following labels:
- Changes: UI
- Changes: Sprites
- Status: Needs Review
---
<details open="true"><summary><h1>Original Body</h1></summary>
> <!-- Please read these guidelines before opening your PR:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
> <!-- The text between the arrows are comments - they will not be
visible on your PR. -->
>
> ## About the PR
> <!-- What did you change in this PR? -->
> Added three more statuses to the criminal record console: Paroled,
Suspect, Discharged.
> Entities now have a hud icon based on the criminal record linked to
the name they are currently showing.
> If "Urist McHands" is wanted, anyone that currently shows as being
"Urist McHands", even when their real name is not Urist McHands, will
show the relevant hud icon to entities wearing a security hud. If Urist
McHands is disguised as someone without a criminal record or has no
name(middle-aged captain man etc.), they won't show an icon.
>
> ## Why / Balance
> <!-- Why was it changed? Link any discussions or issues here. Please
discuss how this would affect game balance. -->
> Icons showing on sechuds will make sechuds more usefull, it will
(hopefully) improve security coordination by allowing officers to more
easily see who they need to keep track of.
> It also gives warden something extra to do.
>
> ## Technical details
> <!-- If this is a code change, summarize at high level how your new
code works. This makes it easier to review. -->
>
> When a criminal record is changed, every entity with an
IdentityComponent will have their name checked to see if it equals the
name of the changed criminal record, if it's equal the person will get
the CriminalRecordComponent which holds the icon that needs to be shown
on the entity.
> If a criminal record is removed, the CriminalRecordComponent will be
removed from all entities that currently have the visible name
associated with the criminal record.
>
> If an entity changes identity, all criminal records will be searched
to see if the name has a criminal record attached to it. If the name has
a record attached to it, the entity will get the CriminalRecordComponent
and the corresponding criminal record hud icon until they change their
identity again or the criminal record gets removed.
>
> ## Media
> <!--
> PRs which make ingame changes (adding clothing, items, new features,
etc) are required to have media attached that showcase the changes.
> Small fixes/refactors are exempt.
> Any media may be used in SS14 progress reports, with clear credit
given.
>
> If you're unsure whether your PR will require media, ask a maintainer.
>
> Check the box below to confirm that you have in fact seen this (put an
X in the brackets, like [X]):
> -->
>
>
https://github.com/space-wizards/space-station-14/assets/137322659/3c9422e6-897f-456f-b54b-8fdc053cb4e1
>
>
> - [X] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
>
> **Changelog**
> <!--
> Make players aware of new features and changes that could affect how
they play the game by adding a Changelog entry. Please read the
Changelog guidelines located at:
https://docs.spacestation14.io/en/getting-started/pr-guideline#changelog
> -->
>
> 🆑 Dygon
> - add: The following criminal record statuses have been added:
Suspect, Discharged, Paroled.
> - add: Security huds now show an icon on entities that have a visible
name linked to a criminal record.
>
</details>
Co-authored-by: Arendian <137322659+Arendian@users.noreply.github.com>
* PR 1
* fix an error with health bar overlay (#1292)
* Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566)
* [1612] change ShowHealthBarsComponent's DamageContainer field to a list (#1662)
* fix build
* no crit entities from not updating
* cleanup
* namespace
* undu irrelevant changes
* undo icon change
* make health bar 1 px taller and icon 1 px shorter
* fix medibot
* fix comment
* don't show health bar ratio when in crit
* fix build
* put the crit bar back
* don't render healthbars for mobs that are in containers
* draw more boxes without the background sprite
* fine status icon for all bio mobs
* add wacky mandatory things
* attempt 2
* whoops wrong file
* cool, this works too
* move null check to top
* only 1 init
* security huds
* remove shader
* fix build after cleanup
* slight cleanup
* little more cleanup
* Remove clothing grant component system
* security HUD now shows a job icon on entities with a body
* remove sec stuff and do similar changes to split off PR + remove unused comp
* process comments
* don't return
* update to ComponentAddedOverlaySystemBase
* no cache
* colors and not rendering out of sight
* touch ups
* fix build & cleanup
* undo
* remove shader from icons
* process comments
* documentation
* fix licence
* validate prototype id
* just use args
* rename method and append in method
* type
* just fucken delete the command
* space
* undo
* remove
* don't use LocalPlayer
* re-add showhealthbars command, but working
* rename icon lists and conform health icon code to the others
* space
* undo
* update command
* oops
---------
Co-authored-by: Rane <60792108+Elijahrane@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit eed663e8b4d91ee772ccb54fc8a55e4c4afdcd64)