fix: Fixes removing virtue when player is deleted (#2135)
This commit is contained in:
parent
2a8c62e8be
commit
49fd5f210d
1 changed files with 5 additions and 1 deletions
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using ModernUO.CodeGeneratedEvents;
|
||||
using Server.Collections;
|
||||
using Server.Logging;
|
||||
using Server.Mobiles;
|
||||
|
|
@ -75,6 +76,9 @@ public class VirtueSystem : GenericPersistence
|
|||
}
|
||||
}
|
||||
|
||||
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
|
||||
public static void OnPlayerDeleted(PlayerMobile pm) => _playerVirtues.Remove(pm);
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
writer.WriteEncodedInt(0); // version
|
||||
|
|
@ -98,7 +102,7 @@ public class VirtueSystem : GenericPersistence
|
|||
var virtues = new VirtueContext();
|
||||
virtues.Deserialize(reader);
|
||||
|
||||
if (virtues.IsUsed())
|
||||
if (player != null && virtues.IsUsed())
|
||||
{
|
||||
_playerVirtues.Add(player, virtues);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue