示例#1
0
        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;
        }
示例#2
0
        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;
                    }
                }
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }