swordfight-engine
Version:
A multiplayer sword fighting game engine with character management, round-based combat, and real-time multiplayer support
2,199 lines (2,195 loc) • 322 kB
JavaScript
/**
* swordfight-engine v1.6.21
* @license MIT
*/
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __glob = (map) => (path) => {
var fn = map[path];
if (fn) return fn();
throw new Error("Module not found in bundle: " + path);
};
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
// src/characters/index.json
var require_characters = __commonJS({
"src/characters/index.json"(exports, module) {
module.exports = {
characters: [
"goblin",
"fighter",
"monk",
"knight",
"lizardMan",
"skeleton",
"zombie",
"barbarian"
]
};
}
});
// src/characters/barbarian.json
var require_barbarian = __commonJS({
"src/characters/barbarian.json"(exports, module) {
module.exports = {
name: "Barbarian",
slug: "barbarian",
icon: "\u{1FA93}",
description: "Huge Barbarian with a two-handed axe",
difficulty: 5.7,
health: "12",
firstMove: "62",
weapon: "Two-handed Axe",
shield: null,
color: "#B22222",
moves: [
{
tag: "Down",
name: "Bash",
range: "close",
type: "strong",
id: "36",
mod: "3",
requiresWeapon: true
},
{
tag: "Down",
name: "Smash",
range: "close",
type: "strong",
id: "24",
mod: "2",
requiresWeapon: true
},
{
tag: "Side Swing",
name: "Strong",
range: "close",
type: "strong",
id: "28",
mod: "1",
requiresWeapon: true
},
{
tag: "Side Swing",
name: "High",
range: "close",
type: "high",
id: "10",
mod: "0",
requiresWeapon: true
},
{
tag: "Side Swing",
name: "Low",
range: "close",
type: "low",
id: "2",
mod: "0",
requiresWeapon: true
},
{
tag: "Thrust",
name: "High",
range: "close",
type: "high",
id: "32",
mod: "-2",
requiresWeapon: true
},
{
tag: "Thrust",
name: "Low",
range: "close",
type: "low",
id: "14",
mod: "-2",
requiresWeapon: true
},
{
tag: "Block & Attack",
name: "High",
range: "close",
type: "high",
id: "44",
mod: "-1",
requiresWeapon: true
},
{
tag: "Block & Attack",
name: "Swing",
range: "close",
type: "low",
id: "12",
mod: "-1",
requiresWeapon: true
},
{
tag: "Block & Attack",
name: "Thrust",
range: "close",
type: "high",
id: "22",
mod: "-1",
requiresWeapon: true
},
{
tag: "Special",
name: "Kick",
range: "close",
type: "low",
id: "34",
mod: "0",
requiresWeapon: false
},
{
tag: "Special",
name: "Wild Swing",
range: "close",
type: "risky",
id: "40",
mod: "3",
requiresWeapon: true
},
{
tag: "Special",
name: "Dislodge Weapon",
range: "close",
type: "low",
id: "30",
mod: "-4",
requiresWeapon: true
},
{
tag: "Special",
name: "Retrieve Weapon",
range: "close",
type: "defense",
id: "46",
mod: "-6",
requiresWeapon: false
},
{
tag: "Jump",
name: "Up",
range: "close",
type: "defense",
id: "18",
mod: "-6",
requiresWeapon: false
},
{
tag: "Jump",
name: "Dodge",
range: "close",
type: "risky",
id: "8",
mod: "-4",
requiresWeapon: false
},
{
tag: "Jump",
name: "Duck",
range: "close",
type: "defense",
id: "20",
mod: "-5",
requiresWeapon: false
},
{
tag: "Jump",
name: "Away",
range: "close",
type: "risky",
id: "16",
mod: "-4",
requiresWeapon: false
},
{
tag: "Extended Range",
name: "Charge",
range: "far",
type: "extended",
id: "50",
mod: "4",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Swing High",
range: "far",
type: "extended",
id: "64",
mod: "2",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Swing Low",
range: "far",
type: "extended",
id: "58",
mod: "2",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Thrust High",
range: "far",
type: "extended",
id: "54",
mod: "2",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Thrust Low",
range: "far",
type: "extended",
id: "60",
mod: "2",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Block & Close",
range: "far",
type: "extended-defense",
id: "56",
mod: "0",
requiresWeapon: false
},
{
tag: "Extended Range",
name: "Dodge",
range: "far",
type: "extended-defense",
id: "52",
mod: "-4",
requiresWeapon: false
},
{
tag: "Extended Range",
name: "Jump",
range: "far",
type: "extended-defense",
id: "62",
mod: "-4",
requiresWeapon: false
}
],
tables: [
{
id: "2",
outcomes: [
{
"2": "49",
"4": "00",
"6": "00",
"8": "19",
"10": "13",
"12": "31",
"14": "49",
"16": "57",
"18": "37",
"20": "19",
"22": "49",
"24": "13",
"26": "00",
"28": "13",
"30": "49",
"32": "13",
"34": "41",
"36": "13",
"38": "00",
"40": "49",
"42": "00",
"44": "63",
"46": "27",
"48": "13"
}
]
},
{
id: "4",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "19",
"14": "11",
"16": "57",
"18": "37",
"20": "19",
"22": "63",
"24": "15",
"26": "00",
"28": "3",
"30": "15",
"32": "9",
"34": "19",
"36": "15",
"38": "00",
"40": "5",
"42": "00",
"44": "63",
"46": "43",
"48": "00"
}
]
},
{
id: "6",
outcomes: [
{
"2": "19",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "53",
"14": "49",
"16": "19",
"18": "19",
"20": "29",
"22": "11",
"24": "15",
"26": "00",
"28": "45",
"30": "5",
"32": "45",
"34": "19",
"36": "19",
"38": "00",
"40": "19",
"42": "00",
"44": "45",
"46": "19",
"48": "00"
}
]
},
{
id: "8",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "63",
"14": "21",
"16": "57",
"18": "37",
"20": "29",
"22": "21",
"24": "15",
"26": "00",
"28": "3",
"30": "3",
"32": "9",
"34": "19",
"36": "15",
"38": "00",
"40": "5",
"42": "00",
"44": "63",
"46": "43",
"48": "00"
}
]
},
{
id: "10",
outcomes: [
{
"2": "31",
"4": "00",
"6": "00",
"8": "19",
"10": "45",
"12": "63",
"14": "7",
"16": "57",
"18": "13",
"20": "23",
"22": "7",
"24": "45",
"26": "00",
"28": "31",
"30": "3",
"32": "53",
"34": "25",
"36": "31",
"38": "00",
"40": "53",
"42": "00",
"44": "45",
"46": "43",
"48": "00"
}
]
},
{
id: "12",
outcomes: [
{
"2": "31",
"4": "00",
"6": "00",
"8": "19",
"10": "53",
"12": "63",
"14": "11",
"16": "57",
"18": "13",
"20": "29",
"22": "63",
"24": "45",
"26": "00",
"28": "31",
"30": "3",
"32": "31",
"34": "25",
"36": "31",
"38": "00",
"40": "53",
"42": "00",
"44": "63",
"46": "29",
"48": "00"
}
]
},
{
id: "14",
outcomes: [
{
"2": "49",
"4": "00",
"6": "00",
"8": "23",
"10": "13",
"12": "3",
"14": "13",
"16": "19",
"18": "37",
"20": "53",
"22": "11",
"24": "13",
"26": "00",
"28": "13",
"30": "5",
"32": "13",
"34": "41",
"36": "13",
"38": "00",
"40": "49",
"42": "00",
"44": "13",
"46": "53",
"48": "00"
}
]
},
{
id: "16",
outcomes: [
{
"2": "57",
"4": "00",
"6": "00",
"8": "61",
"10": "57",
"12": "57",
"14": "11",
"16": "57",
"18": "61",
"20": "61",
"22": "11",
"24": "19",
"26": "00",
"28": "21",
"30": "57",
"32": "9",
"34": "41",
"36": "41",
"38": "00",
"40": "21",
"42": "00",
"44": "57",
"46": "43",
"48": "00"
}
]
},
{
id: "18",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "63",
"14": "63",
"16": "57",
"18": "37",
"20": "29",
"22": "63",
"24": "15",
"26": "00",
"28": "5",
"30": "3",
"32": "9",
"34": "41",
"36": "15",
"38": "00",
"40": "21",
"42": "63",
"44": "63",
"46": "43",
"48": "00"
}
]
},
{
id: "20",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "21",
"12": "63",
"14": "11",
"16": "57",
"18": "37",
"20": "29",
"22": "63",
"24": "15",
"26": "00",
"28": "21",
"30": "3",
"32": "9",
"34": "25",
"36": "15",
"38": "00",
"40": "5",
"42": "00",
"44": "63",
"46": "43",
"48": "00"
}
]
},
{
id: "22",
outcomes: [
{
"2": "49",
"4": "00",
"6": "00",
"8": "23",
"10": "13",
"12": "31",
"14": "13",
"16": "19",
"18": "37",
"20": "53",
"22": "19",
"24": "15",
"26": "00",
"28": "3",
"30": "5",
"32": "31",
"34": "25",
"36": "13",
"38": "00",
"40": "49",
"42": "00",
"44": "31",
"46": "43",
"48": "00"
}
]
},
{
id: "24",
outcomes: [
{
"2": "53",
"4": "00",
"6": "00",
"8": "33",
"10": "45",
"12": "45",
"14": "11",
"16": "1",
"18": "53",
"20": "7",
"22": "11",
"24": "7",
"26": "00",
"28": "3",
"30": "3",
"32": "45",
"34": "53",
"36": "15",
"38": "00",
"40": "21",
"42": "00",
"44": "63",
"46": "41",
"48": "00"
}
]
},
{
id: "26",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "19",
"14": "11",
"16": "15",
"18": "19",
"20": "19",
"22": "63",
"24": "15",
"26": "00",
"28": "5",
"30": "3",
"32": "9",
"34": "25",
"36": "15",
"38": "00",
"40": "5",
"42": "00",
"44": "19",
"46": "43",
"48": "00"
}
]
},
{
id: "28",
outcomes: [
{
"2": "7",
"4": "00",
"6": "00",
"8": "19",
"10": "3",
"12": "53",
"14": "11",
"16": "23",
"18": "37",
"20": "23",
"22": "11",
"24": "53",
"26": "00",
"28": "19",
"30": "31",
"32": "9",
"34": "25",
"36": "31",
"38": "00",
"40": "41",
"42": "00",
"44": "63",
"46": "29",
"48": "00"
}
]
},
{
id: "30",
outcomes: [
{
"2": "49",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "63",
"14": "11",
"16": "57",
"18": "37",
"20": "29",
"22": "27",
"24": "15",
"26": "00",
"28": "3",
"30": "27",
"32": "27",
"34": "25",
"36": "15",
"38": "00",
"40": "5",
"42": "00",
"44": "63",
"46": "27",
"48": "00"
}
]
},
{
id: "32",
outcomes: [
{
"2": "53",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "45",
"14": "53",
"16": "19",
"18": "13",
"20": "29",
"22": "53",
"24": "45",
"26": "00",
"28": "53",
"30": "3",
"32": "31",
"34": "25",
"36": "53",
"38": "00",
"40": "31",
"42": "00",
"44": "45",
"46": "43",
"48": "00"
}
]
},
{
id: "34",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "63",
"14": "11",
"16": "1",
"18": "37",
"20": "29",
"22": "63",
"24": "15",
"26": "00",
"28": "3",
"30": "3",
"32": "17",
"34": "25",
"36": "41",
"38": "00",
"40": "41",
"42": "00",
"44": "1",
"46": "27",
"48": "00"
}
]
},
{
id: "36",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "63",
"14": "11",
"16": "1",
"18": "7",
"20": "7",
"22": "11",
"24": "15",
"26": "00",
"28": "7",
"30": "27",
"32": "9",
"34": "25",
"36": "15",
"38": "00",
"40": "7",
"42": "00",
"44": "7",
"46": "7",
"48": "00"
}
]
},
{
id: "38",
outcomes: [
{
"2": "31",
"4": "00",
"6": "00",
"8": "19",
"10": "45",
"12": "45",
"14": "63",
"16": "57",
"18": "13",
"20": "29",
"22": "9",
"24": "45",
"26": "00",
"28": "5",
"30": "5",
"32": "45",
"34": "25",
"36": "31",
"38": "00",
"40": "5",
"42": "00",
"44": "45",
"46": "43",
"48": "00"
}
]
},
{
id: "40",
outcomes: [
{
"2": "49",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "41",
"14": "49",
"16": "23",
"18": "23",
"20": "53",
"22": "13",
"24": "23",
"26": "00",
"28": "3",
"30": "5",
"32": "9",
"34": "25",
"36": "41",
"38": "00",
"40": "5",
"42": "00",
"44": "63",
"46": "43",
"48": "00"
}
]
},
{
id: "42",
outcomes: [
{
"2": "49",
"4": "00",
"6": "00",
"8": "33",
"10": "13",
"12": "49",
"14": "49",
"16": "57",
"18": "37",
"20": "31",
"22": "49",
"24": "13",
"26": "00",
"28": "13",
"30": "5",
"32": "9",
"34": "13",
"36": "13",
"38": "00",
"40": "49",
"42": "00",
"44": "63",
"46": "49",
"48": "49"
}
]
},
{
id: "44",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "45",
"12": "31",
"14": "19",
"16": "57",
"18": "7",
"20": "19",
"22": "31",
"24": "31",
"26": "00",
"28": "31",
"30": "19",
"32": "45",
"34": "19",
"36": "19",
"38": "00",
"40": "19",
"42": "00",
"44": "45",
"46": "27",
"48": "00"
}
]
},
{
id: "46",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "33",
"10": "3",
"12": "63",
"14": "11",
"16": "1",
"18": "37",
"20": "29",
"22": "11",
"24": "15",
"26": "00",
"28": "3",
"30": "15",
"32": "9",
"34": "25",
"36": "15",
"38": "00",
"40": "5",
"42": "00",
"44": "63",
"46": "43",
"48": "00"
}
]
},
{
id: "48",
outcomes: [
{
"2": "5",
"4": "00",
"6": "00",
"8": "19",
"10": "45",
"12": "45",
"14": "49",
"16": "57",
"18": "19",
"20": "29",
"22": "49",
"24": "19",
"26": "00",
"28": "31",
"30": "31",
"32": "9",
"34": "25",
"36": "31",
"38": "00",
"40": "19",
"42": "00",
"44": "45",
"46": "19",
"48": "00"
}
]
},
{
id: "50",
outcomes: [
{
"50": "45",
"52": "23",
"54": "9",
"56": "53",
"58": "41",
"60": "11",
"62": "19",
"64": "19"
}
]
},
{
id: "52",
outcomes: [
{
"50": "21",
"52": "61",
"54": "9",
"56": "57",
"58": "5",
"60": "11",
"62": "57",
"64": "51"
}
]
},
{
id: "54",
outcomes: [
{
"50": "53",
"52": "33",
"54": "45",
"56": "17",
"58": "35",
"60": "11",
"62": "35",
"64": "3"
}
]
},
{
id: "56",
outcomes: [
{
"50": "39",
"52": "61",
"54": "9",
"56": "45",
"58": "51",
"60": "55",
"62": "57",
"64": "3"
}
]
},
{
id: "58",
outcomes: [
{
"50": "39",
"52": "33",
"54": "55",
"56": "47",
"58": "5",
"60": "13",
"62": "57",
"64": "51"
}
]
},
{
id: "60",
outcomes: [
{
"50": "13",
"52": "33",
"54": "13",
"56": "57",
"58": "5",
"60": "11",
"62": "57",
"64": "47"
}
]
},
{
id: "62",
outcomes: [
{
"50": "39",
"52": "61",
"54": "55",
"56": "57",
"58": "51",
"60": "55",
"62": "57",
"64": "51"
}
]
},
{
id: "64",
outcomes: [
{
"50": "7",
"52": "59",
"54": "53",
"56": "17",
"58": "51",
"60": "55",
"62": "57",
"64": "3"
}
]
}
],
results: [
{
id: "1",
name: "Jumping away",
range: "close",
score: "",
restrict: [],
bonus: [
{
strong: "2",
high: "2",
low: "2",
risky: "2"
}
]
},
{
id: "3",
name: "Swinging high",
mod: "0",
range: "close",
score: "",
restrict: [
"Thrust",
"high"
]
},
{
id: "5",
name: "Swinging low",
mod: "0",
range: "close",
score: "",
restrict: [
"Thrust",
"low"
]
},
{
id: "7",
name: "Dazed",
mod: "0",
range: "close",
score: "6",
restrict: [],
allowOnly: [
"Jump"
]
},
{
id: "9",
name: "Thrusting high",
mod: "0",
range: "close",
score: "",
restrict: [
"Side Swing"
]
},
{
id: "11",
name: "Thrusting low",
mod: "0",
range: "close",
score: "",
restrict: [
"Side Swing",
"high"
]
},
{
id: "13",
name: "Leg wound",
mod: "0",
range: "close",
score: "5",
restrict: [
"strong",
"high"
]
},
{
id: "15",
name: "Swinging down",
mod: "0",
range: "close",
score: "",
restrict: [
"low"
]
},
{
id: "17",
name: "Kicked off balance",
mod: "0",
range: "close",
score: "0",
restrict: [
"defense",
"risky"
]
},
{
id: "19",
name: "Struck off balance",
mod: "0",
range: "close",
score: "0",
restrict: [
"defense",
"risky"
]
},
{
id: "21",
name: "Turned around",
mod: "0",
range: "close",
score: "0",
restrict: [
"strong",
"high",
"low",
"defense"
]
},
{
id: "23",
name: "Behind you!",
mod: "0",
range: "close",
score: "",
restrict: []
},
{
id: "25",
name: "Kicking",
mod: "0",
range: "close",
score: "",
restrict: [
"low",
"risky"
]
},
{
id: "27",
name: "Weapon Dislodged",
mod: "0",
range: "close",
score: "",
restrict: [],
weaponDislodged: true
},
{
id: "29",
name: "Ducking",
range: "close",
score: "",
restrict: [
"strong"
],
bonus: [
{
low: "2"
}
]
},
{
id: "31",
name: "Arm wound",
mod: "0",
range: "close",
score: "4",
restrict: [
"strong",
"high"
]
},
{
id: "33",
name: "Dodging",
range: "close",
score: "",
restrict: [],
bonus: [
{
"Down Swing": "1"
}
]
},
{
id: "35",
name: "Extended range body wound",
mod: "0",
range: "far",
score: "6",
restrict: [
"extended"
]
},
{
id: "37",
name: "Jumping up",
range: "close",
score: "",
restrict: [
"low"
]
},
{
id: "39",
name: "Charging",
mod: "0",
range: "close",
score: "",
restrict: [
"defense",
"risky"
]
},
{
id: "41",
name: "Knocked down",
mod: "0",
range: "close",
score: "1",
restrict: [],
allowOnly: [
"Jump"
]
},
{
id: "43",
name: "Retrieving Weapon",
mod: "0",
range: "close",
score: "",
restrict: [],
retrieveWeapon: true
},
{
id: "45",
name: "Parrying high",
mod: "0",
range: "close",
score: "",
restrict: []
},
{
id: "47",
name: "Extended range leg wound",
mod: "0",
range: "far",
score: "5",
restrict: [
"extended"
]
},
{
id: "49",
name: "Parrying low",
mod: "0",
range: "close",
score: "",
restrict: []
},
{
id: "51",
name: "Extended range swinging",
mod: "0",
range: "far",
score: "",
restrict: []
},
{
id: "53",
name: "Body wound",
mod: "0",
range: "close",
score: "6",
restrict: [
"defense",
"risky"
]
},
{
id: "55",
name: "Extended range thrusting",
mod: "0",
range: "far",
score: "",
restrict: []
},
{
id: "57",
name: "Extended range blocking",
mod: "0",
range: "far",
score: "",
restrict: []
},
{
id: "59",
name: "Extended range arm wound",
mod: "0",
range: "far",
score: "",
restrict: [
"extended"
]
},
{
id: "61",
name: "Extended range dodging",
mod: "0",
range: "close",
score: "",
restrict: []
},
{
id: "63",
name: "Block & strike",
mod: "0",
range: "far",
score: "",
restrict: [
"strong"
]
}
]
};
}
});
// src/characters/fighter.json
var require_fighter = __commonJS({
"src/characters/fighter.json"(exports, module) {
module.exports = {
name: "Fighter",
slug: "fighter",
icon: "\u2694\uFE0F",
description: "Human fighter with sword and shield",
difficulty: 4.1,
health: "12",
firstMove: "62",
weapon: "Broadsword",
shield: "Shield",
color: "#4682B4",
moves: [
{
tag: "Down Swing",
name: "Smash",
range: "close",
type: "strong",
id: "24",
mod: "3",
requiresWeapon: true
},
{
tag: "Side Swing",
name: "Strong",
range: "close",
type: "strong",
id: "28",
mod: "2",
requiresWeapon: true
},
{
tag: "Side Swing",
name: "High",
range: "close",
type: "high",
id: "10",
mod: "1",
requiresWeapon: true
},
{
tag: "Side Swing",
name: "Low",
range: "close",
type: "low",
id: "2",
mod: "1",
requiresWeapon: true
},
{
tag: "Thrust",
name: "High",
range: "close",
type: "high",
id: "32",
mod: "0",
requiresWeapon: true
},
{
tag: "Thrust",
name: "Low",
range: "close",
type: "low",
id: "14",
mod: "0",
requiresWeapon: true
},
{
tag: "Fake",
name: "High",
range: "close",
type: "high",
id: "42",
mod: "0",
requiresWeapon: true
},
{
tag: "Fake",
name: "Low",
range: "close",
type: "low",
id: "12",
mod: "0",
requiresWeapon: true
},
{
tag: "Fake",
name: "Side Swing",
range: "close",
type: "low",
id: "22",
mod: "-1",
requiresWeapon: true
},
{
tag: "Fake",
name: "Thrust",
range: "close",
type: "high",
id: "38",
mod: "0",
requiresWeapon: true
},
{
tag: "Protected Attack",
name: "Down Swing",
range: "close",
type: "strong",
id: "44",
mod: "2",
requiresWeapon: true,
requiresShield: true
},
{
tag: "Protected Attack",
name: "Side Swing",
range: "close",
type: "low",
id: "48",
mod: "0",
requiresWeapon: true,
requiresShield: true
},
{
tag: "Protected Attack",
name: "Thrust",
range: "close",
type: "high",
id: "6",
mod: "-1",
requiresWeapon: true,
requiresShield: true
},
{
tag: "Special",
name: "Kick",
range: "close",
type: "low",
id: "34",
mod: "0",
requiresWeapon: false
},
{
tag: "Special",
name: "Wild Swing",
range: "close",
type: "risky",
id: "40",
mod: "2",
requiresWeapon: true
},
{
tag: "Special",
name: "Dislodge Weapon",
range: "close",
type: "low",
id: "30",
mod: "-4",
requiresWeapon: true
},
{
tag: "Special",
name: "Retrieve Weapon",
range: "close",
type: "defense",
id: "46",
mod: "-6",
requiresWeapon: false
},
{
tag: "Shield Block",
name: "High",
range: "close",
type: "defense",
id: "26",
mod: "1",
requiresWeapon: false,
requiresShield: true
},
{
tag: "Shield Block",
name: "Low",
range: "close",
type: "defense",
id: "4",
mod: "1",
requiresWeapon: false,
requiresShield: true
},
{
tag: "Jump",
name: "Up",
range: "close",
type: "defense",
id: "18",
mod: "-6",
requiresWeapon: false
},
{
tag: "Jump",
name: "Dodge",
range: "close",
type: "risky",
id: "8",
mod: "-4",
requiresWeapon: false
},
{
tag: "Jump",
name: "Duck",
range: "close",
type: "defense",
id: "20",
mod: "-5",
requiresWeapon: false
},
{
tag: "Jump",
name: "Away",
range: "close",
type: "risky",
id: "16",
mod: "-4",
requiresWeapon: false
},
{
tag: "Extended Range",
name: "Charge",
range: "far",
type: "extended",
id: "50",
mod: "3",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Swing High",
range: "far",
type: "extended",
id: "64",
mod: "-6",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Swing Low",
range: "far",
type: "extended",
id: "58",
mod: "-6",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Thrust High",
range: "far",
type: "extended",
id: "54",
mod: "-5",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Thrust Low",
range: "far",
type: "extended",
id: "60",
mod: "-5",
requiresWeapon: true
},
{
tag: "Extended Range",
name: "Block & Close",
range: "far",
type: "extended-defense",
id: "56",
mod: "0",
requiresWeapon: false
},
{
tag: "Extended Range",
name: "Dodge",
range: "far",
type: "extended-defense",
id: "52",
mod: "-6",
requiresWeapon: false
},
{
tag: "Extended Range",
name: "Jump Back",
range: "far",
type: "extended-defense",
id: "62",
mod: "-6",
requiresWeapon: false
}
],
tables: [
{
id: "2",
outcomes: [
{
"2": "49",
"4": "63",
"6": "13",
"8": "19",
"10": "13",
"12": "13",
"14": "49",
"16": "57",
"18": "37",
"20": "19",
"22": "49",
"24": "13",
"26": "13",
"28": "13",
"30": "49",
"32": "13",
"34": "41",
"36": "13",
"38": "13",
"40": "49",
"42": "49",
"44": "15",
"46": "27",
"48": "13"
}
]
},
{
id: "4",
outcomes: [
{
"2": "5",
"4": "59",
"6": "59",
"8": "33",
"10": "3",
"12": "59",
"14": "11",
"16": "57",
"18": "37",
"20": "59",
"22": "11",
"24": "15",
"26": "17",
"28": "3",
"30": "15",
"32": "9",
"34": "59",
"36": "15",
"38": "3",
"40": "5",
"42": "59",
"44": "15",
"46": "43",
"48": "59"
}
]
},
{
id: "6",
outcomes: [
{
"2": "19",
"4": "63",
"6": "17",
"8": "33",
"10": "3",
"12": "3",
"14": "49",
"16": "19",
"18": "19",
"20": "29",
"22": "11",
"24": "15",
"26": "17",
"28": "45",
"30": "5",
"32": "45",
"34": "19",
"36": "19",
"38": "19",
"40": "19",
"42": "19",
"44": "45",
"46": "19",
"48": "45"
}
]
},
{
id: "8",
outcomes: [
{
"2": "5",
"4": "63",
"6": "9",
"8": "33",
"10": "3",
"12": "3",
"14": "21",
"16": "57",
"18": "37",
"20": "29",
"22": "21",
"24": "15",
"26": "17",
"28": "3",
"30": "3",
"32": "9",
"34": "19",
"36": "15",
"38": "3",
"40": "5",
"42": "5",
"44": "15",
"46": "43",
"48": "3"
}
]
},
{
id: "10",
outcomes: [
{
"2": "31",
"4": "53",
"6": "9",
"8": "19",
"10": "45",
"12": "3",
"14": "7",
"16": "57",
"18": "13",
"20": "23",
"22": "7",
"24": "45",
"26": "17",
"28": "31",
"30": "3",
"32": "53",
"34": "25",
"36": "31",
"38": "45",
"40": "53",
"42": "31",
"44": "45",
"46": "43",
"48": "45"
}
]
},
{
id: "12",
outcomes: [
{
"2": "31",
"4": "63",
"6": "9",
"8": "19",
"10": "53",
"12": "45",
"14": "11",
"16": "57",
"18": "13",
"20": "29",
"22": "11",
"24": "45",
"26": "17",
"28": "31",
"30": "3",
"32": "45",
"34": "25",
"36": "31",
"38": "45",
"40": "53",
"42": "49",
"44": "15",
"46": "29",
"48": "45"
}
]
},
{
id: "14",
outcomes: [
{
"2": "45",
"4": "63",
"6": "49",
"8": "23",
"10": "13",
"12": "3",
"14": "13",
"16": "19",
"18": "37",
"20": "53",
"22": "11",
"24": "13",
"26": "13",
"28": "13",
"30": "5",
"32": "13",
"34": "13",
"36": "13",
"38": "13",
"40": "49",
"42": "49",
"44": "13",
"46": "53",
"48": "49"
}
]
},
{
id: "16",
outcomes: [
{
"2": "57",
"4": "57",
"6": "9",
"8": "61",
"10": "57",
"12": "57",
"14": "11",
"16": "57",
"18": "61",
"20": "61",
"22": "11",
"24": "19",
"26": "57",
"28": "21",
"30": "57",
"32": "9",
"34": "41",
"36": "41",
"38": "57",
"40": "21",
"42": "57",
"44": "57",
"46": "43",
"48": "57"
}
]
},
{
id: "18",
outcomes: [
{
"2": "5",
"4": "63",
"6": "17",
"8": "33",
"10": "3",
"12": "3",
"14": "11",
"16": "57",
"18": "37",
"20": "29",
"22": "11",
"24": "15",
"26": "17",
"28": "3",
"30": "3",
"32": "9",
"34": "41",
"36": "15",
"38": "3",
"40": "21",
"42": "5",
"44": "15",
"46": "43",
"48": "3"
}
]
},
{
id: "20",
outcomes: [
{
"2": "5",
"4": "63",
"6": "9",
"8": "33",
"10": "21",
"12": "3",
"14": "11",
"16": "57",
"18": "37",
"20": "29",
"22": "11",
"24": "15",
"26": "17",
"28": "21",
"30": "3",
"32": "9",
"34": "25",
"36": "15",
"38": "3",
"40": "5",
"42": "5",
"44": "15",
"46": "43",
"48": "3"
}
]
},
{
id: "22",
outcomes: [
{
"2": "49",
"4": "63",
"6": "9",
"8": "23",
"10": "13",
"12": "13",
"14": "13",
"16": "19",
"18": "37",
"20": "53",
"22": "19",
"24": "15",
"26": "17",
"28": "3",
"30": "5",
"32": "31",
"34": "25",
"36": "13",
"38": "3",
"40": "49",
"42": "49",
"44": "13",
"46": "43",
"48": "49"
}
]
},
{
id: "24",
outcomes: [
{
"2": "53",
"4": "41",
"6": "17",
"8": "33",
"10": "45",
"12": "45",
"14": "11",
"16": "1",
"18": "53",
"20": "7",
"22": "11",
"24": "7",
"26": "17",
"28": "3",
"30": "3",
"32": "45",
"34": "53",
"36": "15",
"38": "45",
"40": "21",
"42": "5",
"44": "15",
"46": "41",
"48": "17"
}
]
},
{
id: "26",
outcomes: [
{
"2": "5",
"4": "63",
"6": "59",
"8": "33",
"10": "3",
"12": "59",
"14": "11",
"16": "15",
"18": "59",
"20": "29",
"22": "11",
"24": "15",
"26": "59",
"28": "3",
"30": "3",