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,26 @@
using System;
using ModernUO.Serialization;
namespace Server.Ethics;
[SerializationGenerator(0)]
public partial class EthicsEntity : ISerializable
{
public EthicsEntity()
{
Serial = EthicsSystem.NewProfile;
EthicsSystem.Add(this);
}
public DateTime Created { get; set; } = Core.Now;
public Serial Serial { get; }
public bool Deleted { get; private set; }
public void Delete()
{
Deleted = true;
EthicsSystem.Remove(this);
}
}