feat: New Jail System (#2215)

New Jail System for MUO
----------------------------

Commands:
[jail [player] [reason] - Jail with time escalation per offense (5 to 120 minutes, GM only)
[unjail [player] - Manual release from jail regardless of time (GM only)
[jailinfo [player] - Check jail status and history (GM only)
[jailrecord - Checks their own jail record stats (player access)

Jail/Unjail can be found in the client view of a player in Admin Gump
![Screenshot 2025-06-12 030226](https://github.com/user-attachments/assets/a9f1a736-0316-464c-8958-c589ea0a1dcb)

Jail record gump, invoked with [jailrecord (30 second cooldown)
![Screenshot 2025-06-12 030320](https://github.com/user-attachments/assets/c19b3e76-3042-48ae-a00d-c70ef564bc84)
This commit is contained in:
Bohica 2025-07-16 20:41:21 -07:00 • committed by GitHub
parent c2c486c06e
commit 5f0561b7fc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 669 additions and 4 deletions

View file

@ -0,0 +1,43 @@
{
"version": 0,
"type": "Server.Systems.JailSystem.JailRecord",
"properties": [
{
"name": "JailCount",
"type": "int",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "LastJailed",
"type": "System.DateTime",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "JailEndTime",
"type": "System.DateTime",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "LastJailReason",
"type": "string",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "JailedBy",
"type": "Server.Mobile",
"rule": "SerializableInterfaceMigrationRule"
}
]
}