Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webpack: ES6 import + const + let #95

Open
wants to merge 29 commits into
base: master
Choose a base branch
from

Conversation

wmakley
Copy link
Collaborator

@wmakley wmakley commented Oct 14, 2019

If you want it, this is a minimal webpack-ified version of Gloomycompanion + const and let variable safety. I fixed some more tiny bugs (and found that I made errors in my previous work). As far as I can tell, all features are working.

I marked these "minimal" changes as a branch, since I plan to do much more.

Why you would want this:

  • Minified production builds (npm run build).
  • Live reloading (npm run dev-server).
  • ES6 imports and exports (clear dependencies, no globals).
  • Modernized PWA setup with service worker.

Why you wouldn't want this: Full IE 11 support. (Edge, Chrome, Safari, and FF are fine.)

@wmakley wmakley force-pushed the webpack-import-const-let branch from cab20f8 to 1a9b05b Compare October 14, 2019 19:21
@wmakley
Copy link
Collaborator Author

wmakley commented Oct 17, 2019

Btw feel free to change the author on package.json, I never know what that should be with multiple contributors anyway.

@wmakley
Copy link
Collaborator Author

wmakley commented Oct 26, 2019

Added a rudimentary service worker implementation, which could potentially resolve #15. Not sure it's perfect though.

dist/main.js Outdated
@@ -0,0 +1 @@
!function(e){var a={};function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var l in e)t.d(n,l,function(a){return e[a]}.bind(null,l));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=0)}([function(e,a,t){"use strict";t.r(a);const n={"Ancient Artillery":{name:"Ancient Artillery",class:"Ancient Artillery"},"Bandit Archer":{name:"Bandit Archer",class:"Archer"},"Bandit Guard":{name:"Bandit Guard",class:"Guard"},"Black Imp":{name:"Black Imp",class:"Imp"},Boss:{name:"Boss",class:"Boss"},"Cave Bear":{name:"Cave Bear",class:"Cave Bear"},"City Archer":{name:"City Archer",class:"Archer"},"City Guard":{name:"City Guard",class:"Guard"},Cultist:{name:"Cultist",class:"Cultist"},"Deep Terror":{name:"Deep Terror",class:"Deep Terror"},"Earth Demon":{name:"Earth Demon",class:"Earth Demon"},"Flame Demon":{name:"Flame Demon",class:"Flame Demon"},"Forest Imp":{name:"Forest Imp",class:"Imp"},"Frost Demon":{name:"Frost Demon",class:"Frost Demon"},"Giant Viper":{name:"Giant Viper",class:"Giant Viper"},"Harrower Infester":{name:"Harrower Infester",class:"Harrower Infester"},Hound:{name:"Hound",class:"Hound"},"Inox Archer":{name:"Inox Archer",class:"Archer"},"Inox Guard":{name:"Inox Guard",class:"Guard"},"Inox Shaman":{name:"Inox Shaman",class:"Shaman"},"Living Bones":{name:"Living Bones",class:"Living Bones"},"Living Corpse":{name:"Living Corpse",class:"Living Corpse"},"Living Spirit":{name:"Living Spirit",class:"Living Spirit"},Lurker:{name:"Lurker",class:"Lurker"},"Night Demon":{name:"Night Demon",class:"Night Demon"},Ooze:{name:"Ooze",class:"Ooze"},"Rending Drake":{name:"Rending Drake",class:"Rending Drake"},"Savvas Icestorm":{name:"Savvas Icestorm",class:"Savvas Icestorm"},"Savvas Lavaflow":{name:"Savvas Lavaflow",class:"Savvas Lavaflow"},"Spitting Drake":{name:"Spitting Drake",class:"Spitting Drake"},"Stone Golem":{name:"Stone Golem",class:"Stone Golem"},"Sun Demon":{name:"Sun Demon",class:"Sun Demon"},"Vermling Scout":{name:"Vermling Scout",class:"Scout"},"Vermling Shaman":{name:"Vermling Shaman",class:"Shaman"},"Wind Demon":{name:"Wind Demon",class:"Wind Demon"}},l={BLESS:"bless",CURSE:"curse",PLUS0:"plus0",PLUS1:"plus1",PLUS2:"plus2",MINUS1:"minus1",MINUS2:"minus2",NULL:"null",DOUBLE:"double"},i={BLESS:{type:l.BLESS,shuffle:!1,image:"images/attack_mod_bless.jpg"},CURSE:{type:l.CURSE,shuffle:!1,image:"images/attack_mod_curse.jpg"},PLUS0:{type:l.PLUS0,shuffle:!1,image:"images/attack_mod_+0.jpg"},PLUS1:{type:l.PLUS1,shuffle:!1,image:"images/attack_mod_+1.jpg"},PLUS2:{type:l.PLUS2,shuffle:!1,image:"images/attack_mod_+2.jpg"},MINUS1:{type:l.MINUS1,shuffle:!1,image:"images/attack_mod_-1.jpg"},MINUS2:{type:l.MINUS2,shuffle:!1,image:"images/attack_mod_-2.jpg"},NULL:{type:l.NULL,shuffle:!0,image:"images/attack_mod_null.jpg"},DOUBLE:{type:l.DOUBLE,shuffle:!0,image:"images/attack_mod_2x.jpg"}},s=[i.PLUS0,i.PLUS0,i.PLUS0,i.PLUS0,i.PLUS0,i.PLUS0,i.PLUS1,i.PLUS1,i.PLUS1,i.PLUS1,i.PLUS1,i.MINUS1,i.MINUS1,i.MINUS1,i.MINUS1,i.MINUS1,i.PLUS2,i.MINUS2,i.NULL,i.DOUBLE],r={monsters:{"Ancient Artillery":{level:[{level:0,normal:{health:4,move:0,attack:2,range:4,attributes:[]},elite:{health:7,move:0,attack:3,range:5,attributes:[]}},{level:1,normal:{health:6,move:0,attack:2,range:4,attributes:[]},elite:{health:9,move:0,attack:3,range:5,attributes:[]}},{level:2,normal:{health:7,move:0,attack:2,range:5,attributes:[]},elite:{health:11,move:0,attack:3,range:6,attributes:[]}},{level:3,normal:{health:8,move:0,attack:3,range:5,attributes:[]},elite:{health:13,move:0,attack:4,range:6,attributes:[]}},{level:4,normal:{health:9,move:0,attack:4,range:5,attributes:[]},elite:{health:13,move:0,attack:4,range:6,attributes:["%target% 2"]}},{level:5,normal:{health:11,move:0,attack:4,range:6,attributes:[]},elite:{health:15,move:0,attack:4,range:7,attributes:["%target% 2"]}},{level:6,normal:{health:14,move:0,attack:4,range:6,attributes:[]},elite:{health:16,move:0,attack:5,range:7,attributes:["%target% 2"]}},{level:7,normal:{health:16,move:0,attack:4,range:7,attributes:[]},elite:{health:20,move:0,attack:5,range:7,attributes:["%target% 2"]}}]},"Bandit Archer":{level:[{level:0,normal:{health:4,move:2,attack:2,range:3,attributes:[]},elite:{health:6,move:2,attack:3,range:3,attributes:[]}},{level:1,normal:{health:5,move:2,attack:2,range:4,attributes:[]},elite:{health:7,move:2,attack:3,range:5,attributes:[]}},{level:2,normal:{health:6,move:3,attack:2,range:4,attributes:[]},elite:{health:9,move:3,attack:3,range:5,attributes:[]}},{level:3,normal:{health:6,move:3,attack:3,range:4,attributes:[]},elite:{health:10,move:3,attack:4,range:5,attributes:[]}},{level:4,normal:{health:8,move:3,attack:3,range:4,attributes:[]},elite:{health:10,move:3,attack:4,range:6,attributes:["%poison%"]}},{level:5,normal:{health:10,move:3,attack:3,range:5,attributes:[]},elite:{health:12,move:4,attack:4,range:6,attributes:["%poison%"]}},{level:6,normal:{health:10,move:3,attack:4,range:5,attributes:[]},elite:{health:13,move:4,attack:5,range:6,attributes:["%poison%"]}},{level:7,normal:{health:13,move:3,attack:4,range:5,attributes:[]},elite:{health:17,move:4,attack:5,range:6,attributes:["%poison%"]}}]},"Bandit Guard":{level:[{level:0,normal:{health:5,move:2,attack:2,range:0,attributes:[]},elite:{health:9,move:2,attack:3,range:0,attributes:[]}},{level:1,normal:{health:6,move:3,attack:2,range:0,attributes:[]},elite:{health:9,move:2,attack:3,range:0,attributes:["%shield% 1"]}},{level:2,normal:{health:6,move:3,attack:3,range:0,attributes:[]},elite:{health:10,move:2,attack:4,range:0,attributes:["%shield% 1"]}},{level:3,normal:{health:9,move:3,attack:3,range:0,attributes:[]},elite:{health:10,move:3,attack:4,range:0,attributes:["%shield% 2"]}},{level:4,normal:{health:10,move:4,attack:3,range:0,attributes:[]},elite:{health:11,move:3,attack:4,range:0,attributes:["%muddle%","%shield% 2"]}},{level:5,normal:{health:11,move:4,attack:4,range:0,attributes:[]},elite:{health:12,move:3,attack:5,range:0,attributes:["%muddle%","%shield% 2"]}},{level:6,normal:{health:14,move:4,attack:4,range:0,attributes:[]},elite:{health:14,move:4,attack:5,range:0,attributes:["%muddle%","%shield% 2"]}},{level:7,normal:{health:16,move:5,attack:4,range:0,attributes:[]},elite:{health:14,move:3,attack:5,range:0,attributes:["%muddle%","%shield% 3"]}}]},"Black Imp":{level:[{level:0,normal:{health:3,move:1,attack:1,range:3,attributes:[]},elite:{health:4,move:1,attack:2,range:3,attributes:["%poison%"]}},{level:1,normal:{health:4,move:1,attack:1,range:3,attributes:["%poison%"]},elite:{health:6,move:1,attack:2,range:3,attributes:["%poison%"]}},{level:2,normal:{health:5,move:1,attack:1,range:4,attributes:["%poison%"]},elite:{health:8,move:1,attack:2,range:4,attributes:["%poison%"]}},{level:3,normal:{health:5,move:1,attack:2,range:4,attributes:["%poison%"]},elite:{health:8,move:1,attack:3,range:4,attributes:["Attackers gain Disadvantage","%poison%"]}},{level:4,normal:{health:7,move:1,attack:2,range:4,attributes:["%poison%"]},elite:{health:11,move:1,attack:3,range:4,attributes:["Attackers gain Disadvantage","%poison%"]}},{level:5,normal:{health:9,move:1,attack:2,range:4,attributes:["%poison%"]},elite:{health:12,move:1,attack:3,range:5,attributes:["Attackers gain Disadvantage","%poison%"]}},{level:6,normal:{health:10,move:1,attack:3,range:4,attributes:["%poison%"]},elite:{health:14,move:1,attack:4,range:5,attributes:["Attackers gain Disadvantage","%poison%"]}},{level:7,normal:{health:12,move:1,attack:3,range:4,attributes:["%poison%"]},elite:{health:17,move:1,attack:4,range:5,attributes:["Attackers gain Disadvantage","%poison%"]}}]},"Cave Bear":{level:[{level:0,normal:{health:7,move:3,attack:3,range:0,attributes:[]},elite:{health:11,move:3,attack:4,range:0,attributes:[]}},{level:1,normal:{health:9,move:3,attack:3,range:0,attributes:[]},elite:{health:14,move:3,attack:4,range:0,attributes:[]}},{level:2,normal:{health:11,move:4,attack:3,range:0,attributes:[]},elite:{health:17,move:4,attack:4,range:0,attributes:[]}},{level:3,normal:{health:13,move:4,attack:4,range:0,attributes:[]},elite:{health:20,move:4,attack:5,range:0,attributes:[]}},{level:4,normal:{health:16,move:4,attack:4,range:0,attributes:[]},elite:{health:21,move:5,attack:5,range:0,attributes:["%wound%"]}},{level:5,normal:{health:17,move:5,attack:4,range:0,attributes:["%wound%"]},elite:{health:24,move:5,attack:6,range:0,attributes:["%wound%"]}},{level:6,normal:{health:19,move:5,attack:5,range:0,attributes:["%wound%"]},elite:{health:28,move:5,attack:7,range:0,attributes:["%wound%"]}},{level:7,normal:{health:22,move:5,attack:5,range:0,attributes:["%wound%"]},elite:{health:33,move:5,attack:7,range:0,attributes:["%wound%"]}}]},"City Archer":{level:[{level:0,normal:{health:4,move:1,attack:2,range:3,attributes:[]},elite:{health:6,move:1,attack:3,range:4,attributes:[]}},{level:1,normal:{health:5,move:1,attack:2,range:4,attributes:[]},elite:{health:6,move:1,attack:3,range:5,attributes:["%pierce% 1","%shield% 1"]}},{level:2,normal:{health:6,move:1,attack:3,range:4,attributes:[]},elite:{health:7,move:1,attack:4,range:5,attributes:["%pierce% 2","%shield% 1"]}},{level:3,normal:{health:6,move:2,attack:3,range:4,attributes:["%shield% 1"]},elite:{health:8,move:2,attack:4,range:5,attributes:["%pierce% 2","%shield% 2"]}},{level:4,normal:{health:8,move:2,attack:3,range:5,attributes:["%shield% 1"]},elite:{health:10,move:2,attack:4,range:6,attributes:["%pierce% 2","%shield% 2"]}},{level:5,normal:{health:9,move:2,attack:4,range:5,attributes:["%shield% 1"]},elite:{health:11,move:2,attack:5,range:6,attributes:["%pierce% 3","%shield% 2"]}},{level:6,normal:{health:9,move:3,attack:4,range:5,attributes:["%shield% 2"]},elite:{health:12,move:3,attack:6,range:6,attributes:["%pierce% 3","%shield% 2"]}},{level:7,normal:{health:10,move:3,attack:4,range:6,attributes:["%shield% 2"]},elite:{health:13,move:3,attack:6,range:7,attributes:["%pierce% 3","%shield% 3"]}}]},"City Guard":{level:[{level:0,normal:{health:5,move:2,attack:2,range:0,attributes:[]},elite:{health:6,move:2,attack:3,range:0,attributes:["%shield% 1"]}},{level:1,normal:{health:5,move:2,attack:2,range:0,attributes:["%shield% 1"]},elite:{health:6,move:2,attack:3,range:0,attributes:["%shield% 2"]}},{level:2,normal:{health:7,move:2,attack:2,range:0,attributes:["%shield% 1"]},elite:{health:9,move:2,attack:3,range:0,attributes:["%shield% 2"]}},{level:3,normal:{health:8,move:2,attack:3,range:0,attributes:["%shield% 1"]},elite:{health:9,move:2,attack:4,range:0,attributes:["%retaliate% 1","%shield% 2"]}},{level:4,normal:{health:9,move:3,attack:3,range:0,attributes:["%shield% 1"]},elite:{health:10,move:3,attack:4,range:0,attributes:["%retaliate% 2","%shield% 2"]}},{level:5,normal:{health:10,move:3,attack:3,range:0,attributes:["%shield% 2"]},elite:{health:12,move:3,attack:4,range:0,attributes:["%retaliate% 2","%shield% 3"]}},{level:6,normal:{health:11,move:3,attack:4,range:0,attributes:["%shield% 2"]},elite:{health:13,move:3,attack:5,range:0,attributes:["%retaliate% 3","%shield% 3"]}},{level:7,normal:{health:13,move:3,attack:4,range:0,attributes:["%shield% 2"]},elite:{health:14,move:3,attack:6,range:0,attributes:["%retaliate% 3","%shield% 3"]}}]},Cultist:{level:[{level:0,normal:{health:4,move:2,attack:1,range:0,attributes:[]},elite:{health:7,move:2,attack:2,range:0,attributes:[]}},{level:1,normal:{health:5,move:2,attack:1,range:0,attributes:[]},elite:{health:9,move:2,attack:2,range:0,attributes:[]}},{level:2,normal:{health:7,move:2,attack:1,range:0,attributes:[]},elite:{health:12,move:2,attack:2,range:0,attributes:[]}},{level:3,normal:{health:9,move:3,attack:1,range:0,attributes:[]},elite:{health:13,move:3,attack:2,range:0,attributes:["%curse%"]}},{level:4,normal:{health:10,move:3,attack:2,range:0,attributes:[]},elite:{health:15,move:3,attack:3,range:0,attributes:["%curse%"]}},{level:5,normal:{health:11,move:3,attack:2,range:0,attributes:["%curse%"]},elite:{health:18,move:3,attack:3,range:0,attributes:["%curse%"]}},{level:6,normal:{health:14,move:3,attack:2,range:0,attributes:["%curse%"]},elite:{health:22,move:3,attack:3,range:0,attributes:["%curse%"]}},{level:7,normal:{health:15,move:3,attack:3,range:0,attributes:["%curse%"]},elite:{health:25,move:3,attack:4,range:0,attributes:["%curse%"]}}]},"Deep Terror":{level:[{level:0,normal:{health:3,move:0,attack:2,range:0,attributes:[]},elite:{health:5,move:0,attack:3,range:0,attributes:[]}},{level:1,normal:{health:4,move:0,attack:2,range:0,attributes:["%retaliate% 1"]},elite:{health:6,move:0,attack:3,range:0,attributes:["%retaliate% 1"]}},{level:2,normal:{health:4,move:0,attack:3,range:0,attributes:["%retaliate% 1"]},elite:{health:7,move:0,attack:4,range:0,attributes:["%retaliate% 1"]}},{level:3,normal:{health:5,move:0,attack:3,range:0,attributes:["%retaliate% 2"]},elite:{health:8,move:0,attack:4,range:0,attributes:["%retaliate% 2"]}},{level:4,normal:{health:6,move:0,attack:4,range:0,attributes:["%retaliate% 2"]},elite:{health:9,move:0,attack:5,range:0,attributes:["%retaliate% 2"]}},{level:5,normal:{health:7,move:0,attack:4,range:0,attributes:["%retaliate% 3"]},elite:{health:11,move:0,attack:5,range:0,attributes:["%retaliate% 3"]}},{level:6,normal:{health:8,move:0,attack:5,range:0,attributes:["%retaliate% 3"]},elite:{health:13,move:0,attack:6,range:0,attributes:["%retaliate% 3"]}},{level:7,normal:{health:9,move:0,attack:5,range:0,attributes:["%retaliate% 4"]},elite:{health:15,move:0,attack:6,range:0,attributes:["%retaliate% 4"]}}]},"Earth Demon":{level:[{level:0,normal:{health:7,move:1,attack:3,range:0,attributes:[]},elite:{health:10,move:2,attack:4,range:0,attributes:[]}},{level:1,normal:{health:9,move:1,attack:3,range:0,attributes:[]},elite:{health:13,move:2,attack:4,range:0,attributes:[]}},{level:2,normal:{health:12,move:1,attack:3,range:0,attributes:[]},elite:{health:18,move:2,attack:4,range:0,attributes:[]}},{level:3,normal:{health:13,move:2,attack:3,range:0,attributes:[]},elite:{health:20,move:2,attack:4,range:0,attributes:["%immobilize%"]}},{level:4,normal:{health:15,move:2,attack:4,range:0,attributes:[]},elite:{health:21,move:3,attack:5,range:0,attributes:["%immobilize%"]}},{level:5,normal:{health:17,move:2,attack:4,range:0,attributes:["%immobilize%"]},elite:{health:25,move:3,attack:5,range:0,attributes:["%immobilize%"]}},{level:6,normal:{health:20,move:2,attack:4,range:0,attributes:["%immobilize%"]},elite:{health:27,move:3,attack:6,range:0,attributes:["%immobilize%"]}},{level:7,normal:{health:22,move:3,attack:4,range:0,attributes:["%immobilize%"]},elite:{health:32,move:3,attack:6,range:0,attributes:["%immobilize%"]}}]},"Flame Demon":{level:[{level:0,normal:{health:2,move:3,attack:2,range:3,attributes:["%flying%","%shield% 2"]},elite:{health:3,move:3,attack:2,range:3,attributes:["%flying%","%shield% 3"]}},{level:1,normal:{health:2,move:3,attack:2,range:3,attributes:["%flying%","%shield% 3"]},elite:{health:3,move:3,attack:2,range:4,attributes:["%flying%","%retaliate% 2: %range% 2","%shield% 4"]}},{level:2,normal:{health:3,move:3,attack:3,range:3,attributes:["%flying%","%shield% 3"]},elite:{health:4,move:3,attack:3,range:4,attributes:["%flying%","%retaliate% 3: %range% 2","%shield% 4"]}},{level:3,normal:{health:3,move:3,attack:3,range:4,attributes:["%flying%","%retaliate% 2: %range% 2","%shield% 3"]},elite:{health:5,move:3,attack:3,range:5,attributes:["%flying%","%retaliate% 3: %range% 3","%shield% 4"]}},{level:4,normal:{health:3,move:4,attack:3,range:4,attributes:["%flying%","%retaliate% 3: %range% 2","%shield% 3"]},elite:{health:5,move:4,attack:4,range:5,attributes:["%flying%","%retaliate% 4: %range% 3","%shield% 4"]}},{level:5,normal:{health:4,move:4,attack:3,range:4,attributes:["%flying%","%retaliate% 3: %range% 2","%shield% 4"]},elite:{health:6,move:4,attack:4,range:5,attributes:["%flying%","%retaliate% 4: %range% 3","%shield% 5"]}},{level:6,normal:{health:4,move:4,attack:4,range:4,attributes:["%flying%","%retaliate% 4: %range% 2","%shield% 4"]},elite:{health:7,move:4,attack:5,range:5,attributes:["%flying%","%retaliate% 5: %range% 3","%shield% 5"]}},{level:7,normal:{health:5,move:4,attack:4,range:5,attributes:["%flying%","%retaliate% 4: %range% 3","%shield% 4"]},elite:{health:8,move:4,attack:5,range:6,attributes:["%flying%","%retaliate% 5: %range% 4","%shield% 5"]}}]},"Frost Demon":{level:[{level:0,normal:{health:5,move:2,attack:3,range:0,attributes:[]},elite:{health:10,move:3,attack:3,range:0,attributes:[]}},{level:1,normal:{health:6,move:2,attack:3,range:0,attributes:["%retaliate% 1"]},elite:{health:10,move:3,attack:3,range:0,attributes:["%retaliate% 2"]}},{level:2,normal:{health:7,move:3,attack:3,range:0,attributes:["%retaliate% 2"]},elite:{health:12,move:4,attack:4,range:0,attributes:["%retaliate% 2"]}},{level:3,normal:{health:8,move:3,attack:4,range:0,attributes:["%retaliate% 2"]},elite:{health:14,move:4,attack:4,range:0,attributes:["%retaliate% 3"]}},{level:4,normal:{health:10,move:3,attack:4,range:0,attributes:["%retaliate% 2"]},elite:{health:18,move:4,attack:4,range:0,attributes:["%retaliate% 3"]}},{level:5,normal:{health:11,move:3,attack:4,range:0,attributes:["%retaliate% 3"]},elite:{health:20,move:4,attack:5,range:0,attributes:["%retaliate% 3"]}},{level:6,normal:{health:12,move:3,attack:5,range:0,attributes:["%retaliate% 3"]},elite:{health:22,move:4,attack:5,range:0,attributes:["%retaliate% 4"]}},{level:7,normal:{health:14,move:3,attack:5,range:0,attributes:["%retaliate% 3"]},elite:{health:25,move:4,attack:5,range:0,attributes:["%retaliate% 4"]}}]},"Forest Imp":{level:[{level:0,normal:{health:1,move:3,attack:1,range:3,attributes:["%flying%","%shield% 1"]},elite:{health:4,move:3,attack:1,range:3,attributes:["%flying%","%shield% 1"]}},{level:1,normal:{health:2,move:3,attack:1,range:3,attributes:["%flying%","%shield% 1"]},elite:{health:5,move:3,attack:2,range:3,attributes:["%flying%","%shield% 1"]}},{level:2,normal:{health:2,move:3,attack:2,range:3,attributes:["%flying%","%shield% 1"]},elite:{health:6,move:3,attack:2,range:3,attributes:["%flying%","%curse%","%shield% 1"]}},{level:3,normal:{health:3,move:4,attack:2,range:4,attributes:["%flying%","%shield% 1"]},elite:{health:7,move:4,attack:2,range:4,attributes:["%flying%","%curse%","%shield% 1"]}},{level:4,normal:{health:3,move:4,attack:2,range:4,attributes:["%flying%","%shield% 2"]},elite:{health:7,move:4,attack:2,range:4,attributes:["%flying%","%curse%","%shield% 2"]}},{level:5,normal:{health:4,move:4,attack:2,range:4,attributes:["%flying%","%curse%","%shield% 2"]},elite:{health:8,move:4,attack:3,range:4,attributes:["%flying%","%curse%","%shield% 2"]}},{level:6,normal:{health:4,move:4,attack:3,range:4,attributes:["%flying%","%curse%","%shield% 2"]},elite:{health:9,move:4,attack:4,range:4,attributes:["%flying%","%curse%","%shield% 2"]}},{level:7,normal:{health:6,move:4,attack:3,range:4,attributes:["%flying%","%curse%","%shield% 2"]},elite:{health:11,move:4,attack:4,range:4,attributes:["%flying%","%curse%","%shield% 2"]}}]},"Giant Viper":{level:[{level:0,normal:{health:2,move:2,attack:1,range:0,attributes:["%poison%"]},elite:{health:3,move:2,attack:2,range:0,attributes:["%poison%"]}},{level:1,normal:{health:3,move:2,attack:1,range:0,attributes:["%poison%"]},elite:{health:5,move:2,attack:2,range:0,attributes:["%poison%"]}},{level:2,normal:{health:4,move:3,attack:1,range:0,attributes:["%poison%"]},elite:{health:7,move:3,attack:2,range:0,attributes:["%poison%"]}},{level:3,normal:{health:4,move:3,attack:2,range:0,attributes:["%poison%"]},elite:{health:8,move:3,attack:3,range:0,attributes:["%poison%"]}},{level:4,normal:{health:6,move:3,attack:2,range:0,attributes:["%poison%"]},elite:{health:11,move:3,attack:3,range:0,attributes:["%poison%"]}},{level:5,normal:{health:7,move:3,attack:3,range:0,attributes:["%poison%"]},elite:{health:13,move:4,attack:3,range:0,attributes:["%poison%"]}},{level:6,normal:{health:8,move:4,attack:3,range:0,attributes:["%poison%"]},elite:{health:14,move:4,attack:4,range:0,attributes:["%poison%"]}},{level:7,normal:{health:10,move:4,attack:3,range:0,attributes:["%poison%"]},elite:{health:17,move:4,attack:4,range:0,attributes:["%poison%"]}}]},"Harrower Infester":{level:[{level:0,normal:{health:6,move:2,attack:2,range:0,attributes:[]},elite:{health:12,move:2,attack:2,range:0,attributes:[]}},{level:1,normal:{health:7,move:2,attack:2,range:0,attributes:["%retaliate% 1"]},elite:{health:12,move:3,attack:2,range:0,attributes:["%retaliate% 2"]}},{level:2,normal:{health:8,move:2,attack:2,range:0,attributes:["%retaliate% 2"]},elite:{health:14,move:3,attack:3,range:0,attributes:["%retaliate% 2"]}},{level:3,normal:{health:10,move:2,attack:3,range:0,attributes:["%retaliate% 2"]},elite:{health:17,move:3,attack:3,range:0,attributes:["%retaliate% 3"]}},{level:4,normal:{health:12,move:3,attack:3,range:0,attributes:["%retaliate% 2"]},elite:{health:19,move:3,attack:4,range:0,attributes:["%retaliate% 3"]}},{level:5,normal:{health:12,move:3,attack:4,range:0,attributes:["%retaliate% 3"]},elite:{health:21,move:3,attack:5,range:0,attributes:["%retaliate% 3"]}},{level:6,normal:{health:15,move:3,attack:4,range:0,attributes:["%retaliate% 3"]},elite:{health:22,move:4,attack:5,range:0,attributes:["%retaliate% 4"]}},{level:7,normal:{health:17,move:3,attack:4,range:0,attributes:["%retaliate% 4"]},elite:{health:26,move:4,attack:5,range:0,attributes:["%retaliate% 4"]}}]},Hound:{level:[{level:0,normal:{health:4,move:3,attack:2,range:0,attributes:[]},elite:{health:6,move:5,attack:2,range:0,attributes:[]}},{level:1,normal:{health:4,move:4,attack:2,range:0,attributes:["%retaliate% 1"]},elite:{health:6,move:5,attack:2,range:0,attributes:["%retaliate% 2"]}},{level:2,normal:{health:6,move:4,attack:2,range:0,attributes:["%retaliate% 1"]},elite:{health:7,move:5,attack:3,range:0,attributes:["%retaliate% 2"]}},{level:3,normal:{health:8,move:4,attack:2,range:0,attributes:["%retaliate% 1"]},elite:{health:8,move:5,attack:4,range:0,attributes:["%retaliate% 2"]}},{level:4,normal:{health:8,move:4,attack:3,range:0,attributes:["%retaliate% 1"]},elite:{health:11,move:5,attack:4,range:0,attributes:["%retaliate% 2"]}},{level:5,normal:{health:9,move:4,attack:3,range:0,attributes:["%retaliate% 2"]},elite:{health:12,move:5,attack:4,range:0,attributes:["%retaliate% 3"]}},{level:6,normal:{health:11,move:5,attack:3,range:0,attributes:["%retaliate% 2"]},elite:{health:15,move:6,attack:4,range:0,attributes:["%retaliate% 3"]}},{level:7,normal:{health:15,move:5,attack:3,range:0,attributes:["%retaliate% 2"]},elite:{health:15,move:6,attack:5,range:0,attributes:["%retaliate% 4"]}}]},"Inox Archer":{level:[{level:0,normal:{health:5,move:2,attack:2,range:2,attributes:[]},elite:{health:7,move:2,attack:3,range:3,attributes:[]}},{level:1,normal:{health:6,move:2,attack:2,range:3,attributes:[]},elite:{health:8,move:2,attack:3,range:4,attributes:[]}},{level:2,normal:{health:8,move:2,attack:2,range:3,attributes:[]},elite:{health:11,move:2,attack:3,range:4,attributes:[]}},{level:3,normal:{health:9,move:2,attack:3,range:3,attributes:[]},elite:{health:13,move:2,attack:4,range:4,attributes:[]}},{level:4,normal:{health:10,move:3,attack:3,range:3,attributes:[]},elite:{health:14,move:3,attack:4,range:4,attributes:["%wound%"]}},{level:5,normal:{health:12,move:3,attack:3,range:4,attributes:[]},elite:{health:17,move:3,attack:4,range:5,attributes:["%wound%"]}},{level:6,normal:{health:12,move:3,attack:4,range:4,attributes:["%wound%"]},elite:{health:19,move:3,attack:5,range:5,attributes:["%wound%"]}},{level:7,normal:{health:15,move:3,attack:4,range:4,attributes:["%wound%"]},elite:{health:23,move:3,attack:5,range:5,attributes:["%wound%"]}}]},"Inox Guard":{level:[{level:0,normal:{health:5,move:2,attack:2,range:0,attributes:[]},elite:{health:9,move:1,attack:3,range:0,attributes:["%retaliate% 1"]}},{level:1,normal:{health:8,move:2,attack:2,range:0,attributes:[]},elite:{health:10,move:2,attack:3,range:0,attributes:["%retaliate% 2"]}},{level:2,normal:{health:9,move:2,attack:3,range:0,attributes:[]},elite:{health:12,move:2,attack:4,range:0,attributes:["%retaliate% 2"]}},{level:3,normal:{health:11,move:3,attack:3,range:0,attributes:[]},elite:{health:15,move:2,attack:4,range:0,attributes:["%retaliate% 3"]}},{level:4,normal:{health:12,move:3,attack:3,range:0,attributes:["%retaliate% 1"]},elite:{health:17,move:2,attack:5,range:0,attributes:["%retaliate% 3"]}},{level:5,normal:{health:13,move:3,attack:4,range:0,attributes:["%retaliate% 1"]},elite:{health:19,move:2,attack:5,range:0,attributes:["%retaliate% 4"]}},{level:6,normal:{health:16,move:3,attack:4,range:0,attributes:["%retaliate% 1"]},elite:{health:21,move:3,attack:5,range:0,attributes:["%retaliate% 4"]}},{level:7,normal:{health:19,move:3,attack:4,range:0,attributes:["%retaliate% 2"]},elite:{health:23,move:3,attack:6,range:0,attributes:["%retaliate% 4"]}}]},"Inox Shaman":{level:[{level:0,normal:{health:4,move:1,attack:2,range:3,attributes:[]},elite:{health:6,move:2,attack:3,range:3,attributes:[]}},{level:1,normal:{health:6,move:1,attack:2,range:3,attributes:[]},elite:{health:9,move:2,attack:3,range:3,attributes:[]}},{level:2,normal:{health:7,move:2,attack:2,range:3,attributes:[]},elite:{health:11,move:3,attack:3,range:3,attributes:[]}},{level:3,normal:{health:9,move:2,attack:2,range:4,attributes:[]},elite:{health:14,move:3,attack:3,range:4,attributes:[]}},{level:4,normal:{health:10,move:2,attack:3,range:4,attributes:[]},elite:{health:16,move:3,attack:4,range:4,attributes:[]}},{level:5,normal:{health:13,move:2,attack:3,range:4,attributes:[]},elite:{health:20,move:3,attack:4,range:4,attributes:[]}},{level:6,normal:{health:15,move:3,attack:3,range:4,attributes:[]},elite:{health:24,move:4,attack:4,range:4,attributes:[]}},{level:7,normal:{health:16,move:3,attack:4,range:4,attributes:[]},elite:{health:27,move:4,attack:5,range:4,attributes:[]}}]},"Living Bones":{level:[{level:0,normal:{health:5,move:2,attack:1,range:0,attributes:["%target% 2"]},elite:{health:6,move:4,attack:2,range:0,attributes:["%target% 2"]}},{level:1,normal:{health:5,move:3,attack:1,range:0,attributes:["%target% 2","%shield% 1"]},elite:{health:6,move:4,attack:2,range:0,attributes:["%target% 3","%shield% 1"]}},{level:2,normal:{health:5,move:3,attack:2,range:0,attributes:["%target% 2","%shield% 1"]},elite:{health:7,move:4,attack:3,range:0,attributes:["%target% 3","%shield% 1"]}},{level:3,normal:{health:7,move:3,attack:2,range:0,attributes:["%target% 2","%shield% 1"]},elite:{health:10,move:4,attack:3,range:0,attributes:["%target% 3","%shield% 1"]}},{level:4,normal:{health:7,move:3,attack:3,range:0,attributes:["%target% 2","%shield% 1"]},elite:{health:11,move:4,attack:4,range:0,attributes:["%target% 3","%shield% 1"]}},{level:5,normal:{health:9,move:3,attack:3,range:0,attributes:["%target% 2","%shield% 1"]},elite:{health:11,move:4,attack:4,range:0,attributes:["%target% 3","%shield% 2"]}},{level:6,normal:{health:10,move:4,attack:3,range:0,attributes:["%target% 2","%shield% 1"]},elite:{health:11,move:6,attack:4,range:0,attributes:["%target% 3","%shield% 2"]}},{level:7,normal:{health:13,move:4,attack:3,range:0,attributes:["%target% 2","%shield% 1"]},elite:{health:14,move:6,attack:4,range:0,attributes:["%target% 3","%shield% 2"]}}]},"Living Corpse":{level:[{level:0,normal:{health:5,move:1,attack:3,range:0,attributes:[]},elite:{health:10,move:1,attack:3,range:0,attributes:[]}},{level:1,normal:{health:7,move:1,attack:3,range:0,attributes:[]},elite:{health:10,move:1,attack:4,range:0,attributes:[]}},{level:2,normal:{health:9,move:1,attack:3,range:0,attributes:[]},elite:{health:13,move:1,attack:4,range:0,attributes:[]}},{level:3,normal:{health:10,move:1,attack:4,range:0,attributes:[]},elite:{health:13,move:2,attack:5,range:0,attributes:[]}},{level:4,normal:{health:11,move:2,attack:4,range:0,attributes:[]},elite:{health:15,move:2,attack:5,range:0,attributes:["%poison%"]}},{level:5,normal:{health:13,move:2,attack:4,range:0,attributes:[]},elite:{health:17,move:2,attack:6,range:0,attributes:["%poison%"]}},{level:6,normal:{health:14,move:2,attack:4,range:0,attributes:["%poison%"]},elite:{health:21,move:2,attack:6,range:0,attributes:["%poison%"]}},{level:7,normal:{health:15,move:2,attack:5,range:0,attributes:["%poison%"]},elite:{health:25,move:2,attack:6,range:0,attributes:["%poison%"]}}]},"Living Spirit":{level:[{level:0,normal:{health:2,move:2,attack:2,range:2,attributes:["%flying%","%shield% 1"]},elite:{health:3,move:3,attack:3,range:3,attributes:["%flying%","%shield% 2"]}},{level:1,normal:{health:2,move:2,attack:2,range:2,attributes:["%flying%","%shield% 2"]},elite:{health:3,move:3,attack:3,range:3,attributes:["%flying%","%shield% 3"]}},{level:2,normal:{health:2,move:3,attack:2,range:3,attributes:["%flying%","%shield% 2"]},elite:{health:3,move:4,attack:3,range:4,attributes:["%flying%","%shield% 3"]}},{level:3,normal:{health:3,move:3,attack:3,range:3,attributes:["%flying%","%shield% 2"]},elite:{health:4,move:4,attack:4,range:4,attributes:["%flying%","%shield% 3"]}},{level:4,normal:{health:3,move:3,attack:3,range:3,attributes:["%flying%","%shield% 3"]},elite:{health:4,move:4,attack:4,range:4,attributes:["%flying%","%shield% 4"]}},{level:5,normal:{health:4,move:3,attack:3,range:4,attributes:["%flying%","%shield% 3"]},elite:{health:6,move:4,attack:4,range:4,attributes:["%flying%","%shield% 4"]}},{level:6,normal:{health:4,move:3,attack:4,range:4,attributes:["%flying%","%shield% 3"]},elite:{health:7,move:4,attack:5,range:5,attributes:["%flying%","%shield% 4"]}},{level:7,normal:{health:6,move:3,attack:4,range:4,attributes:["%flying%","%shield% 3"]},elite:{health:9,move:4,attack:5,range:5,attributes:["%flying%","%shield% 4"]}}]},Lurker:{level:[{level:0,normal:{health:5,move:2,attack:2,range:0,attributes:["%target% 2"]},elite:{health:7,move:2,attack:3,range:0,attributes:["%target% 2","%shield% 1"]}},{level:1,normal:{health:7,move:2,attack:2,range:0,attributes:["%target% 2","%pierce% 1"]},elite:{health:9,move:2,attack:3,range:0,attributes:["%target% 2","%pierce% 1","%shield% 1"]}},{level:2,normal:{health:9,move:3,attack:2,range:0,attributes:["%target% 2","%pierce% 1"]},elite:{health:12,move:3,attack:3,range:0,attributes:["%target% 2","%pierce% 2","%shield% 1"]}},{level:3,normal:{health:10,move:3,attack:3,range:0,attributes:["%target% 2","%pierce% 2"]},elite:{health:14,move:3,attack:4,range:0,attributes:["%target% 2","%pierce% 2","%shield% 1"]}},{level:4,normal:{health:10,move:3,attack:3,range:0,attributes:["%target% 2","%pierce% 2","%shield% 1"]},elite:{health:14,move:3,attack:4,range:0,attributes:["%target% 2","%pierce% 3","%shield% 2"]}},{level:5,normal:{health:11,move:3,attack:4,range:0,attributes:["%target% 2","%pierce% 2","%shield% 1"]},elite:{health:15,move:3,attack:5,range:0,attributes:["%target% 2","%pierce% 3","%shield% 2"]}},{level:6,normal:{health:12,move:4,attack:4,range:0,attributes:["%target% 2","%pierce% 3","%shield% 1"]},elite:{health:16,move:4,attack:5,range:0,attributes:["%target% 2","%pierce% 4","%shield% 2"]}},{level:7,normal:{health:14,move:4,attack:4,range:0,attributes:["%target% 2","%pierce% 3","%shield% 1"]},elite:{health:18,move:4,attack:5,range:0,attributes:["%target% 2","%pierce% 4","%shield% 2"]}}]},Ooze:{level:[{level:0,normal:{health:4,move:1,attack:2,range:2,attributes:[]},elite:{health:8,move:1,attack:2,range:3,attributes:[]}},{level:1,normal:{health:5,move:1,attack:2,range:2,attributes:["%shield% 1"]},elite:{health:9,move:1,attack:2,range:3,attributes:["%shield% 1"]}},{level:2,normal:{health:7,move:1,attack:2,range:3,attributes:["%shield% 1"]},elite:{health:11,move:1,attack:3,range:3,attributes:["%shield% 1"]}},{level:3,normal:{health:8,move:1,attack:3,range:3,attributes:["%shield% 1"]},elite:{health:11,move:2,attack:3,range:4,attributes:["%poison%","%shield% 1"]}},{level:4,normal:{health:9,move:2,attack:3,range:3,attributes:["%shield% 1"]},elite:{health:13,move:2,attack:4,range:4,attributes:["%poison%","%shield% 1"]}},{level:5,normal:{health:10,move:2,attack:3,range:3,attributes:["%poison%","%shield% 1"]},elite:{health:15,move:3,attack:4,range:4,attributes:["%poison%","%shield% 1"]}},{level:6,normal:{health:12,move:2,attack:4,range:3,attributes:["%poison%","%shield% 1"]},elite:{health:16,move:3,attack:4,range:4,attributes:["%poison%","%shield% 2"]}},{level:7,normal:{health:14,move:2,attack:4,range:3,attributes:["%poison%","%shield% 1"]},elite:{health:18,move:3,attack:5,range:4,attributes:["%poison%","%shield% 2"]}}]},"Night Demon":{level:[{level:0,normal:{health:3,move:3,attack:3,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:5,move:4,attack:4,range:0,attributes:["Attackers gain Disadvantage"]}},{level:1,normal:{health:5,move:3,attack:3,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:8,move:4,attack:4,range:0,attributes:["Attackers gain Disadvantage"]}},{level:2,normal:{health:6,move:3,attack:4,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:11,move:4,attack:4,range:0,attributes:["Attackers gain Disadvantage"]}},{level:3,normal:{health:7,move:4,attack:4,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:13,move:4,attack:5,range:0,attributes:["Attackers gain Disadvantage"]}},{level:4,normal:{health:8,move:4,attack:5,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:15,move:5,attack:5,range:0,attributes:["Attackers gain Disadvantage"]}},{level:5,normal:{health:11,move:4,attack:5,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:17,move:5,attack:6,range:0,attributes:["Attackers gain Disadvantage"]}},{level:6,normal:{health:14,move:4,attack:5,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:21,move:5,attack:6,range:0,attributes:["Attackers gain Disadvantage"]}},{level:7,normal:{health:15,move:4,attack:6,range:0,attributes:["Attackers gain Disadvantage"]},elite:{health:21,move:5,attack:8,range:0,attributes:["Attackers gain Disadvantage"]}}]},"Rending Drake":{level:[{level:0,normal:{health:5,move:3,attack:3,range:0,attributes:[]},elite:{health:7,move:4,attack:4,range:0,attributes:[]}},{level:1,normal:{health:6,move:3,attack:3,range:0,attributes:["%wound%"]},elite:{health:7,move:4,attack:5,range:0,attributes:["%wound%"]}},{level:2,normal:{health:7,move:4,attack:3,range:0,attributes:["%wound%"]},elite:{health:9,move:5,attack:5,range:0,attributes:["%wound%"]}},{level:3,normal:{health:7,move:4,attack:4,range:0,attributes:["%wound%"]},elite:{health:10,move:5,attack:6,range:0,attributes:["%wound%"]}},{level:4,normal:{health:9,move:4,attack:4,range:0,attributes:["%wound%"]},elite:{health:11,move:6,attack:6,range:0,attributes:["%wound%"]}},{level:5,normal:{health:10,move:4,attack:5,range:0,attributes:["%wound%"]},elite:{health:14,move:6,attack:6,range:0,attributes:["%wound%"]}},{level:6,normal:{health:11,move:5,attack:5,range:0,attributes:["%wound%"]},elite:{health:15,move:6,attack:7,range:0,attributes:["%wound%"]}},{level:7,normal:{health:14,move:5,attack:5,range:0,attributes:["%wound%"]},elite:{health:18,move:6,attack:7,range:0,attributes:["%wound%"]}}]},"Savvas Icestorm":{level:[{level:0,normal:{health:7,move:2,attack:2,range:3,attributes:["%pierce% 3"]},elite:{health:12,move:2,attack:3,range:4,attributes:["%pierce% 3"]}},{level:1,normal:{health:10,move:2,attack:2,range:4,attributes:["%pierce% 3"]},elite:{health:12,move:2,attack:3,range:5,attributes:["%pierce% 3","%shield% 1"]}},{level:2,normal:{health:12,move:3,attack:2,range:4,attributes:["%pierce% 3"]},elite:{health:15,move:3,attack:3,range:5,attributes:["%pierce% 3","%shield% 1"]}},{level:3,normal:{health:12,move:3,attack:3,range:4,attributes:["%pierce% 3","%shield% 1"]},elite:{health:18,move:3,attack:4,range:6,attributes:["%pierce% 3","%shield% 1"]}},{level:4,normal:{health:14,move:3,attack:3,range:5,attributes:["%pierce% 3","%shield% 1"]},elite:{health:19,move:4,attack:4,range:6,attributes:["%pierce% 3","%shield% 2"]}},{level:5,normal:{health:16,move:3,attack:4,range:5,attributes:["%pierce% 3","%shield% 1"]},elite:{health:21,move:4,attack:5,range:6,attributes:["%pierce% 3","%shield% 2"]}},{level:6,normal:{health:16,move:3,attack:4,range:5,attributes:["%pierce% 3","%shield% 2"]},elite:{health:23,move:4,attack:6,range:6,attributes:["%pierce% 3","%shield% 2"]}},{level:7,normal:{health:17,move:4,attack:4,range:6,attributes:["%pierce% 3","%shield% 2"]},elite:{health:24,move:4,attack:6,range:6,attributes:["%pierce% 4","%shield% 3"]}}]},"Savvas Lavaflow":{level:[{level:0,normal:{health:8,move:3,attack:2,range:0,attributes:[]},elite:{health:13,move:3,attack:3,range:0,attributes:[]}},{level:1,normal:{health:9,move:3,attack:2,range:0,attributes:["%poison%"]},elite:{health:15,move:3,attack:3,range:0,attributes:["%wound%"]}},{level:2,normal:{health:11,move:3,attack:3,range:0,attributes:["%poison%"]},elite:{health:18,move:3,attack:3,range:0,attributes:["%poison%","%wound%"]}},{level:3,normal:{health:14,move:3,attack:3,range:0,attributes:["%poison%"]},elite:{health:21,move:3,attack:4,range:0,attributes:["%poison%","%wound%"]}},{level:4,normal:{health:16,move:3,attack:4,range:0,attributes:["%poison%"]},elite:{health:24,move:4,attack:4,range:0,attributes:["%poison%","%wound%"]}},{level:5,normal:{health:18,move:3,attack:4,range:0,attributes:["%poison%","%wound%"]},elite:{health:27,move:4,attack:5,range:0,attributes:["%poison%","%wound%"]}},{level:6,normal:{health:20,move:4,attack:4,range:0,attributes:["%poison%","%wound%"]},elite:{health:30,move:4,attack:6,range:0,attributes:["%poison%","%wound%"]}},{level:7,normal:{health:24,move:4,attack:4,range:0,attributes:["%poison%","%wound%"]},elite:{health:35,move:4,attack:6,range:0,attributes:["%poison%","%wound%"]}}]},"Spitting Drake":{level:[{level:0,normal:{health:5,move:3,attack:3,range:3,attributes:["%flying%"]},elite:{health:8,move:3,attack:4,range:4,attributes:["%flying%"]}},{level:1,normal:{health:6,move:3,attack:3,range:3,attributes:["%flying%"]},elite:{health:9,move:3,attack:4,range:4,attributes:["%flying%","%muddle%"]}},{level:2,normal:{health:8,move:3,attack:3,range:3,attributes:["%flying%","%muddle%"]},elite:{health:10,move:3,attack:5,range:4,attributes:["%flying%","%muddle%"]}},{level:3,normal:{health:8,move:3,attack:4,range:4,attributes:["%flying%","%muddle%"]},elite:{health:12,move:3,attack:5,range:5,attributes:["%flying%","%muddle%"]}},{level:4,normal:{health:9,move:4,attack:4,range:4,attributes:["%flying%","%muddle%"]},elite:{health:14,move:4,attack:5,range:5,attributes:["%flying%","%muddle%"]}},{level:5,normal:{health:12,move:4,attack:4,range:4,attributes:["%flying%","%muddle%"]},elite:{health:16,move:4,attack:6,range:5,attributes:["%flying%","%muddle%"]}},{level:6,normal:{health:13,move:4,attack:5,range:4,attributes:["%flying%","%muddle%"]},elite:{health:19,move:4,attack:6,range:5,attributes:["%flying%","%muddle%"]}},{level:7,normal:{health:16,move:4,attack:5,range:4,attributes:["%flying%","%muddle%"]},elite:{health:21,move:4,attack:7,range:5,attributes:["%flying%","%muddle%"]}}]},"Stone Golem":{level:[{level:0,normal:{health:10,move:1,attack:3,range:0,attributes:[]},elite:{health:10,move:2,attack:4,range:0,attributes:["%shield% 1"]}},{level:1,normal:{health:10,move:1,attack:3,range:0,attributes:["%shield% 1"]},elite:{health:11,move:2,attack:4,range:0,attributes:["%shield% 2"]}},{level:2,normal:{health:11,move:1,attack:4,range:0,attributes:["%shield% 1"]},elite:{health:14,move:2,attack:5,range:0,attributes:["%shield% 2"]}},{level:3,normal:{health:11,move:1,attack:4,range:0,attributes:["%shield% 2"]},elite:{health:15,move:2,attack:5,range:0,attributes:["%shield% 3"]}},{level:4,normal:{health:12,move:2,attack:4,range:0,attributes:["%shield% 2"]},elite:{health:17,move:2,attack:6,range:0,attributes:["%shield% 3"]}},{level:5,normal:{health:13,move:2,attack:5,range:0,attributes:["%shield% 2"]},elite:{health:19,move:3,attack:6,range:0,attributes:["%shield% 3"]}},{level:6,normal:{health:16,move:2,attack:5,range:0,attributes:["%shield% 2"]},elite:{health:20,move:3,attack:7,range:0,attributes:["%shield% 3"]}},{level:7,normal:{health:16,move:2,attack:5,range:0,attributes:["%shield% 3"]},elite:{health:21,move:3,attack:7,range:0,attributes:["%shield% 4"]}}]},"Sun Demon":{level:[{level:0,normal:{health:5,move:2,attack:2,range:0,attributes:["%flying%","Advantage","%shield% 1"]},elite:{health:9,move:2,attack:3,range:0,attributes:["%flying%","Advantage","%shield% 1"]}},{level:1,normal:{health:7,move:2,attack:2,range:0,attributes:["%flying%","Advantage","%shield% 1"]},elite:{health:12,move:2,attack:3,range:0,attributes:["%flying%","Advantage","%shield% 1"]}},{level:2,normal:{health:9,move:2,attack:2,range:0,attributes:["%flying%","Advantage","%shield% 1"]},elite:{health:13,move:2,attack:4,range:0,attributes:["%flying%","Advantage","%shield% 1"]}},{level:3,normal:{health:10,move:2,attack:3,range:0,attributes:["%flying%","Advantage","%shield% 1"]},elite:{health:15,move:3,attack:4,range:0,attributes:["%flying%","Advantage","%shield% 1"]}},{level:4,normal:{health:11,move:3,attack:3,range:0,attributes:["%flying%","Advantage","%shield% 1"]},elite:{health:16,move:3,attack:5,range:0,attributes:["%flying%","Advantage","%shield% 1"]}},{level:5,normal:{health:11,move:3,attack:3,range:0,attributes:["%flying%","Advantage","%shield% 2"]},elite:{health:16,move:3,attack:5,range:0,attributes:["%flying%","Advantage","%shield% 2"]}},{level:6,normal:{health:12,move:3,attack:4,range:0,attributes:["%flying%","Advantage","%shield% 2"]},elite:{health:18,move:4,attack:5,range:0,attributes:["%flying%","Advantage","%shield% 2"]}},{level:7,normal:{health:15,move:3,attack:4,range:0,attributes:["%flying%","Advantage","%shield% 2"]},elite:{health:22,move:4,attack:5,range:0,attributes:["%flying%","Advantage","%shield% 2"]}}]},"Vermling Scout":{level:[{level:0,normal:{health:2,move:3,attack:1,range:0,attributes:[]},elite:{health:4,move:3,attack:2,range:0,attributes:[]}},{level:1,normal:{health:3,move:3,attack:1,range:0,attributes:[]},elite:{health:5,move:3,attack:2,range:0,attributes:[]}},{level:2,normal:{health:3,move:3,attack:2,range:0,attributes:[]},elite:{health:5,move:4,attack:3,range:0,attributes:[]}},{level:3,normal:{health:5,move:3,attack:2,range:0,attributes:[]},elite:{health:7,move:4,attack:3,range:0,attributes:[]}},{level:4,normal:{health:6,move:3,attack:3,range:0,attributes:[]},elite:{health:8,move:4,attack:4,range:0,attributes:[]}},{level:5,normal:{health:8,move:3,attack:3,range:0,attributes:[]},elite:{health:11,move:4,attack:4,range:0,attributes:[]}},{level:6,normal:{health:9,move:4,attack:3,range:0,attributes:[]},elite:{health:12,move:5,attack:4,range:0,attributes:[]}},{level:7,normal:{health:11,move:4,attack:3,range:0,attributes:[]},elite:{health:15,move:5,attack:4,range:0,attributes:[]}}]},"Vermling Shaman":{level:[{level:0,normal:{health:2,move:2,attack:1,range:3,attributes:["%shield% 2"]},elite:{health:3,move:3,attack:2,range:3,attributes:["%shield% 2"]}},{level:1,normal:{health:2,move:2,attack:1,range:3,attributes:["%shield% 3"]},elite:{health:3,move:3,attack:2,range:3,attributes:["%shield% 3"]}},{level:2,normal:{health:3,move:2,attack:1,range:4,attributes:["%shield% 3"]},elite:{health:4,move:3,attack:2,range:4,attributes:["%shield% 3"]}},{level:3,normal:{health:3,move:2,attack:2,range:4,attributes:["%shield% 3"]},elite:{health:5,move:3,attack:3,range:4,attributes:["%shield% 3"]}},{level:4,normal:{health:3,move:3,attack:2,range:4,attributes:["%muddle%","%shield% 3"]},elite:{health:5,move:3,attack:3,range:4,attributes:["%muddle%","%shield% 4"]}},{level:5,normal:{health:4,move:3,attack:3,range:4,attributes:["%muddle%","%shield% 3"]},elite:{health:6,move:3,attack:4,range:4,attributes:["%muddle%","%shield% 4"]}},{level:6,normal:{health:5,move:3,attack:4,range:4,attributes:["%muddle%","%shield% 3"]},elite:{health:6,move:3,attack:4,range:4,attributes:["%muddle%","%shield% 5"]}},{level:7,normal:{health:7,move:3,attack:4,range:4,attributes:["%muddle%","%shield% 3"]},elite:{health:8,move:3,attack:4,range:4,attributes:["%muddle%","%shield% 5"]}}]},"Wind Demon":{level:[{level:0,normal:{health:3,move:3,attack:2,range:3,attributes:["%flying%","%shield% 1"]},elite:{health:5,move:4,attack:3,range:4,attributes:["%flying%","%shield% 1"]}},{level:1,normal:{health:3,move:3,attack:2,range:3,attributes:["%flying%","%shield% 2"]},elite:{health:5,move:4,attack:3,range:4,attributes:["%flying%","%shield% 2"]}},{level:2,normal:{health:4,move:4,attack:2,range:3,attributes:["%flying%","%shield% 2"]},elite:{health:7,move:5,attack:3,range:4,attributes:["%flying%","%shield% 2"]}},{level:3,normal:{health:5,move:4,attack:3,range:3,attributes:["%flying%","%shield% 2"]},elite:{health:8,move:5,attack:4,range:4,attributes:["%flying%","%shield% 2"]}},{level:4,normal:{health:7,move:4,attack:3,range:3,attributes:["%flying%","%shield% 2"]},elite:{health:8,move:5,attack:4,range:4,attributes:["%flying%","%disarm%","%shield% 2"]}},{level:5,normal:{health:9,move:4,attack:3,range:4,attributes:["%flying%","%shield% 2"]},elite:{health:11,move:5,attack:4,range:4,attributes:["%flying%","%disarm%","%shield% 2"]}},{level:6,normal:{health:10,move:4,attack:3,range:4,attributes:["%flying%","%shield% 3"]},elite:{health:12,move:5,attack:4,range:4,attributes:["%flying%","%disarm%","%shield% 3"]}},{level:7,normal:{health:11,move:4,attack:4,range:4,attributes:["%flying%","%shield% 3"]},elite:{health:13,move:5,attack:5,range:4,attributes:["%flying%","%disarm%","%shield% 3"]}}]}},bosses:{"Bandit Commander":{level:[{level:0,health:"8xC",move:3,attack:3,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""},{level:1,health:"10xC",move:3,attack:3,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""},{level:2,health:"12xC",move:4,attack:3,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""},{level:3,health:"13xC",move:4,attack:4,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""},{level:4,health:"15xC",move:4,attack:4,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""},{level:5,health:"16xC",move:5,attack:5,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""},{level:6,health:"19xC",move:5,attack:5,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""},{level:7,health:"23xC",move:5,attack:5,range:0,special1:["Move to next door and reveal room"],special2:["Summon Living Bones"],immunities:["%stun%","%immobilize%","%curse%"],notes:""}]},"The Betrayer":{level:[{level:0,health:"10xC",move:3,attack:4,range:3,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""},{level:1,health:"12xC",move:3,attack:5,range:3,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""},{level:2,health:"14xC",move:3,attack:6,range:4,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""},{level:3,health:"16xC",move:4,attack:7,range:4,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""},{level:4,health:"18xC",move:4,attack:8,range:4,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""},{level:5,health:"20xC",move:5,attack:8,range:5,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""},{level:6,health:"23xC",move:5,attack:9,range:5,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""},{level:7,health:"27xC",move:5,attack:9,range:5,special1:["Summon Giant Viper and Fear"],special2:["Mind Control"],immunities:["%wound%","%poison%","%stun%","%disarm%","%curse%"],notes:""}]},"Captain of the Guard":{level:[{level:0,health:"7xC",move:2,attack:3,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""},{level:1,health:"9xC",move:2,attack:3,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""},{level:2,health:"11xC",move:2,attack:4,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""},{level:3,health:"14xC",move:3,attack:4,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""},{level:4,health:"16xC",move:3,attack:5,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""},{level:5,health:"20xC",move:3,attack:5,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""},{level:6,health:"21xC",move:4,attack:6,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""},{level:7,health:"25xC",move:4,attack:6,range:0,special1:["%heal% 2, Affect self and all allies"],special2:["All allies add +1 Attack to all attacks this round","%attack% +1"],immunities:["%disarm%","%wound%","%muddle%","%stun%"],notes:""}]},"The Colorless":{level:[{level:0,health:"9xC",move:3,attack:2,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 4, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""},{level:1,health:"10xC",move:3,attack:3,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 4, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""},{level:2,health:"11xC",move:4,attack:3,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 5, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""},{level:3,health:"12xC",move:4,attack:4,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 5, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""},{level:4,health:"14xC",move:4,attack:4,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 6, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""},{level:5,health:"15xC",move:4,attack:5,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 6, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""},{level:6,health:"17xC",move:4,attack:6,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 7, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""},{level:7,health:"19xC",move:5,attack:7,range:0,special1:["%dark%%use_element%: Summon Night Demon","%invisible%, Self"],special2:["%light%%use_element%: Summon Sun Demon","%heal% 7, Self","%shield% 1"],immunities:["%wound%","%poison%","%muddle%","%stun%","%disarm%"],notes:""}]},"Dark Rider":{level:[{level:0,health:"9xC",move:2,attack:"3+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"},{level:1,health:"10xC",move:3,attack:"3+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"},{level:2,health:"12xC",move:3,attack:"3+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"},{level:3,health:"13xC",move:3,attack:"4+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"},{level:4,health:"15xC",move:3,attack:"4+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"},{level:5,health:"16xC",move:3,attack:"5+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"},{level:6,health:"16xC",move:4,attack:"5+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"},{level:7,health:"18xC",move:4,attack:"6+X",range:0,special1:["%move% +2","%attack% +0"],special2:["%move% +0","Summon Imp","%attack% -1"],immunities:["%immobilize%","%poison%","%stun%","%disarm%"],notes:"X = Hexes moved"}]},"Elder Drake":{level:[{level:0,health:"11xC",move:0,attack:3,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""},{level:1,health:"12xC",move:0,attack:4,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""},{level:2,health:"15xC",move:0,attack:4,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""},{level:3,health:"16xC",move:0,attack:5,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""},{level:4,health:"20xC",move:0,attack:5,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""},{level:5,health:"22xC",move:0,attack:6,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""},{level:6,health:"27xC",move:0,attack:6,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""},{level:7,health:"29xC",move:0,attack:7,range:0,special1:["%attack% +0 %boss-aoe-elder-drake-sp1%"],special2:["Summon 2 Zephyrs and %move%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%stun%"],notes:""}]},"The Gloom":{level:[{level:0,health:"20xC",move:2,attack:5,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""},{level:1,health:"25xC",move:2,attack:5,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""},{level:2,health:"29xC",move:2,attack:6,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""},{level:3,health:"35xC",move:2,attack:6,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""},{level:4,health:"39xC",move:3,attack:7,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""},{level:5,health:"46xC",move:3,attack:7,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""},{level:6,health:"50xC",move:3,attack:8,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""},{level:7,health:"56xC",move:3,attack:9,range:0,special1:["%move% +9","%attack% +9"],special2:["Teleport","%attack% +1","%range% 5","%poison%","%wound%","%stun%"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%","%curse%"],notes:""}]},"Inox Bodyguard":{level:[{level:0,health:"6xC",move:2,attack:"C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 3"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"},{level:1,health:"7xC",move:2,attack:"1+C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 3"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"},{level:2,health:"9xC",move:2,attack:"1+C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 3"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"},{level:3,health:"10xC",move:3,attack:"2+C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 4"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"},{level:4,health:"11xC",move:3,attack:"2+C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 4"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"},{level:5,health:"13xC",move:3,attack:"3+C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 5"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"},{level:6,health:"15xC",move:4,attack:"3+C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 5"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"},{level:7,health:"17xC",move:4,attack:"4+C",range:0,special1:["%move% -1","%attack% -1 %boss-aoe-inox-bodyguard-sp1%"],special2:["%move% +0","%attack% +0","%retaliate% 5"],immunities:["%disarm%","%poison%","%muddle%","%stun%"],notes:"C = Number of Characters"}]},Jekserah:{level:[{level:0,health:"6xC",move:2,attack:2,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""},{level:1,health:"7xC",move:2,attack:3,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""},{level:2,health:"9xC",move:3,attack:3,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""},{level:3,health:"12xC",move:4,attack:4,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""},{level:4,health:"13xC",move:4,attack:5,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""},{level:5,health:"15xC",move:5,attack:5,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""},{level:6,health:"18xC",move:5,attack:5,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""},{level:7,health:"22xC",move:5,attack:5,range:0,special1:["Summon Living Bones","%attack% -1, Target all adjacent enemies"],special2:["Summon Living Corpse","%move% -1","%attack% +2"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:""}]},"Merciless Overseer":{level:[{level:0,health:"6xC",move:2,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"},{level:1,health:"8xC",move:2,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"},{level:2,health:"9xC",move:3,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"},{level:3,health:"11xC",move:3,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"},{level:4,health:"12xC",move:4,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"},{level:5,health:"14xC",move:4,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"},{level:6,health:"16xC",move:4,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"},{level:7,health:"19xC",move:4,attack:"V",range:0,special1:["All Scouts act again"],special2:["Summon Vermling Scout"],immunities:["%disarm%","%wound%","%curse%","%stun%"],notes:"V = Number of Scouts present"}]},"Prime Demon":{level:[{level:0,health:"8xC",move:3,attack:4,range:0,special1:["Throne moves","Summon Demon (Special 1)","%move% +2","%attack% -1"],special2:["Throne moves","Summon Demon (Special 2)","%move% +2","%attack% -1"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%"],notes:""},{level:1,health:"9xC",move:4,attack:4,range:0,special1:["Throne moves","Summon Demon (Special 1)","%move% +2","%attack% -1"],special2:["Throne moves","Summon Demon (Special 2)","%move% +2","%attack% -1"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%"],notes:""},{level:2,health:"10xC",move:4,attack:5,range:0,special1:["Throne moves","Summon Demon (Special 1)","%move% +2","%attack% -1"],special2:["Throne moves","Summon Demon (Special 2)","%move% +2","%attack% -1"],immunities:["%wound%","%poison%","%disarm%","%immobilize%","%muddle%","%stun%"],notes:""},{level:3,health:"12xC",move:4,attack:6,range

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need to publish the dist folder? some free CI/DI should be able to do that

Copy link
Collaborator Author

@wmakley wmakley Oct 27, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for Github pages, the current host. I'm not up on github pages, but I don't think it runs arbitrary build scripts, only Jekyll. It can certainly be removed, but in this situation where the source code is small and the target host does not run webpack I think it makes complete sense.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is possible to run build scripts before deploying but that's not what this PR is about, so happy to keep it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants