/******************************************************************************* * Copyright (c) 2014, 2015 Scott Clarke (scott@dawg6.com). * * This file is part of Dawg6's Demon Hunter DPS Calculator. * * Dawg6's Demon Hunter DPS Calculator is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Dawg6's Demon Hunter DPS Calculator is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. *******************************************************************************/ package com.dawg6.web.dhcalc.shared.calculator; public enum Rune { None("", 0, 0), // Impale Impact("b", 0, 1.0), Chemical_Burn("c", 0, 1.0), Overpenetration("a", 0, 0.4), Ricochet("d", 0, 0.4), Grievous_Wounds("e", 0, 1.0), // Chakram Twin_Chakrams("a", 0, 1.0/3.0), Serpentine("c", 0, 0.5), Razor_Disk("d", 0, 0.4), Boomerang("b", 0, 0.5), Shuriken_Cloud("e", 0, 0.5), // Elemental_Arrow Ball_Lightning("b", 0, 0.25), Frost_Arrow("a", 0, 1.0 / 3.0), Immolation_Arrow("c", 0, 0.5), Lightning_Bolts("e", 0, 0.5), Nether_Tentacles("d", 0, 0.5), // Multishot Fire_at_Will("d", 7, 0.25), Wind_Chill("b", 0, 0.2), Suppression_Fire("e", 0, 0.25), Full_Broadside("a", 0, 0.25), Arsenal("c", 0, 0.18), // Cluster Arrow Dazzling_Arrow("e", 0, 0.2), Shooting_Stars("b", 0, 0.2), Maelstrom("d", 0, 0.2), Cluster_Bombs("c", 0, 0.15), Loaded_For_Bear("a", 0, 0.15), // Sentry Spitfire_Turret("c", 0, 0, 8, 30), Impaling_Bolt("b", 0, 0, 8, 30), Chain_of_Torment("a", 0, 0, 8, 30), Polar_Station("d", 0, 0, 8, 30), Guardian_Turret("e", 0, 0, 8, 30), // Marked for Death Grim_Reaper("a", 0, 0), Contagion("b", 0, 0), Valley_Of_Death("c", 0, 0), Mortal_Enemy("d", 0, 0), Death_Toll("e", 0, 0), All_Runes("x", 0, 0), // Hungering Arrow Puncturing_Arrow("d", 0, 0.55), Serrated_Arrow("a", 3, 0.65), Shatter_Shot("b", 0, 0.59), Devouring_Arrow("c", 0, 0.65), Spray_of_Teeth("e", 0, 0.65), // Entangling Shot Chain_Gang("b", 0, 1.0), Shock_Collar("c", 0, 0.4), Heavy_Burden("a", 0, 1.0), Justice_is_Served("d", 3, 1.0), Bounty_Hunter("e", 0, 1.0), // Bolas Volatile_Exolosives("a", 0, 1.0 / 3.0), Thunder_Ball("c", 3, 0.4), Freezing_Strike("b", 0, 0.4), Bitter_Pill("d", 0, 0.4), Imminent_Doom("e", 0, 0.4), // Evasive Fire Hardened("a", 0, 1.0 / 3.0), Parting_Gift("c", 0, 0.278), Covering_Fire("b", 0, 1.0 / 3.0), Focus("e", 3, 1.0 / 3.0), Surge("d", 0, 1.0 / 3.0), // Grenade Tinkerer("d", 3, 2.0 / 3.0), Cluster_Grenades("b", 0, 0.5), Grenade_Cache("c", 0, 0.4), Stun_Grenade("e", 0, 2.0 / 3.0), Cold_Grenade("a", 0, 1.0 / 3.0), // Caltrops Jagged_Spikes("a", 0, 0), Hooked_Spines("b", 0, 0), Torturous_Ground("c", 0, 0), Carved_Stakes("d", 0, 0), Bait_the_Trap("e", 0, 0), // Companion Spider("a", 0, 0, 30, 0), Boar("b", 0, 0, 30, 0), Wolf("c", 0, 0, 30, 10), Bat("d", 0, 0, 30, 0), Ferret("e", 0, 0, 30, 0), // Spike Trap Custom_Trigger("c", 0, 0.15), Echoing_Blast("b", 0, 0.15), Impaling_Spines("a", 0, 0.15), Scatter("d", 0, 0.15), Lightning_Rod("e", 0, 0.15), // Rain of Vengeance Shade("a", 0, 0.04, 30, 5), Dark_Cloud("b", 0, 0.06, 30, 8), Anathema("c", 0, 0.12, 30, 2), Flying_Strike("d", 0, 0.15, 30, 5), Stampede("e", 0, 0.15, 30, 3), // Preparation Invigoration("b", 0, 0), Punishment("a", 0, 0), Battle_Scars("d", 0, 0), Focused_Mind("c", 0, 0), Backup_Plan("e", 0, 0), // Rapid Fire Withering_Fire("d", 0, 0.166), Frost_Shots("e", 0, 0.166), Fire_Support("c", 0, 0.166), High_Velocity("b", 0, 0.056), Bombardment("a", 0, 1.0 / 9.0), // Smoke Screen Displacement("e", 0, 0), Lingering_Fog("b", 0, 0), Healing_Vapors("c", 0, 0), Special_Recipe("d", 0, 0), Vanishing_Powder("a", 0, 0), // Vault Action_Shot("c", 0, 0.25), Rattling_Roll("e", 0, 0), Tumble("d", 0, 0), Acrobatics("b", 0, 0), Trail_of_Cinders("a", 0, 0.4), // Fan of Knives Pinpoint_Accuracy("d", 0, 0.4, 15, 1), Bladed_Armor("e", 0, 1.0 / 3.0, 10, 6), Knives_Expert("a", 30, 0.2, 0, 1), Fan_of_Daggers("c", 0, 1.0 / 3.0, 10, 1), Assassins_Knives("b", 0, 0.2, 10, 1), // Shadow Power Night_Bane("a", 0, 0), Blood_Moon("e", 0, 0), Well_of_Darkness("d", 0, 0), Gloom("c", 0, 0), Shadow_Glide("b", 0, 0), // Strafe Icy_Trail("b", 0, 0.06), Drifting_Shadow("d", 0, 0.25), Stinging_Steel("e", 0, 0.25), Rocket_Storm("c", 0, 0.2), Demolition("a", 0, 0.5), // Vengeance Personal_Mortar("c", 0, 0.05, 90, 20), Dark_Heart("b", 0, 0.05, 90, 20), Side_Cannons("d", 0, 0.2, 90, 20), Seethe("e", 0, 0.05, 90, 20), From_the_Shadows("a", 0, 0.1, 90, 20), ; private String slug; private int hatred; private double proc; private double cd; private double duration; private Rune(String slug, int hatred, double proc) { this(slug, hatred, proc, 0.0, 0.0); } private Rune(String slug, int hatred, double proc, double cd, double duration) { this.slug = slug; this.hatred = hatred; this.proc = proc; this.cd = cd; this.duration = duration; } public double getProc() { return proc; } public String getLongName() { return name().replaceAll("_", " "); } public String getSlug() { return slug; } public int getHatred() { return hatred; } public double getCooldown() { return cd; } public double getDuration() { return duration; } }