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