private void RootComponentCheck() { if (base.localUser != null && base.localUser.cachedBody != null && base.isUserAlive && base.meetsBodyRequirement) { BreathingroomAchievementHandler component = localUser.cachedBody.gameObject.GetComponent <BreathingroomAchievementHandler>(); if (!component) { component = localUser.cachedBody.gameObject.AddComponent <BreathingroomAchievementHandler>(); } if (component.HasReqKills()) { base.Grant(); } } }
private void AddDeath(On.RoR2.GlobalEventManager.orig_OnCharacterDeath orig, GlobalEventManager self, DamageReport damageReport) { if (base.isUserAlive && base.meetsBodyRequirement) { if (damageReport.attacker) { if (damageReport.attacker.GetComponent <CharacterBody>().master.netId != null && damageReport.attacker.GetComponent <CharacterBody>().master.netId == base.localUser.cachedMasterController.master.netId) { BreathingroomAchievementHandler component = damageReport.attacker.GetComponent <BreathingroomAchievementHandler>(); if (component) { component.AddKill(damageReport.victimBody); } } } } orig(self, damageReport); }