Register for your free account! | Forgot your password?

Go Back   elitepvpers > Diablo 3 > Diablo 3 Guides & Strategies
You last visited: Today at 11:42

  • Please register to post and access all features, it's quick, easy and FREE!

 

Diablo 3 Calculator - Patch 1.0.4

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2006
Posts: 29
Received Thanks: 11
Diablo 3 Calculator - Patch 1.0.4

Greetings,

Note that this is still on development stage, and therefore some things are still not working. Only a simple Damage Calculator have been implemented.

Please report any bugs/errors/etc.


Regards,
fRodzet

Here is some of the Code - incase you find some misscalculations or anything, please comment them here

Main Code
Code:
Public Class MainForm

    Private Builds As New Dictionary(Of String, String())
    Private Selection As New Dictionary(Of String, String())
    Private Skills, Passives As New Dictionary(Of String, String())


    Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'Character Builds
        'Melee Builds
        Builds.Add("Barbarian", {"Main-Hand Weapon + Off-Hand Weapon", "Main-Hand Weapon + Shield", "Two-Hand Weapon"})
        Builds.Add("Monk", {"Main-Hand Weapon + Off-Hand Weapon", "Main-Hand Weapon + Shield", "Two-Hand Weapon"})

        'Ranged Builds
        Builds.Add("Wizard", {"Main-Hand Weapon + Source", "Main-Hand Weapon + Shield", "Two-Hand Weapon"})
        Builds.Add("Demon Hunter", {"Main-Hand Crossbow + Off-Hand Crossbow", "Main-Hand Crossbow + Shield", "Main-Hand Crossbow + Quiver", "Two-Hand Weapon + Quiver"})
        Builds.Add("Witch Doctor", {"Main-Hand Weapon + Mojo", "Main-Hand Weapon + Shield", "Two-Hand Weapon"})

        'Calculator Selection
        Selection.Add("Damage Calculator", {})

        'Skills & Passives Selection
        'Barbarian
        Skills.Add("Barbarian", {"Cleave", "Frenzy", "Bash", "Hammer of the Ancients", "Rend", "Seismic Slam", "Whirlwind", "Ground Stomp", "Leap", "Sprint", "Ignore Pain", "Ancient Spear", "Revenge", "Furious Charge", "Overpower", "Weapon Throw", "Threatening Shout", "Battle Rage", "War Cry", "Earthquake", "Call of the Ancients", "Wrath of the Berserker"})
        Passives.Add("Barbarian", {"Non", "Ruthless", "Weapons Master", "Berserker Rage", "No Escape", "Brawler"})

        'Wizard
        Skills.Add("Wizard", {"Magic Missile", "Shock Pulse", "Spectral Blade", "Electrocute", "Ray of Frost", "Arcane Orb", "Arcane Torrent", "Disintegrate", "Frost Nova", "Diamond Skin", "Slow Time", "Teleport", "Wave of Force", "Energy Twister", "Hydra", "Meteor", "Blizzard", "Ice Armor", "Storm Armor", "Magic Weapon", "Familiar", "Energy Armor", "Explosive Blast", "Mirror Image", "Archon"})
        Passives.Add("Wizard", {"Non", "Glass Cannon", "Cold Blooded", "Conflagration", "Arcane Dynamo"})

        'Monk
        Skills.Add("Monk", {"Fists of Thunder", "Deadly Reach", "Crippling Wave", "Way of the Hundred Fists", "Lashing Tail Kick", "Tempest Rush", "Wave of Light", "Blinding Flash", "Breath of Heaven", "Serenity", "Inner Sanctuary", "Dashing Strike", "Exploding Palm", "Sweeping Wind", "Cyclone Strike", "Seven-Sided Strike", "Mystic Ally", "Mantra of Evasion", "Mantra of Retribution", "Mantra of Healing", "Mantra of Conviction"})
        Passives.Add("Monk", {"Non", "Guiding Light", "Combination Strike"})

        'Demon Hunter
        Skills.Add("Demon Hunter", {"Hungering Arrow", "Entangling Shot", "Bola Shot", "Grenades", "Impale", "Rapid Fire", "Chakram", "Elemental Arrow", "Caltrops", "Smoke Screen", "Shadow Power", "Vault", "Preparation", "Companion", "Marked for Death", "Evasive Fire", "Fan of Knives", "Spike Trap", "Sentry", "Strafe", "Multishot", "Cluster Arrow", "Rain of Vengeance"})
        Passives.Add("Demon Hunter", {"Non", "Steady Aim", "Cull the Weak", "Archery", "Sharpshooter", "Ballistics"})

        'Witch Doctor
        Skills.Add("Witch Doctor", {"Poison Dart", "Corpse Spiders", "Plague of Toads", "Fire Bomb", "Grasp of the Dead", "Firebats", "Haunt", "Locust Swarm", "Summon Zombie Dogs", "Horrify", "Spirit Walk", "Hex", "Soul Harvest", "Sacrifice", "Mass Confusion", "Zombie Charger", "Spirit Barrage", "Acid Cloud", "Wall of Zombies", "Gargantuan", "Big Bad Voodoo", "Fetish Army"})
        Passives.Add("Witch Doctor", {"Gruesome Feast", "Zombie Handler", "Pierce the Veil", "Fetish Sycophants"})

        ClassCombo.Items.Clear()
        CalculatorCombo.Items.Clear()

        For Each Type In Builds.Keys
            ClassCombo.Items.Add(Type)
        Next

        For level = 1 To 60
            LevelCombo.Items.Add(level)
        Next

        For paragon = 0 To 100
            ParagonCombo.Items.Add(paragon)
        Next


    End Sub

    Private Sub ClassCombo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClassCombo.SelectedIndexChanged

        CalculatorCombo.Items.Clear()
        DamageForm.MainPrimLbl.Text = "Primary Stat"
        DamageForm.OffPrimLbl.Text = "Primary Stat"
        DamageForm.AllPrimLbl.Text = "Primary Stat"

        For Each calc In Selection.Keys
            CalculatorCombo.Items.Add(calc)
        Next

        Dim cmb As ComboBox = sender
        DamageForm.BuildCombo.Items.Clear()
        DamageForm.BuildCombo.Items.AddRange(Builds(cmb.Text))

        Dim skill As ComboBox = sender
        DamageForm.SkillCombo1.Items.Clear()
        DamageForm.SkillCombo2.Items.Clear()
        DamageForm.SkillCombo3.Items.Clear()
        DamageForm.SkillCombo4.Items.Clear()
        DamageForm.SkillCombo5.Items.Clear()
        DamageForm.SkillCombo6.Items.Clear()

        DamageForm.SkillCombo1.Items.AddRange(Skills(skill.Text))
        DamageForm.SkillCombo2.Items.AddRange(Skills(skill.Text))
        DamageForm.SkillCombo3.Items.AddRange(Skills(skill.Text))
        DamageForm.SkillCombo4.Items.AddRange(Skills(skill.Text))
        DamageForm.SkillCombo5.Items.AddRange(Skills(skill.Text))
        DamageForm.SkillCombo6.Items.AddRange(Skills(skill.Text))

        Dim passive As ComboBox = sender
        DamageForm.PassiveCombo1.Items.Clear()
        DamageForm.PassiveCombo2.Items.Clear()
        DamageForm.PassiveCombo3.Items.Clear()

        DamageForm.PassiveCombo1.Items.AddRange(Passives(passive.Text))
        DamageForm.PassiveCombo2.Items.AddRange(Passives(passive.Text))
        DamageForm.PassiveCombo3.Items.AddRange(Passives(passive.Text))

        Select Case ClassCombo.Text

            Case "Barbarian"
                DamageForm.MainPrimLbl.Text = "Strength"
                DamageForm.OffPrimLbl.Text = "Strength"
                DamageForm.AllPrimLbl.Text = "Strength"

            Case "Demon Hunter", "Monk"
                DamageForm.MainPrimLbl.Text = "Dexterity"
                DamageForm.OffPrimLbl.Text = "Dexterity"
                DamageForm.AllPrimLbl.Text = "Dexterity"

            Case "Wizard", "Witch Doctor"
                DamageForm.MainPrimLbl.Text = "Intelligence"
                DamageForm.OffPrimLbl.Text = "Intelligence"
                DamageForm.AllPrimLbl.Text = "Intelligence"

        End Select

    End Sub

    Private Sub CalculatorCombo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalculatorCombo.SelectedIndexChanged

        Select Case CalculatorCombo.Text

            Case "Damage Calculator"

                DamageForm.Show()

        End Select

    End Sub
End Class
Damage Code
Code:
Public Class DamageForm

    Private Monk As New Dictionary(Of String, String())
    Private Barbarian As New Dictionary(Of String, String())
    Private Wizard As New Dictionary(Of String, String())
    Private DH As New Dictionary(Of String, String())
    Private WD As New Dictionary(Of String, String())
    Private Spells As New Dictionary(Of String, String())
    Private APS As New Dictionary(Of String, String())



    Private Sub DamageForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        MainCombo.Items.Clear()
        OffCombo.Items.Clear()

        'Create List of Weapons for Barbarian
        Barbarian.Add("Main-Hand Weapon + Off-Hand Weapon", {"Spear", "Sword", "Axe", "Mighty Weapon", "Dagger", "Mace"})
        Barbarian.Add("Main-Hand Weapon + Shield", {"Spear", "Sword", "Axe", "Mighty Weapon", "Dagger", "Mace"})
        Barbarian.Add("Two-Hand Weapon", {"Polearm", "Sword", "Axe", "Mighty Weapon", "Mace"})

        'Create List of Weapons for Monk
        Monk.Add("Main-Hand Weapon + Off-Hand Weapon", {"Spear", "Sword", "Axe", "Fist Weapon", "Dagger", "Mace"})
        Monk.Add("Main-Hand + Shield", {"Spear", "Sword", "Axe", "Fist Weapon", "Dagger", "Mace"})
        Monk.Add("Two-Hand Weapon", {"Staff", "Daibo", "Axe", "Mace", "Sword", "Polearm"})

        'Create List of Weapons for Wizard
        Wizard.Add("Main-Hand Weapon + Source", {"Spear", "Sword", "Axe", "Wand", "Dagger", "Mace"})
        Wizard.Add("Main-Hand Weapon + Shield", {"Spear", "Sword", "Axe", "Wand", "Dagger", "Mace"})
        Wizard.Add("Two-Hand Weapon", {"Axe", "Bow", "Crossbow", "Mace", "Staff", "Sword"})

        'Create List of Weapons for Witch Doctor
        WD.Add("Main-Hand Weapon + Mojo", {"Spear", "Sword", "Axe", "Ceremonial Knife", "Dagger", "Mace"})
        WD.Add("Main-Hand Weapon + Shield", {"Spear", "Sword", "Axe", "Ceremonial Knife", "Dagger", "Mace"})
        WD.Add("Two-Hand Weapon", {"Axe", "Bow", "Crossbow", "Mace", "Sword", "Staff", "Polearm"})

        'Create List of Weapons for Demon Hunter
        DH.Add("Main-Hand Crossbow + Quiver", {"Hand Crossbow"})
        DH.Add("Main-Hand Crossbow + Off-Hand Crossbow", {"Hand Crossbow"})
        DH.Add("Main-Hand Crossbow + Shield", {"Hand Crossbow"})
        DH.Add("Two-Hand Weapon + Quiver", {"Bow", "Crossbow"})

        'Runes Barbarian Selection
        Spells.Add("Bash", {"Non-Rune", "Clobber", "Onslaught", "Punish", "Instigation", "Pulverize"})
        Spells.Add("Cleave", {"Non-Rune", "Rupture", "Reaping Swing", "Scattering Blast", "Broad Sweep", "Gathering Storm"})
        Spells.Add("Frenzy", {"Non-Rune", "Sidearm", "Triumph", "Vanguard", "Smite", "Maniac"})
        Spells.Add("Hammer of the Ancients", {"Non-Rune", "Rolling Thunder", "Smash", "The Devil's Anvil", "Thunderstrike", "Birthright"})
        Spells.Add("Rend", {"Non-Rune", "Ravage", "Blood Lust", "Lacerate", "Mutilate", "Bloodbath"})
        Spells.Add("Seismic Slam", {"Non-Rune", "Stagger", "Shattered Ground", "Rumble", "Strength from Earth", "Cracking Rift"})
        Spells.Add("Whirlwind", {"Non-Rune", "Dust Devils", "Hurricane", "Blood Funnel", "Wind Shear", "Volcanic Eruption"})
        Spells.Add("Ground Stomp", {"Non-Rune", "Deafening Crash", "Wrenching Smash", "Trembling Stomp", "Foot of the Mountain", "Avalanche"})
        Spells.Add("Leap", {"Non-Rune", "Iron Impact", "Launch", "Troppling Impact", "Call of Arreat", "Death from Above"})
        Spells.Add("Sprint", {"Non-Rune", "Rush", "Run Like the Wind", "Marathon", "Gangway", "Forced March"})
        Spells.Add("Ignore Pain", {"Non-Rune", "Bravado", "Iron Hide", "Ignorance is Bliss", "Mob Rule", "Contempt for Weakness"})
        Spells.Add("Ancient Spear", {"Non-Rune", "Grappling Hooks", "Skirmish", "Dread Spear", "Harpoon", "Rage Flip"})
        Spells.Add("Revenge", {"Non-Rune", "Vengeance Is Mine", "Best Served Cold", "Retribution", "Grudge", "Provocation"})
        Spells.Add("Furious Charge", {"Non-Rune", "Battering Ram", "Merciless Assault", "Stamina", "Bulld Rush", "Dreadnought"})
        Spells.Add("Overpower", {"Non-Rune", "Storm of Steel", "Killing Spree", "Crushing Advance", "Momentum", "Revel"})
        Spells.Add("Weapon Throw", {"Non-Rune", "Mighty Throw", "Ricochet", "Throwing Hammer", "Stupefy", "Dread Bomb"})
        Spells.Add("Threatening Shout", {"Non-Rune", "Intimidate", "Falter", "Grim Harvest", "Demoralize", "Terrify"})
        Spells.Add("Battle Rage", {"Non-Rune", "Marauder's Rage", "Ferocity", "Swords to Ploughshares", "Into the Fray", "Bloodshed"})
        Spells.Add("War Cry", {"Non-Rune", "Hardened Wrath", "Charge!", "Invigorate", "Veteran's Warning", "Impunity"})
        Spells.Add("Earthquake", {"Non-Rune", "Gian'ts Stride", "Chilling Earth", "The Mountain's Call", "Aftershocks", "Path of Fire"})
        Spells.Add("Call of the Ancients", {"Non-Rune", "The Council Rises", "Duty toe the Clan", "Korlic's Might", "Madawc's Madness", "Talic's Anger"})
        Spells.Add("Wrath of the Berserker", {"Non-Rune", "Arreat's Wail", "Insanity", "Slaughter", "Striding Giant", "Thrive on Chaos"})

        'Runes Wizard Selection
        Spells.Add("Magic Missile", {"Non-Rune", "Charged Blast", "Split", "Penetrating Blast", "Attunement", "Seeker"})
        Spells.Add("Shock Pulse", {"Non-Rune", "Explosive Bolts", "Fire Bolts", "Piercing Orb", "Lightning Affinity", "Living Lightning"})
        Spells.Add("Spectral Blade", {"Non-Rune", "Deep Cuts", "Impactful Blades", "Siphonin Blade", "Healing Blades", "Thrown Blade"})
        Spells.Add("Electrocute", {"Non-Rune", "Chain Lightning", "Forked Lightning", "Lightning Blast", "Surge of Power", "Arc Lightning"})
        Spells.Add("Ray of Frost", {"Non-Rune", "Numb", "Snow Blast", "Cold Blood", "Sleet Storm", "Black Ice"})
        Spells.Add("Arcane Orb", {"Non-Rune", "Obliteration", "Arcane Orbit", "Aracane Nova", "Tap the Source", "Celestial Orb"})
        Spells.Add("Arcane Torrent", {"Non-Rune", "Disruption", "Death Blossom", "Arcane Mines", "Power Stone", "Cascade"})
        Spells.Add("Disintegrate", {"Non-Rune", "Convergence", "Chaos Nexus", "Volatility", "Entropy", "Intensify"})
        Spells.Add("Frost Nova", {"Non-Rune", "Shatter", "Cold Snap", "Frozen Mist", "Deep Freeze", "Bone Chill"})
        Spells.Add("Diamond Skin", {"Non-Rune", "Crystal Shell", "Prism", "Mirror Skin", "Enduring Skin", "Diamond Shards"})
        Spells.Add("Slow Time", {"Non-Rune", "Miasma", "Time Warp", "Time Shell", "Perpetuity", "Stretch Time"})
        Spells.Add("Teleport", {"Non-Rune", "Safe Passage", "Wormhole", "Reversal", "Fracture", "Calamity"})
        Spells.Add("Wave of Force", {"Non-Rune", "Impactful Wave", "Force Affinity", "Forceful Wave", "Teleporting Wave", "Exploding Wave"})
        Spells.Add("Energy Twister", {"Non-Rune", "Mistral Breeze", "Gale Force", "Raging Storm", "Wicked Wind", "Storm Chaser"})
        Spells.Add("Hydra", {"Non-Rune", "Arcane Hydra", "Lightning Hydra", "Venom Hydra", "Frost Hydra", "Mammoth Hydra"})
        Spells.Add("Meteor", {"Non-Rune", "Molten Impact", "Star Pact", "Meteor Shower", "Comet", "Liquefy"})
        Spells.Add("Blizzard", {"Non-Rune", "Grasping Chill", "Frozen Solid", "Snowbound", "Stark Winter", "Unrelenting Storm"})
        Spells.Add("Ice Armor", {"Non-Rune", "Chilling Aura", "Crystallize", "Jagged Ice", "Ice Reflect", "Frozen Storm"})
        Spells.Add("Storm Armor", {"Non-Rune", "Reavtive Armor", "Power of the Storm", "Strike Back", "Scramble", "Shocking Aspect"})
        Spells.Add("Magic Weapon", {"Non-Rune", "Electrify", "Force Weapon", "Conduit", "Venom", "Blood Magic"})
        Spells.Add("Familiar", {"Non-Rune", "Sparkflint", "Dartling", "Ancient Guardian", "Arcanot", "Cannoneer"})
        Spells.Add("Energy Armor", {"Non-Rune", "Absorption", "Pinpoint Barrier", "Energy Tap", "Force Armor", "Prismatic Armor"})
        Spells.Add("Explosive Blast", {"Non-Rune", "Unleashed", "Time Bomb", "Short Fuse", "Obliterate", "Chain Reaction"})
        Spells.Add("Mirror Image", {"Non-Rune", "Simulacrum", "Duplicates", "Mocking Demise", "Extension of Will", "Mirror Mimics"})
        Spells.Add("Archon", {"Non-Rune", "Arcane Destruction", "Teleport", "Pure Power", "Slow Time", "Improved Archon"})

        'Runes Demon Hunter Selection
        Spells.Add("Hungering Arrow", {"Non-Rune", "Puncturing Arrow", "Cinder Arrow", "Shatter Shot", "Devouring Arrow", "Spray of Teeth"})
        Spells.Add("Entangling Shot", {"Non-Rune", "Chain Gang", "Shock Collar", "Heavy Burden", "Justice is Served", "Bounty Hunter"})
        Spells.Add("Bola Shot", {"Non-Rune", "Volatile Explosives", "Thunder Ball", "Acid Strike", "Bitter Pill", "Imminent Doom"})
        Spells.Add("Grenades", {"Non-Rune", "Tinkerer", "Cluster Grenades", "Fire Bomb", "Stun Grenades", "Gas Grenades"})
        Spells.Add("Impale", {"Non-Rune", "Impact", "Chemical Burn", "Overpenetration", "Awareness", "Grievous Wounds"})
        Spells.Add("Rapid Fire", {"Non-Rune", "Withering Fire", "Web Shot", "Fire Support", "High Velocity", "Bombardment"})
        Spells.Add("Chakram", {"Non-Rune", "Twin Chakrams", "Serpentine", "Razor Disk", "Boomerang", "Shuriken Cloud"})
        Spells.Add("Elemental Arrow", {"Non-Rune", "Ball Lightning", "Frost Arrow", "Screaming Skull", "Lightning Bolts", "Nether Tentacles"})
        Spells.Add("Caltrops", {"Non-Rune", "Hooked Spines", "Torturous Ground", "Jagged Spikes", "Carved Stakes", "Bait the Trap"})
        Spells.Add("Smoke Screen", {"Non-Rune", "Displacement", "Lingering Fog", "Breathe Deep", "Special Recipe", "Choking Gas"})
        Spells.Add("Shadow Power", {"Non-Rune", "Night Bane", "Blood Moon", "Well of Darkness", "Gloom", "Shadow Glide"})
        Spells.Add("Vault", {"Non-Rune", "Action Shot", "Rattling Roll", "Tumble", "Acrobatics", "Trail of Cinders"})
        Spells.Add("Preparation", {"Non-Rune", "Invigoration", "Punishment", "Battle Scars", "Focused Mind", "Backup Plan"})
        Spells.Add("Companion", {"Non-Rune", "Spider Companion", "Bat Companion", "Boar Companion", "Ferret Companion", "Wolf Companion"})
        Spells.Add("Marked for Death", {"Non-Rune", "Contagion", "Valley of Death", "Grim Reaper", "Mortal Enemy", "Death Toll"})
        Spells.Add("Evasive Fire", {"Non-Rune", "Shrapnel", "Parting Gift", "Covering Fire", "Displace", "Surge"})
        Spells.Add("Fan of Knives", {"Non-Rune", "Crippling Razors", "Retaliate", "Hail of Knives", "Fan of Daggers", "Assasin's Knives"})
        Spells.Add("Spike Trap", {"Non-Rune", "Bandolier", "Sticky Trap", "Long Fuse", "Lightning Rod", "Scatter"})
        Spells.Add("Sentry", {"Non-Rune", "Spitfire Turret", "Vigilant Watcher", "Chain of Torment", "Aid Station", "Guardian Turret"})
        Spells.Add("Strafe", {"Non-Rune", "Equilibrium", "Drifting Shadow", "Stinging Steel", "Rocket Storm", "Demolition"})
        Spells.Add("Multishot", {"Non-Rune", "Fire at Will", "Burst Fire", "Suppression Fire", "Full Broadsisde", "Arsenal"})
        Spells.Add("Cluster Arrow", {"Non-Rune", "Dazzling Arrow", "Shooting Stars", "Maelstrom", "Cluster Bombs", "Loaded for Bear"})
        Spells.Add("Rain of Vengeance", {"Non-Rune", "Dark Cloud", "Beastly Bombs", "Stampede", "Anathema", "Flying Strike"})

        'Runes Monk Selection
        Spells.Add("Fists of Thunder", {"Non-Rune", "Thunderclap", "Lightning Flash", "Static Charge", "Quickening", "Bounding Light"})
        Spells.Add("Deadly Reach", {"Non-Rune", "Piercing Trident", "Keen Eye", "Scattered Blows", "Strike from Beyond", "Foresight"})
        Spells.Add("Crippling Wave", {"Non-Rune", "Mangle", "Concussion", "Rising Tide", "Tsunami", "Breaking Wave"})
        Spells.Add("Way of the Hundred Fists", {"Non-Rune", "Hands of Lightning", "Blazing Fists", "Fists of Fury", "Spirited Salvo", "Windforce Flurry"})
        Spells.Add("Lashing Tail Kick", {"Non-Rune", "Vulture Claw Kick", "Sweeping Armada", "Spinning Flame Kick", "Scorpion Sting", "Hand of Ytar"})
        Spells.Add("Tempest Rush", {"Non-Rune", "Northern Breeze", "Tailwind", "Flurry", "Slipstream", "Bluster"})
        Spells.Add("Wave of Light", {"Non-Rune", "Wall of Light", "Explosive Light", "Empowered Wave", "Blinding Light", "Pillar of the Ancients"})
        Spells.Add("Blinding Flash", {"Non-Rune", "Self Reflection", "Blinded and Confused", "Blinding Echo", "Searing Light", "Faith in the Light"})
        Spells.Add("Breath of Heaven", {"Non-Rune", "Circle of Scorn", "Circle of Life", "Blazing Wrath", "Infused with Light", "Penitent Flame"})
        Spells.Add("Serenity", {"Non-Rune", "Peaceful Repose", "Reap What Is Sown", "Tranquility", "Ascension", "Instant Karma"})
        Spells.Add("Inner Sanctuary", {"Non-Rune", "Safe Haven", "Sanctified Ground", "Consecration", "Circle of Protection", "Forbidden Palace"})
        Spells.Add("Dashing Strike", {"Non-Rune", "Way of the Falling Star", "Flying Side Kick", "Quicksilver", "Soaring Skull", "Blinding Speed"})
        Spells.Add("Exploding Palm", {"Non-Rune", "The Flesh is Weak", "Strong Spirit", "Creeping Demise", "Impending Doom", "Essence Burn"})
        Spells.Add("Sweeping Wind", {"Non-Rune", "Master of Wind", "Blade Storm", "Fire Storm", "Inner Storm", "Cyclone"})
        Spells.Add("Cyclone Strike", {"Non-Rune", "Eye of the Storm", "Implosion", "Sunburst", "Wall of Wind", "Soothing Breeze"})
        Spells.Add("Seven-Sided Strike", {"Non-Rune", "Sudden Assault", "Several-Sided Strike", "Pandemonium", "Sustained Attack", "Fulminating Onslaught"})
        Spells.Add("Mystic Ally", {"Non-Rune", "Water Ally", "Fire Ally", "Air Ally", "Eternal Ally", "Earth Ally"})
        Spells.Add("Mantra of Evasion", {"Non-Rune", "Hard Target", "Divine Protection", "Wind through the Reeds", "Perseverance", "Backlash"})
        Spells.Add("Mantra of Retribution", {"Non-Rune", "Retaliation", "Transgression", "Indignation", "Against All Odds", "Collateral Damage"})
        Spells.Add("Mantra of Healing", {"Non-Rune", "Sustenance", "Circular Breathing", "Boon of Inspiration", "Heavenly Body", "Time of Need"})
        Spells.Add("Mantra of Conviction", {"Non-Rune", "Overawe", "Intimidation", "Dishearten", "Reclamation", "Submission"})

        'Runes Witch Doctor
        Spells.Add("Poison Dart", {"Non-Rune", "Splinters", "Numbing Dart", "Spined Dart", "Flaming Dart", "Snake to the Face"})
        Spells.Add("Corpse Spiders", {"Non-Rune", "Leaping Spiders", "Spider Queen", "Widowmakers", "Medusa Spiders", "Blazing Spiders"})
        Spells.Add("Plague of Toads", {"Non-Rune", "Explosive Toads", "Toad of Hugeness", "Rain of Toads", "Adding Toads", "Toad Affinity"})
        Spells.Add("Fire Bomb", {"Non-Rune", "Flash Fire", "Roll the Bones", "Fire Pit", "Pyrogeist", "Ghost Bomb"})
        Spells.Add("Grasp of the Dead", {"Non-Rune", "Unbreakable Grasp", "Groping Eels", "Death is Life", "Desperate Grasp", "Rain of Corpses"})
        Spells.Add("Firebats", {"Non-Rune", "Dire Bats", "Vampire Bats", "Plague Bats", "Hungry Bats", "Cloud of Bats"})
        Spells.Add("Haunt", {"Non-Rune", "Consuming Spirit", "Resentful Spirit", "Lingering Spirit", "Grasping Spirit", "Draining Spirit"})
        Spells.Add("Locust Swarm", {"Non-Rune", "Pestilence", "Devouring Swarm", "Cloud of Insects", "Diseased Swarm", "Searing Locusts"})
        Spells.Add("Summon Zombie Dogs", {"Non-Rune", "Rabid Dogs", "Final Gift", "Life Link", "Burning Dogs", "Leeching Beasts"})
        Spells.Add("Horrify", {"Non-Rune", "Phobia", "Stalker", "Face of Death", "Frightening Aspect", "Ruthless Terror"})
        Spells.Add("Spirit Walk", {"Non-Rune", "Jaunt", "Honored Guest", "Umbral Shock", "Severance", "Healing Journey"})
        Spells.Add("Hex", {"Non-Rune", "Hedge Magic", "Jinx", "Angry Chicken", "Painful Transformation", "Unstable Form"})
        Spells.Add("Soul Harvest", {"Non-Rune", "Swallow Your Soul", "Siphon", "Languish", "Soul to Waste", "Vengeful Spirit"})
        Spells.Add("Sacrifice", {"Non-Rune", "Black Blood", "Next of Kin", "Pride", "For the Master", "Provoke the Pack"})
        Spells.Add("Mass Confusion", {"Non-Rune", "Unstable Realm", "Devolution", "Mass Hysteria", "Paranoia", "Mass Hallucination"})
        Spells.Add("Zombie Charger", {"Non-Rune", "Leperous Zombie", "Undeath", "Wave of Zombies", "Explosive Blast", "Zombie Bears"})
        Spells.Add("Spirit Barrage", {"Non-Rune", "The Spirit Is Willing", "Well of Souls", "Phantasm", "Phlebotomize", "Manitou"})
        Spells.Add("Acid Cloud", {"Non-Rune", "Acid Rain", "Lob Blob Bomb", "Slow Burn", "Kiss of Death", "Corpse Bomb"})
        Spells.Add("Wall of Zombies", {"Non-Rune", "Barricade", "Unrelenting Grip", "Creepers", "Pile On", "Dead Rush"})
        Spells.Add("Gargantuan", {"Non-Rune", "Humongoid", "restless Giant", "Wrathful Protector", "Big Stinker", "Bruiser"})
        Spells.Add("Big Bad Voodoo", {"Non-Rune", "Jungle Drums", "Rain Dance", "Slam Dance", "Ghost Trance", "Boogie Man"})
        Spells.Add("Fetish Army", {"Non-Rune", "Fetish Ambush", "Devoted Following", "Legion of Daggers", "Tiki Torchers", "Head Hunters"})




    End Sub

    Private Sub BuildCombo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuildCombo.SelectedIndexChanged

        MainCombo.Items.Clear()
        OffCombo.Items.Clear()
        OffCombo.Enabled = True
        OffMin.Enabled = True
        OffMax.Enabled = True
        OffAS.Enabled = True
        OffCHC.Enabled = True
        OffCHD.Enabled = True
        GroupBox3.Text = "Off-Hand Weapon Properties"
        Label17.Enabled = True
        Label16.Enabled = True
        Label15.Enabled = True
        Label14.Enabled = True
        Label13.Enabled = True


        Dim Weapon As ComboBox = sender

        Select Case MainForm.ClassCombo.Text
            Case "Barbarian"
                MainCombo.Items.AddRange(Barbarian(Weapon.Text))
                OffCombo.Items.AddRange(Barbarian(Weapon.Text))
            Case "Monk"
                MainCombo.Items.AddRange(Monk(Weapon.Text))
                OffCombo.Items.AddRange(Monk(Weapon.Text))
            Case "Wizard"
                MainCombo.Items.AddRange(Wizard(Weapon.Text))
                OffCombo.Enabled = False
            Case "Witch Doctor"
                MainCombo.Items.AddRange(WD(Weapon.Text))
                OffCombo.Enabled = False
            Case "Demon Hunter"
                MainCombo.Items.AddRange(DH(Weapon.Text))
                OffCombo.Items.AddRange(DH(Weapon.Text))
        End Select

        Select Case BuildCombo.Text
            Case "Two-Hand Weapon"
                GroupBox3.Enabled = False
                OffHandLbl.Enabled = False
                OffCombo.Enabled = False
                APSDuelLbl.Enabled = False
                DPSDuelLbl1.Enabled = False
                DPSDuelLbl2.Enabled = False
                DuelAPS.Enabled = False
                DuelDPS.Enabled = False
                DuelActualDPS.Enabled = False


                GroupBox2.Text = "Two-Hand Weapon Properties"
                MainAPSLbl.Text = "Two-Hand APS"
                MainDPSLbl1.Text = "Two-Hand DPS"
                MainDPSLbl2.Text = "Two-Hand DPS"

            Case "Two-Hand Weapon + Quiver"
                GroupBox3.Enabled = True
                OffHandLbl.Enabled = False
                OffCombo.Enabled = False
                APSDuelLbl.Enabled = False
                DPSDuelLbl1.Enabled = False
                DPSDuelLbl2.Enabled = False
                DuelAPS.Enabled = False
                DuelDPS.Enabled = False
                DuelActualDPS.Enabled = False


                GroupBox2.Text = "Two-Hand Weapon Properties"
                MainAPSLbl.Text = "Two-Hand APS"
                MainDPSLbl1.Text = "Two-Hand DPS"
                MainDPSLbl2.Text = "Two-Hand DPS"
            Case Else
                GroupBox3.Enabled = True
                OffHandLbl.Enabled = True
                OffCombo.Enabled = True
                APSDuelLbl.Enabled = True
                DPSDuelLbl1.Enabled = True
                DPSDuelLbl2.Enabled = True
                DuelAPS.Enabled = True
                DuelDPS.Enabled = True
                DuelActualDPS.Enabled = True


                GroupBox2.Text = "Main-Hand Weapon Properties"
                MainAPSLbl.Text = "Main-Hand APS"
                MainDPSLbl1.Text = "Main-Hand DPS"
                MainDPSLbl2.Text = "Main-Hand DPS"
        End Select

        Select Case BuildCombo.Text

            Case "Main-Hand Weapon + Source"
                GroupBox3.Text = "Source Properties"
                OffCombo.Enabled = False
                OffAS.Enabled = False
                OffCHD.Enabled = False
                Label15.Enabled = False
                Label13.Enabled = False

            Case "Main-Hand Weapon + Mojo"
                GroupBox3.Text = "Mojo Properties"
                OffCombo.Enabled = False
                OffAS.Enabled = False
                OffCHD.Enabled = False
                Label15.Enabled = False
                Label13.Enabled = False

            Case "Main-Hand Weapon + Shield", "Main-Hand Crossbow + Shield"
                GroupBox3.Text = "Shield Properties"
                OffCombo.Enabled = False
                OffMin.Enabled = False
                OffMax.Enabled = False
                OffAS.Enabled = False
                OffCHD.Enabled = False
                Label17.Enabled = False
                Label16.Enabled = False
                Label15.Enabled = False
                Label13.Enabled = False

            Case "Main-Hand Crossbow + Quiver", "Two-Hand Weapon + Quiver"
                GroupBox3.Text = "Quiver Properties"
                OffCombo.Enabled = False
                OffMin.Enabled = False
                OffMax.Enabled = False
                OffAS.Enabled = True
                OffCHD.Enabled = False
                Label17.Enabled = False
                Label16.Enabled = False
                Label15.Enabled = True
                Label13.Enabled = False

        End Select



    End Sub

    Private Sub SkillCombo1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SkillCombo1.SelectedIndexChanged

        Dim spell As ComboBox = sender
        RuneCombo1.Items.Clear()
        RuneCombo1.Items.AddRange(Spells(spell.Text))

    End Sub

    Private Sub SkillCombo2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SkillCombo2.SelectedIndexChanged
        Dim spell As ComboBox = sender
        RuneCombo2.Items.Clear()
        RuneCombo2.Items.AddRange(Spells(spell.Text))
    End Sub

    Private Sub SkillCombo3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SkillCombo3.SelectedIndexChanged
        Dim spell As ComboBox = sender
        RuneCombo3.Items.Clear()
        RuneCombo3.Items.AddRange(Spells(spell.Text))
    End Sub

    Private Sub SkillCombo4_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SkillCombo4.SelectedIndexChanged
        Dim spell As ComboBox = sender
        RuneCombo4.Items.Clear()
        RuneCombo4.Items.AddRange(Spells(spell.Text))
    End Sub

    Private Sub SkillCombo5_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SkillCombo5.SelectedIndexChanged
        Dim spell As ComboBox = sender
        RuneCombo5.Items.Clear()
        RuneCombo5.Items.AddRange(Spells(spell.Text))
    End Sub

    Private Sub SkillCombo6_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SkillCombo6.SelectedIndexChanged
        Dim spell As ComboBox = sender
        RuneCombo6.Items.Clear()
        RuneCombo6.Items.AddRange(Spells(spell.Text))
    End Sub


    Private Sub MainCombo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MainCombo.SelectedIndexChanged

        MainAPS.ResetText()
        DuelAPS.ResetText()


    End Sub

    Private Sub BaseTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BaseTimer.Tick

        If IsNumeric(MainAS.Text) Or IsNumeric(AllAS.Text) Then

            Select Case BuildCombo.Text

                Case "Two-Hand Weapon", "Two-Hand Weapon + Quiver"

                    Select Case MainCombo.Text

                        Case "Polearm"

                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 0.95.ToString

                        Case "Mace"

                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 0.9.ToString

                        Case "Mighty Weapon", "Axe", "Staff"

                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.ToString

                        Case "Bow"
                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.4.ToString

                        Case "Daibo", "Crossbow", "Sword"
                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.1.ToString
                        Case Else
                            MainAPS.Text = 0

                    End Select

                Case Else

                    Select Case MainCombo.Text
                        Case "Spear", "Mace"

                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.2.ToString

                        Case "Sword", "Ceremonial Knife", "Wand", "Fist Weapon"

                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.4.ToString

                        Case "Mighty Weapon", "Axe"

                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.3.ToString

                        Case "Hand Crossbow"
                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.6.ToString

                        Case "Dagger"
                            MainAPS.Text = ((1 + (CDbl(MainAS.Text) / 100)) * (1 + (CDbl(AllAS.Text) / 100))) * 1.5.ToString
                        Case Else
                            MainAPS.Text = 0
                    End Select

            End Select


            Select Case BuildCombo.Text

                Case "Main-Hand Weapon + Off-Hand Weapon", "Main-Hand Crossbow + Off-Hand Crossbow"

                    Select Case OffCombo.Text
                        Case Is > ""
                            DuelAPS.Text = CDbl((MainAPS.Text) * 1.15).ToString
                        Case Else
                            DuelAPS.Text = 0
                    End Select

            End Select

            MainDPS.Text = (((CDbl(MainMin.Text) + CDbl(MainMax.Text) + CDbl(AllMin.Text) + CDbl(AllMax.Text)) * ((CDbl(AllPrim.Text) / 100) + 1) * (CDbl(MainAPS.Text)) * (((CDbl(AllCHC.Text) / 100) * (CDbl(AllCHD.Text) / 100)) + 1) * ((CDbl(AllPassive.Text) / 100) + 1)) / 2).ToString

            Select Case BuildCombo.Text

                Case "Main-Hand Weapon + Off-Hand Weapon", "Main-Hand Crossbow + Off-Hand Crossbow"

                    DuelDPS.Text = (((((CDbl(MainMin.Text) + CDbl(OffMin.Text)) / 2) + ((CDbl(MainMax.Text) + CDbl(OffMax.Text)) / 2) + CDbl(AllMin.Text) + CDbl(AllMax.Text)) * (1 + (CDbl(AllPrim.Text) / 100)) * (CDbl(DuelAPS.Text)) * (((CDbl(AllCHC.Text) / 100) * (CDbl(AllCHD.Text) / 100)) + 1)) / 2).ToString

                Case Else

                    DuelDPS.Text = 0

            End Select

        End If
    End Sub
End Class



frodzet is offline  
Old   #2
 
elite*gold: 0
Join Date: Sep 2013
Posts: 32
Received Thanks: 2
Very useful. Is it 100% accurate though?


xTranquillity is offline  
Old   #3
 
elite*gold: 0
Join Date: Nov 2013
Posts: 345
Received Thanks: 16
Usefull, thank's for the tool.
Finz Boosting is offline  
Old   #4
 
elite*gold: 0
Join Date: Dec 2013
Posts: 38
Received Thanks: 31
Perfect, thanks!
TBAbs is offline  
Reply

Tags
calculator, d3, diablo 3



« Previous Thread | Next Thread »

Similar Threads
Diablo 3 Damage Calculator - Final Beta Edition
This is the Final Beta Edition of my Damage Calculator before the big release @ August 22 - 2012. It is, what ived seen so far the most feuture...
7 Replies - Diablo 3 Guides & Strategies
Diablo 3 Calculator - Beta Edition
Delete this post please :)
6 Replies - Diablo 3 Guides & Strategies
Diablo 3 RMAH Calculator
Hab mal ein kleinen Calculator für EU in Excel gebaut womit ihr mit dem Durchschnitts € Preis per 100000 Gold (Kann man sobald man gold im RMAH...
4 Replies - Diablo 3 Guides & Strategies



All times are GMT +1. The time now is 11:42.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.