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(); }
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; }
private void nudTargetArmor_ValueChanged(object sender, EventArgs e) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.BossArmor = (int)nudTargetArmor.Value; Character.OnItemsChanged(); }
private void rbSoB_CheckedChanged(object sender, EventArgs e) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.Seal = rbSoB.Checked ? 1 : 0; Character.OnItemsChanged(); }
private void checkBoxMeta_CheckedChanged(object sender, EventArgs e) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; Character.EnforceMetagemRequirements = checkBoxMeta.Checked; Character.OnItemsChanged(); }
private void rbScryer_CheckedChanged(object sender, EventArgs e) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.ShattrathFaction = rbAldor.Checked ? "Aldor" : "Scryer"; Character.OnItemsChanged(); }
private void checkBoxExorcism_CheckedChanged(object sender, EventArgs e) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.Exorcism = checkBoxExorcism.Checked; Character.OnItemsChanged(); }
private void cbTargetLevel_SelectedIndexChanged(object sender, EventArgs e) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.TargetLevel = int.Parse(cbTargetLevel.SelectedItem.ToString()); Character.OnItemsChanged(); }
/// <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; }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); } }
private void nudTargetSwitch_ValueChanged(object sender, EventArgs e) { if (!loading) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.TargetSwitches = (float)nudTargetSwitch.Value; Character.OnCalculationsInvalidated(); } }
private void nudHoR_ValueChanged(object sender, EventArgs e) { if (!loading) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.HoREff = (float)nudHoR.Value / 100f; Character.OnCalculationsInvalidated(); } }
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); }
private void nudStackTrinket_ValueChanged(object sender, EventArgs e) { if (!loading) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.StackTrinketReset = (int)nudStackTrinket.Value; Character.OnCalculationsInvalidated(); } }
private void chkBloodlust_CheckedChanged(object sender, EventArgs e) { if (!loading) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.Bloodlust = chkBloodlust.Checked; Character.OnCalculationsInvalidated(); } }
private void nudExo20_ValueChanged(object sender, EventArgs e) { if (!loading) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.ExoCD20 = (float)nudExo20.Value; Character.OnCalculationsInvalidated(); } }
private void txtJudge_TextChanged(object sender, EventArgs e) { if (!loading) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.Delay = (float)nudDelay.Value; Character.OnCalculationsInvalidated(); } }
private void cmbLength_ValueChanged(object sender, EventArgs e) { if (!loading) { CalculationOptionsRetribution calcOpts = Character.CalculationOptions as CalculationOptionsRetribution; calcOpts.FightLength = (float)cmbLength.Value; Character.OnCalculationsInvalidated(); } }
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(); } }
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(); }
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(); } }
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(); }
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(); }
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; }
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; }