public override void OnEnter() { base.OnEnter(); this.duration = RageEnter.baseDuration;// / this.attackSpeedStat; this.modelAnimator = base.GetModelAnimator(); base.characterBody.hideCrosshair = true; if (this.modelAnimator) { this.modelAnimator.SetBool("isMoving", false); this.modelAnimator.SetBool("isSprinting", false); } if (NetworkServer.active) { base.characterBody.AddBuff(RoR2Content.Buffs.HiddenInvincibility); } foreach (EntityStateMachine i in base.gameObject.GetComponents <EntityStateMachine>()) { if (i) { if (i.customName == "Weapon") { i.SetNextStateToMain(); } if (i.customName == "Slide") { i.SetNextStateToMain(); } } } PaladinRageController rageComponent = base.gameObject.GetComponent <PaladinRageController>(); if (rageComponent) { rageComponent.SpendRage(100f); } //EffectManager.SimpleMuzzleFlash(Modules.Assets.frenzyChargeEffect, base.gameObject, "Chest", false); base.PlayAnimation("Gesture, Override", "BufferEmpty"); base.PlayAnimation("FullBody, Override", "RageEnter", "Rage.playbackRate", this.duration * 2.75f); Util.PlaySound("HenryFrenzyCharge", base.gameObject); base.cameraTargetParams.cameraParams = Modules.CameraParams.rageEnterCameraParamsPaladin; this.storedPosition = base.transform.position; }
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); } if (self.HasBuff(Modules.Buffs.rageBuff)) { self.armor += 100f; self.damage *= 1.5f; self.moveSpeed += 6f; PaladinRageController rageComponent = self.GetComponent <PaladinRageController>(); if (rageComponent) { float regenAmount = rageComponent.currentRegen; self.regen += regenAmount; } } } }
public override void OnEnter() { base.OnEnter(); this.duration = RageExit.baseDuration / this.attackSpeedStat; this.rageController = this.gameObject.GetComponent <PaladinRageController>(); if (NetworkServer.active) { base.characterBody.RemoveBuff(Modules.Buffs.rageBuff); } if (this.rageController) { this.rageController.ExitBerserk(); } base.skillLocator.utility.UnsetSkillOverride(base.skillLocator.utility, Modules.Skills.berserkDashSkillDef, GenericSkill.SkillOverridePriority.Contextual); base.skillLocator.special.UnsetSkillOverride(base.skillLocator.special, Modules.Skills.berserkOutSkillDef, GenericSkill.SkillOverridePriority.Contextual); }
public override void OnEnter() { base.OnEnter(); this.duration = (1.5f * RageEnter.baseDuration) / this.attackSpeedStat; this.rageController = this.gameObject.GetComponent <PaladinRageController>(); if (NetworkServer.active) { base.characterBody.AddBuff(Modules.Buffs.rageBuff); } base.cameraTargetParams.cameraParams = Modules.CameraParams.rageEnterOutCameraParamsPaladin; base.cameraTargetParams.aimMode = CameraTargetParams.AimType.Aura; this.FireShockwave(); base.skillLocator.utility.SetSkillOverride(base.skillLocator.utility, Modules.Skills.berserkDashSkillDef, GenericSkill.SkillOverridePriority.Contextual); base.skillLocator.special.SetSkillOverride(base.skillLocator.special, Modules.Skills.berserkOutSkillDef, GenericSkill.SkillOverridePriority.Contextual); }