From c77b5b14628379fc834009e39b23a01444da9648 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Mon, 7 Dec 2020 12:18:09 -0800 Subject: [PATCH] fix (basecreature): NPE crash for IsFriendPet (#335) Bumps release for the fix --- Projects/UOContent/Mobiles/BaseCreature.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Projects/UOContent/Mobiles/BaseCreature.cs b/Projects/UOContent/Mobiles/BaseCreature.cs index 88bfcf0d7..3f0bf1198 100644 --- a/Projects/UOContent/Mobiles/BaseCreature.cs +++ b/Projects/UOContent/Mobiles/BaseCreature.cs @@ -1791,10 +1791,12 @@ namespace Server.Mobiles // Version 12 writer.Write(m_Paragon); - // Version 13 - writer.Write(Friends?.Count > 0); + var hasFriends = Friends?.Count > 0; - if (Friends?.Count > 0) + // Version 13 + writer.Write(hasFriends); + + if (hasFriends) { writer.Write(Friends, true); } @@ -4198,7 +4200,7 @@ namespace Server.Mobiles EndFleeTime = DateTime.UtcNow + maxDuration; } - public virtual bool IsPetFriend(Mobile m) => Friends.Contains(m); + public virtual bool IsPetFriend(Mobile m) => Friends?.Contains(m) == true; public virtual void AddPetFriend(Mobile m) { @@ -4207,10 +4209,7 @@ namespace Server.Mobiles Friends.Add(m); } - public virtual void RemovePetFriend(Mobile m) - { - Friends?.Remove(m); - } + public virtual void RemovePetFriend(Mobile m) => Friends?.Remove(m); public virtual bool IsFriend(Mobile m) => OppositionGroup?.IsEnemy(this, m) != true && m is BaseCreature c && m_Team == c.m_Team