diff --git a/ui/hunter/builds/p7_naxx_melee_2h.build.json b/ui/hunter/builds/p7_naxx_melee_2h.build.json new file mode 100644 index 0000000000..fbbcdaab78 --- /dev/null +++ b/ui/hunter/builds/p7_naxx_melee_2h.build.json @@ -0,0 +1,225 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "leaderOfThePack": true, + "demonicPact": 130, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "dreamstate": true, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":236054,"enchant":7635,"rune":415405}, + {"id":236342}, + {"id":236052,"enchant":7884,"rune":1220104}, + {"id":236333,"enchant":7667,"rune":440533}, + {"id":236058,"enchant":1891,"rune":415370}, + {"id":236050,"enchant":7656,"rune":415358}, + {"id":235876,"randomSuffix":2343,"enchant":2564,"rune":458393}, + {"id":236051,"rune":415352}, + {"id":233667,"enchant":7635,"rune":415320}, + {"id":233665,"enchant":1887,"rune":458479}, + {"id":236056,"rune":442894}, + {"id":236291,"rune":442813}, + {"id":236334}, + {"id":231288}, + {"id":237512,"enchant":1900}, + {}, + {"id":236322,"enchant":7657} + ] + }, + "consumes": { + "flask": "FlaskOfMadness", + "food": "FoodSmokedDesertDumpling", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "sapperExplosive": "SapperFumigator", + "mainHandImbue": "WildStrikes", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "petAgilityConsumable": 1, + "petStrengthConsumable": 1, + "petAttackPowerConsumable": 1, + "dragonBreathChili": true, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "draughtOfTheSands": true, + "greaterMarkOfTheDawn": true + }, + "sealOfTheDawn": "SealOfTheDawnDamageR7", + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "-055500005-3320202412303051", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"move":{"rangeFromTarget":{"const":{"val":"5"}}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":469145}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20572}}},"doAtValue":{"const":{"val":"-1.5s"}}} + ], + "priorityList": [ + {"action":{"condition":{"or":{"vals":[{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"2"}}}},{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"10s"}}}}]}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"or":{"vals":[{"not":{"val":{"spellIsReady":{"spellId":{"spellId":458482}}}}},{"dotIsActive":{"spellId":{"spellId":458482}}}]}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":415343}}}}},{"gcdIsReady":{}},{"spellCanCast":{"spellId":{"spellId":415320}}}]}},"castSpell":{"spellId":{"spellId":468388}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"50%"}}}},"cancelAura":{"auraId":{"spellId":415423}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"3"}}}},{"auraIsActive":{"auraId":{"spellId":468388}}}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLe","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1"}}}}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415358}}},"rhs":{"const":{"val":"4"}}}}]}},"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"castSpell":{"spellId":{"spellId":415343}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"castSpell":{"spellId":{"spellId":458482}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415320}}}}}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"5%"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"4s"}}}}]}},"castSpell":{"spellId":{"spellId":415423}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"50%"}}}},"castSpell":{"spellId":{"spellId":469145}}}}, + {"hide":true,"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":415320}}},"rhs":{"const":{"val":"3"}}}},"castSpell":{"spellId":{"spellId":409530}}}}, + {"hide":true,"action":{"condition":{"not":{"val":{"dotIsActive":{"spellId":{"spellId":409535}}}}},"castSpell":{"spellId":{"spellId":409535}}}}, + {"hide":true,"action":{"castSpell":{"spellId":{"spellId":409530}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"spellId":1219176}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"spellId":409530}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"spellId":14268,"rank":3}}}}, + {"action":{"castSpell":{"spellId":{"itemId":10646}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 5, + "isbUsingShadowflame": true, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "Doomshot", + "quiverBonus": "Speed15", + "petTalents": { + }, + "petUptime": 1, + "petAttackSpeed": "Two" + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 5, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 15952, + "name": "Generic", + "level": 63, + "mobType": "MobTypeUndead", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,46,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 6000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true, + "targetInputs": [ + { + "inputType": "Enum", + "label": "Difficulty Level", + "tooltip": "Affects the Authority of the Frozen Wastes debuff for tanks.", + "enumOptions": [ + "Normal", + "Hardmode 1/4", + "Hardmode 2/4", + "Hardmode 3/4", + "Hardmode 4/4" + ] + } + ] + } + ] + } + } \ No newline at end of file diff --git a/ui/hunter/builds/p7_naxx_melee_dw.build.json b/ui/hunter/builds/p7_naxx_melee_dw.build.json new file mode 100644 index 0000000000..70c7419812 --- /dev/null +++ b/ui/hunter/builds/p7_naxx_melee_dw.build.json @@ -0,0 +1,224 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "leaderOfThePack": true, + "demonicPact": 130, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "dreamstate": true, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":236054,"enchant":7617,"rune":415405}, + {"id":235886}, + {"id":236052,"enchant":7884,"rune":1220104}, + {"id":236333,"enchant":7667,"rune":440533}, + {"id":236058,"enchant":1891,"rune":415370}, + {"id":231063,"enchant":7656,"rune":415358}, + {"id":235876,"randomSuffix":2343,"enchant":2564,"rune":458393}, + {"id":236051,"rune":415352}, + {"id":236053,"enchant":7617,"rune":415320}, + {"id":231070,"enchant":1887,"rune":409687}, + {"id":236056,"rune":442894}, + {"id":236286,"rune":442813}, + {"id":236334}, + {"id":231288}, + {"id":236339,"enchant":1900}, + {"id":236341,"enchant":1900}, + {"id":221450,"enchant":664} + ] + }, + "consumes": { + "flask": "FlaskOfMadness", + "food": "FoodSmokedDesertDumpling", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "sapperExplosive": "SapperFumigator", + "mainHandImbue": "WildStrikes", + "offHandImbue": "ConsecratedSharpeningStone", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "petAgilityConsumable": 1, + "petStrengthConsumable": 1, + "petAttackPowerConsumable": 1, + "dragonBreathChili": true, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "draughtOfTheSands": true, + "greaterMarkOfTheDawn": true + }, + "sealOfTheDawn": "SealOfTheDawnDamageR7", + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "1-052500305-332020241230305", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":469145}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20572}}},"doAtValue":{"const":{"val":"-1.5s"}}} + ], + "priorityList": [ + {"action":{"condition":{"or":{"vals":[{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"2"}}}},{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"10s"}}}}]}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"spellIsReady":{"spellId":{"spellId":415343}}}}},{"not":{"val":{"spellCanCast":{"spellId":{"spellId":14271,"rank":4}}}}},{"gcdIsReady":{}},{"spellCanCast":{"spellId":{"spellId":415320}}}]}},"castSpell":{"spellId":{"spellId":468388}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"50%"}}}},"cancelAura":{"auraId":{"spellId":415423}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"3"}}}},{"auraIsActive":{"auraId":{"spellId":468388}}}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLe","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1"}}}}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"auraIsActive":{"auraId":{"spellId":467331}}},{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415358}}},"rhs":{"const":{"val":"4"}}}}]}},"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"castSpell":{"spellId":{"spellId":415343}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415320}}}}}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"5%"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"4s"}}}}]}},"castSpell":{"spellId":{"spellId":415423}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"50%"}}}},"castSpell":{"spellId":{"spellId":469145}}}}, + {"hide":true,"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":415320}}},"rhs":{"const":{"val":"3"}}}},"castSpell":{"spellId":{"spellId":409530}}}}, + {"hide":true,"action":{"condition":{"not":{"val":{"dotIsActive":{"spellId":{"spellId":409535}}}}},"castSpell":{"spellId":{"spellId":409535}}}}, + {"hide":true,"action":{"castSpell":{"spellId":{"spellId":409530}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"spellId":1219176}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"spellId":409530}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"spellId":14268,"rank":3}}}}, + {"action":{"castSpell":{"spellId":{"itemId":10646}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 5, + "isbUsingShadowflame": true, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "Doomshot", + "quiverBonus": "Speed15", + "petTalents": { + }, + "petUptime": 1, + "petAttackSpeed": "Two" + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 5, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 15952, + "name": "Generic", + "level": 63, + "mobType": "MobTypeUndead", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,46,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 6000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true, + "targetInputs": [ + { + "inputType": "Enum", + "label": "Difficulty Level", + "tooltip": "Affects the Authority of the Frozen Wastes debuff for tanks.", + "enumOptions": [ + "Normal", + "Hardmode 1/4", + "Hardmode 2/4", + "Hardmode 3/4", + "Hardmode 4/4" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/ui/hunter/builds/p7_naxx_ranged.build.json b/ui/hunter/builds/p7_naxx_ranged.build.json new file mode 100644 index 0000000000..2768027c15 --- /dev/null +++ b/ui/hunter/builds/p7_naxx_ranged.build.json @@ -0,0 +1,222 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "trueshotAura": true, + "leaderOfThePack": true, + "vampiricTouch": 300, + "demonicPact": 150, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "stormstrike": true, + "dreamstate": true, + "exposeArmor": "TristateEffectImproved", + "sunderArmor": true, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":236046,"enchant":7617,"rune":415405}, + {"id":236316}, + {"id":233409,"enchant":7884,"rune":1220084}, + {"id":234802,"enchant":7667,"rune":440529}, + {"id":236043,"enchant":1891,"rune":415370}, + {"id":236042,"enchant":7656,"rune":428717}, + {"id":236047,"enchant":2564,"rune":409433}, + {"id":236048,"rune":409504}, + {"id":236045,"enchant":7617,"rune":409593}, + {"id":233407,"enchant":1887,"rune":409541}, + {"id":236041,"rune":442891}, + {"id":236291,"rune":442894}, + {"id":236268}, + {"id":236302}, + {"id":236285,"enchant":2646}, + {}, + {"id":236344,"enchant":7657} + ] + }, + "consumes": { + "flask": "FlaskOfAncientKnowledge", + "food": "FoodGrilledSquid", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "mainHandImbue": "WeightedConsecratedSharpeningStone", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "dragonBreathChili": true, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "jujuEmber": true, + "jujuChill": true, + "draughtOfTheSands": true, + "greaterMarkOfTheDawn": true + }, + "sealOfTheDawn": "SealOfTheDawnDamageR7", + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "valorOfAzeroth": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "5-05250035503051-3320202", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":25296,"rank":7}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20904,"rank":6}}},"doAtValue":{"const":{"val":"-3.5s"}},"hide":true}, + {"action":{"castSpell":{"spellId":{"itemId":215162}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":1213366}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":26297,"tag":6}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":25295,"rank":9}}},"doAtValue":{"const":{"val":"-0.45s"}}} + ], + "priorityList": [ + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentMana":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":12662}}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentMana":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":13444}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"20s"}}}},{"cmp":{"op":"OpGt","lhs":{"autoTimeToNext":{"autoType":"Ranged"}},"rhs":{"const":{"val":"1s"}}}},{"cmp":{"op":"OpGt","lhs":{"gcdTimeToReady":{}},"rhs":{"const":{"val":"1s"}}}}]}},"castSpell":{"spellId":{"itemId":233986}}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":409593}}},{"spellCanCast":{"spellId":{"spellId":3045}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":409433}}}}}]}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":409593}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":409433}}}}}]}},"castSpell":{"spellId":{"spellId":3045}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"dotRemainingTime":{"spellId":{"spellId":25295,"rank":9}}},"rhs":{"const":{"val":"6s"}}}},{"not":{"val":{"isExecutePhase":{"threshold":"E20"}}}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"auraIsActive":{"auraId":{"spellId":3045}}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"isExecutePhase":{"threshold":"E20"}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"isExecutePhase":{"threshold":"E20"}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"not":{"val":{"dotIsActive":{"spellId":{"spellId":25295,"rank":9}}}}},"castSpell":{"spellId":{"spellId":25295,"rank":9}}}}, + {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":3045}}},"rhs":{"const":{"val":"20"}}}},"castSpell":{"spellId":{"itemId":236268}}}}, + {"action":{"condition":{"and":{"vals":[{"auraIsKnown":{"auraId":{"spellId":468388}}},{"auraIsActive":{"auraId":{"spellId":468388}}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"5s"}}}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"spellIsReady":{"spellId":{"spellId":3045}}}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":3045}}}}},{"spellIsReady":{"spellId":{"spellId":409433}}}]}},"castSpell":{"spellId":{"spellId":468388}}}}, + {"action":{"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"castSpell":{"spellId":{"spellId":409535}}}}, + {"action":{"castSpell":{"spellId":{"spellId":25294,"rank":5}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14287,"rank":8}}}}, + {"action":{"condition":{"const":{"val":"False"}},"castSpell":{"spellId":{"spellId":20572}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 12, + "isbUsingShadowflame": true, + "isbSbFrequency": 3, + "isbCrit": 25, + "isbWarlocks": 1, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "Doomshot", + "quiverBonus": "Speed15", + "petTalents": { + }, + "petUptime": 1, + "sniperTrainingUptime": 1, + "petAttackSpeed": "OneThree" + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 15, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 213336, + "name": "Level 60", + "level": 63, + "mobType": "MobTypeUndead", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,0,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 3000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true + } + ] + } + } \ No newline at end of file diff --git a/ui/hunter/builds/p7_naxx_weave.build.json b/ui/hunter/builds/p7_naxx_weave.build.json new file mode 100644 index 0000000000..89ae860577 --- /dev/null +++ b/ui/hunter/builds/p7_naxx_weave.build.json @@ -0,0 +1,229 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "trueshotAura": true, + "leaderOfThePack": true, + "vampiricTouch": 300, + "demonicPact": 150, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "stormstrike": true, + "dreamstate": true, + "exposeArmor": "TristateEffectImproved", + "sunderArmor": true, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":236046,"enchant":7635,"rune":415405}, + {"id":236316}, + {"id":233409,"enchant":7884,"rune":1220084}, + {"id":234802,"enchant":7667,"rune":440533}, + {"id":236043,"enchant":1891,"rune":415370}, + {"id":236042,"enchant":7656,"rune":415358}, + {"id":236047,"enchant":2564,"rune":409433}, + {"id":236048,"rune":409504}, + {"id":236045,"enchant":7617,"rune":409593}, + {"id":233407,"enchant":1887,"rune":458479}, + {"id":236056,"rune":442891}, + {"id":236291,"rune":442892}, + {"id":236334}, + {"id":236302}, + {"id":236285,"enchant":2646}, + {}, + {"id":236344,"enchant":7657} + ] + }, + "consumes": { + "flask": "FlaskOfAncientKnowledge", + "food": "FoodGrilledSquid", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "sapperExplosive": "SapperFumigator", + "mainHandImbue": "WeightedConsecratedSharpeningStone", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "dragonBreathChili": true, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "jujuEmber": true, + "jujuChill": true, + "draughtOfTheSands": true, + "greaterMarkOfTheDawn": true + }, + "sealOfTheDawn": "SealOfTheDawnDamageR7", + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "valorOfAzeroth": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "-052500305-3305202202303051", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":469145}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20572}}},"doAtValue":{"const":{"val":"-1.95s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":26297}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":1213366}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":25295,"rank":9}}},"doAtValue":{"const":{"val":"-0.45s"}}} + ], + "priorityList": [ + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":13444}}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":12662}}}}, + {"action":{"condition":{"cmp":{"op":"OpLe","lhs":{"dotRemainingTime":{"spellId":{"spellId":25295,"rank":9}}},"rhs":{"const":{"val":"5s"}}}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"autoTimeToNext":{"autoType":"Melee"}},"rhs":{"const":{"val":"1.7s"}}}},{"cmp":{"op":"OpGt","lhs":{"gcdTimeToReady":{}},"rhs":{"const":{"val":"0.7s"}}}}]}},"move":{"rangeFromTarget":{"const":{"val":"12"}}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"autoTimeToNext":{"autoType":"Ranged"}},"rhs":{"const":{"val":"1s"}}}},{"or":{"vals":[{"cmp":{"op":"OpGt","lhs":{"gcdTimeToReady":{}},"rhs":{"const":{"val":"1s"}}}},{"and":{"vals":[{"gcdIsReady":{}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":409433}}},"rhs":{"const":{"val":"2s"}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"2s"}}}}]}}]}},{"or":{"vals":[{"cmp":{"op":"OpLt","lhs":{"spellTimeToReady":{"spellId":{"spellId":14266,"tag":3,"rank":8}}},"rhs":{"const":{"val":"2s"}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":14266,"tag":3,"rank":8}}},"rhs":{"const":{"val":"3s"}}}},{"cmp":{"op":"OpLt","lhs":{"spellTimeToReady":{"spellId":{"spellId":14266,"tag":3,"rank":8}}},"rhs":{"autoTimeToNext":{"autoType":"Melee"}}}}]}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":3045}}}}},{"or":{"vals":[{"isExecutePhase":{"threshold":"E20"}},{"cmp":{"op":"OpLt","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1"}}}}]}}]}},"move":{"rangeFromTarget":{"const":{"val":"5"}}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"4s"}}}},"castSpell":{"spellId":{"spellId":3045}}}}, + {"action":{"condition":{"auraIsActive":{"auraId":{"spellId":3045}}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":3045}}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":409433}}}}}]}},"cancelAura":{"auraId":{"itemId":215162}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"spellIsReady":{"spellId":{"spellId":25294,"rank":5}}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"4"}}}},{"spellIsReady":{"spellId":{"spellId":409433}}}]}},"castSpell":{"spellId":{"spellId":468388}}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":409433}}},{"isExecutePhase":{"threshold":"E20"}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":409433}}},{"auraIsKnown":{"auraId":{"spellId":468388}}},{"auraIsActive":{"auraId":{"spellId":468388}}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"and":{"vals":[{"or":{"vals":[{"auraIsActive":{"auraId":{"spellId":3045}}},{"isExecutePhase":{"threshold":"E20"}}]}},{"spellCanCast":{"spellId":{"spellId":14287,"rank":8}}}]}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":14287,"rank":8}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":409433}}}}}]}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":14287,"rank":8}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":409433}}}}}]}},"castSpell":{"spellId":{"spellId":25294,"rank":5}}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":409433}}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14266,"tag":3,"rank":8}}}}, + {"action":{"castSpell":{"spellId":{"spellId":458482}}}}, + {"action":{"condition":{"and":{"vals":[{"or":{"vals":[{"auraIsActive":{"auraId":{"spellId":3045}}},{"isExecutePhase":{"threshold":"E20"}}]}},{"spellCanCast":{"spellId":{"spellId":14268,"rank":3}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":458482}}}}}]}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1s"}}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":3045}}}}}]}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1s"}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":409433}}}}},{"auraIsActive":{"auraId":{"spellId":3045}}}]}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"5%"}}}},"castSpell":{"spellId":{"spellId":415423}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14287,"rank":8}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415423}}}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":469145}}}}}]}},"castSpell":{"spellId":{"spellId":469145}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"itemId":233985}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1.5s"}}}}]}},"castSpell":{"spellId":{"spellId":14268,"rank":3}}}}, + {"action":{"condition":{"const":{"val":"False"}},"castSpell":{"spellId":{"spellId":20572}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 12, + "isbUsingShadowflame": true, + "isbSbFrequency": 3, + "isbCrit": 25, + "isbWarlocks": 1, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "Doomshot", + "quiverBonus": "Speed15", + "petTalents": { + }, + "petUptime": 1, + "sniperTrainingUptime": 1, + "petAttackSpeed": "OneThree" + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 15, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 213336, + "name": "Level 60", + "level": 63, + "mobType": "MobTypeUndead", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,0,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 3000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true + } + ] + } + } \ No newline at end of file diff --git a/ui/hunter/builds/p8_melee_2h.build.json b/ui/hunter/builds/p8_melee_2h.build.json new file mode 100644 index 0000000000..550b0f30e2 --- /dev/null +++ b/ui/hunter/builds/p8_melee_2h.build.json @@ -0,0 +1,208 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "leaderOfThePack": true, + "demonicPact": 160, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "dreamstate": true, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":236054,"enchant":7635,"rune":415405}, + {"id":235886}, + {"id":239534,"enchant":7884,"rune":1220104}, + {"id":241024,"enchant":7667,"rune":440533}, + {"id":239529,"enchant":1891,"rune":409368}, + {"id":239536,"enchant":7656,"rune":415358}, + {"id":239531,"enchant":2564,"rune":458393}, + {"id":241175,"rune":415352}, + {"id":239533,"enchant":7635,"rune":415320}, + {"id":239530,"enchant":1887,"rune":458479}, + {"id":236056,"rune":442894}, + {"id":241030,"rune":29088}, + {"id":242314}, + {"id":241037}, + {"id":239301,"enchant":7943}, + {}, + {"id":240837,"enchant":7657} + ] + }, + "consumes": { + "flask": "FlaskOfMadness", + "food": "FoodFiletOFlank", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "sapperExplosive": "SapperFumigator", + "mainHandImbue": "WildStrikes", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "petAgilityConsumable": 1, + "petStrengthConsumable": 1, + "petAttackPowerConsumable": 1, + "dragonBreathChili": true, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "greaterMarkOfTheDawn": true + }, + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "-055500005-3320202412303051", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"move":{"rangeFromTarget":{"const":{"val":"12"}}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":469145}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20572}}},"doAtValue":{"const":{"val":"-1.6s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":25295,"rank":9}}},"doAtValue":{"const":{"val":"-0.1s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":241037}}},"doAtValue":{"const":{"val":"-0.1s"}}} + ], + "priorityList": [ + {"action":{"condition":{"or":{"vals":[{"spellInFlight":{"spellId":{"spellId":25295,"rank":9}}},{"dotIsActive":{"spellId":{"spellId":25295,"rank":9}}}]}},"move":{"rangeFromTarget":{"const":{"val":"5"}}}}}, + {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"auraNumStacks":{"auraId":{"spellId":1232946}}},"rhs":{"const":{"val":"3"}}}},"castSpell":{"spellId":{"spellId":1231604}}}}, + {"action":{"condition":{"or":{"vals":[{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"2"}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"10"}}}}]}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"dotIsActive":{"spellId":{"spellId":25295,"rank":9}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":1232979}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":1232980}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":1232981}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":1232982}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":458482}}}}}]}},"castSpell":{"spellId":{"spellId":458482}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415358}}}}},{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"3"}}}},{}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"2s"}}}},{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1"}}}},{}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415358}}},"rhs":{"const":{"val":"4"}}}}]}},"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"castSpell":{"spellId":{"spellId":415343}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"castSpell":{"spellId":{"spellId":458482}}}}, + {"action":{"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"5%"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"4s"}}}}]}},"castSpell":{"spellId":{"spellId":415423}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"50%"}}}},"castSpell":{"spellId":{"spellId":469145}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5"}}}}]}},"castSpell":{"spellId":{"spellId":1219176}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":458482}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5"}}}}]}},"castSpell":{"spellId":{"spellId":409530}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 5, + "isbUsingShadowflame": true, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "Doomshot", + "quiverBonus": "Speed15", + "petType": "Cat", + "petTalents": { + }, + "petUptime": 1, + "petAttackSpeed": "Two" + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 15, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 243269, + "name": "Generic", + "level": 63, + "mobType": "MobTypeHumanoid", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,46,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 6000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true + } + ] + } + } \ No newline at end of file diff --git a/ui/hunter/builds/p8_melee_dw.build.json b/ui/hunter/builds/p8_melee_dw.build.json new file mode 100644 index 0000000000..42e8348b8f --- /dev/null +++ b/ui/hunter/builds/p8_melee_dw.build.json @@ -0,0 +1,210 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "leaderOfThePack": true, + "demonicPact": 160, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "dreamstate": true, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":236054,"enchant":7617,"rune":415405}, + {"id":235886}, + {"id":239534,"enchant":7884,"rune":1220104}, + {"id":241024,"enchant":7667,"rune":440533}, + {"id":239529,"enchant":1891,"rune":409368}, + {"id":239536,"enchant":7656,"rune":415358}, + {"id":239531,"enchant":2564,"rune":458393}, + {"id":241175,"rune":415352}, + {"id":239533,"enchant":7617,"rune":415320}, + {"id":239530,"enchant":1887,"rune":409687}, + {"id":236056,"rune":442894}, + {"id":241030,"rune":29088}, + {"id":241038}, + {"id":241037}, + {"id":240854,"enchant":7940}, + {"id":240852,"enchant":7940}, + {"id":240837,"enchant":7657} + ] + }, + "consumes": { + "flask": "FlaskOfMadness", + "food": "FoodFiletOFlank", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "sapperExplosive": "SapperFumigator", + "mainHandImbue": "WildStrikes", + "offHandImbue": "ElementalSharpeningStone", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "petAgilityConsumable": 1, + "petStrengthConsumable": 1, + "petAttackPowerConsumable": 1, + "dragonBreathChili": true, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "greaterMarkOfTheDawn": true + }, + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "1-055500005-332020250230305", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"move":{"rangeFromTarget":{"const":{"val":"12"}}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":469145}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20572}}},"doAtValue":{"const":{"val":"-1.6s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":241037}}},"doAtValue":{"const":{"val":"-0.1s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":25295,"rank":9}}},"doAtValue":{"const":{"val":"-0.1s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":19574}}},"doAtValue":{"const":{"val":"-0.1s"}}} + ], + "priorityList": [ + {"action":{"condition":{"or":{"vals":[{"dotIsActive":{"spellId":{"spellId":25295,"rank":9}}},{"spellInFlight":{"spellId":{"spellId":25295,"rank":9}}}]}},"move":{"rangeFromTarget":{"const":{"val":"5"}}}}}, + {"action":{"condition":{"cmp":{"op":"OpLe","lhs":{"auraRemainingTime":{"auraId":{"itemId":241241}}},"rhs":{"const":{"val":"1.5"}}}},"castSpell":{"spellId":{"itemId":241241}}}}, + {"action":{"condition":{"or":{"vals":[{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"2"}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"10"}}}}]}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"3"}}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415358}}}}}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"2s"}}}},{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1"}}}},{}]}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":1232946}}},"rhs":{"const":{"val":"4"}}}},"castSpell":{"spellId":{"spellId":1231604}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"auraNumStacks":{"auraId":{"spellId":415358}}},"rhs":{"const":{"val":"5"}}}},"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"castSpell":{"spellId":{"spellId":415343}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14271,"rank":4}}}}, + {"action":{"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5"}}}}]}},"castSpell":{"spellId":{"spellId":1219176}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"5%"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"4s"}}}}]}},"castSpell":{"spellId":{"spellId":415423}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"50%"}}}},"castSpell":{"spellId":{"spellId":469145}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5"}}}}]}},"castSpell":{"spellId":{"spellId":409530}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"auraRemainingTime":{"auraId":{"spellId":415320}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":415343}}},"rhs":{"const":{"val":"1.5"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":14271,"rank":4}}},"rhs":{"const":{"val":"1.5"}}}}]}},"castSpell":{"spellId":{"spellId":14268,"rank":3}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 5, + "isbUsingShadowflame": true, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "SearingArrow", + "quiverBonus": "Speed15", + "petType": "Cat", + "petTalents": { + }, + "petUptime": 1, + "petAttackSpeed": "Two" + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 15, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 243269, + "name": "Generic", + "level": 63, + "mobType": "MobTypeHumanoid", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,46,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 6000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true + } + ] + } + } \ No newline at end of file diff --git a/ui/hunter/builds/p8_ranged.build.json b/ui/hunter/builds/p8_ranged.build.json new file mode 100644 index 0000000000..c03b6d0763 --- /dev/null +++ b/ui/hunter/builds/p8_ranged.build.json @@ -0,0 +1,216 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "trueshotAura": true, + "leaderOfThePack": true, + "vampiricTouch": 800, + "demonicPact": 160, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "stormstrike": true, + "dreamstate": true, + "exposeArmor": "TristateEffectImproved", + "sunderArmor": true, + "homunculi": 100, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":239540,"enchant":7617,"rune":415405}, + {"id":235886}, + {"id":239542,"enchant":7884,"rune":1220084}, + {"id":241023,"enchant":7667,"rune":440533}, + {"id":239543,"enchant":1891,"rune":409368}, + {"id":241163,"enchant":7656,"rune":428726}, + {"id":239539,"enchant":2564,"rune":409433}, + {"id":236048,"rune":409504}, + {"id":239541,"enchant":7617,"rune":409593}, + {"id":239537,"enchant":1887,"rune":409541}, + {"id":236041,"rune":442894}, + {"id":241030,"rune":442891}, + {"id":241037}, + {"id":242314}, + {"id":240924,"enchant":2646}, + {}, + {"id":240837,"enchant":7657} + ] + }, + "consumes": { + "flask": "FlaskOfMadness", + "food": "FoodFiletOFlank", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "mainHandImbue": "EnchantedRepellent", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "petAgilityConsumable": 1, + "petStrengthConsumable": 1, + "petAttackPowerConsumable": 1, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "jujuEmber": true, + "jujuChill": true, + "greaterMarkOfTheDawn": true + }, + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "valorOfAzeroth": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "55000000502-05550002503051-03", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":25296,"rank":7}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20572}}},"doAtValue":{"const":{"val":"-2s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":215162}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":241037}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":26297,"tag":6}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":25295,"rank":9}}},"doAtValue":{"const":{"val":"-0.45s"}}} + ], + "priorityList": [ + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":12662}}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":13444}}}}, + {"action":{"condition":{"not":{"val":{"dotIsActive":{"spellId":{"spellId":25295,"rank":9}}}}},"castSpell":{"spellId":{"spellId":25295,"rank":9}}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"itemId":241241}}},"rhs":{"const":{"val":"1.5"}}}},"castSpell":{"spellId":{"itemId":241241}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"autoTimeToNext":{"autoType":"Ranged"}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGt","lhs":{"gcdTimeToReady":{}},"rhs":{"const":{"val":"1s"}}}},{"cmp":{"op":"OpLt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"30s"}}}}]}},"castSpell":{"spellId":{"itemId":233986}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"5"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":428728}}},"rhs":{"const":{"val":"5"}}}}]}},"castSpell":{"spellId":{"spellId":428726}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"5"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":428728}}},"rhs":{"const":{"val":"5"}}}},{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"1s"}}}}]}},"castSpell":{"spellId":{"spellId":428726}}}}, + {"action":{"condition":{"auraIsActive":{"auraId":{"spellId":3045}}},"castSpell":{"spellId":{"spellId":26297,"tag":2}}}}, + {"action":{"condition":{"auraIsActive":{"auraId":{"spellId":3045}}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"dotRemainingTime":{"spellId":{"spellId":25295,"rank":9}}},"rhs":{"const":{"val":"6s"}}}},{"cmp":{"op":"OpLt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"4"}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"0.5"}}}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":1233451}}},"rhs":{"const":{"val":"4"}}}},"castSpell":{"spellId":{"spellId":25294,"rank":5}}}}, + {"action":{"condition":{"and":{"vals":[{"spellCanCast":{"spellId":{"spellId":409593}}},{"gcdIsReady":{}}]}},"castSpell":{"spellId":{"spellId":3045}}}}, + {"action":{"condition":{"and":{"vals":[{"isExecutePhase":{"threshold":"E20"}},{"spellIsReady":{"spellId":{"spellId":409593}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"0.5"}}}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"condition":{"or":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":1233451}}},"rhs":{"const":{"val":"4"}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"0.5"}}}}]}},"castSpell":{"spellId":{"spellId":409593}}}}, + {"action":{"condition":{"or":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":1233451}}},"rhs":{"const":{"val":"3"}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"0.5"}}}}]}},"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"castSpell":{"spellId":{"spellId":25294,"rank":5}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 12, + "isbUsingShadowflame": true, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "SearingArrow", + "quiverBonus": "Speed15", + "petType": "Cat", + "petTalents": { + }, + "petUptime": 1 + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 15, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 243269, + "name": "Generic", + "level": 63, + "mobType": "MobTypeHumanoid", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,46,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 6000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true + } + ] + } + } \ No newline at end of file diff --git a/ui/hunter/builds/p8_weave.build.json b/ui/hunter/builds/p8_weave.build.json new file mode 100644 index 0000000000..71407dc719 --- /dev/null +++ b/ui/hunter/builds/p8_weave.build.json @@ -0,0 +1,225 @@ +{ + "raidBuffs": { + "giftOfTheWild": "TristateEffectImproved", + "powerWordFortitude": "TristateEffectImproved", + "arcaneBrilliance": true, + "divineSpirit": true, + "battleShout": "TristateEffectImproved", + "trueshotAura": true, + "leaderOfThePack": true, + "vampiricTouch": 800, + "demonicPact": 160, + "hornOfLordaeron": true, + "aspectOfTheLion": true, + "commandingShout": true + }, + "debuffs": { + "judgementOfWisdom": true, + "judgementOfLight": true, + "faerieFire": true, + "markOfChaos": true, + "occultPoison": true, + "improvedScorch": true, + "stormstrike": true, + "dreamstate": true, + "exposeArmor": "TristateEffectImproved", + "homunculi": 100, + "sebaciousPoison": "TristateEffectImproved", + "curseOfRecklessness": true, + "huntersMark": "TristateEffectImproved", + "mangle": true, + "giftOfArthas": true + }, + "partyBuffs": { + }, + "player": { + "name": "Player", + "race": "RaceNightElf", + "level": 60, + "class": "ClassHunter", + "equipment": { + "items": [ + {"id":239540,"enchant":7617,"rune":415413}, + {"id":235886}, + {"id":239542,"enchant":7884,"rune":1220080}, + {"id":241023,"enchant":7667,"rune":440533}, + {"id":239543,"enchant":1891,"rune":409368}, + {"id":241163,"enchant":7656,"rune":428726}, + {"id":239539,"enchant":2564,"rune":409433}, + {"id":236048,"rune":409504}, + {"id":239541,"enchant":7617,"rune":415320}, + {"id":239537,"enchant":1887,"rune":409541}, + {"id":236041,"rune":442894}, + {"id":241030,"rune":442891}, + {"id":241038}, + {"id":241037}, + {"id":240924,"enchant":2646}, + {}, + {"id":240837,"enchant":7657} + ] + }, + "consumes": { + "flask": "FlaskOfAncientKnowledge", + "food": "FoodFiletOFlank", + "agilityElixir": "ElixirOfTheHoneyBadger", + "manaRegenElixir": "MagebloodPotion", + "strengthBuff": "JujuPower", + "attackPowerBuff": "JujuMight", + "spellPowerBuff": "ElixirOfTheMageLord", + "sapperExplosive": "SapperFumigator", + "mainHandImbue": "WildStrikes", + "defaultPotion": "MajorManaPotion", + "defaultConjured": "ConjuredDemonicRune", + "enchantedSigil": "WrathOfTheStormSigil", + "mildlyIrradiatedRejuvPot": true, + "petAgilityConsumable": 1, + "petStrengthConsumable": 1, + "petAttackPowerConsumable": 1, + "dragonBreathChili": true, + "miscConsumes": { + "elixirOfCoalescedRegret": true, + "jujuEmber": true, + "jujuChill": true, + "greaterMarkOfTheDawn": true + }, + "zanzaBuff": "GroundScorpokAssay", + "healthElixir": "ElixirOfFortitude", + "alcohol": "AlcoholRumseyRumBlackLabel" + }, + "bonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + }, + "itemSwap": { + "items": [ + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + }, + { + } + ], + "prepullBonusStats": { + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], + "pseudoStats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + } + }, + "buffs": { + "blessingOfWisdom": "TristateEffectImproved", + "rallyingCryOfTheDragonslayer": true, + "valorOfAzeroth": true, + "saygesFortune": "SaygesDamage", + "spiritOfZandalar": true, + "songflowerSerenade": true, + "mightOfStormwind": true, + "fengusFerocity": true, + "moldarsMoxie": true, + "slipkiksSavvy": true + }, + "talentsString": "550000005-05451004503051-03", + "profession1": "Engineering", + "profession2": "Alchemy", + "cooldowns": { + }, + "rotation": { + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":25296,"rank":7}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":415413}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":20572}}},"doAtValue":{"const":{"val":"-2s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":26297,"tag":2}}},"doAtValue":{"const":{"val":"-0.45s"}},"hide":true}, + {"action":{"castSpell":{"spellId":{"itemId":215162}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":241037}}},"doAtValue":{"const":{"val":"-0.45s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":25295,"rank":9}}},"doAtValue":{"const":{"val":"-0.45s"}}} + ], + "priorityList": [ + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":12662}}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentManaPercent":{}},"rhs":{"const":{"val":"80%"}}}},"castSpell":{"spellId":{"itemId":13444}}}}, + {"action":{"condition":{"not":{"val":{"dotIsActive":{"spellId":{"spellId":25295,"rank":9}}}}},"castSpell":{"spellId":{"spellId":25295,"rank":9}}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"itemId":241241}}},"rhs":{"const":{"val":"1.5"}}}},"castSpell":{"spellId":{"itemId":241241}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"autoTimeToNext":{"autoType":"Ranged"}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGt","lhs":{"gcdTimeToReady":{}},"rhs":{"const":{"val":"1s"}}}},{"cmp":{"op":"OpLt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"30s"}}}}]}},"castSpell":{"spellId":{"itemId":233986}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"5"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":428728}}},"rhs":{"const":{"val":"5"}}}}]}},"castSpell":{"spellId":{"spellId":428726}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"5"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":428728}}},"rhs":{"const":{"val":"5"}}}},{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"1s"}}}}]}},"castSpell":{"spellId":{"spellId":428726}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"5"}}}},{"gcdIsReady":{}}]}},"castSpell":{"spellId":{"spellId":26297,"tag":2}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":1231591}}},"rhs":{"const":{"val":"5"}}}},{"gcdIsReady":{}}]}},"autocastOtherCooldowns":{}}}, + {"hide":true,"action":{"condition":{"and":{"vals":[{"gcdIsReady":{}}]}},"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"autoTimeToNext":{"autoType":"Melee"}},"rhs":{"const":{"val":"0.4s"}}}},{"cmp":{"op":"OpGt","lhs":{"gcdTimeToReady":{}},"rhs":{"const":{"val":"1s"}}}}]}},"move":{"rangeFromTarget":{"const":{"val":"12"}}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"autoTimeToNext":{"autoType":"Ranged"}},"rhs":{"const":{"val":"0.4s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":409433}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"3s"}}}}]}},"cancelAura":{"auraId":{"itemId":215162}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"autoTimeToNext":{"autoType":"Ranged"}},"rhs":{"const":{"val":"0.4s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":409433}}},"rhs":{"const":{"val":"1.5s"}}}},{"cmp":{"op":"OpGe","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"3s"}}}}]}},"move":{"rangeFromTarget":{"const":{"val":"5"}}}}}, + {"action":{"castSpell":{"spellId":{"spellId":14266,"tag":3,"rank":8}}}}, + {"action":{"condition":{"spellCanCast":{"spellId":{"spellId":14268,"rank":3}}},"castSpell":{"spellId":{"spellId":415320}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415413}}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"3"}}}},{"auraIsActive":{"auraId":{"spellId":409535}}},{"spellIsReady":{"spellId":{"spellId":409433}}}]}},"castSpell":{"spellId":{"spellId":409530}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415413}}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"3"}}}},{"spellIsReady":{"spellId":{"spellId":409433}}}]}},"castSpell":{"spellId":{"spellId":409535}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":415413}}}}},{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":25294,"rank":5}}},"rhs":{"const":{"val":"3"}}}},{"spellIsReady":{"spellId":{"spellId":409433}}}]}},"castSpell":{"spellId":{"spellId":409510}}}}, + {"action":{"castSpell":{"spellId":{"spellId":409433}}}}, + {"action":{"castSpell":{"spellId":{"spellId":25294,"rank":5}}}}, + {"action":{"condition":{"const":{"val":"False"}},"castSpell":{"spellId":{"spellId":20572}}}} + ] + }, + "reactionTimeMs": 200, + "distanceFromTarget": 12, + "isbUsingShadowflame": true, + "healingModel": { + }, + "hunter": { + "options": { + "ammo": "SearingArrow", + "quiverBonus": "Speed15", + "petType": "Cat", + "petTalents": { + }, + "petUptime": 1, + "sniperTrainingUptime": 1, + "petAttackSpeed": "Two" + } + } + }, + "encounter": { + "duration": 60, + "durationVariation": 15, + "executeProportion20": 0.2, + "executeProportion25": 0.25, + "executeProportion35": 0.35, + "targets": [ + { + "id": 243269, + "name": "Generic", + "level": 63, + "mobType": "MobTypeHumanoid", + "stats": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,3731,0,0,0,46,0,0,0,127393,0,0,0,0,0,0,0,0,0], + "minBaseDamage": 6000, + "damageSpread": 0.3333, + "swingSpeed": 2, + "parryHaste": true + } + ] + } + } \ No newline at end of file diff --git a/ui/hunter/presets.ts b/ui/hunter/presets.ts index 98e4f38bb7..358a651512 100644 --- a/ui/hunter/presets.ts +++ b/ui/hunter/presets.ts @@ -1,5 +1,6 @@ import { Phase } from '../core/constants/other.js'; import * as PresetUtils from '../core/preset_utils.js'; +import { Spec } from '../core/proto/common'; import { AgilityElixir, Alcohol, @@ -54,6 +55,15 @@ import Phase7AplMeleeDw from './apls/p7_melee_dw.apl.json'; import Phase7AplRangedKillshot from './apls/p7_ranged_killshot.apl.json'; import Phase7AplRangedLnL from './apls/p7_ranged_lnl.apl.json'; import Phase7AplWeave from './apls/p7_weave.apl.json'; +import Phase7NaxxMelee2H from './builds/p7_naxx_melee_2h.build.json'; +// Builds +import Phase7NaxxMeleeDW from './builds/p7_naxx_melee_dw.build.json'; +import Phase7NaxxRanged from './builds/p7_naxx_ranged.build.json'; +import Phase7NaxxWeave from './builds/p7_naxx_weave.build.json'; +import Phase8Melee2H from './builds/p8_melee_2h.build.json'; +import Phase8MeleeDW from './builds/p8_melee_dw.build.json'; +import Phase8Ranged from './builds/p8_ranged.build.json'; +import Phase8Weave from './builds/p8_weave.build.json'; import Phase2GearMelee from './gear_sets/p2_melee.gear.json'; import Phase2GearRangedBm from './gear_sets/p2_ranged_bm.gear.json'; import Phase2GearRangedMm from './gear_sets/p2_ranged_mm.gear.json'; @@ -73,10 +83,25 @@ import Phase6GearWeave from './gear_sets/p6_weave.gear.json'; import Phase7GearMelee2h from './gear_sets/p7_melee_2h.gear.json'; import Phase7GearMeleeDw from './gear_sets/p7_melee_dw.gear.json'; import Phase7GearRangedKillshot from './gear_sets/p7_ranged_killshot.gear.json'; -import Phase7GearRangedLnL from './gear_sets/p7_ranged_lnl.gear.json'; import Phase7GearWeave from './gear_sets/p7_weave.gear.json'; import Phase1Gear from './gear_sets/phase1.gear.json'; +/////////////////////////////////////////////////////////////////////////// +// Build Presets +/////////////////////////////////////////////////////////////////////////// + +export const PresetBuildPhase7NaxxMeleeDW = PresetUtils.makePresetBuildFromJSON('P7 Naxx DW', Spec.SpecHunter, Phase7NaxxMeleeDW); +export const PresetBuildPhase7NaxxMelee2H = PresetUtils.makePresetBuildFromJSON('P7 Naxx 2H', Spec.SpecHunter, Phase7NaxxMelee2H); +export const PresetBuildPhase7NaxxRanged = PresetUtils.makePresetBuildFromJSON('P7 Naxx Ranged', Spec.SpecHunter, Phase7NaxxRanged); +export const PresetBuildPhase7NaxxWeave = PresetUtils.makePresetBuildFromJSON('P7 Naxx Weave', Spec.SpecHunter, Phase7NaxxWeave); +export const PresetBuildPhase8NaxxMeleeDW = PresetUtils.makePresetBuildFromJSON('P8 DW', Spec.SpecHunter, Phase8MeleeDW); +export const PresetBuildPhase8NaxxMelee2H = PresetUtils.makePresetBuildFromJSON('P8 2H', Spec.SpecHunter, Phase8Melee2H); +export const PresetBuildPhase8NaxxRanged = PresetUtils.makePresetBuildFromJSON('P8 Ranged', Spec.SpecHunter, Phase8Ranged); +export const PresetBuildPhase8NaxxWeave = PresetUtils.makePresetBuildFromJSON('P8 Weave', Spec.SpecHunter, Phase8Weave); + +export const DefaultBuild = PresetBuildPhase7NaxxRanged; +export const DefaultWeights = PresetBuildPhase7NaxxRanged.epWeights!; + // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. @@ -112,9 +137,8 @@ export const GearMeleeSVPhase6 = PresetUtils.makePresetGear('P6 Melee SV', Phase export const GearWeavePhase7 = PresetUtils.makePresetGear('P7 Weave', Phase7GearWeave, { customCondition: player => player.getLevel() === 60 }); export const GearRangedKillshotPhase7 = PresetUtils.makePresetGear('P7 Ranged Killshot', Phase7GearRangedKillshot, { customCondition: player => player.getLevel() === 60 }); -export const GearRangedLnLPhase7 = PresetUtils.makePresetGear('P7 Ranged LnL', Phase7GearRangedLnL, { customCondition: player => player.getLevel() === 60 }); -export const GearMelee2HPhase7 = PresetUtils.makePresetGear('P7 Melee 2H', Phase7GearMelee2h, { customCondition: player => player.getLevel() === 60 }); -export const GearMeleeDWPhase7 = PresetUtils.makePresetGear('P7 Melee DW', Phase7GearMeleeDw, { customCondition: player => player.getLevel() === 60 }); +export const GearMelee2HPhase7 = PresetUtils.makePresetGear('P7 2H', Phase7GearMelee2h, { customCondition: player => player.getLevel() === 60 }); +export const GearMeleeDWPhase7 = PresetUtils.makePresetGear('P7 DW', Phase7GearMeleeDw, { customCondition: player => player.getLevel() === 60 }); export const GearPresets = { [Phase.Phase1]: [GearBeastMasteryPhase1, GearMarksmanPhase1, GearSurvivalPhase1], @@ -123,15 +147,11 @@ export const GearPresets = { [Phase.Phase4]: [GearWeavePhase4, GearRangedSVPhase4], [Phase.Phase5]: [GearWeavePhase5, GearRangedMMPhase5, GearRangedSVPhase5, GearMeleeBMPhase5, GearMeleeSVPhase5], [Phase.Phase6]: [GearWeavePhase6, GearRangedDraconicPhase6, GearRangedKillshotPhase6, GearMeleeBMPhase6, GearMeleeSVPhase6], - [Phase.Phase7]: [GearWeavePhase7, GearRangedKillshotPhase7, GearRangedLnLPhase7, GearMelee2HPhase7, GearMeleeDWPhase7], + [Phase.Phase7]: [PresetBuildPhase7NaxxWeave.gear!, PresetBuildPhase7NaxxRanged.gear!, PresetBuildPhase7NaxxMelee2H.gear!, PresetBuildPhase7NaxxMeleeDW.gear!], + [Phase.Phase8]: [PresetBuildPhase8NaxxWeave.gear!, PresetBuildPhase8NaxxRanged.gear!, PresetBuildPhase8NaxxMelee2H.gear!, PresetBuildPhase8NaxxMeleeDW.gear!], }; -export const DefaultGearWeave = GearPresets[Phase.Phase7][0]; -export const DefaultGearRangedKillshot = GearPresets[Phase.Phase7][1]; -export const DefaultGearMeleeSV = GearPresets[Phase.Phase7][3]; -export const DefaultGearMeleeBM = GearPresets[Phase.Phase7][4]; - -export const DefaultGear = DefaultGearRangedKillshot; +export const DefaultGear = DefaultBuild.gear! /////////////////////////////////////////////////////////////////////////// // APL Presets @@ -174,14 +194,10 @@ export const APLPresets = { [Phase.Phase4]: [APLWeavePhase4, APLRangedPhase4], [Phase.Phase5]: [APLWeavePhase5, APLRanged31Phase5, APLRanged22Phase5, APLMeleeBMPhase5, APLMeleeSVPhase5], [Phase.Phase6]: [APLWeavePhase6, APLRangedDraconicPhase6, APLRangedKillshotPhase6, APLMeleeBMPhase6, APLMeleeSVPhase6], - [Phase.Phase7]: [APLWeavePhase7, APLRangedKillshotPhase7, APLRangedLnLPhase7, APLMeleeDWPhase7, APLMelee2HPhase7], + [Phase.Phase7]: [PresetBuildPhase7NaxxWeave.rotation!, PresetBuildPhase7NaxxRanged.rotation!, PresetBuildPhase7NaxxMelee2H.rotation!, PresetBuildPhase7NaxxMeleeDW.rotation!], + [Phase.Phase8]: [PresetBuildPhase8NaxxWeave.rotation!, PresetBuildPhase8NaxxRanged.rotation!, PresetBuildPhase8NaxxMelee2H.rotation!, PresetBuildPhase8NaxxMeleeDW.rotation!], }; -export const DefaultAPLWeave = APLPresets[Phase.Phase7][0]; -export const DefaultAPLRangedKillshot = APLPresets[Phase.Phase7][1]; -export const DefaultAPLMeleeBM = APLPresets[Phase.Phase7][3]; -export const DefaultAPLMeleeSV = APLPresets[Phase.Phase7][4]; - /////////////////////////////////////////////////////////////////////////// // Talent Presets /////////////////////////////////////////////////////////////////////////// @@ -262,19 +278,16 @@ export const TalentsMeleeSVPhase6 = PresetUtils.makePresetTalents('P6 Melee SV', customCondition: player => player.getLevel() === 60, }); -export const TalentsWeavePhase7 = PresetUtils.makePresetTalents('Weave', SavedTalents.create({ talentsString: '-054510005-3305202202303051' }), { - customCondition: player => player.getLevel() === 60, -}); -export const TalentsRangedMMPhase7 = PresetUtils.makePresetTalents('Marksmanship', SavedTalents.create({ talentsString: '5-05451005503051-3320202' }), { +export const TalentsWeavePhase7 = PresetUtils.makePresetTalents('P7 Weave', SavedTalents.create({ talentsString: '-054510005-3305202202303051' }), { customCondition: player => player.getLevel() === 60, }); -export const TalentsRangedSVPhase7 = PresetUtils.makePresetTalents('Ranged Survival', SavedTalents.create({ talentsString: '1-054510005-332020230232305' }), { +export const TalentsRangedMMPhase7 = PresetUtils.makePresetTalents('P7 Ranged', SavedTalents.create({ talentsString: '5-05451005503051-3320202' }), { customCondition: player => player.getLevel() === 60, }); -export const TalentsMeleeDWPhase7 = PresetUtils.makePresetTalents('DW Survival', SavedTalents.create({ talentsString: '1-052500305-332020241230305' }), { +export const TalentsMeleeDWPhase7 = PresetUtils.makePresetTalents('P7 DW', SavedTalents.create({ talentsString: '1-052500305-332020241230305' }), { customCondition: player => player.getLevel() === 60, }); -export const TalentsMelee2HPhase7 = PresetUtils.makePresetTalents('2H Survival', SavedTalents.create({ talentsString: '-055500005-3320202412303051' }), { +export const TalentsMelee2HPhase7 = PresetUtils.makePresetTalents('P7 2H', SavedTalents.create({ talentsString: '-055500005-3320202412303051' }), { customCondition: player => player.getLevel() === 60, }); @@ -282,25 +295,21 @@ export const TalentPresets = { [Phase.Phase1]: [TalentsBeastMasteryPhase1, TalentsMarksmanPhase1, TalentsSurvivalPhase1], [Phase.Phase2]: [TalentsBeastMasteryPhase2, TalentsMarksmanPhase2, TalentsSurvivalPhase2], [Phase.Phase3]: [TalentsRangedMMPhase3, TalentsMeleeBMPhase3], - [Phase.Phase4]: [], //[TalentsWeavePhase4, TalentsRangedMMPhase4, TalentsRangedSVPhase4], - [Phase.Phase5]: [], //[TalentsWeavePhase5, TalentsRangedMMPhase5, TalentsRangedSVPhase5, TalentsMeleeBMPhase5, TalentsMeleeSVPhase5], + [Phase.Phase4]: [TalentsWeavePhase4, TalentsRangedMMPhase4, TalentsRangedSVPhase4], + [Phase.Phase5]: [TalentsWeavePhase5, TalentsRangedMMPhase5, TalentsRangedSVPhase5, TalentsMeleeBMPhase5, TalentsMeleeSVPhase5], [Phase.Phase6]: [TalentsWeavePhase6, TalentsRangedMMPhase6, TalentsRangedSVPhase6, TalentsMeleeBMPhase6, TalentsMeleeSVPhase6], - [Phase.Phase7]: [TalentsWeavePhase7, TalentsRangedMMPhase7, TalentsRangedSVPhase7, TalentsMeleeDWPhase7, TalentsMelee2HPhase7], + [Phase.Phase7]: [PresetBuildPhase7NaxxWeave.talents!, PresetBuildPhase7NaxxRanged.talents!, PresetBuildPhase7NaxxMelee2H.talents!, PresetBuildPhase7NaxxMeleeDW.talents!], + [Phase.Phase8]: [PresetBuildPhase8NaxxWeave.talents!, PresetBuildPhase8NaxxRanged.talents!, PresetBuildPhase8NaxxMelee2H.talents!, PresetBuildPhase8NaxxMeleeDW.talents!], }; -export const DefaultTalentsWeave = TalentPresets[Phase.Phase7][0]; -export const DefaultTalentsRangedKillshot = TalentPresets[Phase.Phase7][2]; -export const DefaultTalentsMeleeBM = TalentPresets[Phase.Phase7][3]; -export const DefaultTalentsMeleeSV = TalentPresets[Phase.Phase7][4]; - -export const DefaultTalents = DefaultTalentsRangedKillshot; +export const DefaultTalents = DefaultBuild.talents!; /////////////////////////////////////////////////////////////////////////// // Options /////////////////////////////////////////////////////////////////////////// export const OptionsRangedLonewolf = HunterOptions.create({ - ammo: Ammo.ThoriumHeadedArrow, + ammo: Ammo.SearingArrow, quiverBonus: Hunter_Options_QuiverBonus.Speed15, petAttackSpeed: 2.0, petTalents: {}, @@ -309,56 +318,9 @@ export const OptionsRangedLonewolf = HunterOptions.create({ sniperTrainingUptime: 1.0, }); -export const OptionsRangedPet = HunterOptions.create({ - ammo: Ammo.ThoriumHeadedArrow, - quiverBonus: Hunter_Options_QuiverBonus.Speed15, - petAttackSpeed: 2.0, - petTalents: {}, - petType: PetType.WindSerpent, - petUptime: 1, - sniperTrainingUptime: 1.0, -}); - -export const OptionsMeleePet = HunterOptions.create({ - ammo: Ammo.ThoriumHeadedArrow, - quiverBonus: Hunter_Options_QuiverBonus.Speed15, - petAttackSpeed: 2.0, - petTalents: {}, - petType: PetType.Cat, - petUptime: 1, - sniperTrainingUptime: 1.0, -}); - export const DefaultOptions = OptionsRangedLonewolf; // Consumable Presets - -export const MeleeConsumes = Consumes.create({ - agilityElixir: AgilityElixir.ElixirOfTheHoneyBadger, - alcohol: Alcohol.AlcoholRumseyRumBlackLabel, - attackPowerBuff: AttackPowerBuff.JujuMight, - defaultConjured: Conjured.ConjuredDemonicRune, - defaultPotion: Potions.MajorManaPotion, - dragonBreathChili: true, - enchantedSigil: EnchantedSigil.WrathOfTheStormSigil, - flask: Flask.FlaskOfMadness, - food: Food.FoodSmokedDesertDumpling, - healthElixir: HealthElixir.ElixirOfFortitude, - mainHandImbue: WeaponImbue.WildStrikes, - manaRegenElixir: ManaRegenElixir.MagebloodPotion, - miscConsumes: { - draughtOfTheSands: true, - }, - offHandImbue: WeaponImbue.ElementalSharpeningStone, - petAttackPowerConsumable: 1, - petAgilityConsumable: 1, - petStrengthConsumable: 1, - sapperExplosive: SapperExplosive.SapperFumigator, - spellPowerBuff: SpellPowerBuff.ElixirOfTheMageLord, - strengthBuff: StrengthBuff.JujuPower, - zanzaBuff: ZanzaBuff.GroundScorpokAssay, -}); - export const RangedConsumes = Consumes.create({ agilityElixir: AgilityElixir.ElixirOfTheHoneyBadger, alcohol: Alcohol.AlcoholRumseyRumBlackLabel, @@ -381,28 +343,6 @@ export const RangedConsumes = Consumes.create({ zanzaBuff: ZanzaBuff.GroundScorpokAssay, }); -export const WeaveConsumes = Consumes.create({ - agilityElixir: AgilityElixir.ElixirOfTheHoneyBadger, - alcohol: Alcohol.AlcoholRumseyRumBlackLabel, - attackPowerBuff: AttackPowerBuff.JujuMight, - defaultConjured: Conjured.ConjuredDemonicRune, - defaultPotion: Potions.MajorManaPotion, - dragonBreathChili: false, - enchantedSigil: EnchantedSigil.WrathOfTheStormSigil, - flask: Flask.FlaskOfAncientKnowledge, - food: Food.FoodGrilledSquid, - healthElixir: HealthElixir.ElixirOfFortitude, - mainHandImbue: WeaponImbue.WildStrikes, - manaRegenElixir: ManaRegenElixir.MagebloodPotion, - offHandImbue: WeaponImbue.EnchantedRepellent, - petAttackPowerConsumable: 1, - petAgilityConsumable: 1, - petStrengthConsumable: 1, - sapperExplosive: SapperExplosive.SapperFumigator, - spellPowerBuff: SpellPowerBuff.ElixirOfTheMageLord, - zanzaBuff: ZanzaBuff.GroundScorpokAssay, -}); - export const DefaultConsumes = RangedConsumes; export const DefaultRaidBuffs = RaidBuffs.create({ @@ -458,84 +398,5 @@ export const OtherDefaults = { distanceFromTarget: 12, profession1: Profession.Enchanting, profession2: Profession.Engineering, - race: Race.RaceTroll, + race: Race.RaceNightElf, }; - -/////////////////////////////////////////////////////////////////////////// -// Encounters -/////////////////////////////////////////////////////////////////////////// - -export const EncounterWeavePhase6 = PresetUtils.makePresetEncounter( - 'Weave', - 'https://wowsims.github.io/sod/hunter/#eJztV2toHFUU3nN3djM5acbJzWv2Jmm321anYzad3c3GpGm7k+CPEqWGWKG/pIZWaikkuCD6r5YWbbUS8kcaUVOtNgQjJaBgEVIjQqtoW6Ulvgui+ECM/SFVaeOZ12Z2G03FCopelt17zzn3O4/73cdiXGYqizOdmdAOFtsKJ9m2MYDdbA8MMTjGoLtJgzGnZ8EMwAWAXnYMtu2AUWAnAXhIHI1htHfXPQ9tv1+NaOvizBgDrFCnn1W0Dzr1iYkYSuqvwwqWqW+Q6OUa0k2OK9rZqH7uR0GDN0n6haIfIMMK9cmDivZ1p37lJXvwNA321ugfXtFQVg8dVPTROY3EJ1zkn53BM2TzuaL/cLmBbD56QdEf32v3Xjys6I9RT1KfOqzQ96Un7AAujira+RoMUXffYUX7pjPdLJeroEed5GGjNMTYg2WPQmQI2ChIVIcTAO+DpEKcco+s/UrCCyz0f/tbG9/9ny/xtyzUXd0OxD8iJfTCFtgKO2AQehqSZrY1mzJNM5vMZMxs2kzTJ2NSN9UrbYH+0M4zVVoYq1EWUZTkQ2cbE2UYwXAym8cYopAxKo89T4xPlCMpkpmWbF4DrEV5p23/ykQsoMA6D+aTUUgg0txkqqWD5JorV38ZqvTkZkurA+TPeO1dCGoK8lcf6SmS12OZoPDkL+tLgDQv2NNvgV4e1PEGEcMq4wY5zFl/SDjZZbOrhIRMq+RxsRRreXWpQRsZ0I/6Uz9vEg2ONhqYbq7qs4ObmojxlSKBmlEnSxx3FvzboSPL5p0U6Dji60UntvBmrDWq5QiPTDMmMztclFItt+Sx2qgicXgYQq7QJOEwOF1kqTSfBfE94AXgn4JjG3UhIq6fVB77RK8TpAfiizt5B4YPQAjrjVrSlY+DF1DBImbUk6Ji3HYmv0exz2PeJe5EYWhUliXjQIssHx+Ih3XZ1afzji6ykC7jwpbOc7PGykQFlk86gRx5pxGX2Gs1Ce6aDoNTX4QspSyD+A7wM+Afg1O3QtJeidr/VWkXciwpQCHlNt5FGa/HFF+DSmIJ4oitkU8P6HJw/PqAHnaTW6hqkmBrQ0HKrvUom864ZCSPvJ38tKLBdac+Ub8+Fy83FBIJxEhbvDAzSTNXY5wvdQ2e8+saHNowblzOzlMNxYvDwW7N+8pGIRZQeqcEv5n8LONNxfQo8drnG6+gsJZhnVFjJzMN3rkh3LL6/iwyWodpbmK1qApgRt6m9YHShALVd7KnxwNfI5K4gi9feP5CE+4gl7dhF88t6pKKFhwen9OC610AXC1uwibeUMSN4sALpnYBFzEtcJ/HBNWWk3KkCMc+uSpFhZhnM6dDVngB8w1/VM8gXUvY4Ye4icrTgxbfUEK30iPCY0mPxxLa90WsEF7FeD/h3Y2bed+fxrOpIwXPCYc6mQV8zLNocR9S0IeDMEUIt4pubOdtv7P3UvlSJl6dq107S2zAVp6+ZpSrEfz959567oW1SvjXGi268HnDm4Uxv+ndHKeKU6Z3g/9+KJDUPWMDoXn3nXct0hvhGk3Vh48o3BD6YqY+3wZPwn5wH0a6dYnBKe99KFtnvV6HNcNgBELT0MgFveijidBqVzObS/mdjSwxHS53R5usKrez0oqNHLLbqVyHKzmTW36v087n0sNheWZPJZdv3/7A9l3xNlPLxcPGP+wfgL7fui44N078JRxVzF2fOKi5SzZ41Oq4b2B236nN53JdnsbaAr8BPTHkGg==', -); - -export const EncounterRangedDraconicPhase6 = PresetUtils.makePresetEncounter( - 'Ranged Draconic', - 'https://wowsims.github.io/sod/hunter/#eJztVl1oHFUUnnNnZnf2pBknt5vN5DbGcUllHLth9mdCfpSdRh9i1bKKD3nU0EgrhQYDom8lpGiV1BipYH0wwdqEQiQEFOxLa6CQIGojWKKCFkRRn2ofpCi4nvnZ7RpbI1hB0Puwc+79vvvdc86cc2cxqzGDWcxmLvSCz4bgMVhl+xYADrMJmGawxGDwVhMWQsuHDYBLABW2BPv2wyywVQAuiaUWTFQOPv7s6FNG0rzbYs4CYJPxypRuvj9gv7PYjorxy4yOSeNlWno7Tdjyad1cT9jrPwqavEqrX+v2C0RsMl6iyXcD9uLxAJma083JtP3ZryZqxvSUbs9WTVo+90aoPB9uOE4bvtLt89WA8/lbun1scgdZp+Z0+0WyFOPqMZ1+X58LHLgyq5sX0yiReYS0vx8o3KWlDLATYfgwpIwln+l8HtRpYLOgUBrOAXwCigEWha72f6vgJSb9P/7RwQ//51P8A5MGt/cC1R/VJFRgmNpyP4zBHpFzvZKXd928lysWS67rFjy3UHSLrldRhmFEevKLlCljKyaFirL2TVtWwwQquUJh3ATMIAqaaxfOg52Mkbw7jm3x+sKb1AnZFCZRzRW7vXGklhJE0t59bk8WkSg5t7tUCqRixPhyXt+EZGLk5+nmRqSu9d6H8Aet6PiPya1UI8Y7hEA9uw2xUMevMUO0xblFUzgbkQQ5jbLn7QwCNyYPXA/tidGfRnin6EDuGFqCs35JhKkoUMS1aP8MD2Lmt2kgdlyXEeWdW0S48RGUhPAIU2QwtQzxqbEZHNAv8S5SsDDjpEkhtVLjBPoI+brKw8R6CO/lu7HNadVUnjodMs9WzYCCrDj+e+BUA9CcbaqdTrd0KHnygw7uim7s4tkwe5HzYfby3g13JMgJ4vFdwkGLd9Z21t+Ku7O26+xi+yPxk1fEXryPD24SDd2Va+7S1R+5W6AKcjJBKs7UA4zccqOUnqmavEeU0OH2X1UUsVDd7037GqYUpYjTx6laRazEt4mG1qnPPqL6VHmv6MFd3MFWZzvlX11hTFOjOsgHzRUkSeXyDEiRP/mouiZO6twSnZjmHA1Hj+s3ZFD51nL3gLgf7+EDjS7SctQsy0CJ0a4cshMoHPPaqw8iD5s7312iOqzfBOFxQaUCj4srfLghg2rMYlsy5C0ZypYMdUtGYmwVjkJ0Rdr+VQZr8ZdC89djq8/fYHACpBXo4II+7YmsdGeEXC7na8YQy67IqWi212+JjC6//cRrwVgr90UrF8q3PxGOi+XCjKxtTDRz7cHRp0cPWj2uWbZk51/2X8A+6t8UnTsW/5aOIao3xw8a0Ssbm/f7Dhy6fGTt0U/Lu2PEH4bfAEReM3g=', -); - -export const EncounterRangedKillshotPhase6 = PresetUtils.makePresetEncounter( - 'Ranged Killshot', - 'https://wowsims.github.io/sod/hunter/#eJztVE1oVFcUfufOvJn7Tszr82aSvFxjGR8ir1NG3sxkJPGHebqK8W8WLrIQseIUG0QHB0q7k1TxDyUEXKgLE40aAiMSULArHRESS6sRlOiiFYqiXRTbRbEtGM/7yRjrshYK7VnMfPd855x7vnPvu2hxZrAks5kDneCybtgGE2zHKMA+1g8DDC4zWLPQhFEfuTAN8BigyC7Djp0wBGwCQCjyq0aMFXd98mVprxE3VyZZahSwwaid0c0bK+xqtQ2jxp+DOsaNG+S6lCBufEw3p2L21C+SFjfJ+6NuH6HABuPnEd18RlknPObYsG7uT9gPX5nIjVcjuj00Y5L7elD5d39xnxJ+0O1bM17Mo/O6fXz/AkIXhnX7KKGo8fK4Tr+nh70Gfh3SzQcJVAgeoNrPV2Q/5poBdsyXD93RcvyLDw+BOgBsCKI0husA9yBqQJKkq8ufRvExU/63f9TEvv/8iH9iypqmTqD7R3cSitBLn+VOKEPPgkzayXfkM47j5NO5XAf9Z/NONufknHwx2gvblb6qakawBVFyjPG7t8COW4Qwms44FWwN/aPn6M5bGsZRTeeW5iuUwCUFGX8MNFqIFJJ2lnaQ3wwT7lAh7S8M76MMfqXaNtdvgmiXEnVrHmK2nvmmhlgn12JBrMLmVBNXhVpjjKvS7zDjNTI/9QG5I4OgeP0gywSuiGA9iqR2MZJzKn6r/SO62Cq3ID8L5OVPWkURY5vKpd2lvcIXw+ndCBE9FSH6uo6uHuwJkPH9RV0EMr+jFtU52ZZMYksqwWNCq0GYJGk3hLwfc+1bEIulhWaqhVrEvjeC/eaXVeqVemS3L7s11UyR2hiExGygT6jvEB0V1M5CKEGGOhNSIB8PVdf1bZDrcLUovF2I5AaFaLRtqVYiGsagrjSgOut7hNvykW/aRbNsQm0cwmVdB83pHeztPou9+c6Tc6fZIDXv4PidPTYXhtRRvU1nDp4Y47ft5Qk4DMGtt92XDCbDj5+7UyHqcqcZnAKlBu1C0msds5SPAuZFITMLuplVi2jBaqM7PwCL3bZTJz2bLHQFnruFRZ/69qCQHYzw6f5GwdeXPi/tSi5zzEIykvqXPe/2Yfe91FlS/Vt1DDnzfvogC46sfNHt+mzPiwOTm+8XVoeM2wuvAX2b+Tk=', -); - -export const EncounterMeleeBMPhase6 = PresetUtils.makePresetEncounter( - 'Melee BM', - 'https://wowsims.github.io/sod/hunter/#eJztVF1IFFEU3nN3dnf2mNN0XXX2arBtaePCyuzYVGqxmxVJDyHUg48lWZqli0tQPa1m9IckQaT1oEJUSP4QPUQQlhQY9GeQ+RBURFERqC/hSz937q76UD1VENQZmPud73z33HPP3LmYLxOVBIhODFgNMbId4iRJWqGDwBCBCqbBZYFiMAFQRYZgZx30ABkFoA42mIHuqr07DtY2qy5tTYCEBgEz1JFeRbtdrvf3+1FSO08p6FHvcGrAx2P3uxVtzK2PTTPu3OLsa0Xv/KJx52y7or0r179c8XPn2hlFa/PpXZ/zUFaHzij6jKDPt4vME8K5zWe/UPRnST/XJHsV/WSbrX7Yreg3D+fxpc/3Kvx94qhdwHSPon20wYPuNDgxkqm9LzdXyh6V6G6xeaiUOgg54EmCdAxcHUB6QLoMMARwHWAG4BbAEyAq74Sr7K2EL4njv/1Ro8l/vsUfiKNCFWcTqqAatkMdxGFznmUZhmEahsWfiGlFwjYKl5SYhlklVUONY887p+bEHMTT4EEXOhGsoIxulMIRI4FZKDOO5a6x/KAIh60E5iIyLpEf3QXdG/QiD4QjxTyQnVY/74Ef0Z86Z2mjOJKgEiNlDlrAliKjGuaEfLKbekfAVvIfl4laTHuQ3+RSi5VgEV2OmcEM9F4VIvsGsGc5v5sVYWmXRtlaLKERzA1l27obczo+IjETP1l2PgHfqcCTHGcwL+PVy8NNujQXsEUmM7CQLkM1pPBVSI0jld4qEIybks1pZkVCzBnu99PFLA8XhRbaUa4XvbWMgtlm041sPZbSVegP5dr19UG6CCa+jWgrC2myi2IfzNY0HxNpbnzV6AIZUnWqLReU+Cgch9Rp8cVmCJwDxwhk0yxZVt0aBB1FA5teHfINTEYrPcFxpzel3BJblALLYv5zXbbdi5ammMfRJbuEjUfNi055ojWT5m/d39hQ2xjYVrsvvrc2sKF5x+6mxob6xkBFUyKhRQPu0F92GU61xH5LnsL+X8qjBlau+y11cIuId/xSrLS+aerIvW1Po7OpY9XwDYq30s4=', -); - -export const EncounterMeleeSVPhase6 = PresetUtils.makePresetEncounter( - 'Melee SV', - 'https://wowsims.github.io/sod/hunter/#eJztVF1IFFEU3nP3b/aY03j9m5012ra0aWhjZteJzGI36UF8CCEffLTI0jRdWqJ6szL6wxAfKotIX0oiQ3qI8EXbelCIyCLxISqIoiLQ6kUIrTt3d6wwnzII6gzMnPOd73z33HNnBgMCkUiQqESHDRAndZAgbWRTJ4EBAhVFMvRxLw4TANVkAHY1QA+QEYBKoA7lyRL0VDfvOFy/X3LLm4JE6wPMklK9ovykXO3v96NL+tIlole6z6CbeSz34Iooj3nUpx8VFgwz9JWoXpiVWXC+Q5TflquzN/wsuMyC9jy1eyaAgtTdIarTHL7UwZUneHCXVb8Q1UnOaesV1bPtlvfwiqieYZ5Len5NZPdLvVYDfYz8QUQHc0+nsuV35ZGo4JWI6uHbhkpXJyGHvCfB3QmkB1x9AAMAdwCmAYYBHgOR2ATcG9+48CVx/Lc/arTtnx/xe+KokPiLCdVQC3XQAAmoCoR10zR1ZmY4Go3o7Co1IlE9qptGtasWdjr2nnPLTixA7AIvutGJYIYE9KArbOhJzEVBYb7QPVYU4umwmWRkn8IC4XOjKoR8yNywsY7h+Rnysx74FXz7RFUG1tcZSeoRQCEbHXQley7HAi1P8FBfCiwm+1oV3krEegivC2lE0XGtoi1EQ0kTGc7krJWQGDoTNpUorqGrMTuUhb5bvML6VVgSznkSUSUT0piyGaPUwEIt3+INzvG4ciS5QA/GnEC+kmuvd+xeEYc/zQT4Forpyp/LZ+1yE31dTrvEGu5Qq+qiqKRHN8lkbd/SylJ880nW2tYiJXQVn4eTkp2ZeZjF9oSqMkhpktcM9fvpMiWAOdpSK8v4/JRNvdg+dnpQOYBNtBFlrUBw/zgPzmQnzDNsR9ch0+oCGdb494xfK2QZvA72NuZSfOHBr3JiBE5B+t3Oi08TuAiOFOTTXEGQPDKEHGvSualYpTc07vSlo23xHLvEf7HbstFYWRp5FFuxm9t4LHLVKUwczaZF2w+0NNW3BGvq9yWa64Nb9+/Y09rS1NgSrGhNJuVY0KP9Zb/uqSPxRdEp6f8tHSm4fsui9MHM4PfEtXhZY+vU8dGapzFbOl4L3wABv+hb', -); - -export const EncounterWeavePhase7 = PresetUtils.makePresetEncounter( - 'Weave', - 'https://wowsims.github.io/sod/hunter/#eJztVm9oW1UUz7l5SV9O1vh6064vN22Xpta9PpeYP321bbYl9oOUIVKqQj9qoTLHoMWA6DenFVyns/SDdEWwOMFSWpEyi/9griC0Mp1TNioIDkSYfnHTISq087x/WRpXO3CKH3oSknPPv/u755x37sMWmSksxjSWgk4osF54FJbZHJsBeJa9CuMM3mHQ06TCjMUVYBXgEkAfG4CDMA1sGaAXuEdcVtHfd/ixZ4aeVKrUvTGmzwEGleOnQupXOW1+PoKS8tpiiERnXg+pZ/dp1z48QIuF2ZD6S067cFXQ4hgZfxfSxsg4qIzR4nJOW58zF6/QYrRW+3pdRVkZPxXSpq+rJH6ZxGdy2u/W4jTF/Tak/bQWJZtJsnlp1OSeXwxpx4iTlLdpe0k5Tr9Vytq7IfViLXqIfW8xpP6Qy6TlgAKa30oC9ErjjD3d8iL4xoFNg0TJ+BjgS/CTCaknGa6Cr3tdwkvMs03/KvHJ7RRvQj+yk764Z6uPvt2m/wFtt+mm1BPuBBqgNFWhDwboejkII3AgmkgZhpEiMhLZbMrIpDL0zaaITfdJAzDoOXQ2qHoxjLLwoySfON8Qr0IfehNGESOIQka/PHOSRnY8gKRIZJNGUQXc6dh/Mw1xRDJKpJNd5KLacuWP8WpHnkq2b/B4/zMo15Q86N6o8KjHKkFI5O/rKxSqg+vcJ6AFynU8KiJYo98hezkb9AjrIIbRKiRkajWPiSas4+FKgw4yoD/l10HeKKKW1l/mnmrtN2Gfno/wO0UcVX2nLHE8VNrfBI/MKFqHo6uT7xM5TPI9WKeHZR/3LTEmMxMuSunkvUUM6zUk9k6AxxamSDgBFossneGjTBxheA34VbBs/XYIn71Puoj9os8C6QRxxTnehd4x8GC9Xke6wCw4gGyLDJVTrydFcNbcTP6csPtKqkfEQyh0ldKyYxao0PIHwzGvJpf0ps53M13WDlvpZ58ad5jFWQC7iNgsdqHvU1JQM+i15ONg/HktahYAIT0BVs4RDC4J1u2x6qnoIbMg3c5R24tOU/BawW9Ed3voJlLqRX63aMNdvLECUXU8iIE33ET1u8Zmo9RyjoEpV+XgLtX4HpHAFt6MYVFTFs45HE6Zx5DPDdtJkunFibeJ3djIo+W6it1LpibULUxLBeQRQafgwTKoJYzVIihulITTIyOcbPP9Yi9meOpv4X80rHnL9zWr5EI0RBbb+G6r1fzlZXSbcUOaS273UwZ7sJN3bO648aCbxCmI/djOM7cc5a8RGoSw+soeA/YT3Crc55zyJtzU8z1CxxhvsmMugGNTvqSZ6c7OUp3tZ60MmjMAnDlBY/MWTZUjb4a4LrStTN2SjSzDUbBvBK3wG4MV58KUC+cdrquwymAKPEvQwAW9jvvjnjZbcyWfdpleFl/yBuzVg4Uam0kWIlMnTFrJd9mSL/LNj1t0MZ+Z8Mqrz1Vz+YGhp4YOxzpSaj4m6/+zVyLtaOG2xLlr/h/FUcT124ODyC7ZyFuFrieGr7yw8vCF/H2OpjAAfwLdx3ad', -); - -export const EncounterRangedPhase7 = PresetUtils.makePresetEncounter( - 'Ranged', - 'https://wowsims.github.io/sod/hunter/#eJztVl1IFFEUnnN3Z/fuMcfxajZdI7a1bFowxtUNzWKnXjKJ8KEH6akCwyRIEqLewgyyyEQoyoKkgiI0QkqKHioh0P60oLCnhCiqp6KICtLO/LhJ9EsWPXhmmT3nfN89595z796zWMCZzqLMZBaUgc0qYR30sy52BmAnOwRtDM4zWD7bgDOuZsMwwAhANauBOugE1g9QCUKRzwSGqjev31G7VQ8bS6Is3gWYobde0IzrFWZ390wM6sd6NXJdP64Zt5eab69UkdFzVjPeVJj3Xksy9hH5iWbuJXKGvpeM5zTyoIMcIKM513w0aiDX2y5oZueYQe79XvQPrnGV4j7WzBtjDqeFOK3N+aTt6tXMfaQF9XOUPqi30jusf7qoGQ9zUSH1Uq9mvKhIWDyigxlyiwCVwYbw9oI9oLYB64Qg1eIawH0IEYPQwwyHQV08GsQRpkzJXxVxeKrE35GX7KQaU372xKeO6T+QqWP6XVmeUwZ0gdKlCtVQQ92lDhqgKr+4yEqWJosty0oWlZQkLHpK6EOvZHWwBjYo9bdUI4DTkdeHMMhPjhmxMKoYKEo2GoASM3sAyX/0fJVgJcmJ2HREyTHEh26AGU4DmIdcUiT9Y1tmDJEIRdbCUvIbPv3yHYiGvokMUqDIRETMkhKz41k8INhaRbopyqx5kr70dxt+hDZvEivlClwqKlyGKthin5GwGjEnnk0utY8xrjpzRVbc6PMC7aCMu9xlNJ3SREJaWCjmYqQDnBo5fZB3AAXjT2dgZiwDIydcgPqmO4Y6oCiViV8eky7Lb2eiIgtTFuIsIdGI51EpsD5dSm8di9x1OCPEfDnPZU6I/lVML5PIlQJ5j59X+lyRLbNQvUlFg3TEr1wOaxrpPG05e6THNX8H3AklG9PobOJK1GLTEBNfpp3WBPqRnFTj+lUnh/ROzF1iqSJDRpy95YNbTN7QDy3g/SBM+z2DAf++4PY9Xyu3hxl0gNIHVAr6MxKKKQs85FWqeFypZLG+QMSzVtvZnrLQntlxxJGBVLnnGUrN2ejKw1SiPcCHmzIFX1W7rXZzdJFlpKI8/p91BLPFnpQ4hd1/FEeXY5MzDxJvyxpO2+WbtrzaPbDmQWqZj9g18Bk7LQHU', -); - -export const EncounterMeleeDWPhase7 = PresetUtils.makePresetEncounter( - 'Melee DW', - 'https://wowsims.github.io/sod/hunter/#eJztVUFsFGUUnvfv7O7MaztM/9Y6+++aLAMl45gtM7NdI11xx8ZD04NpoIeetCUpgkB3w8ZEb9Vigk0kjUpt96CNGiXENaSQxhAMUi8QPKgJ2IOJJl7QEKx66YXCP//sLlRsPAjGQ98kM/9733vf+983/+5gSiE6SROLOPAE+GQYSmScTMMUgVMEehMGnBArH5YABsg+mANyEaAPqMTeb8PYwMGRV0YP61HjyTSxTwM26dNnNONC3qpWEyjrN+Y1HnqHh77eaR0918+d6oJm/Jm3rvzOuFPhyM+aNcmTm/R339SMa3lr9VPhcORIuzV7M4mK/vYZzVoR4eMh+5Jw3uMFP2rW9+MJnjPDc44dCbInFjTri4kkb//ZgsbvK8c0jOuned/rweLyW7XF5GKL8UveyytxnVgxMT/0yVOEvBwfB/MoRKeAzIF8AuAUwOcAKwBfAnwHss4TZwguQbRnVcafiLRhD9TozIbE69iv5MOoKf3TZW8c0//ANo7putariz9XGIAhGIZ9UIL+pJtxcl7OcbJOLpPNeg6/ul0vG/gD8hDskV48HjMi2IYKi6GszH6bMuMYxUgmV8aHasEf5sBUkYczbleuTLPMxQx7DDvsdiVG1UUIcvi3gvEyBA9b7U1KlJIeiQkm1yn3SHQny6NLt2OL2YTqB6LkN/550cxmxArwROV80ZIxMgkSqpUGZfD86HKKPsKSgjdGyZ4ab87p3BXA56sJ6rLt2Em3iC1F7tlSFtV5qDGxGkJ99hR2Uw8Nu0ORqXq2URJuuiu3znxug8FjjmhaI5/4KrW2ZLVe0s3q81FkoaR8dtrE1DuAGJBuCvWZXzN/vdc2uhV1W+MDBhpwBEmuU0S4Kv21SHeZ1UX5e83qr5luVYClxY6jVD35F8VE1tlbBmU8qwObTUTFE8S3DFZ70maOKY3MYfYcDtJdmLAfDjQIGf+4mWQK8lVwctZCXIK7IGYbHMKTjaNwB2t0GGHPP6AOQehc0eJHh8UDBfTp3aWL8AaEv6t2f4VABaRFaKOtiqrHTOnREFku9MXNqxE19J71W8NFl5+ozAZ2qbAjjHxT2LxX2NWC93FEWXqthaZ2vzR2YHQsPTh6qHRwNP3M4ZEXimMH9o+le4vlslFIK/b/7GOy/Kp/X3i2Vf8Vj55+/On7sg9urriXPvF37C8uv35p8EqhTu0PwW15AwsJ', -); - -export const EncounterMelee2HPhase7 = PresetUtils.makePresetEncounter( - 'Melee 2H', - 'https://wowsims.github.io/sod/hunter/#eJztVU9oFGcUn/ft7O7MixknX2I6+22E7WrsOGXj7G5GNFF3DD2EHCRoDjnZREir1WYXF0FvWi3YHCQoDUlO8Q8qwRUJEkpISRs8RPTgH5QcCgrtoS2lpvWSS2O/+WZ3NdXgoSoe8gZm3nu/N7/3vd98ux/WKUQnMWISGzaBS7ogR46SAegncI1AS8SAy8JzYRagneyFESAzAK1AJTZRjaH2A91Heg7qQWNLjFhXACv0geuacb/ZLBQiKOt/jmk8deOsZtzeap6cbONBYVwznjabD/5iPBjmxT9rZh8vrtBP8+DXZnPhihf8MqYZJ2rMoX+iqOhnrmvmvEh/67PPiuBHzvtIM5+ImkFec+qE5x0f18zvj0d5+6vjGr/Pn9IwrM9MacYfGkrc7ZuuNH5rTm1SwjoxQ2JwaJX7CTkcPgnBfiAjIF8GuAbwHcA8wA8A90DWedUgwVkINi3I+JhIy/ZWjQ4uS7yE/U7OB+PS6y5reZu+A1vepktaiy7+WaEdOqEL9kIO2qIJ23Ecm5uTSKdTNr8ak6m0nbadZLvcCXukLyZCRgBXIZ6GMAYxgODEhZNw8liNCguhrAzdrXueXFVM/jQCcRV5OpFscPI0zZKYYB9jrVWjhKg6DV4NPziYIE1hlbVSCVLSJDHBlLTzTRJtY624jW7BKItgZbwC1XPitb+9IyZV8l4AnvCDKNAHEqrDZX7veeFWHV3NoqJJiJI9xSaOXb/Tg6cKEZpkG7CerhHrC7y0vjSqY1BkYkWEumwbNtIUGlatIlN1ovyKP0GDs8SwyTLDR6weGTUW1y2U6ho9ImUqa8oUmS8qH5BWMPVlgAvhT0hX+oKMLRLAa5ZiNq6ja1G3ND6hJwJHkDj1IsNlaStmGvOspMqrRSt9dLpWARYTqw9SdfQ/komqiWcGZbyqFlfEsfjRpp4ZrPikKzimlCu72G7soDsxYn3g6TFa+tpMQe55+2gxxOV4AWKWwSEchZI6z7Fyh2726Vvq4KUmsybfOyzsKaAP7MrNwDfg//hq3HkCwyBNQzWtUlQ9FJfW+8hcpjUcfxhQ/WiHW+U7DW5keMizm5nNfuZO5sPPhD3MpC4GlNmvKmndrkO9+3t6Yx09X+YO9MQ+Odj9ebZ3/77eWEs2nzcyMcV6z06cuWPuG+FZV/hfPHps4/Y3sg5uSXHPXXI378vOfX2z40GmRO12wr/b0A+c', -); - - -/////////////////////////////////////////////////////////////////////////// -// Presets -/////////////////////////////////////////////////////////////////////////// - -export const PresetBuildWeave = PresetUtils.makePresetBuild('Weave', { - gear: DefaultGearWeave, - talents: DefaultTalentsWeave, - rotation: DefaultAPLWeave, - encounter: EncounterWeavePhase7, -}); -export const PresetBuildRangedKillshot = PresetUtils.makePresetBuild('Ranged', { - gear: DefaultGearRangedKillshot, - talents: DefaultTalentsRangedKillshot, - rotation: DefaultAPLRangedKillshot, - encounter: EncounterRangedPhase7, -}); -export const PresetBuildMeleeBM = PresetUtils.makePresetBuild('Melee DW', { - gear: DefaultGearMeleeBM, - talents: DefaultTalentsMeleeBM, - rotation: DefaultAPLMeleeBM, - encounter: EncounterMeleeDWPhase7, -}); -export const PresetBuildMeleeSV = PresetUtils.makePresetBuild('Melee 2H', { - gear: DefaultGearMeleeSV, - talents: DefaultTalentsMeleeSV, - rotation: DefaultAPLMeleeSV, - encounter: EncounterMelee2HPhase7, -}); \ No newline at end of file diff --git a/ui/hunter/sim.ts b/ui/hunter/sim.ts index 2c0e981fe9..49893fc87f 100644 --- a/ui/hunter/sim.ts +++ b/ui/hunter/sim.ts @@ -1,13 +1,13 @@ import * as BuffDebuffInputs from '../core/components/inputs/buffs_debuffs'; import * as ConsumablesInputs from '../core/components/inputs/consumables.js'; import * as OtherInputs from '../core/components/other_inputs.js'; -import * as Mechanics from '../core/constants/mechanics.js'; import { Phase } from '../core/constants/other.js'; import { IndividualSimUI, registerSpecConfig } from '../core/individual_sim_ui.js'; import { Player } from '../core/player.js'; import { ItemSlot, PartyBuffs, PseudoStat, Spec, Stat } from '../core/proto/common.js'; import { HunterRune } from '../core/proto/hunter.js'; import { Stats } from '../core/proto_utils/stats.js'; +import { SpecOptions } from '../core/proto_utils/utils'; import * as HunterInputs from './inputs.js'; import * as Presets from './presets.js'; @@ -71,9 +71,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHunter, { displayPseudoStats: [PseudoStat.PseudoStatMeleeSpeedMultiplier, PseudoStat.PseudoStatRangedSpeedMultiplier], defaults: { - race: Presets.OtherDefaults.race, // Default equipped gear. - gear: Presets.DefaultGear.gear, + gear: Presets.DefaultBuild.gear!.gear, // Default EP weights for sorting gear in the gear picker. epWeights: Stats.fromMap( { @@ -103,17 +102,22 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHunter, { }, ), // Default consumes settings. - consumes: Presets.DefaultConsumes, + consumes: Presets.DefaultBuild.settings!.consumes!, // Default talents. - talents: Presets.DefaultTalents.data, + talents: Presets.DefaultBuild.talents!.data, // Default spec-specific settings. - specOptions: Presets.DefaultOptions, - other: Presets.OtherDefaults, + specOptions: Presets.DefaultBuild.settings!.specOptions! as SpecOptions, + other: { + // Default distance from target. + distanceFromTarget: Presets.DefaultBuild.settings?.playerOptions?.distanceFromTarget, + profession1: Presets.DefaultBuild.settings?.playerOptions?.profession1, + profession2: Presets.DefaultBuild.settings?.playerOptions?.profession2, + }, // Default raid/party buffs settings. - raidBuffs: Presets.DefaultRaidBuffs, - partyBuffs: PartyBuffs.create({}), - individualBuffs: Presets.DefaultIndividualBuffs, - debuffs: Presets.DefaultDebuffs, + raidBuffs: Presets.DefaultBuild.settings!.raidBuffs!, + partyBuffs: Presets.DefaultBuild.settings!.partyBuffs!, + individualBuffs: Presets.DefaultBuild.settings!.buffs!, + debuffs: Presets.DefaultBuild.settings!.debuffs!, }, // IconInputs to include in the 'Player' section on the settings tab. @@ -144,6 +148,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHunter, { presets: { // Preset talents that the user can quickly select. talents: [ + ...Presets.TalentPresets[Phase.Phase8], ...Presets.TalentPresets[Phase.Phase7], //...Presets.TalentPresets[Phase.Phase6], //...Presets.TalentPresets[Phase.Phase5], @@ -154,6 +159,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHunter, { ], // Preset rotations that the user can quickly select. rotations: [ + ...Presets.APLPresets[Phase.Phase8], ...Presets.APLPresets[Phase.Phase7], //...Presets.APLPresets[Phase.Phase6], //...Presets.APLPresets[Phase.Phase5], @@ -164,6 +170,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHunter, { ], // Preset gear configurations that the user can quickly select. gear: [ + ...Presets.GearPresets[Phase.Phase8], ...Presets.GearPresets[Phase.Phase7], //...Presets.GearPresets[Phase.Phase6], //...Presets.GearPresets[Phase.Phase5], @@ -172,7 +179,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHunter, { ...Presets.GearPresets[Phase.Phase2], ...Presets.GearPresets[Phase.Phase1], ], - builds: [Presets.PresetBuildRangedKillshot, Presets.PresetBuildMeleeBM, Presets.PresetBuildMeleeSV, Presets.PresetBuildWeave], + builds: [Presets.PresetBuildPhase7NaxxMeleeDW, Presets.PresetBuildPhase7NaxxMelee2H, Presets.PresetBuildPhase7NaxxRanged, Presets.PresetBuildPhase7NaxxWeave, + Presets.PresetBuildPhase8NaxxMeleeDW, Presets.PresetBuildPhase8NaxxMelee2H, Presets.PresetBuildPhase8NaxxRanged, Presets.PresetBuildPhase8NaxxWeave], }, autoRotation: player => {