Esempio n. 1
0
        private void cbConsRank_SelectedIndexChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.ConsecRank = int.Parse(cbConsRank.SelectedItem.ToString().Substring(5, 1));
            Character.OnItemsChanged();
        }
Esempio n. 2
0
        private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBox cb     = (ComboBox)sender;
            string   talent = cb.Name.Substring(8);
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            switch (talent)
            {
            case "TwoHandedSpec": calcOpts.TwoHandedSpec = cb.SelectedIndex; break;    // int.Parse(cb.SelectedItem.ToString()); break;

            case "Conviction": calcOpts.Conviction = cb.SelectedIndex; break;

            case "Crusade": calcOpts.Crusade = cb.SelectedIndex; break;

            case "DivineStrength": calcOpts.DivineStrength = cb.SelectedIndex; break;

            case "Fanaticism": calcOpts.Fanaticism = cb.SelectedIndex; break;

            case "ImprovedSanctityAura": calcOpts.ImprovedSanctityAura = cb.SelectedIndex; break;

            case "Precision": calcOpts.Precision = cb.SelectedIndex; break;

            case "SanctityAura": calcOpts.SanctityAura = cb.SelectedIndex; break;

            case "SanctifiedSeals": calcOpts.SanctifiedSeals = cb.SelectedIndex; break;

            case "Vengeance": calcOpts.Vengeance = cb.SelectedIndex; break;
            }
            Character.OnItemsChanged();
            calcOpts.TalentsSaved = true;
        }
Esempio n. 3
0
        private void nudTargetArmor_ValueChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.BossArmor = (int)nudTargetArmor.Value;
            Character.OnItemsChanged();
        }
Esempio n. 4
0
        private void rbSoB_CheckedChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.Seal = rbSoB.Checked ? 1 : 0;
            Character.OnItemsChanged();
        }
Esempio n. 5
0
        private void checkBoxMeta_CheckedChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            Character.EnforceMetagemRequirements = checkBoxMeta.Checked;
            Character.OnItemsChanged();
        }
Esempio n. 6
0
        private void rbScryer_CheckedChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.ShattrathFaction = rbAldor.Checked ? "Aldor" : "Scryer";
            Character.OnItemsChanged();
        }
Esempio n. 7
0
        private void checkBoxExorcism_CheckedChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.Exorcism = checkBoxExorcism.Checked;
            Character.OnItemsChanged();
        }
Esempio n. 8
0
        private void cbTargetLevel_SelectedIndexChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.TargetLevel = int.Parse(cbTargetLevel.SelectedItem.ToString());
            Character.OnItemsChanged();
        }
Esempio n. 9
0
        /// <summary>
        /// Saves the talents for the character
        /// </summary>
        /// <param name="character">The character for whom the talents should be saved</param>
        public void GetTalents(Character character)
        {
            CalculationOptionsRetribution calcOpts = character.CalculationOptions as CalculationOptionsRetribution;

            if (!calcOpts.TalentsSaved)
            {
                if (character.Talents.Trees.Count > 0)
                {
                    if (character.Talents.Trees.ContainsKey("Protection"))
                    {
                        calcOpts.Precision = character.Talents.Trees["Protection"][2].PointsInvested;
                    }
                    if (character.Talents.Trees.ContainsKey("Retribution"))
                    {
                        calcOpts.Crusade              = character.Talents.Trees["Retribution"][11].PointsInvested;
                        calcOpts.TwoHandedSpec        = character.Talents.Trees["Retribution"][12].PointsInvested;
                        calcOpts.SanctityAura         = character.Talents.Trees["Retribution"][13].PointsInvested;
                        calcOpts.ImprovedSanctityAura = character.Talents.Trees["Retribution"][14].PointsInvested;
                        calcOpts.SanctifiedSeals      = character.Talents.Trees["Retribution"][17].PointsInvested;
                        calcOpts.Fanaticism           = character.Talents.Trees["Retribution"][20].PointsInvested;
                        calcOpts.Vengeance            = character.Talents.Trees["Retribution"][15].PointsInvested;
                        calcOpts.Conviction           = character.Talents.Trees["Retribution"][6].PointsInvested;
                    }
                    if (character.Talents.Trees.ContainsKey("Holy"))
                    {
                        calcOpts.DivineStrength = character.Talents.Trees["Holy"][0].PointsInvested;
                    }
                    calcOpts.TalentsSaved = true;
                }
            }
        }
        public void LoadCalculationOptions()
        {
            string info = "";

            _loadingCalculationOptions = true;
            try {
                if (Character != null && Character.CalculationOptions == null)
                {
                    // If it's broke, make a new one with the defaults
                    Character.CalculationOptions = new CalculationOptionsRetribution();
                    _loadingCalculationOptions   = true;
                }
                else if (Character == null)
                {
                    return;
                }
                calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
                // == Model Specific Code ==
            } catch (Exception ex) {
                new Base.ErrorBox()
                {
                    Title        = "Error in loading the Retribution Options Pane",
                    Function     = "LoadCalculationOptions()",
                    TheException = ex,
                    Info         = info,
                }.Show();
            }
            _loadingCalculationOptions = false;
        }
Esempio n. 11
0
        private void tbFerociousInspiration_ValueChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.FerociousInspiration   = tbFerociousInspiration.Value;
            lblFerociousInspirationNum.Text = tbFerociousInspiration.Value.ToString();
            Character.OnItemsChanged();
        }
Esempio n. 12
0
        private void tbDrumsOfWar_ValueChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.DrumsOfWar   = tbDrumsOfWar.Value;
            lblDrumsOfWarNum.Text = tbDrumsOfWar.Value.ToString();
            Character.OnItemsChanged();
        }
Esempio n. 13
0
        private void tbBloodlust_ValueChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.Bloodlust   = tbBloodlust.Value;
            lblBloodlustNum.Text = tbBloodlust.Value.ToString();
            Character.OnItemsChanged();
        }
Esempio n. 14
0
        private void tbExposeWeakness_ValueChanged(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.ExposeWeaknessAPValue = tbExposeWeakness.Value;
            lblExposeWeaknessNum.Text      = tbExposeWeakness.Value.ToString();
            Character.OnItemsChanged();
        }
Esempio n. 15
0
        private void tbFightLength_Scroll(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.FightLength   = tbFightLength.Value;
            lblFightLengthNum.Text = tbFightLength.Value.ToString();
            Character.OnItemsChanged();
        }
Esempio n. 16
0
 private void cmbMobType_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.Mob = (MobType)Enum.Parse(typeof(MobType), cmbMobType.Text);
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 17
0
 private void nudTargetSwitch_ValueChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.TargetSwitches = (float)nudTargetSwitch.Value;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 18
0
 private void nudHoR_ValueChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.HoREff = (float)nudHoR.Value / 100f;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 19
0
        public override ICalculationOptionBase DeserializeDataObject(string xml)
        {
            System.Xml.Serialization.XmlSerializer serializer =
                new System.Xml.Serialization.XmlSerializer(typeof(CalculationOptionsRetribution));
            System.IO.StringReader        reader   = new System.IO.StringReader(xml);
            CalculationOptionsRetribution calcOpts = serializer.Deserialize(reader) as CalculationOptionsRetribution;

            return(calcOpts);
        }
Esempio n. 20
0
 private void nudStackTrinket_ValueChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.StackTrinketReset = (int)nudStackTrinket.Value;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 21
0
 private void chkBloodlust_CheckedChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.Bloodlust = chkBloodlust.Checked;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 22
0
 private void nudExo20_ValueChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.ExoCD20 = (float)nudExo20.Value;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 23
0
 private void txtJudge_TextChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.Delay = (float)nudDelay.Value;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 24
0
 private void cmbLength_ValueChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.FightLength = (float)cmbLength.Value;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 25
0
 private void radRotSim_CheckedChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         SetSimulateRotation(radRotSim.Checked);
         calcOpts.SimulateRotation = radRotSim.Checked;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 26
0
        private void butNewRotation_Click(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.Rotations.Add((Ability[])calcOpts.Rotations[cmbRotations.SelectedIndex].Clone());
            buildRotationCombo();
            cmbRotations.SelectedIndex = calcOpts.Rotations.Count - 1;
            butDelRotation.Enabled     = calcOpts.Rotations.Count > 1;
            Character.OnCalculationsInvalidated();
        }
Esempio n. 27
0
 private void textExperimental_TextChanged(object sender, EventArgs e)
 {
     if (!loading)
     {
         CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         calcOpts.Experimental = textExperimental.Text;
         CalculationsRetribution.Experimental = textExperimental.Text;
         Character.OnCalculationsInvalidated();
     }
 }
Esempio n. 28
0
        private void butDelRotation_Click(object sender, EventArgs e)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;

            calcOpts.Rotations.RemoveAt(cmbRotations.SelectedIndex);
            cmbRotations.SelectedIndex = 0;
            buildRotationCombo();
            butDelRotation.Enabled = calcOpts.Rotations.Count > 1;

            Character.OnCalculationsInvalidated();
        }
Esempio n. 29
0
        public RotationCalculation(Character character, StatsRetri stats)
        {
            Character = character;
            Stats     = stats;
            CalcOpts  = character.CalculationOptions as CalculationOptionsRetribution;
            dpChance  = character.PaladinTalents.DivinePurpose * PaladinConstants.DP_CHANCE;

            #region Initialization
            casts[DamageAbility.Consecration]    = 0f;
            casts[DamageAbility.CrusaderStrike]  = 0f;
            casts[DamageAbility.Exorcism]        = 0f;
            casts[DamageAbility.Inquisition]     = 0f;
            casts[DamageAbility.HammerOfWrath]   = 0f;
            casts[DamageAbility.HolyWrath]       = 0f;
            casts[DamageAbility.Judgement]       = 0f;
            casts[DamageAbility.TemplarsVerdict] = 0f;
            casts[DamageAbility.GoaK]            = 0f;

            skills[DamageAbility.CrusaderStrike]  = new CrusaderStrike(Character, Stats);
            skills[DamageAbility.TemplarsVerdict] = new TemplarsVerdict(Character, Stats);
            skills[DamageAbility.White]           = new White(Character, Stats);
            skills[DamageAbility.Exorcism]        = new Exorcism(Character, Stats, White.CT.ChanceToLand);
            skills[DamageAbility.Inquisition]     = new Inquisition(Character, Stats, CalcOpts.HPperInq);
            skills[DamageAbility.HolyWrath]       = new HolyWrath(Character, Stats);
            skills[DamageAbility.HammerOfWrath]   = new HammerOfWrath(Character, Stats);
            skills[DamageAbility.Consecration]    = new Consecration(Character, Stats);
            skills[DamageAbility.GoaK]            = new GuardianOfTheAncientKings(Character, Stats);
            skills[DamageAbility.SoC]             = new SealOfCommand(Character, Stats);

            switch (CalcOpts.Seal)
            {
            case SealOf.Righteousness:
                skills[DamageAbility.Seal]      = new SealOfRighteousness(Character, Stats);
                skills[DamageAbility.SealDot]   = new NullSealDoT(Character, Stats);
                skills[DamageAbility.Judgement] = new JudgementOfRighteousness(Character, Stats);
                break;

            case SealOf.Truth:
                skills[DamageAbility.Seal]      = new SealOfTruth(Character, Stats);
                skills[DamageAbility.SealDot]   = new SealOfTruthDoT(Character, Stats, 5f);
                skills[DamageAbility.Judgement] = new JudgementOfTruth(Character, Stats, 5f);
                break;

            default:
                skills[DamageAbility.Seal]      = new NullSeal(Character, Stats);
                skills[DamageAbility.SealDot]   = new NullSealDoT(Character, Stats);
                skills[DamageAbility.Judgement] = new NullJudgement(Character, Stats);
                break;
            }
            #endregion

            CalcRotation();
        }
Esempio n. 30
0
        private void showRotation(int number)
        {
            CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
            List <string> abilityList = new List <string>(calcOpts.Rotations[number].Length);

            foreach (Ability ability in calcOpts.Rotations[number])
            {
                abilityList.Add(SimulatorParameters.AbilityString(ability));
            }
            listRotation.Items.Clear();
            listRotation.Items.AddRange(abilityList.ToArray());
        }
 public CalculationOptionsRetribution Clone()
 {
     CalculationOptionsRetribution clone = new CalculationOptionsRetribution
                                               {
                                                   Seal = Seal,
                                                   InqRefresh = InqRefresh,
                                                   SkipToCrusader = SkipToCrusader,
                                                   HPperInq = HPperInq
                                               };
     // Tab - Fight Parameters
     return clone;
 }
Esempio n. 32
0
        public RotationCalculation(Character character, StatsRetri stats)
        {
            Character = character;
            Stats = stats;
            CalcOpts = character.CalculationOptions as CalculationOptionsRetribution;
            dpChance = character.PaladinTalents.DivinePurpose * PaladinConstants.DP_CHANCE;

            #region Initialization
            casts[DamageAbility.Consecration] = 0f;
            casts[DamageAbility.CrusaderStrike] = 0f;
            casts[DamageAbility.Exorcism] = 0f;
            casts[DamageAbility.Inquisition] = 0f;
            casts[DamageAbility.HammerOfWrath] = 0f;
            casts[DamageAbility.HolyWrath] = 0f;
            casts[DamageAbility.Judgement] = 0f;
            casts[DamageAbility.TemplarsVerdict] = 0f;
            casts[DamageAbility.GoaK] = 0f;

            skills[DamageAbility.CrusaderStrike] = new CrusaderStrike(Character, Stats);
            skills[DamageAbility.TemplarsVerdict] = new TemplarsVerdict(Character, Stats);
            skills[DamageAbility.White] = new White(Character, Stats);
            skills[DamageAbility.Exorcism] = new Exorcism(Character, Stats, White.CT.ChanceToLand);
            skills[DamageAbility.Inquisition] = new Inquisition(Character, Stats, CalcOpts.HPperInq);
            skills[DamageAbility.HolyWrath] = new HolyWrath(Character, Stats);
            skills[DamageAbility.HammerOfWrath] = new HammerOfWrath(Character, Stats);
            skills[DamageAbility.Consecration] = new Consecration(Character, Stats);
            skills[DamageAbility.GoaK] = new GuardianOfTheAncientKings(Character, Stats);
            skills[DamageAbility.SoC] = new SealOfCommand(Character, Stats);

            switch (CalcOpts.Seal)
            {
                case SealOf.Righteousness:
                    skills[DamageAbility.Seal] = new SealOfRighteousness(Character, Stats);
                    skills[DamageAbility.SealDot] = new NullSealDoT(Character, Stats);
                    skills[DamageAbility.Judgement] = new JudgementOfRighteousness(Character, Stats);
                    break;
                case SealOf.Truth:
                    skills[DamageAbility.Seal] = new SealOfTruth(Character, Stats);
                    skills[DamageAbility.SealDot] = new SealOfTruthDoT(Character, Stats, 5f);
                    skills[DamageAbility.Judgement] = new JudgementOfTruth(Character, Stats, 5f);
                    break;
                default:
                    skills[DamageAbility.Seal] = new NullSeal(Character, Stats);
                    skills[DamageAbility.SealDot] = new NullSealDoT(Character, Stats);
                    skills[DamageAbility.Judgement] = new NullJudgement(Character, Stats);
                    break;
            }
            #endregion

            CalcRotation();
        }
 public void LoadCalculationOptions()
 {
     string info = "";
     _loadingCalculationOptions = true;
     try {
         if (Character != null && Character.CalculationOptions == null)
         {
             // If it's broke, make a new one with the defaults
             Character.CalculationOptions = new CalculationOptionsRetribution();
             _loadingCalculationOptions = true;
         }
         else if (Character == null) { return; }
         calcOpts = Character.CalculationOptions as CalculationOptionsRetribution;
         // == Model Specific Code ==
     } catch (Exception ex) {
         new Base.ErrorBox() {
             Title = "Error in loading the Retribution Options Pane",
             Function = "LoadCalculationOptions()",
             TheException = ex,
             Info = info,
         }.Show();
     }
     _loadingCalculationOptions = false;
 }
 public Stats GetBuffsStats(Character character, CalculationOptionsRetribution calcOpts) 
 {
     // Variables
     List<Buff> removedBuffs = new List<Buff>();
     List<Buff> addedBuffs = new List<Buff>();
     List<Buff> buffGroup = new List<Buff>();
     // Removes the Stats from the Heroism and Equivalent buffs, but keeps the relevancy
     buffGroup.Clear();
     buffGroup.Add(Buff.GetBuffByName("Heroism/Bloodlust"));
     buffGroup.Add(Buff.GetBuffByName("Time Warp"));
     buffGroup.Add(Buff.GetBuffByName("Ancient Hysteria"));
     MaintBuffHelper(buffGroup, character, removedBuffs);
     // Pull the stats from the modified active buffs list
     Stats statsBuffs = GetBuffsStats(character.ActiveBuffs, character.SetBonusCount);
     // Put things back the way they were for the UI
     foreach (Buff b in removedBuffs) { character.ActiveBuffsAdd(b); }
     foreach (Buff b in addedBuffs) { character.ActiveBuffs.Remove(b); }
     // Return the result
     return statsBuffs;
 }