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); }