private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { try { if (self.name.StartsWith(CharBodyStrings.Engineer)) { if (TurretStockIncreasesWithBackup.Value) { self.GetComponent <SkillLocator>().special.SetBonusStockFromBody(self.inventory.GetItemCount(ItemIndex.SecondarySkillMagazine)); } } if (self.name.StartsWith(CharBodyStrings.Mage)) { if (PrimaryIncreasesWitBackup.Value) { self.GetComponent <SkillLocator>().primary.SetBonusStockFromBody(self.inventory.GetItemCount(ItemIndex.SecondarySkillMagazine)); } } } catch (System.Exception ex) { Logger.LogError(ex); } orig(self); }
public static void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self) { if (self.HasBuff(Survivor.Buffs.enrageBuff)) { self.armor += Core.Config.specialBonusArmor.Value; } if (self.HasBuff(Survivor.Buffs.earthshockBuff)) { float bonusSpeed = self.moveSpeed * Core.Config.utilityBonusMoveSpeed.Value; float bonusJumpHeight = self.jumpPower * Core.Config.utilityBonusJumpPower.Value; self.moveSpeed += bonusSpeed; self.jumpPower += bonusJumpHeight; } if (self.HasBuff(Survivor.Buffs.earthshockDebuff)) { self.moveSpeed *= States.Earthshock.debuffSlow; if (!self.gameObject.GetComponent <Miscellaneous.AntiFlyingComponent>()) { self.gameObject.AddComponent <Miscellaneous.AntiFlyingComponent>(); } } } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self) { if (self.HasBuff(Modules.Buffs.warcryBuff)) { float damageBuff = StaticValues.warcryDamageMultiplier * self.damage; self.damage += damageBuff; self.attackSpeed += StaticValues.warcryAttackSpeedBuff; } if (self.HasBuff(Modules.Buffs.scepterWarcryBuff)) { float damageBuff = StaticValues.scepterWarcryDamageMultiplier * self.damage; self.damage += damageBuff; self.attackSpeed += StaticValues.scepterWarcryAttackSpeedBuff; } if (self.HasBuff(Modules.Buffs.torporDebuff)) { self.moveSpeed *= (1 - StaticValues.torporSlowAmount); self.attackSpeed *= (1 - StaticValues.torporSlowAmount); } if (self.HasBuff(Modules.Buffs.scepterTorporDebuff)) { self.moveSpeed *= (1 - StaticValues.scepterTorporSlowAmount); self.attackSpeed *= (1 - StaticValues.scepterTorporSlowAmount); } } }
private void OnRecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody body) { orig(body); if (body.master == null) { return; } var component = body.master.GetComponent <PlayerCharacterMasterController>(); if (component == null) { return; } var player = Players.GetOrAdd(component.networkUser.id, id => new PlayerData(id, component.networkUser.userName)); // body.master.luck Logger.LogInfo($"{Players.Count} - {player.UserName}"); // body.SetPropertyValue("crit", (float) 100); // body.master.GiveMoney(1000); // body.master.GiveExperience(1000); }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { if (self.HasBuff(Sundial.solarBuff)) { self.baseArmor += 10; } orig(self); }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self && self.HasBuff(shrinkDebuff)) { self.damage *= 0.5f; } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == "lobby") { return; } orig(self); }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); int vialCount = GetCount(self); self.regen += ((self.baseRegen + self.levelRegen * (self.level - 1))) + (vialRegen * vialCount); }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self.inventory && self.HasBuff(MustacheHealBuff)) { self.regen += RegenAddAmount + (RegenAddAmountPerStack * (GetCount(self) - 1)); } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self.HasBuff(ThalliumBuff)) { self.moveSpeed = ((float)((self.baseMoveSpeed + (self.levelMoveSpeed * (self.level - 1))) * 0.1)); } }
////// Hooks ////// private void On_CBRecalcStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (IsActiveAndEnabled()) { cbDamageSetter.Invoke(self, new object[] { self.damage / 20f }); cbAttackSetter.Invoke(self, new object[] { self.attackSpeed * 10f }); } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self == this.body && self.HasBuff(Modules.Buffs.kaminaBuff)) { var kaminBuffCount = self.GetBuffCount(Modules.Buffs.kaminaBuff); self.damage *= (1 + (Modules.Buffs.kaminaBuffDmgModifier * kaminBuffCount)); } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self == this.body && self.HasBuff(Modules.Buffs.canopyBuff)) { self.armor += LagannToggleCanopy.armorBuffAmount; } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self) { Modules.Buffs.HandleBuffs(self); Modules.Buffs.HandleDebuffs(self); } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); var component = self.GetComponent <MysticsItemsFragileMaskBehaviour>(); if (component && component.maskActive) { self.isGlass = true; } }
private void On_CBRecalcStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (!NetworkServer.active || (!inclDeploys && self.master?.GetComponent <Deployable>())) { return; } UpdateBarbedWard(self); }
private static void EliteBuffsOnYellow(On.RoR2.CharacterBody.orig_RecalculateStats orig, RoR2.CharacterBody self) { for (int i = 0; i < NewDefsList.Count; i++) { if (self.inventory && self.inventory.GetItemCount(NewDefsList[i].itemIndex) > 0) { self.AddBuff(OldDefsList[i].passiveBuffDef); } } orig(self); }
void hook_CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self.inventory) { if (self.inventory.GetItemCount(this.ItemIndex) > 0) { self.crit += 5; } } }
private void Annex(On.RoR2.CharacterBody.orig_RecalculateStats orig, RoR2.CharacterBody self) { //Yeet orig(self); float oldHealth = self.maxHealth; float oldShield = self.maxShield; self.isElite = self.eliteBuffCount > 1; bool glasArtifact = RunArtifactManager.instance.IsArtifactEnabled(RoR2Content.Artifacts.glassArtifactDef); self.hasOneShotProtection = self.isPlayerControlled && !glasArtifact; self.isGlass = ItemIndex.LunarDagger.GetCount(self) > 0; }
private void CheckBuffAndAddArmor(On.RoR2.CharacterBody.orig_RecalculateStats orig, RoR2.CharacterBody self) { orig(self); if (self.HasBuff(meleeArmorBuff)) { Reflection.SetPropertyValue <float>(self, "armor", self.armor + (self.GetBuffCount(meleeArmorBuff) * armorPerBuff)); #if DEBUG Chat.AddMessage("Turbo Edition: " + ItemName + " CheckBuffAndAddArmor run, " + self + "'s armor is now " + self.armor); Chat.AddMessage("Turbo Edition: " + ItemName + " Increased armor by " + (self.GetBuffCount(meleeArmorBuff) * armorPerBuff) + "."); #endif } }
public static void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self) { if (self.HasBuff(Survivor.Buffs.sacrificeBuff)) { self.moveSpeed += self.moveSpeed * Survivor.States.Sacrifice.moveSpeedBoost; } } }
private void AffixHauntedBuffChanges(On.RoR2.CharacterBody.orig_RecalculateStats orig, RoR2.CharacterBody self) { orig(self); if (self.HasBuff(Resources.Load <BuffDef>("AffixHauntedRecipient"))) { self.armor += 50f; self.attackSpeed *= 1.25f; } if (self.HasBuff(Resources.Load <BuffDef>("AffixHaunted"))) { self.moveSpeed *= 1.25f; } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); // a simple stat hook, adds armor after stats are recalculated if (self) { if (self.HasBuff(Modules.Buffs.armorBuff)) { self.armor += 300f; } } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, RoR2.CharacterBody self) { orig.Invoke(self); if (self.HasBuff(BanditSpeedBuff)) { Reflection.SetPropertyValue <float>(self, "moveSpeed", self.moveSpeed + self.GetBuffCount(BanditSpeedBuff)); //TODO: Integrate this to From The Shadows alternate skill mod //Chat.AddMessage("Shadow buff count: " + self.GetBuffCount(BanditSkills.BanditShadowsBuff)); //Reflection.SetPropertyValue<float>(self, "moveSpeed", self.moveSpeed + self.GetBuffCount(BanditShadowsBuff)); } }
private static void OnArmorAdd(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self && self.inventory) { int count1 = self.inventory.GetItemCount(ToughTimesItemIndex); float ArmorIncrement = 0f; if (count1 > 0) { ArmorIncrement += 14f * count1; } Reflection.SetPropertyValue(self, "armor", self.armor + ArmorIncrement); } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self) { if (self.HasBuff(Modules.Buffs.hiddenJetBuff)) { self.moveSpeed = self.moveSpeed * StatValues.jetMoveMulti; self.acceleration = self.acceleration * (StatValues.jetMoveMulti * 2); } } Modules.Buffs.HandleDebuffs(self); }
private static void OnRegenAdd(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self && self.inventory) { int count1 = self.inventory.GetItemCount(VialItemIndex); float RegenIncrement = 0f; float LevelScale = self.level - 1f; if (count1 > 0) { RegenIncrement += 1.2f * count1 * (1f + LevelScale * 0.2f); } Reflection.SetPropertyValue(self, "regen", self.regen + RegenIncrement); } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); // a simple stat hook, adds armor after stats are recalculated if (self && self == this.body) { this.body.damage += (this.body.damage * (this.energy / 100)); this.body.regen += (this.body.regen * (this.energy / 300)); this.body.moveSpeed += (this.body.moveSpeed * (this.energy / 500)); if (this.body.HasBuff(Modules.Buffs.maxSpiralPowerBuff)) { this.body.armor += 300f; } } }
private void CharacterBody_RecalculateStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (self) { if (self.HasBuff(Modules.Buffs.scaredDebuff)) { } if (self.HasBuff(Modules.Buffs.scaredBuildingDebuff)) { self.attackSpeed = 0f; self.moveSpeed = 0f; } } }
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member private void On_CBRecalcStats(On.RoR2.CharacterBody.orig_RecalculateStats orig, CharacterBody self) { orig(self); if (!IsActiveAndEnabled()) { return; } HealthComponent hc = self.healthComponent; if (!hc || !hc.alive || hc.fullHealth <= 0 || hc.health <= 0 || self.moveSpeed < 0 || hc.health > hc.fullHealth) { return; } self.moveSpeed += self.moveSpeed * maximumPossibleSpeedMultiplier * (1 - (hc.health / hc.fullHealth)); self.acceleration = self.moveSpeed * (self.baseAcceleration / self.baseMoveSpeed); }