예제 #1
0
 private void rbUnholy_CheckedChanged(object sender, EventArgs e)
 {
     if (rbUnholy.Checked)
     {
         unLockTxt();
         rotation.setRotation(Rotation.Type.Unholy);
         loadCurRotation();
     }
     updateLabels();
 }
예제 #2
0
        public UnholyCycle(Character c, CombatTable t, Stats s, CalculationOptionsDPSDK opts, AbilityHandler a)
        {
            BP          = 0;
            FF          = 0;
            currentTime = 0;
            GCDTime     = 0;
            occurence   = new Rotation();
            //occurence.presence = calcOpts.rotation.presence;
            occurence.setRotation(Rotation.Type.Custom);
            occurence.NumDisease        = 0f;
            occurence.DiseaseUptime     = 100f;
            occurence.DeathCoil         = 0f;
            occurence.IcyTouch          = 0f;
            occurence.PlagueStrike      = 0f;
            occurence.ScourgeStrike     = 0f;
            occurence.ManagedRP         = false;
            occurence.FrostStrike       = 0f;
            occurence.HowlingBlast      = 0f;
            occurence.Obliterate        = 0f;
            occurence.BloodStrike       = 0f;
            occurence.HeartStrike       = 0f;
            occurence.DancingRuneWeapon = 0f;
            occurence.Horn                = 0f;
            occurence.GargoyleDuration    = 30f;
            occurence.DeathStrike         = 0f;
            occurence.GhoulFrenzy         = 0f;
            occurence.Pestilence          = 0f;
            occurence.CurRotationDuration = 60f;

            RP          = 0;
            FrostRune1  = 0;
            FrostRune2  = 0;
            UnholyRune1 = 0;
            UnholyRune2 = 0;
            BloodRune1  = 0;
            BloodRune2  = 0;
            DeathRune1  = 100 * 60 * 1000 + 1;
            DeathRune2  = 100 * 60 * 1000 + 1;
            horn        = 0;
            abilities   = a;
            character   = c;
            combatTable = t;
            stats       = s;
            talents     = c.DeathKnightTalents;
            calcOpts    = opts;
            if (opts.CurrentPresence == CalculationOptionsDPSDK.Presence.Unholy)
            {
                meleeGCD = 1000;
                spellGCD = 1000;
                RuneCD   = (int)(10000 * (1 - talents.ImprovedUnholyPresence * .05));
            }
            else
            {
                meleeGCD = 1500;
                spellGCD = (int)(1500 / ((1 + (StatConversion.GetHasteFromRating(stats.HasteRating, CharacterClass.DeathKnight))) * (1d + stats.SpellHaste)));
                if (spellGCD < 1000)
                {
                    spellGCD = 1000;
                }
                RuneCD = 10000;
            }

            PhysicalGCDMultiplier = (1 / (1 - (combatTable.dodgedSpecial + combatTable.missedSpecial)));
            SpellGCDMultiplier    = (1 / (1 - (combatTable.spellResist)));

            MHFrequency = (int)(combatTable.MH.hastedSpeed * 1000);
        }