private void AddWindedDebuff(On.RoR2.CharacterBody.orig_RemoveBuff orig, CharacterBody self, BuffIndex buffType) { orig(self, buffType); if (buffType == SecondWindBuff) { self.AddTimedBuffAuthority(WindedDebuff, windedDebuffDuration); } }
private void CharacterBody_RemoveBuff(On.RoR2.CharacterBody.orig_RemoveBuff orig, CharacterBody self, BuffIndex buffType) { if (buffType == Sundial.solarBuff) { self.baseArmor -= 10; } orig(self, buffType); }
//----------------------------------------------- private void On_BuffEnd(On.RoR2.CharacterBody.orig_RemoveBuff orig, CharacterBody self, BuffIndex bufftype) //returns to normal form after equip time ends { orig(self, bufftype); if (bufftype.Equals(ImpExtractBuff)) { self.masterObject.GetComponent <ImpExtractComponent>().RemoveImp(true); //IL.RoR2.UI.ContextManager.Update -= IL_DrawHUD; } }
private void DamageBoostReset(On.RoR2.CharacterBody.orig_RemoveBuff orig, CharacterBody self, BuffIndex buffType) //Resets the cachedDamageComponent variable, preventing it from getting stuck on a value from a high-damage attack { orig(self, buffType); if (buffType == PatheticBloodBuff || buffType == WeakBloodBuff || buffType == AverageBloodBuff || buffType == StrongBloodBuff || buffType == InsaneBloodBuff || buffType == DevotedBloodBuff) { var cachedDamageComponent = self.gameObject.GetComponent <DamageComponent>(); cachedDamageComponent.cachedDamage = 0; } }
private void CharacterBody_RemoveBuff(On.RoR2.CharacterBody.orig_RemoveBuff orig, CharacterBody self, BuffIndex buffType) { orig(self, buffType); if (buffType == Modules.Buffs.scaredBuildingDebuff) { Modules.Helpers.GetModelAnimator(self).enabled = true; } else if (buffType == Modules.Buffs.scaredDebuff) { if (self.skillLocator.primary) { self.skillLocator.primary.UnsetSkillOverride(self, Modules.Skills.NoAttackSkillDef, GenericSkill.SkillOverridePriority.Replacement); } if (self.skillLocator.secondary) { self.skillLocator.secondary.UnsetSkillOverride(self, Modules.Skills.NoAttackSkillDef, GenericSkill.SkillOverridePriority.Replacement); } if (self.skillLocator.utility) { self.skillLocator.utility.UnsetSkillOverride(self, Modules.Skills.NoAttackSkillDef, GenericSkill.SkillOverridePriority.Replacement); } if (self.skillLocator.special) { self.skillLocator.special.UnsetSkillOverride(self, Modules.Skills.NoAttackSkillDef, GenericSkill.SkillOverridePriority.Replacement); } if (self.inventory && self.inventory.activeEquipmentSlot > 190) { byte newSlot = (byte)(self.inventory.activeEquipmentSlot - 200); self.inventory.SetActiveEquipmentSlot(newSlot); } var interactor = self.gameObject.GetComponent <Interactor>(); if (interactor) { interactor.maxInteractionDistance = Math.Abs(interactor.maxInteractionDistance); } } }