{"version":3,"sources":["assets/hammer.png","assets/hunting-horn.png","assets/lance.png","assets/gunlance.png","assets/switch-axe.png","assets/charge-blade.png","assets/insect-glaive.png","assets/light-bowgun.png","assets/heavy-bowgun.png","assets/bow.png","assets/favicon.png","themes/index.js","components/DamageCalculator/calculator/weaponType.js","components/DamageCalculator/calculator/sharpness.js","components/DamageCalculator/calculator/index.js","components/DamageCalculator/components/SearchBar/index.js","components/DamageCalculator/components/DefenseInput/index.js","components/DamageCalculator/components/WeaponInput/ElementInput.js","components/DamageCalculator/components/WeaponInput/WeaponSelect.js","components/DamageCalculator/components/WeaponInput/SharpnessSelect.js","components/DamageCalculator/components/WeaponInput/index.js","components/DamageCalculator/components/MultiInput/useConfig.js","components/DamageCalculator/components/MultiInput/index.js","components/DamageCalculator/components/BuffsInput/index.js","components/DamageCalculator/components/AugmentsInput/augments.js","components/DamageCalculator/components/AugmentsInput/index.js","components/DamageCalculator/components/SkillsInput/skills.js","components/DamageCalculator/components/SkillsInput/index.js","components/DamageCalculator/components/ItemsInput/items.js","components/DamageCalculator/components/ItemsInput/index.js","components/DamageCalculator/components/StatTable/index.js","components/DamageCalculator/components/ComboTable/index.js","components/DamageCalculator/index.js","components/Navigation/TopBar.js","components/Navigation/SideDrawer.js","components/Navigation/index.js","App.js","registerServiceWorker.js","index.js","assets/great-sword.png","assets/dual-blades.png","assets/long-sword.png","assets/sword-and-shield.png"],"names":["module","exports","query","baseTheme","createMuiTheme","overrides","MuiCardHeader","content","flex","marginRight","action","alignSelf","display","alignItems","justifyContent","marginTop","marginBottom","MuiFormControlLabel","label","fontSize","MuiInputLabel","root","MuiInputBase","MuiMenuItem","color","backgroundColor","selected","MuiOutlinedInput","padding","MuiButton","fontWeight","textTransform","sizeSmall","MuiTableCell","whiteSpace","head","borderColor","lightTheme","palette","type","text","primary","background","default","paper","main","secondary","darkTheme","WeaponType","GREAT_SWORD","DUAL_BLADES","LONG_SWORD","SWORD_AND_SHIELD","HAMMER","HUNTING_HORN","LANCE","GUNLANCE","SWITCH_AXE","CHARGE_BLADE","INSECT_GLAIVE","LIGHT_BOWGUN","HEAVY_BOWGUN","BOW","attackBloatMap","criticalElementMultMap","iconMap","greatSwordIcon","dualBladesIcon","longSwordIcon","swordAndShieldIcon","hammerIcon","huntingHornIcon","lanceIcon","gunlanceIcon","switchAxeIcon","chargeBladeIcon","insectGlaiveIcon","lightBowgunIcon","heavyBowgunIcon","bowIcon","combos","weaponType","damageType","motionValues","name","ignoreSharpness","ignoreAffinity","combosMap","_","groupBy","combo","get","Sharpness","PURPLE","WHITE","BLUE","GREEN","YELLOW","ORANGE","RED","attackMultMap","elementMultMap","resolveCondition","conditions","data","defaultResult","result","forEach","condition","evaluateCondition","accessor","target","operator","value","group","map","startsWith","endsWith","isEqual","gt","gte","lt","lte","every","Boolean","some","isNil","console","error","getBuffResolver","unresolvedBuffs","unresolvedBuff","transform","resolvedBuff","key","isArray","resolvedValue","set","BuffAccessor","calculateAffinityDamageMult","affinityPct","criticalMult","clamp","BuildAccessor","ComboAccessor","DamageType","calculateDamage","build","weaponBloat","baseTrueAttack","round","hiddenElement","baseHiddenTrueElement","baseAffinityPct","unresolvedGeneralBuffs","filter","buff","unresolvedComboBuffs","freeElement","Math","min","flow","compact","sum","baseTrueElement","sharpness","sharpnessAttackMult","sharpnessElementMult","resolverData","generalBuffResolver","buffAggregator","buffs","totalTrueAttack","totalTrueElement","totalAffinityPct","totalFreeElement","netCriticalElement","topCriticalAttackMult","buffList","buffEntry","original","has","trueAttack","attackMult","trueElement","elementMult","criticalElement","criticalAttackMult","max","push","getBuffAggregator","generalBuffs","generalBuffList","trueAttackBuff","trueElementBuff","trueElementBuffCap","getTrueElementBuffCap","affinityPctBuff","criticalElementMult","affinityAttackMult","affinityElementMult","hitzoneSeverMult","hitzoneBluntMult","hitzoneProjectileMult","hitzoneElementalMult","toLower","comboBuffResolver","comboBuffs","comboBuffList","basePhysical","baseElemental","warn","floor","damageValues","motionValue","mvBasePhysical","effectivePhysical","effectiveElemental","baseTotal","effectiveTotal","attack","element","sortBy","instance","axios","create","baseURL","timeout","SearchCancelToken","CancelToken","searchSource","source","searchWeapons","a","attempt","cancel","config","url","params","p","id","q","cancelToken","token","getWeaponInfo","elements","durability","attributes","getOptionLabel","option","getSharpness","maxDurability","last","isPlainObject","purple","white","blue","green","yellow","orange","red","useStyles","makeStyles","theme","progress","height","borderRadius","autocomplete","width","maxWidth","snackbar","snackbarIcon","spacing","SearchBar","React","memo","props","classes","useState","searching","setSearching","importing","setImporting","searchResults","setSearchResults","snackbarOpen","setSnackbarOpen","snackbarMessage","setSnackbarMessage","previousImportId","useRef","handleImport","useCallback","__","searchResult","importId","current","response","camelCase","isFunction","onChange","previousSearch","handleSearch","search","lowerCase","isCancel","Box","Autocomplete","disableOpenOnFocus","loading","options","onInputChange","className","renderInput","Fragment","TextField","fullWidth","variant","title","placeholder","LinearProgress","Snackbar","anchorOrigin","vertical","horizontal","open","autoHideDuration","message","Error","Typography","onClose","DefenseInput","handleChange","Grid","container","item","xs","sm","md","e","divider","marginLeft","checkbox","hidden","opacity","ElementInput","disabled","onHiddenChange","others","InputProps","endAdornment","InputAdornment","position","Divider","orientation","Tooltip","capitalize","Checkbox","size","checked","icon","Visibility","checkedIcon","VisibilityOff","clsx","defaultProps","box","flexWrap","buttonGroup","button","minWidth","minHeight","margin","common","black","weaponTypeList","WeaponSelect","buttons","startCase","Button","disableRipple","disableFocusRipple","disableTouchRipple","onClick","flexDirection","src","alt","overflowX","breakpoints","down","webkitOverflowScrolling","redSelected","orangeSelected","yellowSelected","greenSelected","blueSelected","whiteSelected","purpleSelected","sharpnessList","SharpnessSelect","ButtonGroup","grid","lg","xl","WeaponInput","isBow","isBowgun","createDefaultLabel","index","formatConfig","formatted","cloneDeep","curr","levels","level","defaults","omit","acc","Map","useConfig","useMemo","MultiInput","useTheme","native","useMediaQuery","configMap","handleCheckbox","event","update","concat","differenceBy","getSelectHandler","inputEls","input","isUndefined","MenuItem","FormControl","InputLabel","Select","defaultTo","FormControlLabel","control","BuffsInput","maxConfig","Card","CardHeader","Switch","CardContent","AugmentsInput","augments","description","return","ItemsInput","skills","items","StatTable","rows","TableRow","hover","TableCell","align","TableContainer","Table","TableHead","TableBody","ComboTable","hitCount","motionValueSum","reduce","add","baseDamage","effectiveDamage","defaultBuild","resetBtn","fab","bottom","right","up","DamageCalculator","setSubtitle","useContext","SubtitleContext","location","rawQuery","qs","parse","ignoreQueryPrefix","cached","json","localStorage","getItem","isString","JSON","getInitialBuild","setBuild","handleReset","removeItem","useEffect","setItem","stringify","results","cleanedBuild","Container","weapon","IconButton","enterDelay","Refresh","pick","defenses","SkillsInput","appBar","titleBox","flexGrow","cursor","subtitle","menuButton","darkThemeLabel","TopBar","onMenuClick","onHomeClick","onDarkThemeClick","mobile","AppBar","Toolbar","edge","aria-label","Menu","labelPlacement","drawer","top","flexShrink","border","boxShadow","shadows","drawerOpen","transition","transitions","easing","sharp","duration","enteringScreen","drawerClose","leavingScreen","SideDrawer","menuContent","Drawer","Navigation","children","menuOpen","topBarProps","createContext","menuItem","paddingLeft","paddingRight","App","setTheme","setMenuOpen","toggleTheme","toggleMenu","ThemeProvider","CssBaseline","Provider","render","history","List","ListItem","pathname","ListItemIcon","Home","ListItemText","exact","path","component","to","isLocalhost","window","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","state","controller","log","catch","ReactDOM","document","getElementById","URL","process","origin","addEventListener","fetch","status","headers","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.64bc81bc.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAACxMAAAsTAQCanBgAABM8SURBVHja7d1/hFX5/8DxHcNoGEUZTUYximUZJmn0ScSw9NcQQzX/Dl/2j/7pr9E3o0iTNIz+WD5ELKOyf2SIWGITscQSy/AhliEiloi24XzPa91LO9+2z53mvM8995zH4Wk/+6OZe97n/X587sz73nu+yrLsK0lqYgZBEgAlCYCSBEBJAqBUzGT76quBvIfxV+MhAKppAK7kxf9YMR4CoJqE33wLv3bzxkUAVBPwm87b2ARg/P208REAVWf8xvPebsKvXfzzceMkAKqO+A3nvfwH/NrFvx82XgKg6rbj+/S/4NfuqZ1hAVB1AvB2h/i1u23cBEDVAb8LW8Sv3QXjJwCql/E79Ykd306LP3fKOAqA6kX8vsn74wvxaxd//hvjKQCql/DbnfefbeLXLr7ObuMqAKoX8OvPe1wQfu3i6/UbXwFQVQfw+4Lxa/e98RUAVWX8vkuEX7vvjLMAqCriN5X3PjGA8fWnjLcAqCrhdyjvTWL82sX3OWTcBUBVAb9deb+VhF+7+H67jL8AqG7v+D4qGb92j+wMC4DqJoBLXcKv3ZLrIACqG/jNdRm/dnOuhwCoMvE7UcKO71Z2hk+4LgKgysBvLO91RfBrF49nzPURAJUSv6G8FxXDr108riHXSQBUqh3f1SLR6uvrKxrBVTvDAqBSALhYJFb9/f3Z9evX//prwQguul4CoIrEb7boH1mXl5ezOOKvCX4cnnXdBEAVgd9k0Tu+c3Nz2cdH/H2CneFJ108A1HbwG817VSROJ0+ezN6/f/83AOPv458XjGA87lHXUQDUl+A3mPdrkSiNjY1lr1+/zj51xD+Pf18wgvH4B11PAVBbBfDHIjEaGhrKXrx4kX3uiH8f/13BCP7oegqA2gp+C0Xv+K6urmadHPHfJdgZXnBdBUB1gt9M0buyi4uL2VaO+O8T7AzPuL4CoD6H30TeuyLhmZ2dzb7kiD9XMIBxXhOuswCoT+E3krdeJDqTk5PZu3fvvgjA+HPx5wtGMM5vxPUWAPUxfgN5vxSJzejoaPbq1atsO0f8+fg6BSMY5znguguAagO4UiQyg4OD2fPnz7Mijvg68fUKRnDFdRcAFfjNF73hcO/evazII75egk2ReddfAGw2ftN5G0XCsrCwkKU44usWDGCc97R5IAA2E7/xvLdFonL69Oks5RFfv2AE4/zHzQcBsFn4Dee9LBKTiYmJL97x3crOcHyfghGMcRg2L2QQmrPj+7RIRIaHh7P19fWsjCO+T3y/ghF8amdYBqEZAN4uEo+BgYHs2bNnWZlHfL/4vgUjeNv8AKDKB2ms9fazG3mP8563ylSb2tf0ces6z7iJEwCb/q6LePnJGhwa3VprHnh3CgAbAd+Bol90rNoU8+KAdQLAum48XCn6gwZUu9615okNGQDW6sfdpxa3trgr7cdiAPY8fl8XfU8NNaaYN19bRwDs5d3ddQtZ2/z4LrvFAOw5/Ibs8KrAneIh6wqAvQTgDxauCuwH6wqAvYLfGQtWCTpjfQGwF17u8tJiVYJeenkMAKsO4AULVQm7YJ0BsKr49ef9bpEqYTG/+q03AFYRwBkLVCXk/sYArCSAqxanSmjVegNgFV/3532+Kuv9wl4XCMBKAfithakS+9a6A2CVALxS5ATfsWNHduzYsWxpaSl78OCBerS4fnEd43oWDOAV6w6AVQLwcRETu6+vLzt79iw8alhc17i+BQH42LoDYJUAfFMEfhcvXoRFjYvrWxCCb6w7AFYJwG1P6qNHj0KiAcV1LmK+WHcArBWAN2/eBEQDiusMQAACcFP3798HRAOK6wxAAAJwU3BoTgAEIAABCEAAAhCAAAQgAAEIQAEQgAAEoAAIQAACUAAEIAABKAACEIDVvAfIbQCqbABb8849QgDYNfyG854W9QkfYADgFxTzb9h6BGDZ+I0Xffc3MABwG3eLG7cuAVgWftN5b4v+kMuqLM5bt25l58+fz06dOpUdP348O3jwYLZnz56e+sDQeLzxuOPxx3nE+cR51RTArDUfp61PAKbGbz5vI8Wi7eaCvHPnTnbu3Lls7969tf4k5Ti/OM8435oBmLXm5bx1CsBUmx0rKRdnNxbi3bt3s5mZmWxgYKBRHykf5xvnHedfIwDbrdgcAWCR+I3k/ZJ6UZa9CJeXl7N9+/Y1+t4acf4xDjUDMGvN1xHrF4DbxW8ib72MxVjmArx8+XLjnvV97tlgjEfNAMxa83bCOgbgdm50XtqtLstafNeuXYPfJxCMcakZgO1baLqROgC3jN9C2YuwrM2OnTt3Qu8TxbiUtTnShfNbsK4B2Al8g3k/dmMBlrHwjhw5ArvPFONTUwCz1rweBB0A/wm/0bxfu7X4Ui+6S5cuQa6DYpxqCmDWmt+jsAPgZvwm8151c+GlXnTxwuAvfWyDg4N/1QuAbfexxjjVGMCsNc8ngQfANn6zee+7vXBTLrgbN25s+fGMjIxkV69ezdbW1rJePOJxx+OP89jqucd41RjArDXfZ6HXYADzoz9vsSrPXFIuuKmpqS3tiAYcGxsbWR2OOI84n63sfMd41RzAdjH/++HXMADzYyhvtUo/uqW8DWOniz9+dHz27FlWxyPOq9MfjWO8Ut6mtGK/Noh1MATAhgCYH2N5L6r2u6tUiy2e/XT6GB4+fJjV+Yjz63QsYtwaAmDWWg9jAKw/fifyXlfxl/epFlu8+b+T73/mzJmsCUecZyfjEePWIACz1ro4AcD64jdXhc2OsgE8fPhwR9//yZMnjQAwzrOT8YhxaxiA7c2ROQDWb7Njqeov30i12Pbv39/R77w+fPjQCADjPDu5HjFuDQSw3VITN0fqiN+uvEep30daZQD7+/s7vclOY45OxiPGrcoAlvB+7lg3uwDYu/gdyvst5SQZHh7+a3exygB2+v3//PPPRuAX59kr1+RzxbyL+ZcYwVg/hwDYe/hN5b1JOTkmJiay9fX1jp9RVH2xeQbYWwDGEfMv5mFiBGMdTQGwd/D7LvVmx+nTp7N3795teUF5BugZYJEAxhHzMOZjCZsj3wGw+psd36f+BfHCwsIXP6PwDNAzwKIBbB8xL0vYHPm+zpsjvYzf7rzHqd9kf+/evW0tKAACMBWAccT8LOFDK2Kd7QZgdfD7Ju8/KS/66Oho9vz5820vKAACMCWAccQ8jfmaGMFYb98AsPv4ncr7I+XFnpyczF69elXIggIgAFMDGEfM15i3iRGMdXcKgN3D70Kqe/S2m52d/dtmBwCzUsaiKo+xVwFsb47E/E2MYKy/CwAs/x69t1Ne2HgR7OLiYqmLHoAATDEWMY87fTH8Nrpdh3sR9wJ+w3lPU17MoaGhbHV1tfRFD0AAphqLmM8xrxMjGOtyGIDp8BvPe5nyIo6NjWUvXrzoyqIHIABTjkXM65jfiRGM9TkOwOLxm857m/LinTx5Mnv9+nXXFj0AAZh6LGJ+xzxPjGCs02kAFofffOrNjrm5uez9+/ddXfQABGAZYxHzPOZ7CZsj8wDc/mbHSurNjuXl5UosegACsMyxiHlfwubISi9tjlQNwIcpL05fX192/fr1yix6AAKw7LGI+R/rIDGCDwHoGSAAAegZIAD9DhCAAPQ7QADaBQYgAO0CA9DrAAEIQK8DBKB3ggAQgN4JAkDvBQYgAL0XGIA+DQaAAPRpMADMfB4gAAHo8wAB6BOhfSAqAH0iNADdEwSAANx0uCeIu8K5KxwAGwmgu8K5L7D7Arsv8H893BfYfYFrDWALwanWHe2TTYqJiYlsfX3dM0DPALsGYMy/mIeJ8Yt1NFV3/GoFYAvBQ3m/pZwcw8PD2bNnzzwD9AywdABj3sX8S4xfrJ9DTcCvdgC2ENyV9yjlJBkYGKg0gJ2+CNYzwP//YvgqA1jUvPtMsW52NQW/WgL40ebIUgm/IK4kgPv37+/o+3/48KER+MV5djIeMW5VBjBxS3Xe7GgUgB9BOJd6c6SKAB4+fLij7//kyZNGABjn2cl4xLg1EMBYH3NNg68RALYQPJH3ukkAnjt3rqPvf+bMmUYAGOfZyXjEuDUMwFgXJ5qKXyMAbCE4lveiKQBevXq148fw8OHDWuMX59fpWMS4NQjAWA9jTcavMQC2EBzKW20CgPfv3+/4F+bxLoLYXazjEefV6bskYrxi3BoCYKyDoabj1ygAP9ocWaw7gNHU1NSWdhfj2c/GxkYt4IvziPPZyq5pjFfK61Eh/BabuNkBwL9DOFuFzZGUC+7GjRtbfjwjIyN/wbG2ttaT8MXjjscf57HVc4/xqjmAMd9noQfANoKTea/qCmB08ODBbX0QRAlvsi/sQyu281hjnFJfiy6PUczzSeABcDOCo3m/1hXAS5cu9QRg3S7GqcYAxvwehR0A/wnBwbwf6whgdOTIEch9phifMq5Dl84v5vUg6ADYCYQLdQTwzp072c6dO2H3iWJcYnxqCuCCdQ3ArSI4k/euTgBG165dK+N9pD1VjEeMS1nXoMRzi/k7Yz0D8EsRnMhbrxOA0eXLlyH4EX4xHmWOf0nnFvN2wjoG4HYRHMn7pU4ARsvLy9m+ffsajV+cf4xD2WNfwrnFfB2xfgFY5L2IV+oEYHT37t1sZmamcc8G43zjvOP8uzHuic9vpQ736AVgNSGcT3Uv4m4sxI83R+LN/3v37q01fHF+cZ5lbXaUDGDMy3nrFICpEZzOe1snAD/u1q1b2fnz57NTp05lx48f/+uFwXv27Okp6OLxxuOOxx/nEecT51WVMU5wzjEfp61PAJaF4HjeyzoCqJ4DMObhuHUJwLIRHM57CkB1EcCYf8PWIwC7uTlyG4DqAoC3bXYAsCoQAlBl3xbT2gMgAAVAARCAAqAACEABUAAEoAAoAAJQABQAASgACoBVBDDlbRhVneI6AxCAANzUzZs3AdGA4joDEIAA3NTRo0cB0YDiOgMQgHUD8M12J3RfX1928eJFSNS4uL5xnQsA8I11B8AqAfi4iP9Xj8Vx9uxZWNSwuK4F4Rc9tu4AWCUArxT5EUc7duzIjh07li0tLcGjh4vrF9cxrmfBH4F1xboDYJUA/NYNhlRi31p3AKwSgENl3kJTjS7m2ZB1B8CqIbhqcaqEVq03AFb1RuoWqFLnRucArCSA/Xm/W6BKWMyvfusNgFVF8IJFqoRdsM4AWPV7hLy0UJWgl+4BAsBeQPCMxaoEnbG+ANgrCP5gwarAfrCuANhrrwtcs3BVQGte9wfAXkRwLG/dAtY2ivkzZj0BsFcR/DrvlYWsLyjmzdfWEQB7HcGRvKcWtLZQzJcR6weAdXp5zBXvF1YH7/O94uUuAKwrhAfyVix0faKYFwesEwA25cfieTvFdnhb88CPuwBs9G5xfJDCjdYnSz9vBYj61L6mj1vXecbuLgBVsxs79UqutwAoAEoAFAAlAAIQgAKgAAhAAVAABKAAKAACUAAUAAEoAAqAABQABUAACoACYBkHAAVAARCAAqAACEABUAAEoAAoAAJQABQAASgACoAAFAAFQAAKgAKgBEABUAKgACgAGgQAAlAAFAABKAAKgAAUAAVAAAqAAiAABUABEIACoADoE6EFQAEQgAKgAAhAAVAABKAAKAACUAAUAAEoAAqAABQABUAACoACIAAFQAEQgAKgegrABw8eJA+AAqAACEABUAAEoAAoAAJQABQAASgACoAAFAAFQAAKgAIgAAVAAVACoAAoAVAAFAANAgABKAAKgAAUAAVAAAqAAiAABUABEIACoAAIQAFQAPSJ0AKgAAhAAVAABKAAKAACUAAUAAEoAAqAABQABUAACoACIAAFQAEQgAKgAAhAAVDeCuetcAKgAAhAAVAABKAAKAACUAAUAAEoAAqAABQABUAACoACIAAFQAEQgAKgAAhAAVAAlAAoAEoABCAABUABEIACoAAIQAFQAASgACgAAlAAFAB9IrQAKAACUAAUAAEoAAqAABQABUAACoACIAAFQAEQgAKgAAhAAVAABKAAKAACUABULwNYxgFAAVAABKAAKAACUAAUAAEoAAqAABQABUAACoACIAAFQAEQgAKgACgBUACUACgACoAGAYAAFAAFQAAKgAIgAAVAARCAAqAACEABUAAEoAAoAAJQABQAASgAqpEAbmxsJMUvvj4ABUBVEsCff/45KYDx9QEoAKqSAB44cCD76aefsrdv3xYKX3y9+Lrx9QEoACoFgBsNuS3mhustAGozgL83BMDfXW8BUJsB/LkhAP7seguA2gzgjYYAeMP1FgC1GcDphgA47XoLgNoM4O4GbITE+e12vQVAfQrBhzUH8KHrLACqqT8G+/FXANQ/Atif96Km+MV59bvOAqA+h+C/avi7wDiff7m+AqA6QXC5ZgAuu64CoDoFcCjvt5rgF+cx5LoKgNoKgqN5L3scv3j8o66nAKgvQXAk72mP4hePe8R1FAC1HQQH8v43748ege+P1uMdcP0EQBX5TpGFCv9Y/LL1+LzTQwBUUgzH8/4n7995j/Ke562VBN1a6/s9an3/eBzjrosAKEkAlCQAShIAJQmAkgRASQKgJAFQEgAlCYCSBEBJqnn/Bze3YL7Gb0K6AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/switch-axe.af662fc7.png\";","module.exports = __webpack_public_path__ + \"static/media/charge-blade.a6728a57.png\";","module.exports = __webpack_public_path__ + \"static/media/insect-glaive.2afcb651.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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AQjAugGsHvOKalZOA7C7AF4oO1L2VFfe5nrLohwAvG1PjlYzdKSaKQBm0Pmyc1Vny45VJzKe6sJX1wCorgD4D/bpxmrWflPN3tkF83i+lwAKgAJgr+cPQgAUAAEoAAqAABQABUAACoACIAAFQAEQgAKgAAhAAVAABKAAKAACUAAUAAEoAMrPYXUEVggBUAAEoAAoAAJQABQAASgACoAAVM9+2Xm59eUXoet+/gAEoAAIQAACUAAEIAABKAACEIAAFAABCEAACoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQjAoQBg2J8/AAEIQAACsKUAKAACEIAAFAABCEAACoAABCAABUAAAhCAAiAAAQhAARCAAASgAAhAAAJQAAQgAAGo3gA47AEQgAIgAAVAARCAAqAACEABUAAEoAAoAAJQABQAAQhAAAqAAAQgAAVAAAIQgAIgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAqgsA2vMAFAABKAAKgAAUAAEIQAAKgAAEIAAFQAACEIACIAABCEABEIAABKAACEAAAlAABCAAASgAAhBOABQAASgACoAAFAAFQAAKgAIgAAVAARCAAqAACEABEIBeBAAKgAAUAAVAAAqAAiAABUABEIACoAAIQAEQgAAEoAAIQAACUAAEIAABKAACEIAAFAABCEAACoAABCAABUAAAhCAAiAA7XsACoAAFAAtAAABKAACEIAAFAABqB5nzwNQAASgACgAAlAABKAAKAACUAAUAAEoAAqAABQABUAACoACIAAFQAEQgAKgAAhAAVAABKAAKAACUAAUAAEoAAqAABQABUAACoACIAAFQAB6ESQBUJIAKEkAlCQAShIAJQmAkgRASQKgJAFQkgAoSQCUpBz7HwwYO6cEQ9v0AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAMAAAD6TlWYAAAACXBIWXMAAB7CAAAewgFu0HU+AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAJJUExURf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgMDAwQEBAUFBQYGBgcHBwkJCQsLCwwMDA4ODg8PDxAQEBISEhQUFBUVFRcXFxkZGRsbGxwcHB4eHiAgICIiIiQkJCUlJScnJykpKSoqKiwsLC8vLzAwMDIyMjQ0NDU1NTc3Nzk5OTw8PD4+Pj8/P0JCQkREREVFRUhISElJSUtLS0xMTE5OTlBQUFJSUldXV1hYWFlZWVtbW1xcXF5eXmBgYGJiYmNjY2VlZWZmZmdnZ2lpaWtra2xsbG5ubm9vb3BwcHJycnNzc3V1dXZ2dnl5eXt7e3x8fH5+fn9/f4CAgIGBgYKCgoODg4WFhYeHh4mJiYuLi4yMjI2NjY6Ojo+Pj5CQkJKSkpOTk5WVlZaWlpeXl5+fn6ioqLKysre3t8PDw8zMzM/Pz9XV1eHh4fb29vn5+fr6+vz8/P///3768fwAAABXdFJOUwADBgkMDxIVGBseISQnKi0wMzY5PD9CRUhLTlFUV1pdYGNmaWxvcnV4e36AgYeKjJCTlpmcn6KlqKuusbS3ur3Aw8bJzM/S1djb3uHk5+rt7/Dz9vn8/cWEykUAAA/eSURBVHja7d37QxXFHgDwPTxNE0UtlIsHIfMRSAaK5KVUPAKKUsChhQjwFlKKj4pEE7M0TvbQrNTUQvKRgmHxaMvKyty/7FpZ6M7M7szOzJ7vHOb7K7tndz/sYx7fmTEMHTp06NChI36RNjsnN5w9M0VL+IjknOIq8+9orCzK1CBskVFSb94XleGQ5H/Y3KVlkbqJA26IRCIrS/IfekBFvmmrTDSqs+QdMH3x040mIeojy+clK8WXVBjFX0ppqpwDzloVNd2jofzRqcr4TV9PvI7qGRKON3WVSRWrH1bDL6/e7U6YJ/x4uQ0mbVTmJcH3K3K/hmhY8OuixGSJmrDifneiQKhfuckYa6bBfn4pLkGk4JMmczQsgPz9qDcDFVxi+onlIah+SevprkCU4OxGX4DmmjSggIW0VyBGMLTB9BmV6TDrH1EzUME803dEUiECrmK4AgGCoWr/gOY6gJW7DKYr4Beca/JEKTxAtiItv2AZF6CZC679D1uE6e0fu372QLMEweQGPsD66cAAczAnefim/VfcuCRecI7JGRXAAIvRU/za/jfECz6G+8Wt75wbtv6JoYHjb+90EQRWL65y85MguBr9uZYjI5Yzhj/d20QA3AyqryYNfX5tW6Yg+g9r77ewca2vFS9YCAlwNnJ6N22pgsg3pO2CRYqrr2EBa5Mhf0N6HX72H2IFkV/62HKJj9pwB88HBJjrPLl+G4nzIgWRH7JcY2g35thVgADDzpMbQwGFPsWMgNYITnAWHMBs57ldt+UKsgJao9vRQxfBAZzpPLeztlxB7Gehs+fkKFHwMvoerIEDmOJs3DxgyxUkFY9fOk4U/BDdeiYcwcr7z6y59waTYCgzXFiyNhKJ1GILHHf+sLakMJwZ8gQ0zR7STTiOvgYXwQF09sc1X7IZBJ+lrcFuKl/0oAeg2T1GEDyHbFoOBzDT5BJk6t0tzg65AZpHSA8xUjWuM8A+wzIFTXPLUre/Nl0klaeRTQGlzCAlQamC7rGfADjc4twyGw4gpo8iboItwwRB5DOyBNAznIW5kngJniAAxpwbFkNqkSnFXMl5POBvO+QCHiQAnnJu+BQkwNRq2nvwpxcl34F7CIBXkB5iUK3SMxroBL9vlv0V6SCVpZGcT1jt+vOiNILfm9KjjVQSBFwbJpRlUMEf5PuZTbSAdcAAjQJPwR+bAwA0aQGjhmqCv241Id2B9YZigr+/HoQf/TvwOUMxwc8C8SN+hRFA01BL8Odg/IjlQDUAyYK395KvubW77+QAqSXPGhs42dfdyl0TUQSQKEgsAbYdOjNuecb4mUNtfHVhFT4iLoK3tuMvt/PYiEUZI8c6eVpjFCjGuAn24Z/d2KjFEKMx7yd5v6VsQdpdEBevXLEY47s3vEqBFy1Vq3Lsgt0jFnu87/6bR8hvUeCNCeyCO0ctP3Fxl59eOfDNWeyCnd9YPuPLfU2s/cLgG1TZBbdesfzH8Cc97UyZCeCb9NkFT1iccfVUrHdvV1dXC0VuDPhOJXbB3VbAAbpb04dgf9CAoDvW2QUDvwFhp3awCx4P2g90chG7YMu3AfvBTm9jF3w16BsQdoIlu2AsYD/YKb4+BE8F6wc8ydyH4OVA/aAPc/AhOB6kH/iBNp7xOPPADqElaPBDvbwjjoAqDDYEDKjGcFeogMoMuAYIqNiQf6GAV9/b19UhOXmhwkhYwK/2BJD8AW7aE3GA7waSPZNrJCpgbyB+pUaiAh4LxG9dcqICDrUH4Qdz+jshgIE8wEAnYBQBONoagB/YKUAFAJ4OwA/uJLQCAOUXYUBPg8wPuE/64zvNSBjAcZqOW7FREzaMxAHENelvl/rxVWExAnI8Q9OptE0enyrLYRCjiqZbU9IdqNSCLKQop+lY3y3qZXdPs4tySwIR4gma1I43hQEqvSgVNh6hSS46itUoTjd0YCYJxaS39eNvqNq52g+d3w2XYDlO+AxHH9aARgXNLXiU8FKre1ADLqNJMh8jTShTEZr0gHOohjn0txAEF0x6wFAt1UCbL17AA27St+ATdEO9znckRkd4IM8wfrDhB9h26fX6M1JFO9x18GXclsJX5iyQ1nIhCTCfesD1IG52mWXK+MkCTNpMPeT/c0xOVaUyfoIBMxaWRTa7Hm9bd2yQqX9zc6RsYQZcP5GA6Ys30h1z1+n7H+LnPffYuDgdqJ84wCkr6FfrM7uv3St4kGKP6IopIP2EAc6vYzpsx72TRVyg2qVuPkQ/UYDFrMd96eo9gp10+xQD9BMEuJL9wDvH2NNkVsLzEwPoa/XfoxOAx2n3WQLOTwjgHF+r/7ZPdJR8QbtP4xxofkIA1/k79IcTBRn6dElofiIAs30euutfwG/pd8oG5icCsNznoZuGidM0kaMcmJ8AwNRGv8f+lDxZIvktmArLTwBglu9jx3wAmlmw/Mw4lWH+ijf9AC6B5ScAsNT3sV/1A1jq2+8SeZ2Od8nZs5c8VveI3zfENHf5ASyH5ScAsMI34A4/gBWw/AQAor/51i/4tVmQDcmAd/f45S0fjdWB+skAjN2yRQHat5BpADfC8pMBeNMWB2jfdP5lCyy/AgmAt0UC3mb8l6vnZ5AvXgSgzQaooB8oQBX9IAEq6QcIUE0/OIAA/R54KL/46Uikmq2CESdAaH6pOWU1/mpo8QEE5je7NGr6jbgAwvL7zwaeFrJ4AILyy1jD18QYB0BQfksbTdUAIfml/Je7kTtwQEh+6ZWmcoCQ/NI2mMoBQvJLqjCVAwT1/XjCVA4QlF+OqRwgKL+UzcoBwqp/LDNVA4Tll16vGiCw9oOlpmKAwPxCWxQDhNb+l0XIX4kN0C1/nODh3f6MHanQM0S9fvRk9zMwZZj/nbYsDUjpNwPdq/2CpQGp+4/ykL2aXFcj1H6OWI7sdtDSgPR+BtKMT179fZIBUvafb3Lut9/SgAx+RoNzxxMakMWPbuLYyQdIn//i3PP5cQ1osiTwkuupGlADxgNQP8K8d6D+iLB9RHQxhlNQF6Q5BXVVjlNQNyZwCurmLE5B3aDKK6ib9DkFdacSp2AWfk/drUkrqDvWeQcm6dQOTkGdXMQrqNPbOAV1giWvoE7x5RXUSeacgnqYA6+gHmjDnSith3pxCurBhvzJ5nq4K6egHnDNXSfRQ/65Wxb0pBPck8boaU8ETFukJ96RP/GTnvpJTz6mJx/T09/pCRihACbGFKB6ElrQ0yB7JY0mwDTIcifi9sy6VX8ibrlTwXufsWpTwevFCDhDL4fBGXpBFs7QSwJxRpbvY+tFqf5uONTLosXpK6IX5rsbemlI3tCLk3KGXh43LiUZvUCz1xgJ99BLhN8XepF63phfx3TYjov3+F2g2qVuvq8TK1AE0JiygiGXofvavVXPgxR7RFdM8XliBYoAGkb64o2UrTD3j8EbfN5zj42L0/2fV4EqgH8mdi0si7jn+m/rjg06Ro25f0I2R8oWZvCdVYE6gBPZ1gTGzmMjzlF3nzehm1WKPZsC9QDzsQdrjY0ioxYHt2I2XGYoIygJsAp3rFeuoKM+B1/GbTnDUEZQjt8c7Kd3BPX7oBW35XpjsgduxM5O9PE934H/r4Ynu1+oFvP5+Abx++IFvN+m0GQHxDzBW9H3X38L4bWyYNI/wZiBs+hMUmM7SD2/k/4GxPS170a/H0dJdd4HJ71fCtrAik7iM76NUOl9eNL7GbNpbsB+vF/tXO1nPIKwHKd8gmuK0zUfphTY8i0K+KawusCGSCSysiT/oQcSBrCcnAQzEbvF16rqI8vnJScCYBU5h2MitsupmjaUPzpVecBnnFd1CgO4TV4DyWrVP+TIFV0O7g68256Yl5RQgLgplXfK7aqoCScSIG76t32y+xvXTEtswHeld3k3LEhowNMB5K0sDyUw4GhrAIJr0hIXkDohhu9znJ64gEPtQQhGUhMW0DoWSAbpuuSEBQzmIaYbWKImYABFmT8jN3EBra/2BABYPz1xAS3r6nv7ujokC1YkMqCQGBo4/rZb3TqsASli+NO9TaQUuRQNSBXX+gjVm0INSBlXX8P39SlVGHw8joCW9VEbTjBfIT9MKt54kIJDuO6qKqX9vNaoExwjOMFZKvthO5Ukxiimv6VIZT9st6bMuIy+B2tU9sN2rEuND9FzmKmwHza1Q2qMo6/BRQr7YZOL5MY55BTKVfbDpbdJDqRqXKeyHy7BUnZ5GjmFqSr7BX8LDiMZ7Nkq+3kuV0xRyz0V693b1dV1F6az5+So6/bIZ2SJ0n64YQ4Mt9MnPZguvJdcP00xEePd4fhhB9pQxpf7SO18PS434Snnxk+p7Ycd6kUTF3e5jXwfI+53BekhVtwPP9jQM953/80j5LK0c9Nq1f3ww13d47s3PH6y6SL1Ar41Svn1UQ+4dmtViXknIO2nBqxTye/Sre3UQ/6JzXrHaKaTaRmmBYyq5Gfb35OuuO3QGYoG6vEzh9ro3gsnaAHrlfKzb+8lX3Nrd9/JAeL3c2zgZF83ffLgQVrA55Tys+2fzWBiD/Ui5mr52fZnwQB2KAzoPtnw768HAtimLqDXZM2/bg0CsEnZj4j3ZNc/NgchqGoxJuzpZ9s/QLoDgRWk50W9/VxKg3F4B8Kqys1ooPG7I9gcr68w7MaE1Go6P9v+6cU4lQNhN2fhVnA4j1+F5bcdcgEPqtigmkV7/5HW0REYJxRs0g+hD3BzvPyIrTGQO5XCcPyI7YGguzUrg/TbstRXizTkjvXM4PxqirNDhq8+EcipHUVcfs/S4m0qX/T3NGR+euVAJxc5nuDm3hsMfgVGKDNcWLI2EonUYvPp7/xhbUlhOHNisDnZj9gvDDq9DZmb7QCTH3uQ+FwyE0AnWM50ntpZuX54QNfcGNgpvsgKQNfl+rGP2wGeZI6UAsfk+jEDQh/mkIskT6J+5wX6sQKCH2iT4zy5XiffH2JX4kV+6WO1h3qhE3zetKWuZIw0PbZdUHqwYRpyeoflrgSNzsvf3q/0cFf0gr6WupL2akwbzJERhQdcYxag+lrmSuSPYVOG3zk3rOqQ/xzMKR6++x68IWEl9zm8TRLQJp1IrsedZW//2PWzB5rF+xnJDXx+8KY9KWG7gALe45XxAcKbeCcjWD9jLpcfxKmfVgXqh+uDoQ+Qk49NiwbpZxh5/v2ATn9XGKifEdrg1w/qBIxJ64P0u1N99LmOO9wpQKfXB+nncwVj0JPQ5gXqZxhPsvMBnwa5KFA/I6mc+fGFPhG3h2BUcAU0ia34rsJU8Hlu78GGeeKbwumrdIosRjCd/C2uniHheFMpC/DqLIeRVEgoUZdKKr7OWuVVhFdtQZZpuJuiOkveAdMXP00sE6q5JFBGieNVWBmWXPpKnru0LFI3cUDlF6VKzin+p5W/sbIo09DhI9Jm5+SGs2emaAkdOnTo0KGDKf4P0G7l2ZF6foQAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","import { createMuiTheme } from \"@material-ui/core/styles\";\r\n\r\nconst query = '@media (min-width: 600px)';\r\n\r\nexport const baseTheme = createMuiTheme({\r\n overrides: {\r\n MuiCardHeader: {\r\n content: {\r\n flex: '0 0 auto',\r\n marginRight: '16px'\r\n },\r\n action: {\r\n flex: '1 1 auto',\r\n alignSelf: 'center',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-end',\r\n marginTop: 'unset',\r\n marginRight: 'unset',\r\n marginBottom: 'unset'\r\n }\r\n },\r\n MuiFormControlLabel: {\r\n label: {\r\n [query]: {\r\n fontSize: '0.875rem'\r\n }\r\n }\r\n },\r\n MuiInputLabel: {\r\n root: {\r\n [query]: {\r\n fontSize: '0.875rem'\r\n }\r\n }\r\n },\r\n MuiInputBase: {\r\n root: {\r\n [query]: {\r\n fontSize: '0.875rem'\r\n }\r\n }\r\n },\r\n MuiMenuItem: {\r\n root: {\r\n [query]: {\r\n fontSize: '0.875rem'\r\n },\r\n '&$selected': {\r\n color: '#000 !important',\r\n backgroundColor: '#81c784 !important'\r\n }\r\n },\r\n selected: {}\r\n },\r\n MuiOutlinedInput: {\r\n root: {\r\n padding: `2px 8px !important`\r\n }\r\n },\r\n MuiButton: {\r\n root: {\r\n fontWeight: 400,\r\n textTransform: 'capitalize'\r\n },\r\n sizeSmall: {\r\n fontSize: '0.875rem'\r\n }\r\n },\r\n MuiTableCell: {\r\n root: {\r\n whiteSpace: 'nowrap'\r\n },\r\n head: {\r\n borderColor: '#81c784'\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const lightTheme = createMuiTheme({\r\n ...baseTheme,\r\n palette: {\r\n type: 'light',\r\n text: {\r\n primary: '#212121'\r\n },\r\n background: {\r\n default: '#ddd',\r\n paper: '#f7f7f7'\r\n },\r\n primary: {\r\n main: '#81c784'\r\n },\r\n secondary: {\r\n main: '#81c784'\r\n }\r\n }\r\n});\r\n\r\nexport const darkTheme = createMuiTheme({\r\n ...baseTheme,\r\n palette: {\r\n type: 'dark',\r\n text: {\r\n primary: '#efefef'\r\n },\r\n background: {\r\n default: '#212121',\r\n paper: '#303030'\r\n },\r\n primary: {\r\n main: '#81c784'\r\n },\r\n secondary: {\r\n main: '#81c784'\r\n }\r\n }\r\n});\r\n","import _ from 'lodash';\r\nimport greatSwordIcon from '../../../assets/great-sword.png';\r\nimport dualBladesIcon from '../../../assets/dual-blades.png';\r\nimport longSwordIcon from '../../../assets/long-sword.png';\r\nimport swordAndShieldIcon from '../../../assets/sword-and-shield.png';\r\nimport hammerIcon from '../../../assets/hammer.png';\r\nimport huntingHornIcon from '../../../assets/hunting-horn.png';\r\nimport lanceIcon from '../../../assets/lance.png';\r\nimport gunlanceIcon from '../../../assets/gunlance.png';\r\nimport switchAxeIcon from '../../../assets/switch-axe.png';\r\nimport chargeBladeIcon from '../../../assets/charge-blade.png';\r\nimport insectGlaiveIcon from '../../../assets/insect-glaive.png';\r\nimport lightBowgunIcon from '../../../assets/light-bowgun.png';\r\nimport heavyBowgunIcon from '../../../assets/heavy-bowgun.png';\r\nimport bowIcon from '../../../assets/bow.png';\r\n\r\nexport const WeaponType = {\r\n GREAT_SWORD: 'greatSword',\r\n DUAL_BLADES: 'dualBlades',\r\n LONG_SWORD: 'longSword',\r\n SWORD_AND_SHIELD: 'swordAndShield',\r\n HAMMER: 'hammer',\r\n HUNTING_HORN: 'huntingHorn',\r\n LANCE: 'lance',\r\n GUNLANCE: 'gunlance',\r\n SWITCH_AXE: 'switchAxe',\r\n CHARGE_BLADE: 'chargeBlade',\r\n INSECT_GLAIVE: 'insectGlaive',\r\n LIGHT_BOWGUN: 'lightBowgun',\r\n HEAVY_BOWGUN: 'heavyBowgun',\r\n BOW: 'bow'\r\n};\r\n\r\nexport const attackBloatMap = {\r\n [WeaponType.GREAT_SWORD]: 4.8,\r\n [WeaponType.DUAL_BLADES]: 1.4,\r\n [WeaponType.LONG_SWORD]: 3.3,\r\n [WeaponType.SWORD_AND_SHIELD]: 1.4,\r\n [WeaponType.HAMMER]: 5.2,\r\n [WeaponType.HUNTING_HORN]: 4.2,\r\n [WeaponType.LANCE]: 2.3,\r\n [WeaponType.GUNLANCE]: 2.3,\r\n [WeaponType.SWITCH_AXE]: 3.5,\r\n [WeaponType.CHARGE_BLADE]: 3.6,\r\n [WeaponType.INSECT_GLAIVE]: 3.1,\r\n [WeaponType.LIGHT_BOWGUN]: 1.3,\r\n [WeaponType.HEAVY_BOWGUN]: 1.5,\r\n [WeaponType.BOW]: 1.2\r\n};\r\n\r\nexport const criticalElementMultMap = {\r\n [WeaponType.GREAT_SWORD]: 1.2,\r\n [WeaponType.DUAL_BLADES]: 1.35,\r\n [WeaponType.LONG_SWORD]: 1.25,\r\n [WeaponType.SWORD_AND_SHIELD]: 1.35,\r\n [WeaponType.HAMMER]: 1.25,\r\n [WeaponType.HUNTING_HORN]: 1.25,\r\n [WeaponType.LANCE]: 1.25,\r\n [WeaponType.GUNLANCE]: 1.25,\r\n [WeaponType.SWITCH_AXE]: 1.25,\r\n [WeaponType.CHARGE_BLADE]: 1.25,\r\n [WeaponType.INSECT_GLAIVE]: 1.25,\r\n [WeaponType.LIGHT_BOWGUN]: 1.3,\r\n [WeaponType.HEAVY_BOWGUN]: 1.3,\r\n [WeaponType.BOW]: 1.35\r\n};\r\n\r\nexport const iconMap = {\r\n [WeaponType.GREAT_SWORD]: greatSwordIcon,\r\n [WeaponType.DUAL_BLADES]: dualBladesIcon,\r\n [WeaponType.LONG_SWORD]: longSwordIcon,\r\n [WeaponType.SWORD_AND_SHIELD]: swordAndShieldIcon,\r\n [WeaponType.HAMMER]: hammerIcon,\r\n [WeaponType.HUNTING_HORN]: huntingHornIcon,\r\n [WeaponType.LANCE]: lanceIcon,\r\n [WeaponType.GUNLANCE]: gunlanceIcon,\r\n [WeaponType.SWITCH_AXE]: switchAxeIcon,\r\n [WeaponType.CHARGE_BLADE]: chargeBladeIcon,\r\n [WeaponType.INSECT_GLAIVE]: insectGlaiveIcon,\r\n [WeaponType.LIGHT_BOWGUN]: lightBowgunIcon,\r\n [WeaponType.HEAVY_BOWGUN]: heavyBowgunIcon,\r\n [WeaponType.BOW]: bowIcon\r\n};\r\n\r\nexport const combos = [\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 48\r\n ],\r\n name: 'Charged Slash Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 77\r\n ],\r\n name: 'Charged Slash Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 105\r\n ],\r\n name: 'Charged Slash Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 77\r\n ],\r\n name: 'Charged Slash Lv4'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 48\r\n ],\r\n name: 'Overhead Slash'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 65\r\n ],\r\n name: 'Strong Charged Slash Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 90\r\n ],\r\n name: 'Strong Charged Slash Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 115\r\n ],\r\n name: 'Strong Charged Slash Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 90\r\n ],\r\n name: 'Strong Charged Slash Lv4'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15,\r\n 165\r\n ],\r\n name: 'True Charged Slash Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20,\r\n 182\r\n ],\r\n name: 'True Charged Slash Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22,\r\n 211\r\n ],\r\n name: 'True Charged Slash Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20,\r\n 182\r\n ],\r\n name: 'True Charged Slash Lv4'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 26\r\n ],\r\n name: 'Wide Slash'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 38\r\n ],\r\n name: 'Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Side Blow'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 26\r\n ],\r\n name: 'Tackle Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Tackle Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 48\r\n ],\r\n name: 'Tackle Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 71\r\n ],\r\n name: 'Jumping Wide Slash Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 85\r\n ],\r\n name: 'Jumping Wide Slash Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 110\r\n ],\r\n name: 'Jumping Wide Slash Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 70\r\n ],\r\n name: 'Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 70\r\n ],\r\n name: 'Midair Charged Slash Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 92\r\n ],\r\n name: 'Midair Charged Slash Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 106\r\n ],\r\n name: 'Midair Charged Slash Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 59\r\n ],\r\n name: 'Strong Wide Slash Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 66\r\n ],\r\n name: 'Strong Wide Slash Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 78\r\n ],\r\n name: 'Strong Wide Slash Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 48\r\n ],\r\n name: 'Charged Rising Slash Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 72\r\n ],\r\n name: 'Charged Rising Slash Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 98\r\n ],\r\n name: 'Charged Rising Slash Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Plunging Thrust Lv1'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Plunging Thrust Lv2'\r\n },\r\n {\r\n weaponType: WeaponType.GREAT_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 27\r\n ],\r\n name: 'Plunging Thrust Lv3'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 24\r\n ],\r\n name: 'Step Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 12\r\n ],\r\n name: 'Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 21\r\n ],\r\n name: 'Overhead Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Fade Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Lateral Fade Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Spirit Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 14\r\n ],\r\n name: 'Spirit Blade I'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Spirit Blade II'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 12,\r\n 14,\r\n 34\r\n ],\r\n name: 'Spirit Blade III'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 38\r\n ],\r\n name: 'Spirit Roundslash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 42\r\n ],\r\n name: 'Spirit Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10,\r\n 10,\r\n 10,\r\n 10,\r\n 10,\r\n 10,\r\n 10\r\n ],\r\n name: 'Spirit Helm Breaker (White)'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10,\r\n 10,\r\n 10,\r\n 10,\r\n 10,\r\n 10,\r\n 10\r\n ],\r\n name: 'Spirit Helm Breaker (Yellow)'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 25,\r\n 25,\r\n 25,\r\n 25,\r\n 25,\r\n 25,\r\n 25\r\n ],\r\n name: 'Spirit Helm Breaker (Red)'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 14\r\n ],\r\n name: 'Foresight Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 26\r\n ],\r\n name: 'Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Jumping Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 26\r\n ],\r\n name: 'Aerial Draw Spirit Blade'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Jumping Spirit Blade'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 4,\r\n 16\r\n ],\r\n name: 'Jumping Spirit Blade II'\r\n },\r\n {\r\n weaponType: WeaponType.LONG_SWORD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 4,\r\n 16,\r\n 28\r\n ],\r\n name: 'Jumping Spirit Blade III'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 14\r\n ],\r\n name: 'Chop'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 13\r\n ],\r\n name: 'Side Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 10,\r\n 20\r\n ],\r\n name: 'Sword/Shield Combo'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Spiral Slash (Right)'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Spiral Slash (Left)'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 17\r\n ],\r\n name: 'Spiral Slash (Back)'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Lateral Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 21\r\n ],\r\n name: 'Return Stroke'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Advancing Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Short Shield Bash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Round Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 8\r\n ],\r\n name: 'Shield Attack'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Shield Bash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 31\r\n ],\r\n name: 'Hard Bash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10,\r\n 35\r\n ],\r\n name: 'Sliding Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 14\r\n ],\r\n name: 'Guard Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 14\r\n ],\r\n name: 'Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 29,\r\n 40\r\n ],\r\n name: 'Charged Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15\r\n ],\r\n name: 'Scaling Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 39\r\n ],\r\n name: 'Falling Bash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Jumping Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Jumping Advancing Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWORD_AND_SHIELD,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Helm Breaker'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 8,\r\n 10\r\n ],\r\n name: 'Double Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 9,\r\n 10\r\n ],\r\n name: 'Double Slash Return Stroke'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 11,\r\n 9,\r\n 11\r\n ],\r\n name: 'Circle Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 3,\r\n 3,\r\n 5,\r\n 5\r\n ],\r\n name: 'Lunging Strike'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 7,\r\n 5,\r\n 15\r\n ],\r\n name: 'Left RoundSlash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 7,\r\n 5,\r\n 15\r\n ],\r\n name: 'Right RoundSlash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 5,\r\n 5\r\n ],\r\n name: 'Turn Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10,\r\n 10,\r\n 13,\r\n 13\r\n ],\r\n name: 'Sliding Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 11\r\n ],\r\n name: 'Demon Fangs'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 7,\r\n 14\r\n ],\r\n name: 'Twofold Demon Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10,\r\n 10,\r\n 9,\r\n 9,\r\n 16,\r\n 16\r\n ],\r\n name: 'Sixfold Demon Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 5,\r\n 5,\r\n 4,\r\n 4,\r\n 8,\r\n 8\r\n ],\r\n name: 'Demon Flurry Rush'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Right Fade Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Left Fade Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 19,\r\n 7,\r\n 11\r\n ],\r\n name: 'Right Double Roundslash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 19,\r\n 7,\r\n 11\r\n ],\r\n name: 'Left Double Roundslash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 17,\r\n 17,\r\n 6,\r\n 6,\r\n 10,\r\n 10,\r\n 9,\r\n 9,\r\n 11,\r\n 11,\r\n 9,\r\n 9,\r\n 12,\r\n 7,\r\n 12\r\n ],\r\n name: 'Blade Dance'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 9,\r\n 9,\r\n 7,\r\n 7,\r\n 3,\r\n 17,\r\n 17\r\n ],\r\n name: 'Demon Flurry'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 9,\r\n 12\r\n ],\r\n name: 'Jumping Double Slash'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 17,\r\n 11,\r\n 11,\r\n 17,\r\n 20,\r\n 20,\r\n 12,\r\n 12,\r\n 21,\r\n 21\r\n ],\r\n name: 'Heavenly Blade Dance'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15,\r\n 10,\r\n 15,\r\n 10\r\n ],\r\n name: 'Midair Spinning Blade Dance'\r\n },\r\n {\r\n weaponType: WeaponType.DUAL_BLADES,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20,\r\n 20,\r\n 20,\r\n 20,\r\n 12,\r\n 12\r\n ],\r\n name: 'Spinning Blade Dance Finisher'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Swing'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Backswing'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 37\r\n ],\r\n name: 'Overhead Smash I'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 15\r\n ],\r\n name: 'Side Smash'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 23\r\n ],\r\n name: 'Overhead Smash II'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 86\r\n ],\r\n name: 'Upswing'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 28\r\n ],\r\n name: 'Big Bang I'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 32\r\n ],\r\n name: 'Big Bang II'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 45\r\n ],\r\n name: 'Big Bang III'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 65\r\n ],\r\n name: 'Big Bang IV'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 28,\r\n 28,\r\n 0,\r\n 100\r\n ],\r\n name: 'Big Bang Finisher'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Charged Side Blow'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 38\r\n ],\r\n name: 'Charged Upswing'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 15,\r\n 76\r\n ],\r\n name: 'Charged Big Bang'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 26,\r\n 18,\r\n 18,\r\n 18,\r\n 18,\r\n 18,\r\n 0,\r\n 32\r\n ],\r\n name: 'Spinning Bludgeon'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 45\r\n ],\r\n name: 'Charged Brutal Upswing'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 15,\r\n 15,\r\n 0,\r\n 85\r\n ],\r\n name: 'Charged Brutal Big Bang'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 25\r\n ],\r\n name: 'Charged Follow Up'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 55\r\n ],\r\n name: 'Charged Follow Up (Power Charge)'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 15\r\n ],\r\n name: 'Spinning Side Smash'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 55\r\n ],\r\n name: 'Spinning Follow Up'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 90\r\n ],\r\n name: 'Spinning Strong Upswing'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 37\r\n ],\r\n name: 'Jumping Smash'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 25,\r\n 100\r\n ],\r\n name: 'Midair Spinning Bludgeon'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 65\r\n ],\r\n name: 'Jumping Charge Attack'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 70\r\n ],\r\n name: 'Jumping Charge Attack II'\r\n },\r\n {\r\n weaponType: WeaponType.HAMMER,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 80\r\n ],\r\n name: 'Jumping Charge Attack III'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 27\r\n ],\r\n name: 'Right Swing'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Left Swing'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 28\r\n ],\r\n name: 'Forward Swing'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 34\r\n ],\r\n name: 'Backward Slam'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Handle Poke'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 14,\r\n 39\r\n ],\r\n name: 'Forward Slam'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 15,\r\n 22\r\n ],\r\n name: 'Double Right Swing'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 29\r\n ],\r\n name: 'Performance'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Encore'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n ignoreSharpness: true,\r\n ignoreAffinity: true,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 27\r\n ],\r\n name: 'Shockwave'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Jumping Smash'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 55\r\n ],\r\n name: 'Jumping Strong Overhead Smash'\r\n },\r\n {\r\n weaponType: WeaponType.HUNTING_HORN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Mid-air Performance'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Mid Thrust I'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Mid Thrust II'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 27\r\n ],\r\n name: 'Mid Thrust III'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'High Thrust I'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'High Thrust II'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 27\r\n ],\r\n name: 'High Thrust III'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Wide Sweep I'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Wide Sweep II'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Wide Sweep III'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 40\r\n ],\r\n name: 'Counter Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Cancel Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Guard Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 11\r\n ],\r\n name: 'Dash Attack'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 25\r\n ],\r\n name: 'Mid-Air Dash Attack'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 50\r\n ],\r\n name: 'Reverse Attack'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 50\r\n ],\r\n name: 'Advancing Jump Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 50\r\n ],\r\n name: 'Finishing Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 25,\r\n 50\r\n ],\r\n name: 'Finishing Twin Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 14\r\n ],\r\n name: 'Shield Attack'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 8,\r\n 8,\r\n 8\r\n ],\r\n name: 'Leaping Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.LANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Jumping Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Lunging Upthrust'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 24\r\n ],\r\n name: 'Lateral Thrust I, II, III'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 48\r\n ],\r\n name: 'Overhead Smash'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 68\r\n ],\r\n name: 'Wide Sweep'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Guard Thrust I, II, III'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 25\r\n ],\r\n name: 'Jumping Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 44\r\n ],\r\n name: 'Jumping Reload Smash'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 44\r\n ],\r\n name: 'Jumping Smash'\r\n },\r\n {\r\n weaponType: WeaponType.GUNLANCE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Jumping Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 29\r\n ],\r\n name: 'Axe: Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 23\r\n ],\r\n name: 'Axe: Side Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 19\r\n ],\r\n name: 'Axe: Forward Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 25\r\n ],\r\n name: 'Axe: Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 40\r\n ],\r\n name: 'Axe: Overhead Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 21,\r\n 23\r\n ],\r\n name: 'Axe: Wild Swing'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 23\r\n ],\r\n name: 'Axe: Fade Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20,\r\n 70,\r\n 35\r\n ],\r\n name: 'Axe: Morph Sweep'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 43\r\n ],\r\n name: 'Axe: Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Axe: Jumping Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 74\r\n ],\r\n name: 'Axe: Jumping Sweep'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 23\r\n ],\r\n name: 'Sword: Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 45\r\n ],\r\n name: 'Sword: Downward Fade Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 29\r\n ],\r\n name: 'Sword: Overhead Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 21\r\n ],\r\n name: 'Sword: Right Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Sword: Left Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22,\r\n 26\r\n ],\r\n name: 'Sword: Double Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 24,\r\n 32\r\n ],\r\n name: 'Sword: Heavensward Flurry'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Sword: Element Discharge'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Sword: Element Discharge (Bash )'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 80\r\n ],\r\n name: 'Element Discharge Finisher'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 67\r\n ],\r\n name: 'Element Discharge Finisher (Early release)'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15\r\n ],\r\n name: 'Zero Sum Discharge (Initial hit)'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 12\r\n ],\r\n name: 'Zero Sum Discharge (Bash )'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 96\r\n ],\r\n name: 'Zero Sum Discharge Finisher'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Sword: Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Sword: Jumping Element Discharge'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 43\r\n ],\r\n name: 'Sword: Jumping Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.SWITCH_AXE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Sword: Jumping Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Sword: Forward Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 12\r\n ],\r\n name: 'Sword: Weak Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 13\r\n ],\r\n name: 'Sword: Charged Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 27,\r\n 18\r\n ],\r\n name: 'Sword: Charged Double Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 25\r\n ],\r\n name: 'Sword: Sliding Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15\r\n ],\r\n name: 'Sword: Return Stroke'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 12,\r\n 8\r\n ],\r\n name: 'Sword: Shield Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 28\r\n ],\r\n name: 'Sword: Spinning Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 44\r\n ],\r\n name: 'Sword: Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 75\r\n ],\r\n name: 'Sword: Condensed Element Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Sword: Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 46\r\n ],\r\n name: 'Sword: Jumping Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 21\r\n ],\r\n name: 'Sword: Jumping Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 44\r\n ],\r\n name: 'Axe: Smash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 28\r\n ],\r\n name: 'Axe: Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 50\r\n ],\r\n name: 'Elemental Roundslash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Axe: Rising Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 37\r\n ],\r\n name: 'Axe: Overhead Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 45\r\n ],\r\n name: 'Axe: Dash Slam'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 21\r\n ],\r\n name: 'Axe: ED I'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 21\r\n ],\r\n name: 'Axe: Rushing ED I'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10,\r\n 66\r\n ],\r\n name: 'Axe: ED II'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 90\r\n ],\r\n name: 'Axe: Amped Element Discharge'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15,\r\n 90,\r\n 97\r\n ],\r\n name: 'Axe: Super AED (Has Phials)'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15,\r\n 97\r\n ],\r\n name: 'Axe: Super AED (No Phials)'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 46\r\n ],\r\n name: 'Axe: Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.CHARGE_BLADE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Axe: Jumping Morph Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 26\r\n ],\r\n name: 'Leaping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 16,\r\n 14\r\n ],\r\n name: 'Rising Slash Combo'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Wide Sweep'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Overhead Smash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18\r\n ],\r\n name: 'Reaping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18,\r\n 24\r\n ],\r\n name: 'Double Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 16,\r\n 14,\r\n 15\r\n ],\r\n name: 'Strong Rising Slash Combo'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 18,\r\n 26\r\n ],\r\n name: 'Strong Wide Sweep'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 24,\r\n 42\r\n ],\r\n name: 'Tornado Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 12,\r\n 11\r\n ],\r\n name: 'Strong Thrust'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15,\r\n 19\r\n ],\r\n name: 'Strong Reaping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 16,\r\n 14,\r\n 28\r\n ],\r\n name: 'Strong Double Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 17\r\n ],\r\n name: 'Dodge Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 15\r\n ],\r\n name: 'Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Strong Jumping Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 28\r\n ],\r\n name: 'Jumping Advancing Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'sever',\r\n motionValues: [\r\n 6,\r\n 4,\r\n 7,\r\n 4,\r\n 3,\r\n 32\r\n ],\r\n name: 'Strong Jumping Advancing Slash'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Kinsect (Mark Target)'\r\n },\r\n {\r\n weaponType: WeaponType.INSECT_GLAIVE,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Kinsect: Harvest Extract'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 25\r\n ],\r\n name: 'Melee Attack'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 25\r\n ],\r\n name: 'Jumping Reload'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 26\r\n ],\r\n name: 'Wyvernblast (S)'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 32\r\n ],\r\n name: 'Wyvernblast (M)'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 49\r\n ],\r\n name: 'Wyvernblast (L)'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Normal 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Normal 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 32\r\n ],\r\n name: 'Normal 3'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Pierce 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Pierce 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 8\r\n ],\r\n name: 'Pierce 3'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Spread 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Spread 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 8\r\n ],\r\n name: 'Spread 3'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 12\r\n ],\r\n name: 'Sticky 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Sticky 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 19\r\n ],\r\n name: 'Sticky 3'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Sticky Projectile'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 19\r\n ],\r\n name: 'Cluster Bomb 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Cluster Bomb 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 28\r\n ],\r\n name: 'Cluster Bomb 3'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Cluster Projectile'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Recover 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Recover 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Poison 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Poison 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Paralysis 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Paralysis 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Sleep 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Sleep 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Exhaust 1'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Exhaust 2'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Flaming'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Water'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Freeze'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Thunder'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 2\r\n ],\r\n name: 'Dragon'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Slicing Projectile'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Slicing'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 70\r\n ],\r\n name: 'Wyvern (Primary)'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Wyvern (Additional)'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Demon'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Armor'\r\n },\r\n {\r\n weaponType: WeaponType.LIGHT_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Tranq'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Normal 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Normal 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 32\r\n ],\r\n name: 'Normal 3'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Pierce 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Pierce 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 8\r\n ],\r\n name: 'Pierce 3'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Spread 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Spread 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 8\r\n ],\r\n name: 'Spread 3'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 12\r\n ],\r\n name: 'Sticky 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Sticky 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 19\r\n ],\r\n name: 'Sticky 3'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Sticky Projectile'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 19\r\n ],\r\n name: 'Cluster Bomb 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 22\r\n ],\r\n name: 'Cluster Bomb 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 28\r\n ],\r\n name: 'Cluster Bomb 3'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Cluster Projectile'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Recover 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Recover 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Poison 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Poison 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Paralysis 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Paralysis 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Sleep 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Sleep 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Exhaust 1'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Exhaust 2'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Flaming'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Water'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Freeze'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 5\r\n ],\r\n name: 'Thunder'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 2\r\n ],\r\n name: 'Dragon'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Slicing Projectile'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Slicing'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 70\r\n ],\r\n name: 'Wyvern (Primary)'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 16\r\n ],\r\n name: 'Wyvern (Additional)'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Demon'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Armor'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 0\r\n ],\r\n name: 'Tranq'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Melee Attack'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 30\r\n ],\r\n name: 'Jumping Reload'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 9\r\n ],\r\n name: 'Wyvernheart'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Wyvernsnipe'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 38\r\n ],\r\n name: 'Wyvernsnipe Explosion (S)'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 49\r\n ],\r\n name: 'Wyvernsnipe Explosion (M)'\r\n },\r\n {\r\n weaponType: WeaponType.HEAVY_BOWGUN,\r\n damageType: 'blunt',\r\n motionValues: [\r\n 81\r\n ],\r\n name: 'Wyvernsnipe Explosion (L)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Charged Shot (Lv 1)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Charged Shot (Lv 2)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 11\r\n ],\r\n name: 'Charged Shot (Lv 3)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 12\r\n ],\r\n name: 'Charged Shot (Lv 4)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Power Shot (Lv 1)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 9\r\n ],\r\n name: 'Power Shot (Lv 2)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 11\r\n ],\r\n name: 'Power Shot (Lv 3)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 13\r\n ],\r\n name: 'Power Shot (Lv 4)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 1\r\n ],\r\n name: 'Arc Shot (Lv 1)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 2\r\n ],\r\n name: 'Arc Shot (Lv 2)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 2\r\n ],\r\n name: 'Arc Shot (Lv 3)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 2\r\n ],\r\n name: 'Arc Shot (Lv 4)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 19\r\n ],\r\n name: 'Dragon Piercer (Lv 1)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 20\r\n ],\r\n name: 'Dragon Piercer (Lv 2)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 23\r\n ],\r\n name: 'Dragon Piercer (Lv 3)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 6\r\n ],\r\n name: 'Quick Shot'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'sever',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Lunging Melee Attack'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'sever',\r\n motionValues: [\r\n 35\r\n ],\r\n name: 'Wall Climb Power Shot'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'sever',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Jumping Melee Attack'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 7\r\n ],\r\n name: 'Mid-air Charged Shot (Lv 1)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 10\r\n ],\r\n name: 'Mid-air Charged Shot (Lv 2)'\r\n },\r\n {\r\n weaponType: WeaponType.BOW,\r\n damageType: 'projectile',\r\n motionValues: [\r\n 11\r\n ],\r\n name: 'Mid-air Charged Shot (Lv 3)'\r\n }\r\n];\r\n\r\nexport const combosMap = _.groupBy(combos, combo => _.get(combo, 'weaponType'));\r\n\r\nexport default WeaponType;\r\n","export const Sharpness = {\r\n PURPLE: 'purple',\r\n WHITE: 'white',\r\n BLUE: 'blue',\r\n GREEN: 'green',\r\n YELLOW: 'yellow',\r\n ORANGE: 'orange',\r\n RED: 'red'\r\n};\r\n\r\nexport const attackMultMap = {\r\n [Sharpness.PURPLE]: 1.39,\r\n [Sharpness.WHITE]: 1.32,\r\n [Sharpness.BLUE]: 1.2,\r\n [Sharpness.GREEN]: 1.05,\r\n [Sharpness.YELLOW]: 1,\r\n [Sharpness.ORANGE]: 0.75,\r\n [Sharpness.RED]: 0.5\r\n};\r\n\r\nexport const elementMultMap = {\r\n [Sharpness.PURPLE]: 1.3,\r\n [Sharpness.WHITE]: 1.125,\r\n [Sharpness.BLUE]: 1.0625,\r\n [Sharpness.GREEN]: 1,\r\n [Sharpness.YELLOW]: 0.75,\r\n [Sharpness.ORANGE]: 0.5,\r\n [Sharpness.RED]: 0.25\r\n};\r\n\r\nexport default Sharpness;\r\n","import _ from 'lodash';\r\nimport { attackBloatMap, criticalElementMultMap, combosMap, WeaponType } from './weaponType';\r\nimport { attackMultMap, elementMultMap } from './sharpness';\r\n\r\nexport * from './weaponType';\r\nexport * from './sharpness';\r\n\r\nexport const evaluateCondition = (condition, data) => {\r\n const accessor = _.get(condition, 'accessor');\r\n const target = _.get(data, accessor, '');\r\n const operator = _.get(condition, 'operator');\r\n const value = _.get(condition, 'value');\r\n const group = _.map(_.get(condition, 'group'), condition => {\r\n return evaluateCondition(condition, data);\r\n });\r\n\r\n switch(operator) {\r\n case 'startsWith':\r\n return _.startsWith(target, value);\r\n case 'endsWith':\r\n return _.endsWith(target, value);\r\n case '==':\r\n return _.isEqual(target, value);\r\n case '!=':\r\n return !_.isEqual(target, value);\r\n case '>':\r\n return _.gt(target, value);\r\n case '>=':\r\n return _.gte(target, value);\r\n case '<':\r\n return _.lt(target, value);\r\n case '<=':\r\n return _.lte(target, value);\r\n case '&&':\r\n return _.every(group, Boolean);\r\n case '||':\r\n return _.some(group, Boolean);\r\n default:\r\n if (!_.isNil(operator)) {\r\n console.error('Operator not recognized:', operator);\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nexport const resolveCondition = (conditions, data, defaultResult) => {\r\n let result = defaultResult;\r\n\r\n _.forEach(conditions, condition => {\r\n if (evaluateCondition(condition, data)) {\r\n result = _.get(condition, 'return');\r\n return false;\r\n }\r\n });\r\n return result;\r\n}\r\n\r\nexport const getBuffResolver = data => unresolvedBuffs => {\r\n return _.map(unresolvedBuffs, unresolvedBuff => {\r\n return _.transform(unresolvedBuff, (resolvedBuff, value, key) => {\r\n if (!_.isArray(value)) {\r\n _.set(resolvedBuff, key, value);\r\n } else {\r\n const resolvedValue = resolveCondition(value, data);\r\n _.set(resolvedBuff, key, resolvedValue);\r\n }\r\n }, {});\r\n });\r\n}\r\n\r\nexport const BuffAccessor = {\r\n COMBO_DEPENDENT: 'comboDependent',\r\n TRUE_ATTACK: 'trueAttack',\r\n ATTACK_MULT: 'attackMult',\r\n TRUE_ELEMENT: 'trueElement',\r\n ELEMENT_MULT: 'elementMult',\r\n AFFINITY_PCT: 'affinityPct',\r\n FREE_ELEMENT: 'freeElement',\r\n CRITICAL_ELEMENT: 'criticalElement',\r\n CRITICAL_ATTACK_MULT: 'criticalAttackMult'\r\n};\r\n\r\nexport const attackMultCap = 1 + (1 / 20.75);\r\n\r\nexport const getBuffAggregator = (baseTrueAttack, baseTrueElement) => buffs => {\r\n let totalTrueAttack = 0\r\n let totalTrueElement = 0;\r\n let totalAffinityPct = 0;\r\n let totalFreeElement = 0;\r\n let netCriticalElement = false;\r\n let topCriticalAttackMult = 1.25;\r\n\r\n const buffList = [];\r\n\r\n _.forEach(buffs, buff => {\r\n const buffEntry = {\r\n original: buff,\r\n name: _.get(buff, 'name')\r\n };\r\n\r\n if (_.has(buff, BuffAccessor.TRUE_ATTACK) || _.has(buff, BuffAccessor.ATTACK_MULT)) {\r\n let trueAttack = +_.get(buff, BuffAccessor.TRUE_ATTACK, 0);\r\n const attackMult = Math.min(+_.get(buff, BuffAccessor.ATTACK_MULT, 1), attackMultCap);\r\n trueAttack = Math.round((attackMult - 1) * baseTrueAttack + trueAttack);\r\n totalTrueAttack += trueAttack;\r\n _.set(buffEntry, BuffAccessor.TRUE_ATTACK, trueAttack);\r\n }\r\n\r\n if (_.has(buff, BuffAccessor.TRUE_ELEMENT) || _.has(buff, BuffAccessor.ELEMENT_MULT)) {\r\n let trueElement = baseTrueElement > 0 ? +_.get(buff, BuffAccessor.TRUE_ELEMENT, 0) : 0;\r\n const elementMult = +_.get(buff, BuffAccessor.ELEMENT_MULT, 1);\r\n trueElement = Math.round((elementMult - 1) * baseTrueElement + trueElement);\r\n totalTrueElement += trueElement;\r\n _.set(buffEntry, BuffAccessor.TRUE_ELEMENT, trueElement);\r\n }\r\n\r\n if (_.has(buff, BuffAccessor.AFFINITY_PCT)) {\r\n const affinityPct = +_.get(buff, BuffAccessor.AFFINITY_PCT, 0)\r\n totalAffinityPct += affinityPct;\r\n _.set(buffEntry, BuffAccessor.AFFINITY_PCT, affinityPct);\r\n }\r\n\r\n if (_.has(buff, BuffAccessor.FREE_ELEMENT)) {\r\n const freeElement = +_.get(buff, BuffAccessor.FREE_ELEMENT, 0);\r\n totalFreeElement = Math.min(totalFreeElement + freeElement, 100);\r\n _.set(buffEntry, BuffAccessor.FREE_ELEMENT, freeElement);\r\n }\r\n\r\n if (_.has(buff, BuffAccessor.CRITICAL_ELEMENT)) {\r\n const criticalElement = _.get(buff, BuffAccessor.CRITICAL_ELEMENT, false);\r\n netCriticalElement = netCriticalElement || criticalElement;\r\n _.set(buffEntry, BuffAccessor.CRITICAL_ELEMENT, criticalElement);\r\n }\r\n\r\n if (_.has(buff, BuffAccessor.CRITICAL_ATTACK_MULT)) {\r\n const criticalAttackMult = +_.get(buff, BuffAccessor.CRITICAL_ATTACK_MULT, 0);\r\n topCriticalAttackMult = Math.max(topCriticalAttackMult, criticalAttackMult);\r\n _.set(buffEntry, BuffAccessor.CRITICAL_ATTACK_MULT, criticalAttackMult);\r\n }\r\n\r\n buffList.push(buffEntry);\r\n });\r\n\r\n return [{\r\n [BuffAccessor.TRUE_ATTACK]: totalTrueAttack,\r\n [BuffAccessor.TRUE_ELEMENT]: totalTrueElement,\r\n [BuffAccessor.AFFINITY_PCT]: totalAffinityPct,\r\n [BuffAccessor.FREE_ELEMENT]: totalFreeElement,\r\n [BuffAccessor.CRITICAL_ELEMENT]: netCriticalElement,\r\n [BuffAccessor.CRITICAL_ATTACK_MULT]: topCriticalAttackMult\r\n }, buffList];\r\n}\r\n\r\nexport const calculateAffinityDamageMult = (affinityPct, criticalMult) => {\r\n if (affinityPct === 0) {\r\n return 1;\r\n }\r\n\r\n const affinity = _.clamp(affinityPct, -100, 100) / 100;\r\n return 1 + affinity * (criticalMult - 1);\r\n}\r\n\r\nexport const getTrueElementBuffCap = baseTrueElement => {\r\n if (baseTrueElement <= 12) {\r\n return 4;\r\n } else if (baseTrueElement <= 18) {\r\n return 5;\r\n } else if (baseTrueElement <= 21) {\r\n return 6;\r\n } else if (baseTrueElement <= 24) {\r\n return 7;\r\n } else if (baseTrueElement <= 27) {\r\n return 8;\r\n } else if (baseTrueElement <= 30) {\r\n return 9;\r\n } else if (baseTrueElement <= 33) {\r\n return 10;\r\n } else if (baseTrueElement <= 36) {\r\n return 11;\r\n } else if (baseTrueElement <= 39) {\r\n return 12;\r\n } else if (baseTrueElement <= 45) {\r\n return 13;\r\n } else if (baseTrueElement <= 48) {\r\n return 14;\r\n } else {\r\n return 15;\r\n }\r\n}\r\n\r\nexport const BuildAccessor = {\r\n WEAPON_TYPE: 'weaponType',\r\n ATTACK: 'attack',\r\n ELEMENT: 'element',\r\n HIDDEN_ELEMENT: 'hiddenElement',\r\n AFFINITY_PCT: 'affinityPct',\r\n SHARPNESS: 'sharpness',\r\n BUFFS: 'buffs',\r\n HITZONE_SEVER_MULT: 'hitzoneSeverMult',\r\n HITZONE_BLUNT_MULT: 'hitzoneBluntMult',\r\n HITZONE_PROJECTILE_MULT: 'hitzoneProjectileMult',\r\n HITZONE_ELEMENTAL_MULT: 'hitzoneElementalMult'\r\n};\r\n\r\nexport const ComboAccessor = {\r\n DAMAGE_TYPE: 'damageType',\r\n MOTION_VALUES: 'motionValues',\r\n IGNORE_AFFINITY: 'ignoreAffinity',\r\n IGNORE_SHARPNESS: 'ignoreSharpness'\r\n};\r\n\r\nexport const DamageType = {\r\n SEVER: 'sever',\r\n BLUNT: 'blunt',\r\n PROJECTILE: 'projectile',\r\n ELEMENTAL: 'elemental'\r\n}\r\n\r\nexport const calculateDamage = build => {\r\n const weaponType = _.get(build, BuildAccessor.WEAPON_TYPE);\r\n const weaponBloat = _.get(attackBloatMap, weaponType);\r\n const baseTrueAttack = _.round(+_.get(build, BuildAccessor.ATTACK, 0) / weaponBloat, 2);\r\n\r\n const hiddenElement = Boolean(_.get(build, BuildAccessor.HIDDEN_ELEMENT));\r\n const baseHiddenTrueElement = _.round(+_.get(build, BuildAccessor.ELEMENT, 0) / 10, 2);\r\n\r\n const baseAffinityPct = +_.get(build, BuildAccessor.AFFINITY_PCT, 0);\r\n\r\n const unresolvedBuffs = _.get(build, BuildAccessor.BUFFS);\r\n const unresolvedGeneralBuffs = _.filter(unresolvedBuffs, buff => !_.get(buff, BuffAccessor.COMBO_DEPENDENT));\r\n const unresolvedComboBuffs = _.filter(unresolvedBuffs, BuffAccessor.COMBO_DEPENDENT);\r\n\r\n const freeElement = Math.min(_.flow(_.map, _.compact, _.sum)(unresolvedGeneralBuffs, BuffAccessor.FREE_ELEMENT), 100);\r\n const baseTrueElement = baseHiddenTrueElement * (hiddenElement ? (freeElement / 100) : 1);\r\n\r\n const sharpness = _.get(build, BuildAccessor.SHARPNESS);\r\n const sharpnessAttackMult = _.get(attackMultMap, sharpness);\r\n const sharpnessElementMult = _.get(elementMultMap, sharpness);\r\n\r\n const resolverData = {\r\n build,\r\n baseTrueAttack,\r\n baseHiddenTrueElement,\r\n baseTrueElement,\r\n baseAffinityPct\r\n };\r\n\r\n const generalBuffResolver = getBuffResolver(resolverData);\r\n const buffAggregator = getBuffAggregator(baseTrueAttack, baseTrueElement);\r\n const [generalBuffs, generalBuffList] = _.flow(generalBuffResolver, buffAggregator)(unresolvedGeneralBuffs);\r\n\r\n const trueAttackBuff = _.get(generalBuffs, BuffAccessor.TRUE_ATTACK);\r\n const trueAttack = baseTrueAttack + trueAttackBuff;\r\n\r\n const trueElementBuff = _.get(generalBuffs, BuffAccessor.TRUE_ELEMENT);\r\n const trueElementBuffCap = getTrueElementBuffCap(baseHiddenTrueElement);\r\n const trueElement = baseTrueElement + Math.min(trueElementBuff, trueElementBuffCap);\r\n\r\n const affinityPctBuff = _.get(generalBuffs, BuffAccessor.AFFINITY_PCT);\r\n const affinityPct = _.clamp(baseAffinityPct + affinityPctBuff, -100, 100);\r\n\r\n const criticalAttackMult = _.get(generalBuffs, BuffAccessor.CRITICAL_ATTACK_MULT);\r\n const criticalElementMult = _.get(criticalElementMultMap, weaponType);\r\n const affinityAttackMult = calculateAffinityDamageMult(affinityPct, criticalAttackMult);\r\n const criticalElement = _.get(generalBuffs, BuffAccessor.CRITICAL_ELEMENT);\r\n const affinityElementMult = criticalElement ? calculateAffinityDamageMult(affinityPct, criticalElementMult) : 1;\r\n\r\n const hitzoneSeverMult = +_.get(build, BuildAccessor.HITZONE_SEVER_MULT, 1);\r\n const hitzoneBluntMult = +_.get(build, BuildAccessor.HITZONE_BLUNT_MULT, 1);\r\n const hitzoneProjectileMult = +_.get(build, BuildAccessor.HITZONE_PROJECTILE_MULT, 1);\r\n const hitzoneElementalMult = +_.get(build, BuildAccessor.HITZONE_ELEMENTAL_MULT, 1);\r\n\r\n const combos = _.map(_.get(combosMap, weaponType), combo => {\r\n const ignoreSharpness = Boolean(_.get(combo, ComboAccessor.IGNORE_SHARPNESS));\r\n const ignoreAffinity = Boolean(_.get(combo, ComboAccessor.IGNORE_AFFINITY));\r\n const damageType = _.toLower(_.get(combo, ComboAccessor.DAMAGE_TYPE));\r\n const motionValues = _.get(combo, ComboAccessor.MOTION_VALUES);\r\n\r\n const comboBuffResolver = getBuffResolver({ ...resolverData, combo });\r\n const [comboBuffs, comboBuffList] = _.flow(comboBuffResolver, buffAggregator)(unresolvedComboBuffs);\r\n\r\n let basePhysical = Math.round(trueAttack + _.get(comboBuffs, BuffAccessor.TRUE_ATTACK));\r\n let baseElemental = Math.round(trueElement + _.get(comboBuffs, BuffAccessor.TRUE_ELEMENT)) * hitzoneElementalMult;\r\n\r\n if (\r\n !_.isEqual(weaponType, WeaponType.LIGHT_BOWGUN)\r\n && !_.isEqual(weaponType, WeaponType.HEAVY_BOWGUN)\r\n && !_.isEqual(weaponType, WeaponType.BOW)\r\n && !ignoreSharpness\r\n ) {\r\n basePhysical *= sharpnessAttackMult;\r\n baseElemental *= sharpnessElementMult;\r\n }\r\n\r\n switch(damageType) {\r\n case DamageType.SEVER:\r\n basePhysical *= hitzoneSeverMult;\r\n break;\r\n case DamageType.BLUNT:\r\n basePhysical *= hitzoneBluntMult;\r\n break;\r\n case DamageType.PROJECTILE:\r\n basePhysical *= hitzoneProjectileMult;\r\n break;\r\n default:\r\n console.warn(`Damage type ${damageType} not recognized`);\r\n }\r\n\r\n baseElemental = Math.floor(baseElemental);\r\n\r\n const damageValues = _.map(motionValues, motionValue => {\r\n const mvBasePhysical = Math.floor(basePhysical * (motionValue / 100));\r\n const effectivePhysical = Math.floor(mvBasePhysical * (ignoreAffinity ? 1 : affinityAttackMult));\r\n const effectiveElemental = Math.floor(baseElemental * (ignoreAffinity ? 1 : affinityElementMult));\r\n\r\n return {\r\n basePhysical: mvBasePhysical,\r\n baseElemental,\r\n baseTotal: mvBasePhysical + baseElemental,\r\n effectivePhysical,\r\n effectiveElemental,\r\n effectiveTotal: effectivePhysical + effectiveElemental\r\n }\r\n });\r\n\r\n return {\r\n ...combo,\r\n damageValues,\r\n buffs: comboBuffs,\r\n buffList: comboBuffList\r\n };\r\n });\r\n\r\n return {\r\n ...resolverData,\r\n attack: Math.round(trueAttack * weaponBloat),\r\n element: Math.round(trueElement * 10),\r\n trueAttack: trueAttack,\r\n trueElement: trueElement,\r\n affinityPct,\r\n trueAttackBuff,\r\n trueElementBuff,\r\n trueElementBuffCap,\r\n affinityPctBuff,\r\n freeElement,\r\n criticalElement,\r\n criticalAttackMult,\r\n criticalElementMult,\r\n affinityAttackMult,\r\n affinityElementMult,\r\n sharpnessAttackMult,\r\n sharpnessElementMult,\r\n buffs: _.sortBy(generalBuffList, 'name'),\r\n combos: _.sortBy(combos, 'name')\r\n };\r\n}\r\n\r\nexport default calculateDamage;\r\n","import _ from 'lodash';\r\nimport axios from 'axios';\r\nimport React from 'react';\r\nimport { Error } from '@material-ui/icons';\r\nimport { Autocomplete } from '@material-ui/lab';\r\nimport { makeStyles, LinearProgress, Snackbar, Box, TextField, Typography } from '@material-ui/core';\r\nimport { Sharpness } from '../../calculator/sharpness';\r\n\r\nconst instance = axios.create({\r\n baseURL: 'https://mhw-db.com',\r\n timeout: 5000\r\n});\r\n\r\nlet SearchCancelToken = axios.CancelToken;\r\nlet searchSource = SearchCancelToken.source();\r\n\r\nconst searchWeapons = async name => {\r\n _.attempt(searchSource.cancel, 'Cancelled');\r\n if (name) {\r\n SearchCancelToken = axios.CancelToken;\r\n searchSource = SearchCancelToken.source();\r\n const config = {\r\n url: '/weapons',\r\n params: {\r\n p: {\r\n id: true,\r\n name: true\r\n },\r\n q: {\r\n name: {\r\n '$like': `%${name}%`\r\n }\r\n }\r\n },\r\n cancelToken: searchSource.token\r\n };\r\n return instance(config);\r\n }\r\n}\r\n\r\nconst getWeaponInfo = id => {\r\n if (id) {\r\n return instance({\r\n url: `/weapons/${id}`,\r\n params: {\r\n p: {\r\n id: true,\r\n name: true,\r\n type: true,\r\n attack: true,\r\n elements: true,\r\n durability: true,\r\n attributes: true\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst getOptionLabel = option => _.get(option, 'name', option);\r\n\r\nconst getSharpness = durability => {\r\n const maxDurability = _.last(durability);\r\n let sharpness;\r\n if (_.isPlainObject(maxDurability)) {\r\n if (Boolean(maxDurability.purple)) {\r\n sharpness = Sharpness.PURPLE;\r\n } else if (Boolean(maxDurability.white)) {\r\n sharpness = Sharpness.WHITE;\r\n } else if (Boolean(maxDurability.blue)) {\r\n sharpness = Sharpness.BLUE;\r\n } else if (Boolean(maxDurability.green)) {\r\n sharpness = Sharpness.GREEN;\r\n } else if (Boolean(maxDurability.yellow)) {\r\n sharpness = Sharpness.YELLOW;\r\n } else if (Boolean(maxDurability.orange)) {\r\n sharpness = Sharpness.ORANGE;\r\n } else if (Boolean(maxDurability.red)) {\r\n sharpness = Sharpness.RED;\r\n }\r\n }\r\n return sharpness;\r\n}\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n progress: {\r\n height: '2px',\r\n marginTop: '-2px',\r\n borderRadius: '4px'\r\n },\r\n autocomplete: {\r\n width: '100%',\r\n maxWidth: '300px'\r\n },\r\n snackbar: {\r\n fontSize: '14px',\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n snackbarIcon: {\r\n color: theme.palette.error.main,\r\n marginRight: theme.spacing(1)\r\n }\r\n}));\r\n\r\nexport const SearchBar = React.memo(props => {\r\n const classes = useStyles();\r\n const [searching, setSearching] = React.useState(false);\r\n const [importing, setImporting] = React.useState(false);\r\n const [searchResults, setSearchResults] = React.useState([]);\r\n const [snackbarOpen, setSnackbarOpen] = React.useState(false);\r\n const [snackbarMessage, setSnackbarMessage] = React.useState('');\r\n\r\n const previousImportId = React.useRef(0);\r\n const handleImport = React.useCallback(async (__, searchResult) => {\r\n const importId = +_.get(searchResult, 'id', 0);\r\n const name = _.get(searchResult, 'name', '?');\r\n if (!_.isEqual(importId, previousImportId.current)) {\r\n previousImportId.current = importId;\r\n try {\r\n setImporting(true);\r\n const response = await getWeaponInfo(importId);\r\n if (_.has(response, 'data')) {\r\n const weaponType = _.camelCase(_.get(response, ['data', 'type']));\r\n const attack = +_.get(response, ['data', 'attack', 'display'], 0);\r\n const element = +_.get(response, ['data', 'elements', 0, 'damage'], 0);\r\n const hiddenElement = _.get(response, ['data', 'elements', 0, 'hidden'], false);\r\n const affinityPct = +_.get(response, ['data', 'attributes', 'affinity'], 0);\r\n const sharpness = getSharpness(_.get(response, ['data', 'durability']));\r\n\r\n const build = {\r\n weaponType,\r\n attack,\r\n element,\r\n hiddenElement,\r\n affinityPct\r\n };\r\n\r\n if (!_.isNil(sharpness)) {\r\n _.set(build, 'sharpness', sharpness);\r\n }\r\n\r\n if (_.isFunction(props.onChange)) {\r\n _.attempt(props.onChange, build);\r\n }\r\n }\r\n } catch (err) {\r\n setSnackbarOpen(true);\r\n setSnackbarMessage(`Failed to get weapon info for ${name}`);\r\n } finally {\r\n setImporting(false);\r\n }\r\n }\r\n }, [props.onChange, setImporting, setSnackbarOpen, setSnackbarMessage]);\r\n\r\n const previousSearch = React.useRef('');\r\n const handleSearch = React.useCallback(async (__, search) => {\r\n if (!_.isEqual(_.lowerCase(search), previousSearch.current)) {\r\n previousSearch.current = _.lowerCase(search);\r\n try {\r\n setSearching(true);\r\n const response = await searchWeapons(search);\r\n setSearching(false);\r\n setSearchResults(_.get(response, 'data', []));\r\n } catch (err) {\r\n if (!axios.isCancel(err)) {\r\n setSnackbarOpen(true);\r\n setSnackbarMessage('Failed to get weapon suggestions');\r\n }\r\n }\r\n }\r\n }, [setSearching, setSearchResults, setSnackbarOpen, setSnackbarMessage]);\r\n\r\n return (\r\n \r\n (\r\n \r\n \r\n {(searching || importing) && (\r\n \r\n )}\r\n \r\n )}\r\n />\r\n \r\n \r\n {snackbarMessage}\r\n \r\n }\r\n onClose={() => setSnackbarOpen(false)}\r\n />\r\n \r\n );\r\n});\r\n\r\nexport default SearchBar;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { Grid, TextField } from '@material-ui/core';\r\nimport { BuildAccessor } from '../../calculator';\r\n\r\nexport const DefenseInput = React.memo(props => {\r\n const handleChange = React.useCallback((name, value) => {\r\n if (_.isFunction(props.onChange)) {\r\n _.attempt(props.onChange, {\r\n ...props.value,\r\n [name]: value\r\n });\r\n }\r\n }, [props.value, props.onChange]);\r\n\r\n return (\r\n \r\n \r\n handleChange(BuildAccessor.HITZONE_SEVER_MULT, e.target.value)}\r\n />\r\n \r\n \r\n handleChange(BuildAccessor.HITZONE_BLUNT_MULT, e.target.value)}\r\n />\r\n \r\n \r\n handleChange(BuildAccessor.HITZONE_PROJECTILE_MULT, e.target.value)}\r\n />\r\n \r\n \r\n handleChange(BuildAccessor.HITZONE_ELEMENTAL_MULT, e.target.value)}\r\n />\r\n \r\n \r\n );\r\n});\r\n\r\nexport default DefenseInput;\r\n","import _ from 'lodash';\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\r\nimport { makeStyles, InputAdornment, TextField, Tooltip, Checkbox, Divider } from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n divider: {\r\n height: theme.spacing(3),\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1)\r\n },\r\n checkbox: {\r\n padding: theme.spacing(0.5),\r\n marginRight: theme.spacing(1)\r\n },\r\n hidden: {\r\n opacity: 0.6\r\n }\r\n}));\r\n\r\nexport const ElementInput = React.memo(props => {\r\n const classes = useStyles();\r\n\r\n const { disabled, hidden, onHiddenChange, ...others } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n }\r\n checkedIcon={}\r\n className={classes.checkbox}\r\n />\r\n \r\n \r\n )\r\n }}\r\n className={clsx({\r\n [classes.hidden]: Boolean(props.hidden)\r\n })}\r\n />\r\n );\r\n});\r\n\r\nElementInput.defaultProps = {\r\n value: '',\r\n hidden: false\r\n};\r\n\r\nexport default ElementInput;\r\n","import _ from 'lodash';\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Box, Button } from '@material-ui/core';\r\nimport { WeaponType, iconMap } from '../../calculator';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n box: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n justifyContent: 'center'\r\n },\r\n buttonGroup: {\r\n marginBottom: theme.spacing(1)\r\n },\r\n button: {\r\n minWidth: '72px',\r\n minHeight: '72px',\r\n margin: theme.spacing(0.5)\r\n },\r\n selected: {\r\n color: `${theme.palette.common.black} !important`,\r\n backgroundColor: `${theme.palette.primary.main} !important`\r\n },\r\n icon: {\r\n height: '30px',\r\n width: '30px',\r\n minWidth: '30px',\r\n minHeight: '30px'\r\n }\r\n}));\r\n\r\nconst weaponTypeList = [\r\n WeaponType.GREAT_SWORD,\r\n WeaponType.DUAL_BLADES,\r\n WeaponType.LONG_SWORD,\r\n WeaponType.SWORD_AND_SHIELD,\r\n WeaponType.HAMMER,\r\n WeaponType.HUNTING_HORN,\r\n WeaponType.LANCE,\r\n WeaponType.GUNLANCE,\r\n WeaponType.SWITCH_AXE,\r\n WeaponType.CHARGE_BLADE,\r\n WeaponType.INSECT_GLAIVE,\r\n WeaponType.LIGHT_BOWGUN,\r\n WeaponType.HEAVY_BOWGUN,\r\n WeaponType.BOW\r\n];\r\n\r\nexport const WeaponSelect = React.memo(props => {\r\n const classes = useStyles();\r\n\r\n const handleChange = weaponType => {\r\n if (_.isFunction(props.onChange)) {\r\n props.onChange(weaponType);\r\n }\r\n }\r\n\r\n const buttons = _.map(weaponTypeList, weaponType => {\r\n const selected = _.isEqual(props.value, weaponType);\r\n const label = _.startCase(weaponType);\r\n const icon = _.get(iconMap, weaponType);\r\n\r\n return (\r\n handleChange(weaponType)}\r\n className={clsx(classes.button, {\r\n [classes.selected]: selected\r\n })}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n {buttons}\r\n \r\n );\r\n});\r\n\r\nexport default WeaponSelect;\r\n","import _ from 'lodash';\r\nimport clsx from 'clsx';\r\nimport React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Box, ButtonGroup, Button } from '@material-ui/core';\r\nimport CheckIcon from '@material-ui/icons/Check'\r\nimport { Sharpness } from '../../calculator';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n box: {\r\n overflowX: 'auto',\r\n [theme.breakpoints.down('xs')]: {\r\n overflowX: 'scroll',\r\n webkitOverflowScrolling: 'touch'\r\n }\r\n },\r\n buttonGroup: {\r\n marginTop: theme.spacing(1)\r\n },\r\n button: {\r\n padding: 0,\r\n color: theme.palette.common.black\r\n },\r\n red: {\r\n backgroundColor: '#f44336',\r\n '&:hover': {\r\n backgroundColor: '#f44336',\r\n }\r\n },\r\n redSelected: {\r\n color: theme.palette.common.black,\r\n backgroundColor: '#f44336'\r\n },\r\n orange: {\r\n backgroundColor: '#d9662c',\r\n '&:hover': {\r\n backgroundColor: '#d9662c',\r\n }\r\n },\r\n orangeSelected: {\r\n color: theme.palette.common.black,\r\n backgroundColor: '#d9662c'\r\n },\r\n yellow: {\r\n backgroundColor: '#d9d12c',\r\n '&:hover': {\r\n backgroundColor: '#d9d12c',\r\n }\r\n },\r\n yellowSelected: {\r\n color: theme.palette.common.black,\r\n backgroundColor: '#d9d12c'\r\n },\r\n green: {\r\n backgroundColor: '#70d92c',\r\n '&:hover': {\r\n backgroundColor: '#70d92c',\r\n }\r\n },\r\n greenSelected: {\r\n color: theme.palette.common.black,\r\n backgroundColor: '#70d92c'\r\n },\r\n blue: {\r\n backgroundColor: '#42a5f5',\r\n '&:hover': {\r\n backgroundColor: '#42a5f5',\r\n }\r\n },\r\n blueSelected: {\r\n color: theme.palette.common.black,\r\n backgroundColor: '#42a5f5'\r\n },\r\n white: {\r\n backgroundColor: '#eeeeee',\r\n '&:hover': {\r\n backgroundColor: '#eeeeee',\r\n }\r\n },\r\n whiteSelected: {\r\n color: theme.palette.common.black,\r\n backgroundColor: '#eeeeee'\r\n },\r\n purple: {\r\n backgroundColor: '#cc99ff',\r\n '&:hover': {\r\n backgroundColor: '#cc99ff',\r\n }\r\n },\r\n purpleSelected: {\r\n color: theme.palette.common.black,\r\n backgroundColor: '#cc99ff'\r\n }\r\n}));\r\n\r\nconst sharpnessList = [\r\n Sharpness.RED,\r\n Sharpness.ORANGE,\r\n Sharpness.YELLOW,\r\n Sharpness.GREEN,\r\n Sharpness.BLUE,\r\n Sharpness.WHITE,\r\n Sharpness.PURPLE\r\n];\r\n\r\nexport const SharpnessSelect = React.memo(props => {\r\n const classes = useStyles();\r\n\r\n const handleChange = sharpness => {\r\n if (_.isFunction(props.onChange)) {\r\n props.onChange(sharpness);\r\n }\r\n }\r\n\r\n const buttons = _.map(sharpnessList, sharpness => {\r\n const selected = _.isEqual(props.value, sharpness);\r\n return (\r\n handleChange(sharpness)}\r\n className={clsx(classes.button, classes[sharpness])}\r\n >\r\n {selected && }\r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n {buttons}\r\n \r\n \r\n );\r\n});\r\n\r\nexport default SharpnessSelect;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { Grid, TextField, InputAdornment } from '@material-ui/core';\r\nimport { BuildAccessor, WeaponType } from '../../calculator';\r\nimport ElementInput from './ElementInput';\r\nimport WeaponSelect from './WeaponSelect';\r\nimport SharpnessSelect from './SharpnessSelect';\r\n\r\nconst grid = {\r\n xs: 12,\r\n sm: 4,\r\n md: 12,\r\n lg: 6,\r\n xl: 4\r\n};\r\n\r\nexport const weaponTypeConfig = [\r\n WeaponType.GREAT_SWORD,\r\n WeaponType.DUAL_BLADES,\r\n WeaponType.LONG_SWORD,\r\n WeaponType.SWORD_AND_SHIELD,\r\n WeaponType.HAMMER,\r\n WeaponType.HUNTING_HORN,\r\n WeaponType.LANCE,\r\n WeaponType.GUNLANCE,\r\n WeaponType.SWITCH_AXE,\r\n WeaponType.CHARGE_BLADE,\r\n WeaponType.INSECT_GLAIVE,\r\n WeaponType.LIGHT_BOWGUN,\r\n WeaponType.HEAVY_BOWGUN,\r\n WeaponType.BOW\r\n];\r\n\r\nexport const WeaponInput = React.memo(props => {\r\n const weaponType = _.get(props.value, BuildAccessor.WEAPON_TYPE);\r\n const isBow = _.isEqual(weaponType, WeaponType.BOW);\r\n const isBowgun = _.isEqual(weaponType, WeaponType.LIGHT_BOWGUN) || _.isEqual(weaponType, WeaponType.HEAVY_BOWGUN);\r\n\r\n const handleChange = React.useCallback((name, value) => {\r\n if (_.isFunction(props.onChange)) {\r\n _.attempt(props.onChange, {\r\n ...props.value,\r\n [name]: value\r\n });\r\n }\r\n }, [props.value, props.onChange]);\r\n\r\n return (\r\n \r\n \r\n handleChange(BuildAccessor.WEAPON_TYPE, weaponType)}\r\n />\r\n \r\n \r\n handleChange(BuildAccessor.ATTACK, e.target.value)}\r\n />\r\n \r\n \r\n handleChange(BuildAccessor.AFFINITY_PCT, e.target.value)}\r\n InputProps={{\r\n endAdornment: (\r\n \r\n %\r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n \r\n {!isBow && !isBowgun && (\r\n \r\n handleChange(BuildAccessor.SHARPNESS, sharpness)}\r\n />\r\n \r\n )}\r\n \r\n );\r\n});\r\n\r\nexport default WeaponInput;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\n\r\nexport const createDefaultLabel = (name, index) => `${name} ${index + 1}`;\r\n\r\nexport const formatConfig = config => {\r\n const formatted = _.sortBy(_.map(_.cloneDeep(config), curr => {\r\n if (_.has(curr, 'levels')) {\r\n const levels = _.map(curr.levels, (level, index) => {\r\n return _.defaults(level, {\r\n name: createDefaultLabel(curr.name, index)\r\n }, _.omit(curr, 'levels'));\r\n });\r\n _.set(curr, 'levels', levels);\r\n }\r\n return curr;\r\n }), [curr => Boolean(_.get(curr, 'levels')), 'name']);\r\n\r\n const configMap = _.transform(formatted, (acc, curr) => {\r\n if (_.has(curr, 'levels')) {\r\n _.forEach(curr.levels, level => {\r\n acc.set(_.get(level, 'name'), level);\r\n });\r\n } else {\r\n acc.set(_.get(curr, 'name'), curr);\r\n }\r\n }, new Map());\r\n\r\n return [formatted, configMap];\r\n}\r\n\r\nexport const useConfig = config => {\r\n return React.useMemo(() => formatConfig(config), [config]);\r\n}\r\n\r\nexport default useConfig;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { useTheme } from '@material-ui/core/styles';\r\nimport { useMediaQuery, Grid, Select, FormControlLabel, Checkbox, MenuItem, FormControl, InputLabel } from '@material-ui/core';\r\nimport useConfig from './useConfig';\r\n\r\nexport * from './useConfig';\r\n\r\nexport const MultiInput = React.memo(props => {\r\n const theme = useTheme();\r\n const native = useMediaQuery(theme.breakpoints.down('xs'));\r\n const [config, configMap] = useConfig(props.config);\r\n\r\n const handleCheckbox = React.useCallback((event, checked) => {\r\n let update;\r\n const value = configMap.get(_.get(event, ['target', 'value']));\r\n\r\n if (checked) {\r\n update = _.concat(props.value, value);\r\n } else {\r\n update = _.differenceBy(props.value, [value], 'name');\r\n }\r\n _.attempt(props.onChange, update);\r\n }, [props.value, props.onChange, configMap]);\r\n\r\n const getSelectHandler = curr => event => {\r\n const levels = _.get(curr, 'levels');\r\n const name = _.get(event, ['target', 'value']);\r\n let update = _.differenceBy(props.value, levels, 'name');\r\n\r\n if (Boolean(name)) {\r\n const value = configMap.get(name);\r\n update = _.concat(update, value);\r\n }\r\n _.attempt(props.onChange, update);\r\n }\r\n\r\n const inputEls = _.map(config, (curr, index) => {\r\n let input;\r\n\r\n if (_.has(curr, 'levels')) {\r\n let value;\r\n\r\n const levels = _.map(curr.levels, level => {\r\n const name = _.get(level, 'name');\r\n\r\n if (_.isUndefined(value)) {\r\n const found = _.some(props.value, value => (\r\n _.isEqual(_.get(value, 'name'), name)\r\n ));\r\n\r\n if (found) {\r\n value = name;\r\n }\r\n }\r\n\r\n return native ? (\r\n \r\n ) : (\r\n \r\n {name}\r\n \r\n );\r\n });\r\n\r\n const name = _.get(curr, 'name');\r\n \r\n input = (\r\n \r\n \r\n {name}\r\n \r\n \r\n {native ? (\r\n \r\n );\r\n } else {\r\n const name = _.get(curr, 'name');\r\n const checked = _.some(props.value, value => (\r\n _.isEqual(_.get(value, 'name'), name)\r\n ));\r\n input = (\r\n \r\n }\r\n label={name}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n \r\n {input}\r\n \r\n ); \r\n });\r\n\r\n return (\r\n \r\n {inputEls}\r\n \r\n );\r\n});\r\n\r\nMultiInput.defaultProps = {\r\n grid: {\r\n xs: 12\r\n },\r\n value: []\r\n};\r\n\r\nexport default MultiInput;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { Card, CardHeader, CardContent, Switch, Divider } from '@material-ui/core';\r\nimport MultiInput, { formatConfig } from '../MultiInput';\r\n\r\nconst selectAll = config => {\r\n return _.map(formatConfig(config)[0], curr => {\r\n if (_.has(curr, 'levels')) {\r\n return _.last(curr.levels);\r\n } else {\r\n return curr;\r\n }\r\n });\r\n}\r\n\r\nexport const BuffsInput = React.memo(props => {\r\n const maxConfig = React.useMemo(() => selectAll(props.config), [props.config]);\r\n\r\n const checked = _.size(props.value) === _.size(props.config);\r\n\r\n const toggleBuffs = (__, checked) => {\r\n if (_.isFunction(props.onChange)) {\r\n props.onChange(checked ? maxConfig : []);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nBuffsInput.defaultProps = {\r\n title: 'Buffs',\r\n grid: {\r\n xs: 12\r\n }\r\n};\r\n\r\nexport default BuffsInput;\r\n","import { BuffAccessor } from \"../../calculator\";\r\n\r\n\r\nexport default [\r\n {\r\n name: 'Augment Attack',\r\n levels: [\r\n {\r\n name: 'Attack Increase x 1',\r\n [BuffAccessor.TRUE_ATTACK]: 5\r\n },\r\n {\r\n name: 'Attack Increase x 2',\r\n [BuffAccessor.TRUE_ATTACK]: 10\r\n },\r\n {\r\n name: 'Attack Increase x 3',\r\n [BuffAccessor.TRUE_ATTACK]: 15\r\n },\r\n {\r\n name: 'Attack Increase x 4',\r\n [BuffAccessor.TRUE_ATTACK]: 20\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Augment Affinity',\r\n levels: [\r\n {\r\n name: 'Affinity Increase x 1',\r\n [BuffAccessor.AFFINITY_PCT]: 10\r\n },\r\n {\r\n name: 'Affinity Increase x 2',\r\n [BuffAccessor.AFFINITY_PCT]: 15\r\n },\r\n {\r\n name: 'Affinity Increase x 3',\r\n [BuffAccessor.AFFINITY_PCT]: 20\r\n },\r\n {\r\n name: 'Affinity Increase x 4',\r\n [BuffAccessor.AFFINITY_PCT]: 25\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Augment Element',\r\n levels: [\r\n {\r\n name: 'Element Effect Up x 1',\r\n [BuffAccessor.TRUE_ELEMENT]: 3\r\n },\r\n {\r\n name: 'Element Effect Up x 2',\r\n [BuffAccessor.TRUE_ELEMENT]: 6\r\n },\r\n {\r\n name: 'Element Effect Up x 3',\r\n [BuffAccessor.TRUE_ELEMENT]: 9\r\n },\r\n {\r\n name: 'Element Effect Up x 4',\r\n [BuffAccessor.TRUE_ELEMENT]: 12\r\n }\r\n ]\r\n }\r\n];\r\n","import React from 'react';\r\nimport BuffsInput from '../BuffsInput';\r\nimport augments from './augments';\r\n\r\nexport const AugmentsInput = React.memo(props => {\r\n return (\r\n \r\n );\r\n});\r\n\r\nexport default AugmentsInput;\r\n","import { BuffAccessor, Sharpness } from '../../calculator';\r\n\r\nexport default [\r\n {\r\n name: 'Critical Draw',\r\n levels: [\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 30\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 60\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 100\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Non-elemental Boost',\r\n description: 'Powers up non-elemental weapons you have equipped.',\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n accessor: 'baseTrueElement',\r\n operator: '==',\r\n value: 0,\r\n return: 1.1\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Critical Element',\r\n description: 'Increases elemental damage (fire, water, thunder, ice, dragon) when landing critical hits.',\r\n [BuffAccessor.CRITICAL_ELEMENT]: true\r\n },\r\n {\r\n name: 'Affinity Sliding',\r\n description: 'Sliding increases your affinity for a short time.',\r\n [BuffAccessor.AFFINITY_PCT]: 30\r\n },\r\n {\r\n name: 'Bludgeoner',\r\n description: 'Raises attack as your weapon loses sharpness. Also boosts ranged weapon melee attacks and odds of stunning.',\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n accessor: 'build.sharpness',\r\n operator: '==',\r\n value: Sharpness.RED,\r\n return: 1.1578\r\n },\r\n {\r\n accessor: 'build.sharpness',\r\n operator: '==',\r\n value: Sharpness.ORANGE,\r\n return: 1.1578\r\n },\r\n {\r\n accessor: 'build.sharpness',\r\n operator: '==',\r\n value: Sharpness.YELLOW,\r\n return: 1.1315\r\n },\r\n {\r\n accessor: 'build.sharpness',\r\n operator: '==',\r\n value: Sharpness.GREEN,\r\n return: 1.0789\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Normal Shots',\r\n [BuffAccessor.COMBO_DEPENDENT]: true,\r\n levels: [\r\n {\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n operator: '||',\r\n group: [\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Charged Shot'\r\n },\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Normal'\r\n }\r\n ]\r\n }\r\n ],\r\n return: 1.1\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n operator: '||',\r\n group: [\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Charged Shot'\r\n },\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Normal'\r\n }\r\n ]\r\n }\r\n ],\r\n return: 1.2\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Spread/Power Shots',\r\n [BuffAccessor.COMBO_DEPENDENT]: true,\r\n levels: [\r\n {\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n operator: '||',\r\n group: [\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Power Shot'\r\n },\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Spread'\r\n }\r\n ]\r\n }\r\n ],\r\n return: 1.1\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n operator: '||',\r\n group: [\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Power Shot'\r\n },\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Spread'\r\n }\r\n ]\r\n }\r\n ],\r\n return: 1.15\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Piercing Shots',\r\n [BuffAccessor.COMBO_DEPENDENT]: true,\r\n levels: [\r\n {\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n operator: '||',\r\n group: [\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Dragon Piercer'\r\n },\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Pierce'\r\n }\r\n ]\r\n }\r\n ],\r\n return: 1.1\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n operator: '||',\r\n group: [\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Dragon Piercer'\r\n },\r\n {\r\n accessor: 'combo.name',\r\n operator: 'startsWith',\r\n value: 'Pierce'\r\n }\r\n ]\r\n }\r\n ],\r\n return: 1.2\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Attack Boost',\r\n description: 'Increases attack power. Also improves affinity at higher levels.',\r\n levels: [\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 3\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 6\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 9\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 12,\r\n [BuffAccessor.AFFINITY_PCT]: 5\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 15,\r\n [BuffAccessor.AFFINITY_PCT]: 5\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 18,\r\n [BuffAccessor.AFFINITY_PCT]: 5\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 21,\r\n [BuffAccessor.AFFINITY_PCT]: 5\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Critical Boost',\r\n description: 'Increases the damage of critical hits.',\r\n levels: [\r\n {\r\n [BuffAccessor.CRITICAL_ATTACK_MULT]: 1.3\r\n },\r\n {\r\n [BuffAccessor.CRITICAL_ATTACK_MULT]: 1.35\r\n },\r\n {\r\n [BuffAccessor.CRITICAL_ATTACK_MULT]: 1.4\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Critical Eye',\r\n description: 'Increases affinity.',\r\n levels: [\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 3\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 6\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 10\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 15\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 20\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 25\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 30\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Weakness Exploit',\r\n description: 'Increases the affinity of attacks that exploit a monster weak spot.',\r\n levels: [\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 15\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 30\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 50\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Heroics',\r\n description: 'Increases attack power and defense when health drops to 35% or lower.',\r\n levels: [\r\n {\r\n [BuffAccessor.ATTACK_MULT]: 1.05\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: 1.1\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: 1.15\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: 1.2\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: 1.3\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Agitator',\r\n description: 'Increases attack power and affinity when large monsters become enraged.',\r\n levels: [\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 4,\r\n [BuffAccessor.AFFINITY_PCT]: 3\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 8,\r\n [BuffAccessor.AFFINITY_PCT]: 6\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 12,\r\n [BuffAccessor.AFFINITY_PCT]: 9\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 16,\r\n [BuffAccessor.AFFINITY_PCT]: 12\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 20,\r\n [BuffAccessor.AFFINITY_PCT]: 15\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Element Boost',\r\n description: 'Increases element attack power. (Elemental attack power has a maximum limit.)',\r\n levels: [\r\n {\r\n [BuffAccessor.TRUE_ELEMENT]: 3\r\n },\r\n {\r\n [BuffAccessor.TRUE_ELEMENT]: 6\r\n },\r\n {\r\n [BuffAccessor.TRUE_ELEMENT]: 10\r\n },\r\n {\r\n [BuffAccessor.TRUE_ELEMENT]: 10,\r\n [BuffAccessor.ELEMENT_MULT]: 1.05\r\n },\r\n {\r\n [BuffAccessor.TRUE_ELEMENT]: 10,\r\n [BuffAccessor.ELEMENT_MULT]: 1.1\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Fortify',\r\n description: 'Increases your attack and defense every time you fall in battle. (This effect can stack twice.)',\r\n levels: [\r\n {\r\n [BuffAccessor.ATTACK_MULT]: 1.1\r\n },\r\n {\r\n [BuffAccessor.ATTACK_MULT]: 1.2\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Maximum Might',\r\n description: 'Increases affinity when stamina is full.',\r\n levels: [\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 10\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 20\r\n },\r\n {\r\n [BuffAccessor.AFFINITY_PCT]: 30\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Peak Performance',\r\n description: 'Increases attack when your health is full.',\r\n levels: [\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 5\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 10\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 20\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Resentment',\r\n description: 'Increases attack when you have recoverable damage (the red portion of your health gauge).',\r\n levels: [\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 5\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 10\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 15\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 20\r\n },\r\n {\r\n [BuffAccessor.TRUE_ATTACK]: 25\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Free Element',\r\n description: 'Draws out hidden element.',\r\n levels: [\r\n {\r\n [BuffAccessor.FREE_ELEMENT]: 33\r\n },\r\n {\r\n [BuffAccessor.FREE_ELEMENT]: 66\r\n },\r\n {\r\n [BuffAccessor.FREE_ELEMENT]: 100\r\n }\r\n ]\r\n }\r\n];\r\n","import React from 'react';\r\nimport BuffsInput from '../BuffsInput';\r\nimport skills from './skills';\r\n\r\nexport const ItemsInput = React.memo(props => {\r\n return (\r\n \r\n );\r\n});\r\n\r\nexport default ItemsInput;\r\n","import { BuffAccessor, WeaponType } from '../../calculator';\r\n\r\nexport default [\r\n {\r\n name: 'Powertalon',\r\n [BuffAccessor.TRUE_ATTACK]: 9\r\n },\r\n {\r\n name: 'Powercharm',\r\n [BuffAccessor.TRUE_ATTACK]: 6\r\n },\r\n {\r\n name: 'Demon Powder',\r\n [BuffAccessor.TRUE_ATTACK]: 10\r\n },\r\n {\r\n name: 'Palico Horn Attack Up',\r\n [BuffAccessor.ATTACK_MULT]: 1.15\r\n },\r\n {\r\n name: 'Demon Buffs',\r\n levels: [\r\n {\r\n name: 'Nitroshroom',\r\n [BuffAccessor.TRUE_ATTACK]: 5\r\n },\r\n {\r\n name: 'Demondrug',\r\n [BuffAccessor.TRUE_ATTACK]: 5\r\n },\r\n {\r\n name: 'Mega Demondrug',\r\n [BuffAccessor.TRUE_ATTACK]: 7\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Might Buffs',\r\n levels: [\r\n {\r\n name: 'Might Seed',\r\n [BuffAccessor.TRUE_ATTACK]: 10\r\n },\r\n {\r\n name: 'Might Pill',\r\n [BuffAccessor.TRUE_ATTACK]: 25\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Meal Attack Up',\r\n levels: [\r\n {\r\n name: 'Meal Attack Up S',\r\n [BuffAccessor.TRUE_ATTACK]: 5\r\n },\r\n {\r\n name: 'Meal Attack Up M',\r\n [BuffAccessor.TRUE_ATTACK]: 10\r\n },\r\n {\r\n name: 'Meal Attack Up L',\r\n [BuffAccessor.TRUE_ATTACK]: 15\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Hunting Horn Attack Up',\r\n levels: [\r\n {\r\n name: 'Hunting Horn Attack Up S',\r\n [BuffAccessor.ATTACK_MULT]: 1.1\r\n },\r\n {\r\n name: 'Hunting Horn Attack Up L',\r\n [BuffAccessor.ATTACK_MULT]: 1.15\r\n },\r\n {\r\n name: 'Hunting Horn Attack Up XL',\r\n [BuffAccessor.ATTACK_MULT]: 1.2\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Hunting Horn Affinity Up',\r\n levels: [\r\n {\r\n name: 'Hunting Horn Affinity Up S',\r\n [BuffAccessor.AFFINITY_PCT]: 15\r\n },\r\n {\r\n name: 'Hunting Horn Affinity Up L',\r\n [BuffAccessor.AFFINITY_PCT]: 20\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Hunting Horn Element Boost',\r\n levels: [\r\n {\r\n name: 'Hunting Horn Element Boost S',\r\n [BuffAccessor.ELEMENT_MULT]: 1.1\r\n },\r\n {\r\n name: 'Hunting Horn Element Boost L',\r\n [BuffAccessor.ELEMENT_MULT]: 1.15\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Arrow Coating',\r\n [BuffAccessor.COMBO_DEPENDENT]: true,\r\n levels: [\r\n {\r\n name: 'Close-Range Coating',\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n accessor: 'build.weaponType',\r\n operator: '==',\r\n value: WeaponType.BOW\r\n }\r\n ],\r\n return: 1.2\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Power Coating',\r\n [BuffAccessor.ATTACK_MULT]: [\r\n {\r\n operator: '&&',\r\n group: [\r\n {\r\n accessor: 'combo.damageType',\r\n operator: '==',\r\n value: 'projectile'\r\n },\r\n {\r\n accessor: 'build.weaponType',\r\n operator: '==',\r\n value: WeaponType.BOW\r\n }\r\n ],\r\n return: 1.3\r\n },\r\n {\r\n return: 1\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\n","import React from 'react';\r\nimport BuffsInput from '../BuffsInput';\r\nimport items from './items';\r\n\r\nexport const ItemsInput = React.memo(props => {\r\n return (\r\n \r\n );\r\n});\r\n\r\nexport default ItemsInput;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { TableContainer, Table, TableHead, TableBody, TableRow, TableCell } from '@material-ui/core';\r\n\r\nexport const StatTable = React.memo(props => {\r\n const baseTrueAttack = _.get(props, 'baseTrueAttack');\r\n const baseTrueElement = _.get(props, 'baseTrueElement');\r\n const baseAffinityPct = _.get(props, 'baseAffinityPct');\r\n\r\n const trueAttackBuff = _.get(props, 'trueAttackBuff');\r\n const trueElementBuff = _.get(props, 'trueElementBuff');\r\n const affinityPctBuff = _.get(props, 'affinityPctBuff');\r\n\r\n const attack = _.get(props, 'attack');\r\n const element = _.get(props, 'element');\r\n const trueAttack = _.get(props, 'trueAttack');\r\n const trueElement = _.get(props, 'trueElement');\r\n const affinityPct = _.get(props, 'affinityPct');\r\n const freeElement = _.get(props, 'freeElement');\r\n const criticalAttackMult = _.get(props, 'criticalAttackMult');\r\n const criticalElement = _.get(props, 'criticalElement') ? 'Yes' : '-';\r\n\r\n const buffs = _.get(props, 'buffs');\r\n\r\n const rows = _.map(buffs, buff => {\r\n const trueAttack = _.defaultTo(buff.trueAttack, '-');\r\n const trueElement = _.defaultTo(buff.trueElement, '-');\r\n const affinityPct = _.defaultTo(buff.affinityPct, '-');\r\n const freeElement = _.defaultTo(buff.freeElement, '-');\r\n const criticalAttackMult = _.defaultTo(buff.criticalAttackMult, '-');\r\n const criticalElement = buff.criticalElement ? 'Yes' : '-';\r\n\r\n return (\r\n \r\n {buff.name}\r\n {trueAttack}\r\n {affinityPct}\r\n {trueElement}\r\n {freeElement}\r\n {criticalAttackMult}\r\n {criticalElement}\r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n True Attack (Display)\r\n Affinity Percent\r\n True Element (Display)\r\n Free Element\r\n Critical Boost\r\n Critical Element\r\n \r\n \r\n Total\r\n {trueAttack} ({attack})\r\n {affinityPct}\r\n {trueElement} ({element})\r\n {freeElement}\r\n {criticalAttackMult}\r\n {criticalElement}\r\n \r\n \r\n Weapon\r\n {baseTrueAttack}\r\n {baseAffinityPct}\r\n {baseTrueElement}\r\n -\r\n -\r\n -\r\n \r\n \r\n Subtotal\r\n {trueAttackBuff}\r\n {affinityPctBuff}\r\n {trueElementBuff}\r\n {freeElement}\r\n {criticalAttackMult}\r\n {criticalElement}\r\n \r\n \r\n \r\n {rows}\r\n \r\n
\r\n
\r\n )\r\n});\r\n\r\nexport default StatTable;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { TableContainer, Table, TableHead, TableBody, TableRow, TableCell } from '@material-ui/core';\r\n\r\nexport const ComboTable = React.memo(props => {\r\n const rows = _.map(props.combos, combo => {\r\n const hitCount = _.size(combo.motionValues);\r\n const motionValueSum = _.reduce(combo.motionValues, _.add);\r\n const basePhysical = _.reduce(_.map(combo.damageValues, 'basePhysical'), _.add);\r\n const baseElemental = _.reduce(_.map(combo.damageValues, 'baseElemental'), _.add);\r\n const baseDamage = _.reduce(_.map(combo.damageValues, 'baseTotal'), _.add);\r\n const effectivePhysical = _.reduce(_.map(combo.damageValues, 'effectivePhysical'), _.add);\r\n const effectiveElemental = _.reduce(_.map(combo.damageValues, 'effectiveElemental'), _.add);\r\n const effectiveDamage = _.reduce(_.map(combo.damageValues, 'effectiveTotal'), _.add);\r\n\r\n return (\r\n \r\n \r\n {combo.name}\r\n \r\n \r\n {effectiveDamage} ({effectivePhysical}/{effectiveElemental})\r\n \r\n \r\n {baseDamage} ({basePhysical}/{baseElemental})\r\n \r\n \r\n {motionValueSum}\r\n \r\n \r\n {hitCount}\r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Effective Damage (Physical/Elemental)\r\n Base Damage (Physical/Elemental)\r\n Motion Value\r\n Hit Count\r\n \r\n \r\n \r\n {rows}\r\n \r\n
\r\n
\r\n )\r\n});\r\n\r\nexport default ComboTable;\r\n","import _ from 'lodash';\r\nimport qs from 'qs';\r\nimport React from 'react';\r\nimport { Refresh } from '@material-ui/icons';\r\nimport { makeStyles, Container, Grid, Card, CardHeader, CardContent, IconButton, Tooltip, Divider } from '@material-ui/core';\r\nimport { SubtitleContext } from '../../App';\r\nimport calculateDamage, { BuildAccessor, WeaponType, Sharpness } from './calculator';\r\nimport SearchBar from './components/SearchBar';\r\nimport DefenseInput from './components/DefenseInput';\r\nimport WeaponInput from './components/WeaponInput';\r\nimport AugmentsInput from './components/AugmentsInput';\r\nimport SkillsInput from './components/SkillsInput';\r\nimport ItemsInput from './components/ItemsInput';\r\nimport StatTable from './components/StatTable';\r\nimport ComboTable from './components/ComboTable';\r\n\r\nconst defaultBuild = {\r\n [BuildAccessor.WEAPON_TYPE]: WeaponType.GREAT_SWORD,\r\n [BuildAccessor.SHARPNESS]: Sharpness.BLUE,\r\n [BuildAccessor.HITZONE_SEVER_MULT]: 0.8,\r\n [BuildAccessor.HITZONE_BLUNT_MULT]: 0.8,\r\n [BuildAccessor.HITZONE_PROJECTILE_MULT]: 0.8,\r\n [BuildAccessor.HITZONE_ELEMENTAL_MULT]: 0.3\r\n};\r\n\r\nconst getInitialBuild = location => {\r\n const rawQuery = qs.parse(_.get(location, 'search'), {\r\n ignoreQueryPrefix: true\r\n });\r\n\r\n const query = _.transform(rawQuery, (acc, value, key) => {\r\n _.set(acc, key, value);\r\n }, {});\r\n\r\n let cached = {};\r\n try {\r\n const json = localStorage.getItem('build');\r\n if (_.isString(json)) {\r\n cached = JSON.parse(json);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n\r\n return {\r\n ...defaultBuild,\r\n ...cached,\r\n ...query\r\n };\r\n}\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n padding: theme.spacing(1)\r\n },\r\n marginTop: {\r\n marginTop: theme.spacing(1)\r\n },\r\n resetBtn: {\r\n padding: theme.spacing(1),\r\n marginLeft: theme.spacing(1)\r\n },\r\n fab: {\r\n position: 'fixed',\r\n bottom: theme.spacing(2),\r\n right: theme.spacing(2),\r\n color: theme.palette.background.paper,\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'none'\r\n }\r\n }\r\n}));\r\n\r\nexport const DamageCalculator = props => {\r\n const classes = useStyles();\r\n const setSubtitle = React.useContext(SubtitleContext);\r\n const [build, setBuild] = React.useState(getInitialBuild(props.location));\r\n\r\n const handleReset = React.useCallback(() => {\r\n localStorage.removeItem('build');\r\n setBuild(defaultBuild);\r\n }, [setBuild]);\r\n\r\n React.useEffect(() => {\r\n setSubtitle('Damage Calculator');\r\n }, [setSubtitle]);\r\n\r\n React.useEffect(() => {\r\n localStorage.setItem('build', JSON.stringify(build));\r\n }, [build]);\r\n\r\n // const scrollY = useWindowScroll(60);\r\n\r\n const results = React.useMemo(() => {\r\n const cleanedBuild = _.omit(build, ['augments', 'skills', 'items']);\r\n const buffs = _.concat(\r\n _.get(build, 'augments', []),\r\n _.get(build, 'skills', []),\r\n _.get(build, 'items', [])\r\n );\r\n return calculateDamage({ ...cleanedBuild, buffs });\r\n }, [build]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setBuild(build => ({ ...build, ...weapon }));\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n {\r\n setBuild(build => ({ ...build, ...weapon }));\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setBuild(build => ({ ...build, ...defenses }));\r\n }}\r\n />\r\n \r\n \r\n {\r\n setBuild(build => ({ ...build, augments }));\r\n }}\r\n className={classes.marginTop}\r\n />\r\n {\r\n setBuild(build => ({ ...build, skills }));\r\n }}\r\n className={classes.marginTop}\r\n />\r\n {\r\n setBuild(build => ({ ...build, items }));\r\n }}\r\n className={classes.marginTop}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* 100}>\r\n window.scrollTo({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n })}\r\n >\r\n \r\n \r\n */}\r\n \r\n );\r\n}\r\n\r\nexport default DamageCalculator;\r\n","import React, { memo } from 'react';\r\nimport { makeStyles, useTheme, useMediaQuery, AppBar, Toolbar, Box, IconButton, Typography, FormControlLabel, Switch } from '@material-ui/core';\r\nimport { Menu } from '@material-ui/icons';\r\nimport icon from '../../assets/favicon.png';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n appBar: {\r\n backgroundColor: theme.palette.background.paper\r\n },\r\n titleBox: {\r\n flexGrow: 1,\r\n marginLeft: theme.spacing(1)\r\n },\r\n icon: {\r\n width: 36,\r\n height: 36,\r\n cursor: 'pointer'\r\n },\r\n title: {\r\n fontSize: 17,\r\n color: theme.palette.text.primary\r\n },\r\n subtitle: {\r\n fontSize: 14,\r\n color: theme.palette.text.primary\r\n },\r\n menuButton: {\r\n marginRight: theme.spacing(1)\r\n },\r\n darkThemeLabel: {\r\n fontSize: 14,\r\n marginRight: theme.spacing(0.2),\r\n color: theme.palette.text.primary\r\n }\r\n}));\r\n\r\nexport const TopBar = memo(({ subtitle, onMenuClick, onHomeClick, onDarkThemeClick }) => {\r\n const theme = useTheme();\r\n const classes = useStyles();\r\n const mobile = useMediaQuery('(min-width:500px)');\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Monster Hunter: World\r\n \r\n {subtitle && (\r\n \r\n {subtitle}\r\n \r\n )}\r\n \r\n \r\n Dark Theme\r\n \r\n ) : null}\r\n control={\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n});\r\n\r\nexport default TopBar;\r\n","import clsx from 'clsx';\r\nimport React, { memo } from 'react';\r\nimport { makeStyles, Drawer } from '@material-ui/core';\r\n\r\nconst drawerWidth = 260;\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n drawer: {\r\n top: 57,\r\n flexShrink: 0,\r\n width: drawerWidth,\r\n border: 'none',\r\n whiteSpace: 'nowrap',\r\n boxShadow: theme.shadows[6],\r\n [`${theme.breakpoints.up('xs')} and (orientation: landscape)`]: { \r\n top: 49\r\n }, \r\n [theme.breakpoints.up('sm')]: { \r\n top: 65\r\n }\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen\r\n }),\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen\r\n }),\r\n width: 0,\r\n overflowX: 'hidden',\r\n [theme.breakpoints.up('lg')]: {\r\n width: theme.spacing(9) + 1\r\n }\r\n }\r\n}));\r\n\r\nexport const SideDrawer = memo(({ open, menuContent }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n {menuContent}\r\n \r\n );\r\n});\r\n\r\nexport default SideDrawer;\r\n","import React, { memo, Fragment } from 'react';\r\nimport { makeStyles, Box } from '@material-ui/core';\r\nimport TopBar from './TopBar';\r\nimport SideDrawer from './SideDrawer';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n marginTop: 48 + theme.spacing(1),\r\n [`${theme.breakpoints.up('xs')} and (orientation: landscape)`]: { \r\n marginTop: 48 + theme.spacing(1)\r\n }, \r\n [theme.breakpoints.up('sm')]: { \r\n marginTop: 56 + theme.spacing(1)\r\n },\r\n [theme.breakpoints.up('lg')]: {\r\n marginLeft: theme.spacing(9) + 1\r\n }\r\n }\r\n}));\r\n\r\nexport const Navigation = memo(({ children, menuOpen, menuContent, ...topBarProps }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n});\r\n\r\nexport default Navigation;\r\n","import _ from 'lodash';\r\nimport React, { createContext, useState, useEffect, useCallback } from 'react';\r\nimport { Home } from '@material-ui/icons';\r\nimport { ThemeProvider } from '@material-ui/core/styles';\r\nimport { CssBaseline, makeStyles, List, ListItem, ListItemIcon, ListItemText } from '@material-ui/core';\r\nimport { Switch as RouteSwitch, Route, Redirect } from 'react-router-dom';\r\nimport { lightTheme, darkTheme } from './themes';\r\nimport DamageCalculator from './components/DamageCalculator';\r\nimport Navigation from './components/Navigation';\r\n\r\nexport const SubtitleContext = createContext();\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n menuItem: {\r\n paddingLeft: theme.spacing(3),\r\n paddingRight: theme.spacing(3),\r\n [theme.breakpoints.down('sm')]: { \r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n }\r\n }\r\n}));\r\n\r\nexport const App = () => {\r\n const [theme, setTheme] = useState(localStorage.getItem('theme'));\r\n const [menuOpen, setMenuOpen] = useState(false);\r\n const [subtitle, setSubtitle] = useState('');\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n localStorage.setItem('theme', theme);\r\n }, [theme]);\r\n\r\n const toggleTheme = useCallback(() => {\r\n setTheme(theme => theme === 'dark' ? 'light' : 'dark');\r\n }, [setTheme]);\r\n\r\n const toggleMenu = useCallback(() => {\r\n setMenuOpen(menuOpen => !menuOpen);\r\n }, [setMenuOpen]);\r\n\r\n return (\r\n \r\n \r\n \r\n (\r\n history.push('/')}\r\n menuContent={\r\n \r\n history.push('/')}\r\n className={classes.menuItem}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n } />\r\n \r\n \r\n )} />\r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\r\n );\r\n });\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport './index.css';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\nregisterServiceWorker();\r\n","module.exports = __webpack_public_path__ + \"static/media/great-sword.6228d463.png\";","module.exports = __webpack_public_path__ + \"static/media/dual-blades.3c8f5471.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/sword-and-shield.b37d2cfd.png\";"],"sourceRoot":""}