fix: Cleans up entity persistence. Generalizes Mobiles/Items/Guilds (#1528)
### Summary - [X] Fixed a bug where entity persistence was serialized out of order, causing world corruption. - [X] Fixed LastSerialized not being utilized properly and dangling references still becoming an issue. - [X] Added a new `GenericEntityPersistence<T>` type to encapsulate `ISerializable` serialization. - [X] Removing the custom logic and moved Items, Mobiles, Guilds, and Accounts to GenericEntityPersistence. - [X] Changed serialization to use the singleton pattern to reduce calling methods from stored variables.
This commit is contained in:
parent
e0225c6e59
commit
f2de2fbb77
34 changed files with 721 additions and 970 deletions
|
|
@ -228,7 +228,7 @@ namespace Server.SkillHandlers
|
|||
creature.AIObject?.DoMove(creature.Direction);
|
||||
|
||||
if (from is PlayerMobile pm &&
|
||||
!(pm.GetVirtues()?.HonorActive == true ||
|
||||
!(VirtueSystem.GetVirtues(pm)?.HonorActive == true ||
|
||||
TransformationSpellHelper.UnderTransformation(pm, typeof(EtherealVoyageSpell))))
|
||||
{
|
||||
creature.Combatant = pm;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue