swordfight-engine
Version:
A multiplayer sword fighting game engine with character management, round-based combat, and real-time multiplayer support
6 lines • 130 kB
JavaScript
/**
* swordfight-engine v1.6.23
* @license MIT
*/
var L=Object.create;var x=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var I=(i,e,o)=>e in i?x(i,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[e]=o;var D=i=>e=>{var o=i[e];if(o)return o();throw new Error("Module not found in bundle: "+e)};var g=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports);var z=(i,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of O(e))!_.call(i,r)&&r!==o&&x(i,r,{get:()=>e[r],enumerable:!(t=F(e,r))||t.enumerable});return i};var c=(i,e,o)=>(o=i!=null?L(K(i)):{},z(e||!i||!i.__esModule?x(o,"default",{value:i,enumerable:!0}):o,i));var f=(i,e,o)=>I(i,typeof e!="symbol"?e+"":e,o);var C=g((qe,G)=>{G.exports={characters:["goblin","fighter","monk","knight","lizardMan","skeleton","zombie","barbarian"]}});var E=g((ve,U)=>{U.exports={name:"Barbarian",slug:"barbarian",icon:"\u{1FA93}",description:"Huge Barbarian with a two-handed axe",difficulty:5.7,health:"12",firstMove:"62",weapon:"Two-handed Axe",shield:null,color:"#B22222",moves:[{tag:"Down",name:"Bash",range:"close",type:"strong",id:"36",mod:"3",requiresWeapon:!0},{tag:"Down",name:"Smash",range:"close",type:"strong",id:"24",mod:"2",requiresWeapon:!0},{tag:"Side Swing",name:"Strong",range:"close",type:"strong",id:"28",mod:"1",requiresWeapon:!0},{tag:"Side Swing",name:"High",range:"close",type:"high",id:"10",mod:"0",requiresWeapon:!0},{tag:"Side Swing",name:"Low",range:"close",type:"low",id:"2",mod:"0",requiresWeapon:!0},{tag:"Thrust",name:"High",range:"close",type:"high",id:"32",mod:"-2",requiresWeapon:!0},{tag:"Thrust",name:"Low",range:"close",type:"low",id:"14",mod:"-2",requiresWeapon:!0},{tag:"Block & Attack",name:"High",range:"close",type:"high",id:"44",mod:"-1",requiresWeapon:!0},{tag:"Block & Attack",name:"Swing",range:"close",type:"low",id:"12",mod:"-1",requiresWeapon:!0},{tag:"Block & Attack",name:"Thrust",range:"close",type:"high",id:"22",mod:"-1",requiresWeapon:!0},{tag:"Special",name:"Kick",range:"close",type:"low",id:"34",mod:"0",requiresWeapon:!1},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"40",mod:"3",requiresWeapon:!0},{tag:"Special",name:"Dislodge Weapon",range:"close",type:"low",id:"30",mod:"-4",requiresWeapon:!0},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1},{tag:"Jump",name:"Up",range:"close",type:"defense",id:"18",mod:"-6",requiresWeapon:!1},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1},{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-4",requiresWeapon:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"4",requiresWeapon:!0},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"2",requiresWeapon:!0},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"2",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust High",range:"far",type:"extended",id:"54",mod:"2",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust Low",range:"far",type:"extended",id:"60",mod:"2",requiresWeapon:!0},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"0",requiresWeapon:!1},{tag:"Extended Range",name:"Dodge",range:"far",type:"extended-defense",id:"52",mod:"-4",requiresWeapon:!1},{tag:"Extended Range",name:"Jump",range:"far",type:"extended-defense",id:"62",mod:"-4",requiresWeapon:!1}],tables:[{id:"2",outcomes:[{"2":"49","4":"00","6":"00","8":"19","10":"13","12":"31","14":"49","16":"57","18":"37","20":"19","22":"49","24":"13","26":"00","28":"13","30":"49","32":"13","34":"41","36":"13","38":"00","40":"49","42":"00","44":"63","46":"27","48":"13"}]},{id:"4",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"3","12":"19","14":"11","16":"57","18":"37","20":"19","22":"63","24":"15","26":"00","28":"3","30":"15","32":"9","34":"19","36":"15","38":"00","40":"5","42":"00","44":"63","46":"43","48":"00"}]},{id:"6",outcomes:[{"2":"19","4":"00","6":"00","8":"33","10":"3","12":"53","14":"49","16":"53","18":"19","20":"29","22":"13","24":"31","26":"00","28":"31","30":"5","32":"45","34":"19","36":"19","38":"00","40":"19","42":"00","44":"45","46":"19","48":"00"}]},{id:"8",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"3","12":"63","14":"21","16":"57","18":"37","20":"29","22":"21","24":"15","26":"00","28":"3","30":"3","32":"9","34":"19","36":"15","38":"00","40":"5","42":"00","44":"63","46":"43","48":"00"}]},{id:"10",outcomes:[{"2":"31","4":"00","6":"00","8":"19","10":"45","12":"63","14":"7","16":"57","18":"13","20":"23","22":"7","24":"45","26":"00","28":"31","30":"3","32":"53","34":"25","36":"31","38":"00","40":"53","42":"00","44":"45","46":"43","48":"00"}]},{id:"12",outcomes:[{"2":"31","4":"00","6":"00","8":"19","10":"53","12":"45","14":"11","16":"57","18":"13","20":"29","22":"63","24":"45","26":"00","28":"31","30":"3","32":"45","34":"25","36":"31","38":"00","40":"53","42":"00","44":"63","46":"29","48":"00"}]},{id:"14",outcomes:[{"2":"49","4":"00","6":"00","8":"23","10":"13","12":"13","14":"13","16":"19","18":"37","20":"53","22":"63","24":"13","26":"00","28":"13","30":"13","32":"13","34":"13","36":"13","38":"00","40":"49","42":"00","44":"31","46":"53","48":"00"}]},{id:"16",outcomes:[{"2":"51","4":"00","6":"00","8":"61","10":"51","12":"57","14":"11","16":"57","18":"61","20":"61","22":"63","24":"19","26":"00","28":"21","30":"51","32":"9","34":"41","36":"41","38":"00","40":"21","42":"00","44":"57","46":"43","48":"00"}]},{id:"18",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"3","12":"63","14":"11","16":"57","18":"37","20":"29","22":"63","24":"15","26":"00","28":"5","30":"3","32":"9","34":"41","36":"15","38":"00","40":"21","42":"00","44":"63","46":"43","48":"00"}]},{id:"20",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"21","12":"63","14":"11","16":"57","18":"37","20":"29","22":"63","24":"15","26":"00","28":"21","30":"3","32":"9","34":"25","36":"15","38":"00","40":"5","42":"00","44":"63","46":"43","48":"00"}]},{id:"22",outcomes:[{"2":"49","4":"00","6":"00","8":"23","10":"13","12":"31","14":"13","16":"19","18":"37","20":"53","22":"19","24":"15","26":"00","28":"3","30":"5","32":"31","34":"25","36":"13","38":"00","40":"49","42":"00","44":"31","46":"43","48":"00"}]},{id:"24",outcomes:[{"2":"53","4":"00","6":"00","8":"33","10":"45","12":"45","14":"11","16":"1","18":"53","20":"7","22":"11","24":"7","26":"00","28":"3","30":"3","32":"45","34":"53","36":"15","38":"00","40":"21","42":"00","44":"63","46":"41","48":"00"}]},{id:"26",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"3","12":"19","14":"11","16":"57","18":"19","20":"19","22":"63","24":"15","26":"00","28":"3","30":"3","32":"9","34":"25","36":"15","38":"00","40":"5","42":"00","44":"19","46":"43","48":"00"}]},{id:"28",outcomes:[{"2":"7","4":"00","6":"00","8":"19","10":"3","12":"53","14":"11","16":"23","18":"37","20":"23","22":"11","24":"53","26":"00","28":"19","30":"31","32":"9","34":"25","36":"31","38":"00","40":"41","42":"00","44":"63","46":"29","48":"00"}]},{id:"30",outcomes:[{"2":"49","4":"00","6":"00","8":"33","10":"3","12":"63","14":"11","16":"57","18":"37","20":"29","22":"27","24":"15","26":"00","28":"3","30":"27","32":"27","34":"25","36":"15","38":"00","40":"5","42":"00","44":"63","46":"27","48":"00"}]},{id:"32",outcomes:[{"2":"53","4":"00","6":"00","8":"33","10":"3","12":"45","14":"53","16":"19","18":"13","20":"29","22":"53","24":"45","26":"00","28":"53","30":"3","32":"31","34":"25","36":"53","38":"00","40":"31","42":"00","44":"45","46":"43","48":"00"}]},{id:"34",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"3","12":"63","14":"11","16":"1","18":"37","20":"29","22":"63","24":"15","26":"00","28":"17","30":"3","32":"17","34":"25","36":"41","38":"00","40":"41","42":"00","44":"63","46":"27","48":"00"}]},{id:"36",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"3","12":"63","14":"11","16":"1","18":"7","20":"7","22":"63","24":"15","26":"00","28":"7","30":"7","32":"9","34":"7","36":"15","38":"00","40":"7","42":"00","44":"7","46":"7","48":"00"}]},{id:"38",outcomes:[{"2":"31","4":"00","6":"00","8":"19","10":"45","12":"45","14":"7","16":"57","18":"13","20":"29","22":"63","24":"45","26":"00","28":"5","30":"3","32":"45","34":"25","36":"31","38":"00","40":"5","42":"00","44":"45","46":"43","48":"00"}]},{id:"40",outcomes:[{"2":"49","4":"00","6":"00","8":"33","10":"3","12":"41","14":"49","16":"23","18":"23","20":"53","22":"13","24":"23","26":"00","28":"3","30":"5","32":"9","34":"25","36":"41","38":"00","40":"5","42":"00","44":"63","46":"43","48":"00"}]},{id:"42",outcomes:[{"2":"49","4":"00","6":"00","8":"33","10":"13","12":"49","14":"49","16":"57","18":"37","20":"31","22":"48","24":"13","26":"00","28":"13","30":"5","32":"9","34":"41","36":"13","38":"00","40":"49","42":"00","44":"63","46":"27","48":"00"}]},{id:"44",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"45","12":"31","14":"19","16":"57","18":"7","20":"19","22":"31","24":"31","26":"00","28":"31","30":"19","32":"45","34":"19","36":"19","38":"00","40":"19","42":"00","44":"45","46":"27","48":"00"}]},{id:"46",outcomes:[{"2":"5","4":"00","6":"00","8":"33","10":"3","12":"63","14":"11","16":"1","18":"37","20":"29","22":"63","24":"15","26":"00","28":"3","30":"15","32":"9","34":"25","36":"15","38":"00","40":"5","42":"00","44":"63","46":"43","48":"00"}]},{id:"48",outcomes:[{"2":"5","4":"00","6":"00","8":"19","10":"45","12":"45","14":"49","16":"57","18":"19","20":"29","22":"49","24":"31","26":"00","28":"31","30":"19","32":"9","34":"25","36":"31","38":"00","40":"19","42":"00","44":"45","46":"19","48":"00"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"53","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"5","60":"11","62":"57","64":"51"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"45","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"61","54":"9","56":"45","58":"51","60":"55","62":"57","64":"3"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"55","56":"47","58":"5","60":"13","62":"57","64":"51"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"5","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"55","56":"57","58":"51","60":"55","62":"57","64":"51"}]},{id:"64",outcomes:[{"50":"7","52":"59","54":"53","56":"45","58":"51","60":"55","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",range:"close",score:"",restrict:[],bonus:[{strong:"2",high:"2",low:"2",risky:"2"}]},{id:"3",name:"Swinging high",mod:"0",range:"close",score:"",restrict:["Thrust","high"]},{id:"5",name:"Swinging low",mod:"0",range:"close",score:"",restrict:["Thrust","low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"6",restrict:[],allowOnly:["Jump"]},{id:"9",name:"Thrusting high",mod:"0",range:"close",score:"",restrict:["Side Swing"]},{id:"11",name:"Thrusting low",mod:"0",range:"close",score:"",restrict:["Side Swing","high"]},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"5",restrict:["strong","high"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["low"]},{id:"17",name:"Kicked off balance",mod:"0",range:"close",score:"0",restrict:["high","low","strong"]},{id:"19",name:"Struck off balance",mod:"0",range:"close",score:"0",restrict:["high","low","strong"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"0",restrict:["strong","high","low","defense"]},{id:"23",name:"Behind you!",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Kicking",mod:"0",range:"close",score:"",restrict:["low","risky"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"",restrict:[],weaponDislodged:!0},{id:"29",name:"Ducking",range:"close",score:"",restrict:["strong"],bonus:[{low:"2"}]},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"4",restrict:["strong","high"]},{id:"33",name:"Dodging",range:"close",score:"",restrict:[],bonus:[{"Down Swing":"1"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"6",restrict:["extended"]},{id:"37",name:"Jumping up",range:"close",score:"",restrict:["low"]},{id:"39",name:"Charging",mod:"0",range:"close",score:"",restrict:["defense","risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"1",restrict:[],allowOnly:["Jump"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"",restrict:[],retrieveWeapon:!0},{id:"45",name:"Parrying high",mod:"0",range:"close",score:"-5",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"5",restrict:["extended"]},{id:"49",name:"Parrying low",mod:"0",range:"close",score:"-5",restrict:[]},{id:"51",name:"Extended range swinging",mod:"0",range:"far",score:"",restrict:[]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"6",restrict:["high","low","strong"]},{id:"55",name:"Extended range thrusting",mod:"0",range:"far",score:"",restrict:[]},{id:"57",name:"Extended range blocking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Extended range arm wound",mod:"0",range:"far",score:"4",restrict:["extended"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[],bonus:[{Charge:"2","Swing High":"2","Swing Low":"2","Side Swing":"2"}]},{id:"63",name:"Block & strike",mod:"0",range:"close",score:"",restrict:["strong"]}]}});var M=g((be,j)=>{j.exports={name:"Fighter",slug:"fighter",icon:"\u2694\uFE0F",description:"Human fighter with sword and shield",difficulty:4.1,health:"12",firstMove:"62",weapon:"Broadsword",shield:"Shield",color:"#4682B4",moves:[{tag:"Down Swing",name:"Smash",range:"close",type:"strong",id:"24",mod:"3",requiresWeapon:!0},{tag:"Side Swing",name:"Strong",range:"close",type:"strong",id:"28",mod:"2",requiresWeapon:!0},{tag:"Side Swing",name:"High",range:"close",type:"high",id:"10",mod:"1",requiresWeapon:!0},{tag:"Side Swing",name:"Low",range:"close",type:"low",id:"2",mod:"1",requiresWeapon:!0},{tag:"Thrust",name:"High",range:"close",type:"high",id:"32",mod:"0",requiresWeapon:!0},{tag:"Thrust",name:"Low",range:"close",type:"low",id:"14",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"High",range:"close",type:"high",id:"42",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"Low",range:"close",type:"low",id:"12",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"Side Swing",range:"close",type:"low",id:"22",mod:"-1",requiresWeapon:!0},{tag:"Fake",name:"Thrust",range:"close",type:"high",id:"38",mod:"0",requiresWeapon:!0},{tag:"Protected Attack",name:"Down Swing",range:"close",type:"strong",id:"44",mod:"2",requiresWeapon:!0,requiresShield:!0},{tag:"Protected Attack",name:"Side Swing",range:"close",type:"low",id:"48",mod:"0",requiresWeapon:!0,requiresShield:!0},{tag:"Protected Attack",name:"Thrust",range:"close",type:"high",id:"6",mod:"-1",requiresWeapon:!0,requiresShield:!0},{tag:"Special",name:"Kick",range:"close",type:"low",id:"34",mod:"0",requiresWeapon:!1},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"40",mod:"2",requiresWeapon:!0},{tag:"Special",name:"Dislodge Weapon",range:"close",type:"low",id:"30",mod:"-4",requiresWeapon:!0},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1},{tag:"Shield Block",name:"High",range:"close",type:"defense",id:"26",mod:"1",requiresWeapon:!1,requiresShield:!0},{tag:"Shield Block",name:"Low",range:"close",type:"defense",id:"4",mod:"1",requiresWeapon:!1,requiresShield:!0},{tag:"Jump",name:"Up",range:"close",type:"defense",id:"18",mod:"-6",requiresWeapon:!1},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1},{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-4",requiresWeapon:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"3",requiresWeapon:!0},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust High",range:"far",type:"extended",id:"54",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust Low",range:"far",type:"extended",id:"60",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"0",requiresWeapon:!1},{tag:"Extended Range",name:"Dodge",range:"far",type:"extended-defense",id:"52",mod:"-6",requiresWeapon:!1},{tag:"Extended Range",name:"Jump Back",range:"far",type:"extended-defense",id:"62",mod:"-6",requiresWeapon:!1}],tables:[{id:"2",outcomes:[{"2":"49","4":"63","6":"13","8":"19","10":"13","12":"13","14":"49","16":"57","18":"37","20":"19","22":"49","24":"13","26":"13","28":"13","30":"49","32":"13","34":"41","36":"13","38":"13","40":"49","42":"49","44":"15","46":"27","48":"13"}]},{id:"4",outcomes:[{"2":"5","4":"59","6":"59","8":"33","10":"3","12":"59","14":"11","16":"57","18":"37","20":"59","22":"11","24":"15","26":"17","28":"3","30":"15","32":"9","34":"59","36":"15","38":"3","40":"5","42":"59","44":"15","46":"43","48":"59"}]},{id:"6",outcomes:[{"2":"19","4":"63","6":"17","8":"33","10":"3","12":"3","14":"49","16":"19","18":"19","20":"29","22":"11","24":"15","26":"17","28":"45","30":"5","32":"45","34":"19","36":"19","38":"19","40":"19","42":"19","44":"45","46":"19","48":"45"}]},{id:"8",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"3","14":"21","16":"57","18":"37","20":"29","22":"21","24":"15","26":"17","28":"3","30":"3","32":"9","34":"19","36":"15","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"10",outcomes:[{"2":"31","4":"53","6":"9","8":"19","10":"45","12":"3","14":"7","16":"57","18":"13","20":"23","22":"7","24":"45","26":"17","28":"31","30":"3","32":"53","34":"25","36":"31","38":"45","40":"53","42":"31","44":"45","46":"43","48":"45"}]},{id:"12",outcomes:[{"2":"31","4":"63","6":"9","8":"19","10":"53","12":"45","14":"11","16":"57","18":"13","20":"29","22":"11","24":"45","26":"17","28":"31","30":"3","32":"45","34":"25","36":"31","38":"45","40":"53","42":"49","44":"15","46":"29","48":"45"}]},{id:"14",outcomes:[{"2":"45","4":"63","6":"49","8":"23","10":"13","12":"3","14":"13","16":"19","18":"37","20":"53","22":"11","24":"13","26":"13","28":"13","30":"5","32":"13","34":"13","36":"13","38":"13","40":"49","42":"49","44":"13","46":"53","48":"49"}]},{id:"16",outcomes:[{"2":"57","4":"57","6":"9","8":"61","10":"57","12":"57","14":"11","16":"57","18":"61","20":"61","22":"11","24":"19","26":"57","28":"21","30":"57","32":"9","34":"41","36":"41","38":"57","40":"21","42":"57","44":"57","46":"43","48":"57"}]},{id:"18",outcomes:[{"2":"5","4":"63","6":"17","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"3","32":"9","34":"41","36":"15","38":"3","40":"21","42":"5","44":"15","46":"43","48":"3"}]},{id:"20",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"21","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"21","30":"3","32":"9","34":"25","36":"15","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"22",outcomes:[{"2":"49","4":"63","6":"9","8":"23","10":"13","12":"13","14":"13","16":"19","18":"37","20":"53","22":"19","24":"15","26":"17","28":"3","30":"5","32":"31","34":"25","36":"13","38":"3","40":"49","42":"49","44":"13","46":"43","48":"49"}]},{id:"24",outcomes:[{"2":"53","4":"41","6":"17","8":"33","10":"45","12":"45","14":"11","16":"1","18":"53","20":"7","22":"11","24":"7","26":"17","28":"3","30":"3","32":"45","34":"53","36":"15","38":"45","40":"21","42":"5","44":"15","46":"41","48":"17"}]},{id:"26",outcomes:[{"2":"5","4":"63","6":"59","8":"33","10":"3","12":"59","14":"11","16":"57","18":"59","20":"29","22":"11","24":"15","26":"59","28":"3","30":"3","32":"9","34":"25","36":"59","38":"3","40":"5","42":"59","44":"59","46":"43","48":"59"}]},{id:"28",outcomes:[{"2":"7","4":"31","6":"45","8":"19","10":"3","12":"53","14":"11","16":"23","18":"37","20":"23","22":"11","24":"53","26":"53","28":"19","30":"31","32":"9","34":"25","36":"31","38":"27","40":"41","42":"5","44":"15","46":"29","48":"3"}]},{id:"30",outcomes:[{"2":"49","4":"63","6":"9","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"27","24":"15","26":"17","28":"3","30":"27","32":"27","34":"25","36":"15","38":"27","40":"5","42":"27","44":"15","46":"27","48":"3"}]},{id:"32",outcomes:[{"2":"53","4":"53","6":"45","8":"33","10":"3","12":"45","14":"53","16":"19","18":"13","20":"29","22":"53","24":"45","26":"17","28":"53","30":"3","32":"31","34":"25","36":"53","38":"45","40":"31","42":"53","44":"45","46":"43","48":"17"}]},{id:"34",outcomes:[{"2":"5","4":"63","6":"11","8":"33","10":"51","12":"3","14":"11","16":"1","18":"37","20":"29","22":"51","24":"15","26":"51","28":"51","30":"51","32":"51","34":"51","36":"41","38":"3","40":"41","42":"5","44":"15","46":"27","48":"51"}]},{id:"36",outcomes:[{"2":"5","4":"7","6":"55","8":"33","10":"3","12":"3","14":"11","16":"1","18":"7","20":"7","22":"11","24":"15","26":"55","28":"7","30":"27","32":"9","34":"7","36":"15","38":"3","40":"7","42":"5","44":"55","46":"7","48":"55"}]},{id:"38",outcomes:[{"2":"31","4":"53","6":"9","8":"19","10":"45","12":"45","14":"7","16":"57","18":"13","20":"29","22":"9","24":"45","26":"17","28":"3","30":"5","32":"45","34":"25","36":"31","38":"45","40":"5","42":"31","44":"45","46":"43","48":"45"}]},{id:"40",outcomes:[{"2":"5","4":"63","6":"11","8":"33","10":"3","12":"3","14":"11","16":"1","18":"37","20":"29","22":"51","24":"15","26":"51","28":"51","30":"51","32":"51","34":"51","36":"41","38":"3","40":"41","42":"5","44":"15","46":"27","48":"51"}]},{id:"42",outcomes:[{"2":"49","4":"63","6":"9","8":"19","10":"13","12":"49","14":"49","16":"57","18":"37","20":"31","22":"49","24":"13","26":"17","28":"13","30":"5","32":"9","34":"41","36":"13","38":"13","40":"49","42":"49","44":"15","46":"27","48":"49"}]},{id:"44",outcomes:[{"2":"5","4":"19","6":"45","8":"33","10":"45","12":"3","14":"19","16":"57","18":"7","20":"19","22":"19","24":"15","26":"17","28":"19","30":"19","32":"45","34":"19","36":"19","38":"45","40":"19","42":"5","44":"45","46":"27","48":"45"}]},{id:"46",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"3","14":"11","16":"1","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"15","32":"9","34":"25","36":"15","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"48",outcomes:[{"2":"5","4":"19","6":"45","8":"19","10":"45","12":"45","14":"49","16":"57","18":"19","20":"29","22":"49","24":"19","26":"17","28":"19","30":"19","32":"9","34":"25","36":"19","38":"45","40":"19","42":"49","44":"45","46":"19","48":"49"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"17","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"5","60":"11","62":"57","64":"57"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"17","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"61","54":"9","56":"17","58":"57","60":"57","62":"57","64":"3"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"47","56":"47","58":"5","60":"11","62":"57","64":"57"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"5","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"57","56":"57","58":"57","60":"57","62":"57","64":"57"}]},{id:"64",outcomes:[{"50":"7","52":"35","54":"9","56":"17","58":"57","60":"35","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",mod:"2",range:"close",score:"",restrict:[],bonus:[{strong:"2",high:"2",low:"2",risky:"2"}]},{id:"3",name:"Swinging high",mod:"0",range:"close",score:"",restrict:["Thrust","high"]},{id:"5",name:"Swinging low",mod:"0",range:"close",score:"",restrict:["Thrust","low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"6",restrict:["strong","high","low","risky"]},{id:"9",name:"Thrusting high",mod:"0",range:"close",score:"",restrict:["Side Swing"]},{id:"11",name:"Thrusting low",mod:"0",range:"close",score:"",restrict:["Side Swing","high"]},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"3",restrict:["strong","high"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["low"]},{id:"17",name:"Blocking high",mod:"0",range:"close",score:"-4",restrict:["low"]},{id:"19",name:"Knocked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"0",restrict:["strong","high","low","defense"]},{id:"23",name:"Behind you!",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Kicking",mod:"0",range:"close",score:"",restrict:["low","risky"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"",restrict:[],weaponDislodged:!0},{id:"29",name:"Ducking",range:"close",score:"",restrict:["strong"],bonus:[{low:"2"}]},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"2",restrict:["strong","high"]},{id:"33",name:"Dodging",range:"close",score:"",restrict:[],bonus:[{"Down Swing":"2","Side Swing":"2"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"4",restrict:["extended"]},{id:"37",name:"Jumping up",range:"close",score:"",restrict:["low"],bonus:[{strong:"2"}]},{id:"39",name:"Charging",mod:"0",range:"close",score:"",restrict:["defense","risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"0",restrict:[],allowOnly:["Jump"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"",restrict:[],retrieveWeapon:!0},{id:"45",name:"Parrying high",mod:"0",range:"close",score:"-4",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"3",restrict:["extended"]},{id:"49",name:"Parrying low",mod:"0",range:"close",score:"-4",restrict:[]},{id:"51",name:"Kicked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"4",restrict:["strong","high","low"]},{id:"55",name:"Shield Smashed",mod:"0",range:"close",score:"0",restrict:[],shieldDestroyed:!0},{id:"57",name:"Extended range blocking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Pushed off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[]},{id:"63",name:"Blocking low",mod:"0",range:"close",score:"-4",restrict:["strong"]}]}});var B=g((ke,Y)=>{Y.exports={name:"Goblin",slug:"goblin",icon:"\u{1F9CC}",description:"Goblin with mace and shield",difficulty:3.7,health:"13",firstMove:"62",weapon:"Mace",shield:"Wooden Shield",color:"#B8860B",moves:[{tag:"Down Swing",name:"Bash",range:"close",type:"strong",id:"36",mod:"4",requiresWeapon:!0},{tag:"Down Swing",name:"Smash",range:"close",type:"strong",id:"24",mod:"3",requiresWeapon:!0},{tag:"Side Swing",name:"Strong",range:"close",type:"strong",id:"28",mod:"3",requiresWeapon:!0},{tag:"Side Swing",name:"High",range:"close",type:"high",id:"10",mod:"1",requiresWeapon:!0},{tag:"Side Swing",name:"Low",range:"close",type:"low",id:"2",mod:"1",requiresWeapon:!0},{tag:"Thrust",name:"High",range:"close",type:"high",id:"32",mod:"-1",requiresWeapon:!0},{tag:"Thrust",name:"Low",range:"close",type:"low",id:"14",mod:"-1",requiresWeapon:!0},{tag:"Fake",name:"High",range:"close",type:"high",id:"42",mod:"0",requiresWeapon:!0},{tag:"Protected Attack",name:"Down Swing",range:"close",type:"strong",id:"44",mod:"2",requiresWeapon:!0},{tag:"Protected Attack",name:"Side Swing",range:"close",type:"low",id:"48",mod:"0",requiresWeapon:!0},{tag:"Protected Attack",name:"Thrust",range:"close",type:"high",id:"6",mod:"-2",requiresWeapon:!0},{tag:"Special",name:"Kick",range:"close",type:"low",id:"34",mod:"+1",requiresWeapon:!1},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"40",mod:"3",requiresWeapon:!0},{tag:"Special",name:"Dislodge Weapon",range:"close",type:"low",id:"30",mod:"-4",requiresWeapon:!0},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1},{tag:"Shield Block",name:"High",range:"close",type:"defense",id:"26",mod:"1",requiresWeapon:!1},{tag:"Shield Block",name:"Low",range:"close",type:"defense",id:"4",mod:"1",requiresWeapon:!1},{tag:"Jump",name:"Up",range:"close",type:"defense",id:"18",mod:"-6",requiresWeapon:!1},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1},{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-4",requiresWeapon:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"4",requiresWeapon:!0},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust High",range:"far",type:"extended",id:"54",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust Low",range:"far",type:"extended",id:"60",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"0",requiresWeapon:!1},{tag:"Extended Range",name:"Dodge",range:"far",type:"extended-defense",id:"52",mod:"-6",requiresWeapon:!1},{tag:"Extended Range",name:"Jump Back",range:"far",type:"extended-defense",id:"62",mod:"-6",requiresWeapon:!1}],tables:[{id:"2",outcomes:[{"2":"49","4":"63","6":"13","8":"13","10":"13","12":"00","14":"49","16":"57","18":"37","20":"31","22":"00","24":"13","26":"13","28":"13","30":"49","32":"13","34":"41","36":"13","38":"00","40":"49","42":"49","44":"15","46":"27","48":"13"}]},{id:"4",outcomes:[{"2":"5","4":"59","6":"59","8":"33","10":"3","12":"00","14":"11","16":"57","18":"37","20":"59","22":"00","24":"15","26":"17","28":"3","30":"15","32":"9","34":"59","36":"15","38":"00","40":"5","42":"59","44":"15","46":"43","48":"59"}]},{id:"6",outcomes:[{"2":"53","4":"63","6":"17","8":"33","10":"3","12":"00","14":"49","16":"53","18":"13","20":"29","22":"00","24":"15","26":"17","28":"45","30":"5","32":"45","34":"13","36":"53","38":"00","40":"31","42":"53","44":"45","46":"53","48":"45"}]},{id:"8",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"00","14":"21","16":"57","18":"37","20":"29","22":"00","24":"15","26":"17","28":"3","30":"3","32":"9","34":"19","36":"15","38":"00","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"10",outcomes:[{"2":"31","4":"53","6":"9","8":"53","10":"45","12":"00","14":"7","16":"57","18":"13","20":"23","22":"00","24":"45","26":"17","28":"31","30":"3","32":"53","34":"25","36":"31","38":"00","40":"53","42":"31","44":"45","46":"43","48":"45"}]},{id:"12",outcomes:[{"2":"31","4":"63","6":"9","8":"31","10":"53","12":"00","14":"11","16":"57","18":"13","20":"29","22":"00","24":"45","26":"17","28":"31","30":"3","32":"45","34":"25","36":"31","38":"00","40":"53","42":"49","44":"15","46":"29","48":"45"}]},{id:"14",outcomes:[{"2":"49","4":"63","6":"49","8":"23","10":"13","12":"00","14":"13","16":"19","18":"37","20":"53","22":"00","24":"13","26":"13","28":"13","30":"5","32":"13","34":"13","36":"13","38":"00","40":"49","42":"49","44":"13","46":"53","48":"49"}]},{id:"16",outcomes:[{"2":"57","4":"57","6":"9","8":"61","10":"57","12":"00","14":"11","16":"57","18":"61","20":"61","22":"00","24":"19","26":"57","28":"21","30":"57","32":"9","34":"41","36":"41","38":"00","40":"21","42":"57","44":"57","46":"43","48":"57"}]},{id:"18",outcomes:[{"2":"5","4":"63","6":"17","8":"33","10":"3","12":"00","14":"11","16":"57","18":"37","20":"29","22":"00","24":"15","26":"17","28":"3","30":"3","32":"9","34":"41","36":"15","38":"00","40":"21","42":"5","44":"15","46":"43","48":"3"}]},{id:"20",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"21","12":"00","14":"11","16":"57","18":"37","20":"29","22":"00","24":"15","26":"17","28":"21","30":"3","32":"9","34":"25","36":"15","38":"00","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"22",outcomes:[{"2":"49","4":"63","6":"9","8":"23","10":"13","12":"00","14":"13","16":"19","18":"37","20":"53","22":"00","24":"15","26":"17","28":"3","30":"5","32":"31","34":"25","36":"13","38":"00","40":"49","42":"49","44":"13","46":"43","48":"49"}]},{id:"24",outcomes:[{"2":"53","4":"41","6":"17","8":"33","10":"45","12":"00","14":"11","16":"1","18":"53","20":"7","22":"00","24":"7","26":"17","28":"53","30":"3","32":"45","34":"53","36":"15","38":"00","40":"21","42":"5","44":"15","46":"41","48":"17"}]},{id:"26",outcomes:[{"2":"5","4":"63","6":"59","8":"33","10":"3","12":"00","14":"11","16":"57","18":"59","20":"29","22":"00","24":"15","26":"59","28":"3","30":"3","32":"9","34":"25","36":"59","38":"00","40":"5","42":"59","44":"59","46":"43","48":"59"}]},{id:"28",outcomes:[{"2":"7","4":"31","6":"55","8":"53","10":"3","12":"00","14":"11","16":"23","18":"37","20":"23","22":"00","24":"53","26":"55","28":"19","30":"31","32":"9","34":"25","36":"31","38":"00","40":"41","42":"5","44":"15","46":"29","48":"3"}]},{id:"30",outcomes:[{"2":"49","4":"63","6":"9","8":"33","10":"3","12":"00","14":"11","16":"57","18":"37","20":"29","22":"00","24":"15","26":"17","28":"3","30":"27","32":"27","34":"25","36":"15","38":"00","40":"5","42":"27","44":"15","46":"27","48":"3"}]},{id:"32",outcomes:[{"2":"53","4":"53","6":"45","8":"33","10":"3","12":"00","14":"53","16":"19","18":"13","20":"29","22":"00","24":"45","26":"17","28":"53","30":"3","32":"31","34":"25","36":"53","38":"00","40":"31","42":"53","44":"45","46":"43","48":"17"}]},{id:"34",outcomes:[{"2":"5","4":"63","6":"11","8":"33","10":"51","12":"00","14":"11","16":"1","18":"37","20":"29","22":"00","24":"15","26":"51","28":"51","30":"51","32":"51","34":"51","36":"41","38":"00","40":"41","42":"5","44":"15","46":"27","48":"51"}]},{id:"36",outcomes:[{"2":"5","4":"7","6":"55","8":"33","10":"3","12":"00","14":"11","16":"1","18":"7","20":"7","22":"00","24":"15","26":"55","28":"7","30":"27","32":"9","34":"7","36":"41","38":"00","40":"7","42":"5","44":"55","46":"7","48":"55"}]},{id:"38",outcomes:[{"2":"31","4":"53","6":"9","8":"53","10":"45","12":"00","14":"7","16":"57","18":"13","20":"29","22":"00","24":"45","26":"17","28":"3","30":"5","32":"45","34":"25","36":"31","38":"00","40":"5","42":"31","44":"45","46":"43","48":"45"}]},{id:"40",outcomes:[{"2":"49","4":"63","6":"31","8":"33","10":"3","12":"00","14":"49","16":"23","18":"23","20":"53","22":"00","24":"23","26":"13","28":"3","30":"5","32":"9","34":"25","36":"41","38":"00","40":"5","42":"49","44":"15","46":"43","48":"5"}]},{id:"42",outcomes:[{"2":"49","4":"63","6":"9","8":"13","10":"13","12":"00","14":"49","16":"57","18":"37","20":"31","22":"00","24":"13","26":"17","28":"13","30":"5","32":"9","34":"41","36":"13","38":"00","40":"49","42":"49","44":"15","46":"27","48":"49"}]},{id:"44",outcomes:[{"2":"5","4":"53","6":"45","8":"33","10":"45","12":"00","14":"53","16":"57","18":"7","20":"53","22":"00","24":"15","26":"17","28":"31","30":"53","32":"45","34":"13","36":"53","38":"00","40":"31","42":"5","44":"45","46":"27","48":"45"}]},{id:"46",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"00","14":"11","16":"1","18":"37","20":"29","22":"00","24":"15","26":"17","28":"3","30":"15","32":"9","34":"25","36":"15","38":"00","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"48",outcomes:[{"2":"5","4":"19","6":"45","8":"19","10":"45","12":"00","14":"49","16":"57","18":"19","20":"29","22":"00","24":"19","26":"17","28":"19","30":"19","32":"9","34":"25","36":"19","38":"00","40":"19","42":"49","44":"45","46":"19","48":"49"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"17","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"5","60":"11","62":"57","64":"57"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"17","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"61","54":"9","56":"17","58":"57","60":"57","62":"57","64":"3"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"57","56":"47","58":"5","60":"13","62":"57","64":"57"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"5","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"57","56":"57","58":"57","60":"57","62":"57","64":"57"}]},{id:"64",outcomes:[{"50":"7","52":"35","54":"53","56":"17","58":"57","60":"57","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",mod:"1",range:"close",score:"",restrict:[],bonus:[{strong:"1",high:"1",low:"1",risky:"1"}]},{id:"3",name:"Swinging high",mod:"0",range:"close",score:"",restrict:["Thrust","high"]},{id:"5",name:"Swinging low",mod:"0",range:"close",score:"",restrict:["Thrust","low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"7",restrict:["strong","high","low","risky"]},{id:"9",name:"Thrusting high",mod:"0",range:"close",score:"",restrict:["Side Swing"]},{id:"11",name:"Thrusting low",mod:"0",range:"close",score:"",restrict:["Side Swing","high"]},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"4",restrict:["strong","high"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["low"]},{id:"17",name:"Blocking high",mod:"0",range:"close",score:"-4",restrict:["low"]},{id:"19",name:"Knocked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"0",restrict:["strong","high","low","defense"]},{id:"23",name:"Behind you!",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Kicking",mod:"0",range:"close",score:"",restrict:["low","risky"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"",restrict:[],weaponDislodged:!0},{id:"29",name:"Ducking",mod:"0",range:"close",score:"",restrict:["strong"],bonus:[{low:"1"}]},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"3",restrict:["strong","high"]},{id:"33",name:"Dodging",mod:"",range:"close",score:"",restrict:[],bonus:[{"Down Swing":"2","Side Swing":"2"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"2",restrict:["extended"]},{id:"37",name:"Jumping up",mod:"0",range:"close",score:"",restrict:["low"],bonus:[{strong:"3"}]},{id:"39",name:"Charging",mod:{"Down Swing":"+2"},range:"close",score:"",restrict:["defense","risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"1",restrict:[],allowOnly:["Jump"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"0",restrict:["strong"],retrieveWeapon:!0},{id:"45",name:"Parrying high",mod:"0",range:"close",score:"-4",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"4",restrict:["extended"]},{id:"49",name:"Parrying low",mod:"0",range:"close",score:"-4",restrict:[]},{id:"51",name:"Kicked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"2",restrict:["strong","high","low"]},{id:"55",name:"Shield smashed",mod:"0",range:"close",score:"0",shieldDestroyed:!0},{id:"57",name:"Extended range blocking and attacking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Pushed off balance",mod:"0",range:"close",score:"0",restrict:["defense","risky"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[]},{id:"63",name:"Blocking low",mod:"0",range:"close",score:"-4",restrict:["strong"]}]}});var H=g((xe,V)=>{V.exports={name:"Knight",slug:"knight",icon:"\u{1F6E1}\uFE0F",description:"Human knight in shining plate armor",difficulty:5,health:"12",firstMove:"62",weapon:"Sword",shield:"Shield",color:"#C0C0C0",moves:[{tag:"Shoulder Slam",name:"Shoulder Slam",range:"close",type:"strong",id:"36",mod:"-3",requiresWeapon:!1},{tag:"Down Swing",name:"Smash",range:"close",type:"strong",id:"24",mod:"3",requiresWeapon:!0},{tag:"Side Swing",name:"Strong",range:"close",type:"strong",id:"28",mod:"2",requiresWeapon:!0},{tag:"Side Swing",name:"High",range:"close",type:"high",id:"10",mod:"1",requiresWeapon:!0},{tag:"Side Swing",name:"Low",range:"close",type:"low",id:"2",mod:"1",requiresWeapon:!0},{tag:"Thrust",name:"High",range:"close",type:"high",id:"32",mod:"0",requiresWeapon:!0},{tag:"Thrust",name:"Low",range:"close",type:"low",id:"14",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"High",range:"close",type:"high",id:"42",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"Low",range:"close",type:"low",id:"12",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"Side Swing",range:"close",type:"low",id:"22",mod:"-1",requiresWeapon:!0},{tag:"Fake",name:"Down Swing",range:"close",type:"strong",id:"38",mod:"0",requiresWeapon:!0},{tag:"Protected Attacks",name:"Down Swing",range:"close",type:"strong",id:"44",mod:"2",requiresWeapon:!0,requiresShield:!0},{tag:"Protected Attacks",name:"Side Swing",range:"close",type:"high",id:"48",mod:"0",requiresWeapon:!0,requiresShield:!0},{tag:"Protected Attacks",name:"High",range:"close",type:"high",id:"6",mod:"-1",requiresWeapon:!0,requiresShield:!0},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"40",mod:"2",requiresWeapon:!0},{tag:"Special",name:"Dislodge Weapon",range:"close",type:"low",id:"30",mod:"-4",requiresWeapon:!0},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1},{tag:"Shield Block",name:"High",range:"close",type:"defense",id:"26",mod:"2",requiresWeapon:!1,requiresShield:!0},{tag:"Shield Block",name:"Low",range:"close",type:"defense",id:"4",mod:"2",requiresWeapon:!1,requiresShield:!0},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1},{tag:"Jump",name:"Up",range:"close",type:"defense",id:"18",mod:"-6",requiresWeapon:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"5",requiresWeapon:!0},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust High",range:"far",type:"extended",id:"54",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust Low",range:"far",type:"extended",id:"60",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"3",requiresWeapon:!1},{tag:"Extended Range",name:"Dodge",range:"far",type:"extended-defense",id:"52",mod:"-6",requiresWeapon:!1},{tag:"Extended Range",name:"Jump Back",range:"far",type:"extended-defense",id:"62",mod:"-6",requiresWeapon:!1}],tables:[{id:"2",outcomes:[{"2":"49","4":"17","6":"13","8":"13","10":"13","12":"13","14":"49","16":"19","18":"37","20":"19","22":"49","24":"13","26":"13","28":"13","30":"49","32":"13","34":"00","36":"13","38":"13","40":"49","42":"49","44":"15","46":"27","48":"13"}]},{id:"4",outcomes:[{"2":"5","4":"59","6":"59","8":"33","10":"3","12":"59","14":"11","16":"57","18":"37","20":"59","22":"11","24":"15","26":"17","28":"3","30":"15","32":"9","34":"00","36":"25","38":"3","40":"5","42":"59","44":"15","46":"43","48":"59"}]},{id:"6",outcomes:[{"2":"19","4":"17","6":"17","8":"33","10":"3","12":"3","14":"49","16":"19","18":"19","20":"29","22":"11","24":"15","26":"17","28":"45","30":"5","32":"45","34":"00","36":"53","38":"19","40":"31","42":"19","44":"45","46":"19","48":"45"}]},{id:"8",outcomes:[{"2":"5","4":"17","6":"9","8":"33","10":"3","12":"3","14":"21","16":"57","18":"37","20":"29","22":"21","24":"15","26":"17","28":"3","30":"3","32":"9","34":"00","36":"25","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"10",outcomes:[{"2":"31","4":"53","6":"9","8":"19","10":"45","12":"3","14":"63","16":"57","18":"13","20":"23","22":"1","24":"45","26":"17","28":"31","30":"3","32":"53","34":"00","36":"31","38":"45","40":"53","42":"31","44":"45","46":"45","48":"45"}]},{id:"12",outcomes:[{"2":"31","4":"17","6":"9","8":"33","10":"53","12":"45","14":"11","16":"57","18":"13","20":"29","22":"11","24":"45","26":"17","28":"31","30":"3","32":"45","34":"00","36":"31","38":"45","40":"53","42":"49","44":"15","46":"29","48":"45"}]},{id:"14",outcomes:[{"2":"49","4":"17","6":"49","8":"23","10":"13","12":"3","14":"13","16":"19","18":"37","20":"53","22":"11","24":"13","26":"13","28":"13","30":"13","32":"13","34":"00","36":"13","38":"13","40":"49","42":"49","44":"13","46":"53","48":"49"}]},{id:"16",outcomes:[{"2":"57","4":"57","6":"9","8":"61","10":"57","12":"57","14":"11","16":"57","18":"61","20":"61","22":"11","24":"19","26":"57","28":"21","30":"57","32":"9","34":"00","36":"41","38":"57","40":"21","42":"57","44":"57","46":"43","48":"57"}]},{id:"18",outcomes:[{"2":"5","4":"17","6":"17","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"3","32":"9","34":"00","36":"25","38":"3","40":"21","42":"5","44":"15","46":"43","48":"3"}]},{id:"20",outcomes:[{"2":"5","4":"17","6":"9","8":"33","10":"21","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"21","30":"3","32":"9","34":"00","36":"25","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"22",outcomes:[{"2":"49","4":"17","6":"9","8":"23","10":"13","12":"13","14":"13","16":"19","18":"37","20":"53","22":"19","24":"15","26":"17","28":"3","30":"5","32":"31","34":"00","36":"13","38":"3","40":"49","42":"49","44":"13","46":"43","48":"49"}]},{id:"24",outcomes:[{"2":"53","4":"41","6":"17","8":"33","10":"45","12":"45","14":"11","16":"41","18":"53","20":"7","22":"11","24":"7","26":"17","28":"3","30":"3","32":"45","34":"00","36":"25","38":"45","40":"21","42":"5","44":"15","46":"41","48":"17"}]},{id:"26",outcomes:[{"2":"5","4":"17","6":"59","8":"33","10":"3","12":"59","14":"11","16":"57","18":"59","20":"29","22":"11","24":"15","26":"59","28":"3","30":"3","32":"9","34":"00","36":"59","38":"3","40":"5","42":"59","44":"59","46":"43","48":"59"}]},{id:"28",outcomes:[{"2":"63","4":"31","6":"45","8":"19","10":"3","12":"53","14":"11","16":"23","18":"37","20":"23","22":"11","24":"53","26":"55","28":"19","30":"31","32":"9","34":"00","36":"31","38":"27","40":"41","42":"5","44":"15","46":"29","48":"3"}]},{id:"30",outcomes:[{"2":"49","4":"17","6":"9","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"27","24":"15","26":"17","28":"3","30":"27","32":"27","34":"00","36":"25","38":"27","40":"5","42":"27","44":"15","46":"27","48":"3"}]},{id:"32",outcomes:[{"2":"53","4":"53","6":"45","8":"33","10":"3","12":"45","14":"53","16":"19","18":"13","20":"29","22":"53","24":"45","26":"17","28":"53","30":"3","32":"31","34":"00","36":"53","38":"45","40":"31","42":"53","44":"45","46":"43","48":"17"}]},{id:"34",outcomes:[{"2":"5","4":"17","6":"11","8":"33","10":"19","12":"3","14":"11","16":"1","18":"37","20":"29","22":"19","24":"15","26":"19","28":"3","30":"19","32":"19","34":"00","36":"41","38":"3","40":"41","42":"5","44":"15","46":"27","48":"19"}]},{id:"36",outcomes:[{"2":"5","4":"7","6":"55","8":"33","10":"3","12":"3","14":"11","16":"1","18":"7","20":"7","22":"11","24":"15","26":"55","28":"63","30":"27","32":"9","34":"00","36":"25","38":"3","40":"63","42":"5","44":"55","46":"7","48":"55"}]},{id:"38",outcomes:[{"2":"31","4":"53","6":"19","8":"19","10":"45","12":"45","14":"63","16":"57","18":"13","20":"29","22":"9","24":"45","26":"17","28":"5","30":"5","32":"45","34":"00","36":"31","38":"45","40":"5","42":"31","44":"45","46":"43","48":"57"}]},{id:"40",outcomes:[{"2":"49","4":"17","6":"17","8":"33","10":"3","12":"51","14":"49","16":"23","18":"23","20":"53","22":"13","24":"23","26":"13","28":"3","30":"5","32":"9","34":"00","36":"41","38":"3","40":"5","42":"49","44":"15","46":"43","48":"5"}]},{id:"42",outcomes:[{"2":"49","4":"17","6":"9","8":"33","10":"13","12":"49","14":"49","16":"57","18":"37","20":"31","22":"49","24":"13","26":"17","28":"13","30":"5","32":"9","34":"00","36":"13","38":"13","40":"49","42":"49","44":"15","46":"27","48":"49"}]},{id:"44",outcomes:[{"2":"5","4":"19","6":"45","8":"33","10":"45","12":"3","14":"19","16":"57","18":"7","20":"53","22":"19","24":"15","26":"17","28":"31","30":"19","32":"45","34":"00","36":"19","38":"45","40":"31","42":"5","44":"45","46":"27","48":"45"}]},{id:"46",outcomes:[{"2":"5","4":"17","6":"17","8":"33","10":"3","12":"3","14":"11","16":"1","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"15","32":"9","34":"00","36":"25","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"48",outcomes:[{"2":"5","4":"19","6":"9","8":"19","10":"45","12":"45","14":"49","16":"57","18":"19","20":"29","22":"49","24":"19","26":"17","28":"19","30":"19","32":"9","34":"00","36":"19","38":"45","40":"19","42":"49","44":"45","46":"19","48":"49"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"17","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"5","60":"11","62":"57","64":"57"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"17","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"61","54":"9","56":"17","58":"57","60":"57","62":"57","64":"3"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"57","56":"47","58":"5","60":"13","62":"57","64":"57"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"5","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"57","56":"57","58":"57","60":"57","62":"57","64":"57"}]},{id:"64",outcomes:[{"50":"63","52":"35","54":"53","56":"17","58":"57","60":"57","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",range:"close",score:"",restrict:[],bonus:[{strong:"2",high:"2",low:"2",risky:"2"}]},{id:"3",name:"Swinging high",mod:"0",range:"close",score:"",restrict:["Thrust","high"]},{id:"5",name:"Swinging low",mod:"0",range:"close",score:"",restrict:["Thrust","low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"4",restrict:["high","low","strong","risky"]},{id:"9",name:"Thrusting high",mod:"0",range:"close",score:"",restrict:["Side Swing"]},{id:"11",name:"Thrusting low",mod:"0",range:"close",score:"",restrict:["Side Swing","high"]},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"1",restrict:["strong","high"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["high","low"]},{id:"17",name:"Blocking",mod:"0",range:"close",score:"-5",restrict:["high","strong"]},{id:"19",name:"Struck off balance",mod:"0",range:"close",score:"-1",restrict:["high","low","strong"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"-1",restrict:["strong","high","low","defense"]},{id:"23",name:"Behind you!",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Slamming",mod:"0",range:"close",score:"",restrict:["low","risky"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"-5",restrict:[],weaponDislodged:!0},{id:"29",name:"Ducking",range:"close",score:"",restrict:["high","strong"],bonus:[{low:"2"}]},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"0",restrict:["high","low","strong"]},{id:"33",name:"Dodging",range:"close",score:"",restrict:[],bonus:[{"Down Swing":"2","Side Swing":"2"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"2",restrict:["extended"]},{id:"37",name:"Jumping up",range:"close",score:"",restrict:["low"]},{id:"39",name:"Charging",mod:"0",range:"close",score:"",restrict:["defense","risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"0",restrict:[],allowOnly:["Jump"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"",restrict:[],retrieveWeapon:!0},{id:"45",name:"Parrying high",mod:"0",range:"close",score:"-5",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"5",restrict:["extended"]},{id:"49",name:"Parrying low",mod:"0",range:"close",score:"-5",restrict:[]},{id:"51",name:"Knocked to knees",mod:"0",range:"close",score:"",restrict:["high","strong"]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"2",restrict:["defense","risky"]},{id:"55",name:"Shield smashed",mod:"0",range:"close",score:"0",shieldDestroyed:!0},{id:"57",name:"Extended range blocking and attacking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Pushed off balance",mod:"0",range:"close",score:"-1",restrict:["high","low","strong"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[]},{id:"63",name:"Partially Dazed",mod:"0",range:"close",score:"2",restrict:["high","low","strong"]}]}});var T=g((Re,Q)=>{Q.exports={name:"Lizard Man",slug:"lizard-man",icon:"\u{1F98E}",description:"Lizard-man with scimitar and buckler",difficulty:4.3,health:"16",firstMove:"62",weapon:"Scimitar",shield:"Buckler",color:"#32CD32",moves:[{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-4",requiresWeapon:!1,requiresShield:!1},{tag:"Side Swing",name:"High",range:"close",type:"high",id:"10",mod:"2",requiresWeapon:!0,requiresShield:!1},{tag:"Side Swing",name:"Low",range:"close",type:"low",id:"2",mod:"0",requiresWeapon:!0,requiresShield:!1},{tag:"Side Swing",name:"Strong",range:"close",type:"strong",id:"28",mod:"3",requiresWeapon:!0,requiresShield:!1},{tag:"Down Swing",name:"Smash",range:"close",type:"strong",id:"24",mod:"1",requiresWeapon:!0,requiresShield:!1},{tag:"Down Swing",name:"Strong",range:"close",type:"strong",id:"44",mod:"1",requiresWeapon:!0,requiresShield:!1},{tag:"Thrust",name:"High",range:"close",type:"high",id:"32",mod:"-2",requiresWeapon:!0,requiresShield:!1},{tag:"Thrust",name:"Low",range:"close",type:"low",id:"14",mod:"-1",requiresWeapon:!0,requiresShield:!1},{tag:"Fake",name:"High",range:"close",type:"high",id:"42",mod:"-1",requiresWeapon:!0,requiresShield:!1},{tag:"Fake",name:"Low",range:"close",type:"low",id:"12",mod:"-1",requiresWeapon:!0,requiresShield:!1},{tag:"Fake",name:"Side Swing",range:"close",type:"low",id:"22",mod:"-1",requiresWeapon:!0,requiresShield:!1},{tag:"Protected Attacks",name:"Down Swing",range:"close",type:"strong",id:"48",mod:"1",requiresWeapon:!0,requiresShield:!0},{tag:"Protected Attacks",name:"Side Swing",range:"close",type:"high",id:"4",mod:"1",requiresWeapon:!0,requiresShield:!0},{tag:"Special",name:"Kick",range:"close",type:"low",id:"34",mod:"1",requiresWeapon:!1,requiresShield:!1},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"40",mod:"3",requiresWeapon:!0,requiresShield:!1},{tag:"Special",name:"Dislodge Weapon",range:"close",type:"defense",id:"30",mod:"-4",requiresWeapon:!0,requiresShield:!1},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1,requiresShield:!1},{tag:"Special",name:"Shield Block",range:"close",type:"defense",id:"26",mod:"2",requiresWeapon:!1,requiresShield:!0},{tag:"Special",name:"Tail Whip",range:"close",type:"low",id:"38",mod:"3",requiresWeapon:!1,requiresShield:!1},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1,requiresShield:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1,requiresShield:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"5",requiresWeapon:!0,requiresShield:!1},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"-1",requiresWeapon:!0,requiresShield:!1},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"-1",requiresWeapon:!0,requiresShield:!1},{tag:"Extended Range",name:"Thrust High",range:"far",type:"extended",id:"54",mod:"-5",requiresWeapon:!0,requiresShield:!1},{tag:"Extended Range",name:"Thrust Low",range:"far",type:"extended",id:"60",mod:"-5",requiresWeapon:!0,requiresShield:!1},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"0",requiresWeapon:!1,requiresShield:!0},{tag:"Extended Range",name:"Jump Back",range:"far",type:"extended-defense",id:"62",mod:"-5",requiresWeapon:!1,requiresShield:!1}],tables:[{id:"2",outcomes:[{"2":"49","4":"63","6":"13","8":"13","10":"13","12":"13","14":"49","16":"57","18":"37","20":"31","22":"49","24":"13","26":"17","28":"13","30":"49","32":"13","34":"41","36":"00","38":"13","40":"49","42":"13","44":"15","46":"27","48":"13"}]},{id:"4",outcomes:[{"2":"5","4":"59","6":"59","8":"33","10":"3","12":"19","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"15","32":"9","34":"59","36":"00","38":"3","40":"5","42":"19","44":"15","46":"43","48":"19"}]},{id:"6",outcomes:[{"2":"53","4":"63","6":"53","8":"33","10":"3","12":"3","14":"49","16":"19","18":"13","20":"29","22":"11","24":"15","26":"17","28":"45","30":"5","32":"45","34":"13","36":"00","38":"3","40":"31","42":"53","44":"45","46":"53","48":"45"}]},{id:"8",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"3","14":"21","16":"57","18":"37","20":"29","22":"21","24":"15","26":"17","28":"3","30":"3","32":"9","34":"25","36":"00","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"10",outcomes:[{"2":"31","4":"53","6":"45","8":"19","10":"45","12":"3","14":"7","16":"57","18":"13","20":"23","22":"7","24":"45","26":"17","28":"3","30":"3","32":"53","34":"25","36":"00","38":"45","40":"53","42":"31","44":"45","46":"43","48":"45"}]},{id:"12",outcomes:[{"2":"31","4":"63","6":"9","8":"19","10":"53","12":"45","14":"11","16":"57","18":"13","20":"29","22":"11","24":"19","26":"31","28":"3","30":"3","32":"45","34":"25","36":"00","38":"45","40":"31","42":"49","44":"15","46":"29","48":"45"}]},{id:"14",outcomes:[{"2":"49","4":"63","6":"53","8":"23","10":"13","12":"3","14":"13","16":"19","18":"37","20":"53","22":"11","24":"13","26":"13","28":"13","30":"5","32":"13","34":"13","36":"00","38":"13","40":"49","42":"49","44":"19","46":"53","48":"49"}]},{id:"16",outcomes:[{"2":"57","4":"57","6":"9","8":"61","10":"57","12":"57","14":"11","16":"57","18":"57","20":"57","22":"11","24":"19","26":"57","28":"21","30":"57","32":"9","34":"41","36":"00","38":"57","40":"21","42":"57","44":"57","46":"43","48":"57"}]},{id:"18",outcomes:[{"2":"5","4":"63","6":"17","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"3","32":"9","34":"41","36":"00","38":"3","40":"21","42":"5","44":"15","46":"43","48":"3"}]},{id:"20",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"21","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"21","30":"3","32":"9","34":"25","36":"00","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"22",outcomes:[{"2":"49","4":"63","6":"9","8":"23","10":"13","12":"19","14":"13","16":"19","18":"37","20":"53","22":"19","24":"15","26":"17","28":"3","30":"5","32":"31","34":"25","36":"00","38":"3","40":"49","42":"49","44":"13","46":"43","48":"49"}]},{id:"24",outcomes:[{"2":"53","4":"41","6":"17","8":"33","10":"45","12":"45","14":"11","16":"1","18":"53","20":"7","22":"11","24":"7","26":"17","28":"3","30":"3","32":"45","34":"53","36":"00","38":"45","40":"21","42":"5","44":"15","46":"41","48":"17"}]},{id:"26",outcomes:[{"2":"5","4":"63","6":"59","8":"33","10":"3","12":"3","14":"11","16":"57","18":"19","20":"19","22":"11","24":"15","26":"17","28":"17","30":"3","32":"9","34":"25","36":"00","38":"3","40":"59","42":"49","44":"19","46":"43","48":"59"}]},{id:"28",outcomes:[{"2":"7","4":"63","6":"53","8":"19","10":"3","12":"53","14":"11","16":"23","18":"53","20":"23","22":"11","24":"53","26":"55","28":"19","30":"31","32":"9","34":"25","36":"00","38":"27","40":"41","42":"5","44":"15","46":"29","48":"3"}]},{id:"30",outcomes:[{"2":"49","4":"63","6":"9","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"27","24":"15","26":"17","28":"3","30":"27","32":"27","34":"25","36":"00","38":"27","40":"5","42":"27","44":"15","46":"27","48":"3"}]},{id:"32",outcomes:[{"2":"53","4":"63","6":"45","8":"33","10":"3","12":"45","14":"53","16":"19","18":"13","20":"29","22":"53","24":"45","26":"17","28":"53","30":"3","32":"31","34":"25","36":"00","38":"45","40":"31","42":"53","44":"59","46":"43","48":"53"}]},{id:"34",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"51","14":"11","16":"1","18":"37","20":"29","22":"51","24":"15","26":"51","28":"51","30":"3","32":"17","34":"25","36":"00","38":"3","40":"41","42":"5","44":"15","46":"27","48":"17"}]},{id:"36",outcomes:[{"2":"5","4":"41","6":"7","8":"33","10":"3","12":"3","14":"1","16":"1","18":"7","20":"7","22":"11","24":"15","26":"55","28":"7","30":"27","32":"9","34":"7","36":"00","38":"3","40":"7","42":"53","44":"53","46":"7","48":"7"}]},{id:"38",outcomes:[{"2":"31","4":"53","6":"53","8":"53","10":"45","12":"45","14":"7","16":"57","18":"13","20":"29","22":"7","24":"45","26":"17","28":"3","30":"5","32":"45","34":"25","36":"00","38":"5","40":"5","42":"31","44":"45","46":"43","48":"17"}]},{id:"40",outcomes:[{"2":"49","4":"19","6":"31","8":"33","10":"3","12":"41","14":"49","16":"23","18":"23","20":"53","22":"13","24":"23","26":"13","28":"3","30":"5","32":"9","34":"25","36":"00","38":"3","40":"5","42":"49","44":"15","46":"43","48":"3"}]},{id:"42",outcomes:[{"2":"19","4":"63","6":"13","8":"19","10":"13","12":"49","14":"19","16":"57","18":"19","20":"31","22":"49","24":"13","26":"13","28":"3","30":"5","32":"9","34":"41","36":"00","38":"13","40":"49","42":"13","44":"15","46":"27","48":"13"}]},{id:"44",outcomes:[{"2":"5","4":"19","6":"45","8":"33","10":"45","12":"3","14":"31","16":"57","18":"7","20":"53","22":"53","24":"31","26":"17","28":"31","30":"53","32":"45","34":"13","36":"00","38":"45","40":"31","42":"5","44":"45","46":"27","48":"45"}]},{id:"46",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"3","14":"11","16":"1","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"15","32":"9","34":"25","36":"00","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"48",outcomes:[{"2":"5","4":"19","6":"45","8":"19","10":"45","12":"45","14":"49","16":"57","18":"31","20":"29","22":"9","24":"31","26":"19","28":"31","30":"19","32":"9","34":"25","36":"00","38":"45","40":"19","42":"49","44":"45","46":"53","48":"19"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"53","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"5","60":"11","62":"57","64":"57"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"45","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"57","54":"9","56":"17","58":"57","60":"57","62":"57","64":"59"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"57","56":"47","58":"5","60":"13","62":"57","64":"57"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"5","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"57","56":"57","58":"57","60":"57","62":"57","64":"57"}]},{id:"64",outcomes:[{"50":"7","52":"35","54":"53","56":"17","58":"57","60":"57","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",mod:"0",range:"close",score:"",restrict:[],bonus:[{high:"2",low:"2",strong:"2",risky:"2"}]},{id:"3",name:"Swinging high",mod:"0",range:"close",score:"",restrict:["Thrust","high"]},{id:"5",name:"Swinging low",mod:"0",range:"close",score:"",restrict:["Thrust","low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"6",restrict:["high","low","strong","risky"]},{id:"9",name:"Thrusting high",mod:"0",range:"close",score:"",restrict:["Side Swing"]},{id:"11",name:"Thrusting low",mod:"0",range:"close",score:"",restrict:["Side Swing","strong"]},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"3",restrict:["high","low","strong"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["strong","low"]},{id:"17",name:"Blocking",mod:"0",range:"close",score:"-2",restrict:["low"]},{id:"19",name:"Struck off balance",mod:"0",range:"close",score:"0",restrict:["high","low","strong"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"0",restrict:["high","low","strong","defense"]},{id:"23",name:"Behind you",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Kicking",mod:"0",range:"close",score:"",restrict:["low","risky","Tail Whip"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"-6",restrict:[],weaponDislodged:!0},{id:"29",name:"Ducking",range:"close",score:"",restrict:["strong","high"],bonus:[{low:"1"}]},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"2",restrict:["high","low","strong"]},{id:"33",name:"Dodging",range:"close",score:"",restrict:["Thrust"],bonus:[{"Tail Whip":"2"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"4",restrict:["extended"]},{id:"37",name:"Jumping up",range:"close",score:"",restrict:["low"],bonus:[{strong:"2"}]},{id:"39",name:"Charging",mod:"0",range:"close",score:"",restrict:["defense","risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"0",restrict:[],allowOnly:["Jump"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"",restrict:["strong","high"],retrieveWeapon:!0},{id:"45",name:"Parrying high",mod:"0",range:"close",score:"-4",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"3",restrict:["extended"]},{id:"49",name:"Parrying low",mod:"0",range:"close",score:"-4",restrict:[]},{id:"51",name:"Kicked off balance",mod:"0",range:"close",score:"0",restrict:["high","low","strong"]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"4",restrict:["high","low","strong"]},{id:"55",name:"Shield smashed",mod:"0",range:"close",score:"1",restrict:[],shieldDestroyed:!0},{id:"57",name:"Extended range blocking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Pushed off balance",mod:"0",range:"close",score:"0",restrict:["high","low","strong"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[]},{id:"63",name:"Tail whip",mod:"0",range:"close",score:"",restrict:["Thrust"]}]}});var N=g((Ce,Z)=>{Z.exports={name:"Monk",slug:"monk",icon:"\u{1F94B}",description:"Human monk with quarterstaff",difficulty:6.4,health:"10",firstMove:"62",weapon:"Quarterstaff",shield:!1,color:"#FFD700",moves:[{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-4",requiresWeapon:!1},{tag:"Side Swing",name:"High",range:"close",type:"high",id:"10",mod:"0",requiresWeapon:!0},{tag:"Side Swing",name:"Low",range:"close",type:"low",id:"2",mod:"0",requiresWeapon:!0},{tag:"Side Swing",name:"Strong",range:"close",type:"strong",id:"28",mod:"1",requiresWeapon:!0},{tag:"Down Swing",name:"Bash",range:"close",type:"strong",id:"36",mod:"3",requiresWeapon:!0},{tag:"Down Swing",name:"Smash",range:"close",type:"strong",id:"24",mod:"2",requiresWeapon:!0},{tag:"Thrust",name:"High",range:"close",type:"high",id:"32",mod:"-2",requiresWeapon:!0},{tag:"Thrust",name:"Low",range:"close",type:"low",id:"14",mod:"-2",requiresWeapon:!0},{tag:"Block and Strike",name:"Swing",range:"close",type:"high",id:"44",mod:"-1",requiresWeapon:!0},{tag:"Block and Strike",name:"Thrust",range:"close",type:"low",id:"22",mod:"-2",requiresWeapon:!0},{tag:"Fake",name:"Low",range:"close",type:"low",id:"12",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"High",range:"close",type:"high",id:"42",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"Kick",range:"close",type:"low",id:"34",mod:"0",requiresWeapon:!1},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"40",mod:"3",requiresWeapon:!0},{tag:"Special",name:"Dislodge Weapon",range:"close",type:"defense",id:"30",mod:"-4",requiresWeapon:!0},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1},{tag:"Block",name:"High",range:"close",type:"defense",id:"26",mod:"0",requiresWeapon:!0},{tag:"Block",name:"Low",range:"close",type:"defense",id:"4",mod:"0",requiresWeapon:!0},{tag:"Jump",name:"Up",range:"close",type:"defense",id:"18",mod:"-6",requiresWeapon:!1},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"3",requiresWeapon:!0},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"1",requiresWeapon:!0},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"1",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust High",range:"far",type:"extended",id:"54",mod:"-1",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust Low",range:"far",type:"extended",id:"60",mod:"-1",requiresWeapon:!0},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"0",requiresWeapon:!0},{tag:"Extended Range",name:"Dodge",range:"far",type:"extended-defense",id:"52",mod:"-4",requiresWeapon:!1},{tag:"Extended Range",name:"Jump Back",range:"far",type:"extended-defense",id:"62",mod:"-4",requiresWeapon:!1}],tables:[{id:"2",outcomes:[{"2":"49","4":"59","6":"00","8":"19","10":"13","12":"19","14":"49","16":"57","18":"37","20":"19","22":"59","24":"13","26":"13","28":"13","30":"49","32":"13","34":"41","36":"13","38":"00","40":"49","42":"49","44":"15","46":"27","48":"00"}]},{id:"4",outcomes:[{"2":"5","4":"19","6":"00","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"59","28":"3","30":"15","32":"9","34":"25","36":"15","38":"00","40":"5","42":"5","44":"15","46":"43","48":"00"}]},{id:"6",outcomes:[{"2":"19","4":"59","6":"00","8":"33","10":"3","12":"3","14":"49","16":"19","18":"19","20":"29","22":"11","24":"15","26":"59","28":"31","30":"5","32":"45","34":"19","36":"19","38":"00","40":"19","42":"19","44":"45","46":"19","48":"00"}]},{id:"8",outcomes:[{"2":"5","4":"59","6":"00","8":"33","10":"3","12":"3","14":"23","16":"57","18":"37","20":"29","22":"21","24":"15","26":"59","28":"3","30":"3","32":"9","34":"19","36":"15","38":"00","40":"5","42":"5","44":"15","46":"43","48":"00"}]},{id:"10",outcomes:[{"2":"31","4":"53","6":"00","8":"19","10":"45","12":"3","14":"7","16":"57","18":"19","20":"23","22":"7","24":"45","26":"59","28":"31","30":"3","32":"53","34":"25","36":"31","38":"00","40":"53","42":"53","44":"59","46":"43","48":"00"}]},{id:"12",outcomes:[{"2":"19","4":"59","6":"00","8":"19","10":"19","12":"45","14":"11","16":"57","18":"19","20":"29","22":"11","24":"45","26":"59","28":"19","30":"3","32":"45","34":"25","36":"19","38":"00","40":"53","42":"49","44":"15","46":"29","48":"00"}]},{id:"14",outcomes:[{"2":"49","4":"59","6":"00","8":"23","10":"13","12":"3","14":"13","16":"19","18":"37","20":"53","22":"11","24":"13","26":"13","28":"13","30":"5","32":"13","34":"13","36":"13","38":"00","40":"49","42":"49","44":"13","46":"53","48":"00"}]},{id:"16",outcomes:[{"2":"51","4":"57","6":"00","8":"61","10":"51","12":"57","14":"11","16":"57","18":"61","20":"61","22":"11","24":"19","26":"57","28":"21","30":"51","32":"9","34":"41","36":"41","38":"00","40":"21","42":"57","44":"57","46":"43","48":"00"}]},{id:"18",outcomes:[{"2":"5","4":"59","6":"00","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"59","28":"3","30":"3","32":"9","34":"41","36":"15","38":"00","40":"21","42":"5","44":"15","46":"43","48":"00"}]},{id:"20",outcomes:[{"2":"5","4":"59","6":"00","8":"33","10":"21","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"59","28":"21","30":"3","32":"9","34":"25","36":"15","38":"00","40":"5","42":"5","44":"15","46":"43","48":"00"}]},{id:"22",outcomes:[{"2":"49","4":"59","6":"00","8":"23","10":"13","12":"19","14":"13","16":"19","18":"37","20":"19","22":"19","24":"15","26":"59","28":"3","30":"5","32":"31","34":"25","36":"13","38":"00","40":"49","42":"49","44":"13","46":"43","48":"00"}]},{id:"24",outcomes:[{"2":"53","4":"41","6":"00","8":"33","10":"45","12":"45","14":"11","16":"1","18":"19","20":"19","22":"11","24":"7","26":"59","28":"3","30":"3","32":"45","34":"53","36":"15","38":"00","40":"21","42":"5","44":"15","46":"41","48":"00"}]},{id:"26",outcomes:[{"2":"5","4":"59","6":"00","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"59","28":"3","30":"3","32":"9","34":"25","36":"15","38":"00","40":"5","42":"5","44":"19","46":"43","48":"00"}]},{id:"28",outcomes:[{"2":"7","4":"31","6":"00","8":"19","10":"3","12":"19","14":"11","16":"23","18":"37","20":"23","22":"11","24":"53","26":"53","28":"19","30":"31","32":"9","34":"25","36":"31","38":"00","40":"41","42":"5","44":"15","46":"29","48":"00"}]},{id:"30",outcomes:[{"2":"49","4":"59","6":"00","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"27","24":"15","26":"59","28":"3","30":"27","32":"27","34":"25","36":"15","38":"00","40":"5","42":"27","44":"15","46":"27","48":"00"}]},{id:"32",outcomes:[{"2":"53","4":"53","6":"00","8":"33","10":"3","12":"45","14":"53","16":"19","18":"19","20":"29","22":"53","24":"45","26":"59","28":"53","30":"3","32":"31","34":"25","36":"53","38":"00","40":"31","42":"19","44":"59","46":"43","48":"00"}]},{id:"34",outcomes:[{"2":"5","4":"59","6":"00","8":"33","10":"3","12":"3","14":"11","16":"1","18":"37","20":"29","22":"17","24":"15","26":"17","28":"17","30":"3","32":"17","34":"25","36":"41","38":"00","40":"41","42":"5","44":"15","46":"27","48":"00"}]},{id:"36",outcomes:[{"2":"5","4":"7","6":"00","8":"33","10":"3","12":"3","14":"63","16":"63","18":"7","20":"19","22":"11","24":"15","26":"31","28":"7","30":"27","32":"9","34":"7","36":"63","38":"00","40":"7","42":"5","44":"53","46":"7","48":"00"}]},{id:"38",outcomes:[{"2":"31","4":"53","6":"00","8":"53","10":"45","12":"45","14":"7","16":"57","18":"19","20":"29","22":"9","24":"45","26":"59","28":"3","30":"5","32":"45","34":"25","36":"31","38":"00","40":"5","42":"19","44":"59","46":"43","48":"00"}]},{id:"40",outcomes:[{"2":"49","4":"59","6":"00","8":"33","10":"3","12":"41","14":"49","16":"23","18":"23","20":"19","22":"13","24":"23","26":"13","28":"3","30":"5","32":"9","34":"25","36":"41","38":"00","40":"5","42":"49","44":"15","46":"43","48":"00"}]},{id:"42",outcomes:[{"2":"49","4":"59","6":"00","8":"19","10":"19","12":"49","14":"49","16":"57","18":"37","20":"19","22":"59","24":"19","26":"59","28":"19","30":"5","32":"9","34":"41","36":"19","38":"00","40":"49","42":"49","44":"15","46":"27","48":"00"}]},{id:"44",outcomes:[{"2":"5","4":"19","6":"00","8":"33","10":"45","12":"3","14":"19","16":"57","18":"19","20":"19","22":"19","24":"15","26":"59","28":"19","30":"19","32":"45","34":"19","36":"19","38":"00","40":"19","42":"5","44":"45","46":"27","48":"00"}]},{id:"46",outcomes:[{"2":"5","4":"59","6":"00","8":"33","10":"3","12":"3","14":"11","16":"1","18":"37","20":"29","22":"11","24":"15","26":"59","28":"3","30":"15","32":"9","34":"25","36":"15","38":"00","40":"5","42":"5","44":"15","46":"43","48":"00"}]},{id:"48",outcomes:[{"2":"5","4":"19","6":"00","8":"19","10":"45","12":"45","14":"49","16":"57","18":"19","20":"29","22":"59","24":"31","26":"59","28":"19","30":"19","32":"9","34":"25","36":"19","38":"00","40":"19","42":"49","44":"45","46":"19","48":"00"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"59","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"5","60":"11","62":"57","64":"51"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"45","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"61","54":"9","56":"45","58":"51","60":"55","62":"57","64":"3"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"57","56":"47","58":"5","60":"13","62":"57","64":"51"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"5","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"57","56":"57","58":"51","60":"55","62":"57","64":"51"}]},{id:"64",outcomes:[{"50":"7","52":"35","54":"53","56":"45","58":"51","60":"55","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",mod:"0",range:"close",score:"",restrict:[],bonus:[{high:"2",low:"2",strong:"2",risky:"2"}]},{id:"3",name:"Swinging high",mod:"0",range:"close",score:"",restrict:["strong"]},{id:"5",name:"Swinging low",mod:"0",range:"close",score:"",restrict:["low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"8",restrict:["strong","high","low"]},{id:"9",name:"Thrusting high",mod:"0",range:"close",score:"",restrict:[]},{id:"11",name:"Thrusting low",mod:"0",range:"close",score:"",restrict:["strong"]},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"3",restrict:["strong","high"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["low"]},{id:"17",name:"Kicked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"19",name:"Struck off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"23",name:"Behind you",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Kicking",mod:"0",range:"close",score:"",restrict:["low","risky"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"",restrict:[],weaponDislodged:!0},{id:"29",name:"Ducking",mod:"0",range:"close",score:"",restrict:["strong"]},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"2",restrict:["strong","high"]},{id:"33",name:"Dodging",range:"close",score:"",restrict:[],bonus:[{"Down Swing":"2","Side Swing":"2"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"4",restrict:["extended"]},{id:"37",name:"Jumping up",range:"close",score:"",restrict:["low"],bonus:[{strong:"2"}]},{id:"39",name:"Charging",mod:"0",range:"close",score:"",restrict:["defense","risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"0",restrict:[],allowOnly:["Jump"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"",restrict:["strong"],retrieveWeapon:!0},{id:"45",name:"Parrying High",mod:"0",range:"close",score:"-4",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"3",restrict:["extended"]},{id:"49",name:"Parrying low",mod:"0",range:"close",score:"-4",restrict:[]},{id:"51",name:"Extended range swinging",mod:"0",range:"far",score:"",restrict:["extended"]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"4",restrict:["strong","high"]},{id:"55",name:"Extended range thrusting",mod:"0",range:"far",score:"",restrict:["extended"]},{id:"57",name:"Extended range blocking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Blocking",mod:"0",range:"close",score:"-5",restrict:["strong"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[],bonus:[{Charge:"2","Swing High":"2","Swing Low":"2","Side Swing":"2"}]},{id:"63",name:"Weapon broken",mod:"0",range:"close",score:"",weaponDestroyed:!0}]}});var $=g((De,X)=>{X.exports={name:"Skeleton",slug:"skeleton",icon:"\u{1F480}",description:"Animated skeleton with sword and shield",difficulty:4.6,health:"7",firstMove:"62",weapon:"Sword",shield:"Shield",color:"#F5F5F5",moves:[{tag:"Down Swing",name:"Smash",range:"close",type:"strong",id:"24",mod:"4",requiresWeapon:!0},{tag:"Down Swing",name:"Strong",range:"close",type:"strong",id:"28",mod:"3",requiresWeapon:!0},{tag:"Side Swing",name:"High",range:"close",type:"high",id:"10",mod:"1",requiresWeapon:!0},{tag:"Side Swing",name:"Low",range:"close",type:"low",id:"2",mod:"1",requiresWeapon:!0},{tag:"Thrust",name:"High",range:"close",type:"high",id:"32",mod:"1",requiresWeapon:!0},{tag:"Thrust",name:"Low",range:"close",type:"low",id:"14",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"High",range:"close",type:"high",id:"42",mod:"-1",requiresWeapon:!0},{tag:"Fake",name:"Low",range:"close",type:"low",id:"12",mod:"-1",requiresWeapon:!0},{tag:"Fake",name:"Side Swing",range:"close",type:"low",id:"22",mod:"-1",requiresWeapon:!0},{tag:"Fake",name:"Thrust",range:"close",type:"high",id:"38",mod:"0",requiresWeapon:!0},{tag:"Protected Attack",name:"Down Swing",range:"close",type:"strong",id:"44",mod:"2",requiresWeapon:!0,requiresShield:!0},{tag:"Protected Attack",name:"Side Swing",range:"close",type:"low",id:"48",mod:"0",requiresWeapon:!0,requiresShield:!0},{tag:"Protected Attack",name:"Thrust",range:"close",type:"high",id:"6",mod:"-2",requiresWeapon:!0,requiresShield:!0},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"40",mod:"3",requiresWeapon:!0},{tag:"Special",name:"Dislodge Weapon",range:"close",type:"low",id:"30",mod:"-4",requiresWeapon:!0},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1},{tag:"Shield Block",name:"High",range:"close",type:"defense",id:"26",mod:"1",requiresWeapon:!1,requiresShield:!0},{tag:"Shield Block",name:"Low",range:"close",type:"defense",id:"4",mod:"1",requiresWeapon:!1,requiresShield:!0},{tag:"Jump",name:"Up",range:"close",type:"defense",id:"18",mod:"-6",requiresWeapon:!1},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1},{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-6",requiresWeapon:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"4",requiresWeapon:!0},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust High",range:"far",type:"extended",id:"54",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust Low",range:"far",type:"extended",id:"60",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"0",requiresWeapon:!1},{tag:"Extended Range",name:"Dodge",range:"far",type:"extended-defense",id:"52",mod:"-6",requiresWeapon:!1},{tag:"Extended Range",name:"Jump Back",range:"far",type:"extended-defense",id:"62",mod:"-6",requiresWeapon:!1}],tables:[{id:"2",outcomes:[{"2":"49","4":"63","6":"13","8":"13","10":"13","12":"13","14":"49","16":"57","18":"37","20":"19","22":"49","24":"13","26":"13","28":"13","30":"49","32":"13","34":"41","36":"13","38":"13","40":"49","42":"49","44":"15","46":"27","48":"13"}]},{id:"4",outcomes:[{"2":"5","4":"59","6":"59","8":"33","10":"3","12":"59","14":"11","16":"57","18":"37","20":"59","22":"11","24":"15","26":"17","28":"3","30":"15","32":"9","34":"59","36":"15","38":"3","40":"5","42":"59","44":"15","46":"43","48":"59"}]},{id:"6",outcomes:[{"2":"17","4":"63","6":"17","8":"33","10":"3","12":"3","14":"49","16":"19","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"5","32":"9","34":"19","36":"19","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"8",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"3","14":"21","16":"57","18":"37","20":"29","22":"21","24":"15","26":"17","28":"3","30":"3","32":"9","34":"19","36":"15","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"10",outcomes:[{"2":"31","4":"53","6":"9","8":"19","10":"45","12":"3","14":"7","16":"57","18":"13","20":"23","22":"7","24":"45","26":"17","28":"31","30":"3","32":"53","34":"25","36":"31","38":"45","40":"53","42":"31","44":"45","46":"43","48":"45"}]},{id:"12",outcomes:[{"2":"31","4":"63","6":"9","8":"19","10":"53","12":"45","14":"11","16":"57","18":"13","20":"29","22":"11","24":"45","26":"17","28":"31","30":"3","32":"45","34":"25","36":"31","38":"45","40":"53","42":"49","44":"15","46":"31","48":"45"}]},{id:"14",outcomes:[{"2":"49","4":"63","6":"49","8":"23","10":"13","12":"3","14":"13","16":"19","18":"37","20":"53","22":"11","24":"13","26":"13","28":"13","30":"5","32":"13","34":"13","36":"13","38":"13","40":"49","42":"49","44":"13","46":"53","48":"49"}]},{id:"16",outcomes:[{"2":"57","4":"57","6":"9","8":"61","10":"57","12":"57","14":"11","16":"57","18":"61","20":"61","22":"11","24":"19","26":"57","28":"21","30":"57","32":"9","34":"41","36":"41","38":"57","40":"21","42":"57","44":"57","46":"43","48":"57"}]},{id:"18",outcomes:[{"2":"5","4":"63","6":"17","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"3","30":"3","32":"9","34":"41","36":"15","38":"3","40":"21","42":"5","44":"15","46":"43","48":"3"}]},{id:"20",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"21","12":"3","14":"11","16":"57","18":"37","20":"29","22":"11","24":"15","26":"17","28":"21","30":"3","32":"9","34":"25","36":"15","38":"3","40":"5","42":"5","44":"15","46":"43","48":"3"}]},{id:"22",outcomes:[{"2":"49","4":"63","6":"9","8":"23","10":"13","12":"13","14":"13","16":"19","18":"37","20":"53","22":"19","24":"15","26":"17","28":"3","30":"5","32":"31","34":"25","36":"13","38":"3","40":"49","42":"49","44":"13","46":"43","48":"49"}]},{id:"24",outcomes:[{"2":"53","4":"41","6":"17","8":"33","10":"45","12":"45","14":"11","16":"1","18":"53","20":"7","22":"11","24":"7","26":"17","28":"3","30":"3","32":"45","34":"53","36":"15","38":"45","40":"21","42":"5","44":"15","46":"41","48":"17"}]},{id:"26",outcomes:[{"2":"5","4":"63","6":"59","8":"33","10":"3","12":"59","14":"11","16":"57","18":"59","20":"29","22":"11","24":"15","26":"59","28":"3","30":"3","32":"9","34":"25","36":"59","38":"3","40":"5","42":"59","44":"59","46":"43","48":"59"}]},{id:"28",outcomes:[{"2":"7","4":"31","6":"45","8":"19","10":"3","12":"53","14":"11","16":"23","18":"37","20":"23","22":"11","24":"53","26":"53","28":"19","30":"31","32":"9","34":"25","36":"31","38":"27","40":"41","42":"5","44":"15","46":"29","48":"3"}]},{id:"30",outcomes:[{"2":"49","4":"63","6":"9","8":"33","10":"3","12":"3","14":"11","16":"57","18":"37","20":"29","22":"27","24":"15","26":"17","28":"3","30":"27","32":"27","34":"25","36":"15","38":"27","40":"5","42":"27","44":"15","46":"27","48":"3"}]},{id:"32",outcomes:[{"2":"5","4":"63","6":"45","8":"33","10":"3","12":"45","14":"11","16":"19","18":"13","20":"29","22":"11","24":"45","26":"17","28":"3","30":"3","32":"9","34":"25","36":"15","38":"45","40":"5","42":"5","44":"15","46":"43","48":"17"}]},{id:"34",outcomes:[{"2":"5","4":"63","6":"11","8":"33","10":"51","12":"3","14":"11","16":"1","18":"37","20":"29","22":"51","24":"15","26":"51","28":"51","30":"51","32":"51","34":"51","36":"41","38":"3","40":"41","42":"5","44":"15","46":"27","48":"51"}]},{id:"36",outcomes:[{"2":"5","4":"7","6":"55","8":"33","10":"3","12":"3","14":"11","16":"1","18":"7","20":"7","22":"11","24":"15","26":"55","28":"7","30":"27","32":"9","34":"7","36":"7","38":"3","40":"7","42":"5","44":"7","46":"7","48":"55"}]},{id:"38",outcomes:[{"2":"31","4":"53","6":"9","8":"19","10":"45","12":"45","14":"7","16":"57","18":"13","20":"29","22":"9","24":"45","26":"17","28":"3","30":"5","32":"45","34":"25","36":"31","38":"45","40":"5","42":"31","44":"45","46":"43","48":"45"}]},{id:"40",outcomes:[{"2":"49","4":"63","6":"31","8":"33","10":"3","12":"41","14":"49","16":"23","18":"23","20":"53","22":"13","24":"23","26":"13","28":"3","30":"5","32":"9","34":"25","36":"41","38":"3","40":"5","42":"49","44":"15","46":"43","48":"5"}]},{id:"42",outcomes:[{"2":"49","4":"63","6":"9","8":"13","10":"13","12":"49","14":"49","16":"57","18":"37","20":"31","22":"49","24":"13","26":"17","28":"13","30":"5","32":"9","34":"41","36":"13","38":"13","40":"49","42":"49","44":"15","46":"27","48":"49"}]},{id:"44",outcomes:[{"2":"5","4":"19","6":"45","8":"33","10":"45","12":"3","14":"19","16":"57","18":"7","20":"19","22":"19","24":"15","26":"17","28":"19","30":"19","32":"45","34":"19","36":"19","38":"45","40":"19","42":"5","44":"45","46":"27","48":"45"}]},{id:"46",outcomes:[{"2":"5","4":"63","6":"9","8":"33","10":"3","12":"3","14":"11","16":"1","18":"7","20":"19","22":"19","24":"15","26":"17","28":"3","30":"15","32":"45","34":"19","36":"19","38":"45","40":"5","42":"5","44":"45","46":"27","48":"45"}]},{id:"48",outcomes:[{"2":"5","4":"19","6":"45","8":"19","10":"45","12":"45","14":"49","16":"57","18":"19","20":"29","22":"49","24":"19","26":"17","28":"19","30":"19","32":"17","34":"25","36":"19","38":"45","40":"19","42":"49","44":"45","46":"19","48":"49"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"17","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"5","60":"11","62":"57","64":"57"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"17","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"61","54":"9","56":"17","58":"57","60":"57","62":"57","64":"3"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"57","56":"47","58":"5","60":"11","62":"57","64":"57"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"5","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"57","56":"57","58":"57","60":"57","62":"67","64":"57"}]},{id:"64",outcomes:[{"50":"7","52":"35","54":"9","56":"17","58":"57","60":"35","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",mod:"0",range:"close",score:"",restrict:[],bonus:[{strong:"2",high:"2",low:"2",risky:"2"}]},{id:"3",name:"Swinging high",mod:"0",range:"close",score:"",restrict:["high"]},{id:"5",name:"Swinging low",mod:"0",range:"close",score:"",restrict:["low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"7",restrict:["strong","high","low"]},{id:"9",name:"Thrusting high",mod:"0",range:"close",score:""},{id:"11",name:"Thrusting low",mod:"0",range:"close",score:"",restrict:["high"]},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"4",restrict:["strong"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["low"]},{id:"17",name:"Blocking high",mod:"0",range:"close",score:"-4",restrict:["low"]},{id:"19",name:"Struck off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"0",restrict:["risky"]},{id:"23",name:"Behind you",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Kicking",mod:"0",range:"close",score:"",restrict:["low","risky"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"",restrict:[],weaponDislodged:!0},{id:"29",name:"Ducking and Retrieving Bones",mod:"0",range:"close",score:"",restrict:["strong"],heal:"2"},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"3",restrict:["strong"]},{id:"33",name:"Dodging",range:"close",score:"",restrict:[],bonus:[{"Down Swing":"2","Side Swing":"2"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"5",restrict:["extended"]},{id:"37",name:"Jumping up",range:"close",score:"",restrict:["low"],bonus:[{strong:"2"}]},{id:"39",name:"Charging",mod:"0",range:"close",score:"",restrict:["risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"0",restrict:["high","low","strong"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"",restrict:[],retrieveWeapon:!0},{id:"45",name:"Parrying high",mod:"0",range:"close",score:"-4",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"4",restrict:["extended"]},{id:"49",name:"Parrying low",mod:"0",range:"close",score:"-4",restrict:[]},{id:"51",name:"Kicked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"5",restrict:["strong","high"]},{id:"55",name:"Shield Smashed",mod:"0",range:"close",score:"0",restrict:[],shieldDestroyed:!0},{id:"57",name:"Extended range blocking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Pushed off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[]},{id:"63",name:"Blocking low",mod:"0",range:"close",score:"-4",restrict:["strong"]}]}});var A=g((Ee,ee)=>{ee.exports={name:"Zombie",slug:"zombie",icon:"\u{1F9DF}",description:"An undead warrior with heavy mace",difficulty:5.7,health:"12",firstMove:"62",weapon:"Mace",shield:!1,color:"#556B2F",moves:[{tag:"Down Swing",name:"Smash",range:"close",type:"strong",id:"24",mod:"3",requiresWeapon:!0},{tag:"Down Swing",name:"Strong",range:"close",type:"strong",id:"36",mod:"2",requiresWeapon:!0},{tag:"Side Swing",name:"High Swing",range:"close",type:"high",id:"10",mod:"1",requiresWeapon:!0},{tag:"Side Swing",name:"Low Swing",range:"close",type:"low",id:"2",mod:"1",requiresWeapon:!0},{tag:"Thrust",name:"High Thrust",range:"close",type:"high",id:"32",mod:"2",requiresWeapon:!0},{tag:"Thrust",name:"Low Thrust",range:"close",type:"low",id:"14",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"High",range:"close",type:"high",id:"42",mod:"0",requiresWeapon:!0},{tag:"Fake",name:"Low",range:"close",type:"low",id:"12",mod:"0",requiresWeapon:!0},{tag:"Hand to Hand",name:"Grab and Shake",range:"close",type:"low",id:"22",mod:"3",requiresWeapon:!1},{tag:"Hand to Hand",name:"Punch",range:"close",type:"low",id:"6",mod:"2",requiresWeapon:!1},{tag:"Hand to Hand",name:"Head Butt",range:"close",type:"risky",id:"44",mod:"1",requiresWeapon:!1},{tag:"Hand to Hand",name:"Knee Slam",range:"close",type:"low",id:"38",mod:"1",requiresWeapon:!1},{tag:"Hand to Hand",name:"Slap",range:"close",type:"low",id:"48",mod:"2",requiresWeapon:!1},{tag:"Special",name:"Kick",range:"close",type:"low",id:"34",mod:"0",requiresWeapon:!1},{tag:"Special",name:"Wild Swing",range:"close",type:"risky",id:"30",mod:"3",requiresWeapon:!0},{tag:"Special",name:"Retrieve Weapon",range:"close",type:"defense",id:"46",mod:"-6",requiresWeapon:!1},{tag:"Jump",name:"Dodge",range:"close",type:"risky",id:"8",mod:"-4",requiresWeapon:!1},{tag:"Jump",name:"Jump Up",range:"close",type:"defense",id:"18",mod:"-7",requiresWeapon:!1},{tag:"Jump",name:"Duck",range:"close",type:"defense",id:"20",mod:"-5",requiresWeapon:!1},{tag:"Jump",name:"Away",range:"close",type:"risky",id:"16",mod:"-6",requiresWeapon:!1},{tag:"Extended Range",name:"Charge",range:"far",type:"extended",id:"50",mod:"4",requiresWeapon:!0},{tag:"Extended Range",name:"Swing High",range:"far",type:"extended",id:"64",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Swing Low",range:"far",type:"extended",id:"58",mod:"-6",requiresWeapon:!0},{tag:"Extended Range",name:"Thrust",range:"far",type:"extended",id:"54",mod:"-5",requiresWeapon:!0},{tag:"Extended Range",name:"Groan",range:"far",type:"extended",id:"60",mod:"0",requiresWeapon:!1},{tag:"Extended Range",name:"Block & Close",range:"far",type:"extended-defense",id:"56",mod:"0",requiresWeapon:!1},{tag:"Extended Range",name:"Jump Away",range:"far",type:"extended-defense",id:"62",mod:"-6",requiresWeapon:!1}],tables:[{id:"2",outcomes:[{"2":"45","4":"00","6":"13","8":"13","10":"13","12":"13","14":"45","16":"57","18":"37","20":"31","22":"59","24":"13","26":"00","28":"13","30":"45","32":"13","34":"41","36":"13","38":"13","40":"45","42":"45","44":"63","46":"27","48":"13"}]},{id:"4",outcomes:[{"2":"3","4":"00","6":"19","8":"33","10":"3","12":"19","14":"9","16":"57","18":"37","20":"19","22":"59","24":"15","26":"00","28":"3","30":"15","32":"9","34":"19","36":"15","38":"5","40":"3","42":"19","44":"63","46":"43","48":"19"}]},{id:"6",outcomes:[{"2":"53","4":"00","6":"49","8":"33","10":"3","12":"3","14":"45","16":"53","18":"13","20":"29","22":"59","24":"15","26":"00","28":"3","30":"3","32":"45","34":"13","36":"13","38":"31","40":"31","42":"53","44":"63","46":"27","48":"19"}]},{id:"8",outcomes:[{"2":"3","4":"00","6":"49","8":"33","10":"3","12":"3","14":"21","16":"57","18":"37","20":"29","22":"21","24":"15","26":"00","28":"3","30":"3","32":"9","34":"19","36":"15","38":"5","40":"3","42":"45","44":"63","46":"43","48":"17"}]},{id:"10",outcomes:[{"2":"31","4":"00","6":"45","8":"19","10":"45","12":"3","14":"7","16":"57","18":"13","20":"23","22":"7","24":"45","26":"00","28":"31","30":"3","32":"53","34":"25","36":"31","38":"5","40":"53","42":"31","44":"63","46":"43","48":"17"}]},{id:"12",outcomes:[{"2":"31","4":"00","6":"49","8":"3","10":"53","12":"45","14":"9","16":"57","18":"13","20":"29","22":"59","24":"45","26":"00","28":"31","30":"3","32":"45","34":"25","36":"31","38":"5","40":"53","42":"29","44":"63","46":"29","48":"53"}]},{id:"14",outcomes:[{"2":"45","4":"00","6":"49","8":"23","10":"13","12":"3","14":"13","16":"19","18":"37","20":"53","22":"59","24":"13","26":"00","28":"13","30":"13","32":"13","34":"13","36":"13","38":"13","40":"45","42":"45","44":"13","46":"53","48":"17"}]},{id:"16",outcomes:[{"2":"57","4":"00","6":"49","8":"61","10":"57","12":"57","14":"9","16":"57","18":"61","20":"61","22":"69","24":"19","26":"00","28":"21","30":"57","32":"9","34":"41","36":"41","38":"57","40":"21","42":"57","44":"57","46":"43","48":"57"}]},{id:"18",outcomes:[{"2":"3","4":"00","6":"49","8":"33","10":"3","12":"3","14":"9","16":"57","18":"37","20":"29","22":"59","24":"15","26":"00","28":"3","30":"3","32":"9","34":"41","36":"15","38":"5","40":"21","42":"3","44":"63","46":"43","48":"17"}]},{id:"20",outcomes:[{"2":"3","4":"00","6":"49","8":"33","10":"21","12":"3","14":"9","16":"57","18":"37","20":"29","22":"59","24":"15","26":"00","28":"21","30":"3","32":"9","34":"25","36":"15","38":"5","40":"3","42":"3","44":"63","46":"43","48":"17"}]},{id:"22",outcomes:[{"2":"45","4":"00","6":"49","8":"23","10":"13","12":"13","14":"13","16":"19","18":"37","20":"53","22":"19","24":"15","26":"00","28":"3","30":"5","32":"31","34":"25","36":"13","38":"5","40":"45","42":"45","44":"13","46":"43","48":"31"}]},{id:"24",outcomes:[{"2":"53","4":"00","6":"45","8":"33","10":"45","12":"45","14":"9","16":"1","18":"53","20":"7","22":"59","24":"55","26":"00","28":"3","30":"3","32":"45","34":"53","36":"15","38":"5","40":"21","42":"3","44":"63","46":"41","48":"17"}]},{id:"26",outcomes:[{"2":"3","4":"00","6":"19","8":"33","10":"3","12":"19","14":"9","16":"57","18":"19","20":"29","22":"29","24":"15","26":"00","28":"3","30":"3","32":"9","34":"25","36":"19","38":"5","40":"3","42":"19","44":"19","46":"43","48":"19"}]},{id:"28",outcomes:[{"2":"7","4":"00","6":"49","8":"19","10":"3","12":"53","14":"9","16":"23","18":"37","20":"23","22":"59","24":"53","26":"00","28":"19","30":"31","32":"9","34":"25","36":"55","38":"27","40":"41","42":"3","44":"63","46":"29","48":"17"}]},{id:"30",outcomes:[{"2":"45","4":"00","6":"49","8":"33","10":"3","12":"3","14":"9","16":"57","18":"37","20":"29","22":"27","24":"15","26":"00","28":"3","30":"27","32":"27","34":"25","36":"15","38":"27","40":"3","42":"27","44":"63","46":"27","48":"17"}]},{id:"32",outcomes:[{"2":"53","4":"00","6":"49","8":"33","10":"3","12":"45","14":"53","16":"19","18":"13","20":"29","22":"53","24":"45","26":"00","28":"3","30":"3","32":"31","34":"25","36":"53","38":"5","40":"31","42":"53","44":"63","46":"43","48":"17"}]},{id:"34",outcomes:[{"2":"3","4":"00","6":"3","8":"33","10":"51","12":"3","14":"3","16":"1","18":"37","20":"29","22":"51","24":"15","26":"00","28":"51","30":"51","32":"51","34":"51","36":"41","38":"5","40":"41","42":"3","44":"63","46":"27","48":"51"}]},{id:"36",outcomes:[{"2":"3","4":"00","6":"49","8":"33","10":"3","12":"3","14":"9","16":"1","18":"7","20":"7","22":"59","24":"15","26":"00","28":"7","30":"27","32":"9","34":"7","36":"7","38":"5","40":"7","42":"3","44":"7","46":"7","48":"17"}]},{id:"38",outcomes:[{"2":"31","4":"00","6":"49","8":"53","10":"45","12":"45","14":"7","16":"57","18":"13","20":"29","22":"59","24":"45","26":"00","28":"3","30":"3","32":"45","34":"25","36":"31","38":"19","40":"3","42":"31","44":"7","46":"43","48":"53"}]},{id:"40",outcomes:[{"2":"45","4":"00","6":"31","8":"33","10":"3","12":"41","14":"45","16":"23","18":"23","20":"53","22":"13","24":"23","26":"00","28":"3","30":"3","32":"9","34":"25","36":"41","38":"5","40":"3","42":"45","44":"63","46":"43","48":"17"}]},{id:"42",outcomes:[{"2":"45","4":"00","6":"49","8":"13","10":"13","12":"45","14":"45","16":"57","18":"37","20":"31","22":"19","24":"13","26":"00","28":"13","30":"3","32":"9","34":"41","36":"13","38":"13","40":"45","42":"45","44":"63","46":"27","48":"19"}]},{id:"44",outcomes:[{"2":"3","4":"00","6":"19","8":"33","10":"45","12":"3","14":"53","16":"57","18":"7","20":"53","22":"31","24":"15","26":"00","28":"31","30":"53","32":"45","34":"13","36":"53","38":"5","40":"31","42":"3","44":"19","46":"19","48":"19"}]},{id:"46",outcomes:[{"2":"3","4":"00","6":"49","8":"33","10":"3","12":"3","14":"9","16":"1","18":"7","20":"19","22":"19","24":"15","26":"00","28":"3","30":"15","32":"9","34":"25","36":"15","38":"5","40":"3","42":"3","44":"19","46":"27","48":"19"}]},{id:"48",outcomes:[{"2":"3","4":"00","6":"19","8":"19","10":"45","12":"45","14":"45","16":"57","18":"19","20":"29","22":"9","24":"19","26":"00","28":"19","30":"19","32":"9","34":"25","36":"19","38":"5","40":"19","42":"19","44":"19","46":"19","48":"19"}]},{id:"50",outcomes:[{"50":"45","52":"23","54":"9","56":"45","58":"41","60":"11","62":"19","64":"19"}]},{id:"52",outcomes:[{"50":"21","52":"61","54":"9","56":"57","58":"3","60":"11","62":"57","64":"57"}]},{id:"54",outcomes:[{"50":"53","52":"33","54":"45","56":"45","58":"35","60":"11","62":"35","64":"3"}]},{id:"56",outcomes:[{"50":"39","52":"61","54":"9","56":"45","58":"57","60":"57","62":"57","64":"3"}]},{id:"58",outcomes:[{"50":"39","52":"33","54":"47","56":"47","58":"3","60":"13","62":"57","64":"57"}]},{id:"60",outcomes:[{"50":"13","52":"33","54":"13","56":"57","58":"3","60":"11","62":"57","64":"47"}]},{id:"62",outcomes:[{"50":"39","52":"61","54":"57","56":"57","58":"57","60":"57","62":"57","64":"57"}]},{id:"64",outcomes:[{"50":"7","52":"35","54":"53","56":"45","58":"57","60":"35","62":"57","64":"3"}]}],results:[{id:"1",name:"Jumping away",mod:"0",range:"close",score:"",restrict:[],bonus:[{strong:"1",high:"1",low:"1",risky:"1"}]},{id:"3",name:"Swinging",mod:"0",range:"close",score:"",restrict:["Thrust","high","low"]},{id:"5",name:"Knee slamming",mod:"0",range:"close",score:"",restrict:["Thrust","low"]},{id:"7",name:"Dazed",mod:"0",range:"close",score:"8",restrict:["risky"]},{id:"9",name:"Thrusting",mod:"0",range:"close",score:"",restrict:["Side Swing"]},{id:"11",name:"Groaning",mod:"0",range:"close",score:"",restrict:[],opponentWeaponDislodged:!0},{id:"13",name:"Leg wound",mod:"0",range:"close",score:"5",restrict:["strong","high"]},{id:"15",name:"Swinging down",mod:"0",range:"close",score:"",restrict:["low"]},{id:"17",name:"Slapping with decayed hand",mod:"0",range:"close",score:"",restrict:["Down Swing","Side Swing","Thrust","Fake","Special"]},{id:"19",name:"Knocked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"21",name:"Turned around",mod:"0",range:"close",score:"0",restrict:["Hand to Hand","low"]},{id:"23",name:"Behind you",mod:"0",range:"close",score:"",restrict:[]},{id:"25",name:"Kicking",mod:"0",range:"close",score:"",restrict:["low","risky"]},{id:"27",name:"Weapon Dislodged",mod:"0",range:"close",score:"-6",restrict:["Hand to Hand","Kick","risky"],weaponDislodged:!0,bonus:[{"Hand to Hand":"2"}]},{id:"29",name:"Ducking",range:"close",score:"",restrict:["strong"],bonus:[{low:"1"}]},{id:"31",name:"Arm wound",mod:"0",range:"close",score:"4",restrict:["strong","high","Hand to Hand"]},{id:"33",name:"Dodging",range:"close",score:"",restrict:[],bonus:[{"Down Swing":"2","Side Swing":"2"}]},{id:"35",name:"Extended range body wound",mod:"0",range:"far",score:"6",restrict:["extended"]},{id:"37",name:"Jumping up",range:"close",score:"",restrict:["low"],bonus:[{strong:"3"}]},{id:"39",name:"Charging",mod:"0",range:"close",score:"",restrict:["defense","risky"]},{id:"41",name:"Knocked down",mod:"0",range:"close",score:"1",restrict:[],allowOnly:["Jump"]},{id:"43",name:"Retrieving Weapon",mod:"0",range:"close",score:"",restrict:[],retrieveWeapon:!0},{id:"45",name:"Parrying",mod:"0",range:"close",score:"-4",restrict:[]},{id:"47",name:"Extended range leg wound",mod:"0",range:"far",score:"5",restrict:["extended"]},{id:"49",name:"Punching",mod:"0",range:"close",score:"",restrict:["Down Swing","Side Swing","Thrust","Fake","Special"]},{id:"51",name:"Kicked off balance",mod:"0",range:"close",score:"0",restrict:["strong","high","low"]},{id:"53",name:"Body wound",mod:"0",range:"close",score:"6",restrict:["strong","high","low"]},{id:"55",name:"Weapon broken",mod:"-4",range:"close",score:"",restrict:["Thrust"],bonus:[{strong:"-5"}],weaponDestroyed:!0},{id:"57",name:"Extended range attacking",mod:"0",range:"far",score:"",restrict:[]},{id:"59",name:"Grabbing & shaking",mod:"0",range:"close",score:"",restrict:["Down Swing","Side Swing","Thrust","Fake","Special"]},{id:"61",name:"Extended range dodging",mod:"0",range:"far",score:"",restrict:[],bonus:[{extended:"2"}]},{id:"63",name:"Butting head",mod:"0",range:"close",score:"",restrict:["risky"],selfDamage:2}]}});var a=class{static calculateBonus(e,o){let t=0;return!o||!Array.isArray(o)||!o.length||!e||typeof e!="object"?0:(o.forEach(r=>{if(!(!r||typeof r!="object")){for(let n in r)if(e.type===n||e.tag===n||e.name===n){let s=parseFloat(r[n]);isNaN(s)||(t+=s)}}}),t)}static getNextRoundBonus(e){return!e||!e.bonus?[]:Array.isArray(e.bonus)?e.bonus:[e.bonus]}static calculateTotalScore(e,o,t){let r=parseFloat(e),n=parseFloat(o),s=parseFloat(t);if(isNaN(r))return 0;let d=isNaN(n)?0:n,p=isNaN(s)?0:s,m=r+d+p;return m<0&&(m=0),m}};var l=class{static generateHint(e,o){if(!e||!o||!o.moves)return null;let t=o.moves.map(w=>parseInt(w.id)).sort((w,u)=>w-u),r=parseInt(e.id),n=t.indexOf(r);if(n===-1)return console.error("Move not found in character moveset"),null;let s=n>0?t[n-1]:null,d=n<t.length-1?t[n+1]:null,m=[s!==null?s.toString():null,r.toString(),d!==null?d.toString():null].filter(w=>w!==null);return m.length>=2?m:null}static shouldProvideHint(e){return e?e.provideHint===!0:!1}static formatHint(e){return!e||e.length===0?"":`Move is one of: ${e.join(", ")}`}};var q=class{constructor(e,o,t,r,n,s=null){this.game=e,this.myMove=o,this.opponentsMove=t,this.myCharacter=r,this.opponentsCharacter=n,this.previousRoundData=s,this.outcome=this.getOutcome(this.opponentsCharacter.tables,this.myMove,this.opponentsMove),this.result=this.getResult(this.outcome,this.opponentsCharacter),this.range=this.getRange(),this.restrictions=this.getRestrictions(),this.moveModifier=this.getModifier(),this.score=this.getScore(),this.bonus=this.getMyBonus(),this.nextRoundBonus=this.getNextRoundBonus(),this.totalScore=this.getTotalScore(this.score,this.moveModifier,this.bonus),this.requiresHint=this.getRequiresHint()}async init(){return Promise.resolve()}getOutcome(e,o,t){let r=e.find(s=>s.id===o.id)?.outcomes[0];if(!r){console.error(`Outcome table not found for move ${o.id} (${o.name})`);return}let n=r[t.id];if(!n){console.error(`No outcome found for move ${o.id} vs opponent move ${t.id}`);return}if(n==="00"){console.error(`Impossible matchup: move ${o.id} (${o.name}, range: ${o.range}) vs opponent move ${t.id} (${t.name}, range: ${t.range}). This should not be reachable - check move filtering.`);return}return n}getResult(e,o){if(!e){console.error("No outcome provided to getResult");return}let t=o.results.find(r=>r.id===e);if(!t){console.error(`Result not found for outcome ID ${e} in character ${o.name}`);return}return t}getRange(){return this.result.range}getScore(){return this.result.score}getModifier(){return this.myMove.mod}getRestrictions(){return this.result.restrict}getTotalScore(e,o,t){return a.calculateTotalScore(e,o,t)}getNextRoundBonus(){return a.getNextRoundBonus(this.result)}getBonus(e,o,t,r){return this.game.rounds.length===1?0:this.getResult(this.getOutcome(o.tables,t,r),o).bonus||0}calculateBonus(e,o){return a.calculateBonus(e,o)}getMyBonus(){return!this.previousRoundData||!this.previousRoundData.myRoundData?0:a.calculateBonus(this.myMove,this.previousRoundData.myRoundData.nextRoundBonus)}getRequiresHint(){return!this.previousRoundData||!this.previousRoundData.opponentsRoundData||!this.previousRoundData.opponentsRoundData.result?!1:l.shouldProvideHint(this.previousRoundData.opponentsRoundData.result)}};var R=null,v=class{static setConfig(e){R=e}constructor(e,o,t,r,n,s=null){this.game=e,this.myMove=o,this.opponentsMove=t,this.myCharacter=r,this.opponentsCharacter=n,this.previousRoundData=s,this.outcome=null,this.result=null,this.range=null,this.restrictions=null,this.moveModifier=null,this.score=null,this.bonus=null,this.nextRoundBonus=null,this.totalScore=null,this.requiresHint=null}async init(){try{if(!R)throw new Error("API configuration not set. Call CharacterLoader.setApiBase() first.");let e=`${R.baseUrl}/rounds/${this.myCharacter.slug}/${this.opponentsCharacter.slug}/${this.myMove.id}/${this.opponentsMove.id}.json`,o=await fetch(e);if(!o.ok)throw new Error(`Failed to fetch round data: ${o.status}`);let t=await o.json();this.outcome=t.player1.outcome,this.result=t.player1.result,this.range=t.player1.range,this.restrictions=t.player1.restrictions,this.moveModifier=t.player1.modifier,this.score=t.player1.score,this.nextRoundBonus=t.player1.nextRoundBonus,this.bonus=this.getMyBonus(),this.totalScore=this.getTotalScore(this.score,this.moveModifier,this.bonus),this.requiresHint=this.getRequiresHint()}catch(e){throw console.error("Failed to initialize round from API:",e),e}}getTotalScore(e,o,t){return a.calculateTotalScore(e,o,t)}getMyBonus(){return!this.previousRoundData||!this.previousRoundData.myRoundData?0:a.calculateBonus(this.myMove,this.previousRoundData.myRoundData.nextRoundBonus)}calculateBonus(e,o){return a.calculateBonus(e,o)}getRequiresHint(){return!this.previousRoundData||!this.previousRoundData.opponentsRoundData||!this.previousRoundData.opponentsRoundData.result?!1:l.shouldProvideHint(this.previousRoundData.opponentsRoundData.result)}};var S=class{static create(e,o,t,r,n,s=null){return n.tables&&n.results?new q(e,o,t,r,n,s):new v(e,o,t,r,n,s)}static hasCompleteData(e){return!!(e.tables&&e.results)}};var y=class{constructor(e,o=[]){f(this,"getMoveObject",e=>this.moves.find(o=>o.id===e));this.character=e,this.result=o,this.moves=this.character.moves,this.filteredMoves=this.filteredMoves()}getMoves(){return this.character.moves}filteredMoves(){return this.moves.filter(e=>{if(this.result.allowOnly&&!this.result.allowOnly.includes(e.name)&&!this.result.allowOnly.includes(e.tag))return!1;if(e.requiresWeapon){let r=this.character.weapons||[];if(typeof e.requiresWeapon=="string"){let n=r.find(s=>s.name===e.requiresWeapon);if(!n||e.requiresAmmo&&!(n.ammo===null||n.ammo>0))return!1}else if(r.length===0)return!1}if(!this.character.shield&&e.requiresShield)return!1;let o=this.character.weapons&&this.character.weapons.length>0,t=this.character.droppedWeapons&&this.character.droppedWeapons.length>0;return!(e.name==="Retrieve Weapon"&&(o||!t||this.character.weaponDestroyed)||e.range!==this.result.range||this.result.restrict&&this.result.restrict.includes(e.type)||this.result.restrict&&this.result.restrict.includes(e.tag)||this.result.restrict&&this.result.restrict.includes(e.name))})}};var b=class i{constructor(e){if(this.game=e,this.started=!1,new.target===i)throw new Error("MultiplayerTransport is an abstract class and cannot be instantiated directly")}async connect(e){throw new Error("connect() must be implemented by subclass")}sendMove(e){throw new Error("sendMove() must be implemented by subclass")}getMove(e){throw new Error("getMove() must be implemented by subclass")}sendName(e){throw new Error("sendName() must be implemented by subclass")}getName(e){throw new Error("getName() must be implemented by subclass")}sendCharacter(e){throw new Error("sendCharacter() must be implemented by subclass")}getCharacter(e){throw new Error("getCharacter() must be implemented by subclass")}disconnect(){throw new Error("disconnect() must be implemented by subclass")}getPeerCount(){throw new Error("getPeerCount() must be implemented by subclass")}isRoomFull(){return this.getPeerCount()>=2}};var k=class extends b{constructor(e,o={}){super(e),this.startDelay=o.startDelay||3e3,this.moveCallbacks=[],this.nameCallbacks=[],this.selectedOpponentSlug=null,this.gameEnded=!1,this.pendingMoveTimeout=null,this.preparingForRound=null,typeof document<"u"&&(document.addEventListener("victory",()=>{this._stopPreparing()}),document.addEventListener("defeat",()=>{this._stopPreparing()}),document.addEventListener("setup",()=>{!this.gameEnded&&this.game.opponentsCharacter&&this.game.opponentsCharacter.moves&&this._prepareMove()}))}async connect(e){let t=(await this.game.CharacterLoader.getAvailableCharacters()).filter(r=>!r.includes("fighter")&&r!=="human-monk");return this.selectedOpponentSlug=t[Math.floor(Math.random()*t.length)],new Promise(r=>{setTimeout(()=>{if(this.started=!0,typeof document<"u"){let n=new CustomEvent("start",{detail:{game:this.game}});document.dispatchEvent(n)}r(),setTimeout(()=>{this._triggerNameCallbacks(),setTimeout(()=>{this.game.opponentsCharacter&&this.game.opponentsCharacter.moves&&this._prepareMove()},100)},0)},this.startDelay)})}_triggerNameCallbacks(){let e={name:"Computer",characterSlug:this.selectedOpponentSlug};this.nameCallbacks.forEach(o=>{try{o(e)}catch(t){console.error("Error in name callback:",t)}})}getMove(e){this.moveCallbacks.includes(e)||this.moveCallbacks.push(e)}getName(e){this.nameCallbacks.includes(e)||this.nameCallbacks.push(e)}_prepareMove(){let e=this.game.roundNumber;if(this.preparingForRound===e)return;this.preparingForRound=e,window.logging&&console.log(`Computer preparing move for round ${e}`);let o=e===0?0:3e3+Math.floor(Math.random()*6e3);this.pendingMoveTimeout=setTimeout(()=>{this.pendingMoveTimeout=null;let r=(this.game.roundNumber>0?this.game.rounds[this.game.roundNumber-1]:null)?.opponentsRoundData?.result||{range:this.game.opponentsCharacter.moves[0].range,restrict:[],allowOnly:null},n=new y(this.game.opponentsCharacter,r),s=n.filteredMoves[Math.floor(Math.random()*n.filteredMoves.length)];if(this.game.opponentsCharacter.droppedWeapons&&this.game.opponentsCharacter.droppedWeapons.length>0&&Math.random()<.333){let u=n.filteredMoves.find(W=>W.name==="Retrieve Weapon");u&&(s=u)}let p=(this.game.roundNumber>0?this.game.rounds[this.game.roundNumber-1]:null)?.opponentsRoundData?.nextRoundBonus||[],m=n.filteredMoves.filter(u=>a.calculateBonus(u,p)>0);if(m.length>0&&Math.random()<.333&&(s=m[Math.floor(Math.random()*m.length)]),this.gameEnded)return;let w={move:s};this.moveCallbacks.forEach(u=>{try{u(w)}catch(W){console.error("Error in move callback:",W)}})},o)}sendMove(e){}sendName(e){return e}sendCharacter(e){return e}getCharacter(e){e({characterSlug:this.selectedOpponentSlug})}getPeerCount(){return this.started?1:0}_stopPreparing(){this.gameEnded=!0,this.pendingMoveTimeout&&(clearTimeout(this.pendingMoveTimeout),this.pendingMoveTimeout=null)}disconnect(){this.started=!1,this._stopPreparing(),this.moveCallbacks=[],this.nameCallbacks=[]}};var J=c(C(),1);var oe=D({"../characters/barbarian.json":()=>Promise.resolve().then(()=>c(E())),"../characters/fighter.json":()=>Promise.resolve().then(()=>c(M())),"../characters/goblin.json":()=>Promise.resolve().then(()=>c(B())),"../characters/index.json":()=>Promise.resolve().then(()=>c(C())),"../characters/knight.json":()=>Promise.resolve().then(()=>c(H())),"../characters/lizardMan.json":()=>Promise.resolve().then(()=>c(T())),"../characters/monk.json":()=>Promise.resolve().then(()=>c(N())),"../characters/skeleton.json":()=>Promise.resolve().then(()=>c($())),"../characters/zombie.json":()=>Promise.resolve().then(()=>c(A()))});var h=class{static async _initialize(){if(!this._characters){if(this._initPromise)return this._initPromise;this._initPromise=(async()=>{this._characters={},await Promise.all(J.default.characters.map(async e=>{try{let o=await oe(`../characters/${e}.json`),t=o.default||o;t.slug&&(this._characters[t.slug]=t)}catch(o){console.warn(`Failed to load character file: ${e}.json`,o)}}))})(),await this._initPromise}}static async getCharacter(e){await this._initialize();let o=this._characters[e];if(!o){let t=await this.getAvailableCharacters();throw new Error(`Character '${e}' not found. Available: ${t.join(", ")}`)}return JSON.parse(JSON.stringify(o))}static async getAvailableCharacters(){return await this._initialize(),Object.entries(this._characters).sort(([,e],[,o])=>(e.difficulty||0)-(o.difficulty||0)).map(([e])=>e)}static async hasCharacter(e){return await this._initialize(),e in this._characters}};f(h,"_characters",null),f(h,"_initPromise",null);var P=class{constructor(e,o,t={}){f(this,"inputMove",e=>{try{if(!e||!e.detail||!e.detail.move)throw new Error("Invalid input event");this.rounds[this.roundNumber]||(this.rounds[this.roundNumber]={});let o=this.myCharacter.moves.find(n=>n.id===e.detail.move);if(!o)throw new Error("Invalid move ID");this.rounds[this.roundNumber].myMove=o;let t=null;if(this.roundNumber>0){let n=this.rounds[this.roundNumber-1];n&&n.opponentsRoundData&&n.opponentsRoundData.result&&l.shouldProvideHint(n.opponentsRoundData.result)&&(t=l.generateHint(o,this.myCharacter))}t&&(this.rounds[this.roundNumber].myMoveHint=t),this.Multiplayer.sendMove({move:o,round:this.roundNumber,hint:t});let r=new CustomEvent("myMove",{detail:{move:o,hint:t}});document.dispatchEvent(r),this.setUp()}catch(o){console.error("Error in handleInput:",o)}});this.gameId=e,this.rounds=[],this.roundNumber=0,this.opponentsRound=0,this.loaded=!1,this.myCharacterSlug=o,this.opponentCharacterSlug=null,this.options=t,this.CharacterLoader=h,this.myCharacter=null,this.opponentsCharacter=null,this.myMove=null,this.opponentsMove=null,this.Moves=[],this.initialized=!1,this.Multiplayer=null}async setOpponentCharacter(e){return this.opponentCharacterSlug=e,this.initialized&&await this.initialize(),this}async initialize(){if(!this.myCharacterSlug)throw new Error("myCharacterSlug must be set in constructor");return this.myCharacter=await this.CharacterLoader.getCharacter(this.myCharacterSlug),this.myCharacter=this.normalizeWeaponFormat(this.myCharacter),this.myMove=this.getInitialMove(this.myCharacter),this.myCharacter.startingHealth=this.myCharacter.health,this.myCharacter.stamina!==null&&this.myCharacter.stamina!==void 0&&(this.myCharacter.startingStamina=this.myCharacter.stamina),this.opponentCharacterSlug&&(this.opponentsCharacter=await this.CharacterLoader.getCharacter(this.opponentCharacterSlug),this.opponentsCharacter=this.normalizeWeaponFormat(this.opponentsCharacter),this.opponentsMove=this.getInitialMove(this.opponentsCharacter),this.opponentsCharacter.startingHealth=this.opponentsCharacter.health,this.opponentsCharacter.stamina!==null&&this.opponentsCharacter.stamina!==void 0&&(this.opponentsCharacter.startingStamina=this.opponentsCharacter.stamina)),this.loadGame(),this.initialized=!0,this}async connect(e=null){if(!this.initialized)throw new Error("Must call initialize() before connect()");if(e)this.Multiplayer=e;else if(this.gameId==="computer")this.Multiplayer=new k(this,this.options.computerOptions);else throw new Error("A transport is required for multiplayer games. Pass a transport to connect() (e.g., new WebSocketTransport(this))");return await this.Multiplayer.connect(this.gameId),this.getOpponentsMove(),this.getOpponentsName(),document.addEventListener("inputMove",this.inputMove),this}getInitialMove(e){if(!e||!e.moves||!e.firstMove)throw new Error("Invalid character data");return e.moves.find(o=>o.id===e.firstMove)}async setUp(){try{if(this.logGameState(),!this.validateRoundNumbers())return;if(this.logFightBanner(),this.roundNumber===0&&(this.rounds[0]={myMove:this.myMove,opponentsMove:this.opponentsMove}),this.rounds[this.roundNumber]&&this.rounds[this.roundNumber].myMove&&this.rounds[this.roundNumber].opponentsMove){this.myMove=this.rounds[this.roundNumber].myMove,this.opponentsMove=this.rounds[this.roundNumber].opponentsMove,window.logging&&console.log("Both players have moved");let e=this.roundNumber>0?this.rounds[this.roundNumber-1]:null,o=e?{myRoundData:e.myRoundData,opponentsRoundData:e.opponentsRoundData}:null,t=e?{myRoundData:e.opponentsRoundData,opponentsRoundData:e.myRoundData}:null;this.myRoundData=S.create(this,this.myMove,this.opponentsMove,this.myCharacter,this.opponentsCharacter,o),this.opponentsRoundData=S.create(this,this.opponentsMove,this.myMove,this.opponentsCharacter,this.myCharacter,t),await this.myRoundData.init(),await this.opponentsRoundData.init(),this.takeDamage(this.myCharacter,this.opponentsRoundData,this.myRoundData),this.takeDamage(this.opponentsCharacter,this.myRoundData,this.opponentsRoundData),this.applyStamina(this.myCharacter,this.myRoundData,this.opponentsRoundData),this.applyStamina(this.opponentsCharacter,this.opponentsRoundData,this.myRoundData),this.takeSelfDamage(this.myCharacter,this.myRoundData,this.opponentsRoundData),this.takeSelfDamage(this.opponentsCharacter,this.opponentsRoundData,this.myRoundData),this.healHealth(this.myCharacter,this.opponentsRoundData,this.myRoundData),this.healHealth(this.opponentsCharacter,this.myRoundData,this.opponentsRoundData),this.Moves=new y(this.myCharacter,this.opponentsRoundData.result);let r=new CustomEvent("round",{detail:{myRoundData:this.myRoundData,opponentsRoundData:this.opponentsRoundData}});document.dispatchEvent(r),window.logging&&(console.group(`Round ${this.roundNumber}`),console.log(`%cRange: ${this.myRoundData.result.range}`,"font-weight: bold;"),this.logRoundDetails(this.myRoundData,this.opponentsRoundData),this.logRoundDetails(this.opponentsRoundData,this.myRoundData),console.groupEnd()),this.loaded===!0&&(this.loaded=!1),this.checkForDefeat(),this.rounds[this.roundNumber]||(this.rounds[this.roundNumber]={}),this.rounds[this.roundNumber].myRoundData={nextRoundBonus:this.opponentsRoundData.nextRoundBonus,result:this.opponentsRoundData.result},this.rounds[this.roundNumber].opponentsRoundData={nextRoundBonus:this.myRoundData.nextRoundBonus,result:this.myRoundData.result},this.rounds[this.roundNumber].myMoveHint&&(this.rounds[this.roundNumber].myRoundData.hint=this.rounds[this.roundNumber].myMoveHint),this.rounds[this.roundNumber].opponentsMoveHint&&(this.rounds[this.roundNumber].opponentsRoundData.hint=this.rounds[this.roundNumber].opponentsMoveHint),this.incrementRound();let n=new CustomEvent("setup");document.dispatchEvent(n),this.saveGame()}else if(this.rounds[this.roundNumber]&&this.rounds[this.roundNumber].myMove&&!this.rounds[this.roundNumber].opponentsMove){let e=new CustomEvent("move",{detail:this.rounds[this.roundNumber].myMove});document.dispatchEvent(e),window.logging&&console.log("Waiting for opponent's move")}else window.logging&&console.log("Waiting for your move")}catch(e){console.error("Error in setup:",e)}}saveGame(){let e={rounds:this.rounds,roundNumber:this.roundNumber,opponentsRound:this.opponentsRound,myCharacter:this.myCharacter,opponentsCharacter:this.opponentsCharacter,myMove:this.myMove,opponentsMove:this.opponentsMove};localStorage.setItem(this.gameId,JSON.stringify(e))}loadGame(){let e=JSON.parse(localStorage.getItem(this.gameId));e?(this.rounds=e.rounds,this.roundNumber=e.roundNumber,this.opponentsRound=e.opponentsRound,this.myCharacter=e.myCharacter,this.opponentsCharacter=e.opponentsCharacter,this.myMove=e.myMove,this.opponentsMove=e.opponentsMove,this.loaded=!0,window.logging&&console.log("Loaded game: ",this)):this.loaded=!1}logGameState(){window.logging&&console.log("Game",this)}validateRoundNumbers(){return this.roundNumber!==this.opponentsRound?(window.logging&&(console.error("Round numbers do not match"),console.log("My round number: ",this.roundNumber),console.log("Opponent's round number: ",this.opponentsRound)),!1):!0}logFightBanner(){window.logging&&this.roundNumber===0&&console.log(`%c${this.myCharacter.name} vs. ${this.opponentsCharacter.name}`,"font-weight: bold; color: green;")}getOpponentsMove(){try{this.Multiplayer.getMove(e=>{if(this.rounds[this.roundNumber]||(this.rounds[this.roundNumber]={}),this.rounds[this.roundNumber].opponentsMove){window.logging&&console.log("Opponent move already received for this round, ignoring duplicate");return}this.rounds[this.roundNumber].opponentsMove=e.move,e.hint&&(this.rounds[this.roundNumber].opponentsMoveHint=e.hint);let o=new CustomEvent("opponentsMove",{detail:{move:e.move,hint:e.hint||null}});document.dispatchEvent(o),this.setUp()})}catch(e){console.error("Error in getOpponentsMove:",e)}}getOpponentsName(){try{this.Multiplayer.getName(async e=>{if(!e||!e.name)throw new Error("Invalid name data received");window.logging&&console.log("Received opponent data: ",e),e.characterSlug&&await this.setOpponentCharacter(e.characterSlug);let o=new CustomEvent("name",{detail:e});document.dispatchEvent(o)})}catch(e){console.error("Error in getOpponentsName:",e)}}takeDamage(e,o,t=null){if(this.loaded?window.logging&&console.log(`Skipped damage (game was loaded). this.loaded = ${this.loaded}`):o.score!==""&&o.totalScore>0&&(e.health-=o.totalScore,window.logging&&console.log(`Applied ${o.totalScore} damage to ${e.name}. New health: ${e.health}`)),o.result.weaponDislodged&&(e.droppedWeapons=[...e.weapons||[]],e.weapons=[],e.weapon=!1),t&&t.result.opponentWeaponDislodged&&(e.droppedWeapons=[...e.weapons||[]],e.weapons=[],e.weapon=!1,window.logging&&console.log(`${e.name}'s weapon was dislodged by opponent's ability`)),o.result.retrieveWeapon&&e.droppedWeapons&&e.droppedWeapons.length>0&&(e.weapons=[...e.droppedWeapons],e.droppedWeapons=null,e.weapon=e.weapons.length>0?e.weapons[0]:!1),o.result.weaponDestroyed&&o.myMove.requiresWeapon){let r=typeof o.myMove.requiresWeapon=="string"?o.myMove.requiresWeapon:e.weapons&&e.weapons[0]?.name;r&&(e.weapons=(e.weapons||[]).filter(n=>n.name!==r),e.droppedWeapons&&(e.droppedWeapons=e.droppedWeapons.filter(n=>n.name!==r)),e.weaponDestroyed=!0),e.weapon=e.weapons.length>0?e.weapons[0]:!1}if(o.myMove.ammoCost&&typeof o.myMove.requiresWeapon=="string"){let r=(e.weapons||[]).find(n=>n.name===o.myMove.requiresWeapon);if(r&&r.ammo!==null){let n=o.myMove.ammoCost;r.ammo=Math.max(0,r.ammo-n),window.logging&&console.log(`Consumed ${n} ammo from ${r.name}. Remaining: ${r.ammo}`)}}if(o.result.reloadWeapon){let r=o.result.reloadWeapon,n=(e.weapons||[]).find(s=>s.name===r.name);if(n&&n.maxAmmo!==null&&n.ammo!==null){let s=r.amount||0,d=n.ammo;n.ammo=Math.min(n.ammo+s,n.maxAmmo),window.logging&&console.log(`Reloaded ${n.name}: ${d} -> ${n.ammo} (max: ${n.maxAmmo})`)}}o.result.shieldDestroyed&&(e.shield=!1)}applyStamina(e,o,t){if(this.loaded||e.stamina===null||e.stamina===void 0)return;let r=0,n=o.myMove.staminaCost||0;if(r+=n,t.score!==""&&t.totalScore>0){let s=t.result.staminaDamage||0;r+=s}if(o.result.selfStamina&&o.score!==""&&o.totalScore>0&&(r+=o.result.selfStamina),e.stamina-=r,e.startingStamina&&(e.stamina=Math.min(e.stamina,e.startingStamina)),e.stamina=Math.max(0,e.stamina),window.logging&&r!==0){let s=r>0?"lost":"recovered";console.log(`${e.name} ${s} ${Math.abs(r)} stamina. Remaining: ${e.stamina}/${e.startingStamina}`)}}healHealth(e,o,t){if(!this.loaded&&o.result.heal){let r=parseInt(o.result.heal),n=parseInt(e.startingHealth),s=parseInt(e.health),d=Math.min(s+r,n),p=d-s;p>0&&(e.health=d,window.logging&&console.log(`Healed ${p} health for ${e.name}. New health: ${e.health}`))}}takeSelfDamage(e,o,t){this.loaded||o.result.selfDamage&&(e.health-=o.result.selfDamage,window.logging&&console.log(`Applied ${o.result.selfDamage} self-damage to ${e.name}. New health: ${e.health}`))}logRoundDetails(e,o){if(console.group(`%c${e.myCharacter.name}`,"font-weight: bold; color: blue;"),console.log(`%c\u2764\uFE0F Health: %c${e.myCharacter.health}`,"font-weight: bold","color: red;"),e.myCharacter.stamina!==null&&e.myCharacter.stamina!==void 0&&console.log(`%c\u{1F4AA} Stamina: %c${e.myCharacter.stamina}/${e.myCharacter.startingStamina}`,"font-weight: bold","color: blue;"),console.log(`%c\u{1F5E1}\uFE0F Weapon: %c${e.myCharacter.weapon?"Yes":"No"}`,"font-weight: bold","color: black;"),console.log(`%c\u{1F6E1}\uFE0F Shield: %c${e.myCharacter.shield?"Yes":"No"}`,"font-weight: bold","color: black;"),console.log(`%c\u2694\uFE0F Move: %c${e.myMove.tag} ${e.myMove.name}, %c(${e.myMove.id})`,"font-weight: bold","color: brown;","color: black;"),e.nextRoundBonus){console.group("%cBonus next round:","font-weight: bold; color: purple;");for(let t in e.nextRoundBonus[0])console.log(`%c${t}: %c${e.nextRoundBonus[0][t]}`,"font-weight: bold","color: green;");console.groupEnd()}e.score!==""&&e.totalScore>0&&console.log(`%c\u{1F3AF} Score: %c${e.totalScore} (Hit for: ${e.score}, Move modifier: ${e.moveModifier}, Bonus from previous round: ${e.bonus})`,"font-weight: bold","color: green;"),o.score!==""&&o.totalScore>0&&console.log(`%c\u{1F4A5} You were hit: ${o.totalScore}`,"font-weight: bold; color: red;"),console.log(`%c\u{1F440} You see your opponent: %c${e.result.name}`,"font-weight: bold","color: orange;"),e.restrictions.length===1?console.log(`%c\u{1F6AB} Opponent's restrictions next turn: %c${e.restrictions[0]}`,"font-weight: bold","color: purple;"):e.restrictions.length>1?console.log(`%c\u{1F6AB} Opponent's restrictions next turn: %c${e.restrictions.join(", ")}`,"font-weight: bold","color: purple;"):console.log("%c\u{1F6AB} Opponent's restrictions next turn: %cNone","font-weight: bold","color: purple;"),console.groupEnd()}checkForDefeat(){let e=new CustomEvent("victory"),o=new CustomEvent("defeat"),t=this.myCharacter.health<=0||this.myCharacter.stamina!==null&&this.myCharacter.stamina!==void 0&&this.myCharacter.stamina<=0,r=this.opponentsCharacter.health<=0||this.opponentsCharacter.stamina!==null&&this.opponentsCharacter.stamina!==void 0&&this.opponentsCharacter.stamina<=0;if(t&&r){window.logging&&console.log("Both players defeated simultaneously!"),document.dispatchEvent(o);return}if(t){if(window.logging){let n=this.myCharacter.health<=0?"health depleted":"exhausted";console.log(`${this.myCharacter.name} (you) is defeated! (${n})`)}document.dispatchEvent(o);return}if(r){if(window.logging){let n=this.opponentsCharacter.health<=0?"health depleted":"exhausted";console.log(`${this.opponentsCharacter.name} (your opponent) is defeated! (${n})`)}document.dispatchEvent(e);return}}incrementRound(){this.roundNumber++,this.opponentsRound++}normalizeWeaponFormat(e){return typeof e.weapon=="string"?e.weapons=[{name:e.weapon,ammo:null,maxAmmo:null}]:e.weapon&&typeof e.weapon=="object"?e.weapons=[{name:e.weapon.name,ammo:e.weapon.ammo??null,maxAmmo:e.weapon.maxAmmo??null}]:e.weapons?e.weapons=e.weapons.map(o=>({name:o.name,ammo:o.ammo??null,maxAmmo:o.maxAmmo??null})):e.weapons=[],e}static async getAvailableCharacters(){return h.getAvailableCharacters()}static async getCharacter(e){return h.getCharacter(e)}};export{a as BonusCalculator,h as CharacterLoader,P as Game};