public ItemAttributesFromLevel(Hero hero) { switch (hero.HeroClass) { case HeroClass.Monk: case HeroClass.DemonHunter: dexterityItem = new ItemValueRange(7 + 3 * hero.Level); intelligenceItem = new ItemValueRange(7 + 1 * hero.Level); strengthItem = new ItemValueRange(7 + 1 * hero.Level); break; case HeroClass.WitchDoctor: case HeroClass.Wizard: dexterityItem = new ItemValueRange(7 + 1 * hero.Level); intelligenceItem = new ItemValueRange(7 + 3 * hero.Level); strengthItem = new ItemValueRange(7 + 1 * hero.Level); break; case HeroClass.Barbarian: case HeroClass.Crusader: dexterityItem = new ItemValueRange(7 + 1 * hero.Level); intelligenceItem = new ItemValueRange(7 + 1 * hero.Level); strengthItem = new ItemValueRange(7 + 3 * hero.Level); break; } vitalityItem = new ItemValueRange(7 + 2 * hero.Level); critDamagePercent = new ItemValueRange(0.5); critPercentBonusCapped = new ItemValueRange(0.05); }
public ItemAttributesFromParagonLevel(Hero hero) { switch (hero.HeroClass) { case HeroClass.Monk: case HeroClass.DemonHunter: case HeroClass.WitchDoctor: case HeroClass.Wizard: case HeroClass.Barbarian: case HeroClass.Crusader: break; } }
public D3Calculator(Hero hero, Item mainHand, Item offHand, IEnumerable<Item> items) { HeroClass = hero.heroClass; HeroLevel = hero.level; // Build unique item equivalent to items worn HeroStatsItem = new StatsItem(mainHand, offHand, items); levelAttributes = new ItemAttributesFromLevel(hero); paragonLevelAttributes = new ItemAttributesFromParagonLevel(hero); Update(); }
private void PopulatePassiveSkills(Hero hero) { if (hero.skills.passive != null) { foreach (var passiveSkill in hero.skills.passive.Where(passive => passive.skill != null)) { var skillCheckBox = passiveCheckBoxes .FirstOrDefault(cb => (cb.Tag as string) == passiveSkill.skill.slug); if (skillCheckBox != null) { skillCheckBox.Checked = true; } } } }
private Hero GetEditedHero() { var hero = new Hero(); hero.heroClass = (HeroClass)Enum.Parse(typeof(HeroClass), (String)(guiHeroClass.SelectedItem)); if (String.IsNullOrEmpty(guiHeroLevel.Text)) { hero.level = 60; } else { hero.level = Int32.Parse(guiHeroLevel.Text); } if (String.IsNullOrEmpty(guiHeroParagonLevel.Text)) { hero.paragonLevel = 0; } else { hero.paragonLevel = Int32.Parse(guiHeroParagonLevel.Text); } return hero; }
private static void PopulateActiveSkills(Hero hero) { if (hero.skills.active != null) { foreach (var activeSkill in hero.skills.active.Where(active => active.skill != null)) { switch (activeSkill.skill.slug) { // Monk case "mantra-of-healing": switch (activeSkill.rune.slug) { case "": break; } break; case "mystic-ally": switch (activeSkill.rune.slug) { case "": break; } break; case "war-cry": switch (activeSkill.rune.slug) { case "": break; } break; } } } }
public D3CalculatorForm(Hero hero) : this() { Item offHand; Item mainHand; Text += " [ " + hero.name + " ]"; guiHeroClass.SelectedItem = hero.heroClass.ToString(); guiHeroLevel.Text = hero.level.ToString(); guiHeroParagonLevel.Text = hero.paragonLevel.ToString(); if (hero.items.bracers != null) { bracers = hero.items.bracers.GetFullItem(); } if (hero.items.feet != null) { feet = hero.items.feet.GetFullItem(); } if (hero.items.hands != null) { hands = hero.items.hands.GetFullItem(); } if (hero.items.head != null) { head = hero.items.head.GetFullItem(); } if (hero.items.leftFinger != null) { leftFinger = hero.items.leftFinger.GetFullItem(); } if (hero.items.legs != null) { legs = hero.items.legs.GetFullItem(); } if (hero.items.neck != null) { neck = hero.items.neck.GetFullItem(); } if (hero.items.rightFinger != null) { rightFinger = hero.items.rightFinger.GetFullItem(); } if (hero.items.shoulders != null) { shoulders = hero.items.shoulders.GetFullItem(); } if (hero.items.torso != null) { torso = hero.items.torso.GetFullItem(); } if (hero.items.waist != null) { waist = hero.items.waist.GetFullItem(); } // If no weapon is set in mainHand, use "naked hand" weapon mainHand = (hero.items.mainHand != null ? hero.items.mainHand.GetFullItem() : D3Calculator.NakedHandWeapon); // If no item is set in offHand, use a blank item if (hero.items.offHand != null) { offHand = hero.items.offHand.GetFullItem(); } else { offHand = D3Calculator.BlankWeapon; } var allRawItems = new List<Item> { bracers, feet, hands, head, leftFinger, legs, neck, rightFinger, shoulders, torso, waist, mainHand, offHand }; guiMainHandEditor.SetEditedItem(mainHand); guiOffHandEditor.SetEditedItem(offHand); guiBracersEditor.SetEditedItem(bracers); guiFeetEditor.SetEditedItem(feet); guiHandsEditor.SetEditedItem(hands); guiHeadEditor.SetEditedItem(head); guiLeftFingerEditor.SetEditedItem(leftFinger); guiLegsEditor.SetEditedItem(legs); guiNeckEditor.SetEditedItem(neck); guiRightFingerEditor.SetEditedItem(rightFinger); guiShouldersEditor.SetEditedItem(shoulders); guiTorsoEditor.SetEditedItem(torso); guiWaistEditor.SetEditedItem(waist); guiSetBonusEditor.SetEditedItem(new Item(allRawItems.Where(i => i != null).ToList().GetActivatedSetBonus())); PopulatePassiveSkills(hero); PopulateActiveSkills(hero); }
private void InsertContextMenu(TreeNode node, Hero d3Object) { node.Tag = new BNetContext<Hero>(D3Api.Host, new BattleTag(guiBattleTag.Text), d3Object); node.ContextMenuStrip = guiHeroContextMenu; node.NodeFont = defaultNodeFont; }
public D3CalculatorForm(Hero hero) : this() { Text += " [ " + hero.Name + " ]"; guiHeroClass.SelectedItem = hero.HeroClass.ToString(); guiHeroLevel.Text = hero.Level.ToString(); guiHeroParagonLevel.Text = hero.ParagonLevel.ToString(); if (hero.Items.Bracers != null) { bracers = hero.Items.Bracers.GetFullItem(); } if (hero.Items.Feet != null) { feet = hero.Items.Feet.GetFullItem(); } if (hero.Items.Hands != null) { hands = hero.Items.Hands.GetFullItem(); } if (hero.Items.Head != null) { head = hero.Items.Head.GetFullItem(); } if (hero.Items.LeftFinger != null) { leftFinger = hero.Items.LeftFinger.GetFullItem(); } if (hero.Items.Legs != null) { legs = hero.Items.Legs.GetFullItem(); } if (hero.Items.Neck != null) { neck = hero.Items.Neck.GetFullItem(); } if (hero.Items.RightFinger != null) { rightFinger = hero.Items.RightFinger.GetFullItem(); } if (hero.Items.Shoulders != null) { shoulders = hero.Items.Shoulders.GetFullItem(); } if (hero.Items.Torso != null) { torso = hero.Items.Torso.GetFullItem(); } if (hero.Items.Waist != null) { waist = hero.Items.Waist.GetFullItem(); } // If no weapon is set in mainHand, use "naked hand" weapon var mainHand = (hero.Items.MainHand != null ? hero.Items.MainHand.GetFullItem() : Constants.NakedHandWeapon); // If no item is set in offHand, use a blank item Item offHand; if (hero.Items.OffHand != null) { offHand = hero.Items.OffHand.GetFullItem(); } else { offHand = Constants.BlankWeapon; } var allRawItems = new List<Item> { bracers, feet, hands, head, leftFinger, legs, neck, rightFinger, shoulders, torso, waist, mainHand, offHand }; guiItemChoiceMainHand.Tag = mainHand; guiItemChoiceOffHand.Tag = offHand; guiItemChoiceBracers.Tag = bracers; guiItemChoiceFeet.Tag = feet; guiItemChoiceHands.Tag = hands; guiItemChoiceHead.Tag = head; guiItemChoiceLeftFinger.Tag = leftFinger; guiItemChoiceLegs.Tag = legs; guiItemChoiceNeck.Tag = neck; guiItemChoiceRightFinger.Tag = rightFinger; guiItemChoiceShoulders.Tag = shoulders; guiItemChoiceTorso.Tag = torso; guiItemChoiceWaist.Tag = waist; guiSetBonusEditor.SetEditedItem(new Item(allRawItems.Where(i => i != null).ToList().GetActivatedSetBonus())); // Main hand item selected by default guiItemChoices_Click(guiItemChoiceMainHand, null); PopulatePassiveSkills(hero); PopulateActiveSkills(hero); DoCalculations(); DoActionOnCalculatedControls(SetAsReferenceValue); }
private void ShowHero(Hero hero) { if (hero == null) { return; } Invoke(new MethodInvoker(() => { guiItemsPanel.Controls.Clear(); guiRefreshHero.Visible = true; guiRunCalculator.Visible = true; })); AddItem(hero.Items.Bracers); AddItem(hero.Items.Feet); AddItem(hero.Items.Hands); AddItem(hero.Items.Head); AddItem(hero.Items.LeftFinger); AddItem(hero.Items.Legs); AddItem(hero.Items.MainHand); AddItem(hero.Items.Neck); AddItem(hero.Items.OffHand); AddItem(hero.Items.RightFinger); AddItem(hero.Items.Shoulders); AddItem(hero.Items.Torso); AddItem(hero.Items.Waist); }
public Hero GetHeroFromBattleTag(BattleTag battleTag) { return(Hero.CreateFromHeroId(battleTag, id)); }