Criminal console status expansion (#36244)
* Criminal console update and new icons sprites * Change Hostile and Paroled sprites * Change Hostile sprite * Return the 8x8 scale, redraw new icons * Some changes Redraw eliminated icon and change icons scaling in pda * Update Resources/Textures/Interface/Misc/security_icons.rsi/meta.json Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Content.Client/CartridgeLoader/Cartridges/WantedListUiFragment.cs --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
@@ -276,7 +276,7 @@ public sealed partial class CriminalRecordsConsoleWindow : FancyWindow
|
||||
|
||||
private void SetStatus(SecurityStatus status)
|
||||
{
|
||||
if (status == SecurityStatus.Wanted || status == SecurityStatus.Suspected)
|
||||
if (status == SecurityStatus.Wanted || status == SecurityStatus.Suspected || status == SecurityStatus.Hostile)
|
||||
{
|
||||
GetReason(status);
|
||||
return;
|
||||
@@ -322,6 +322,8 @@ public sealed partial class CriminalRecordsConsoleWindow : FancyWindow
|
||||
SecurityStatus.Detained => "hud_incarcerated",
|
||||
SecurityStatus.Discharged => "hud_discharged",
|
||||
SecurityStatus.Suspected => "hud_suspected",
|
||||
SecurityStatus.Hostile => "hud_hostile",
|
||||
SecurityStatus.Eliminated => "hud_eliminated",
|
||||
_ => "SecurityIconNone"
|
||||
};
|
||||
}
|
||||
|
||||
@@ -87,7 +87,8 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
||||
{
|
||||
// prevent malf client violating wanted/reason nullability
|
||||
if (msg.Status == SecurityStatus.Wanted != (msg.Reason != null) &&
|
||||
msg.Status == SecurityStatus.Suspected != (msg.Reason != null))
|
||||
msg.Status == SecurityStatus.Suspected != (msg.Reason != null) &&
|
||||
msg.Status == SecurityStatus.Hostile != (msg.Reason != null))
|
||||
return;
|
||||
|
||||
if (!CheckSelected(ent, msg.Actor, out var mob, out var key))
|
||||
@@ -144,6 +145,8 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
||||
// figure out which radio message to send depending on transition
|
||||
var statusString = (oldStatus, msg.Status) switch
|
||||
{
|
||||
(_, SecurityStatus.Hostile) => "hostile",
|
||||
(_, SecurityStatus.Eliminated) => "eliminated",
|
||||
// person has been detained
|
||||
(_, SecurityStatus.Detained) => "detained",
|
||||
// person did something sus
|
||||
@@ -154,6 +157,8 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
||||
(_, SecurityStatus.Discharged) => "released",
|
||||
// going from any other state to wanted, AOS or prisonbreak / lazy secoff never set them to released and they reoffended
|
||||
(_, SecurityStatus.Wanted) => "wanted",
|
||||
(SecurityStatus.Hostile, SecurityStatus.None) => "not-hostile",
|
||||
(SecurityStatus.Eliminated, SecurityStatus.None) => "not-eliminated",
|
||||
// person is no longer sus
|
||||
(SecurityStatus.Suspected, SecurityStatus.None) => "not-suspected",
|
||||
// going from wanted to none, must have been a mistake
|
||||
|
||||
@@ -45,6 +45,8 @@ public abstract class SharedCriminalRecordsSystem : EntitySystem
|
||||
SecurityStatus.Detained => "SecurityIconIncarcerated",
|
||||
SecurityStatus.Discharged => "SecurityIconDischarged",
|
||||
SecurityStatus.Suspected => "SecurityIconSuspected",
|
||||
SecurityStatus.Hostile => "SecurityIconHostile",
|
||||
SecurityStatus.Eliminated => "SecurityIconEliminated",
|
||||
_ => record.StatusIcon
|
||||
};
|
||||
|
||||
|
||||
@@ -6,16 +6,20 @@
|
||||
/// None - the default value
|
||||
/// Suspected - the person is suspected of doing something illegal
|
||||
/// Wanted - the person is being wanted by security
|
||||
/// Hostile - the person has been admitted as hostile
|
||||
/// Detained - the person is detained by security
|
||||
/// Paroled - the person is on parole
|
||||
/// Discharged - the person has been released from prison
|
||||
/// Eliminated - the person has been eliminated and should not be healed
|
||||
/// </summary>
|
||||
public enum SecurityStatus : byte
|
||||
{
|
||||
None,
|
||||
Suspected,
|
||||
Wanted,
|
||||
Hostile,
|
||||
Detained,
|
||||
Paroled,
|
||||
Discharged
|
||||
Discharged,
|
||||
Eliminated
|
||||
}
|
||||
|
||||
@@ -92,6 +92,8 @@ wanted-list-status-label = [color=darkgray]status:[/color] {$status ->
|
||||
[detained] [color=#b18644]detained[/color]
|
||||
[paroled] [color=green]paroled[/color]
|
||||
[discharged] [color=green]discharged[/color]
|
||||
[hostile] [color=darkred]hostile[/color]
|
||||
[eliminated] [color=gray]eliminated[/color]
|
||||
*[other] none
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@ criminal-records-status-detained = Detained
|
||||
criminal-records-status-suspected = Suspect
|
||||
criminal-records-status-discharged = Discharged
|
||||
criminal-records-status-paroled = Paroled
|
||||
criminal-records-status-hostile = Hostile
|
||||
criminal-records-status-eliminated = Eliminated
|
||||
|
||||
criminal-records-console-wanted-reason = Wanted Reason
|
||||
criminal-records-console-suspected-reason = Suspected Reason
|
||||
@@ -42,6 +44,10 @@ criminal-records-console-detained = {$name} ({$job}) has been detained by {$offi
|
||||
criminal-records-console-released = {$name} ({$job}) has been released by {$officer}.
|
||||
criminal-records-console-paroled = {$name} ({$job}) has been released on parole by {$officer}.
|
||||
criminal-records-console-not-parole = {$officer} cleared the parole status of {$name} ({$job}).
|
||||
criminal-records-console-hostile = {$name} ({$job}) was marked as hostile by {$officer} for: {$reason}.
|
||||
criminal-records-console-not-hostile = {$name} ({$job}) no longer marked as hostile by {$officer}.
|
||||
criminal-records-console-eliminated = {$name} ({$job}) was marked as eliminated by {$officer}.
|
||||
criminal-records-console-not-eliminated = {$name} ({$job}) no longer marked as eliminated by {$officer}.
|
||||
criminal-records-console-unknown-officer = <unknown>
|
||||
|
||||
## Filters
|
||||
|
||||
@@ -34,6 +34,20 @@
|
||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
||||
state: hud_suspected
|
||||
|
||||
- type: securityIcon
|
||||
parent: SecurityIcon
|
||||
id: SecurityIconHostile
|
||||
icon:
|
||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
||||
state: hud_hostile
|
||||
|
||||
- type: securityIcon
|
||||
parent: SecurityIcon
|
||||
id: SecurityIconEliminated
|
||||
icon:
|
||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
||||
state: hud_eliminated
|
||||
|
||||
- type: securityIcon
|
||||
parent: SecurityIcon
|
||||
id: SecurityIconWanted
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/tgstation/tgstation/blob/7f654b6e8e59021607a9e888dfeb79920401c372/icons/mob/huds/hud.dmi",
|
||||
"copyright": "Original sprites from https://github.com/tgstation/tgstation/blob/7f654b6e8e59021607a9e888dfeb79920401c372/icons/mob/huds/hud.dmi. hud_hostile and hud_eliminated by B_Kirill",
|
||||
"size": {
|
||||
"x": 8,
|
||||
"y": 8
|
||||
@@ -21,6 +21,12 @@
|
||||
},
|
||||
{
|
||||
"name": "hud_wanted"
|
||||
},
|
||||
{
|
||||
"name": "hud_hostile"
|
||||
},
|
||||
{
|
||||
"name": "hud_eliminated"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user