private void CharacterBody_OnDeathStart(On.RoR2.CharacterBody.orig_OnDeathStart orig, CharacterBody self)
        {
            orig(self);
            //self.master.IsDeadAndOutOfLivesServer()
            bool lastLifeCheck = cfgOnlyLastLife.Value == false || (cfgOnlyLastLife.Value && self.master && IsDeadAndOutOfLives(self.master));

            if (self.isPlayerControlled && lastLifeCheck)
            {
                if (LocalUserManager.readOnlyLocalUsersList[0].cachedBody?.GetComponent <NetworkIdentity>() == self.GetComponent <NetworkIdentity>())
                {
                    var trackerObject = Instantiate <GameObject>(defaultTrackerObject);
                    trackerObject.name = $"Tracking Corpse: {self.GetDisplayName()}";
                    trackerObject.GetComponent <TrackCorpseClient>().modelTransform = self.modelLocator.modelTransform.transform;
                    trackerObject.GetComponent <TrackCorpseClient>().lastPosition   = self.transform.position;
                }
            }
        }
        private void CharacterBody_OnDeathStart(On.RoR2.CharacterBody.orig_OnDeathStart orig, CharacterBody self)
        {
            orig(self);

            onHatGrow?.Invoke(self.maxHealth * 0.012f);
        }