Esempio n. 1
0
        public float GetActivates(float YellowAttacksThatDodgeOverDur, float YellowAttacksThatParryOverDur, float ssActs)
        {
            if (AbilIterater != -1 && !CalcOpts.Maintenance[AbilIterater])
            {
                return(0f);
            }

            float acts      = 0f;
            float LatentGCD = (1.5f + CalcOpts.Latency + (UseReact ? CalcOpts.React / 1000f : CalcOpts.AllowedReact));

            float dodge = Whiteattacks.MHAtkTable.Dodge;
            float parry = (Talents.GlyphOfOverpower ? Whiteattacks.MHAtkTable.Parry : 0f);

            // Chance to activate: Dodges + (if glyphed) Parries
            if (dodge + parry > 0f)
            {
                float WhtHitsOverDur = FightDuration / Whiteattacks.MhEffectiveSpeed
                                       + (combatFactors.useOH ? FightDuration / Whiteattacks.OhEffectiveSpeed : 0f)
                                       + ssActs;

                float dodgesoverDur = 0f
                                      + WhtHitsOverDur * (dodge + parry)
                                      + (dodge > 0 ? YellowAttacksThatDodgeOverDur : 0)
                                      + (parry > 0 ? YellowAttacksThatParryOverDur : 0);

                //acts += Math.Max(0f, dodgesoverDur * (1f - Whiteattacks.AvoidanceStreak));
                acts += Math.Max(0f, dodgesoverDur * (1f - Whiteattacks.RageSlip(FightDuration / dodgesoverDur, RageCost)));
            }

            return(acts);
        }
Esempio n. 2
0
        // Functions
        public float GetActivates(float landedatksoverdur)
        {
            if (AbilIterater != -1 && !CalcOpts.Maintenance[AbilIterater])
            {
                return(0f);
            }
            float acts = Buff.GetAverageProcsPerSecond(landedatksoverdur / FightDuration, 1f /*MHAtkTable.AnyLand*/, combatFactors._c_mhItemSpeed, FightDuration);

            acts *= FightDuration;
            if (StatS.BonusWarrior_T10_4P_BSSDProcChange > 0)
            {
                acts *= 1.20f;
            }

            return(acts * (1f - Whiteattacks.RageSlip(FightDuration / acts, RageCost + UsedExtraRage)));
        }