fix: Converts ethics system to generic entity persistence (#1824)

### Summary

Converts ethics system to entity persistence and removes the persistence item.


### TODO

1. The enable/disable toggle doesn't propagate to all code that does Ethics checks (notoriety, pvp, etc).
2. We need commands to remove them from an ethic.
This commit is contained in:
Kamron Batman 2024-06-16 10:26:09 -07:00 • committed by GitHub
parent f87c8f73ab
commit 20596e52fa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 1327 additions and 1338 deletions

View file

@ -0,0 +1,4 @@
{
"version": 1,
"type": "Server.Ethics.Ethic"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Ethics.EthicsEntity"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Ethics.Evil.EvilEthic"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Ethics.Hero.HeroEthic"
}

View file

@ -0,0 +1,50 @@
{
"version": 1,
"type": "Server.Ethics.Player",
"properties": [
{
"name": "Mobile",
"type": "Server.Mobile",
"rule": "SerializableInterfaceMigrationRule"
},
{
"name": "Power",
"type": "int",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "History",
"type": "int",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "Steed",
"type": "Server.Mobile",
"rule": "SerializableInterfaceMigrationRule"
},
{
"name": "Familiar",
"type": "Server.Mobile",
"rule": "SerializableInterfaceMigrationRule"
},
{
"name": "Shield",
"type": "System.DateTime",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
"DeltaTime"
]
},
{
"name": "Ethic",
"type": "Server.Ethics.Ethic",
"rule": "SerializableInterfaceMigrationRule"
}
]
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.HolySteed"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Mobiles.UnholySteed"
}