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)
|
private void SetStatus(SecurityStatus status)
|
||||||
{
|
{
|
||||||
if (status == SecurityStatus.Wanted || status == SecurityStatus.Suspected)
|
if (status == SecurityStatus.Wanted || status == SecurityStatus.Suspected || status == SecurityStatus.Hostile)
|
||||||
{
|
{
|
||||||
GetReason(status);
|
GetReason(status);
|
||||||
return;
|
return;
|
||||||
@@ -322,6 +322,8 @@ public sealed partial class CriminalRecordsConsoleWindow : FancyWindow
|
|||||||
SecurityStatus.Detained => "hud_incarcerated",
|
SecurityStatus.Detained => "hud_incarcerated",
|
||||||
SecurityStatus.Discharged => "hud_discharged",
|
SecurityStatus.Discharged => "hud_discharged",
|
||||||
SecurityStatus.Suspected => "hud_suspected",
|
SecurityStatus.Suspected => "hud_suspected",
|
||||||
|
SecurityStatus.Hostile => "hud_hostile",
|
||||||
|
SecurityStatus.Eliminated => "hud_eliminated",
|
||||||
_ => "SecurityIconNone"
|
_ => "SecurityIconNone"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,8 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
|||||||
{
|
{
|
||||||
// prevent malf client violating wanted/reason nullability
|
// prevent malf client violating wanted/reason nullability
|
||||||
if (msg.Status == SecurityStatus.Wanted != (msg.Reason != null) &&
|
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;
|
return;
|
||||||
|
|
||||||
if (!CheckSelected(ent, msg.Actor, out var mob, out var key))
|
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
|
// figure out which radio message to send depending on transition
|
||||||
var statusString = (oldStatus, msg.Status) switch
|
var statusString = (oldStatus, msg.Status) switch
|
||||||
{
|
{
|
||||||
|
(_, SecurityStatus.Hostile) => "hostile",
|
||||||
|
(_, SecurityStatus.Eliminated) => "eliminated",
|
||||||
// person has been detained
|
// person has been detained
|
||||||
(_, SecurityStatus.Detained) => "detained",
|
(_, SecurityStatus.Detained) => "detained",
|
||||||
// person did something sus
|
// person did something sus
|
||||||
@@ -154,6 +157,8 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
|||||||
(_, SecurityStatus.Discharged) => "released",
|
(_, SecurityStatus.Discharged) => "released",
|
||||||
// going from any other state to wanted, AOS or prisonbreak / lazy secoff never set them to released and they reoffended
|
// going from any other state to wanted, AOS or prisonbreak / lazy secoff never set them to released and they reoffended
|
||||||
(_, SecurityStatus.Wanted) => "wanted",
|
(_, SecurityStatus.Wanted) => "wanted",
|
||||||
|
(SecurityStatus.Hostile, SecurityStatus.None) => "not-hostile",
|
||||||
|
(SecurityStatus.Eliminated, SecurityStatus.None) => "not-eliminated",
|
||||||
// person is no longer sus
|
// person is no longer sus
|
||||||
(SecurityStatus.Suspected, SecurityStatus.None) => "not-suspected",
|
(SecurityStatus.Suspected, SecurityStatus.None) => "not-suspected",
|
||||||
// going from wanted to none, must have been a mistake
|
// going from wanted to none, must have been a mistake
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ public abstract class SharedCriminalRecordsSystem : EntitySystem
|
|||||||
SecurityStatus.Detained => "SecurityIconIncarcerated",
|
SecurityStatus.Detained => "SecurityIconIncarcerated",
|
||||||
SecurityStatus.Discharged => "SecurityIconDischarged",
|
SecurityStatus.Discharged => "SecurityIconDischarged",
|
||||||
SecurityStatus.Suspected => "SecurityIconSuspected",
|
SecurityStatus.Suspected => "SecurityIconSuspected",
|
||||||
|
SecurityStatus.Hostile => "SecurityIconHostile",
|
||||||
|
SecurityStatus.Eliminated => "SecurityIconEliminated",
|
||||||
_ => record.StatusIcon
|
_ => record.StatusIcon
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,16 +6,20 @@
|
|||||||
/// None - the default value
|
/// None - the default value
|
||||||
/// Suspected - the person is suspected of doing something illegal
|
/// Suspected - the person is suspected of doing something illegal
|
||||||
/// Wanted - the person is being wanted by security
|
/// Wanted - the person is being wanted by security
|
||||||
|
/// Hostile - the person has been admitted as hostile
|
||||||
/// Detained - the person is detained by security
|
/// Detained - the person is detained by security
|
||||||
/// Paroled - the person is on parole
|
/// Paroled - the person is on parole
|
||||||
/// Discharged - the person has been released from prison
|
/// Discharged - the person has been released from prison
|
||||||
|
/// Eliminated - the person has been eliminated and should not be healed
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public enum SecurityStatus : byte
|
public enum SecurityStatus : byte
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
Suspected,
|
Suspected,
|
||||||
Wanted,
|
Wanted,
|
||||||
|
Hostile,
|
||||||
Detained,
|
Detained,
|
||||||
Paroled,
|
Paroled,
|
||||||
Discharged
|
Discharged,
|
||||||
|
Eliminated
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,6 +92,8 @@ wanted-list-status-label = [color=darkgray]status:[/color] {$status ->
|
|||||||
[detained] [color=#b18644]detained[/color]
|
[detained] [color=#b18644]detained[/color]
|
||||||
[paroled] [color=green]paroled[/color]
|
[paroled] [color=green]paroled[/color]
|
||||||
[discharged] [color=green]discharged[/color]
|
[discharged] [color=green]discharged[/color]
|
||||||
|
[hostile] [color=darkred]hostile[/color]
|
||||||
|
[eliminated] [color=gray]eliminated[/color]
|
||||||
*[other] none
|
*[other] none
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ criminal-records-status-detained = Detained
|
|||||||
criminal-records-status-suspected = Suspect
|
criminal-records-status-suspected = Suspect
|
||||||
criminal-records-status-discharged = Discharged
|
criminal-records-status-discharged = Discharged
|
||||||
criminal-records-status-paroled = Paroled
|
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-wanted-reason = Wanted Reason
|
||||||
criminal-records-console-suspected-reason = Suspected 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-released = {$name} ({$job}) has been released by {$officer}.
|
||||||
criminal-records-console-paroled = {$name} ({$job}) has been released on parole 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-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>
|
criminal-records-console-unknown-officer = <unknown>
|
||||||
|
|
||||||
## Filters
|
## Filters
|
||||||
|
|||||||
@@ -34,6 +34,20 @@
|
|||||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
sprite: /Textures/Interface/Misc/security_icons.rsi
|
||||||
state: hud_suspected
|
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
|
- type: securityIcon
|
||||||
parent: SecurityIcon
|
parent: SecurityIcon
|
||||||
id: SecurityIconWanted
|
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,
|
"version": 1,
|
||||||
"license": "CC-BY-SA-3.0",
|
"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": {
|
"size": {
|
||||||
"x": 8,
|
"x": 8,
|
||||||
"y": 8
|
"y": 8
|
||||||
@@ -21,6 +21,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "hud_wanted"
|
"name": "hud_wanted"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hud_hostile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hud_eliminated"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user