From b05343045f0faa50ae57c58f1c39f57b8c3a73ae Mon Sep 17 00:00:00 2001 From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Date: Sun, 30 Apr 2023 13:44:14 +1200 Subject: [PATCH] Prevent follower recursion (#15921) --- Content.Shared/Follower/FollowerSystem.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Follower/FollowerSystem.cs b/Content.Shared/Follower/FollowerSystem.cs index 1493ce4445..9547cca0ce 100644 --- a/Content.Shared/Follower/FollowerSystem.cs +++ b/Content.Shared/Follower/FollowerSystem.cs @@ -65,8 +65,14 @@ public sealed class FollowerSystem : EntitySystem public void StartFollowingEntity(EntityUid follower, EntityUid entity) { // No recursion for you - if (Transform(entity).ParentUid == follower) - return; + var targetXform = Transform(entity); + while (targetXform.ParentUid.IsValid()) + { + if (targetXform.ParentUid == follower) + return; + + targetXform = Transform(targetXform.ParentUid); + } var followerComp = EnsureComp(follower); followerComp.Following = entity; -- 2.51.2