diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9d3d34e..2eebd56 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,4 +1,4 @@ -name: Lint +name: Lint and Test on: pull_request: @@ -21,3 +21,43 @@ jobs: uses: astral-sh/ruff-action@0ce1b0bf8b818ef400413f810f8a11cdbda0034b # v4.0.0 with: args: "format --check" + + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install system dependencies + run: sudo apt-get install -y default-libmysqlclient-dev build-essential pkg-config + + - name: Install Python dependencies + run: pip install -r requirements.txt + + - name: Run tests with coverage + env: + SECRET_KEY: ci-secret-key-not-used-in-production + DEBUG_OPTION: "True" + DB_NAME: ci_db + DB_USER: ci_user + DB_PASSWORD: ci_pass + DB_HOST: localhost + DB_PORT: "3306" + FRONTEND_URL: http://localhost:3000 + HASH_KEY: ci-hash-key-not-used-in-production + BLIZZ_CLIENT: ci-client + BLIZZ_SECRET: ci-secret + BLIZZ_REDIRECT_URI: http://localhost:3000/redirect/ + run: python -m pytest tests/ -v + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v5 + with: + files: coverage.xml + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.gitignore b/.gitignore index 2c6fdb7..33b94bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # ignored files .env +dump.txt /media/uploads mapping.txt FazzToolsScraper.lua @@ -17,4 +18,6 @@ test.py # Python __pycache__/ *.pyc -*.pyo \ No newline at end of file +*.pyo +coverage.xml +.coverage \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index e15e593..fbc6dcf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -62,14 +62,22 @@ After changing `.env`, use `docker compose up -d web` (not `restart`) to pick up ## Project layout ``` -backend/ Django project config (settings, urls, celery, wsgi) -apicore/ The single Django app - models.py All DB models - views.py All ViewSets + Lua file parser - tasks.py Celery tasks (fullAltScan, fullDataScan) - serializers.py DRF serializers - libs/ Helper mappings (keybind_mapping, icon_mapping) - migrations/ DB migrations +backend/ Django project config (settings, urls, celery, wsgi) + test_settings.py Overrides DB→SQLite and cache→locmem for pytest +apicore/ The single Django app + models.py All DB models + views.py All ViewSets + Lua file parser + tasks.py Celery tasks (fullAltScan, fullDataScan) + serializers.py DRF serializers + permissions.py IsSessionUser permission class + libs/ + keybind_builder.py Pure keybind-building logic (build_all/single_keybinds, tier_sort_key) + keybind_mapping.py Slot→action-button mappings per addon + lua_parser.py Hand-rolled Lua-table-to-JSON converter + icon_mapping.py Mount/pet icon mappings + migrations/ DB migrations +tests/ pytest suite (47 tests); run via pytest tests/ +conftest.py pytest env-var setup (pytest_configure hook) ``` ## API URL structure diff --git a/apicore/libs/keybind_builder.py b/apicore/libs/keybind_builder.py new file mode 100644 index 0000000..e171718 --- /dev/null +++ b/apicore/libs/keybind_builder.py @@ -0,0 +1,153 @@ +"""Pure keybind-building logic, extracted from views.py. + +These functions transform a parsed Lua addon dict into the response shapes +consumed by the frontend. No Django models are touched here except for +_build_all_keybinds, which looks up ProfileAlt for class display names. +""" + +import logging + +from apicore.libs.keybind_mapping import getKeybindMap + +logger = logging.getLogger(__name__) + +_EXPANSION_ORDER: dict[str, int] = { + "classic": 0, + "outland": 1, + "northrend": 2, + "cataclysm": 3, + "pandaria": 4, + "draenor": 5, + "legion": 6, + "kul tiran": 7, + "zandalari": 7, + "shadowlands": 8, + "dragon isles": 9, + "khaz algar": 10, + "midnight": 11, +} + +_SPAM_FILTER = { + "Auto Attack", + "Mobile Banking", + "Revive Battle Pets", + "Vindicaar Matrix Crystal", + "Shoot", +} + +_SECTION_ORDER = {"Base": 0, "Talent": 1, "Misc": 2} + + +def tier_sort_key(tier_name: str) -> int: + name_lower = tier_name.lower() + for keyword, order in _EXPANSION_ORDER.items(): + if keyword in name_lower: + return order + return 999 + + +def build_all_keybinds(data: dict, user_id: str) -> list: + from apicore.models import ProfileAlt + + result = [] + for alt_key, alt_config in data.get("alts", {}).items(): + specs = [] + try: + if alt_config.get("kb") is not None: + specs = list(alt_config["kb"].keys()) + else: + specs = ["---", "---", "---", "---"] + except (KeyError, TypeError): + specs = ["---", "---", "---", "---"] + + specs.sort() + while len(specs) < 4: + specs.append("---") + + name, realm = (alt_key.split("-", 1) + [""])[:2] + try: + alt_obj = ProfileAlt.objects.get(alt_name=name, alt_realm=realm) + row = [name, realm, alt_obj.get_alt_class_display()] + specs + result.append(row) + except ProfileAlt.DoesNotExist: + logger.debug("Alt not in DB: %s", alt_key) + + result.sort(key=lambda x: (x[1], x[0])) + return result + + +def build_single_keybinds(data: dict, alt: str, realm: str, spec: str) -> list: + alt_key = f"{alt}-{realm}" + alt_config = data["alts"][alt_key] + keybind_map = getKeybindMap(alt_config["kbConfig"]["addon"]) + + user_keybind: dict[str, str] = {} + for slot, nice_spell in alt_config["kb"][spec].items(): + prefix = nice_spell.split(":")[0] + + if prefix == "spell": + try: + user_keybind[nice_spell] = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] + except (KeyError, ValueError): + pass + + elif prefix == "macro": + macro_name = nice_spell.split(":")[1] + found = False + for tab in alt_config.get("spell", {}).get(spec, {}): + for spell_id, spell_info in alt_config["spell"][spec][tab].items(): + if spell_info[0] in alt_config["macro"][macro_name][2]: + found = True + spell_key = f"spell:{spell_id}" + try: + bound = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] + except (KeyError, ValueError): + continue + if spell_key not in user_keybind: + user_keybind[spell_key] = bound + elif user_keybind[spell_key] != bound: + user_keybind[spell_key] += f" | {bound}" + if not found: + try: + user_keybind[nice_spell] = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] + except (KeyError, ValueError): + pass + + elif prefix == "item": + item_name = nice_spell.split(":")[1] + if item_name in alt_config.get("item", {}): + try: + user_keybind[nice_spell] = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] + except (KeyError, ValueError): + pass + + full_result = [] + for tab in alt_config.get("spell", {}).get(spec, {}): + spells = [] + for spell_id, spell_info in alt_config["spell"][spec][tab].items(): + if spell_info[0] in _SPAM_FILTER: + continue + entry = [spell_info[0]] + if len(spell_info) > 1: + entry.append(spell_info[1]) + entry.append(user_keybind.get(f"spell:{spell_id}", "UNBOUND")) + spells.append(entry) + spells.sort(key=lambda x: x[0]) + full_result.append([tab.title(), spells]) + + misc = [] + for item_name, item_info in alt_config.get("item", {}).items(): + if f"item:{item_name}" in user_keybind: + misc.append([item_info[0], user_keybind[f"item:{item_name}"]]) + for macro_name, macro_info in alt_config.get("macro", {}).items(): + if f"macro:{macro_name}" in user_keybind: + misc.append([f"[Macro] {macro_info[0]}", user_keybind[f"macro:{macro_name}"]]) + misc.sort(key=lambda x: x[0]) + full_result.append(["Misc", misc]) + + full_result.sort(key=lambda x: _SECTION_ORDER.get(x[0], 99)) + + if len(full_result) >= 2: + full_result[0][1] = [x for x in full_result[0][1] if x not in full_result[1][1]] + + return full_result diff --git a/apicore/tests.py b/apicore/tests.py deleted file mode 100644 index a39b155..0000000 --- a/apicore/tests.py +++ /dev/null @@ -1 +0,0 @@ -# Create your tests here. diff --git a/apicore/views.py b/apicore/views.py index e449b73..26d0a88 100644 --- a/apicore/views.py +++ b/apicore/views.py @@ -18,7 +18,7 @@ from rest_framework.permissions import IsAdminUser from urllib3.util.retry import Retry -from apicore.libs.keybind_mapping import getKeybindMap +from apicore.libs.keybind_builder import build_all_keybinds, build_single_keybinds, tier_sort_key from apicore.libs.lua_parser import LuaParser from apicore.models import ( DataEquipment, @@ -205,131 +205,17 @@ def list(self, request): cache.set(cache_key, data, timeout=None) if page == "all": - return response.Response(_build_all_keybinds(data, user_id)) + return response.Response(build_all_keybinds(data, user_id)) if page == "single": alt_name = request.query_params.get("alt", "").title() realm = string.capwords(request.query_params.get("realm", "")) spec = request.query_params.get("spec", "").title() - return response.Response(_build_single_keybinds(data, alt_name, realm, spec)) + return response.Response(build_single_keybinds(data, alt_name, realm, spec)) return response.Response([]) -def _build_all_keybinds(data: dict, user_id: str) -> list: - result = [] - for alt_key, alt_config in data.get("alts", {}).items(): - specs = [] - try: - if alt_config.get("kb") is not None: - specs = list(alt_config["kb"].keys()) - else: - specs = ["---", "---", "---", "---"] - except (KeyError, TypeError): - specs = ["---", "---", "---", "---"] - - specs.sort() - while len(specs) < 4: - specs.append("---") - - name, realm = (alt_key.split("-", 1) + [""])[:2] - try: - alt_obj = ProfileAlt.objects.get(alt_name=name, alt_realm=realm) - row = [name, realm, alt_obj.get_alt_class_display()] + specs - result.append(row) - except ProfileAlt.DoesNotExist: - logger.debug("Alt not in DB: %s", alt_key) - - result.sort(key=lambda x: (x[1], x[0])) - return result - - -def _build_single_keybinds(data: dict, alt: str, realm: str, spec: str) -> list: - alt_key = f"{alt}-{realm}" - alt_config = data["alts"][alt_key] - keybind_map = getKeybindMap(alt_config["kbConfig"]["addon"]) - - user_keybind: dict[str, str] = {} - for slot, nice_spell in alt_config["kb"][spec].items(): - prefix = nice_spell.split(":")[0] - - if prefix == "spell": - try: - user_keybind[nice_spell] = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] - except (KeyError, ValueError): - pass - - elif prefix == "macro": - macro_name = nice_spell.split(":")[1] - found = False - for tab in alt_config.get("spell", {}).get(spec, {}): - for spell_id, spell_info in alt_config["spell"][spec][tab].items(): - if spell_info[0] in alt_config["macro"][macro_name][2]: - found = True - spell_key = f"spell:{spell_id}" - try: - bound = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] - except (KeyError, ValueError): - continue - if spell_key not in user_keybind: - user_keybind[spell_key] = bound - elif user_keybind[spell_key] != bound: - user_keybind[spell_key] += f" | {bound}" - if not found: - try: - user_keybind[nice_spell] = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] - except (KeyError, ValueError): - pass - - elif prefix == "item": - item_name = nice_spell.split(":")[1] - if item_name in alt_config.get("item", {}): - try: - user_keybind[nice_spell] = alt_config["kbConfig"]["map"][keybind_map[int(slot)]] - except (KeyError, ValueError): - pass - - SPAM_FILTER = { - "Auto Attack", - "Mobile Banking", - "Revive Battle Pets", - "Vindicaar Matrix Crystal", - "Shoot", - } - SECTION_ORDER = {"Base": 0, "Talent": 1, "Misc": 2} - - full_result = [] - for tab in alt_config.get("spell", {}).get(spec, {}): - spells = [] - for spell_id, spell_info in alt_config["spell"][spec][tab].items(): - if spell_info[0] in SPAM_FILTER: - continue - entry = [spell_info[0]] - if len(spell_info) > 1: - entry.append(spell_info[1]) - entry.append(user_keybind.get(f"spell:{spell_id}", "UNBOUND")) - spells.append(entry) - spells.sort(key=lambda x: x[0]) - full_result.append([tab.title(), spells]) - - misc = [] - for item_name, item_info in alt_config.get("item", {}).items(): - if f"item:{item_name}" in user_keybind: - misc.append([item_info[0], user_keybind[f"item:{item_name}"]]) - for macro_name, macro_info in alt_config.get("macro", {}).items(): - if f"macro:{macro_name}" in user_keybind: - misc.append([f"[Macro] {macro_info[0]}", user_keybind[f"macro:{macro_name}"]]) - misc.sort(key=lambda x: x[0]) - full_result.append(["Misc", misc]) - - full_result.sort(key=lambda x: SECTION_ORDER.get(x[0], 99)) - - if len(full_result) >= 2: - full_result[0][1] = [x for x in full_result[0][1] if x not in full_result[1][1]] - - return full_result - - class ProfileUserMountView(viewsets.ModelViewSet): serializer_class = ProfileUserMountSerializer queryset = ProfileUserMount.objects.all() @@ -508,31 +394,6 @@ def list(self, request): return response.Response(alts) -_EXPANSION_ORDER: dict[str, int] = { - "classic": 0, - "outland": 1, - "northrend": 2, - "cataclysm": 3, - "pandaria": 4, - "draenor": 5, - "legion": 6, - "kul tiran": 7, - "zandalari": 7, - "shadowlands": 8, - "dragon isles": 9, - "khaz algar": 10, - "midnight": 11, -} - - -def _tier_sort_key(tier_name: str) -> int: - name_lower = tier_name.lower() - for keyword, order in _EXPANSION_ORDER.items(): - if keyword in name_lower: - return order - return 999 - - class ProfileAltProfessionDataView(viewsets.ModelViewSet): serializer_class = ProfileAltProfessionDataSerializer queryset = ProfileAltProfessionData.objects.all() @@ -619,7 +480,7 @@ def list(self, request): result = [ [tier_name, sorted(cats.items())] for tier_name, cats in sorted( - tiers.items(), key=lambda x: _tier_sort_key(x[0]), reverse=True + tiers.items(), key=lambda x: tier_sort_key(x[0]), reverse=True ) ] diff --git a/backend/test_settings.py b/backend/test_settings.py new file mode 100644 index 0000000..a059c39 --- /dev/null +++ b/backend/test_settings.py @@ -0,0 +1,14 @@ +from backend.settings import * # noqa: F401, F403 + +DATABASES = { + "default": { + "ENGINE": "django.db.backends.sqlite3", + "NAME": ":memory:", + } +} + +CACHES = { + "default": { + "BACKEND": "django.core.cache.backends.locmem.LocMemCache", + } +} diff --git a/conftest.py b/conftest.py new file mode 100644 index 0000000..cee0e13 --- /dev/null +++ b/conftest.py @@ -0,0 +1,17 @@ +import os + + +def pytest_configure(config): + """Set required env vars before Django initialises settings.""" + os.environ.setdefault("SECRET_KEY", "test-secret-key-for-pytest-only") + os.environ.setdefault("DEBUG_OPTION", "True") + os.environ.setdefault("DB_NAME", "test_db") + os.environ.setdefault("DB_USER", "test_user") + os.environ.setdefault("DB_PASSWORD", "test_pass") + os.environ.setdefault("DB_HOST", "localhost") + os.environ.setdefault("DB_PORT", "3306") + os.environ.setdefault("FRONTEND_URL", "http://localhost:3000") + os.environ.setdefault("HASH_KEY", "test-hash-key-for-pytest") + os.environ.setdefault("BLIZZ_CLIENT", "test-blizz-client") + os.environ.setdefault("BLIZZ_SECRET", "test-blizz-secret") + os.environ.setdefault("BLIZZ_REDIRECT_URI", "http://localhost:3000/redirect/") diff --git a/dump.txt b/dump.txt deleted file mode 100644 index de03d8a..0000000 --- a/dump.txt +++ /dev/null @@ -1 +0,0 @@ -{"alts":{"Fazzarmer-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazze-Kor'gall":{"kbConfig":{"addon":"Dominos"},"ridingSkill":1},"Tialha-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Heinze-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON1":"X","MULTIACTIONBAR1BUTTON4":"Z","ACTIONBUTTON12":"=","BONUSACTIONBUTTON2":"CTRL-2","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON10":"Q","BONUSACTIONBUTTON6":"CTRL-6","BONUSACTIONBUTTON1":"CTRL-1","MULTIACTIONBAR4BUTTON1":"T","BONUSACTIONBUTTON4":"CTRL-4","BONUSACTIONBUTTON3":"CTRL-3","ACTIONBUTTON3":"3","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton13:HOTKEY":"5","MULTIACTIONBAR3BUTTON1":"F","CLICK DominosActionButton9:HOTKEY":"1","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR2BUTTON1":"SHIFT-B","CLICK DominosActionButton25:HOTKEY":"6","ACTIONBUTTON7":"B","CLICK DominosActionButton1:HOTKEY":"SHIFT-V","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton49:HOTKEY":"8","BONUSACTIONBUTTON8":"CTRL-8","CLICK DominosActionButton11:HOTKEY":"SHIFT-R","ACTIONBUTTON11":"SHIFT-Q","CLICK DominosActionButton37:HOTKEY":"7"},"addon":"Dominos"},"item":{"156833":["Katy's Stampwhistle",443375,"Consumable"],"6948":["Hearthstone",134414,"Miscellaneous"]},"kb":{"Frost":{"61":"spell:83958","3":"spell:116","63":"item:156833","64":"spell:256948","7":"spell:122","49":"item:6948","73":"summonmount:1025","8":"spell:83958","12":"spell:118","11":"spell:190336","10":"spell:1953"}},"spell":{"Frost":{"base":{"80353":["Time Warp","","Warp the flow of time, increasing haste by 30% for all party and raid members for 40 sec.\r\n\r\nAllies will be unable to benefit from Bloodlust, Heroism, or Time Warp again for 10 min.",458224],"235219":["Cold Snap","","Resets the cooldown of your Ice Barrier, Frost Nova, Cone of Cold, and Ice Block.",135865],"55342":["Mirror Image","","Creates 3 copies of you nearby for 40 sec, which cast spells and attack your enemies.\r\n\r\nWhile your images are active damage taken is reduced by 20%. Taking direct damage will cause one of your images to dissipate.",135994],"319836":["Fire Blast","","Blasts the enemy for 44 Fire damage.",135807],"30449":["Spellsteal","","Steals a beneficial magic effect from the target. This effect lasts a maximum of 2 min. ",135729],"190356":["Blizzard","","Ice shards pelt the target area, dealing 54 Frost damage over 7.6 sec and reducing movement speed by 50% for 3 sec.",135857],"30455":["Ice Lance","","Quickly fling a shard of ice at the target, dealing 23 Frost damage.\r\n\r\nIce Lance damage is tripled against frozen targets.",135844],"2139":["Counterspell","","Counters the enemy's spellcast, preventing any spell from that school of magic from being cast for 6 sec.",135856],"256948":["Spatial Rift","Racial","Tear a rift in space. Reactivate this ability to teleport through the rift.",1724004],"5019":["Shoot","","Attack with an equipped wand.",132317],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"11426":["Ice Barrier","","Shields you with ice, absorbing 100 damage for 1 min.\r\n\r\nMelee attacks against you reduce the attacker's movement speed by 50%.",135988],"45438":["Ice Block","","Encases you in a block of ice, protecting you from all attacks and damage for 10 sec, but during that time you cannot attack, move, or cast spells. \r\n\r\nCauses Hypothermia, preventing you from recasting Ice Block for 30 sec.",135841],"1449":["Arcane Explosion","","Causes an explosion of magic around the caster, dealing 31 Arcane damage to all enemies within 10 yards.",136116],"84714":["Frozen Orb","","Launches an orb of swirling ice up to 40 yards forward which deals up to 177 Frost damage to all enemies it passes through. Deals reduced damage beyond 8 targets. Grants 1 charge of Fingers of Frost when it first damages an enemy.\r\n\r\nEnemies damaged by the Frozen Orb are slowed by 30% for 3 sec.",629077],"190336":["Conjure Refreshment","","Conjures mana food for you and your allies. Conjured items disappear if logged out for more than 15 minutes.",134029],"116":["Frostbolt","","Launches a bolt of frost at the enemy, causing 34 Frost damage and slowing movement speed by 50% for 8 sec.",135846],"12472":["Icy Veins","","Accelerates your spellcasting for 20 sec, granting 30% haste and preventing damage from delaying your spellcasts.",135838],"343140":["Portal","","Creates a portal, teleporting group members that use it to a Major City.",628677],"31687":["Summon Water Elemental","","Summons a Water Elemental to follow and fight for you.",135862],"118":["Polymorph","Sheep","Transforms the enemy into a sheep, wandering around incapacitated for 1 min. While affected, the victim cannot take actions but will regenerate health very quickly. Damage will cancel the effect. Limit 1.\r\n\r\nOnly works on Beasts, Humanoids and Critters.",136071],"130":["Slow Fall","","Slows a group member's falling speed for 30 sec.",135992],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"108978":["Alter Time","","Alters the fabric of time, returning you to your current location and health when cast a second time, or after 10 seconds. Effect negated by long distance or death.",609811],"343127":["Teleport","","Teleports you to a major city.",237509],"120":["Cone of Cold","","Targets in a cone in front of you take 23 Frost damage and have movement slowed by 50% for 5 sec.",135852],"1459":["Arcane Intellect","","Infuses the target with brilliance, increasing their Intellect by 5% for 1 |4hour:hrs;. \r\n\r\nIf target is in your party or raid, all party and raid members will be affected.",135932],"44614":["Flurry","","Unleash a flurry of ice, striking the target 3 times for a total of 64 Frost damage. Each hit reduces the target's movement speed by 70% for 1 sec.",1506795],"475":["Remove Curse","","Removes all Curses from a friendly target. ",136082],"1953":["Blink","","Teleports you forward 20 yds or until reaching an obstacle, and frees you from all stuns and bonds.",135736],"66":["Invisibility","","Turns you invisible over 3 sec, reducing threat each second. While invisible, you are untargetable by enemies. Lasts 20 sec. Taking any action cancels the effect.",132220],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",135150],"122":["Frost Nova","","Blasts enemies within 12 yds of you for 2 Frost damage and freezes them in place for 8 sec. Damage may interrupt the freeze effect.",135848]},"talent":{"108839":["Ice Floes","","Makes your next Mage spell with a cast time shorter than 10 sec castable while moving. Unaffected by the global cooldown and castable while casting.",610877],"212653":["Shimmer","","",135739],"116011":["Rune of Power","","",609815],"157997":["Ice Nova","","",1033909],"153595":["Comet Storm","","",2126034],"199786":["Glacial Spike","","",1698699],"113724":["Ring of Frost","","",464484],"257537":["Ebonbolt","","",1392551],"205021":["Ray of Frost","","",1698700],"321358":["Focus Magic","","",135754]}}},"ridingSkill":1},"Fazziest-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"1","MULTIACTIONBAR1BUTTON6":"SHIFT-R","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"Z","ACTIONBUTTON6":"F","CLICK DominosActionButton15:HOTKEY":"SHIFT-F2","CLICK DominosActionButton16:HOTKEY":"SHIFT-F3","MULTIACTIONBAR1BUTTON9":"SHIFT-E","ACTIONBUTTON1":"E","BONUSACTIONBUTTON6":"CTRL-6","CLICK DominosActionButton17:HOTKEY":"SHIFT-F4","BONUSACTIONBUTTON1":"CTRL-1","CLICK DominosActionButton14:HOTKEY":"SHIFT-F1","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"SHIFT-BUTTON4","CLICK DominosActionButton13:HOTKEY":"9","ACTIONBUTTON3":"3","CLICK DominosActionButton11:HOTKEY":"SHIFT-T","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","BONUSACTIONBUTTON4":"CTRL-4","ACTIONBUTTON12":"SHIFT-V","EXTRAACTIONBUTTON1":"5","ACTIONBUTTON10":"X","CLICK DominosActionButton8:HOTKEY":"BUTTON5","ACTIONBUTTON4":"C","MULTIACTIONBAR2BUTTON1":"SHIFT-B","MULTIACTIONBAR1BUTTON1":"SHIFT-X","MULTIACTIONBAR1BUTTON4":"Q","MULTIACTIONBAR1BUTTON10":"SHIFT-G","MULTIACTIONBAR1BUTTON12":"BUTTON4","CLICK DominosActionButton5:HOTKEY":"SHIFT-BUTTON3","MULTIACTIONBAR2BUTTON11":"\\","BONUSACTIONBUTTON2":"CTRL-2","BONUSACTIONBUTTON5":"CTRL-5","MULTIACTIONBAR4BUTTON3":"SHIFT-N","CLICK DominosActionButton2:HOTKEY":"SHIFT-2","CLICK DominosActionButton1:HOTKEY":"6","MULTIACTIONBAR4BUTTON1":"8","ACTIONBUTTON9":"4","BONUSACTIONBUTTON3":"CTRL-3","CLICK DominosActionButton3:HOTKEY":"SHIFT-Q","CLICK DominosActionButton4:HOTKEY":"R","MULTIACTIONBAR1BUTTON3":"SHIFT-`","CLICK DominosActionButton6:HOTKEY":"SHIFT-3","CLICK DominosActionButton7:HOTKEY":"SHIFT-F","MULTIACTIONBAR1BUTTON2":"SHIFT-4","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON5","CLICK DominosActionButton10:HOTKEY":"SHIFT-6","ACTIONBUTTON7":"B","CLICK DominosActionButton12:HOTKEY":"SHIFT-C","BONUSACTIONBUTTON10":"CTRL-0","MULTIACTIONBAR3BUTTON1":"`","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON5":"BUTTON3","ACTIONBUTTON11":"T","CLICK DominosActionButton38:HOTKEY":"-"},"addon":"Dominos"},"item":{"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"173859":["Ethereal Pomegranate",133999,"Consumable"],"172179":["Eternal Traveler's Hearthstone",3084684,"Miscellaneous"],"172233":["Drums of Deathly Ferocity",3528453,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"172045":["Tenebrous Crown Roast Aspic",3671905,"Consumable"],"132514":["Auto-Hammer",1405803,"Consumable"],"173049":["Tome of the Still Mind",3717418,"Consumable"],"178850":["Lingering Sunmote",132842,"Armor"],"171285":["Shadowcore Oil",463543,"Consumable"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"],"181468":["Veiled Augment Rune",134078,"Consumable"],"171268":["Spiritual Mana Potion",3566858,"Consumable"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"177278":["Phial of Serenity",463534,"Consumable"],"171276":["Spectral Flask of Power",3566840,"Consumable"]},"kb":{"Discipline":{"87":"macro:4","63":"spell:73325","93":"item:173049","37":"item:173859","67":"macro:121","57":"spell:453","112":"item:141605","111":"item:140192","13":"spell:212036","33":"macro:122","23":"spell:9484","86":"item:171276","62":"macro:125","72":"spell:8122","82":"item:178850","92":"item:172045","56":"spell:32379","16":"spell:586","12":"macro:23","22":"spell:2006","71":"spell:10060","61":"spell:34433","85":"item:181468","41":"macro:13","65":"spell:58984","91":"item:132514","59":"spell:324739","49":"item:177278","39":"item:171268","99":"spell:7411","79":"macro:1","1":"spell:17","3":"spell:585","2":"spell:204197","19":"spell:33206","4":"spell:186263","7":"spell:194509","6":"spell:19236","9":"spell:129250","15":"spell:204263","110":"item:172179","21":"spell:605","11":"macro:123","94":"item:172233","70":"spell:1706","54":"macro:11","64":"spell:132157","38":"item:113509","88":"item:171285","98":"spell:13262","68":"spell:246287","78":"macro:10","51":"spell:528","101":"spell:2550","18":"spell:8092","5":"spell:527","14":"spell:325013","109":"item:110560","8":"spell:47540","100":"spell:818","60":"spell:2096","20":"spell:32375","52":"spell:48045","97":"spell:4036","10":"spell:47536"}},"macro":{"125":["stam buff",135987,"#showtooltip\n/cast [target=player] Power Word: Fortitude\n"],"123":["feather",642580,"#showtooltip\n/cast [@cursor] Angelic Feather\n"],"4":["armour kit",3528447,"#showtooltip\n/use Heavy Desolate Armor Kit\n/use 5\n"],"121":["barrier",253400,"#showtooltip\n/cast [@cursor] Power Word: Barrier\n"],"23":["trinket",133250,"#showtooltip\n/use 13\n"],"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"13":["Health",3566860,"#showtooltip Spiritual Healing Potion\n/cast Healthstone\n/cast Spiritual Healing Potion\n"],"122":["disenchant",132853,"/cast disenchant\n/use item:167754\n"],"11":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"10":["eng rez",3610508,"#showtooltip\n/use [@mouseover] Disposable Spectrophasic Reanimator\n"]},"spell":{"Discipline":{"base":{"21562":["Power Word: Fortitude","","Infuses the target with vitality, increasing their Stamina by 5% for 1 |4hour:hrs;.\r\n\r\nIf the target is in your party or raid, all party and raid members will be affected.",135987],"10060":["Power Infusion","","Infuses the target with power for 20 sec, increasing haste by 25%.",135939],"19236":["Desperate Prayer","","Increases maximum health by 25% for 10 sec, and instantly heals you for that amount.",237550],"73325":["Leap of Faith","","Pulls the spirit of a party or raid member, instantly moving them directly in front of you.",463835],"47540":["Penance","","Launches a volley of holy light at the target, causing 2,275 Holy damage to an enemy or 6,753 healing to an ally over 1.6 sec. Castable while moving.",237545],"212036":["Mass Resurrection","","Brings all dead party members back to life with 35% health and mana. Cannot be cast when in combat.",413586],"121536":["Angelic Feather","","Places a feather at the target location, granting the first ally to walk through it 40% increased movement speed for 5 sec. Only 3 feathers can be placed at one time.",642580],"129250":["Power Word: Solace","Talent","Strikes an enemy with heavenly power, dealing 1,516 Holy damage and restoring 1% of your maximum mana.",612968],"5019":["Shoot","","Attack with an equipped wand.",132317],"8122":["Psychic Scream","","Lets out a psychic scream, causing 5 enemies within 8 yards to flee, disorienting them for 8 sec. Damage may interrupt the effect.",136184],"324739":["Summon Steward","Kyrian","Call your steward to bring you a Phial of Serenity that can be consumed to restore 20% health and remove all Curse, Disease, Poison, and Bleed effects.\r\n\r\nYour Steward additionally offers access to a selection of useful amenities for 4 min.",3586266],"186263":["Shadow Mend","","Wraps an ally in shadows which heal for 5,763, but at a price.\r\n\r\nThe ally will take 288 damage every 1 sec, until they have taken 2,881 total damage from all sources, or leave combat.",136202],"8092":["Mind Blast","","Blasts the target's mind for 1,504 Shadow damage, preventing the next 5,402 damage they deal.",136224],"17":["Power Word: Shield","","Shields an ally for 15 sec, absorbing 2,971 damage. You cannot shield the target again for 7.5 sec.",135940],"194509":["Power Word: Radiance","","A burst of light heals the target and 4 injured allies within 30 yards for 3,252, and applies Atonement for 60% of its normal duration.",1386546],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"453":["Mind Soothe","","Soothes the target, reducing the range at which it will attack you by 10 yards. Only affects Humanoid and Dragonkin targets. Does not cause threat. Lasts 20 sec.",135933],"585":["Smite","","Smites an enemy for 1,002 Holy damage.",135924],"34433":["Shadowfiend","","Summons a shadowy fiend to attack the target for 15 sec.\r\n\r\n|cFFFFFFFFGenerates 1% Mana each time the Shadowfiend attacks.|r",136199],"528":["Dispel Magic","","Dispels Magic on the enemy target, removing 1 beneficial Magic effect.",136066],"32375":["Mass Dispel","","Dispels magic in a 15 yard radius, removing all harmful Magic from 5 friendly targets and 1 beneficial Magic effect from 5 enemy targets. Potent enough to remove Magic that is normally undispellable.",135739],"204263":["Shining Force","","Creates a burst of light around a friendly target, knocking away nearby enemies and slowing their movement speed by 70% for 3 sec.",571554],"32379":["Shadow Word: Death","","A word of dark binding that inflicts 1,611 Shadow damage to the target. If the target is not killed by Shadow Word: Death, the caster takes damage equal to the damage inflicted upon the target.\r\n\r\nDamage increased by 150% to targets below 20% health.\r\n\r\nDoes not trigger Atonement.",136149],"2096":["Mind Vision","","Allows the caster to see through the target's eyes for 1 min. Will not work if the target is in another instance or on another continent.",135934],"605":["Mind Control","","Controls a mind up to 1 level above yours for 30 sec. Does not work versus Demonic, Undead, or Mechanical beings. Shares diminishing returns with other disorienting effects.",136206],"325013":["Boon of the Ascended","Kyrian","Draw upon the power of the Ascended for 10 sec, granting you access to |cffffffffAscended Nova|r, replacing |cffffffffSmite|r with |cffffffffAscended Blast|r, and increasing movement speed by 50%.\r\n\r\nUpon expiration, releases an |cffffffffAscended Eruption|r:\r\n\r\nExplode for up to 3,982 Arcane damage to enemies and 3,015 healing to allies within 15 yds, based on number of targets. Damage and healing increased by 4% for each stack of Boon of the Ascended. ",3565449],"1706":["Levitate","","Levitates a party or raid member for 10 min, floating a few feet above the ground, granting slow fall, and allowing travel over water.",135928],"132157":["Holy Nova","","An explosion of holy light around you deals up to 341 Holy damage to enemies and up to 324 healing to allies within 12 yds, reduced if there are more than 5 targets.\r\n\r\nIf your Holy Nova deals damage to at least 3 enemies, a second Holy Nova will be cast a moment later at 50% effectiveness at the same location.",135922],"47536":["Rapture","","Immediately Power Word: Shield your target, and for the next 8 sec, Power Word: Shield absorbs an additional 200% and may be cast on targets with Weakened Soul.",237548],"527":["Purify","","Dispels harmful effects on the target, removing all Magic and Disease effects.",135894],"204197":["Purge the Wicked","","Cleanses the target with fire, causing 423 Fire damage and an additional 2,902 Fire damage over 20 sec. Spreads to an additional nearby enemy when you cast Penance on the target.",236216],"48045":["Mind Sear","","Corrosive shadow energy radiates from the target, dealing 2,107 Shadow damage over 3.6 sec to all enemies within 10 yards of the target.",237565],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3461503],"62618":["Power Word: Barrier","","Summons a holy barrier to protect all allies at the target location for 10 sec, reducing all damage taken by 25% and preventing damage from delaying spellcasting.",253400],"586":["Fade","","Fade out, removing all your threat and reducing enemies' attack range against you for 10 sec.\r\n",135994],"33206":["Pain Suppression","","Reduces all damage taken by a friendly target by 40% for 8 sec. Castable while stunned.",135936],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"58984":["Shadowmeld","Racial","Activate to slip into the shadows, reducing the chance for enemies to detect your presence. Lasts until cancelled or upon moving. Any threat is restored versus enemies still in combat upon cancellation of this effect.",132089],"2006":["Resurrection","","Brings a dead ally back to life with 35% health and mana. Cannot be cast when in combat.",135955],"9484":["Shackle Undead","","Shackles the target undead enemy for 50 sec, preventing all actions and movement. Damage will cancel the effect. Limit 1.",136091]},"talent":{"110744":["Divine Star","","Throw a Divine Star forward 24 yds, healing allies in its path for 1,261 and dealing 1,062 Holy damage to enemies. After reaching its destination, the Divine Star returns to you, healing allies and damaging enemies in its path again. Healing reduced beyond 6 targets.",537026],"204197":["Purge the Wicked","","Cleanses the target with fire, causing 423 Fire damage and an additional 2,902 Fire damage over 20 sec. Spreads to an additional nearby enemy when you cast Penance on the target.",236216],"246287":["Evangelism","","Extends the duration of all of your active Atonements by 6 sec.",135895],"204263":["Shining Force","","Creates a burst of light around a friendly target, knocking away nearby enemies and slowing their movement speed by 70% for 3 sec.",571554],"121536":["Angelic Feather","","Places a feather at the target location, granting the first ally to walk through it 40% increased movement speed for 5 sec. Only 3 feathers can be placed at one time.",642580],"120517":["Halo","","Creates a ring of Holy energy around you that quickly expands to a 30 yd radius, healing allies for 2,071 and dealing 1,953 Holy damage to enemies. Healing reduced beyond 6 targets.\r\n",632352],"109964":["Spirit Shell","","For 10 sec, Penance, Power Word: Radiance, and Atonement create absorb shields for 80% of their value, instead of healing.",538565],"214621":["Schism","","Attack the enemy's soul with a surge of Shadow energy, dealing 2,844 Shadow damage and increasing your spell damage to the target by 25% for 9 sec.",463285],"123040":["Mindbender","","Summons a Mindbender to attack the target for 12 sec. You regenerate 0.5% of maximum mana each time the Mindbender attacks.",136214],"129250":["Power Word: Solace","","Strikes an enemy with heavenly power, dealing 1,516 Holy damage and restoring 1% of your maximum mana.",612968],"314867":["Shadow Covenant","","Make a shadowy pact, healing the target and 4 other injured allies within 30 yds for 2,971. For 7 sec, your Shadow spells deal 25% increased damage and healing, but you cannot cast Holy spells.",136221]}}},"ridingSkill":5},"Fazzora-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzshock-Kor'gall":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzunter-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"4","MULTIACTIONBAR1BUTTON6":"SHIFT-T","MULTIACTIONBAR2BUTTON3":"SHIFT-X","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"BUTTON4","MULTIACTIONBAR1BUTTON9":"SHIFT-E","ACTIONBUTTON1":"E","BONUSACTIONBUTTON6":"CTRL-6","ACTIONBUTTON6":"F","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"R","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","CLICK DominosActionButton14:HOTKEY":"`","MULTIACTIONBAR4BUTTON3":"8","CLICK DominosActionButton11:HOTKEY":"SHIFT-R","BONUSACTIONBUTTON4":"CTRL-4","ACTIONBUTTON12":"=","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON10":"Q","CLICK DominosActionButton9:HOTKEY":"1","MULTIACTIONBAR2BUTTON9":"SHIFT-BUTTON4","MULTIACTIONBAR2BUTTON1":"SHIFT-B","MULTIACTIONBAR1BUTTON1":"X","MULTIACTIONBAR1BUTTON4":"Z","MULTIACTIONBAR1BUTTON10":"SHIFT-3","CLICK DominosActionButton7:HOTKEY":"SHIFT-V","MULTIACTIONBAR4BUTTON2":"SHIFT-7","BONUSACTIONBUTTON5":"CTRL-5","BONUSACTIONBUTTON2":"CTRL-2","CLICK DominosActionButton1:HOTKEY":"SHIFT-`","CLICK DominosActionButton6:HOTKEY":"SHIFT-F","MULTIACTIONBAR1BUTTON8":"SHIFT-C","CLICK DominosActionButton4:HOTKEY":"SHIFT-G","MULTIACTIONBAR4BUTTON1":"SHIFT-2","ACTIONBUTTON9":"G","BONUSACTIONBUTTON3":"CTRL-3","MULTIACTIONBAR2BUTTON7":"SHIFT-BUTTON5","MULTIACTIONBAR1BUTTON12":"SHIFT-BUTTON3","MULTIACTIONBAR1BUTTON3":"T","MULTIACTIONBAR2BUTTON11":"SHIFT-6","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON2":"SHIFT-4","MULTIACTIONBAR2BUTTON10":"6","ACTIONBUTTON3":"3","ACTIONBUTTON7":"B","CLICK DominosActionButton18:HOTKEY":"5","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton13:HOTKEY":"\\","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON5":"BUTTON5","ACTIONBUTTON11":"SHIFT-Q","CLICK DominosActionButton21:HOTKEY":"SHIFT-MOUSEWHEELDOWN"},"addon":"Dominos"},"item":{"169451":["Abyssal Healing Potion",463548,"Consumable"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"],"163223":["Battle Potion of Agility",609891,"Consumable"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"113509":["Conjured Mana Bun",134029,"Consumable"],"6948":["Hearthstone",134414,"Miscellaneous"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"168651":["Greater Flask of the Currents",967550,"Consumable"]},"kb":{"Marksmanship":{"71":"spell:53351","61":"spell:288613","73":"spell:310143","63":"macro:129","65":"macro:131","55":"macro:121","67":"spell:147362","57":"spell:186387","59":"spell:2641","49":"macro:13","39":"item:113509","112":"item:141605","69":"spell:212431","1":"spell:19434","3":"spell:56641","2":"spell:185358","5":"spell:5116","4":"spell:257620","7":"macro:124","6":"spell:109304","9":"spell:186257","8":"spell:257044","13":"spell:272679","21":"spell:58984","11":"macro:122","23":"spell:260402","60":"spell:83242","52":"macro:127","62":"macro:123","72":"spell:19801","54":"spell:321297","64":"spell:199483","80":"macro:11","66":"macro:125","58":"spell:883","38":"item:163223","111":"item:140192","98":"spell:2108","68":"spell:2649","78":"macro:1","19":"macro:23","75":"spell:0","37":"macro:128","70":"spell:0","82":"spell:209997","18":"macro:130","74":"spell:257284","76":"spell:0","109":"item:110560","81":"macro:12","16":"spell:136","83":"flyout:9","84":"flyout:103","30":"spell:6197","110":"item:6948","10":"spell:781"}},"macro":{"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"125":["frost",135834,"#showtooltip\n/cast [@cursor] Freezing Trap\n"],"127":["md",132180,"#showtooltip\n/cast [@mouseover] Misdirection\n"],"129":["tar",576309,"#showtooltip\n/cast [@cursor] Tar Trap\n"],"123":["flare",135815,"#showtooltip\n/cast [@cursor] Flare\n"],"130":["turtle",132199,"#showtooltip Aspect of the Turtle\n/stopcasting\n/cancelaura Aspect of the Turtle\n/cast Aspect of the Turtle\n"],"121":["binding",462650,"#showtooltip\n/cast [@cursor] Binding Shot\n"],"131":["volley",132205,"#showtooltip\n/cast [@cursor] Volley\n"],"122":["fd",132293,"#showtooltip Feign Death\n/stopcasting\n/cast Feign Death\n"],"124":["focus",132180,"#showtooltip\n/cast [@focus,exists,help][@pet,exists,nodead] Misdirection"],"128":["spirits",3636840,"#showtooltip\n/cast [@cursor] Wild Spirits(Night Fae)\n"],"126":["md",132180,"#showtooltip\n/cast [@mouseover] Misdirection\n"],"13":["Health",134400,"#showtooltip Spiritual Healing Potion\n/cast Healthstone\n/cast Spiritual Healing Potion\n"],"12":["focus clear",134400,"/clearfocus\n"],"11":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"23":["trinket",3159929,"#showtooltip\n/use 13\n"]},"spell":{"Marksmanship":{"base":{"75":["Auto Shot","","Automatically shoots the target until cancelled.",3490572],"19801":["Tranquilizing Shot","","Removes 1 Enrage and 1 Magic effect from an enemy target.",136020],"328231":["Wild Spirits","Night Fae","Evoke the energy of Wild Spirits at the target location, dealing 602 Nature damage and apply Wild Mark to all enemy targets within the area for 15 sec.\r\n\r\nWhile the Wild Spirits are active, each damaging ability you or your pet use against a target in the area will strike up to 5 nearby targets for 927 Nature damage.",3636840],"6197":["Eagle Eye","","Changes your viewpoint to the targeted location for 1 min. Only usable outdoors.",132172],"199483":["Camouflage","","You and your pet blend into the surroundings and gain stealth for 1 min. While camouflaged, you will heal for 2% of maximum health every 1 secs.",461113],"781":["Disengage","","Leap backwards, clearing movement impairing effects, and increasing your movement speed by 50% for 4 sec.",132294],"19434":["Aimed Shot","","A powerful aimed shot that deals 6,579 Physical damage.",135130],"212431":["Explosive Shot","","Fires an explosive shot at your target. After 3 sec, the shot will explode, dealing 4,543 Fire damage to all enemies within 8 yards. Deals reduced damage beyond 5 targets.",236178],"1543":["Flare","","Exposes all hidden and invisible enemies within the targeted area for 20 sec.",135815],"109248":["Binding Shot","","Fires a magical projectile, tethering the enemy and any other enemies within 5 yards for 10 sec, rooting them in place for 8 sec if they move more than 5 yards from the arrow.",462650],"5116":["Concussive Shot","","Dazes the target, slowing movement speed by 50% for 6 sec.\r\n\r\nSteady Shot will increase the duration of Concussive Shot on the target by 3.0 sec",135860],"185358":["Arcane Shot","","A quick shot that causes 1,889 Arcane damage.",132218],"187650":["Freezing Trap","","Hurls a frost trap to the target location that incapacitates the first enemy that approaches for 1 min. Damage will break the effect. Limit 1. Trap will exist for 1 min.",135834],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"147362":["Counter Shot","","Interrupts spellcasting, preventing any spell in that school from being cast for 3 sec.",249170],"257620":["Multi-Shot","","Fires several missiles, hitting your current target and all enemies within 10 yards for 1,241 Physical damage. Deals reduced damage beyond 5 targets.",132330],"187698":["Tar Trap","","Hurls a tar trap to the target location that creates a 8 yd radius pool of tar around itself for 30 sec when the first enemy approaches. All enemies have 50% reduced movement speed while in the area of effect. Trap will exist for 1 min.",576309],"186257":["Aspect of the Cheetah","","Increases your movement speed by 90% for 5 sec, and then by 30% for another 9 sec.",132242],"186265":["Aspect of the Turtle","","Deflects all attacks and reduces all damage you take by 30% for 8 sec, but you cannot attack.",132199],"260243":["Volley","","Rain a volley of arrows down over 6 sec, dealing up to 7,085 Physical damage to any enemy in the area, and gain the effects of Trick Shots for as long as Volley is active.",132205],"5384":["Feign Death","","Feign death, tricking enemies into ignoring you. Lasts up to 6 min.",132293],"257044":["Rapid Fire","","Shoot a stream of 7 shots at your target over 1.9 sec, dealing a total of 7,372 Physical damage. \r\n\r\nEach shot generates 1 Focus.\r\n\r\nUsable while moving.",461115],"34477":["Misdirection","","Misdirects all threat you cause to the targeted party or raid member, beginning with your next attack within 30 sec and lasting for 8 sec.",132180],"53351":["Kill Shot","","You attempt to finish off a wounded target, dealing 5,543 Physical damage. Only usable on enemies with less than 20% health.",236174],"1513":["Scare Beast","","Scares a beast, causing it to run in fear for up to 20 sec. Damage caused may interrupt the effect. Only one beast can be feared at a time.",132118],"310143":["Soulshape","Night Fae","Turn into a Vulpin, teleporting 15 yds forward and increasing your movement speed by 50%. You may reactivate Soulshape every few sec to teleport again.\r\n\r\nLasts 12 sec, or indefinitely while in a rest area.",3586268],"125050":["Fetch","","Command your pet to retrieve the loot from a nearby corpse within 40 yards.",133718],"109304":["Exhilaration","","Heals you for 30% and your pet for 100% of maximum health.",461117],"321297":["Eyes of the Beast","","Take direct control of your pet and see through its eyes for 1 min.",132150],"209997":["Play Dead","","Playing Dead, tricking enemies into ignoring them. Lasts up to 6 min.",134355],"56641":["Steady Shot","","A steady shot that causes 1,446 Physical damage.\r\n\r\nUsable while moving.\r\n\r\n|cFFFFFFFFGenerates 10 Focus.",132213],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",130730],"260402":["Double Tap","","Your next Aimed Shot will fire a second time instantly at 100% power without consuming Focus, or your next Rapid Fire will shoot 100% additional shots during its channel.",537468],"186387":["Bursting Shot","","Fires an explosion of bolts at all enemies in front of you, knocking them back, snaring them by 50% for 6 sec, and dealing 127 Physical damage.",1376038],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"257284":["Hunter's Mark","","Apply Hunter's Mark to the target, causing the target to always be seen and tracked by the Hunter.\r\n\r\nOnly one Hunter's Mark can be applied at a time.",236188],"58984":["Shadowmeld","Racial","Activate to slip into the shadows, reducing the chance for enemies to detect your presence. Lasts until cancelled or upon moving. Any threat is restored versus enemies still in combat upon cancellation of this effect.",132089],"272679":["Survival of the Fittest","Command Pet Ability","Reduces all damage you and your pet take by 20% for 6 sec.",136094],"288613":["Trueshot","","Reduces the cooldown of your Aimed Shot and Rapid Fire by 60%, and causes Aimed Shot to cast 50% faster for 20.0 sec.\r\n\r\nWhile Trueshot is active, you generate 50% additional Focus.",132329]},"talent":{"212431":["Explosive Shot","","Fires an explosive shot at your target. After 3 sec, the shot will explode, dealing 4,543 Fire damage to all enemies within 8 yards. Deals reduced damage beyond 5 targets.",236178],"260402":["Double Tap","","Your next Aimed Shot will fire a second time instantly at 100% power without consuming Focus, or your next Rapid Fire will shoot 100% additional shots during its channel.",537468],"199483":["Camouflage","","You and your pet blend into the surroundings and gain stealth for 1 min. While camouflaged, you will heal for 2% of maximum health every 1 secs.",461113],"131894":["A Murder of Crows","","Summons a flock of crows to attack your target, dealing 5,321 Physical damage over 15 sec. If the target dies while under attack, A Murder of Crows' cooldown is reset.",645217],"271788":["Serpent Sting","","Fire a shot that poisons your target, causing them to take 397 Nature damage instantly and an additional 2,570 Nature damage over 18 sec.",1033905],"120360":["Barrage","","Rapidly fires a spray of shots for 2.8 sec, dealing an average of 3,198 Physical damage to all nearby enemies in front of you. Usable while moving. Deals reduced damage beyond 8 targets.",236201],"342049":["Chimaera Shot","","A two-headed shot that hits your primary target for 1,958 Nature damage and another nearby target for 979 Frost damage.",236176],"260243":["Volley","","Rain a volley of arrows down over 6 sec, dealing up to 7,085 Physical damage to any enemy in the area, and gain the effects of Trick Shots for as long as Volley is active.",132205]}}},"ridingSkill":5},"Fazzbolt-Kor'gall":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR2BUTTON3":"SHIFT-\\","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","ACTIONBUTTON6":"R","CLICK DominosActionButton22:HOTKEY":"SHIFT-MOUSEWHEELDOWN","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton19:HOTKEY":"5","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","BONUSACTIONBUTTON8":"CTRL-8","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton21:HOTKEY":"N","ACTIONBUTTON3":"3","CLICK DominosActionButton16:HOTKEY":"T","BONUSACTIONBUTTON7":"CTRL-7","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","CLICK DominosActionButton14:HOTKEY":"H","ACTIONBUTTON10":"BUTTON5","BONUSACTIONBUTTON6":"CTRL-6","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON1":"SHIFT-G","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR3BUTTON8":"8","CLICK DominosActionButton8:HOTKEY":"BUTTON4","BONUSACTIONBUTTON2":"CTRL-2","MULTIACTIONBAR4BUTTON3":"SHIFT-B","CLICK DominosActionButton1:HOTKEY":"4","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","MULTIACTIONBAR1BUTTON3":"`","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","MULTIACTIONBAR1BUTTON2":"G","CLICK DominosActionButton12:HOTKEY":"6","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","ACTIONBUTTON7":"B","CLICK DominosActionButton15:HOTKEY":"\\","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","CLICK DominosActionButton18:HOTKEY":"SHIFT-H"},"addon":"Dominos"},"item":{"171273":["Potion of Spectral Intellect",3566836,"Consumable"],"171276":["Spectral Flask of Power",3566840,"Consumable"],"172045":["Tenebrous Crown Roast Aspic",3671905,"Consumable"],"187603":["The Mad Duke's Tea",651601,"Consumable"],"181468":["Veiled Augment Rune",134078,"Consumable"],"173859":["Ethereal Pomegranate",133999,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"171285":["Shadowcore Oil",463543,"Consumable"],"6948":["Hearthstone",134414,"Miscellaneous"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"]},"kb":{"Destruction":{"53":"spell:6201","77":"spell:111771","73":"macro:18","41":"item:171273","65":"macro:38","55":"spell:126","57":"spell:342601","59":"spell:334275","49":"spell:698","39":"macro:25","29":"flyout:220","79":"macro:3","1":"spell:116858","3":"spell:29722","2":"spell:348","19":"spell:20707","4":"spell:234153","6":"macro:121","9":"spell:108416","8":"spell:17962","17":"macro:122","13":"macro:123","21":"macro:124","11":"spell:333889","60":"item:187603","52":"spell:5697","74":"spell:755","50":"spell:172","54":"spell:29893","64":"spell:33702","56":"spell:1098","111":"item:140192","110":"item:6948","109":"item:110560","97":"spell:4036","92":"item:172045","88":"item:171285","87":"macro:7","86":"item:171276","85":"item:181468","84":"flyout:10","82":"macro:23","80":"macro:22","76":"spell:710","75":"macro:19","18":"spell:5782","72":"spell:48018","71":"spell:48020","14":"spell:19505","63":"spell:702","32":"item:113509","31":"item:173859","20":"spell:119910","12":"spell:104773","15":"spell:1714","10":"spell:6789"}},"macro":{"3":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"123":["rain of fire",136186,"#showtooltip\n/cast [@cursor] Rain of Fire\n"],"18":["cov1 warlock",3636850,"#showtooltip\n/cast Soul Rot\n/cast Impending Catastrophe\n"],"121":["havoc",460695,"#showtooltip Havoc\n/cast [@mouseover,harm] Havoc; [harm] Havoc\n"],"25":["health2",609884,"#showtooltip Cosmic Healing Potion\n/cast Healthstone\n/cast Cosmic Healing Potion\n"],"124":["shadowfury",607865,"#showtooltip\n/cast [@cursor] Shadowfury\n"],"7":["armour kit",3528447,"#showtooltip\n/use Heavy Desolate Armor Kit\n/use 5\n"],"38":["trinket",1028991,"#showtooltip\n/use 13\n"],"19":["cov2",3586268,"#showtooltip\n/cast Soulshape\n/cast Summon Steward\n/cast [@cursor] Door of Shadows\n/cast Fleshcraft\n"],"122":["infernal",136219,"#showtooltip\n/cast [@cursor] Summon Infernal\n"],"22":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"23":["focus clear",134400,"/clearfocus\n"]},"spell":{"Destruction":{"base":{"698":["Ritual of Summoning","","Begins a ritual to create a summoning portal, requiring the caster and 2 allies to complete. This portal can be used to summon party and raid members.",136223],"702":["Curse of Weakness","","Increases the time between an enemy's attacks by 20% for 2 min.\r\n\r\n|cFF8282FFCurses: A warlock can only have one Curse active per target.|r",136138],"710":["Banish","","Banishes an enemy Demon, Aberration, or Elemental, preventing any action for 30 sec. Limit 1. Casting Banish again on the target will cancel the effect.",136135],"116858":["Chaos Bolt","","Unleashes a devastating blast of chaos, dealing a critical strike for 11,232 Chaos damage. Damage is further increased by your critical strike chance.",236291],"111771":["Demonic Gateway","","Creates a demonic gateway between two locations. Activating the gateway transports the user to the other gateway. Each player can use a Demonic Gateway only once per 1.5 min.",607512],"119910":["Spell Lock","Command Demon Ability","Counters the enemy's spellcast, preventing any spell from that school of magic from being cast for 6 sec.",136174],"126":["Eye of Kilrogg","","Summons an Eye of Kilrogg and binds your vision to it. The eye is stealthed and moves quickly but is very fragile.",136155],"5019":["Shoot","","Attack with an equipped wand.",132317],"333889":["Fel Domination","","Your next Imp, Voidwalker, Incubus, Succubus, Felhunter, or Felguard Summon spell is free and has its casting time reduced by 5.5 sec.\r\n",237564],"6201":["Create Healthstone","","Creates a Healthstone that can be consumed to restore 25% health.",538745],"1098":["Subjugate Demon","","Subjugates the target demon up to level 61, forcing it to do your bidding for 5 min.",136154],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"20707":["Soulstone","","Stores the soul of the target party or raid member, allowing resurrection upon death. Also castable to resurrect a dead target. Targets resurrect with 60% health and at least 20% mana.",136210],"342601":["Ritual of Doom","","Begins a ritual that sacrifices a random participant to summon a doomguard. Requires the caster and 4 additional party members to complete the ritual.",538538],"29722":["Incinerate","","Draws fire toward the enemy, dealing 2,571 Fire damage.\r\n\r\n|cFFFFFFFFGenerates 2 Soul Shard Fragments and an additional 1 on critical strikes.|r",135789],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"325640":["Soul Rot","Night Fae","Wither away all life force of your current target and up to 3 additional targets nearby, causing your primary target to suffer 16,170 Nature damage and secondary targets to suffer 8,085 Nature damage over 8 sec.\r\n\r\nFor the next 8 sec, casting Drain Life will cause you to also Drain Life from any enemy affected by your Soul Rot, and Drain Life will not consume any mana.",3636850],"310143":["Soulshape","Night Fae","Turn into a Vulpin, teleporting 15 yds forward and increasing your movement speed by 50%. You may reactivate Soulshape every few sec to teleport again.\r\n\r\nLasts 12 sec, or indefinitely while in a rest area.",3586268],"234153":["Drain Life","","Drains life from the target, causing 2,508 Shadow damage over 3.7 sec, and healing you for 500% of the damage done.",136169],"6789":["Mortal Coil","","Horrifies an enemy target into fleeing, incapacitating for 3 sec and healing you for 20% of maximum health.",607853],"1122":["Summon Infernal","Guardian","Summons an Infernal from the Twisting Nether, impacting for 3,646 Fire damage and stunning all enemies in the area for 2 sec.\r\n\r\nThe Infernal will serve you for 30 sec, dealing 1,337 damage to all nearby enemies every 1.5 sec and generating 1 Soul Shard Fragment every 0.5 sec.",136219],"5740":["Rain of Fire","","Calls down a rain of hellfire, dealing 3,812 Fire damage over 6.0 sec to enemies in the area.",136186],"348":["Immolate","","Burns the enemy, causing 1,604 Fire damage immediately and an additional 8,040 Fire damage over 18 sec.\r\n\r\n|cFFFFFFFFPeriodic damage generates 1 Soul Shard Fragment and has a 50% chance to generate an additional 1 on critical strikes.|r",135817],"5782":["Fear","","Strikes fear in the enemy, disorienting for 20 sec. Damage may cancel the effect. Limit 1.",136183],"80240":["Havoc","","Marks a target with Havoc for 12 sec, causing your single target spells to also strike the Havoc victim for 60% of normal initial damage.",460695],"172":["Corruption","","Corrupts the target, causing 4,064 Shadow damage over 14 sec.",136118],"108416":["Dark Pact","","Sacrifices 20% of your current health to shield you for 250% of the sacrificed health plus an additional 13,680 for 20 sec. Usable while suffering from control impairing effects.",136146],"1714":["Curse of Tongues","","Forces the target to speak in Demonic, increasing the casting time of all spells by 30% for 1 min.\r\n\r\n|cFF8282FFCurses: A warlock can only have one Curse active per target.|r",136140],"334275":["Curse of Exhaustion","","Reduces the target's movement speed by 50% for 12 sec.\r\n\r\n|cFF8282FFCurses: A warlock can only have one Curse active per target.|r",136162],"29893":["Create Soulwell","","Creates a Soulwell for 2 min. Party and raid members can use the Soulwell to acquire a Healthstone.",136194],"30283":["Shadowfury","","Stuns all enemies within 8 yds for 3 sec.",607865],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",942250],"17962":["Conflagrate","","Triggers an explosion on the target, dealing 3,677 Fire damage.\r\n\r\nReduces the cast time of your next Incinerate or Chaos Bolt by 30% for 10 sec.\r\n\r\n|cFFFFFFFFGenerates 5 Soul Shard Fragments.|r",135807],"104773":["Unending Resolve","","Hardens your skin, reducing all damage you take by 40% and granting immunity to interrupt, silence, and pushback effects for 8 sec.",136150],"48018":["Demonic Circle","Summon","Summons a Demonic Circle for 15 min. Cast Demonic Circle: Teleport to teleport to its location and remove all movement slowing effects.",237559],"755":["Health Funnel","","Sacrifices 25% of your maximum health to heal your summoned Demon for twice as much over 3.7 sec.",136168],"5697":["Unending Breath","","Allows an ally to breathe underwater and increases swim speed by 20% for 10 min.",136148],"48020":["Demonic Circle: Teleport","Teleport","Teleports you to your Demonic Circle and removes all movement slowing effects.",237560],"33702":["Blood Fury","Racial","Increases your Intellect by 122 for 15 sec.",135726]},"talent":{"196447":["Channel Demonfire","","Launches 15 bolts of felfire over 2.2 sec at random targets afflicted by your Immolate within 40 yds. Each bolt deals 647 Fire damage to the target and 257 Fire damage to nearby enemies.",840407],"17877":["Shadowburn","","Blasts a target for 5,348 Shadowflame damage, gaining 50% critical strike chance on targets that have 20% or less health.\r\n\r\n|cFFFFFFFFRestores 1 Soul Shard and refunds a charge if the target dies within 5 sec.|r",136191],"6353":["Soul Fire","","Burns the enemy's soul, dealing 14,040 Fire damage and applying Immolate.\r\n\r\n|cFFFFFFFFGenerates 1 Soul Shard.|r",135809],"5484":["Howl of Terror","","Let loose a terrifying howl, causing 5 enemies within 10 yds to flee in fear, disorienting them for 20 sec. Damage may cancel the effect.",607852],"113858":["Dark Soul: Instability","","Infuses your soul with unstable power, increasing your critical strike chance by 30% for 20 sec.",463286],"108503":["Grimoire of Sacrifice","","Sacrifices your demon pet for power, gaining its command demon ability, and causing your spells to sometimes also deal 1,462 additional Shadow damage.\r\n\r\nLasts 1 |4hour:hrs; or until you summon a demon pet.",538443],"6789":["Mortal Coil","","Horrifies an enemy target into fleeing, incapacitating for 3 sec and healing you for 20% of maximum health.",607853],"111400":["Burning Rush","","Increases your movement speed by 50%, but also damages you for 4% of your maximum health every 1 sec. Movement impairing effects may not reduce you below 100% of normal movement speed. Lasts until canceled.",538043],"108416":["Dark Pact","","Sacrifices 20% of your current health to shield you for 250% of the sacrificed health plus an additional 13,680 for 20 sec. Usable while suffering from control impairing effects.",136146],"152108":["Cataclysm","","Calls forth a cataclysm at the target location, dealing 6,017 Shadowflame damage to all enemies within 8 yards and afflicting them with Immolate.",409545]}}},"ridingSkill":5},"Fazzogue-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzink-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzlink-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"4","MULTIACTIONBAR1BUTTON6":"SHIFT-T","MULTIACTIONBAR2BUTTON3":"SHIFT-X","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"BUTTON4","CLICK DominosActionButton15:HOTKEY":"5","CLICK DominosActionButton13:HOTKEY":"9","MULTIACTIONBAR1BUTTON9":"SHIFT-E","ACTIONBUTTON1":"E","BONUSACTIONBUTTON6":"CTRL-6","ACTIONBUTTON6":"F","CLICK DominosActionButton12:HOTKEY":"SHIFT-V","BONUSACTIONBUTTON1":"CTRL-1","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"R","MULTIACTIONBAR2BUTTON12":"\\","CLICK DominosActionButton9:HOTKEY":"1","BONUSACTIONBUTTON10":"CTRL-0","BONUSACTIONBUTTON5":"CTRL-5","BONUSACTIONBUTTON4":"CTRL-4","ACTIONBUTTON12":"SHIFT-F","EXTRAACTIONBUTTON1":"5","ACTIONBUTTON10":"Q","ACTIONBUTTON3":"3","MULTIACTIONBAR4BUTTON4":"SHIFT-N","MULTIACTIONBAR2BUTTON1":"SHIFT-B","MULTIACTIONBAR1BUTTON1":"X","MULTIACTIONBAR1BUTTON4":"Z","MULTIACTIONBAR1BUTTON10":"SHIFT-3","CLICK DominosActionButton4:HOTKEY":"SHIFT-Z","MULTIACTIONBAR2BUTTON6":"SHIFT-MOUSEWHEELUP","MULTIACTIONBAR1BUTTON8":"SHIFT-C","BONUSACTIONBUTTON2":"CTRL-2","CLICK DominosActionButton1:HOTKEY":"SHIFT-4","MULTIACTIONBAR4BUTTON3":"SHIFT-7","MULTIACTIONBAR2BUTTON7":"SHIFT-BUTTON5","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON3","MULTIACTIONBAR4BUTTON1":"8","ACTIONBUTTON9":"G","BONUSACTIONBUTTON3":"CTRL-3","MULTIACTIONBAR2BUTTON11":"SHIFT-6","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON3":"T","MULTIACTIONBAR3BUTTON11":"`","MULTIACTIONBAR4BUTTON2":"SHIFT-2","MULTIACTIONBAR1BUTTON2":"SHIFT-R","MULTIACTIONBAR2BUTTON10":"6","CLICK DominosActionButton3:HOTKEY":"SHIFT-G","ACTIONBUTTON7":"B","CLICK DominosActionButton5:HOTKEY":"SHIFT-`","MULTIACTIONBAR2BUTTON9":"SHIFT-BUTTON4","CLICK DominosActionButton7:HOTKEY":"BUTTON3","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON5":"BUTTON5","ACTIONBUTTON11":"SHIFT-Q","CLICK DominosActionButton38:HOTKEY":"-"},"addon":"Dominos"},"item":{"171286":["Embalmer's Oil",463544,"Consumable"],"171267":["Spiritual Healing Potion",3566860,"Consumable"],"169299":["Potion of Unbridled Fury",464028,"Consumable"],"178810":["Vial of Spectral Essence",3536193,"Armor"],"172347":["Heavy Desolate Armor Kit",3528447,"Item Enhancement"],"126936":["Sugar-Crusted Fish Feast",1045940,"Consumable"],"172179":["Eternal Traveler's Hearthstone",3084684,"Miscellaneous"],"171285":["Shadowcore Oil",463543,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"171276":["Spectral Flask of Power",3566840,"Consumable"],"171272":["Potion of Spiritual Clarity",3566828,"Consumable"],"173049":["Tome of the Still Mind",3717418,"Consumable"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"173859":["Ethereal Pomegranate",133999,"Consumable"],"5512":["Healthstone",538745,"Consumable"],"187508":["Trained Gromit Carrier",132599,"Consumable"],"171268":["Spiritual Mana Potion",3566858,"Consumable"],"181457":["Wakener's Frond",3536178,"Armor"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"]},"kb":{"Restoration":{"87":"item:172347","43":"item:187508","97":"spell:2259","37":"item:113509","67":"spell:57994","57":"macro:126","112":"item:141605","111":"item:140192","17":"spell:32182","13":"macro:124","33":"spell:6196","42":"item:171268","86":"item:171276","62":"macro:128","103":"spell:52127","66":"spell:546","106":"spell:196840","108":"spell:73899","16":"spell:16191","12":"macro:127","71":"spell:73685","61":"spell:79206","51":"spell:108280","75":"macro:3","65":"spell:51505","55":"spell:51514","35":"item:126936","59":"spell:2008","49":"item:171267","39":"item:169299","29":"spell:556","99":"spell:25229","89":"item:171285","69":"spell:974","1":"spell:61295","3":"spell:188196","2":"spell:188389","19":"spell:77130","4":"spell:8004","7":"spell:1064","6":"spell:108271","9":"spell:198103","15":"item:181457","110":"item:172179","21":"spell:20594","11":"macro:125","60":"macro:17","70":"spell:188443","74":"item:5512","64":"macro:123","58":"spell:212048","38":"macro:15","88":"item:171286","98":"spell:31252","68":"spell:77472","41":"item:173859","18":"spell:370","40":"item:171272","5":"macro:122","109":"item:110560","24":"macro:36","107":"spell:192106","104":"spell:318038","8":"spell:157153","30":"item:173049","63":"spell:8143","10":"spell:2645"}},"macro":{"127":["wall",134400,"#showtooltip\n/cast [@cursor] Earthen Wall Totem\n"],"123":["link",237586,"#showtooltip\n/cast [@cursor] Spirit Link Totem\n"],"126":["stun",136013,"#showtooltip\n/cast [@cursor] Capacitor Totem\n"],"122":["healing rain",136037,"#showtooltip\n/cast [@cursor] Healing Rain\n"],"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"3":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"10":["cov1",3726261,"#showtooltip\n/cast Convoke the Spirits\n/cast Kindred Spirits\n/cast Ravenous Frenzy\n/cast Adaptive Swarm\n"],"36":["trinket",3717273,"#showtooltip\n/use 13\n"],"125":["slow",136102,"#showtooltip\n/cast [@cursor] Earthbind Totem\n"],"15":["cov1 sham",3565451,"#showtooltip\n/cast [@cursor] Vesper Totem\n/cast Chain Harvest\n/cast Primordial Wave\n/cast Fae Transfusion\n"],"25":["trinket",3717273,"#showtooltip\n/use 13\n"],"124":["root",134400,"#showtooltip\n/cast [@cursor] Earthgrab Totem\n"],"128":["wellspring/ascen",135791,"#showtooltip\n/cast [talent:7/2] Wellspring\n/cast [talent:7/3] Ascendance\n"],"26":["trinket",3717273,"#showtooltip\n/use 13\n"],"17":["cov2",134400,"#showtooltip\n/cast Soulshape\n/cast Summon Steward\n/cast [@cursor] Door of Shadows\n/cast Fleshcraft\n"],"12":["cov2",134400,"#showtooltip\n/cast Soulshape\n/cast Summon Steward\n/cast [@cursor] Door of Shadows\n/cast Fleshcraft\n/run local G=GetSpellInfo SetMacroSpell(GetRunningMacro(), G\"Door of Shadows\" or G\"Soulshape\" or G\"Fleshcraft\"or G\"Summon Steward\")\n"],"11":["cov1 sham",3565451,"#showtooltip\n/cast [@cursor] Vesper Totem\n/cast Chain Harvest\n/cast Primordial Wave\n/cast Fae Transfusion\n/run local G=GetSpellInfo SetMacroSpell(GetRunningMacro(), G\"Vesper Totem\" or G\"Chain Harvest\" or G\"Primordial Wave\"or G\"Fae Transfusion\")\n"],"23":["trinket",3717273,"#showtooltip\n/use 13\n"]},"ridingSkill":5,"spell":{"Restoration":{"base":{"2484":["Earthbind Totem","","Summons an Earth Totem with 698 health at the target location for 20 sec that slows the movement speed of enemies within 10 yards by 50%.",136102],"6196":["Far Sight","","Changes your viewpoint to the targeted location for 1 min.",136034],"57994":["Wind Shear","","Disrupts the target's concentration with a burst of wind, interrupting spellcasting and preventing any spell in that school from being cast for 3 sec.",136018],"974":["Earth Shield","","Protects the target with an earthen shield, increasing your healing on them by 20% and healing them for 703 when they take damage. This heal can only occur once every few seconds. Maximum 9 charges.\r\n\r\nEarth Shield can only be placed on one target at a time. Only one Elemental Shield can be active on the Shaman at a time.",136089],"188443":["Chain Lightning","","Hurls a lightning bolt at the enemy, dealing 2,081 Nature damage and then jumping to additional nearby enemies. Affects 3 total targets.",136015],"370":["Purge","","Purges the enemy target, removing 1 beneficial Magic effect.",136075],"192058":["Capacitor Totem","","Summons a totem at the target location that gathers electrical energy from the surrounding air and explodes after 2 sec, stunning all enemies within 8 yards for 3 sec.",136013],"108271":["Astral Shift","","Shift partially into the elemental planes, taking 40% less damage for 12 sec.",538565],"77472":["Healing Wave","","An efficient wave of healing energy that restores 4,815 of a friendly target’s health.",136043],"192106":["Lightning Shield","","Surround yourself with a shield of lightning for 30 min.\r\n\r\nMelee attackers have a 100% chance to suffer 351 Nature damage.\r\n\r\nOnly one Elemental Shield can be active on the Shaman at a time.",136051],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2645":["Ghost Wolf","","Turn into a Ghost Wolf, increasing movement speed by 30% and preventing movement speed from being reduced below 100%.",136095],"77130":["Purify Spirit","","Removes all Curse and Magic effects from a friendly target.",236288],"114052":["Ascendance","","Transform into a Water Ascendant, duplicating all healing you deal for 15 sec and immediately healing for 14,061. Ascendant healing is distributed evenly among allies within 20 yds.",135791],"196840":["Frost Shock","","Chills the target with frost, causing 1,475 Frost damage and reducing the target's movement speed by 50% for 6 sec.",135849],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"108280":["Healing Tide Totem","","Summons a totem at your feet for 12 sec, which pulses every 1.8 sec, healing all party or raid members within 40 yards for 547.7.",538569],"32182":["Heroism","","Increases haste by 30% for all party and raid members for 40 sec.\r\n\r\nAllies receiving this effect will become Exhausted and unable to benefit from Heroism or Time Warp again for 10 min.",132313],"324739":["Summon Steward","Kyrian","Call your steward to bring you a Phial of Serenity that can be consumed to restore 20% health and remove all Curse, Disease, Poison, and Bleed effects.\r\n\r\nYour Steward additionally offers access to a selection of useful amenities for 4 min.",3586266],"20594":["Stoneform","Racial","Removes all harmful Poison, Disease, Curse, Magic, and Bleed effects and reduces all physical damage taken by 10% for 8 sec. ",136225],"79206":["Spiritwalker's Grace","","Calls upon the guidance of the spirits for 15 sec, permitting movement while casting Shaman spells. Castable while casting.",451170],"8143":["Tremor Totem","","Summons an Earth Totem with 5 health at the feet of the caster that shakes the ground around it for 10 sec, removing Fear, Charm and Sleep effects from party and raid members within 30 yards.",136108],"51514":["Hex","Frog","Transforms the enemy into a frog for 1 min. While hexed, the victim is incapacitated, and cannot attack or cast spells. Damage may cancel the effect. Limit 1. Only works on Humanoids and Beasts.",237579],"212048":["Ancestral Vision","","Returns all dead party members to life with 35% of maximum health and mana. Cannot be cast when in combat.",237576],"16191":["Mana Tide Totem","","Summons a Mana Tide Totem at the feet of the caster for 8 sec, granting 100% increased mana regeneration to allies within 20 yds.",135861],"2008":["Ancestral Spirit","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Cannot be cast when in combat.",136077],"1064":["Chain Heal","","Heals the friendly target for 3,371, then jumps to heal the 3 most injured nearby allies. Healing is reduced by 30% with each jump.",136042],"198103":["Earth Elemental","","Calls forth a Greater Earth Elemental to protect you and your allies for 1 min.",136024],"556":["Astral Recall","","Yanks you through the twisting nether back to Ring of Fates. Speak to an Innkeeper in a different place to change your home location.",136010],"546":["Water Walking","","Allows the friendly target to walk across water for 10 min. Damage will cancel the effect.",135863],"61295":["Riptide","","Restorative waters wash over a friendly target, healing them for 2,728 and an additional 2,344 over 18 sec.",252995],"98008":["Spirit Link Totem","","Summons a totem at the target location for 6 sec, which reduces damage taken by all party and raid members within 10 yards by 10%. Immediately and every 1 sec, the health of all affected players is redistributed evenly.",237586],"8004":["Healing Surge","","A quick surge of healing energy that restores 3,981 of a friendly target's health.",136044],"73899":["Primal Strike","","An instant weapon strike that causes 138 Physical damage.",460956],"188196":["Lightning Bolt","","Hurls a bolt of lightning at the target, dealing 2,224 Nature damage.",136048],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3461503],"157153":["Cloudburst Totem","","Summons a totem at your feet for 15 sec that collects power from all of your healing spells. When the totem expires or dies, the stored power is released, healing all injured allies within 40 yards for 30% of all healing done while it was active, divided evenly among targets.\r\n\r\nCasting this spell a second time recalls the totem and releases the healing.",971076],"318038":["Flametongue Weapon","Weapon Imbue","Imbue your weapon with the element of Fire for 1 |4hour:hrs;, causing each of your attacks to deal 16 additional Fire damage.",135814],"73920":["Healing Rain","","Blanket the target area in healing rains, restoring 2,754 health to up to 6 allies over 10 sec.",136037],"51505":["Lava Burst","","Hurls molten lava at the target, dealing 2,503 Fire damage. Lava Burst will always critically strike if the target is affected by Flame Shock.",237582],"324386":["Vesper Totem","Kyrian","Summon a totem at the target location for 30 sec. Your next 3 damage spells or abilities will cause the totem to radiate 1,338 Arcane damage to up to 6 enemies near the totem, and your next 3 healing spells will heal up to 6 allies near the totem for 1,461 health.\r\n\r\nCasting this ability again while the totem is active will relocate the totem.",3565451],"188389":["Flame Shock","","Sears the target with fire, causing 456 Fire damage and then an additional 2,705 Fire damage over 18 sec.\r\n\r\nFlame Shock can be applied to a maximum of 6 targets.",135813],"52127":["Water Shield","","The caster is surrounded by globes of water, granting 50 mana per 5 sec. When a melee attack hits the caster, the caster regains 2% of their mana. This effect can only occur once every few seconds. \r\n\r\nOnly one of your Elemental Shields can be active on you at once.",132315]},"talent":{"207399":["Ancestral Protection Totem","","Summons a totem at the target location for 30 sec. All allies within 20 yards of the totem gain 10% increased health. If an ally dies, the totem will be consumed to allow them to Reincarnate with 20% health and mana.\r\n\r\nCannot reincarnate an ally who dies to massive damage.",136080],"207778":["Downpour","","A burst of water at the target location heals up to six injured allies within 12 yards for 2,809.\r\n\r\nCooldown increased by 5 sec for each target effectively healed.",1698701],"192077":["Wind Rush Totem","","Summons a totem at the target location for 15 sec, continually granting all allies who pass within 10 yards 60% increased movement speed for 5 sec.",538576],"73685":["Unleash Life","","Unleashes elemental forces of Life, healing a friendly target for 3,049 and increasing the effect of the Shaman's next direct heal by 35%.",462328],"320746":["Surge of Earth","","Consume up to 3 charges of Earth Shield to heal up to 3 allies near your Earth Shield target for 1,449 per charge consumed.",2101174],"114052":["Ascendance","","Transform into a Water Ascendant, duplicating all healing you deal for 15 sec and immediately healing for 14,061. Ascendant healing is distributed evenly among allies within 20 yds.",135791],"51485":["Earthgrab Totem","","Summons a totem at the target location for 20 sec. The totem pulses every 2 sec, rooting all enemies within 8 yards for 8 sec. Enemies previously rooted by the totem instead suffer 50% movement speed reduction.",136100],"157153":["Cloudburst Totem","","Summons a totem at your feet for 15 sec that collects power from all of your healing spells. When the totem expires or dies, the stored power is released, healing all injured allies within 40 yards for 30% of all healing done while it was active, divided evenly among targets.\r\n\r\nCasting this spell a second time recalls the totem and releases the healing.",971076],"198838":["Earthen Wall Totem","","Summons a totem with 34,880 health for 15 sec. 527 damage from each attack against allies within 10 yards of the totem is redirected to the totem.",136098],"197995":["Wellspring","","Creates a surge of water that flows forward, healing friendly targets in a wide arc in front of you for 3,049.",893778]}}}},"Zaffaman-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Zaffunter-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Zaffedk-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzbloom-Tarren Mill":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","CLICK DominosActionButton19:HOTKEY":"5","CLICK DominosActionButton21:HOTKEY":"N","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton18:HOTKEY":"SHIFT-H","CLICK DominosActionButton22:HOTKEY":"SHIFT-MOUSEWHEELDOWN","BONUSACTIONBUTTON1":"CTRL-1","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","CLICK DominosActionButton16:HOTKEY":"T","CLICK DominosActionButton15:HOTKEY":"\\","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","CLICK DominosActionButton14:HOTKEY":"H","ACTIONBUTTON10":"BUTTON5","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","CLICK DominosActionButton12:HOTKEY":"6","MULTIACTIONBAR1BUTTON1":"SHIFT-G","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","CLICK DominosActionButton8:HOTKEY":"BUTTON4","BONUSACTIONBUTTON2":"CTRL-2","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton1:HOTKEY":"4","MULTIACTIONBAR4BUTTON3":"SHIFT-B","MULTIACTIONBAR1BUTTON3":"`","MULTIACTIONBAR3BUTTON8":"8","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR1BUTTON2":"G","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","BONUSACTIONBUTTON6":"CTRL-6","ACTIONBUTTON7":"B","BONUSACTIONBUTTON7":"CTRL-7","BONUSACTIONBUTTON10":"CTRL-0","ACTIONBUTTON3":"3","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","ACTIONBUTTON6":"R"},"addon":"Dominos"},"item":{"6948":["Hearthstone",134414,"Miscellaneous"]},"kb":{"":{"76":"spell:339","70":"macro:122","62":"spell:1850","97":"spell:8936","82":"macro:14","64":"spell:26297","67":"macro:129","66":"macro:123","99":"spell:6795","98":"spell:33917","79":"macro:1","3":"macro:130","2":"macro:132","4":"spell:8936","80":"macro:13","71":"macro:124","13":"macro:128","20":"macro:131","16":"macro:126","74":"macro:133","110":"item:6948","21":"macro:134","77":"spell:8921","10":"macro:125"},"Restoration":{"71":"macro:124","70":"macro:122","62":"spell:1850","72":"spell:783","65":"macro:25","64":"spell:26297","67":"macro:129","66":"macro:123","10":"macro:125","20":"macro:131","12":"spell:102342","13":"macro:128","99":"spell:6795","98":"spell:33917","79":"macro:1","21":"macro:134","1":"spell:774","77":"spell:8921","3":"macro:130","2":"macro:132","5":"spell:102351","4":"spell:8936","97":"spell:8936","6":"spell:18562","74":"macro:133","76":"spell:339","16":"macro:126","80":"macro:13","110":"item:6948","100":"spell:192081","82":"macro:14","23":"spell:50769"}},"macro":{"125":["efflo",134400,"#showtooltip\n/cast [@cursor] Efflorescence\n"],"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"14":["focus clear",134400,"/clearfocus\n"],"134":["vortex",134400,"#showtooltip\n/cast [@cursor] Ursol's Vortex\n"],"123":["bite/lunar",134400,"#showtooltip\n/cast [stance:2] Ferocious Bite; [stance:4] Starfire\n"],"133":["typhoon/maim",134400,"#showtooltip\n/cast [talent:3/1] Typhoon\n/cast [talent:3/2] Maim\n"],"13":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"131":["stun/mass root/d",134400,"#showtooltip\n/cast [talent:4/1] Mighty Bash\n/cast [talent:4/2] Mass Entanglement\n/cast [talent:4/3] Heart of the Wild(Talent)\n"],"25":["trinket",537022,"#showtooltip\n/use 13\n"],"124":["cat",132115,"#showtooltip\n/cast Cat Form\n/cast Prowl\n"],"128":["Moonfire/Rake",136096,"#showtooltip\n/cast [talent:3/2,stance:1] Moonfire; [talent:3/3,stance:1] Frenzied Regeneration; [talent:3/2,stance:2] Rake; [talent:3/3,stance:2] Moonfire; [stance:0/3/4/5/6/7] Moonfire\n"],"126":["heal/charge",134400,"#showtooltip\n/cast [talent:2/2] Renewal\n/cast [talent:2/3] Wild Charge\n"],"132":["Sunfire/Swipe",134400,"#showtooltip\n/cast [stance:0/3/4/5/6/7] Sunfire; [stance:1] Mangle; [stance:2] Swipe\n"],"122":["Bear/Growl",132276,"#showtooltip\n/cast [stance:0/2/3/4/5/6/7] Bear Form; [stance:1] Growl\n"],"130":["Solar/Shred/Mang",535045,"#showtooltip\n/cast [talent:3/3,stance:1] Thrash; [talent:3/2,stance:1] Swipe; [stance:2] Shred; [stance:0/1/2/3/4/5/6/7] Wrath\n"],"129":["rip/ironfur",134400,"#showtooltip\n/cast [stance:1] Ironfur; [stance:2] Rip; [stance:4] Starsurge\n"]},"ridingSkill":1,"spell":{"":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 9 damage\r\n 2 points: 17 damage\r\n 3 points: 26 damage\r\n 4 points: 34 damage\r\n 5 points: 43 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 25%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"93402":["Sunfire","","A quick beam of solar light burns the enemy for 10 Nature damage and then an additional 58 Nature damage over 12 sec.",236216],"6795":["Growl","","Taunts the target to attack you.",132270],"5221":["Shred","","Shred the target, causing 20 Physical damage to the target.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132144],"26297":["Berserking","Racial","Increases your haste by 10% for 12 sec.",135727],"192081":["Ironfur","","Increases armor by 37 for 7 sec.",1378702],"191034":["Starfall","","Calls down waves of falling stars upon enemies within 40 yds, dealing 94 Astral damage over 8 sec.",236168],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"5176":["Wrath","","Hurl a ball of energy at the target, dealing 30 Nature damage.",535045],"194153":["Starfire","","Call down a burst of energy, causing 40 Arcane damage to the target, and 13 Arcane damage to all other enemies within 8 yards.\r\n\r\n|cFFFFFFFFGenerates 8 Astral Power.|r",135753],"24858":["Moonkin Form","","Shapeshift into Moonkin Form, increasing the damage of your spells by 10% and your armor by 125%, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",136036],"1850":["Dash","","Shift into Cat Form and increase your movement speed by 60% while in Cat Form for 10 sec.",132120],"8936":["Regrowth","","Heals a friendly target for 91 and another 24 over 12 sec.",136085],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"33917":["Mangle","","Mangle the target for 22 Physical damage.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"106898":["Stampeding Roar","","Shift into Bear Form and let loose a wild roar, increasing the movement speed of all friendly players within 15 yards by 60% for 8 sec.",464343],"18960":["Teleport: Moonglade","","Teleport to the Moonglade.\r\n\r\nCasting Teleport: Moonglade while in Moonglade will return you back to near your departure point.",135758],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"194223":["Celestial Alignment","","Celestial bodies align, maintaining both Eclipses and granting 10% haste for 20 sec.",136060],"78674":["Starsurge","","Launch a surge of stellar energies at the target, dealing 109 Astral damage, and empowering the damage bonus of any active Eclipse for its duration.",135730],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 60% health and at least 20% mana. Castable in combat.",136080],"78675":["Solar Beam","","Summons a beam of solar light over an enemy target's location, interrupting the target and silencing all enemies within the beam. Lasts 8 sec.",252188],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 8 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",132116],"190984":["Wrath","","Hurl a ball of energy at the target, dealing 31 Nature damage.",535045],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 10 Arcane damage and then an additional 58 Arcane damage over 12 sec.",136096],"2782":["Remove Corruption","","Nullifies corrupting effects on the friendly target, removing all Curse and Poison effects.",135952],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"132469":["Typhoon","","Blasts targets within 15 yards in front of you with a violent Typhoon, knocking them back and dazing them for 6 sec. Usable in all shapeshift forms.",236170],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"29166":["Innervate","","Infuse a friendly healer with energy, allowing them to cast spells without spending mana for 10 sec.",136048]},"talent":{"102560":["Incarnation: Chosen of Elune","","An improved Moonkin Form that grants the benefits of Celestial Alignment, and 10% critical strike chance.\r\n\r\nLasts 30 sec. You may shapeshift in and out of this improved Moonkin Form for its duration.",571586],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059],"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n",135879],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"102359":["Mass Entanglement","","Roots the target and all enemies within 15 yards in place for 30 sec. Damage may interrupt the effect. Usable in all shapeshift forms.",538515]}},"Restoration":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 31 damage\r\n 2 points: 61 damage\r\n 3 points: 92 damage\r\n 4 points: 123 damage\r\n 5 points: 153 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 25%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"93402":["Sunfire","","A quick beam of solar light burns the enemy for 19 Nature damage and then an additional 110 Nature damage over 12 sec.",236216],"102793":["Ursol's Vortex","","Conjures a vortex of wind for 10 sec at the destination, reducing the movement speed of all enemies within 8 yards by 50%. The first time an enemy attempts to leave the vortex, winds will pull that enemy back to its center. Usable in all shapeshift forms.",571588],"6795":["Growl","","Taunts the target to attack you.",132270],"5221":["Shred","","Shred the target, causing 73 Physical damage to the target.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132144],"26297":["Berserking","Racial","Increases your haste by 10% for 12 sec.",135727],"192081":["Ironfur","","Increases armor by 56 for 7 sec.",1378702],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"5176":["Wrath","","Hurl a ball of energy at the target, dealing 84 Nature damage.",535045],"33763":["Lifebloom","","Heals the target for 244 over 15 sec. When Lifebloom expires or is dispelled, the target is instantly healed for 127.\r\n\r\nMay be active on one target at a time.",134206],"740":["Tranquility","","Heals all allies within 40 yards for 327 over 7.1 sec. Each heal heals the target for another 7 over 8 sec, stacking.\r\n\r\nHealing increased by 100% when not in a raid.",136107],"1850":["Dash","","Shift into Cat Form and increase your movement speed by 60% while in Cat Form for 10 sec.",132120],"8936":["Regrowth","","Heals a friendly target for 192 and another 54 over 12 sec.",136085],"18562":["Swiftmend","","Consumes a Regrowth, Wild Growth, or Rejuvenation effect to instantly heal an ally for 383.",134914],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"33917":["Mangle","","Mangle the target for 80 Physical damage.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"88423":["Nature's Cure","","Cures harmful effects on the friendly target, removing all Magic, Curse, and Poison effects.",236288],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"106898":["Stampeding Roar","","Shift into Bear Form and let loose a wild roar, increasing the movement speed of all friendly players within 15 yards by 60% for 8 sec.",464343],"212040":["Revitalize","","Returns all dead party members to life with 35% of maximum health and mana. Not castable in combat.",132125],"145205":["Efflorescence","","Grows a healing blossom at the target location, restoring 26 health to three injured allies within 10 yards every 1.8 sec for 30 sec. Limit 1.",134222],"18960":["Teleport: Moonglade","","Teleport to the Moonglade.\r\n\r\nCasting Teleport: Moonglade while in Moonglade will return you back to near your departure point.",135758],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"102351":["Cenarion Ward","","Protects a friendly target for 30 sec. Any damage taken will consume the ward and heal the target for 396 over 8 sec.",132137],"29166":["Innervate","","Infuse a friendly healer with energy, allowing them to cast spells without spending mana for 10 sec.",136048],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 8 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",135150],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 29 Arcane damage and then an additional 229 Arcane damage over 16 sec.",136096],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 60% health and at least 20% mana. Castable in combat.",136080],"132158":["Nature's Swiftness","","Your next Regrowth, Rebirth, or Entangling Roots is instant, free, castable in all forms, and heals for an additional 100%.",136076],"102342":["Ironbark","","The target's skin becomes as tough as Ironwood, reducing damage taken by 20% for 12 sec.",572025],"774":["Rejuvenation","","Heals the target for 177 over 12 sec.",136081],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"48438":["Wild Growth","","Heals up to 5 injured allies within 30 yards of the target for 123 over 7 sec. Healing starts high and declines over the duration.",236153]},"talent":{"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n",135879],"102359":["Mass Entanglement","","Roots the target and all enemies within 15 yards in place for 30 sec. Damage may interrupt the effect. Usable in all shapeshift forms.",538515],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"102351":["Cenarion Ward","","Protects a friendly target for 30 sec. Any damage taken will consume the ward and heal the target for 396 over 8 sec.",132137],"50464":["Nourish","","Heals a friendly target for 215. Receives triple bonus from |cffffffffMastery: Harmony|r.",236162],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"203651":["Overgrowth","","Apply Lifebloom, Rejuvenation, Wild Growth, and Regrowth's heal over time effect to an ally.",1408836],"33891":["Incarnation: Tree of Life","","Shapeshift into the Tree of Life, increasing healing done by 15%, increasing armor by 120%, and granting protection from Polymorph effects. Functionality of Rejuvenation, Wild Growth, Regrowth, and Entangling Roots is enhanced.\r\n\r\nLasts 30 sec. You may shapeshift in and out of this form for its duration.",236157],"197721":["Flourish","","Extends the duration of all of your heal over time effects on friendly targets within 60 yards by 8 sec, and increases the rate of your heal over time effects by 100% for 8 sec.",538743]}}}},"Fazzarrior-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzmist-Kor'gall":{"kbConfig":{"addon":"Dominos"},"ridingSkill":0},"Fazzuid-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzedk-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Zaffadin-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzonk-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"4","MULTIACTIONBAR1BUTTON6":"SHIFT-T","MULTIACTIONBAR2BUTTON3":"SHIFT-X","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"BUTTON4","MULTIACTIONBAR1BUTTON9":"\\","ACTIONBUTTON1":"E","BONUSACTIONBUTTON6":"CTRL-6","ACTIONBUTTON6":"F","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"R","CLICK DominosActionButton9:HOTKEY":"1","BONUSACTIONBUTTON4":"CTRL-4","ACTIONBUTTON12":"SHIFT-E","EXTRAACTIONBUTTON1":"5","ACTIONBUTTON10":"Q","CLICK DominosActionButton6:HOTKEY":"SHIFT-V","CLICK DominosActionButton4:HOTKEY":"BUTTON3","MULTIACTIONBAR2BUTTON1":"SHIFT-B","MULTIACTIONBAR1BUTTON1":"X","MULTIACTIONBAR1BUTTON4":"Z","MULTIACTIONBAR1BUTTON10":"SHIFT-3","BONUSACTIONBUTTON1":"CTRL-1","MULTIACTIONBAR2BUTTON6":"6","BONUSACTIONBUTTON5":"CTRL-5","BONUSACTIONBUTTON2":"CTRL-2","BONUSACTIONBUTTON10":"CTRL-0","ACTIONBUTTON3":"3","MULTIACTIONBAR4BUTTON2":"SHIFT-2","ACTIONBUTTON4":"C","MULTIACTIONBAR4BUTTON1":"8","ACTIONBUTTON9":"G","BONUSACTIONBUTTON3":"CTRL-3","MULTIACTIONBAR1BUTTON12":"SHIFT-BUTTON3","CLICK DominosActionButton1:HOTKEY":"SHIFT-C","MULTIACTIONBAR1BUTTON3":"T","MULTIACTIONBAR2BUTTON7":"SHIFT-BUTTON5","MULTIACTIONBAR2BUTTON8":"SHIFT-MOUSEWHEELUP","MULTIACTIONBAR1BUTTON2":"SHIFT-4","MULTIACTIONBAR2BUTTON11":"SHIFT-6","MULTIACTIONBAR3BUTTON7":"`","ACTIONBUTTON7":"B","MULTIACTIONBAR4BUTTON3":"SHIFT-N","MULTIACTIONBAR2BUTTON9":"SHIFT-BUTTON4","CLICK DominosActionButton2:HOTKEY":"SHIFT-F","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON5":"BUTTON5","ACTIONBUTTON11":"SHIFT-Q","CLICK DominosActionButton13:HOTKEY":"9"},"addon":"Dominos"},"item":{"159867":["Rockskip Mineral Water",132831,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"5512":["Healthstone",538745,"Consumable"],"187508":["Trained Gromit Carrier",132599,"Consumable"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"6948":["Hearthstone",134414,"Miscellaneous"],"171267":["Spiritual Healing Potion",3566860,"Consumable"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"]},"kb":{"Mistweaver":{"87":"item:173008","61":"spell:243435","51":"spell:115310","97":"spell:2259","65":"spell:107428","55":"spell:115078","67":"spell:119996","57":"spell:116844","59":"spell:115178","49":"item:169451","39":"item:152495","79":"spell:322101","69":"spell:300728","1":"spell:115151","3":"spell:100780","2":"spell:101546","5":"spell:116680","4":"spell:116670","7":"spell:191837","6":"spell:122783","25":"spell:126892","8":"spell:115175","31":"item:126936","21":"spell:58984","11":"spell:119381","70":"spell:100784","62":"spell:322109","72":"spell:101643","54":"spell:212051","64":"spell:325197","66":"spell:117952","38":"spell:326860","98":"spell:3908","112":"item:141605","9":"spell:115546","110":"item:6948","18":"macro:37","37":"item:173859","40":"item:113509","14":"spell:116849","85":"item:172996","16":"spell:115450","109":"item:110560","86":"item:173001","12":"spell:124682","111":"item:140192","10":"spell:115008"},"Brewmaster":{"61":"spell:122278","51":"spell:115203","41":"item:187508","65":"spell:115181","55":"spell:115078","67":"spell:116705","57":"spell:116844","59":"spell:115178","49":"item:171267","29":"spell:2259","112":"item:141605","69":"spell:300728","1":"spell:100780","3":"spell:121253","2":"spell:205523","5":"spell:119996","4":"spell:116670","7":"spell:322101","6":"spell:322507","9":"spell:115176","8":"spell:117952","27":"spell:307143","13":"spell:115546","21":"spell:58984","11":"spell:119381","70":"spell:322109","40":"item:159867","50":"item:5512","64":"spell:132578","66":"spell:116841","38":"spell:326860","98":"spell:3908","111":"item:140192","25":"spell:126892","97":"spell:2259","18":"macro:37","37":"item:113509","62":"spell:324312","14":"spell:119582","63":"spell:322729","16":"spell:218164","109":"item:110560","72":"spell:101643","12":"spell:116847","110":"item:6948","10":"spell:109132"}},"macro":{"23":["trinket",3717264,"#showtooltip\n/use 13\n"],"37":["trinket",3717264,"#showtooltip\n/use 13\n"]},"ridingSkill":5,"spell":{"Mistweaver":{"base":{"101643":["Transcendence","","Split your body and spirit, leaving your spirit behind for 15 min. Use Transcendence: Transfer to swap locations with your spirit.",627608],"326860":["Fallen Order","Venthyr","Opens a mystic portal for 24 sec. Every 3 sec, it summons a spirit of your order's fallen Ox, Crane, or Tiger adepts for 6 sec.\r\n\r\nFallen Crane adepts assist for an additional 2 sec, and will also heal with Enveloping Mist.",3565721],"115078":["Paralysis","","Incapacitates the target for 1 min. Limit 1. Damage will cancel the effect.",629534],"119996":["Transcendence: Transfer","","Your body and spirit swap locations.",237585],"124682":["Enveloping Mist","","Wraps the target in healing mists, healing for 5,843 over 7 sec, and increasing healing received from your other spells by 40%.",775461],"125883":["Zen Flight","","You fly through the air at a quick speed on a meditative cloud.",660248],"107428":["Rising Sun Kick","","Kick upwards, dealing 2,905 Physical damage.",642415],"191837":["Essence Font","","Unleashes a rapid twirl of healing bolts at up to 6 allies within 30 yds, every 0.9 sec for 2.7 sec. Each bolt heals a target for 586, plus an additional 233 over 8 sec.\r\n\r\nGust of Mists will heal affected targets twice. Castable while moving.",1360978],"115008":["Chi Torpedo","","",607849],"243435":["Fortifying Brew","","Turns your skin to stone, increasing your current and maximum health by 15% and reducing damage taken by 15% for 15 sec.",615341],"101546":["Spinning Crane Kick","","Spin while kicking in the air, dealing 1,350 Physical damage over 1.3 sec to all enemies within 8 yds. Deals reduced damage beyond 5 targets.",606543],"116670":["Vivify","","Causes a surge of invigorating mists, healing the target for 1,750 and all allies with your Renewing Mist active for 1,290.",1360980],"322109":["Touch of Death","","You exploit the enemy target's weakest point, instantly killing creatures if they have less health than you. Deals damage equal to 35% of your maximum health against players and stronger creatures under 15% health.\r\n\r\nIncreases the Monk's Physical damage by 15% for 10 sec.",606552],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"126892":["Zen Pilgrimage","","Your spirit travels to your home temple, leaving your body behind. \r\n\r\nUse Zen Pilgrimage again to return back to near your departure point.",775462],"115178":["Resuscitate","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Cannot be cast when in combat.",132132],"115450":["Detox","","Removes all Magic, Poison, and Disease effects from the target.",460692],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"115151":["Renewing Mist","","Surrounds the target with healing mists, restoring 3,128 health over 20 sec.\r\n\r\nIf Renewing Mist heals a target past maximum health, it will travel to another injured ally within 20 yds.",627487],"115175":["Soothing Mist","","Heals the target for 5,463 over 7.1 sec. While channeling, Enveloping Mist and Vivify may be cast instantly on the target.\r\n\r\nEach heal has a chance to cause a Gust of Mists on the target.",606550],"325197":["Invoke Chi-Ji, the Red Crane","","",877514],"212051":["Reawaken","","Returns all dead party members to life with 35% of maximum health and mana. Cannot be cast when in combat.",1056569],"117952":["Crackling Jade Lightning","","Channel Jade lightning, causing 1,891 Nature damage over 3.6 sec to the target and sometimes knocking back melee attackers.",606542],"116849":["Life Cocoon","","Encases the target in a cocoon of Chi energy for 12 sec, absorbing 17,949 damage and increasing all healing over time received by 50%.",627485],"100780":["Tiger Palm","","Strike with the palm of your hand, dealing 401 Physical damage.",606551],"100784":["Blackout Kick","","Kick with a blast of Chi energy, dealing 1,144 Physical damage.",574575],"119381":["Leg Sweep","","Knocks down all enemies within 6 yards, stunning them for 3 sec.",642414],"300728":["Door of Shadows","Venthyr","Wend through the shadows, appearing at the targeted location.",3586270],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3461503],"115546":["Provoke","","Taunts the target to attack you and causes them to move toward you at 50% increased speed.",620830],"116680":["Thunder Focus Tea","","Receive a jolt of energy, empowering your next spell cast:\r\n\r\n|cffffffffEnveloping Mist|r: Immediately heals for 3,474.\r\n|cffffffffRenewing Mist|r: Duration increased by 10 sec.\r\n|cffffffffVivify|r: No mana cost.\r\n|cffffffffRising Sun Kick|r: Cooldown reduced by 9 sec.",611418],"322101":["Expel Harm","","Expel negative chi from your body, healing for 1,489 and dealing 10% of the amount healed as Nature damage to an enemy within 8 yards.\r\n\r\nMay be cast during Soothing Mist, and will additionally heal the Soothing Mist target.",627486],"122783":["Diffuse Magic","","",775460],"58984":["Shadowmeld","Racial","Activate to slip into the shadows, reducing the chance for enemies to detect your presence. Lasts until cancelled or upon moving. Any threat is restored versus enemies still in combat upon cancellation of this effect.",132089],"115310":["Revival","","Heals all party and raid members within 40 yards for 3,512 and clears them of all harmful Magical, Poison, and Disease effects.",1020466],"116844":["Ring of Peace","","Form a Ring of Peace at the target location for 5 sec. Enemies that enter will be ejected from the Ring.",839107]},"talent":{"122278":["Dampen Harm","","Reduces all damage you take by 20% to 50% for 10 sec, with larger attacks being reduced by more.",620827],"197908":["Mana Tea","","",608949],"122281":["Healing Elixir","","",608939],"115098":["Chi Wave","","",606541],"115008":["Chi Torpedo","","",607849],"325197":["Invoke Chi-Ji, the Red Crane","","",877514],"116841":["Tiger's Lust","","Increases a friendly target's movement speed by 70% for 6 sec and removes all roots and snares.",651727],"122783":["Diffuse Magic","","",775460],"115313":["Summon Jade Serpent Statue","","",620831],"116844":["Ring of Peace","","Form a Ring of Peace at the target location for 5 sec. Enemies that enter will be ejected from the Ring.",839107],"198898":["Song of Chi-Ji","","",332402],"123986":["Chi Burst","","",135734],"196725":["Refreshing Jade Wind","","",606549]}},"Brewmaster":{"base":{"101643":["Transcendence","","Split your body and spirit, leaving your spirit behind for 15 min. Use Transcendence: Transfer to swap locations with your spirit.",627608],"326860":["Fallen Order","Venthyr","Opens a mystic portal for 24 sec. Every 3 sec, it summons a spirit of your order's fallen Ox, Crane, or Tiger adepts for 6 sec.\r\n\r\nFallen Ox adepts assist for an additional 2 sec, and will also attack your enemies with Breath of Fire.",3565721],"115078":["Paralysis","","Incapacitates the target for 1 min. Limit 1. Damage will cancel the effect.",629534],"119996":["Transcendence: Transfer","","Your body and spirit swap locations.",237585],"205523":["Blackout Kick","","Strike with a blast of Chi energy, dealing 452 Physical damage and granting Shuffle for 3 sec.",574575],"125883":["Zen Flight","","You fly through the air at a quick speed on a meditative cloud.",660248],"115181":["Breath of Fire","","Breathe fire on targets in front of you, causing 284 Fire damage. Deals reduced damage to secondary targets.\r\n\r\nTargets affected by Keg Smash will also burn, taking 196 Fire damage and dealing 5% reduced damage to you for 12 sec.",615339],"324312":["Clash","","You and the target charge each other, meeting halfway then rooting all targets within 6 yards for 4 sec.",628134],"121253":["Keg Smash","","Smash a keg of brew on the target, dealing 635 Physical damage to all enemies within 8 yds and reducing their movement speed by 20% for 15 sec. Deals reduced damage beyond 5 targets.\r\n\r\nGrants Shuffle for 5 sec and reduces the remaining cooldown on your Brews by 3 sec.",594274],"218164":["Detox","","Removes all Poison and Disease effects from the target.",460692],"116670":["Vivify","","Causes a surge of invigorating mists, healing the target for 0.",1360980],"322109":["Touch of Death","","You exploit the enemy target's weakest point, instantly killing creatures if they have less health than you. Deals damage equal to 35% of your maximum health against players and stronger creatures under 15% health.\r\n\r\nReduces delayed Stagger damage by 200% of damage dealt.",606552],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"126892":["Zen Pilgrimage","","Your spirit travels to your home temple, leaving your body behind. \r\n\r\nUse Zen Pilgrimage again to return back to near your departure point.",775462],"115178":["Resuscitate","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Cannot be cast when in combat.",132132],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"122278":["Dampen Harm","","Reduces all damage you take by 20% to 50% for 10 sec, with larger attacks being reduced by more.",620827],"322507":["Celestial Brew","","A swig of strong brew that coalesces purified chi escaping your body into a celestial guard, absorbing 4,436 damage.\r\n\r\nPurifying Stagger damage increases absorption by up to 200%.",1360979],"132578":["Invoke Niuzao, the Black Ox","","Summons an effigy of Niuzao, the Black Ox for 25 sec. Niuzao attacks your primary target, and frequently Stomps, damaging all nearby enemies for 121 plus 25% of Stagger damage you have recently purified.\r\n\r\nWhile active, 25% of damage delayed by Stagger is instead Staggered by Niuzao.",608951],"322729":["Spinning Crane Kick","","Spin while kicking in the air, dealing 739 Physical damage over 1.3 sec to enemies within 8 yds. \r\n\r\nDealing damage with Spinning Crane Kick grants Shuffle for 1 sec, and your Healing Spheres travel towards you. ",606543],"117952":["Crackling Jade Lightning","","Channel Jade lightning, causing 1,034 Nature damage over 3.5 sec to the target and sometimes knocking back melee attackers.",606542],"109132":["Roll","","Roll a short distance.",574574],"115203":["Fortifying Brew","","Turns your skin to stone for 15 sec, increasing your current and maximum health by 20%, increasing the effectiveness of Stagger by 10%, and reducing all damage you take by 20%.",615341],"100780":["Tiger Palm","","Strike with the palm of your hand, dealing 220 Physical damage.",606551],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3618624],"119381":["Leg Sweep","","Knocks down all enemies within 6 yards, stunning them for 3 sec.",642414],"300728":["Door of Shadows","Venthyr","Wend through the shadows, appearing at the targeted location.",3586270],"322101":["Expel Harm","","Expel negative chi from your body, healing for 0 and dealing 10% of the amount healed as Nature damage to an enemy within 8 yards.\r\n\r\nDraws in the positive chi of all your Healing Spheres to increase the healing of Expel Harm.",627486],"116844":["Ring of Peace","","Form a Ring of Peace at the target location for 5 sec. Enemies that enter will be ejected from the Ring.",839107],"115546":["Provoke","","Taunts the target to attack you and causes them to move toward you at 50% increased speed.",620830],"119582":["Purifying Brew","","Clears 50% of your damage delayed with Stagger.\r\n\r\nIncreases the absorption of your next Celestial Brew by up to 200%, based on your current level of Stagger",133701],"115176":["Zen Meditation","","Reduces all damage taken by 60% for 8 sec. Being hit by a melee attack, or taking another action other than movement will cancel this effect.",642417],"58984":["Shadowmeld","Racial","Activate to slip into the shadows, reducing the chance for enemies to detect your presence. Lasts until cancelled or upon moving. Any threat is restored versus enemies still in combat upon cancellation of this effect.",132089],"116841":["Tiger's Lust","","Increases a friendly target's movement speed by 70% for 6 sec and removes all roots and snares.",651727],"116705":["Spear Hand Strike","","Jabs the target in the throat, interrupting spellcasting and preventing any spell from that school of magic from being cast for 4 sec.",608940]},"talent":{"116847":["Rushing Jade Wind","","",606549],"122278":["Dampen Harm","","Reduces all damage you take by 20% to 50% for 10 sec, with larger attacks being reduced by more.",620827],"122281":["Healing Elixir","","Drink a healing elixir, healing you for 15% of your maximum health.",608939],"115098":["Chi Wave","","A wave of Chi energy flows through friends and foes, dealing 105 Nature damage or 293 healing. Bounces up to 7 times to targets within 25 yards.",606541],"115399":["Black Ox Brew","","",629483],"116841":["Tiger's Lust","","Increases a friendly target's movement speed by 70% for 6 sec and removes all roots and snares.",651727],"115008":["Chi Torpedo","","Torpedoes you forward a long distance and increases your movement speed by 30% for 10 sec, stacking up to 2 times.",607849],"116844":["Ring of Peace","","Form a Ring of Peace at the target location for 5 sec. Enemies that enter will be ejected from the Ring.",839107],"115315":["Summon Black Ox Statue","","",627607],"123986":["Chi Burst","","Hurls a torrent of Chi energy up to 40 yds forward, dealing 340 Nature damage to all enemies, and 659 healing to the Monk and all allies in its path. Healing reduced beyond 6 targets.\r\n\r\n\r\nCasting Chi Burst does not prevent avoiding attacks.",135734],"325153":["Exploding Keg","","",644378]}}}},"Zaffiest-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzwarp-Kor'gall":{"kbConfig":{"addon":"Dominos"},"ridingSkill":0},"Zaffock-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Zaffogue-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazze-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","ACTIONBUTTON6":"R","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton19:HOTKEY":"5","CLICK DominosActionButton21:HOTKEY":"N","BONUSACTIONBUTTON8":"CTRL-8","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton22:HOTKEY":"SHIFT-MOUSEWHEELDOWN","ACTIONBUTTON3":"3","CLICK DominosActionButton16:HOTKEY":"T","BONUSACTIONBUTTON7":"CTRL-7","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","CLICK DominosActionButton14:HOTKEY":"H","ACTIONBUTTON10":"BUTTON5","BONUSACTIONBUTTON6":"CTRL-6","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON1":"SHIFT-G","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR3BUTTON8":"8","CLICK DominosActionButton8:HOTKEY":"BUTTON4","BONUSACTIONBUTTON2":"CTRL-2","MULTIACTIONBAR4BUTTON3":"SHIFT-B","CLICK DominosActionButton1:HOTKEY":"4","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","MULTIACTIONBAR1BUTTON3":"`","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","MULTIACTIONBAR1BUTTON2":"G","CLICK DominosActionButton12:HOTKEY":"6","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","ACTIONBUTTON7":"B","CLICK DominosActionButton15:HOTKEY":"\\","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","CLICK DominosActionButton18:HOTKEY":"SHIFT-H"},"addon":"Dominos"},"item":{"177951":["Glimmerflies on Strings",2059632,"Miscellaneous"],"171286":["Embalmer's Oil",463544,"Consumable"],"166746":["Fire Eater's Hearthstone",2491064,"Miscellaneous"],"122293":["Trans-Dimensional Bird Whistle",1108079,"Miscellaneous"],"186704":["Twilight Tea",132814,"Consumable"],"171267":["Spiritual Healing Potion",3566860,"Consumable"],"169299":["Potion of Unbridled Fury",464028,"Consumable"],"97919":["Whole-Body Shrinka'",801002,"Miscellaneous"],"126936":["Sugar-Crusted Fish Feast",1045940,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"173049":["Tome of the Still Mind",3717418,"Consumable"],"5512":["Healthstone",538745,"Consumable"],"182732":["The Necronom-i-nom",133737,"Miscellaneous"],"184513":["Containment Orb",348545,"Quest"],"171273":["Potion of Spectral Intellect",3566836,"Consumable"],"188152":["Gateway Control Shard",607513,"Miscellaneous"],"132516":["Gunshoes",1405809,"Consumable"],"71008":["Charged Rhyolite Focus",134102,"Quest"],"80610":["Conjured Mana Pudding",609813,"Consumable"],"165669":["Lunar Elder's Hearthstone",2491049,"Miscellaneous"],"172051":["Steak a la Mode",3671904,"Consumable"],"180817":["Cypher of Relocation",442739,"Quest"],"172061":["Seraph Tenders",3671900,"Consumable"],"130232":["Moonfeather Statue",467894,"Miscellaneous"],"184312":["Borr-Geth's Fiery Brimstone",135826,"Miscellaneous"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"172043":["Feast of Gluttonous Hedonism",3760523,"Consumable"],"162973":["Greatfather Winter's Hearthstone",2124576,"Miscellaneous"],"187508":["Trained Gromit Carrier",132599,"Consumable"],"71016":["Charged Pyreshell Focus",134110,"Quest"],"180290":["Night Fae Hearthstone",3489827,"Miscellaneous"],"111820":["Swapblaster",308321,"Consumable"],"184418":["Acrobatic Steward",3586266,"Miscellaneous"],"86568":["Mr. Smite's Brass Compass",443379,"Miscellaneous"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"],"167555":["Pocket-Sized Computation Device",2115322,"Armor"],"120257":["Drums of Fury",133841,"Consumable"],"109076":["Goblin Glider Kit",133632,"Consumable"],"49040":["Jeeves",254097,"Consumable"],"172045":["Tenebrous Crown Roast Aspic",3671905,"Consumable"],"171263":["Potion of Soul Purity",3566865,"Consumable"],"171266":["Potion of the Hidden Spirit",3566868,"Consumable"],"171285":["Shadowcore Oil",463543,"Consumable"],"156631":["Silas' Sphere of Transmutation",2356035,"Tradeskill"],"109183":["World Shrinker",133867,"Consumable"],"152497":["Lightfoot Potion",2057575,"Consumable"],"166779":["Transmorpher Beacon",2823166,"Miscellaneous"],"180008":["Resonating Anima Core",3528287,"Consumable"],"168651":["Greater Flask of the Currents",967550,"Consumable"],"156833":["Katy's Stampwhistle",443375,"Consumable"],"104299":["Falling Flame",135821,"Miscellaneous"],"181333":["Sinful Gladiator's Medallion",1322720,"Armor"],"172233":["Drums of Deathly Ferocity",3528453,"Consumable"],"171272":["Potion of Spiritual Clarity",3566828,"Consumable"],"181468":["Veiled Augment Rune",134078,"Consumable"],"132514":["Auto-Hammer",1405803,"Consumable"],"182694":["Stylish Black Parasol",644385,"Miscellaneous"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"173048":["Codex of the Still Mind",3717417,"Consumable"],"173859":["Ethereal Pomegranate",133999,"Consumable"],"171276":["Spectral Flask of Power",3566840,"Consumable"],"171268":["Spiritual Mana Potion",3566858,"Consumable"],"171349":["Potion of Phantom Fire",3566829,"Consumable"],"177278":["Phial of Serenity",463534,"Consumable"],"122304":["Fandral's Seed Pouch",133668,"Miscellaneous"]},"kb":{"Balance":{"53":"item:184312","77":"spell:164862","63":"spell:48438","93":"item:172061","37":"item:171266","67":"spell:22842","57":"spell:210053","112":"item:141605","111":"item:140192","27":"item:71008","17":"spell:102560","13":"spell:191034","23":"spell:50769","76":"spell:339","52":"spell:193753","62":"spell:1850","72":"spell:783","103":"spell:192081","66":"spell:202347","16":"macro:126","26":"item:71016","12":"spell:202425","22":"spell:29166","32":"item:113509","71":"macro:124","61":"spell:106898","85":"item:181468","41":"item:171273","65":"macro:26","39":"item:171267","29":"item:180008","99":"spell:818","89":"item:171285","79":"macro:1","69":"spell:102793","1":"spell:190984","3":"spell:8921","2":"spell:93402","19":"spell:20484","4":"spell:8936","7":"spell:24858","6":"spell:78674","25":"spell:193753","15":"spell:2782","31":"item:180817","21":"macro:135","11":"spell:205636","110":"item:180290","70":"macro:122","74":"spell:132469","50":"item:184513","54":"spell:18562","64":"spell:58984","51":"item:166779","42":"item:171268","84":"item:109076","8":"spell:194153","28":"macro:17","38":"item:171349","97":"spell:2259","98":"spell:158765","68":"spell:209749","102":"spell:106832","87":"item:172045","109":"item:110560","105":"spell:99","86":"item:171276","101":"spell:131474","18":"spell:33786","5":"spell:774","9":"spell:22812","14":"spell:2908","24":"spell:2637","78":"item:111820","104":"spell:22842","20":"spell:78675","30":"item:126936","40":"item:171272","10":"spell:5211"},"Restoration":{"87":"macro:4","77":"spell:8921","73":"macro:10","63":"spell:132158","47":"item:171266","83":"spell:164862","67":"macro:130","57":"spell:197625","112":"item:166746","115":"item:140192","111":"item:109076","114":"item:104299","119":"spell:4036","17":"spell:29166","13":"macro:129","23":"spell:50769","42":"item:171272","86":"item:171276","62":"spell:1850","72":"spell:783","36":"item:188152","92":"item:172045","103":"item:182694","66":"macro:123","106":"item:111820","108":"macro:17","120":"item:180817","76":"spell:339","82":"macro:15","113":"spell:158765","100":"item:97919","16":"macro:126","75":"macro:12","81":"item:177278","12":"spell:102342","22":"spell:33891","32":"item:186704","71":"macro:124","61":"spell:106898","85":"item:181468","117":"item:132516","65":"macro:26","109":"item:110560","91":"item:172043","35":"item:113509","37":"item:5512","1":"spell:774","116":"spell:818","29":"flyout:220","99":"item:156833","89":"item:171285","79":"macro:1","69":"spell:93402","118":"item:141605","15":"spell:88423","3":"macro:131","2":"macro:133","19":"spell:20484","4":"spell:8936","7":"macro:136","6":"spell:18562","9":"spell:22812","8":"spell:33763","93":"item:173048","31":"item:173859","110":"spell:2259","21":"macro:135","11":"spell:740","74":"macro:134","94":"item:173049","70":"spell:5487","40":"item:171273","84":"spell:33786","96":"item:49040","64":"spell:58984","80":"macro:14","44":"summonpet:BattlePet-0-00000816ADA5","48":"item:171263","95":"item:172233","102":"item:122293","38":"item:171349","88":"item:171286","98":"item:130232","68":"spell:197721","78":"spell:6795","90":"item:132514","43":"item:187508","105":"item:177951","97":"item:86568","101":"summonpet:BattlePet-0-00000816ADA5","18":"spell:2637","5":"spell:102351","39":"macro:16","14":"spell:2908","24":"spell:212040","41":"item:171268","104":"item:184418","20":"macro:132","30":"spell:193753","107":"item:166779","10":"macro:125"},"Guardian":{"53":"item:156833","77":"spell:201664","73":"macro:10","63":"item:177278","93":"item:172051","37":"item:5512","67":"macro:130","112":"item:141605","111":"item:140192","114":"spell:4036","27":"item:140192","17":"spell:61336","13":"spell:22842","23":"spell:50769","42":"item:184312","52":"item:122304","62":"spell:1850","72":"spell:783","82":"spell:2637","46":"item:168651","56":"spell:193753","66":"macro:123","106":"spell:5211","16":"spell:102401","26":"item:165669","12":"spell:99","22":"spell:102558","32":"item:113509","71":"macro:124","61":"spell:106898","51":"item:86568","75":"macro:12","65":"macro:26","55":"summonpet:BattlePet-0-00000816ADA5","45":"item:171349","113":"spell:61336","59":"spell:8921","39":"item:171267","29":"item:120257","99":"spell:6807","107":"item:80610","79":"macro:1","85":"item:181468","1":"spell:774","15":"spell:2782","3":"macro:131","2":"macro:133","19":"spell:20484","4":"spell:213764","7":"spell:48438","6":"spell:18562","9":"spell:22812","8":"spell:6807","103":"spell:22812","110":"item:162973","31":"spell:193753","21":"macro:135","91":"item:172043","43":"item:181333","109":"item:110560","70":"macro:122","40":"item:169299","50":"item:109183","54":"macro:17","64":"spell:58984","100":"spell:6795","44":"item:172233","97":"spell:2259","58":"item:111820","28":"item:141605","38":"item:152497","88":"item:171285","98":"spell:33917","92":"item:172045","102":"spell:192081","87":"macro:4","86":"item:171276","105":"spell:106898","83":"spell:5215","101":"spell:106839","18":"spell:33786","76":"spell:339","74":"item:109076","14":"spell:2908","24":"spell:102401","5":"spell:8921","104":"spell:106832","20":"spell:106839","30":"item:156631","25":"item:110560","10":"spell:5211"}},"macro":{"136":["wildgrowth",236153,"#showtooltip\n/cast [target=player] Wild Growth\n"],"123":["bite/lunar",134400,"#showtooltip\n/cast [stance:2] Ferocious Bite; [stance:4] Starfire\n"],"133":["Sunfire/Swipe",236216,"#showtooltip\n/cast [stance:0/3/4/5/6/7] Sunfire; [stance:1] Mangle; [stance:2] Swipe\n"],"23":["trinket",133250,"#showtooltip\n/use 13\n"],"130":["rip/ironfur",134400,"#showtooltip\n/cast [stance:1] Ironfur; [stance:2] Rip; [stance:4] Starsurge\n"],"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"126":["heal/charge",538771,"#showtooltip\n/cast [talent:2/2] Renewal\n/cast [talent:2/3] Wild Charge\n"],"132":["stun/mass root/d",135879,"#showtooltip\n/cast [talent:4/1] Mighty Bash\n/cast [talent:4/2] Mass Entanglement\n/cast [talent:4/3] Heart of the Wild(Talent)\n"],"122":["Bear/Growl",132276,"#showtooltip\n/cast [stance:0/2/3/4/5/6/7] Bear Form; [stance:1] Growl\n"],"134":["typhoon/maim",132134,"#showtooltip\n/cast [talent:3/1] Typhoon\n/cast [talent:3/2] Maim\n"],"17":["LUA",135900,"/run if GetCVar(\"ScriptErrors\")==\"1\" then SetCVar(\"ScriptErrors\",\"0\");print(\"Show LUA Errors: Off\");else SetCVar(\"ScriptErrors\",\"1\");print(\"Show LUA Errors: On\");end\n"],"125":["efflo",134222,"#showtooltip\n/cast [@cursor] Efflorescence\n"],"135":["vortex",571588,"#showtooltip\n/cast [@cursor] Ursol's Vortex\n"],"124":["cat",132115,"#showtooltip\n/cast Cat Form\n/cast Prowl\n"],"129":["Moonfire/Rake",136096,"#showtooltip\n/cast [talent:3/2,stance:1] Moonfire; [talent:3/3,stance:1] Frenzied Regeneration; [talent:3/2,stance:2] Rake; [talent:3/3,stance:2] Moonfire; [stance:0/3/4/5/6/7] Moonfire\n"],"25":["trinket",133250,"#showtooltip\n/use 13\n"],"4":["armour kit",3528447,"#showtooltip\n/use Heavy Desolate Armor Kit\n/use 5\n"],"121":["..........",134326,"#showtooltip item:174927\n/stopmacro [channeling:Catching]\n/cleartarget\n/tar Ivory Cloud Serpent\n/use Zan-Tien Lasso\n"],"131":["Solar/Shred/Mang",535045,"#showtooltip\n/cast [talent:3/3,stance:1] Thrash; [talent:3/2,stance:1] Swipe; [stance:2] Shred; [stance:0/1/2/3/4/5/6/7] Wrath\n"],"14":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"15":["focus clear",134400,"/clearfocus\n"],"16":["Health",3566860,"#showtooltip Spiritual Healing Potion\n/cast Healthstone\n/cast Spiritual Healing Potion\n"],"26":["trinket",133250,"#showtooltip\n/use 13\n"],"13":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"12":["cov2",3586266,"#showtooltip\n/cast Soulshape\n/cast Summon Steward\n/cast [@cursor] Door of Shadows\n/cast Fleshcraft\n/run local G=GetSpellInfo SetMacroSpell(GetRunningMacro(), G\"Door of Shadows\" or G\"Soulshape\" or G\"Fleshcraft\"or G\"Summon Steward\")\n"],"11":["cov2",3726261,"#showtooltip\n/cast Soulshape\n/cast Summon Steward\n/cast [@cursor] Door of Shadows\n/cast Fleshcraft\n"],"10":["cov1 druid",3528282,"#showtooltip\n/cast Convoke the Spirits\n/cast Kindred Spirits\n/cast Ravenous Frenzy\n/cast Adaptive Swarm\n/run local G=GetSpellInfo SetMacroSpell(GetRunningMacro(), G\"Kindred Spirits\" or G\"Ravenous Frenzy\" or G\"Adaptive Swarm\" or G\"Convoke the Spirits\")\n"]},"spell":{"Balance":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 502 damage\r\n 2 points: 1,003 damage\r\n 3 points: 1,504 damage\r\n 4 points: 2,006 damage\r\n 5 points: 2,508 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 25%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"93402":["Sunfire","","A quick beam of solar light burns the enemy for 446 Nature damage and then an additional 4,495 Nature damage over 18 sec to the primary target and all enemies within 8 yards.\r\n\r\n|cFFFFFFFFGenerates 2 Astral Power.|r",236216],"102793":["Ursol's Vortex","","Conjures a vortex of wind for 10 sec at the destination, reducing the movement speed of all enemies within 8 yards by 50%. The first time an enemy attempts to leave the vortex, winds will pull that enemy back to its center. Usable in all shapeshift forms.",571588],"6795":["Growl","","Taunts the target to attack you.",132270],"127757":["Charm Woodland Creature","","Allows the Druid to befriend an ambient creature, which will follow the Druid for 1 |4hour:hrs;.",254857],"5221":["Shred","","Shred the target, causing 1,204 Physical damage to the target.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.\r\n\r\nLand speed increased when used out of combat. This effect is disabled in battlegrounds and arenas.",132144],"192081":["Ironfur","","Increases armor by 452 for 7 sec.",1378702],"191034":["Starfall","","Calls down waves of falling stars upon enemies within 45 yds, dealing 3,954 Astral damage over 8 sec.\r\n\r\nExtends the duration of active Moonfires and Sunfires by 4 sec.",236168],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"194153":["Starfire","","Call down a burst of energy, causing 1,706 Arcane damage to the target, and 549 Arcane damage to all other enemies within 8 yards.\r\n\r\n|cFFFFFFFFGenerates 8 Astral Power.|r",135753],"24858":["Moonkin Form","","Shapeshift into Moonkin Form, increasing the damage of your spells by 10% and your armor by 125%, and granting protection from Polymorph effects.\r\n\r\nWhile in this form, single-target attacks against you have a 15% chance to make your next Starfire instant.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",136036],"1850":["Dash","","Shift into Cat Form and increase your movement speed by 60% while in Cat Form for 10 sec.",132120],"8936":["Regrowth","","Heals a friendly target for 5,338 and another 1,715 over 12 sec. Initial heal has a 40% increased chance for a critical effect if the target is already affected by Regrowth. Usable while in Moonkin Form.",136085],"18562":["Swiftmend","","Consumes a Regrowth, Wild Growth, or Rejuvenation effect to instantly heal an ally for 14,903.",134914],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"193753":["Dreamwalk","","Teleports the caster to the Emerald Dreamway.\r\n\r\nCasting Dreamwalk again while in the Emerald Dreamway will return you back to near your departure point.",135763],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"106898":["Stampeding Roar","","Shift into Bear Form and let loose a wild roar, increasing the movement speed of all friendly players within 20 yards by 60% for 8 sec.",464343],"48438":["Wild Growth","","Heals up to 5 injured allies within 30 yards of the target for 5,448 over 7 sec. Healing starts high and declines over the duration.",236153],"323546":["Ravenous Frenzy","Venthyr","For 20 sec, Druid spells you cast increase your damage and healing by 2%, and haste by 1%, stacking.\r\n\r\nIf you spend 2 sec idle, the Frenzy overcomes you, consuming 1% of your health per stack, stunning you for 1 sec, and ending.",3565718],"78674":["Starsurge","","Launch a surge of stellar energies at the target, dealing 4,617 Astral damage, and empowering the damage bonus of any active Eclipse for its duration.",135730],"210053":["Mount Form","Shapeshift","Shapeshift into a mountable travel form, increasing movement speed by 40%. Also protects the caster from Polymorph effects. Only usable outdoors.\r\n\r\nThe act of shapeshifting frees the caster of movement impairing effects.",1394966],"774":["Rejuvenation","","Heals the target for 9,314 over 15 sec.",136081],"78675":["Solar Beam","","Summons a beam of solar light over an enemy target's location, interrupting the target and silencing all enemies within the beam. Lasts 8 sec.",252188],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059],"29166":["Innervate","","Infuse a friendly healer with energy, allowing them to cast spells without spending mana for 10 sec.",136048],"190984":["Wrath","","Hurl a ball of energy at the target, dealing 1,338 Nature damage.\r\n\r\n|cFFFFFFFFGenerates 6 Astral Power.|r",535045],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"102560":["Incarnation: Chosen of Elune","Talent, Shapeshift","An improved Moonkin Form that grants the benefits of Celestial Alignment, and 10% critical strike chance.\r\n\r\nLasts 30 sec. You may shapeshift in and out of this improved Moonkin Form for its duration.",571586],"300728":["Door of Shadows","Venthyr","Wend through the shadows, appearing at the targeted location.",3586270],"164862":["Flap","","You flap your wings, slowing your falling speed.",132925],"2782":["Remove Corruption","","Nullifies corrupting effects on the friendly target, removing all Curse and Poison effects.",135952],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 12 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3461503],"114282":["Treant Form","Shapeshift","Shapeshift into Treant Form.",132145],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 490 Arcane damage and then an additional 6,043 Arcane damage over 22 sec.\r\n\r\n|cFFFFFFFFGenerates 2 Astral Power.|r",136096],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 100% health and at least 20% mana. Castable in combat.",136080],"33917":["Mangle","","Mangle the target for 1,321 Physical damage.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"58984":["Shadowmeld","Racial","Activate to slip into the shadows, reducing the chance for enemies to detect your presence. Lasts until cancelled or upon moving. Any threat is restored versus enemies still in combat upon cancellation of this effect.",132089],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"132469":["Typhoon","","Blasts targets within 20 yards in front of you with a violent Typhoon, knocking them back and dazing them for 6 sec. Usable in all shapeshift forms.",236170]},"talent":{"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFRestoration:|r Healing of your Restoration spells increased by 30%, and mana costs reduced by 50%.\r\n",135879],"102359":["Mass Entanglement","","Roots the target and all enemies within 15 yards in place for 30 sec. Damage may interrupt the effect. Usable in all shapeshift forms.",538515],"202425":["Warrior of Elune","","",135900],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"102560":["Incarnation: Chosen of Elune","","An improved Moonkin Form that grants the benefits of Celestial Alignment, and 10% critical strike chance.\r\n\r\nLasts 30 sec. You may shapeshift in and out of this improved Moonkin Form for its duration.",571586],"202347":["Stellar Flare","","",1052602],"202770":["Fury of Elune","","",132123],"205636":["Force of Nature","","",132129],"274281":["New Moon","","",1392545],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059]}},"Restoration":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 901 damage\r\n 2 points: 1,802 damage\r\n 3 points: 2,703 damage\r\n 4 points: 3,604 damage\r\n 5 points: 4,505 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 25%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"93402":["Sunfire","","A quick beam of solar light burns the enemy for 372 Nature damage and then an additional 2,575 Nature damage over 12 sec to the primary target and all enemies within 8 yards.",236216],"102793":["Ursol's Vortex","","Conjures a vortex of wind for 10 sec at the destination, reducing the movement speed of all enemies within 8 yards by 50%. The first time an enemy attempts to leave the vortex, winds will pull that enemy back to its center. Usable in all shapeshift forms.",571588],"6795":["Growl","","Taunts the target to attack you.",132270],"127757":["Charm Woodland Creature","","Allows the Druid to befriend an ambient creature, which will follow the Druid for 1 |4hour:hrs;.",254857],"5221":["Shred","","Shred the target, causing 1,870 Physical damage to the target. Deals 20% increased damage against bleeding targets.\r\n\r\nWhile stealthed, Shred deals 60% increased damage, and has double the chance to critically strike.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.\r\n\r\nLand speed increased when used out of combat. This effect is disabled in battlegrounds and arenas.",132144],"192081":["Ironfur","","Increases armor by 452 for 7 sec.",1378702],"1822":["Rake","","Rake the target for 741 Bleed damage and an additional 4,189 Bleed damage over 15 sec. \r\n\r\nWhile stealthed, Rake will also stun the target for 4 sec, and deal 60% increased damage.\r\n\r\n|cFFFFFFFFAwards 1 combo point.|r",132122],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"5176":["Wrath","","Hurl a ball of energy at the target, dealing 1,680 Nature damage.",535045],"33763":["Lifebloom","","Heals the target for 6,012 over 15 sec. When Lifebloom expires or is dispelled, the target is instantly healed for 2,677.\r\n\r\nMay be active on one target at a time.",134206],"740":["Tranquility","","Heals all allies within 40 yards for 6,867 over 6.0 sec. Each heal heals the target for another 160 over 8 sec, stacking.\r\n\r\nHealing increased by 100% when not in a raid.",136107],"1850":["Dash","","Shift into Cat Form and increase your movement speed by 60% while in Cat Form for 10 sec.",132120],"324739":["Summon Steward","Kyrian","Call your steward to bring you a Phial of Serenity that can be consumed to restore 20% health and remove all Curse, Disease, Poison, and Bleed effects.\r\n\r\nYour Steward additionally offers access to a selection of useful amenities for 4 min.",3586266],"8936":["Regrowth","","Heals a friendly target for 4,027 and another 1,332 over 12 sec. Initial heal has a 40% increased chance for a critical effect if the target is already affected by Regrowth.",136085],"18562":["Swiftmend","","Consumes a Regrowth, Wild Growth, or Rejuvenation effect to instantly heal an ally for 8,031.",134914],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"48438":["Wild Growth","","Heals up to 6 injured allies within 30 yards of the target for 3,021 over 7 sec. Healing starts high and declines over the duration.",236153],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"193753":["Dreamwalk","","Teleports the caster to the Emerald Dreamway.\r\n\r\nCasting Dreamwalk again while in the Emerald Dreamway will return you back to near your departure point.",135763],"88423":["Nature's Cure","","Cures harmful effects on the friendly target, removing all Magic, Curse, and Poison effects.",236288],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"213764":["Swipe","","Swipe nearby enemies, inflicting Physical damage. Damage varies by shapeshift form.",134296],"106898":["Stampeding Roar","","Shift into Bear Form and let loose a wild roar, increasing the movement speed of all friendly players within 15 yards by 60% for 8 sec.",464343],"1079":["Rip","","Finishing move that causes Bleed damage over time. Lasts longer per combo point.\r\n\r\n 1 point : 3,015 over 8 sec\r\n 2 points: 4,523 over 12 sec\r\n 3 points: 6,031 over 16 sec\r\n 4 points: 7,539 over 20 sec\r\n 5 points: 9,046 over 24 sec",132152],"22570":["Maim","","Finishing move that causes Physical damage and stuns the target. Damage and duration increased per combo point:\r\n\r\n 1 point : 260 damage, 1 sec\r\n 2 points: 520 damage, 2 sec\r\n 3 points: 781 damage, 3 sec\r\n 4 points: 1,040 damage, 4 sec\r\n 5 points: 1,301 damage, 5 sec",132134],"102342":["Ironbark","","The target's skin becomes as tough as Ironwood, reducing damage taken by 20% and increasing healing from your heal over time effects by 20% for 12 sec.",572025],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 582 Arcane damage and then an additional 5,365 Arcane damage over 16 sec.",136096],"212040":["Revitalize","","Returns all dead party members to life with 35% of maximum health and mana. Not castable in combat.",132125],"145205":["Efflorescence","","Grows a healing blossom at the target location, restoring 542 health to three injured allies within 10 yards every 1.5 sec for 30 sec. Limit 1.",134222],"197721":["Flourish","","Extends the duration of all of your heal over time effects on friendly targets within 60 yards by 8 sec, and increases the rate of your heal over time effects by 100% for 8 sec.",538743],"29166":["Innervate","","Infuse a friendly healer with energy, allowing them to cast spells without spending mana for 10 sec.\r\n\r\nIf cast on somebody else, you gain the effect at 50% effectiveness.",136048],"326446":["Empower Bond","Kyrian","Empower the bond for 10 sec:\r\n\r\n\r\n\r\n|cFFFFFFFFDamager Partner|r\r\nThey energize you, granting you 20% of their damage as additional Arcane damage, healing, or absorption.",3528282],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"164862":["Flap","","You flap your wings, slowing your falling speed.",132925],"102351":["Cenarion Ward","","Protects a friendly target for 30 sec. Any damage taken will consume the ward and heal the target for 9,743 over 8 sec.",132137],"319454":["Heart of the Wild","Talent","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFFeral:|r Damage of your Feral abilities increased by 30%, and critical strikes with attacks that generate a combo point generate an additional combo point.\r\n",135879],"33917":["Mangle","","Mangle the target for 1,785 Physical damage.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 12 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3461503],"114282":["Treant Form","Shapeshift","Shapeshift into Treant Form.",132145],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 100% health and at least 20% mana. Castable in combat.",136080],"132158":["Nature's Swiftness","","Your next Regrowth, Rebirth, or Entangling Roots is instant, free, castable in all forms, and heals for an additional 100%.",136076],"774":["Rejuvenation","","Heals the target for 5,146 over 15 sec.",136081],"58984":["Shadowmeld","Racial","Activate to slip into the shadows, reducing the chance for enemies to detect your presence. Lasts until cancelled or upon moving. Any threat is restored versus enemies still in combat upon cancellation of this effect.",132089],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"210053":["Mount Form","Shapeshift","Shapeshift into a mountable travel form, increasing movement speed by 40%. Also protects the caster from Polymorph effects. Only usable outdoors.\r\n\r\nThe act of shapeshifting frees the caster of movement impairing effects.",1394966]},"talent":{"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFFeral:|r Damage of your Feral abilities increased by 30%, and critical strikes with attacks that generate a combo point generate an additional combo point.\r\n",135879],"102359":["Mass Entanglement","","Roots the target and all enemies within 15 yards in place for 30 sec. Damage may interrupt the effect. Usable in all shapeshift forms.",538515],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"102351":["Cenarion Ward","","Protects a friendly target for 30 sec. Any damage taken will consume the ward and heal the target for 9,743 over 8 sec.",132137],"50464":["Nourish","","Heals a friendly target for 4,516. Receives triple bonus from |cffffffffMastery: Harmony|r.",236162],"197721":["Flourish","","Extends the duration of all of your heal over time effects on friendly targets within 60 yards by 8 sec, and increases the rate of your heal over time effects by 100% for 8 sec.",538743],"33891":["Incarnation: Tree of Life","","Shapeshift into the Tree of Life, increasing healing done by 15%, increasing armor by 120%, and granting protection from Polymorph effects. Functionality of Rejuvenation, Wild Growth, Regrowth, and Entangling Roots is enhanced.\r\n\r\nLasts 30 sec. You may shapeshift in and out of this form for its duration.",236157],"203651":["Overgrowth","","Apply Lifebloom, Rejuvenation, Wild Growth, and Regrowth's heal over time effect to an ally.",1408836],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059]}},"Guardian":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 507 damage\r\n 2 points: 1,014 damage\r\n 3 points: 1,522 damage\r\n 4 points: 2,029 damage\r\n 5 points: 2,536 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 45%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"102793":["Ursol's Vortex","","Conjures a vortex of wind for 10 sec at the destination, reducing the movement speed of all enemies within 8 yards by 50%. The first time an enemy attempts to leave the vortex, winds will pull that enemy back to its center. Usable in all shapeshift forms.",571588],"6795":["Growl","","Taunts the target to attack you.",132270],"325727":["Adaptive Swarm","Necrolord","Command a swarm that heals 4,976 or deals 4,738 Shadow damage over 12 sec to a target, and increases the effectiveness of your periodic effects on them by 25%.\r\n\r\nUpon expiration, finds a new target, preferring to alternate between friend and foe up to 3 times.",3578197],"127757":["Charm Woodland Creature","","Allows the Druid to befriend an ambient creature, which will follow the Druid for 1 |4hour:hrs;.",254857],"5221":["Shred","","Shred the target, causing 1,218 Physical damage to the target.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.\r\n\r\nLand speed increased when used out of combat. This effect is disabled in battlegrounds and arenas.",132144],"192081":["Ironfur","","Increases armor by 1,463 for 7 sec. Multiple uses of this ability may overlap.",1378702],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"5176":["Wrath","","Hurl a ball of energy at the target, dealing 1,467 Nature damage.",535045],"22842":["Frenzied Regeneration","","Heals you for 32% health over 3 sec, and increases healing received by 20%.",132091],"1850":["Dash","","Shift into Cat Form and increase your movement speed by 60% while in Cat Form for 10 sec.",132120],"102558":["Incarnation: Guardian of Ursoc","Talent, Shapeshift","An improved Bear Form that grants the benefits of Berserk, causes Mangle to hit up to 3 targets, and increases maximum health by 30%.\r\n\r\nLasts 30 sec. You may freely shapeshift in and out of this improved Bear Form for its duration.",571586],"8936":["Regrowth","","Heals a friendly target for 6,156 and another 1,911 over 12 sec. Initial heal has a 40% increased chance for a critical effect if the target is already affected by Regrowth.",136085],"18562":["Swiftmend","","Consumes a Regrowth, Wild Growth, or Rejuvenation effect to instantly heal an ally for 17,189.",134914],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"33917":["Mangle","","Mangle the target for 1,551 Physical damage. Deals 20% additional damage against bleeding targets.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"106898":["Stampeding Roar","","Shift into Bear Form and let loose a wild roar, increasing the movement speed of all friendly players within 15 yards by 60% for 8 sec.",464343],"106839":["Skull Bash","","You charge and bash the target's skull, interrupting spellcasting and preventing any spell in that school from being cast for 4 sec.",236946],"61336":["Survival Instincts","","Reduces all damage you take by 50% for 6 sec.",236169],"48438":["Wild Growth","","Heals up to 5 injured allies within 30 yards of the target for 6,072 over 7 sec. Healing starts high and declines over the duration.",236153],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"213764":["Swipe","","Swipe nearby enemies, inflicting Physical damage. Damage varies by shapeshift form.",134296],"774":["Rejuvenation","","Heals the target for 10,426 over 15 sec.",136081],"324631":["Fleshcraft","Necrolord","Form a shield of flesh and bone over 3 sec that absorbs damage equal to 40% of your maximum health for 2 min.\r\n\r\nWhile channeling, your damage taken is reduced by 20%.\r\n\r\n|cFFFFFFFFPassive:|r Moving near an enemy's corpse consumes their essence to reduce Fleshcraft's cooldown by 1 sec.",3586267],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 508 Arcane damage and then an additional 4,397 Arcane damage over 16 sec.",136096],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"106832":["Thrash","","Thrash all nearby enemies, dealing immediate physical damage and periodic bleed damage. Damage varies by shapeshift form.",451161],"2782":["Remove Corruption","","Nullifies corrupting effects on the friendly target, removing all Curse and Poison effects.",135952],"164862":["Flap","","You flap your wings, slowing your falling speed.",132925],"6807":["Maul","","Maul the target for 2,626 Physical damage.",132136],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 12 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3637374],"114282":["Treant Form","Shapeshift","Shapeshift into Treant Form.",132145],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 100% health and at least 20% mana. Castable in combat.",136080],"99":["Incapacitating Roar","","Shift into Bear Form and invoke the spirit of Ursol to let loose a deafening roar, incapacitating all enemies within 10 yards for 3 sec. Damage will cancel the effect.",132121],"193753":["Dreamwalk","","Teleports the caster to the Emerald Dreamway.\r\n\r\nCasting Dreamwalk again while in the Emerald Dreamway will return you back to near your departure point.",135763],"58984":["Shadowmeld","Racial","Activate to slip into the shadows, reducing the chance for enemies to detect your presence. Lasts until cancelled or upon moving. Any threat is restored versus enemies still in combat upon cancellation of this effect.",132089],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"210053":["Mount Form","Shapeshift","Shapeshift into a mountable travel form, increasing movement speed by 40%. Also protects the caster from Polymorph effects. Only usable outdoors.\r\n\r\nThe act of shapeshifting frees the caster of movement impairing effects.",1394966]},"talent":{"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFRestoration:|r Healing of your Restoration spells increased by 30%, and mana costs reduced by 50%.\r\n",135879],"102359":["Mass Entanglement","","Roots the target and all enemies within 15 yards in place for 30 sec. Damage may interrupt the effect. Usable in all shapeshift forms.",538515],"155835":["Bristling Fur","","Bristle your fur, causing you to generate Rage based on damage taken for 8 sec.",1033476],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"102558":["Incarnation: Guardian of Ursoc","","An improved Bear Form that grants the benefits of Berserk, causes Mangle to hit up to 3 targets, and increases maximum health by 30%.\r\n\r\nLasts 30 sec. You may freely shapeshift in and out of this improved Bear Form for its duration.",571586],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"80313":["Pulverize","","A devastating blow that consumes 2 stacks of your Thrash on the target to deal 2,977 Physical damage and reduce the damage they deal to you by 35% for 10 sec.",1033490],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059]}}},"ridingSkill":5},"Zaffemon-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Zaffrior-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Egarots-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":3},"Fazzeka-Draenor":{"kbConfig":{"addon":"Dominos"},"ridingSkill":1},"Zaffonk-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzlink-Kor'gall":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","CLICK DominosActionButton19:HOTKEY":"5","CLICK DominosActionButton21:HOTKEY":"N","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton18:HOTKEY":"SHIFT-H","CLICK DominosActionButton22:HOTKEY":"SHIFT-MOUSEWHEELDOWN","BONUSACTIONBUTTON8":"CTRL-8","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","ACTIONBUTTON3":"3","CLICK DominosActionButton16:HOTKEY":"T","BONUSACTIONBUTTON7":"CTRL-7","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","CLICK DominosActionButton14:HOTKEY":"H","ACTIONBUTTON10":"BUTTON5","BONUSACTIONBUTTON6":"CTRL-6","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON1":"SHIFT-G","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR3BUTTON8":"8","CLICK DominosActionButton8:HOTKEY":"BUTTON4","BONUSACTIONBUTTON2":"CTRL-2","MULTIACTIONBAR4BUTTON3":"SHIFT-B","CLICK DominosActionButton1:HOTKEY":"4","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","MULTIACTIONBAR1BUTTON3":"`","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","MULTIACTIONBAR1BUTTON2":"G","CLICK DominosActionButton12:HOTKEY":"6","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","ACTIONBUTTON7":"B","CLICK DominosActionButton15:HOTKEY":"\\","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","ACTIONBUTTON6":"R"},"addon":"Dominos"},"item":{"109076":["Goblin Glider Kit",133632,"Consumable"],"188152":["Gateway Control Shard",607513,"Miscellaneous"],"171286":["Embalmer's Oil",463544,"Consumable"],"187816":["Irresistible Goop",134005,"Quest"],"112384":["Reflecting Prism",1033182,"Consumable"],"172051":["Steak a la Mode",3671904,"Consumable"],"6948":["Hearthstone",134414,"Miscellaneous"],"190384":["Eternal Augment Rune",4224736,"Consumable"],"171276":["Spectral Flask of Power",3566840,"Consumable"],"132514":["Auto-Hammer",1405803,"Consumable"],"173049":["Tome of the Still Mind",3717418,"Consumable"],"187603":["The Mad Duke's Tea",651601,"Consumable"],"171285":["Shadowcore Oil",463543,"Consumable"],"173859":["Ethereal Pomegranate",133999,"Consumable"],"171272":["Potion of Spiritual Clarity",3566828,"Consumable"],"171268":["Spiritual Mana Potion",3566858,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"177278":["Phial of Serenity",463534,"Consumable"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"]},"kb":{"Restoration":{"53":"spell:6196","77":"spell:546","73":"macro:17","63":"spell:52127","93":"item:132514","83":"macro:23","67":"macro:129","57":"spell:196840","111":"spell:556","17":"spell:79206","13":"spell:51505","23":"spell:2008","76":"spell:8143","86":"item:171276","62":"macro:124","72":"macro:130","82":"macro:22","92":"item:172051","56":"spell:198103","66":"spell:188443","16":"macro:134","12":"macro:133","22":"spell:108280","32":"item:113509","71":"spell:2645","61":"macro:131","51":"spell:192106","75":"macro:19","65":"macro:38","55":"item:177278","45":"item:187603","81":"macro:29","59":"item:112384","49":"spell:318038","39":"macro:25","29":"flyout:220","89":"item:171285","79":"macro:3","69":"spell:198838","1":"spell:61295","3":"spell:188196","2":"spell:188389","19":"spell:2825","4":"spell:8004","7":"spell:1064","6":"macro:125","9":"spell:108271","15":"spell:77130","31":"item:173859","21":"macro:132","11":"macro:128","70":"spell:77472","40":"item:109076","50":"spell:73899","54":"item:187816","64":"spell:312411","80":"item:188152","88":"item:171286","110":"item:6948","68":"spell:16191","78":"macro:122","100":"spell:4036","97":"spell:2259","91":"item:173049","87":"macro:7","85":"item:190384","18":"spell:51514","43":"macro:121","109":"item:110560","14":"spell:370","24":"spell:212048","41":"item:171268","5":"spell:974","20":"macro:127","8":"spell:157153","42":"item:171272","10":"macro:126"}},"macro":{"127":["kick",136018,"#showtooltip\n/stopcasting\n/use [@focus,exists,harm][@target] Wind Shear\n"],"133":["wall",134400,"#showtooltip\n/cast [@cursor,talent:4/2] Earthen Wall Totem\n/cast [@cursor,talent:4/3] Ancestral Protection Totem\n"],"38":["trinket",610679,"#showtooltip\n/use 13\n"],"132":["stun",136013,"#showtooltip\n/cast [@cursor] Capacitor Totem\n"],"122":["dismiss ele",136024,"#show Earth Elemental\n/click TotemFrameTotem1 RightButton\n/click TotemFrameTotem2 RightButton\n/petdismiss\n"],"126":["healing rain",136037,"#showtooltip\n/cast [@cursor] Healing Rain\n"],"125":["frost shock",135849,"#showtooltip Frost Shock\n/cast [@mouseover, harm, nodead][] Frost Shock\n"],"130":["slow",136102,"#showtooltip\n/cast [@cursor] Earthbind Totem\n"],"3":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"129":["root",134400,"#showtooltip\n/cast [@cursor] Earthgrab Totem\n"],"19":["cov2",134400,"#showtooltip\n/cast Soulshape\n/cast Summon Steward\n/cast [@cursor] Door of Shadows\n/cast Fleshcraft\n"],"134":["wellspring/ascen",135791,"#showtooltip\n/cast [talent:7/2] Wellspring\n/cast [talent:7/3] Ascendance\n"],"121":["ank",451167,"#showtooltip\n/cast Reincarnation\n"],"131":["speed",134400,"#showtooltip\n/cast [@cursor] Wind Rush Totem\n"],"25":["health2",134400,"#showtooltip Cosmic Healing Potion\n/cast Healthstone\n/cast Cosmic Healing Potion\n"],"124":["ele",136024,"#showtooltip\n/cast Earth Elemental\n/target Greater Earth Elemental\n/focus\n/targetlasttarget\n"],"128":["link",237586,"#showtooltip\n/cast [@cursor] Spirit Link Totem\n"],"17":["cov1 sham",3565451,"#showtooltip\n/cast [@cursor] Vesper Totem\n/cast Chain Harvest\n/cast Primordial Wave\n/cast Fae Transfusion\n"],"29":["res",3610508,"#showtooltip\n/use [@mouseover] Disposable Spectrophasic Reanimator\n"],"7":["armour kit",3528447,"#showtooltip\n/use Heavy Desolate Armor Kit\n/use 5\n"],"22":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"23":["focus clear",134400,"/clearfocus\n"]},"ridingSkill":5,"spell":{"Restoration":{"base":{"2484":["Earthbind Totem","","Summons an Earth Totem with 1,533 health at the target location for 20 sec that slows the movement speed of enemies within 10 yards by 50%.",136102],"6196":["Far Sight","","Changes your viewpoint to the targeted location for 1 min.",136034],"57994":["Wind Shear","","Disrupts the target's concentration with a burst of wind, interrupting spellcasting and preventing any spell in that school from being cast for 3 sec.",136018],"312372":["Return to Camp","Racial","Return to your camp. ",3193420],"974":["Earth Shield","","Protects the target with an earthen shield, increasing your healing on them by 20% and healing them for 1,353 when they take damage. This heal can only occur once every few seconds. Maximum 9 charges.\r\n\r\nEarth Shield can only be placed on one target at a time. Only one Elemental Shield can be active on the Shaman at a time.",136089],"188443":["Chain Lightning","","Hurls a lightning bolt at the enemy, dealing 4,006 Nature damage and then jumping to additional nearby enemies. Affects 3 total targets.",136015],"370":["Purge","","Purges the enemy target, removing 1 beneficial Magic effect.",136075],"192058":["Capacitor Totem","","Summons a totem at the target location that gathers electrical energy from the surrounding air and explodes after 2 sec, stunning all enemies within 8 yards for 3 sec.",136013],"108271":["Astral Shift","","Shift partially into the elemental planes, taking 40% less damage for 12 sec.",538565],"2825":["Bloodlust","","Increases haste by 30% for all party and raid members for 40 sec.\r\n\r\nAllies receiving this effect will become Sated and unable to benefit from Bloodlust or Time Warp again for 10 min.",136012],"77472":["Healing Wave","","An efficient wave of healing energy that restores 9,270 of a friendly target’s health.",136043],"324739":["Summon Steward","Kyrian","Call your steward to bring you a Phial of Serenity that can be consumed to restore 20% health and remove all Curse, Disease, Poison, and Bleed effects.\r\n\r\nYour Steward additionally offers access to a selection of useful amenities for 4 min.",3586266],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2645":["Ghost Wolf","","Turn into a Ghost Wolf, increasing movement speed by 30% and preventing movement speed from being reduced below 100%.",136095],"77130":["Purify Spirit","","Removes all Curse and Magic effects from a friendly target.",236288],"2008":["Ancestral Spirit","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Cannot be cast when in combat.",136077],"196840":["Frost Shock","","Chills the target with frost, causing 2,838 Frost damage and reducing the target's movement speed by 50% for 6 sec.",135849],"312425":["Rummage Your Bag","Racial","Change the contents of your Bag of Tricks. Now where did you put that...?",3193422],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"108280":["Healing Tide Totem","","Summons a totem at your feet for 12 sec, which pulses every 1.7 sec, healing all party or raid members within 40 yards for 1054.5.",538569],"52127":["Water Shield","","The caster is surrounded by globes of water, granting 50 mana per 5 sec. When a melee attack hits the caster, the caster regains 2% of their mana. This effect can only occur once every few seconds. \r\n\r\nOnly one of your Elemental Shields can be active on you at once.",132315],"114052":["Ascendance","","Transform into a Water Ascendant, duplicating all healing you deal for 15 sec and immediately healing for 27,070. Ascendant healing is distributed evenly among allies within 20 yds.",135791],"16191":["Mana Tide Totem","","Summons a Mana Tide Totem at the feet of the caster for 8 sec, granting 100% increased mana regeneration to allies within 20 yds.",135861],"312411":["Bag of Tricks","Racial","Pull your chosen trick from the bag and use it on target enemy or ally. Enemies take 5,793 damage, while allies are healed for 8,690. ",3193416],"8143":["Tremor Totem","","Summons an Earth Totem with 5 health at the feet of the caster that shakes the ground around it for 10 sec, removing Fear, Charm and Sleep effects from party and raid members within 30 yards.",136108],"51514":["Hex","Frog","Transforms the enemy into a frog for 1 min. While hexed, the victim is incapacitated, and cannot attack or cast spells. Damage may cancel the effect. Limit 1. Only works on Humanoids and Beasts.",237579],"212048":["Ancestral Vision","","Returns all dead party members to life with 35% of maximum health and mana. Cannot be cast when in combat.",237576],"79206":["Spiritwalker's Grace","","Calls upon the guidance of the spirits for 15 sec, permitting movement while casting Shaman spells. Castable while casting.",451170],"51505":["Lava Burst","","Hurls molten lava at the target, dealing 4,818 Fire damage. Lava Burst will always critically strike if the target is affected by Flame Shock.",237582],"1064":["Chain Heal","","Heals the friendly target for 6,489, then jumps to heal the 3 most injured nearby allies. Healing is reduced by 30% with each jump.",136042],"73920":["Healing Rain","","Blanket the target area in healing rains, restoring 5,481 health to up to 6 allies over 10 sec.",136037],"188196":["Lightning Bolt","","Hurls a bolt of lightning at the target, dealing 4,280 Nature damage.",136048],"546":["Water Walking","","Allows the friendly target to walk across water for 10 min. Damage will cancel the effect.",135863],"61295":["Riptide","","Restorative waters wash over a friendly target, healing them for 5,253 and an additional 4,665 over 18 sec.",252995],"98008":["Spirit Link Totem","","Summons a totem at the target location for 6 sec, which reduces damage taken by all party and raid members within 10 yards by 10%. Immediately and every 1 sec, the health of all affected players is redistributed evenly.",237586],"8004":["Healing Surge","","A quick surge of healing energy that restores 7,664 of a friendly target's health.",136044],"157153":["Cloudburst Totem","","Summons a totem at your feet for 15 sec that collects power from all of your healing spells. When the totem expires or dies, the stored power is released, healing all injured allies within 40 yards for 30% of all healing done while it was active, divided evenly among targets.\r\n\r\nCasting this spell a second time recalls the totem and releases the healing.",971076],"556":["Astral Recall","","Yanks you through the twisting nether back to Ring of Fates. Speak to an Innkeeper in a different place to change your home location.",136010],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3642581],"198103":["Earth Elemental","","Calls forth a Greater Earth Elemental to protect you and your allies for 1 min.",136024],"318038":["Flametongue Weapon","Weapon Imbue","Imbue your weapon with the element of Fire for 1 |4hour:hrs;, causing each of your attacks to deal 21 additional Fire damage.",135814],"73899":["Primal Strike","","An instant weapon strike that causes 200 Physical damage.",460956],"188389":["Flame Shock","","Sears the target with fire, causing 878 Fire damage and then an additional 5,382 Fire damage over 18 sec.\r\n\r\nFlame Shock can be applied to a maximum of 6 targets.",135813],"324386":["Vesper Totem","Kyrian","Summon a totem at the target location for 30 sec. Your next 3 damage spells or abilities will cause the totem to radiate 2,575 Arcane damage to up to 6 enemies near the totem, and your next 3 healing spells will heal up to 6 allies near the totem for 2,812 health.\r\n\r\nCasting this ability again while the totem is active will relocate the totem.",3565451],"312370":["Make Camp","Racial","Make a camp at this location. Can only be used outdoors. ",3193418],"192106":["Lightning Shield","","Surround yourself with a shield of lightning for 30 min.\r\n\r\nMelee attackers have a 100% chance to suffer 676 Nature damage.\r\n\r\nOnly one Elemental Shield can be active on the Shaman at a time.",136051]},"talent":{"207399":["Ancestral Protection Totem","","Summons a totem at the target location for 30 sec. All allies within 20 yards of the totem gain 10% increased health. If an ally dies, the totem will be consumed to allow them to Reincarnate with 20% health and mana.\r\n\r\nCannot reincarnate an ally who dies to massive damage.",136080],"207778":["Downpour","","A burst of water at the target location heals up to six injured allies within 12 yards for 5,408.\r\n\r\nCooldown increased by 5 sec for each target effectively healed.",1698701],"192077":["Wind Rush Totem","","Summons a totem at the target location for 15 sec, continually granting all allies who pass within 10 yards 60% increased movement speed for 5 sec.",538576],"73685":["Unleash Life","","Unleashes elemental forces of Life, healing a friendly target for 5,871 and increasing the effect of the Shaman's next direct heal by 35%.",462328],"320746":["Surge of Earth","","Consume up to 3 charges of Earth Shield to heal up to 3 allies near your Earth Shield target for 3,032 per charge consumed.",2101174],"114052":["Ascendance","","Transform into a Water Ascendant, duplicating all healing you deal for 15 sec and immediately healing for 27,070. Ascendant healing is distributed evenly among allies within 20 yds.",135791],"51485":["Earthgrab Totem","","Summons a totem at the target location for 20 sec. The totem pulses every 2 sec, rooting all enemies within 8 yards for 8 sec. Enemies previously rooted by the totem instead suffer 50% movement speed reduction.",136100],"197995":["Wellspring","","Creates a surge of water that flows forward, healing friendly targets in a wide arc in front of you for 5,871.",893778],"198838":["Earthen Wall Totem","","Summons a totem with 76,660 health for 15 sec. 933 damage from each attack against allies within 10 yards of the totem is redirected to the totem.",136098],"157153":["Cloudburst Totem","","Summons a totem at your feet for 15 sec that collects power from all of your healing spells. When the totem expires or dies, the stored power is released, healing all injured allies within 40 yards for 30% of all healing done while it was active, divided evenly among targets.\r\n\r\nCasting this spell a second time recalls the totem and releases the healing.",971076]}}}},"Fazzaman-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzoll-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","CLICK DominosActionButton19:HOTKEY":"5","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton18:HOTKEY":"SHIFT-H","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","CLICK DominosActionButton21:HOTKEY":"N","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","BONUSACTIONBUTTON1":"CTRL-1","CLICK DominosActionButton16:HOTKEY":"T","CLICK DominosActionButton15:HOTKEY":"\\","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","CLICK DominosActionButton14:HOTKEY":"H","ACTIONBUTTON10":"BUTTON5","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","CLICK DominosActionButton12:HOTKEY":"6","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","MULTIACTIONBAR1BUTTON1":"SHIFT-G","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","CLICK DominosActionButton8:HOTKEY":"BUTTON4","BONUSACTIONBUTTON2":"CTRL-2","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton1:HOTKEY":"4","MULTIACTIONBAR4BUTTON3":"SHIFT-B","MULTIACTIONBAR1BUTTON3":"`","MULTIACTIONBAR3BUTTON8":"8","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR1BUTTON2":"G","ACTIONBUTTON4":"C","BONUSACTIONBUTTON6":"CTRL-6","ACTIONBUTTON7":"B","BONUSACTIONBUTTON7":"CTRL-7","BONUSACTIONBUTTON10":"CTRL-0","ACTIONBUTTON3":"3","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","ACTIONBUTTON6":"R"},"addon":"Dominos"},"item":{"178742":["Bottled Flayedwing Toxin",1385268,"Armor"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"178715":["Mistcaller Ocarina",1716865,"Armor"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"],"5512":["Healthstone",538745,"Consumable"],"180170":["Pulsing Animacone",3384483,"Consumable"],"6948":["Hearthstone",134414,"Miscellaneous"],"163784":["Seafoam Coconut Water",132807,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"]},"kb":{"Guardian":{"71":"macro:124","61":"spell:106898","73":"spell:323764","75":"spell:310143","65":"macro:23","67":"macro:130","39":"item:5512","99":"spell:106832","79":"macro:1","1":"spell:774","3":"macro:131","2":"macro:133","5":"spell:8921","4":"spell:213764","7":"macro:135","6":"spell:18562","9":"spell:22812","8":"spell:6807","17":"spell:61336","13":"macro:129","21":"macro:134","33":"spell:193753","60":"spell:33786","70":"macro:122","62":"spell:1850","72":"spell:783","64":"spell:26297","10":"macro:132","110":"item:6948","12":"spell:99","76":"spell:339","19":"spell:20484","15":"spell:2782","101":"spell:22842","18":"spell:2637","111":"item:140192","14":"spell:2908","109":"item:110560","24":"spell:50769","16":"macro:126","97":"spell:2259","20":"spell:106839","100":"spell:192081","22":"spell:102558","32":"item:113509"}},"macro":{"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"129":["Moonfire/Rake",136096,"#showtooltip\n/cast [talent:3/2,stance:1] Moonfire; [talent:3/3,stance:1] Frenzied Regeneration; [talent:3/2,stance:2] Rake; [talent:3/3,stance:2] Moonfire; [stance:0/3/4/5/6/7] Moonfire\n"],"133":["Sunfire/Swipe",134400,"#showtooltip\n/cast [stance:0/3/4/5/6/7] Sunfire; [stance:1] Mangle; [stance:2] Swipe\n"],"131":["Solar/Shred/Mang",535045,"#showtooltip\n/cast [talent:3/3,stance:1] Thrash; [talent:3/2,stance:1] Swipe; [stance:2] Shred; [stance:0/1/2/3/4/5/6/7] Wrath\n"],"134":["vortex",571588,"#showtooltip\n/cast [@cursor] Ursol's Vortex\n"],"124":["cat",132115,"#showtooltip\n/cast Cat Form\n/cast Prowl\n"],"135":["wildgrowth",236153,"#showtooltip\n/cast [target=player] Wild Growth\n"],"126":["heal/charge",538771,"#showtooltip\n/cast [talent:2/2] Renewal\n/cast [talent:2/3] Wild Charge\n"],"132":["stun/mass root/d",132114,"#showtooltip\n/cast [talent:4/1] Mighty Bash\n/cast [talent:4/2] Mass Entanglement\n/cast [talent:4/3] Heart of the Wild(Talent)\n"],"122":["Bear/Growl",132276,"#showtooltip\n/cast [stance:0/2/3/4/5/6/7] Bear Form; [stance:1] Growl\n"],"130":["rip/ironfur",134400,"#showtooltip\n/cast [stance:1] Ironfur; [stance:2] Rip; [stance:4] Starsurge\n"],"23":["trinket",3159929,"#showtooltip\n/use 13\n"]},"ridingSkill":5,"spell":{"Guardian":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 347 damage\r\n 2 points: 694 damage\r\n 3 points: 1,041 damage\r\n 4 points: 1,388 damage\r\n 5 points: 1,736 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 45%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"102793":["Ursol's Vortex","","Conjures a vortex of wind for 10 sec at the destination, reducing the movement speed of all enemies within 8 yards by 50%. The first time an enemy attempts to leave the vortex, winds will pull that enemy back to its center. Usable in all shapeshift forms.",571588],"6795":["Growl","","Taunts the target to attack you.",132270],"5221":["Shred","","Shred the target, causing 833 Physical damage to the target.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.\r\n\r\nLand speed increased when used out of combat. This effect is disabled in battlegrounds and arenas.",132144],"26297":["Berserking","Racial","Increases your haste by 10% for 12 sec.",135727],"192081":["Ironfur","","Increases armor by 1,116 for 7 sec. Multiple uses of this ability may overlap.",1378702],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"5176":["Wrath","","Hurl a ball of energy at the target, dealing 1,004 Nature damage.",535045],"22842":["Frenzied Regeneration","","Heals you for 32% health over 3 sec, and increases healing received by 20%.",132091],"1850":["Dash","","Shift into Cat Form and increase your movement speed by 60% while in Cat Form for 10 sec.",132120],"102558":["Incarnation: Guardian of Ursoc","Talent, Shapeshift","An improved Bear Form that grants the benefits of Berserk, causes Mangle to hit up to 3 targets, and increases maximum health by 30%.\r\n\r\nLasts 30 sec. You may freely shapeshift in and out of this improved Bear Form for its duration.",571586],"8936":["Regrowth","","Heals a friendly target for 4,212 and another 1,235 over 12 sec. Initial heal has a 40% increased chance for a critical effect if the target is already affected by Regrowth.",136085],"18562":["Swiftmend","","Consumes a Regrowth, Wild Growth, or Rejuvenation effect to instantly heal an ally for 11,759.",134914],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"323764":["Convoke the Spirits","Night Fae","Call upon the Night Fae for an eruption of energy, channeling a rapid flurry of 16 Druid spells and abilities over 4 sec.\r\n\r\nYou will cast Wild Growth, Swiftmend, Moonfire, Wrath, Regrowth, Rejuvenation, Rake and Thrash on appropriate nearby targets, favoring your current shapeshift form.",3636839],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"33917":["Mangle","","Mangle the target for 1,061 Physical damage. Deals 20% additional damage against bleeding targets.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"106898":["Stampeding Roar","","Shift into Bear Form and let loose a wild roar, increasing the movement speed of all friendly players within 15 yards by 60% for 8 sec.",464343],"106839":["Skull Bash","","You charge and bash the target's skull, interrupting spellcasting and preventing any spell in that school from being cast for 4 sec.",236946],"61336":["Survival Instincts","","Reduces all damage you take by 50% for 6 sec.",236169],"310143":["Soulshape","Night Fae","Turn into a Vulpin, teleporting 15 yds forward and increasing your movement speed by 50%. You may reactivate Soulshape every few sec to teleport again.\r\n\r\nIncreases armor by 220% and Stamina by 45%.\r\n\r\nLasts 12 sec, or indefinitely while in a rest area.",3586268],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"193753":["Dreamwalk","","Teleports the caster to the Emerald Dreamway.\r\n\r\nCasting Dreamwalk again while in the Emerald Dreamway will return you back to near your departure point.",135763],"99":["Incapacitating Roar","","Shift into Bear Form and invoke the spirit of Ursol to let loose a deafening roar, incapacitating all enemies within 10 yards for 3 sec. Damage will cancel the effect.",132121],"774":["Rejuvenation","","Heals the target for 6,796 over 15 sec.",136081],"106832":["Thrash","","Thrash all nearby enemies, dealing immediate physical damage and periodic bleed damage. Damage varies by shapeshift form.",451161],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 12 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3461503],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 348 Arcane damage and then an additional 2,844 Arcane damage over 16 sec.",136096],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 100% health and at least 20% mana. Castable in combat.",136080],"2782":["Remove Corruption","","Nullifies corrupting effects on the friendly target, removing all Curse and Poison effects.",135952],"6807":["Maul","","Maul the target for 1,797 Physical damage.",132136],"213764":["Swipe","","Swipe nearby enemies, inflicting Physical damage. Damage varies by shapeshift form.",134296],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"48438":["Wild Growth","","Heals up to 5 injured allies within 30 yards of the target for 3,925 over 7 sec. Healing starts high and declines over the duration.",236153]},"talent":{"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFRestoration:|r Healing of your Restoration spells increased by 30%, and mana costs reduced by 50%.\r\n",135879],"102359":["Mass Entanglement","","Roots the target and all enemies within 15 yards in place for 30 sec. Damage may interrupt the effect. Usable in all shapeshift forms.",538515],"155835":["Bristling Fur","","Bristle your fur, causing you to generate Rage based on damage taken for 8 sec.",1033476],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"102558":["Incarnation: Guardian of Ursoc","","An improved Bear Form that grants the benefits of Berserk, causes Mangle to hit up to 3 targets, and increases maximum health by 30%.\r\n\r\nLasts 30 sec. You may freely shapeshift in and out of this improved Bear Form for its duration.",571586],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"80313":["Pulverize","","A devastating blow that consumes 2 stacks of your Thrash on the target to deal 2,037 Physical damage and reduce the damage they deal to you by 35% for 10 sec.",1033490]}}}},"Fazzbloom-Kor'gall":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR2BUTTON3":"SHIFT-\\","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","CLICK DominosActionButton18:HOTKEY":"SHIFT-H","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","ACTIONBUTTON6":"R","CLICK DominosActionButton21:HOTKEY":"N","BONUSACTIONBUTTON8":"CTRL-8","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton22:HOTKEY":"SHIFT-MOUSEWHEELDOWN","ACTIONBUTTON3":"3","CLICK DominosActionButton16:HOTKEY":"T","BONUSACTIONBUTTON7":"CTRL-7","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","CLICK DominosActionButton14:HOTKEY":"H","ACTIONBUTTON10":"BUTTON5","BONUSACTIONBUTTON6":"CTRL-6","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON1":"SHIFT-G","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR3BUTTON8":"8","CLICK DominosActionButton8:HOTKEY":"BUTTON4","BONUSACTIONBUTTON2":"CTRL-2","MULTIACTIONBAR4BUTTON3":"SHIFT-B","CLICK DominosActionButton1:HOTKEY":"4","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","MULTIACTIONBAR1BUTTON3":"`","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","MULTIACTIONBAR1BUTTON2":"G","CLICK DominosActionButton12:HOTKEY":"6","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","ACTIONBUTTON7":"B","CLICK DominosActionButton15:HOTKEY":"\\","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","CLICK DominosActionButton19:HOTKEY":"5"},"addon":"Dominos"},"item":{"177951":["Glimmerflies on Strings",2059632,"Miscellaneous"],"111820":["Swapblaster",308321,"Consumable"],"187802":["Cosmic Healing Potion",609884,"Consumable"],"166746":["Fire Eater's Hearthstone",2491064,"Miscellaneous"],"122293":["Trans-Dimensional Bird Whistle",1108079,"Miscellaneous"],"190958":["So'leah's Secret Technique",1028991,"Armor"],"86568":["Mr. Smite's Brass Compass",443379,"Miscellaneous"],"140309":["Prismatic Bauble",132872,"Miscellaneous"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"],"97919":["Whole-Body Shrinka'",801002,"Miscellaneous"],"171349":["Potion of Phantom Fire",3566829,"Consumable"],"184624":["Extra Sugary Fish Feast",1045940,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"173048":["Codex of the Still Mind",3717417,"Consumable"],"5512":["Healthstone",538745,"Consumable"],"182694":["Stylish Black Parasol",644385,"Miscellaneous"],"166779":["Transmorpher Beacon",2823166,"Miscellaneous"],"171276":["Spectral Flask of Power",3566840,"Consumable"],"173049":["Tome of the Still Mind",3717418,"Consumable"],"171273":["Potion of Spectral Intellect",3566836,"Consumable"],"109076":["Goblin Glider Kit",133632,"Consumable"],"188152":["Gateway Control Shard",607513,"Miscellaneous"],"49040":["Jeeves",254097,"Consumable"],"132516":["Gunshoes",1405809,"Consumable"],"172045":["Tenebrous Crown Roast Aspic",3671905,"Consumable"],"190333":["Jiro Circle of Song",4038100,"Miscellaneous"],"171263":["Potion of Soul Purity",3566865,"Consumable"],"171266":["Potion of the Hidden Spirit",3566868,"Consumable"],"171285":["Shadowcore Oil",463543,"Consumable"],"112384":["Reflecting Prism",1033182,"Consumable"],"109183":["World Shrinker",133867,"Consumable"],"165669":["Lunar Elder's Hearthstone",2491049,"Miscellaneous"],"180817":["Cypher of Relocation",442739,"Quest"],"130232":["Moonfeather Statue",467894,"Miscellaneous"],"190384":["Eternal Augment Rune",4224736,"Consumable"],"156833":["Katy's Stampwhistle",443375,"Consumable"],"104299":["Falling Flame",135821,"Miscellaneous"],"172233":["Drums of Deathly Ferocity",3528453,"Consumable"],"184312":["Borr-Geth's Fiery Brimstone",135826,"Miscellaneous"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"172043":["Feast of Gluttonous Hedonism",3760523,"Consumable"],"132514":["Auto-Hammer",1405803,"Consumable"],"171272":["Potion of Spiritual Clarity",3566828,"Consumable"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"162973":["Greatfather Winter's Hearthstone",2124576,"Miscellaneous"],"173859":["Ethereal Pomegranate",133999,"Consumable"],"184418":["Acrobatic Steward",3586266,"Miscellaneous"],"171268":["Spiritual Mana Potion",3566858,"Consumable"],"171286":["Embalmer's Oil",463544,"Consumable"],"177278":["Phial of Serenity",463534,"Consumable"],"122304":["Fandral's Seed Pouch",133668,"Miscellaneous"]},"kb":{"Guardian":{"53":"item:156833","43":"item:181333","73":"macro:13","63":"item:177278","93":"item:172051","37":"item:5512","67":"macro:129","57":"item:140309","112":"item:141605","111":"item:140192","114":"spell:4036","27":"item:140192","17":"spell:61336","13":"spell:22842","23":"spell:50769","42":"item:184312","52":"item:122304","62":"spell:1850","72":"spell:783","82":"spell:2637","46":"item:168651","56":"spell:193753","66":"macro:123","106":"spell:5211","16":"spell:102401","26":"item:165669","12":"spell:99","22":"spell:102558","32":"item:113509","71":"macro:124","61":"spell:106898","51":"item:112384","75":"macro:19","65":"macro:38","55":"summonpet:BattlePet-0-00000816ADA5","45":"item:171349","113":"spell:61336","59":"spell:8921","49":"item:112384","39":"item:187802","29":"item:120257","99":"spell:6807","107":"item:80610","79":"macro:3","69":"spell:197630","1":"spell:102401","9":"spell:22812","3":"spell:106832","2":"macro:132","19":"spell:20484","4":"spell:213764","7":"spell:213764","8":"spell:6807","25":"item:110560","15":"spell:2782","103":"spell:22812","31":"spell:193753","110":"item:162973","21":"macro:134","11":"spell:132469","5":"spell:8921","76":"spell:339","70":"macro:122","40":"item:169299","50":"item:109183","54":"macro:26","64":"spell:26297","14":"spell:2908","44":"item:172233","77":"spell:201664","58":"item:111820","28":"item:141605","38":"item:152497","88":"item:171285","98":"spell:33917","68":"spell:197628","102":"spell:192081","83":"spell:5215","91":"item:172043","105":"spell:106898","86":"item:171276","101":"spell:106839","18":"spell:33786","92":"item:172045","100":"spell:6795","109":"item:110560","85":"item:190384","97":"spell:2259","104":"spell:106832","20":"spell:106839","30":"item:156631","87":"macro:7","10":"spell:5211"},"Restoration":{"53":"spell:99","43":"item:190333","73":"macro:13","63":"spell:132158","47":"item:171266","37":"item:5512","67":"macro:129","57":"macro:4","112":"item:166746","115":"item:140192","111":"item:109076","114":"item:104299","119":"spell:4036","120":"item:180817","17":"spell:29166","13":"macro:128","77":"spell:8921","103":"item:182694","23":"spell:50769","107":"item:166779","52":"item:184418","62":"spell:252216","72":"spell:783","36":"item:188152","46":"spell:102793","56":"macro:20","66":"macro:123","97":"item:86568","106":"item:111820","76":"spell:339","92":"item:172045","83":"spell:164862","109":"item:110560","96":"item:49040","93":"item:173048","41":"item:171268","108":"macro:26","12":"spell:102342","85":"item:190384","75":"macro:19","35":"item:184624","39":"macro:25","102":"item:122293","118":"item:141605","5":"spell:102351","16":"macro:126","15":"spell:88423","110":"spell:2259","100":"item:97919","22":"spell:33891","32":"item:113509","71":"macro:124","95":"item:172233","51":"item:177278","117":"item:132516","65":"macro:38","55":"macro:27","45":"spell:145205","113":"spell:158765","59":"macro:2","49":"item:140309","116":"spell:818","29":"flyout:220","99":"item:156833","89":"item:171285","79":"macro:3","69":"spell:93402","1":"spell:774","94":"item:173049","3":"macro:130","2":"macro:132","19":"spell:20484","4":"spell:8936","7":"macro:136","6":"spell:18562","9":"spell:22812","8":"spell:33763","84":"spell:33786","34":"item:190958","31":"item:173859","21":"macro:134","11":"spell:740","90":"item:132514","60":"spell:114282","70":"spell:5487","74":"macro:133","50":"summonpet:BattlePet-0-00000A6F67D5","54":"item:112384","64":"spell:26297","80":"item:188152","44":"macro:135","48":"item:171263","58":"macro:23","40":"item:171273","38":"item:171349","88":"item:171286","98":"item:130232","68":"spell:197721","78":"spell:6795","81":"spell:197625","91":"item:172043","105":"item:177951","61":"spell:77764","101":"summonpet:BattlePet-0-00000816ADA5","18":"spell:2637","87":"macro:7","86":"item:171276","14":"spell:2908","24":"spell:212040","82":"macro:22","104":"item:184418","20":"macro:131","30":"spell:193753","42":"item:171272","10":"macro:125"}},"macro":{"136":["wildgrowth",236153,"#showtooltip\n/cast [target=player] Wild Growth\n"],"123":["bite/lunar",132127,"#showtooltip\n/cast [stance:2] Ferocious Bite; [stance:4] Starfire\n"],"133":["typhoon/maim",236170,"#showtooltip\n/cast [talent:3/1] Typhoon\n/cast [talent:3/2] Maim\n"],"126":["heal/charge",134400,"#showtooltip\n/cast [talent:2/2] Renewal\n/cast [talent:2/3] Wild Charge\n"],"130":["Solar/Shred/Mang",136231,"#showtooltip\n/cast [talent:3/3,stance:1] Thrash; [talent:3/2,stance:1] Swipe; [stance:2] Shred; [stance:0/1/2/3/4/5/6/7] Wrath\n"],"134":["vortex",571588,"#showtooltip\n/cast [@cursor] Ursol's Vortex\n"],"38":["trinket",1028991,"#showtooltip\n/use 13\n"],"132":["Sunfire/Swipe",134296,"#showtooltip\n/cast [stance:0/3/4/5/6/7] Sunfire; [stance:1] Mangle; [stance:2] Swipe\n"],"122":["Bear/Growl",132276,"#showtooltip\n/cast [stance:0/2/3/4/5/6/7] Bear Form; [stance:1] Growl\n"],"13":["cov1 druid",3636839,"#showtooltip\n/cast Convoke the Spirits\n/cast Kindred Spirits\n/cast Ravenous Frenzy\n/cast Adaptive Swarm\n"],"129":["rip/ironfur",134400,"#showtooltip\n/cast [stance:1] Ironfur; [stance:2] Rip; [stance:4] Starsurge\n"],"125":["efflo",134222,"#showtooltip\n/cast [@cursor] Efflorescence\n/cast Prismatic Bauble\n"],"128":["Moonfire/Rake",134400,"#showtooltip\n/cast [talent:3/2,stance:1] Moonfire; [talent:3/3,stance:1] Frenzied Regeneration; [talent:3/2,stance:2] Rake; [talent:3/3,stance:2] Moonfire; [stance:0/3/4/5/6/7] Moonfire\n"],"3":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"2":[".among",134400,"/run WeakAuras.ScanEvents(\"IMPOSTER_VOTE\", \"nil\")\n"],"19":["cov2",3586268,"#showtooltip\n/cast Soulshape\n/cast Summon Steward\n/cast [@cursor] Door of Shadows\n/cast Fleshcraft\n"],"4":[".extrabuttonCRAB",134400,"/click ExtraActionButton1\n/wm [@cursor]6\n"],"7":["armour kit",3528447,"#showtooltip\n/use Heavy Desolate Armor Kit\n/use 5\n"],"131":["stun/mass root/d",135879,"#showtooltip\n/cast [talent:4/1] Mighty Bash\n/cast [talent:4/2] Mass Entanglement\n/cast [talent:4/3] Heart of the Wild(Talent)\n"],"25":["health2",609884,"#showtooltip Cosmic Healing Potion\n/cast Healthstone\n/cast Cosmic Healing Potion\n"],"124":["cat",136116,"#showtooltip\n/cast Cat Form\n/cast Prowl\n"],"135":["wildcharge",134400,"#showtooltip\n/cleartarget\n/cast Wild Charge\n"],"26":["LUA",135900,"/run if GetCVar(\"ScriptErrors\")==\"1\" then SetCVar(\"ScriptErrors\",\"0\");print(\"Show LUA Errors: Off\");else SetCVar(\"ScriptErrors\",\"1\");print(\"Show LUA Errors: On\");end\n"],"20":["darcey",134400,"/target Lóthheals-Shatteredhand\n/cheer\n/targetlasttarget\n"],"27":["necro cancel",132099,"/cancelaura Forgeborne Reveries\n"],"22":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"23":["focus clear",134400,"/clearfocus\n"]},"spell":{"Guardian":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 246 damage\r\n 2 points: 492 damage\r\n 3 points: 738 damage\r\n 4 points: 984 damage\r\n 5 points: 1,229 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 25%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"6795":["Growl","","Taunts the target to attack you.",132270],"127757":["Charm Woodland Creature","","Allows the Druid to befriend an ambient creature, which will follow the Druid for 1 |4hour:hrs;.",254857],"5221":["Shred","","Shred the target, causing 590 Physical damage to the target.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.\r\n\r\nLand speed increased when used out of combat. This effect is disabled in battlegrounds and arenas.",132144],"26297":["Berserking","Racial","Increases your haste by 10% for 12 sec.",135727],"192081":["Ironfur","","Increases armor by 452 for 7 sec.",1378702],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"5176":["Wrath","","Hurl a ball of energy at the target, dealing 0 Nature damage.",535045],"197626":["Starsurge","","Launch a surge of stellar energies at the target, dealing 0 Astral damage, and empowering the damage bonus of any active Eclipse for its duration.",135730],"22842":["Frenzied Regeneration","","Heals you for 32% health over 3 sec, and increases healing received by 20%.",132091],"1850":["Dash","","Shift into Cat Form and increase your movement speed by 60% while in Cat Form for 10 sec.",132120],"102558":["Incarnation: Guardian of Ursoc","Talent, Shapeshift","An improved Bear Form that grants the benefits of Berserk, causes Mangle to hit up to 3 targets, and increases maximum health by 30%.\r\n\r\nLasts 30 sec. You may freely shapeshift in and out of this improved Bear Form for its duration.",571586],"8936":["Regrowth","","Heals a friendly target for 0 and another -0 over 12 sec. Initial heal has a 40% increased chance for a critical effect if the target is already affected by Regrowth. Usable while in Moonkin Form.",136085],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"323764":["Convoke the Spirits","Night Fae","Call upon the Night Fae for an eruption of energy, channeling a rapid flurry of 9 Druid spells and abilities over 3 sec.\r\n\r\nYou will cast Wild Growth, Swiftmend, Moonfire, Wrath, Regrowth, Rejuvenation, Rake and Thrash on appropriate nearby targets, favoring your current shapeshift form.",3636839],"5211":["Mighty Bash","","",132114],"33917":["Mangle","","Mangle the target for 648 Physical damage.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"197628":["Starfire","","Call down a burst of energy, causing 0 Arcane damage to the target, and -0 Arcane damage to all other enemies within 5 yards.",135753],"106898":["Stampeding Roar","","Shift into Bear Form and let loose a wild roar, increasing the movement speed of all friendly players within 23 yards by 60% for 10.6 sec.",464343],"106839":["Skull Bash","","You charge and bash the target's skull, interrupting spellcasting and preventing any spell in that school from being cast for 4 sec.",236946],"61336":["Survival Instincts","","Reduces all damage you take by 50% for 6 sec.",236169],"310143":["Soulshape","Night Fae","Turn into a Vulpin, teleporting 15 yds forward and increasing your movement speed by 50%. You may reactivate Soulshape every few sec to teleport again.\r\n\r\nLasts 12 sec, or indefinitely while in a rest area.",3586268],"210053":["Mount Form","Shapeshift","Shapeshift into a mountable travel form, increasing movement speed by 40%. Also protects the caster from Polymorph effects. Only usable outdoors.\r\n\r\nThe act of shapeshifting frees the caster of movement impairing effects.",1394966],"132469":["Typhoon","","Blasts targets within 20 yards in front of you with a violent Typhoon, knocking them back and dazing them for 6 sec. Usable in all shapeshift forms.",236170],"193753":["Dreamwalk","","Teleports the caster to the Emerald Dreamway.\r\n\r\nCasting Dreamwalk again while in the Emerald Dreamway will return you back to near your departure point.",135763],"99":["Incapacitating Roar","","Shift into Bear Form and invoke the spirit of Ursol to let loose a deafening roar, incapacitating all enemies within 15 yards for 3 sec. Damage will cancel the effect.",132121],"6807":["Maul","","Maul the target for 800 Physical damage.",132136],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 0 Arcane damage and then an additional 0 Arcane damage over 16 sec.",136096],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"164862":["Flap","","You flap your wings, slowing your falling speed.",132925],"197630":["Sunfire","","",236216],"2782":["Remove Corruption","","Nullifies corrupting effects on the friendly target, removing all Curse and Poison effects.",135952],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 12 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3566560],"114282":["Treant Form","Shapeshift","Shapeshift into Treant Form.",132145],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 100% health and at least 20% mana. Castable in combat.",136080],"106832":["Thrash","","Thrash all nearby enemies, dealing immediate physical damage and periodic bleed damage. Damage varies by shapeshift form.",451161],"197625":["Moonkin Form","","Shapeshift into Moonkin Form, increasing your armor by 125%, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",136036],"213764":["Swipe","","Swipe nearby enemies, inflicting Physical damage. Damage varies by shapeshift form.",134296],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771]},"talent":{"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFBalance:|r Damage of your Balance abilities increased by 30%, and Starsurge is instant.\r\n",135879],"102359":["Mass Entanglement","","",538515],"155835":["Bristling Fur","","",1033476],"5211":["Mighty Bash","","",132114],"102558":["Incarnation: Guardian of Ursoc","","An improved Bear Form that grants the benefits of Berserk, causes Mangle to hit up to 3 targets, and increases maximum health by 30%.\r\n\r\nLasts 30 sec. You may freely shapeshift in and out of this improved Bear Form for its duration.",571586],"252216":["Tiger Dash","","",1817485],"108238":["Renewal","","",136059],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"80313":["Pulverize","","",1033490]}},"Restoration":{"base":{"22568":["Ferocious Bite","","Finishing move that causes Physical damage per combo point and consumes up to 25 additional Energy to increase damage by up to 100%.\r\n\r\n 1 point : 937 damage\r\n 2 points: 1,874 damage\r\n 3 points: 2,812 damage\r\n 4 points: 3,749 damage\r\n 5 points: 4,686 damage",132127],"5487":["Bear Form","Shapeshift","Shapeshift into Bear Form, increasing armor by 220% and Stamina by 25%, granting protection from Polymorph effects, and increasing threat generation.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132276],"93402":["Sunfire","","A quick beam of solar light burns the enemy for 570 Nature damage and then an additional 3,966 Nature damage over 12 sec to the primary target and all enemies within 8 yards.",236216],"102793":["Ursol's Vortex","","Conjures a vortex of wind for 10 sec at the destination, reducing the movement speed of all enemies within 8 yards by 50%. The first time an enemy attempts to leave the vortex, winds will pull that enemy back to its center. Usable in all shapeshift forms.",571588],"6795":["Growl","","Taunts the target to attack you.",132270],"127757":["Charm Woodland Creature","","Allows the Druid to befriend an ambient creature, which will follow the Druid for 1 |4hour:hrs;.",254857],"5221":["Shred","","Shred the target, causing 2,250 Physical damage to the target.\r\n\r\n|cFFFFFFFFAwards 1 combo point.",136231],"783":["Travel Form","Shapeshift","Shapeshift into a travel form appropriate to your current location, increasing movement speed on land, in water, or in the air, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.\r\n\r\nLand speed increased when used out of combat. This effect is disabled in battlegrounds and arenas.",132144],"26297":["Berserking","Racial","Increases your haste by 10% for 12 sec.",135727],"192081":["Ironfur","","Increases armor by 452 for 7 sec.",1378702],"50769":["Revive","","Returns the spirit to the body, restoring a dead target to life with 35% of maximum health and mana. Not castable in combat.",132132],"5176":["Wrath","","Hurl a ball of energy at the target, dealing 2,532 Nature damage.",535045],"33763":["Lifebloom","","Heals the target for 10,560 over 15 sec. When Lifebloom expires or is dispelled, the target is instantly healed for 4,858.\r\n\r\nMay be active on one target at a time.",134206],"197626":["Starsurge","","Launch a surge of stellar energies at the target, dealing 7,102 Astral damage, and empowering the damage bonus of any active Eclipse for its duration.",135730],"210053":["Mount Form","Shapeshift","Shapeshift into a mountable travel form, increasing movement speed by 40%. Also protects the caster from Polymorph effects. Only usable outdoors.\r\n\r\nThe act of shapeshifting frees the caster of movement impairing effects.",1394966],"8936":["Regrowth","","Heals a friendly target for 6,089 and another 2,027 over 12 sec. Initial heal has a 40% increased chance for a critical effect if the target is already affected by Regrowth. Usable while in Moonkin Form.",136085],"18562":["Swiftmend","","Consumes a Regrowth, Wild Growth, or Rejuvenation effect to instantly heal an ally for 12,144.",134914],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"2637":["Hibernate","","Forces the enemy target to sleep for up to 40 sec. Any damage will awaken the target. Only one target can be forced to hibernate at a time. Only works on Beasts and Dragonkin.",136090],"323764":["Convoke the Spirits","Night Fae","Call upon the Night Fae for an eruption of energy, channeling a rapid flurry of 9 Druid spells and abilities over 3 sec.\r\n\r\nYou will cast Ferocious Bite, Shred, Tiger's Fury, Moonfire, Wrath, Regrowth, Rejuvenation, Rake and Thrash on appropriate nearby targets, favoring your current shapeshift form.",3636839],"77764":["Stampeding Roar","","Let loose a wild roar, increasing the movement speed of all friendly players within 23 yards by 60% for 10.6 sec.",464343],"33917":["Mangle","","Mangle the target for 2,470 Physical damage.\r\n\r\n|cFFFFFFFFGenerates 10 Rage.|r",132135],"88423":["Nature's Cure","","Cures harmful effects on the friendly target, removing all Magic, Curse, and Poison effects.",236288],"768":["Cat Form","Shapeshift","Shapeshift into Cat Form, increasing auto-attack damage by 40%, movement speed by 30%, granting protection from Polymorph effects, and reducing falling damage.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",132115],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"197628":["Starfire","","Call down a burst of energy, causing 3,836 Arcane damage to the target, and 1,309 Arcane damage to all other enemies within 5 yards.",135753],"774":["Rejuvenation","","Heals the target for 7,823 over 15 sec.",136081],"48438":["Wild Growth","","Heals up to 6 injured allies within 30 yards of the target for 4,599 over 7 sec. Healing starts high and declines over the duration.",236153],"310143":["Soulshape","Night Fae","Turn into a Vulpin, teleporting 15 yds forward and increasing your movement speed by 50%. You may reactivate Soulshape every few sec to teleport again.\r\n\r\nLasts 12 sec, or indefinitely while in a rest area.",3586268],"193753":["Dreamwalk","","Teleports the caster to the Emerald Dreamway.\r\n\r\nCasting Dreamwalk again while in the Emerald Dreamway will return you back to near your departure point.",135763],"212040":["Revitalize","","Returns all dead party members to life with 35% of maximum health and mana. Not castable in combat.",132125],"145205":["Efflorescence","","Grows a healing blossom at the target location, restoring 820 health to three injured allies within 10 yards every 1.5 sec for 30 sec. Limit 1.",134222],"740":["Tranquility","","Heals all allies within 45 yards for 10,383 over 6 sec. Each heal heals the target for another 242 over 8 sec, stacking.\r\n\r\nHealing increased by 100% when not in a raid.",136107],"29166":["Innervate","","Infuse a friendly healer with energy, allowing them to cast spells without spending mana for 10 sec.\r\n\r\nIf cast on somebody else, you gain the effect at 50% effectiveness.",136048],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"5215":["Prowl","","Shift into Cat Form and enter stealth.",514640],"339":["Entangling Roots","","Roots the target in place for 30 sec. Damage may cancel the effect.",136100],"164862":["Flap","","You flap your wings, slowing your falling speed.",132925],"20484":["Rebirth","","Returns the spirit to the body, restoring a dead target to life with 100% health and at least 20% mana. Castable in combat.",136080],"319454":["Heart of the Wild","Talent","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFBalance:|r Damage of your Balance abilities increased by 30%, and Starsurge is instant.\r\n",135879],"102342":["Ironbark","","The target's skin becomes as tough as Ironwood, reducing damage taken by 20% and increasing healing from your heal over time effects by 20% for 12 sec.",572025],"2908":["Soothe","","Soothes the target, dispelling all enrage effects.",132163],"22812":["Barkskin","","Your skin becomes as tough as bark, reducing all damage you take by 20% and preventing damage from delaying your spellcasts. Lasts 12 sec.\r\n\r\nUsable while stunned, frozen, incapacitated, feared, or asleep, and in all shapeshift forms.",136097],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",132116],"114282":["Treant Form","Shapeshift","Shapeshift into Treant Form.",132145],"8921":["Moonfire","","A quick beam of lunar light burns the enemy for 876 Arcane damage and then an additional 8,136 Arcane damage over 16 sec.",136096],"132158":["Nature's Swiftness","","Your next Regrowth, Rebirth, or Entangling Roots is instant, free, castable in all forms, and heals for an additional 100%.",136076],"197625":["Moonkin Form","","Shapeshift into Moonkin Form, increasing your armor by 125%, and granting protection from Polymorph effects.\r\n\r\nThe act of shapeshifting frees you from movement impairing effects.",136036],"197721":["Flourish","","Extends the duration of all of your heal over time effects on friendly targets within 60 yards by 8 sec, and increases the rate of your heal over time effects by 100% for 8 sec.",538743],"33786":["Cyclone","","Tosses the enemy target into the air, disorienting them but making them invulnerable for up to 6 sec. Only one target can be affected by your Cyclone at a time.",136022],"132469":["Typhoon","","Blasts targets within 20 yards in front of you with a violent Typhoon, knocking them back and dazing them for 6 sec. Usable in all shapeshift forms.",236170]},"talent":{"319454":["Heart of the Wild","","Abilities associated with your chosen Affinity are substantially empowered for 45 sec.\r\n\r\n|cFFFFFFFFBalance:|r Damage of your Balance abilities increased by 30%, and Starsurge is instant.\r\n",135879],"102359":["Mass Entanglement","","Roots the target and all enemies within 15 yards in place for 30 sec. Damage may interrupt the effect. Usable in all shapeshift forms.",538515],"5211":["Mighty Bash","","Invokes the spirit of Ursoc to stun the target for 4 sec. Usable in all shapeshift forms.",132114],"252216":["Tiger Dash","","Shift into Cat Form and increase your movement speed by 200%, reducing gradually over 5 sec.",1817485],"102351":["Cenarion Ward","","Protects a friendly target for 30 sec. Any damage taken will consume the ward and heal the target for 14,830 over 8 sec.",132137],"50464":["Nourish","","Heals a friendly target for 7,849. Receives triple bonus from |cffffffffMastery: Harmony|r.",236162],"197721":["Flourish","","Extends the duration of all of your heal over time effects on friendly targets within 60 yards by 8 sec, and increases the rate of your heal over time effects by 100% for 8 sec.",538743],"33891":["Incarnation: Tree of Life","","Shapeshift into the Tree of Life, increasing healing done by 15%, increasing armor by 120%, and granting protection from Polymorph effects. Functionality of Rejuvenation, Wild Growth, Regrowth, and Entangling Roots is enhanced.\r\n\r\nLasts 30 sec. You may shapeshift in and out of this form for its duration.",236157],"203651":["Overgrowth","","Apply Lifebloom, Rejuvenation, Wild Growth, and Regrowth's heal over time effect to an ally.",1408836],"102401":["Wild Charge","","Fly to a nearby ally's position.",538771],"108238":["Renewal","","Instantly heals you for 30% of maximum health. Usable in all shapeshift forms.",136059]}}},"ridingSkill":5},"Fazzadin-Doomhammer":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","CLICK DominosActionButton19:HOTKEY":"5","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton18:HOTKEY":"SHIFT-H","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton21:HOTKEY":"N","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON3":"3","CLICK DominosActionButton15:HOTKEY":"\\","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON10":"BUTTON5","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","BONUSACTIONBUTTON6":"CTRL-6","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON1":"SHIFT-G","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR3BUTTON8":"8","BONUSACTIONBUTTON2":"CTRL-2","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","MULTIACTIONBAR4BUTTON3":"SHIFT-B","CLICK DominosActionButton1:HOTKEY":"4","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","MULTIACTIONBAR1BUTTON3":"`","CLICK DominosActionButton8:HOTKEY":"BUTTON4","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","MULTIACTIONBAR1BUTTON2":"G","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","CLICK DominosActionButton12:HOTKEY":"6","ACTIONBUTTON7":"B","CLICK DominosActionButton14:HOTKEY":"H","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton16:HOTKEY":"T","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","ACTIONBUTTON6":"R"},"addon":"Dominos"},"item":{"171273":["Potion of Spectral Intellect",3566836,"Consumable"],"171286":["Embalmer's Oil",463544,"Consumable"],"172045":["Tenebrous Crown Roast Aspic",3671905,"Consumable"],"171266":["Potion of the Hidden Spirit",3566868,"Consumable"],"181468":["Veiled Augment Rune",134078,"Consumable"],"165802":["Noble Gardener's Hearthstone",2491065,"Miscellaneous"],"180170":["Pulsing Animacone",3384483,"Consumable"],"171285":["Shadowcore Oil",463543,"Consumable"],"171267":["Spiritual Healing Potion",3566860,"Consumable"],"171272":["Potion of Spiritual Clarity",3566828,"Consumable"],"172179":["Eternal Traveler's Hearthstone",3084684,"Miscellaneous"],"172233":["Drums of Deathly Ferocity",3528453,"Consumable"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"179992":["Shadespring Water",132827,"Consumable"],"132514":["Auto-Hammer",1405803,"Consumable"],"173049":["Tome of the Still Mind",3717418,"Consumable"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"5512":["Healthstone",538745,"Consumable"],"187508":["Trained Gromit Carrier",132599,"Consumable"],"113509":["Conjured Mana Bun",134029,"Consumable"],"171268":["Spiritual Mana Potion",3566858,"Consumable"],"171276":["Spectral Flask of Power",3566840,"Consumable"],"177278":["Phial of Serenity",463534,"Consumable"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"]},"kb":{"Protection":{"53":"spell:183435","43":"item:187508","51":"spell:465","75":"spell:324739","65":"macro:23","37":"item:171267","67":"spell:53600","57":"spell:10326","39":"item:177278","99":"spell:45357","79":"macro:1","1":"spell:204019","3":"spell:31935","2":"spell:275779","19":"item:177278","4":"spell:19750","7":"spell:1044","6":"spell:85673","9":"spell:31850","15":"spell:213644","13":"spell:115750","21":"spell:633","11":"spell:86659","23":"spell:7328","94":"item:171286","52":"spell:32223","62":"spell:642","50":"spell:317920","64":"spell:265221","56":"spell:121183","66":"spell:24275","32":"item:113509","111":"item:140192","110":"item:165802","73":"spell:304971","88":"item:171285","98":"spell:51005","97":"spell:2259","95":"item:172233","93":"item:172045","92":"item:132514","91":"item:173049","87":"macro:4","86":"item:171276","18":"spell:853","85":"item:181468","77":"spell:1022","109":"item:110560","71":"spell:190784","70":"spell:62124","112":"item:141605","20":"spell:96231","12":"spell:6940","22":"spell:31884","10":"spell:26573"},"Holy":{"71":"spell:190784","43":"item:187508","51":"spell:183435","41":"item:171268","65":"macro:23","55":"spell:121183","45":"item:171266","81":"spell:62124","10":"spell:26573","49":"spell:465","39":"item:171267","29":"item:187508","4":"spell:19750","89":"item:171285","79":"macro:1","8":"spell:20473","1":"spell:35395","13":"spell:115750","3":"spell:24275","2":"spell:275773","19":"item:177278","111":"item:140192","7":"spell:1044","6":"spell:85673","9":"spell:498","15":"spell:4987","40":"item:171273","17":"spell:214202","110":"item:172179","21":"spell:633","11":"spell:31821","23":"spell:7328","42":"item:171272","52":"spell:317920","62":"spell:642","50":"spell:32223","85":"item:181468","64":"macro:123","56":"spell:10326","94":"item:132514","93":"item:173049","31":"item:179992","5":"spell:53563","87":"macro:4","88":"item:171286","98":"spell:2259","76":"spell:183998","63":"item:5512","67":"spell:53600","70":"spell:82326","73":"macro:122","75":"spell:324739","101":"spell:51005","18":"spell:853","86":"item:171276","91":"item:172045","109":"item:110560","24":"spell:212056","16":"spell:85222","104":"spell:45357","20":"spell:1022","12":"spell:6940","22":"spell:31884","32":"item:113509"}},"macro":{"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"123":["fireblood stopca",1786406,"#showtooltip\n/stopcasting\n/cast Fireblood\n"],"122":["cov",3565448,"#showtooltip\n/cast [@mouseover] Divine Toll\n"],"4":["armour kit",3528447,"#showtooltip\n/use Heavy Desolate Armor Kit\n/use 5\n"],"23":["trinket",3717264,"#showtooltip\n/use 13\n"]},"ridingSkill":5,"spell":{"Protection":{"base":{"24275":["Hammer of Wrath","","Hurls a divine hammer that strikes an enemy for 2,514 Holy damage. Only usable on enemies that have less than 20% health, or during Avenging Wrath.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",613533],"85673":["Word of Glory","","Calls down the Light to heal a friendly target for 6,665.\r\n\r\n|cFFFFFFFFProtection:|r If cast on yourself, healing increased by up to 250% based on your missing health.",133192],"204019":["Blessed Hammer","","Throws a Blessed Hammer that spirals outward, dealing 209 Holy damage to enemies and reducing the next damage they deal to you by 582.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",535595],"53600":["Shield of the Righteous","","Slams enemies in front of you with your shield, causing 890 Holy damage, and increasing your Armor by 2,113 for 4.5 sec.",236265],"32223":["Crusader Aura","","Increases mounted speed by 20% for all party and raid members within 40 yards.",135890],"304971":["Divine Toll","Kyrian","Instantly cast Holy Shock, Avenger's Shield, or Judgment on up to 5 targets within 30 yds (based on your current specialization).",3565448],"6940":["Blessing of Sacrifice","","Blesses a party or raid member, reducing their damage taken by 30%, but you suffer 100% of damage prevented.\r\n\r\nLast 12 sec, or until transferred damage would cause you to fall below 20% health.",135966],"183435":["Retribution Aura","","When any party or raid member within 40 yards dies, you gain Avenging Wrath for 8 sec.",135889],"31850":["Ardent Defender","","Reduces all damage you take by 20% for 8 sec.\r\n\r\nWhile Ardent Defender is active, the next attack that would otherwise kill you will instead bring you to 20% of your maximum health.",135870],"213644":["Cleanse Toxins","","Cleanses a friendly target, removing all Poison and Disease effects.",135953],"324739":["Summon Steward","Kyrian","Call your steward to bring you a Phial of Serenity that can be consumed to restore 20% health and remove all Curse, Disease, Poison, and Bleed effects.\r\n\r\nYour Steward additionally offers access to a selection of useful amenities for 4 min.",3586266],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"265221":["Fireblood","Racial","Removes all poison, disease, curse, magic, and bleed effects and increases your Strength by 183 and an additional 61 for each effect removed. Lasts 8 sec. ",1786406],"190784":["Divine Steed","","Leap atop your Charger for 3 sec, increasing movement speed by 100%. Usable while indoors or in combat.",1360759],"10326":["Turn Evil","","The power of the Light compels an Undead, Aberration, or Demon target to flee for up to 40 sec. Damage may break the effect. Only one target can be turned at a time.",571559],"121183":["Contemplation","","Allows you a moment of peace as you kneel in quiet contemplation to ponder the nature of the Light.",134916],"642":["Divine Shield","","Grants immunity to all damage and harmful effects for 8 sec. \r\n\r\nCannot be used if you have Forbearance. Causes Forbearance for 30 sec.",524354],"26573":["Consecration","","Consecrates the land beneath you, causing 943 Holy damage over 12 sec to enemies who enter the area. Limit 1.",135926],"1044":["Blessing of Freedom","","Blesses a party or raid member, granting immunity to movement impairing effects for 8 sec.",135968],"31935":["Avenger's Shield","","Hurls your shield at an enemy target, dealing 1,098 Holy damage, interrupting and silencing the non-Player target for 3 sec, and then jumping to 2 additional nearby enemies.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",135874],"265225":["Mole Machine","Racial","While outdoors, summon a Mole Machine that tunnels through the earth.",1786409],"853":["Hammer of Justice","","Stuns the target for 6 sec.",135963],"465":["Devotion Aura","","Party and raid members within 40 yards are bolstered by their devotion, reducing damage taken by 3%.",135893],"275779":["Judgment","","Judges the target, dealing 2,380 Holy damage, and causing them to take 25% increased damage from your next Holy Power ability.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.\r\n",135959],"96231":["Rebuke","","Interrupts spellcasting and prevents any spell in that school from being cast for 4 sec.",523893],"86659":["Guardian of Ancient Kings","","Empowers you with the spirit of ancient kings, reducing all damage you take by 50% for 8 sec.",135919],"115750":["Blinding Light","","Emits dazzling light in all directions, blinding enemies within 10 yards, causing them to wander disoriented for 6 sec. Non-Holy damage will break the disorient effect.",571553],"31884":["Avenging Wrath","","Call upon the Light to become an avatar of retribution, increasing your damage, healing, and critical strike chance by 20% for 20 sec.",135875],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3751916],"62124":["Hand of Reckoning","","Commands the attention of an enemy target, forcing them to attack you.",135984],"7328":["Redemption","","Brings a dead ally back to life with 35% of maximum health and mana. Cannot be cast when in combat.",135955],"1022":["Blessing of Protection","","Blesses a party or raid member, granting immunity to Physical damage and harmful effects for 10 sec.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135964],"317920":["Concentration Aura","","Interrupt and Silence effects on party and raid members within 40 yards are 30% shorter. ",135933],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"633":["Lay on Hands","","Heals a friendly target for an amount equal to your maximum health.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135928],"19750":["Flash of Light","","Expends a large amount of mana to quickly heal a friendly target for 4,274.",135907]},"talent":{"204018":["Blessing of Spellwarding","","Blesses a party or raid member, granting immunity to magical damage and harmful effects for 10 sec.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135880],"204019":["Blessed Hammer","","Throws a Blessed Hammer that spirals outward, dealing 209 Holy damage to enemies and reducing the next damage they deal to you by 582.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",535595],"152262":["Seraphim","","The Light magnifies your power for 15 sec, granting 8% Haste, Critical Strike, and Versatility, and 8% Mastery.",1030103],"20066":["Repentance","","Forces an enemy target to meditate, incapacitating them for 1 min.\r\n\r\nUsable against Humanoids, Demons, Undead, Dragonkin, and Giants.",135942],"327193":["Moment of Glory","","Reset the cooldown of Avenger's Shield. Your next 3 Avenger's Shields have no cooldown and deal 20% additional damage.",237537],"105809":["Holy Avenger","","Your Holy Power generation is tripled for 20 sec.",571555],"115750":["Blinding Light","","Emits dazzling light in all directions, blinding enemies within 10 yards, causing them to wander disoriented for 6 sec. Non-Holy damage will break the disorient effect.",571553]}},"Holy":{"base":{"24275":["Hammer of Wrath","","Hurls a divine hammer that strikes an enemy for 2,099 Holy damage. Only usable on enemies that have less than 20% health, or during Avenging Wrath.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",613533],"85673":["Word of Glory","","Calls down the Light to heal a friendly target for 5,893.",133192],"214202":["Rule of Law","","Increase the range of your heals and the reach of Mastery: Lightbringer by 50% for 10 sec.",571556],"53600":["Shield of the Righteous","","Slams enemies in front of you with your shield, causing 826 Holy damage, and increasing your Armor by 2,930 for 4.5 sec.",236265],"35395":["Crusader Strike","","Strike the target for 1,486 Physical damage.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",135891],"19750":["Flash of Light","","Expends a large amount of mana to quickly heal a friendly target for 3,779.",135907],"6940":["Blessing of Sacrifice","","Blesses a party or raid member, reducing their damage taken by 30%, but you suffer 75% of damage prevented.\r\n\r\nLast 12 sec, or until transferred damage would cause you to fall below 20% health.",135966],"183435":["Retribution Aura","","When any party or raid member within 40 yards dies, you gain Avenging Wrath for 12 sec.",135889],"324739":["Summon Steward","Kyrian","Call your steward to bring you a Phial of Serenity that can be consumed to restore 20% health and remove all Curse, Disease, Poison, and Bleed effects.\r\n\r\nYour Steward additionally offers access to a selection of useful amenities for 4 min.",3586266],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"53563":["Beacon of Light","","Wrap a single ally in holy energy, causing your heals on other party or raid members to also heal that ally for 50% of the amount healed. \r\n\r\nHealing this ally directly with Flash of Light or Holy Light grants 1 Holy Power.",236247],"265221":["Fireblood","Racial","Removes all poison, disease, curse, magic, and bleed effects and increases your Intellect by 183 and an additional 61 for each effect removed. Lasts 8 sec. ",1786406],"190784":["Divine Steed","","Leap atop your Charger for 5.1 sec, increasing movement speed by 100%. Usable while indoors or in combat.",1360759],"10326":["Turn Evil","","The power of the Light compels an Undead, Aberration, or Demon target to flee for up to 40 sec. Damage may break the effect. Only one target can be turned at a time.",571559],"121183":["Contemplation","","Allows you a moment of peace as you kneel in quiet contemplation to ponder the nature of the Light.",134916],"642":["Divine Shield","","Grants immunity to all damage and harmful effects for 8 sec. \r\n\r\nCannot be used if you have Forbearance. Causes Forbearance for 30 sec.",524354],"26573":["Consecration","","Consecrates the land beneath you, causing 1,836 Holy damage over 12 sec to enemies who enter the area. Limit 1.",135926],"85222":["Light of Dawn","","Unleashes a wave of holy energy, healing up to 5 injured allies within a 15 yd frontal cone for 1,964.",461859],"1044":["Blessing of Freedom","","Blesses a party or raid member, granting immunity to movement impairing effects for 8 sec.",135968],"304971":["Divine Toll","Kyrian","Instantly cast Holy Shock, Avenger's Shield, or Judgment on up to 5 targets within 30 yds (based on your current specialization).",3565448],"82326":["Holy Light","","An efficient spell, healing a friendly target for 4,864.",135981],"265225":["Mole Machine","Racial","While outdoors, summon a Mole Machine that tunnels through the earth.",1786409],"853":["Hammer of Justice","","Stuns the target for 6 sec.",135963],"20473":["Holy Shock","","Triggers a burst of Light on the target, dealing 1,325 Holy damage to an enemy, or 2,900 healing to an ally. Has an additional 30% critical effect chance.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.\r\n",135972],"317920":["Concentration Aura","","Interrupt and Silence effects on party and raid members within 40 yards are 30% shorter. ",135933],"465":["Devotion Aura","","Party and raid members within 40 yards are bolstered by their devotion, reducing damage taken by 3%.",135893],"183998":["Light of the Martyr","","Sacrifice a portion of your own health to instantly heal an ally for 3,929. You take damage equal to 50% of the healing done.\r\n\r\nDoes not cause your Beacon of Light to be healed. Cannot be cast on yourself.",1360762],"32223":["Crusader Aura","","Increases mounted speed by 20% for all party and raid members within 40 yards.",135890],"275773":["Judgment","","Judges the target, dealing 2,615 Holy damage, and causing the target to take 30% increased damage from your next Crusader Strike or Holy Shock.",135959],"1022":["Blessing of Protection","","Blesses a party or raid member, granting immunity to Physical damage and harmful effects for 10 sec.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135964],"31884":["Avenging Wrath","","Call upon the Light to become an avatar of retribution, increasing your damage, healing, and critical strike chance by 30% for 20 sec.",135875],"31821":["Aura Mastery","","Empowers your chosen aura for 8 sec.\r\n\r\n|cffffffffDevotion Aura|r: Damage reduction increased to 15%.",135872],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",3553973],"62124":["Hand of Reckoning","","Commands the attention of an enemy target, forcing them to attack you.",135984],"7328":["Redemption","","Brings a dead ally back to life with 35% of maximum health and mana. Cannot be cast when in combat.",135955],"212056":["Absolution","","Returns all dead party members to life with 35% of maximum health and mana. Cannot be cast when in combat.",1030102],"115750":["Blinding Light","","Emits dazzling light in all directions, blinding enemies within 10 yards, causing them to wander disoriented for 6 sec. Non-Holy damage will break the disorient effect.",571553],"498":["Divine Protection","","Reduces all damage you take by 20% for 8 sec.",524353],"633":["Lay on Hands","","Heals a friendly target for an amount equal to your maximum health.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135928],"4987":["Cleanse","","Cleanses a friendly target, removing all Poison, Disease, and Magic effects.",135949]},"talent":{"20066":["Repentance","","",135942],"105809":["Holy Avenger","","",571555],"114165":["Holy Prism","","",613408],"200025":["Beacon of Virtue","","",1030094],"214202":["Rule of Law","","Increase the range of your heals and the reach of Mastery: Lightbringer by 50% for 10 sec.",571556],"156910":["Beacon of Faith","","",1030095],"152262":["Seraphim","","",1030103],"114158":["Light's Hammer","","",613955],"223306":["Bestow Faith","","",236249],"115750":["Blinding Light","","Emits dazzling light in all directions, blinding enemies within 10 yards, causing them to wander disoriented for 6 sec. Non-Holy damage will break the disorient effect.",571553],"216331":["Avenging Crusader","","",589117]}}}},"Fazzbourne-Turalyon":{"kbConfig":{"addon":"Dominos"},"ridingSkill":1},"Zaffage-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Panchenka-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzmend-Kor'gall":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Rorrei-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzood-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazzelf-Turalyon":{"kbConfig":{"map":{"ACTIONBUTTON8":"V","MULTIACTIONBAR1BUTTON5":"SHIFT-V","MULTIACTIONBAR1BUTTON6":"SHIFT-3","MULTIACTIONBAR1BUTTON8":"SHIFT-Z","ACTIONBUTTON2":"2","MULTIACTIONBAR1BUTTON7":"SHIFT-4","CLICK DominosActionButton19:HOTKEY":"5","MULTIACTIONBAR1BUTTON9":"CAPSLOCK","ACTIONBUTTON1":"E","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton18:HOTKEY":"SHIFT-H","CLICK DominosActionButton17:HOTKEY":"SHIFT-T","CLICK DominosActionButton20:HOTKEY":"SHIFT-MOUSEWHEELUP","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR1BUTTON11":"Q","CLICK DominosActionButton21:HOTKEY":"N","BONUSACTIONBUTTON8":"CTRL-8","ACTIONBUTTON3":"3","CLICK DominosActionButton15:HOTKEY":"\\","MULTIACTIONBAR4BUTTON5":"SHIFT-N","ACTIONBUTTON12":"SHIFT-F","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON10":"BUTTON5","CLICK DominosActionButton13:HOTKEY":"SHIFT-2","BONUSACTIONBUTTON6":"CTRL-6","MULTIACTIONBAR1BUTTON1":"SHIFT-G","ACTIONBUTTON4":"C","MULTIACTIONBAR1BUTTON4":"1","MULTIACTIONBAR1BUTTON10":"SHIFT-C","CLICK DominosActionButton10:HOTKEY":"SHIFT-X","MULTIACTIONBAR1BUTTON12":"SHIFT-Q","MULTIACTIONBAR3BUTTON8":"8","BONUSACTIONBUTTON2":"CTRL-2","CLICK DominosActionButton7:HOTKEY":"SHIFT-`","MULTIACTIONBAR4BUTTON3":"SHIFT-B","CLICK DominosActionButton1:HOTKEY":"4","CLICK DominosActionButton2:HOTKEY":"SHIFT-BUTTON3","CLICK DominosActionButton3:HOTKEY":"BUTTON3","ACTIONBUTTON9":"F","CLICK DominosActionButton4:HOTKEY":"SHIFT-R","CLICK DominosActionButton5:HOTKEY":"X","CLICK DominosActionButton6:HOTKEY":"SHIFT-BUTTON5","MULTIACTIONBAR1BUTTON3":"`","CLICK DominosActionButton8:HOTKEY":"BUTTON4","CLICK DominosActionButton9:HOTKEY":"SHIFT-BUTTON4","MULTIACTIONBAR1BUTTON2":"G","CLICK DominosActionButton11:HOTKEY":"SHIFT-6","CLICK DominosActionButton12:HOTKEY":"6","ACTIONBUTTON7":"B","CLICK DominosActionButton14:HOTKEY":"H","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton16:HOTKEY":"T","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON5":"SHIFT-E","ACTIONBUTTON11":"Z","ACTIONBUTTON6":"R"},"addon":"Dominos"},"item":{"6948":["Hearthstone",134414,"Miscellaneous"]},"kb":{"Protection":{"71":"spell:190784","70":"spell:62124","62":"spell:642","65":"macro:23","64":"spell:155145","34":"spell:204019","79":"macro:1","1":"spell:204019","3":"spell:31935","2":"spell:275779","19":"spell:213644","18":"spell:853","6":"spell:85673","15":"spell:213644","10":"spell:26573","4":"spell:19750","110":"item:6948","21":"spell:633","67":"spell:53600","23":"spell:7328"}},"macro":{"1":[".extrabutton",134400,"#showtooltip\n/click ExtraActionButton1\n"],"23":["trinket",537022,"#showtooltip\n/use 13\n"]},"ridingSkill":1,"spell":{"Protection":{"base":{"96231":["Rebuke","","Interrupts spellcasting and prevents any spell in that school from being cast for 4 sec.",523893],"62124":["Hand of Reckoning","","Commands the attention of an enemy target, forcing them to attack you.",135984],"275779":["Judgment","","Judges the target, dealing 172 Holy damage.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.\r\n",135959],"190784":["Divine Steed","","Leap atop your Charger for 3 sec, increasing movement speed by 100%. Usable while indoors or in combat.",1360759],"1022":["Blessing of Protection","","Blesses a party or raid member, granting immunity to Physical damage and harmful effects for 10 sec.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135964],"31884":["Avenging Wrath","","Call upon the Light to become an avatar of retribution, increasing your damage, healing, and critical strike chance by 20% for 20 sec.",135875],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"5502":["Sense Undead","","Shows the location of all nearby undead on the minimap until cancelled. Only one form of tracking can be active at a time.",135974],"31850":["Ardent Defender","","Reduces all damage you take by 20% for 8 sec.\r\n\r\nWhile Ardent Defender is active, the next attack that would otherwise kill you will instead bring you to 20% of your maximum health.",135870],"853":["Hammer of Justice","","Stuns the target for 6 sec.",135963],"32223":["Crusader Aura","","Increases mounted speed by 20% for all party and raid members within 40 yards.",135890],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",133044],"498":["Divine Protection","","Reduces all damage you take by 20% for 8 sec.",524353],"85673":["Word of Glory","","Calls down the Light to heal a friendly target for 384.",133192],"7328":["Redemption","","Brings a dead ally back to life with 35% of maximum health and mana. Cannot be cast when in combat.",135955],"53600":["Shield of the Righteous","","Slams enemies in front of you with your shield, causing 61 Holy damage, and increasing your Armor by 155 for 4.5 sec.",236265],"183435":["Retribution Aura","","When any party or raid member within 40 yards dies, you gain Avenging Wrath for 8 sec.",135889],"24275":["Hammer of Wrath","","Hurls a divine hammer that strikes an enemy for 173 Holy damage. Only usable on enemies that have less than 20% health.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",613533],"204019":["Blessed Hammer","","Throws a Blessed Hammer that spirals outward, dealing 14 Holy damage to enemies and reducing the next damage they deal to you by 33.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",535595],"19750":["Flash of Light","","Expends a large amount of mana to quickly heal a friendly target for 342.",135907],"6940":["Blessing of Sacrifice","","Blesses a party or raid member, reducing their damage taken by 30%, but you suffer 100% of damage prevented.\r\n\r\nLast 12 sec, or until transferred damage would cause you to fall below 20% health.",135966],"642":["Divine Shield","","Grants immunity to all damage and harmful effects for 8 sec. \r\n\r\nCannot be used if you have Forbearance. Causes Forbearance for 30 sec.",524354],"86659":["Guardian of Ancient Kings","","Empowers you with the spirit of ancient kings, reducing all damage you take by 50% for 8 sec.",135919],"31935":["Avenger's Shield","","Hurls your shield at an enemy target, dealing 75 Holy damage, and then jumping to 2 additional nearby enemies.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",135874],"10326":["Turn Evil","","The power of the Light compels an Undead, Aberration, or Demon target to flee for up to 40 sec. Damage may break the effect. Only one target can be turned at a time.",571559],"26573":["Consecration","","Consecrates the land beneath you, causing 65 Holy damage over 12 sec to enemies who enter the area. Limit 1.",135926],"317920":["Concentration Aura","","Interrupt and Silence effects on party and raid members within 40 yards are 30% shorter. ",135933],"213644":["Cleanse Toxins","","Cleanses a friendly target, removing all Poison and Disease effects.",135953],"465":["Devotion Aura","","Party and raid members within 40 yards are bolstered by their devotion, reducing damage taken by 3%.",135893],"155145":["Arcane Torrent","Racial","Remove 1 beneficial effect from all enemies within 8 yards and restore 1 Holy Power.",136222],"1044":["Blessing of Freedom","","Blesses a party or raid member, granting immunity to movement impairing effects for 8 sec.",135968],"633":["Lay on Hands","","Heals a friendly target for an amount equal to your maximum health.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135928]},"talent":{"204018":["Blessing of Spellwarding","","Blesses a party or raid member, granting immunity to magical damage and harmful effects for 10 sec.\r\n\r\nCannot be used on a target with Forbearance. Causes Forbearance for 30 sec.",135880],"204019":["Blessed Hammer","","Throws a Blessed Hammer that spirals outward, dealing 14 Holy damage to enemies and reducing the next damage they deal to you by 33.\r\n\r\n|cFFFFFFFFGenerates 1 Holy Power.",535595],"152262":["Seraphim","","The Light magnifies your power for 15 sec, granting 8% Haste, Critical Strike, and Versatility, and 8% Mastery.",1030103],"20066":["Repentance","","Forces an enemy target to meditate, incapacitating them for 1 min.\r\n\r\nUsable against Humanoids, Demons, Undead, Dragonkin, and Giants.",135942],"327193":["Moment of Glory","","Reset the cooldown of Avenger's Shield. Your next 3 Avenger's Shields have no cooldown and deal 20% additional damage.",237537],"115750":["Blinding Light","","Emits dazzling light in all directions, blinding enemies within 10 yards, causing them to wander disoriented for 6 sec. Non-Holy damage will break the disorient effect.",571553],"105809":["Holy Avenger","","Your Holy Power generation is tripled for 20 sec.",571555]}}}},"Fazzazzle-Doomhammer":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Zaffuid-Ravencrest":{"kbConfig":{"addon":"Dominos"},"ridingSkill":5},"Fazz-Doomhammer":{"kbConfig":{"map":{"MULTIACTIONBAR3BUTTON7":"SHIFT-N","BONUSACTIONBUTTON7":"CTRL-7","ACTIONBUTTON3":"3","BONUSACTIONBUTTON5":"CTRL-5","CLICK DominosActionButton10:HOTKEY":"SHIFT-T","CLICK DominosActionButton20:HOTKEY":"BUTTON3","MULTIACTIONBAR3BUTTON3":"SHIFT-X","BONUSACTIONBUTTON4":"CTRL-4","MULTIACTIONBAR3BUTTON9":"SHIFT-BUTTON4","ACTIONBUTTON10":"T","ACTIONBUTTON4":"4","MULTIACTIONBAR3BUTTON2":"SHIFT-Z","BONUSACTIONBUTTON3":"CTRL-3","ACTIONBUTTON7":"Q","MULTIACTIONBAR3BUTTON1":"SHIFT-G","BONUSACTIONBUTTON1":"CTRL-1","ACTIONBUTTON5":"5","ACTIONBUTTON8":"E","ACTIONBUTTON2":"2","MULTIACTIONBAR3BUTTON8":"SHIFT-BUTTON3","MULTIACTIONBAR3BUTTON10":"SHIFT-BUTTON5","ACTIONBUTTON1":"1","BONUSACTIONBUTTON6":"CTRL-6","ACTIONBUTTON6":"6","CLICK DominosActionButton1:HOTKEY":"SHIFT-1","MULTIACTIONBAR3BUTTON5":"SHIFT-V","BONUSACTIONBUTTON8":"CTRL-8","CLICK DominosActionButton47:HOTKEY":"NUMPAD2","CLICK DominosActionButton2:HOTKEY":"SHIFT-2","MULTIACTIONBAR3BUTTON11":"SHIFT-MOUSEWHEELUP","CLICK DominosActionButton43:HOTKEY":"NUMPAD4","CLICK DominosActionButton3:HOTKEY":"SHIFT-3","CLICK DominosActionButton4:HOTKEY":"SHIFT-4","CLICK DominosActionButton5:HOTKEY":"SHIFT-5","CLICK DominosActionButton6:HOTKEY":"SHIFT-6","CLICK DominosActionButton7:HOTKEY":"SHIFT-Q","CLICK DominosActionButton8:HOTKEY":"SHIFT-E","CLICK DominosActionButton9:HOTKEY":"SHIFT-R","CLICK DominosActionButton18:HOTKEY":"B","CLICK DominosActionButton11:HOTKEY":"SHIFT-Y","CLICK DominosActionButton12:HOTKEY":"SHIFT-F","CLICK DominosActionButton13:HOTKEY":"G","ACTIONBUTTON12":"F","CLICK DominosActionButton14:HOTKEY":"Z","ACTIONBUTTON9":"R","MULTIACTIONBAR4BUTTON1":"8","MULTIACTIONBAR4BUTTON7":"\\","MULTIACTIONBAR3BUTTON4":"SHIFT-C","CLICK DominosActionButton15:HOTKEY":"X","CLICK DominosActionButton16:HOTKEY":"C","BONUSACTIONBUTTON9":"CTRL-9","MULTIACTIONBAR3BUTTON6":"SHIFT-B","CLICK DominosActionButton19:HOTKEY":"N","CLICK DominosActionButton17:HOTKEY":"V","CLICK DominosActionButton21:HOTKEY":"BUTTON4","CLICK DominosActionButton22:HOTKEY":"BUTTON5","MULTIACTIONBAR1BUTTON8":"SHIFT-MOUSEWHEELDOWN","CLICK DominosActionButton40:HOTKEY":"`","CLICK DominosActionButton41:HOTKEY":"SHIFT-`","BONUSACTIONBUTTON10":"CTRL-0","CLICK DominosActionButton44:HOTKEY":"NUMPAD5","CLICK DominosActionButton45:HOTKEY":"NUMPAD6","CLICK DominosActionButton46:HOTKEY":"NUMPAD1","ACTIONBUTTON11":"Y","CLICK DominosActionButton48:HOTKEY":"NUMPAD3"},"addon":"Dominos"},"item":{"109076":["Goblin Glider Kit",133632,"Consumable"],"111820":["Swapblaster",308321,"Consumable"],"163222":["Battle Potion of Intellect",609889,"Consumable"],"64398":["Standard of Unity",461817,"Consumable"],"80610":["Conjured Mana Pudding",609813,"Consumable"],"116158":["Lunarfall Carp",133932,"Miscellaneous"],"160053":["Battle-Scarred Augment Rune",840006,"Consumable"],"97919":["Whole-Body Shrinka'",801002,"Miscellaneous"],"6948":["Hearthstone",134414,"Miscellaneous"],"64399":["Battle Standard of Coordination",461818,"Consumable"],"46847":["Seaforium Bombs",133709,"Consumable"],"40971":["Brann's Communicator",133866,"Quest"],"166779":["Transmorpher Beacon",2823166,"Miscellaneous"],"113509":["Conjured Mana Bun",134029,"Consumable"],"159630":["Balefire Branch",135163,"Armor"],"169223":["Ashjra'kamas, Shroud of Resolve",530999,"Armor"],"63359":["Banner of Cooperation",461816,"Consumable"],"110560":["Garrison Hearthstone",1041860,"Miscellaneous"],"154886":["Spiced Snapper",2066019,"Consumable"],"140192":["Dalaran Hearthstone",1444943,"Miscellaneous"],"141605":["Flight Master's Whistle",132161,"Miscellaneous"],"128807":["Coin of Many Faces",133799,"Miscellaneous"],"133755":["Underlight Angler",1053367,"Weapon"],"152559":["Potion of Rising Death",2057564,"Consumable"],"152639":["Flask of Endless Fathoms",2057570,"Consumable"]},"kb":{"Frost":{"53":"flyout:12","73":"macro:25","63":"spell:1459","37":"item:163222","67":"spell:31687","57":"spell:158765","27":"spell:475","17":"spell:66","33":"spell:131474","42":"item:154886","52":"flyout:8","62":"spell:130","72":"spell:11426","36":"item:166779","56":"spell:818","66":"spell:80353","26":"item:133755","12":"spell:120","22":"spell:44614","32":"item:64399","71":"item:169223","61":"item:40971","51":"item:140192","75":"item:113509","65":"item:159630","55":"item:128807","45":"item:46847","35":"macro:19","59":"item:97919","49":"item:110560","39":"item:152639","29":"spell:55342","69":"spell:80451","3":"spell:116","2":"spell:153595","5":"spell:30449","4":"spell:84714","7":"spell:212653","6":"spell:199786","9":"spell:12472","8":"macro:127","31":"item:64398","21":"summonmount:417","11":"spell:2259","60":"spell:278910","40":"macro:21","50":"item:6948","54":"item:141605","64":"spell:80451","34":"flyout:92","44":"item:113509","58":"spell:190336","28":"item:109076","38":"item:152559","68":"spell:161691","18":"spell:126819","83":"item:116158","82":"spell:122","14":"spell:59752","24":"item:111820","41":"item:160053","74":"macro:4","20":"spell:30455","30":"item:63359","15":"spell:2139","10":"spell:45438"},"Fire":{"43":"spell:326526","73":"macro:121","41":"summonmount:460","37":"item:80610","81":"spell:30449","39":"summonmount:1039","29":"macro:23","79":"item:109076","1":"spell:133","3":"spell:257541","2":"spell:108853","5":"spell:1449","4":"spell:11366","7":"spell:212653","9":"spell:235313","8":"spell:2139","27":"spell:116011","17":"spell:313347","13":"spell:116","21":"spell:59752","11":"summonmount:352","23":"spell:130","107":"spell:190336","74":"spell:55342","82":"spell:28272","34":"macro:128","106":"spell:1459","15":"macro:127","19":"spell:122","103":"flyout:8","77":"spell:2948","102":"summonmount:407","26":"spell:66","83":"macro:11","80":"macro:124","14":"spell:44457","101":"spell:80353","33":"macro:130","25":"macro:122","75":"spell:190319","109":"item:110560","24":"macro:129","16":"macro:125","104":"flyout:12","20":"macro:123","12":"spell:31661","110":"item:6948","111":"item:140192"}},"macro":{"127":["lance",135844,"#showtooltip\n/tar Synd\n/cast Ice Lance\n"],"123":["c1",135856,"#showtooltip\n/cast [target=focus] Counterspell\n"],"122":["block",135841,"#showtooltip\n/stopcasting\n/cancelaura Ice Block\n/cast Ice Block\n"],"125":["flamestrike",135826,"#showtooltip\n/cast [@cursor] Flamestrike\n"],"129":["ring of frost",464484,"#showtooltip\n/cast [@cursor] Ring of Frost\n"],"19":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"4":[".Pets",134029,"#showtooltip Battle Pet Bandage\n/click [nocombat] SmartRez\n/target Andurs\n/target Odrogg\n/target Squirt\n/script SelectGossipOption(1)\n"],"121":["!block",135841,"#showtooltip\n/stopcasting\n/cast !Ice Block\n"],"2":[".Pets",134029,"#showtooltip Battle Pet Bandage\n/click [nocombat] SmartRez\n/target Andurs\n/target Odrogg\n/target Squirt\n/script SelectGossipOption(1)\n"],"25":["PETs2",132165,"#showtooltip Battle Pet Bandage\n/click [nocombat] SmartRez\n/target Squirt\n"],"124":["curse",136082,"#showtooltip\n/cast [@cursor] Remove Curse\n"],"128":["p1",135997,"#showtooltip\n/cast [target=focus] Polymorph(Pig)\n"],"130":["s1",135729,"#showtooltip\n/cast [target=focus] Spellsteal\n"],"13":["Health",134400,"#showtooltip Spiritual Healing Potion\n/cast Healthstone\n/cast Spiritual Healing Potion\n"],"21":["Health",134400,"#showtooltip Spiritual Healing Potion\n/cast Healthstone\n/cast Spiritual Healing Potion\n"],"11":["focus",134400,"/focus [target=mouseover,nodead,exists]\n"],"23":["trinket",135163,"#showtooltip\n/use 13\n"]},"spell":{"Frost":{"base":{"122":["Frost Nova","","Blasts enemies within 12 yds of you for 28 Frost damage and freezes them in place for 10 sec. Damage may interrupt the freeze effect.",135848],"235219":["Cold Snap","","Resets the cooldown of your Ice Barrier, Frost Nova, Cone of Cold, and Ice Block.",135865],"59752":["Will to Survive","Racial","Removes all stun effects. ",136129],"319836":["Fire Blast","","Blasts the enemy for 447 Fire damage.",135807],"30449":["Spellsteal","","Steals a beneficial magic effect from the target. This effect lasts a maximum of 2 min. ",135729],"190356":["Blizzard","","Ice shards pelt the target area, dealing 627 Frost damage over 7.2 sec and reducing movement speed by 50% for 3 sec.\r\n\r\nEach time Blizzard deals damage, the cooldown of Frozen Orb is reduced by 0.25 sec.",135857],"30455":["Ice Lance","","Quickly fling a shard of ice at the target, dealing 271 Frost damage, and 217 Frost damage to a second nearby target.\r\n\r\nIce Lance damage is tripled against frozen targets.",135844],"2139":["Counterspell","","Counters the enemy's spellcast, preventing any spell from that school of magic from being cast for 6 sec.",135856],"5019":["Shoot","","Attack with an equipped wand.",132317],"298357":["Memory of Lucid Dreams","Azerite Essence","Clear your mind and attune yourself with the Heart of Azeroth, causing Frostbolt and Flurry to generate an additional Icicle and increases your Leech by 48 for 15 sec.",2967104],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"11426":["Ice Barrier","","Shields you with ice, absorbing 4,327 damage for 1 min.\r\n\r\nMelee attacks against you reduce the attacker's movement speed by 50%.",135988],"45438":["Ice Block","","Encases you in a block of ice, protecting you from all attacks and damage for 10 sec, but during that time you cannot attack, move, or cast spells. \r\n\r\nCauses Hypothermia, preventing you from recasting Ice Block for 30 sec.",135841],"212653":["Shimmer","","Teleports you 20 yards forward, unless something is in the way. Unaffected by the global cooldown and castable while casting.",135739],"84714":["Frozen Orb","","Launches an orb of swirling ice up to 40 yards forward which deals up to 2,333 Frost damage to all enemies it passes through. Deals reduced damage beyond 8 targets. Grants 1 charge of Fingers of Frost when it first damages an enemy.\r\n\r\nEnemies damaged by the Frozen Orb are slowed by 30% for 3 sec.",629077],"190336":["Conjure Refreshment","","Conjures mana food for you and your allies. Conjured items disappear if logged out for more than 15 minutes.",134029],"116":["Frostbolt","","Launches a bolt of frost at the enemy, causing 394 Frost damage and slowing movement speed by 50% for 8 sec.",135846],"12472":["Icy Veins","","Accelerates your spellcasting for 33 sec, granting 30% haste and preventing damage from delaying your spellcasts.",135838],"31687":["Summon Water Elemental","","Summons a Water Elemental to follow and fight for you.",135862],"118":["Polymorph","Sheep","Transforms the enemy into a sheep, wandering around incapacitated for 1 min. While affected, the victim cannot take actions but will regenerate health very quickly. Damage will cancel the effect. Limit 1.\r\n\r\nOnly works on Beasts, Humanoids and Critters.",136071],"251463":["Vindicaar Matrix Crystal","","Unlock powers at the Vindicaar's Matrix Core to use while on Argus. ",1033183],"1449":["Arcane Explosion","","Causes an explosion of magic around the caster, dealing 312 Arcane damage to all enemies within 10 yards.",136116],"80353":["Time Warp","","Warp the flow of time, increasing haste by 30% for all party and raid members for 40 sec.\r\n\r\nAllies will be unable to benefit from Bloodlust, Heroism, or Time Warp again for 10 min.",458224],"108978":["Alter Time","","Alters the fabric of time, returning you to your current location and health when cast a second time, or after 10 seconds. Effect negated by long distance or death.",609811],"120":["Cone of Cold","","Targets in a cone in front of you take 233 Frost damage and have movement slowed by 70% for 5 sec.",135852],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",2618150],"1459":["Arcane Intellect","","Infuses the target with brilliance, increasing their Intellect by 5% for 1 |4hour:hrs;. \r\n\r\nIf target is in your party or raid, all party and raid members will be affected.",135932],"44614":["Flurry","","Unleash a flurry of ice, striking the target 3 times for a total of 648 Frost damage. Each hit reduces the target's movement speed by 70% for 1 sec.\r\n\r\nWhile Brain Freeze is active, Flurry applies Winter's Chill, causing your target to take damage from your spells as if it were frozen.",1506795],"475":["Remove Curse","","Removes all Curses from a friendly target. ",136082],"66":["Invisibility","","Turns you invisible over 3 sec, reducing threat each second. While invisible, you are untargetable by enemies. Lasts 20 sec. Taking any action cancels the effect.",132220],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"55342":["Mirror Image","","Creates 3 copies of you nearby for 40 sec, which cast spells and attack your enemies.\r\n\r\nWhile your images are active damage taken is reduced by 20%. Taking direct damage will cause one of your images to dissipate.",135994],"130":["Slow Fall","","Slows a group member's falling speed for 30 sec.",135992]},"talent":{"108839":["Ice Floes","","Makes your next Mage spell with a cast time shorter than 10 sec castable while moving. Unaffected by the global cooldown and castable while casting.",610877],"212653":["Shimmer","","Teleports you 20 yards forward, unless something is in the way. Unaffected by the global cooldown and castable while casting.",135739],"116011":["Rune of Power","","Places a Rune of Power on the ground for 12 sec which increases your spell damage by 40% while you stand within 8 yds.\r\n\r\nCasting Icy Veins will also create a Rune of Power at your location.",609815],"157997":["Ice Nova","","Causes a whirl of icy wind around the enemy, dealing 1,117 Frost damage to the target and reduced damage to all other enemies within 8 yards, and freezing them in place for 2 sec.",1033909],"153595":["Comet Storm","","Calls down a series of 7 icy comets on and around the target, that deals up to 1,825 Frost damage to all enemies within 6 yds of its impacts.",2126034],"321358":["Focus Magic","","Increases the target's chance to critically hit with spells by 5% for 30 min. When the target critically hits your Intellect and chance to critically hit with spells is increased by 5% for 10 sec. Cannot be cast on self. Limit 1 target.",135754],"199786":["Glacial Spike","","Conjures a massive spike of ice, and merges your current Icicles into it. It impales your target, dealing 1,844 damage plus all of the damage stored in your Icicles, and freezes the target in place for 4 sec. Damage may interrupt the freeze effect.\r\n\r\nRequires 5 Icicles to cast.\r\n\r\n|cFFFFFFFFPassive:|r Ice Lance no longer launches Icicles.",1698699],"205021":["Ray of Frost","","Channel an icy beam at the enemy for 4.5 sec, dealing 745 Frost damage every 0.9 sec and slowing movement by 60%. Each time Ray of Frost deals damage, its damage and snare increases by 10%.\r\n\r\nGenerates 2 charges of Fingers of Frost over its duration.",1698700],"257537":["Ebonbolt","","Launch a bolt of ice at the enemy, dealing 1,242 Frost damage and granting you Brain Freeze.",1392551],"113724":["Ring of Frost","","Summons a Ring of Frost for 10 sec at the target location. Enemies entering the ring are incapacitated for 10 sec. Limit 10 targets.\r\n\r\nWhen the incapacitate expires, enemies are slowed by 65% for 4 sec.",464484]}},"Fire":{"base":{"122":["Frost Nova","","Blasts enemies within 12 yds of you for 29 Frost damage and freezes them in place for 8 sec. Damage may interrupt the freeze effect.",135848],"59752":["Will to Survive","Racial","Removes all stun effects. ",136129],"30449":["Spellsteal","","Steals a beneficial magic effect from the target. This effect lasts a maximum of 2 min. ",135729],"108853":["Fire Blast","","Blasts the enemy for 584 Fire damage. \r\n\r\n|cFFFFFFFFFire:|r Castable while casting other spells. Always deals a critical strike.",135807],"44457":["Living Bomb","","The target becomes a Living Bomb, taking 154 Fire damage over 3.6 sec, and then exploding to deal an additional 90 Fire damage to the target and reduced damage to all other enemies within 10 yards.\r\n\r\nOther enemies hit by this explosion also become a Living Bomb, but this effect cannot spread further.",236220],"113724":["Ring of Frost","","Summons a Ring of Frost for 10 sec at the target location. Enemies entering the ring are incapacitated for 10 sec. Limit 10 targets.\r\n\r\nWhen the incapacitate expires, enemies are slowed by 65% for 4 sec.",464484],"2139":["Counterspell","","Counters the enemy's spellcast, preventing any spell from that school of magic from being cast for 6 sec.",135856],"5019":["Shoot","","Attack with an equipped wand.",132317],"298357":["Memory of Lucid Dreams","Azerite Essence","Clear your mind and attune yourself with the Heart of Azeroth, increasing your Fire Blast recharge rate by 100% and your Leech by 48 for 15 sec.",2967104],"125439":["Revive Battle Pets","Battle Pets","Heals and resurrects all of your battle pets to 100% health.",644389],"45438":["Ice Block","","Encases you in a block of ice, protecting you from all attacks and damage for 10 sec, but during that time you cannot attack, move, or cast spells. \r\n\r\nCauses Hypothermia, preventing you from recasting Ice Block for 30 sec.",135841],"1449":["Arcane Explosion","","Causes an explosion of magic around the caster, dealing 322 Arcane damage to all enemies within 10 yards.",136116],"11366":["Pyroblast","","Hurls an immense fiery boulder that causes 998 Fire damage and an additional 132 Fire damage over 6 sec.",135808],"133":["Fireball","","Throws a fiery ball that causes 575 Fire damage.\r\n\r\nEach time your Fireball fails to critically strike a target, it gains a stacking 10% increased critical strike chance. Effect ends when Fireball critically strikes.",135812],"83958":["Mobile Banking","Guild Perk","Summons a Guild Chest that allows access to your guild bank for 5 min. Only guild members with guild reputation of friendly and above are allowed to use a Guild Chest.",413587],"257541":["Phoenix Flames","","Hurls a Phoenix that deals 577 Fire damage to the target and reduced damage to other nearby enemies.",1392549],"190336":["Conjure Refreshment","","Conjures mana food for you and your allies. Conjured items disappear if logged out for more than 15 minutes.",134029],"116":["Frostbolt","","Launches a bolt of frost at the enemy, causing 354 Frost damage and slowing movement speed by 50% for 8 sec.",135846],"31661":["Dragon's Breath","","Enemies in a cone in front of you take 374 Fire damage and are disoriented for 4 sec. Damage will cancel the effect.",134153],"212653":["Shimmer","","Teleports you 20 yards forward, unless something is in the way. Unaffected by the global cooldown and castable while casting.",135739],"118":["Polymorph","Sheep","Transforms the enemy into a sheep, wandering around incapacitated for 1 min. While affected, the victim cannot take actions but will regenerate health very quickly. Damage will cancel the effect. Limit 1.\r\n\r\nOnly works on Beasts, Humanoids and Critters.",136071],"251463":["Vindicaar Matrix Crystal","","Unlock powers at the Vindicaar's Matrix Core to use while on Argus. ",1033183],"2120":["Flamestrike","","Calls down a pillar of fire, burning all enemies within the area for 404 Fire damage and reducing their movement speed by 20% for 8 sec.",135826],"55342":["Mirror Image","","Creates 3 copies of you nearby for 40 sec, which cast spells and attack your enemies.\r\n\r\nWhile your images are active damage taken is reduced by 20%. Taking direct damage will cause one of your images to dissipate.",135994],"130":["Slow Fall","","Slows a group member's falling speed for 30 sec.",135992],"475":["Remove Curse","","Removes all Curses from a friendly target. ",136082],"108978":["Alter Time","","Alters the fabric of time, returning you to your current location and health when cast a second time, or after 10 seconds. Effect negated by long distance or death.",609811],"1459":["Arcane Intellect","","Infuses the target with brilliance, increasing their Intellect by 5% for 1 |4hour:hrs;. \r\n\r\nIf target is in your party or raid, all party and raid members will be affected.",135932],"6603":["Auto Attack","","Automatically attacks a target in melee with an equipped weapon. This ability can be toggled on or off.",2618150],"66":["Invisibility","","Turns you invisible over 3 sec, reducing threat each second. While invisible, you are untargetable by enemies. Lasts 20 sec. Taking any action cancels the effect.",132220],"153561":["Meteor","","Calls down a meteor which lands at the target location after 3 sec, dealing 1,668 Fire damage, split evenly between all targets within 8 yards, and burns the ground, dealing 423 Fire damage over 8.5 sec to all enemies in the area. ",1033911],"2948":["Scorch","","Scorches an enemy for 113 Fire damage. Castable while moving.",135827],"80353":["Time Warp","","Warp the flow of time, increasing haste by 30% for all party and raid members for 40 sec.\r\n\r\nAllies will be unable to benefit from Bloodlust, Heroism, or Time Warp again for 10 min.",458224],"116011":["Rune of Power","","Places a Rune of Power on the ground for 12 sec which increases your spell damage by 40% while you stand within 8 yds.\r\n\r\nCasting Combustion will also create a Rune of Power at your location.",609815],"235313":["Blazing Barrier","","Shields you in flame, absorbing 3,933 damage for 1 min.\r\n\r\nMelee attacks against you cause the attacker to take 96 Fire damage.",132221],"190319":["Combustion","","Engulfs you in flames for 12 sec, increasing your spells' critical strike chance by 100% and granting you Mastery equal to 50% your Critical Strike stat. Castable while casting other spells.",135824]},"talent":{"153561":["Meteor","","Calls down a meteor which lands at the target location after 3 sec, dealing 1,668 Fire damage, split evenly between all targets within 8 yards, and burns the ground, dealing 423 Fire damage over 8.5 sec to all enemies in the area. ",1033911],"116011":["Rune of Power","","Places a Rune of Power on the ground for 12 sec which increases your spell damage by 40% while you stand within 8 yds.\r\n\r\nCasting Combustion will also create a Rune of Power at your location.",609815],"321358":["Focus Magic","","Increases the target's chance to critically hit with spells by 5% for 30 min. When the target critically hits your Intellect and chance to critically hit with spells is increased by 5% for 10 sec. Cannot be cast on self. Limit 1 target.",135754],"44457":["Living Bomb","","The target becomes a Living Bomb, taking 154 Fire damage over 3.6 sec, and then exploding to deal an additional 90 Fire damage to the target and reduced damage to all other enemies within 10 yards.\r\n\r\nOther enemies hit by this explosion also become a Living Bomb, but this effect cannot spread further.",236220],"212653":["Shimmer","","Teleports you 20 yards forward, unless something is in the way. Unaffected by the global cooldown and castable while casting.",135739],"157981":["Blast Wave","","Causes an explosion around yourself, dealing 303 Fire damage to all enemies within 8 yards, knocking them back, and reducing movement speed by 70% for 6 sec.",135903],"113724":["Ring of Frost","","Summons a Ring of Frost for 10 sec at the target location. Enemies entering the ring are incapacitated for 10 sec. Limit 10 targets.\r\n\r\nWhen the incapacitate expires, enemies are slowed by 65% for 4 sec.",464484]}}},"ridingSkill":5}}} \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 72df9bb..9980ebd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,3 +7,14 @@ select = ["E", "F", "W", "I", "UP", "DJ"] [tool.ruff.lint.isort] known-first-party = ["apicore"] + +[tool.pytest.ini_options] +DJANGO_SETTINGS_MODULE = "backend.test_settings" +python_files = ["tests/test_*.py"] +addopts = "--cov=apicore --cov-report=term-missing --cov-report=xml" + +[tool.coverage.run] +omit = ["*/migrations/*", "*/libs/icon_mapping.py", "*/libs/mount_icons.py", "*/libs/race_mapping.py"] + +[tool.coverage.report] +exclude_lines = ["pragma: no cover", "if TYPE_CHECKING:"] diff --git a/readme.md b/readme.md index 68b516c..6563b96 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,9 @@ # FazzToolsAPI [![Deploy](https://github.com/joefarrelly/FazzToolsAPI/actions/workflows/deploy.yml/badge.svg)](https://github.com/joefarrelly/FazzToolsAPI/actions/workflows/deploy.yml) +[![Lint and Test](https://github.com/joefarrelly/FazzToolsAPI/actions/workflows/lint.yml/badge.svg)](https://github.com/joefarrelly/FazzToolsAPI/actions/workflows/lint.yml) +[![codecov](https://codecov.io/gh/joefarrelly/FazzToolsAPI/graph/badge.svg)](https://codecov.io/gh/joefarrelly/FazzToolsAPI) +[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) Django REST Framework backend for **FazzTools** — a World of Warcraft companion app. @@ -49,7 +52,6 @@ See `.env.example` for the full list. Key ones: | `BLIZZ_SECRET` | Blizzard OAuth app secret | | `BLIZZ_REDIRECT_URI` | Must exactly match the redirect URI used by the frontend OAuth flow | | `HASH_KEY` | Secret used to HMAC-hash the Blizzard user ID | -| `DATA_PASSWORD` | Password to trigger a full data scan | > After changing `.env`, run `docker compose up -d web` rather than `docker compose restart` — `restart` does not re-read env files. @@ -59,7 +61,7 @@ See `.env.example` for the full list. Key ones: |--------|-------------| | `POST /api/custom/bnetlogin/` | Battle.net OAuth2 callback — logs in / creates user | | `POST /api/custom/scanalt/` | Triggers async alt scan for a user | -| `POST /api/custom/datascan/` | Triggers async static data scan (password-protected) | +| `POST /api/custom/datascan/` | Triggers async static data scan (Django admin user required) | | `/api/profile/` | User profile data (alts, professions, equipment, mounts, pets) | | `/api/data/` | Static WoW game data | diff --git a/requirements.txt b/requirements.txt index 1663360..d3621f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,7 @@ amqp==5.3.1 +pytest==8.3.5 +pytest-cov==6.1.0 +pytest-django==4.9.0 asgiref==3.8.1 billiard==4.2.1 celery==5.4.0 diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_keybind_helpers.py b/tests/test_keybind_helpers.py new file mode 100644 index 0000000..b8bd69a --- /dev/null +++ b/tests/test_keybind_helpers.py @@ -0,0 +1,150 @@ +"""Tests for keybind helper functions. + +Covers getKeybindMap dispatch and _build_single_keybinds transformation logic. +No DB access needed — these are pure functions. +""" + +from apicore.libs.keybind_builder import build_single_keybinds +from apicore.libs.keybind_mapping import MAPPING_DEFAULT, MAPPING_DOMINOS, getKeybindMap + +# --------------------------------------------------------------------------- +# getKeybindMap +# --------------------------------------------------------------------------- + + +class TestGetKeybindMap: + def test_dominos_returns_dominos_mapping(self): + assert getKeybindMap("Dominos") is MAPPING_DOMINOS + + def test_unknown_addon_returns_default(self): + assert getKeybindMap("SomeUnknownAddon") is MAPPING_DEFAULT + + def test_empty_string_returns_default(self): + assert getKeybindMap("") is MAPPING_DEFAULT + + def test_bartender_returns_none(self): + # Bartender mapping is not yet implemented — documents the current gap + assert getKeybindMap("Bartender") is None + + def test_default_mapping_slot1_is_actionbutton1(self): + assert MAPPING_DEFAULT[1] == "ACTIONBUTTON1" + + def test_dominos_slot13_is_dominos_button(self): + # Dominos re-maps slots 13+ to its own button names + assert MAPPING_DOMINOS[13] == "CLICK DominosActionButton1:HOTKEY" + + +# --------------------------------------------------------------------------- +# _build_single_keybinds +# --------------------------------------------------------------------------- + +# Minimal data structure matching what the Lua parser produces for a single alt +_BASE_ALT_CONFIG = { + "kbConfig": { + "addon": "Default", + "map": { + "ACTIONBUTTON1": "1", + "ACTIONBUTTON2": "2", + "ACTIONBUTTON3": "E", + }, + }, + "kb": { + "Frost": { + "1": "spell:100", + "2": "spell:200", + "3": "spell:300", + } + }, + "spell": { + "Frost": { + "Base": { + "100": ["Frostbolt"], + "200": ["Ice Lance", "spell_frost_frostlance"], + "300": ["Glacial Spike"], + } + } + }, +} + +_DATA = {"alts": {"Mage-Realm": _BASE_ALT_CONFIG}} + + +class TestBuildSingleKeybinds: + def _build(self, data=None, alt="Mage", realm="Realm", spec="Frost"): + return build_single_keybinds(data or _DATA, alt, realm, spec) + + def test_returns_list_of_sections(self): + result = self._build() + assert isinstance(result, list) + assert all(isinstance(s, list) and len(s) == 2 for s in result) + + def test_bound_spell_has_correct_keybind(self): + result = self._build() + base_section = next(s for s in result if s[0] == "Base") + spells_by_name = {entry[0]: entry for entry in base_section[1]} + assert spells_by_name["Frostbolt"][-1] == "1" + assert spells_by_name["Ice Lance"][-1] == "2" + + def test_spell_with_icon_includes_icon(self): + result = self._build() + base_section = next(s for s in result if s[0] == "Base") + spells_by_name = {entry[0]: entry for entry in base_section[1]} + # Ice Lance has icon data in spell_info + assert spells_by_name["Ice Lance"][1] == "spell_frost_frostlance" + + def test_unbound_slot_shows_unbound(self): + data = { + "alts": { + "Mage-Realm": { + **_BASE_ALT_CONFIG, + "kb": {"Frost": {}}, # no keybinds assigned + } + } + } + result = build_single_keybinds(data, "Mage", "Realm", "Frost") + base_section = next(s for s in result if s[0] == "Base") + assert all(entry[-1] == "UNBOUND" for entry in base_section[1]) + + def test_spells_sorted_alphabetically_within_section(self): + result = self._build() + base_section = next(s for s in result if s[0] == "Base") + names = [entry[0] for entry in base_section[1]] + assert names == sorted(names) + + def test_misc_section_always_present(self): + result = self._build() + section_names = [s[0] for s in result] + assert "Misc" in section_names + + def test_item_binding_appears_in_misc(self): + data = { + "alts": { + "Mage-Realm": { + **_BASE_ALT_CONFIG, + "kb": {"Frost": {"1": "item:Hearthstone"}}, + "spell": {"Frost": {}}, + "item": {"Hearthstone": ["Hearthstone", 6948, "Consumable"]}, + } + } + } + result = build_single_keybinds(data, "Mage", "Realm", "Frost") + misc_section = next(s for s in result if s[0] == "Misc") + misc_names = [entry[0] for entry in misc_section[1]] + assert "Hearthstone" in misc_names + + def test_missing_slot_in_keybind_map_is_silently_skipped(self): + data = { + "alts": { + "Mage-Realm": { + **_BASE_ALT_CONFIG, + "kb": {"Frost": {"999": "spell:100"}}, # slot 999 not in mapping + } + } + } + result = build_single_keybinds(data, "Mage", "Realm", "Frost") + base_section = next(s for s in result if s[0] == "Base") + # Frostbolt should still appear, but as UNBOUND since slot couldn't be mapped + names = [entry[0] for entry in base_section[1]] + assert "Frostbolt" in names + frostbolt = next(e for e in base_section[1] if e[0] == "Frostbolt") + assert frostbolt[-1] == "UNBOUND" diff --git a/tests/test_lua_parser.py b/tests/test_lua_parser.py new file mode 100644 index 0000000..1a62d69 --- /dev/null +++ b/tests/test_lua_parser.py @@ -0,0 +1,107 @@ +"""Tests for apicore.libs.lua_parser.LuaParser. + +The parser skips lines[0] and lines[1] (the SavedVariables preamble and +outer opening brace) and reads from lines[2] onwards. +""" + +from apicore.libs.lua_parser import LuaParser + + +def _make_lines(*content_lines: str) -> list[str]: + """Wrap content lines with the standard preamble the parser skips.""" + return ["FazzToolsScraperDB = {\n", "preamble\n", *content_lines] + + +class TestFlatDict: + def test_single_string_value(self): + lines = _make_lines('["key"] = "value",\n', "}\n") + assert LuaParser(lines).parse() == {"key": "value"} + + def test_multiple_keys(self): + lines = _make_lines( + '["a"] = "1",\n', + '["b"] = "2",\n', + "}\n", + ) + assert LuaParser(lines).parse() == {"a": "1", "b": "2"} + + def test_numeric_key_gets_quoted(self): + # Keys without leading '"' are wrapped in quotes so JSON accepts them + lines = _make_lines('[1] = "val",\n', "}\n") + assert LuaParser(lines).parse() == {"1": "val"} + + def test_inline_comment_stripped(self): + lines = _make_lines('"item1", -- [1]\n', "}\n") + result = LuaParser(lines).parse() + assert result == ["item1"] + + +class TestNestedDict: + def test_nested_one_level(self): + lines = _make_lines( + '["outer"] = {\n', + '["inner"] = "val",\n', + "},\n", + "}\n", + ) + assert LuaParser(lines).parse() == {"outer": {"inner": "val"}} + + def test_empty_nested_table_omitted(self): + lines = _make_lines( + '["key"] = {\n', + "},\n", + "}\n", + ) + # An empty child list produces "[]", which is skipped + assert LuaParser(lines).parse() == {} + + def test_deeply_nested(self): + lines = _make_lines( + '["l1"] = {\n', + '["l2"] = {\n', + '["l3"] = "deep",\n', + "},\n", + "},\n", + "}\n", + ) + assert LuaParser(lines).parse() == {"l1": {"l2": {"l3": "deep"}}} + + +class TestListStructure: + def test_bare_string_values(self): + lines = _make_lines('"alpha",\n', '"beta",\n', "}\n") + assert LuaParser(lines).parse() == ["alpha", "beta"] + + +class TestNilHandling: + def test_nil_becomes_empty_string(self): + lines = _make_lines("nil,\n", "}\n") + result = LuaParser(lines).parse() + assert result == [""] + + def test_nil_inside_string_untouched(self): + # The word "nil" inside a quoted string (the preceding char is '"') + # should not be replaced — e.g. '["k"] = "nil"' + lines = _make_lines('["k"] = "nil",\n', "}\n") + result = LuaParser(lines).parse() + # Value is the literal string "nil", not replaced + assert result == {"k": "nil"} + + +class TestRealWorldStructure: + def test_alts_kb_structure(self): + """Minimal representation of the actual FazzToolsScraper output.""" + lines = _make_lines( + '["alts"] = {\n', + '["Toon-Realm"] = {\n', + '["kb"] = {\n', + '["Base"] = {\n', + '["1"] = "spell:100",\n', + "},\n", # closes Base + "},\n", # closes kb + "},\n", # closes Toon-Realm + "},\n", # closes alts + "}\n", # closes outer + ) + result = LuaParser(lines).parse() + assert result == {"alts": {"Toon-Realm": {"kb": {"Base": {"1": "spell:100"}}}}} diff --git a/tests/test_permissions.py b/tests/test_permissions.py new file mode 100644 index 0000000..27bc7e3 --- /dev/null +++ b/tests/test_permissions.py @@ -0,0 +1,36 @@ +"""Tests for apicore.permissions.IsSessionUser.""" + +from apicore.permissions import IsSessionUser + + +def _make_request(session_user: str | None, param_user: str | None) -> object: + class _FakeRequest: + session = {} + query_params = {} + + req = _FakeRequest() + if session_user is not None: + req.session = {"user_id": session_user} + req.query_params = {"user": param_user} + return req + + +class TestIsSessionUser: + def setup_method(self): + self.perm = IsSessionUser() + + def test_no_session_denies(self): + req = _make_request(session_user=None, param_user="abc") + assert self.perm.has_permission(req, None) is False + + def test_mismatched_user_denies(self): + req = _make_request(session_user="user-a", param_user="user-b") + assert self.perm.has_permission(req, None) is False + + def test_matching_user_allows(self): + req = _make_request(session_user="user-a", param_user="user-a") + assert self.perm.has_permission(req, None) is True + + def test_missing_user_param_denies(self): + req = _make_request(session_user="user-a", param_user=None) + assert self.perm.has_permission(req, None) is False diff --git a/tests/test_views.py b/tests/test_views.py new file mode 100644 index 0000000..586ae9d --- /dev/null +++ b/tests/test_views.py @@ -0,0 +1,183 @@ +"""Integration tests for key view behaviours. + +Covers: session auth enforcement, request validation, and the pure helpers. +External HTTP calls (Blizzard API) are not made — tests stop at the view logic +that runs before those calls. +""" + +import pytest +from django.test import Client + +from apicore.libs.keybind_builder import tier_sort_key + +# --------------------------------------------------------------------------- +# Pure helper: _tier_sort_key +# --------------------------------------------------------------------------- + + +class TestTierSortKey: + def test_known_expansion_returns_order(self): + assert tier_sort_key("Khaz Algar Blacksmithing") == 10 + assert tier_sort_key("Dragon Isles Alchemy") == 9 + assert tier_sort_key("Shadowlands Mining") == 8 + + def test_classic_is_lowest(self): + assert tier_sort_key("Classic Leatherworking") == 0 + + def test_unknown_expansion_returns_999(self): + assert tier_sort_key("Some Future Expansion Cooking") == 999 + + def test_case_insensitive(self): + assert tier_sort_key("KHAZ ALGAR Alchemy") == 10 + + +# --------------------------------------------------------------------------- +# BnetLogin — state validation (no external HTTP) +# --------------------------------------------------------------------------- + + +@pytest.mark.django_db +class TestBnetLogin: + def test_wrong_state_returns_error(self, client: Client): + resp = client.post( + "/api/custom/bnetlogin/", + data={"state": "wrong"}, + content_type="application/json", + ) + assert resp.status_code == 200 + assert resp.json() == "error" + + def test_missing_state_returns_error(self, client: Client): + resp = client.post( + "/api/custom/bnetlogin/", + data={}, + content_type="application/json", + ) + assert resp.status_code == 200 + assert resp.json() == "error" + + +# --------------------------------------------------------------------------- +# ScanAlt — session enforcement +# --------------------------------------------------------------------------- + + +@pytest.mark.django_db +class TestScanAlt: + def test_no_userid_returns_nouser(self, client: Client): + resp = client.post( + "/api/custom/scanalt/", + data={}, + content_type="application/json", + ) + assert resp.status_code == 200 + assert resp.json() == "nouser" + + def test_session_mismatch_returns_403(self, client: Client): + session = client.session + session["user_id"] = "other-user" + session.save() + + resp = client.post( + "/api/custom/scanalt/", + data={"userid": "target-user"}, + content_type="application/json", + ) + assert resp.status_code == 403 + + def test_no_session_returns_403(self, client: Client): + resp = client.post( + "/api/custom/scanalt/", + data={"userid": "some-user"}, + content_type="application/json", + ) + assert resp.status_code == 403 + + +# --------------------------------------------------------------------------- +# ProfileUserView — list parameters +# --------------------------------------------------------------------------- + + +@pytest.mark.django_db +class TestProfileUserView: + def _authed_client(self, user_id: str) -> Client: + c = Client() + session = c.session + session["user_id"] = user_id + session.save() + return c + + def test_missing_params_returns_hey(self): + c = self._authed_client("u1") + resp = c.get("/api/profile/users/?user=u1") + assert resp.status_code == 200 + assert resp.json() == "hey" + + def test_no_session_returns_403(self, client: Client): + resp = client.get("/api/profile/users/?user=u1") + assert resp.status_code == 403 + + def test_header_page_for_unknown_user_returns_empty(self): + c = self._authed_client("nobody") + resp = c.get("/api/profile/users/?user=nobody&page=header") + assert resp.status_code == 200 + assert resp.json() == [] + + +# --------------------------------------------------------------------------- +# ProfileAltView — IsSessionUser enforcement +# --------------------------------------------------------------------------- + + +@pytest.mark.django_db +class TestProfileAltView: + def test_no_session_returns_403(self, client: Client): + resp = client.get("/api/profile/alts/?user=u1") + assert resp.status_code == 403 + + def test_wrong_session_returns_403(self, client: Client): + session = client.session + session["user_id"] = "other" + session.save() + resp = client.get("/api/profile/alts/?user=u1") + assert resp.status_code == 403 + + def test_correct_session_returns_200(self, client: Client): + session = client.session + session["user_id"] = "u1" + session.save() + resp = client.get("/api/profile/alts/?user=u1") + assert resp.status_code == 200 + assert resp.json() == [] + + +# --------------------------------------------------------------------------- +# ProfileAltEquipmentView — session and page parameter enforcement +# --------------------------------------------------------------------------- + + +@pytest.mark.django_db +class TestProfileAltEquipmentView: + def test_no_page_param_returns_empty(self, client: Client): + session = client.session + session["user_id"] = "u1" + session.save() + resp = client.get("/api/profile/altequipments/?user=u1") + assert resp.status_code == 200 + assert resp.json() == [] + + def test_list_all_session_mismatch_returns_403(self, client: Client): + session = client.session + session["user_id"] = "other" + session.save() + resp = client.get("/api/profile/altequipments/?user=u1&page=all") + assert resp.status_code == 403 + + def test_list_all_no_user_param_returns_empty(self, client: Client): + session = client.session + session["user_id"] = "u1" + session.save() + resp = client.get("/api/profile/altequipments/?page=all") + assert resp.status_code == 200 + assert resp.json() == []