├── .gitignore
├── server
└── server_v1.1.9.jar
├── document
└── document_v1.3.pdf
├── visualizer
├── index.html
├── style.css
└── displayBuilder.js
├── run.py
└── maps
├── 3_v1.1.2.map
├── 1_v1.1.2.map
├── 2_v1.1.2.map
├── final3.map
├── final2.map
├── map4.map
├── final1.map
├── map6.map
└── map7.map
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
--------------------------------------------------------------------------------
/server/server_v1.1.9.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SharifAIChallenge/AIC20-Game/HEAD/server/server_v1.1.9.jar
--------------------------------------------------------------------------------
/document/document_v1.3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SharifAIChallenge/AIC20-Game/HEAD/document/document_v1.3.pdf
--------------------------------------------------------------------------------
/visualizer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
Haste
20 |
Damage
21 |
Heal
22 |
Teleport
23 |
Duplicate
24 |
Poison
25 |
26 |
27 |
28 |
29 |
30 |
33 |
34 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/visualizer/style.css:
--------------------------------------------------------------------------------
1 | .positioned {
2 | position: relative;
3 | }
4 |
5 | table {
6 | position: absolute;
7 | top: 0;
8 | left: 0;
9 | }
10 |
11 | table {
12 | border-collapse: collapse;
13 | }
14 |
15 | table,
16 | td {
17 | padding: 0;
18 | border: 1px solid black;
19 | }
20 |
21 | td {
22 | position: relative;
23 | width: 40px;
24 | height: 40px;
25 | padding: 0;
26 | }
27 |
28 | .path-cell {
29 | opacity: 0.2;
30 | position: absolute;
31 | top: 0;
32 | left: 0;
33 | }
34 |
35 | .path-0 {
36 | background-color: #607D8B;
37 | }
38 |
39 | .path-1 {
40 | background-color: #8BC34A;
41 | }
42 |
43 | .path-2 {
44 | background-color: #795548;
45 | }
46 |
47 | .path-3 {
48 | background-color: #FF5722;
49 | }
50 |
51 | .path-4 {
52 | background-color: #009688;
53 | }
54 |
55 | .path-5 {
56 | background-color: #673AB7;
57 | }
58 |
59 | .path-6 {
60 | background-color: #E91E63;
61 | }
62 |
63 | td>div {
64 | width: 100%;
65 | height: 100%;
66 | }
67 |
68 | #main-table td>div>div {
69 | opacity: 0.7;
70 | box-sizing: border-box;
71 | }
72 |
73 | #main-table td>div {
74 | position: absolute;
75 | top: 0;
76 | left: 0;
77 | }
78 |
79 | #main-table td>div.king>div {
80 | width: 100%;
81 | height: 100%;
82 | }
83 |
84 | #main-table td>div.units {
85 | display: grid;
86 | grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
87 | grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
88 | }
89 |
90 | #main-table td>div>div {
91 | vertical-align: middle;
92 | text-align: center;
93 | user-select: none;
94 | }
95 |
96 | #main-table td .player-0 {
97 | background-color: #2196F3;
98 | }
99 |
100 | #main-table td .player-1 {
101 | background-color: #F44336;
102 | color: white;
103 | }
104 |
105 | #main-table td .player-2 {
106 | background-color: #4CAF50;
107 | }
108 |
109 | #main-table td .player-3 {
110 | background-color: #FFEB3B;
111 | }
112 |
113 | .spell {
114 | border-style: dashed;
115 | border-width: 2px;
116 | border-radius: 2px;
117 | }
118 |
119 | .spell-0 {
120 | border-color: #651FFF;
121 | }
122 |
123 | .spell-1 {
124 | border-color: #B2FF59;
125 | }
126 |
127 | .spell-2 {
128 | border-color: #795548;
129 | }
130 |
131 | .spell-3 {
132 | border-color: #64FFDA;
133 | }
134 |
135 | .spell-4 {
136 | border-color: #FFAB00;
137 | }
138 |
139 | .spell-5 {
140 | border-color: #FFFFFF;
141 | }
--------------------------------------------------------------------------------
/run.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 | import subprocess
4 | import subprocess
5 | import threading
6 | import time
7 |
8 | # initial data
9 | clients = []
10 | logs_number = [1, 3, 2, 4]
11 | n = len(sys.argv)
12 | n -= 1
13 |
14 | # initial clients list with correct order
15 | if n < 3:
16 | print('arguments not enough.')
17 | exit()
18 | elif n == 3:
19 | clients = [ sys.argv[3], sys.argv[3], sys.argv[3], sys.argv[3]]
20 | elif n == 4:
21 | clients = [ sys.argv[3], sys.argv[4], sys.argv[4], sys.argv[4]]
22 | elif n == 5:
23 | clients = [ sys.argv[3], sys.argv[5], sys.argv[4], sys.argv[5]]
24 | elif n == 6:
25 | clients = [ sys.argv[3], sys.argv[5], sys.argv[4], sys.argv[6]]
26 | else:
27 | print('too many arguments.')
28 | exit()
29 |
30 | # create clients' logs path
31 | base = 'Log'
32 | if not os.path.exists(base): os.mkdir(base)
33 | base += '/clients'
34 | if not os.path.exists(base): os.mkdir(base)
35 |
36 | # set map
37 | os.environ['AICMap'] = sys.argv[2]
38 |
39 | # define function to write output to file
40 | def write_to_file(log_des, output):
41 | with open(log_des, 'w+') as f:
42 | f.write(str(output) )
43 | f.flush()
44 |
45 | # functions for compiling and running different clients
46 | def server():
47 | subprocess.run(['java', '-jar', sys.argv[1]], check=True)
48 |
49 | def python(address, log_des):
50 | process = subprocess.run(['python3', os.path.join(address, 'controller.py')], check=True, stdout=subprocess.PIPE, universal_newlines=True)
51 | output = process.stdout
52 | write_to_file(log_des, output)
53 |
54 | def java(address, log_des):
55 | java_files = []
56 | for (dirpath, dirnames, filenames) in os.walk(address):
57 | p = [os.path.join(dirpath, f) for f in filenames if f[-5:] == '.java']
58 | java_files.extend(p)
59 | subprocess.run(['javac', '-classpath', os.path.join(address, 'src', 'gson-2.8.5.jar:')] + java_files, check=True, stdout=subprocess.PIPE, universal_newlines=True)
60 | process = subprocess.run(['java', '-classpath', os.path.join(address, 'src:' + address, 'src', 'gson-2.8.5.jar:'), os.path.join('Client', 'Main')], check=True, stdout=subprocess.PIPE, universal_newlines=True)
61 | output = process.stdout
62 | write_to_file(log_des, output)
63 |
64 |
65 | def cpp(address, log_des):
66 | build_dir = os.path.join(address, 'build')
67 | if not os.path.exists(build_dir): os.mkdir(build_dir)
68 | subprocess.run(['cmake', '-S', address, '-B', build_dir], check=True, stdout=subprocess.PIPE, universal_newlines=True)
69 | subprocess.run(['make', '-C', build_dir], check=True, stdout=subprocess.PIPE, universal_newlines=True)
70 | process = subprocess.run([os.path.join('.', build_dir, 'client', 'client')], check=True, stdout=subprocess.PIPE, universal_newlines=True)
71 | output = process.stdout
72 | write_to_file(log_des, output)
73 |
74 |
75 | def go(address, log_des):
76 | goadd = os.path.join('.', address, 'src', 'client')
77 | process = subprocess.run(['go', 'run', goadd], check=True, stdout=subprocess.PIPE, universal_newlines=True)
78 | output = process.stdout
79 | write_to_file(log_des, output)
80 |
81 | # determining given clients kind
82 | client_function = [None, None, None, None]
83 | for i, client in enumerate(clients):
84 | for (dirpath, dirnames, filenames) in os.walk(client):
85 | p = [f for f in filenames if f[-3:] == '.py']
86 | if len(p) != 0:
87 | client_function[i] = python
88 | break
89 | p = [f for f in filenames if f[-5:] == '.java']
90 | if len(p) != 0:
91 | client_function[i] = java
92 | break
93 | p = [f for f in filenames if f[-4:] == '.cpp']
94 | if len(p) != 0:
95 | client_function[i] = cpp
96 | break
97 | p = [f for f in filenames if f[-3:] == '.go']
98 | if len(p) != 0:
99 | client_function[i] = go
100 | break
101 | else:
102 | print('client not supported.')
103 | exit()
104 |
105 | # running clients
106 | for i in range(4):
107 | log_des = os.path.join(base, 'client_' + str(logs_number[i]) + '.log')
108 | threading.Thread(target=client_function[i], args=(clients[i], log_des)).start()
109 | time.sleep(0.2)
110 |
111 | # running server
112 | log_des = os.path.join(base, 'server.log')
113 | threading.Thread(target=server).start()
114 |
--------------------------------------------------------------------------------
/visualizer/displayBuilder.js:
--------------------------------------------------------------------------------
1 | let mainTable;
2 | let cellLocationLabel;
3 |
4 | window.onload = () => {
5 | mainTable = document.getElementById("main-table");
6 | cellLocationLabel = document.getElementById("cell-location")
7 | };
8 |
9 | let graphicLog;
10 |
11 | function loadLog(log) {
12 | graphicLog = log;
13 | let rowsCount = log.init.graphicMap.row;
14 | let colsCount = log.init.graphicMap.col;
15 |
16 | let pathsInCells = new Array(rowsCount);
17 | for (let i = 0; i < rowsCount; i++) {
18 | pathsInCells[i] = new Array(colsCount);
19 | }
20 |
21 | for (path of log.init.graphicMap.paths)
22 | for (cell of path.cells) {
23 | let inCell = pathsInCells[cell.row][cell.col];
24 | if (inCell == undefined) inCell = new Array();
25 | inCell.push(path.pathId);
26 | pathsInCells[cell.row][cell.col] = inCell;
27 | }
28 |
29 | const pathTable = document.getElementById("path-table");
30 |
31 | for (let i = 0; i < rowsCount; i++) {
32 | const row = document.createElement("tr");
33 | for (let j = 0; j < colsCount; j++) {
34 | const cell = document.createElement("td");
35 | if (pathsInCells[i][j]) {
36 | for (pathId of pathsInCells[i][j]) {
37 | const tile = document.createElement("div");
38 | tile.className = `path-cell path-${pathId}`;
39 | cell.appendChild(tile);
40 | }
41 | }
42 | row.appendChild(cell);
43 | }
44 | pathTable.appendChild(row);
45 | }
46 |
47 | mainTable.innerHTML = "";
48 | for (let i = 0; i < rowsCount; i++) {
49 | const row = document.createElement("tr");
50 | for (let j = 0; j < colsCount; j++) {
51 | const cell = document.createElement("td");
52 | cell.onmouseover = () => {
53 | cellLocationLabel.innerText = `(row: ${i}, col: ${j})`;
54 | }
55 | row.appendChild(cell);
56 | }
57 | mainTable.appendChild(row);
58 | }
59 | }
60 |
61 | function viewTurn(turnIndex) {
62 | let turn = graphicLog.turns[turnIndex];
63 |
64 | let rowsCount = graphicLog.init.graphicMap.row;
65 | let colsCount = graphicLog.init.graphicMap.col;
66 |
67 | let unitsInCells = new Array(rowsCount);
68 | for (let i = 0; i < rowsCount; i++) {
69 | unitsInCells[i] = new Array(colsCount);
70 | }
71 |
72 | const spellsOnUnits = {};
73 |
74 | for (let i = 0; i < turn.playerTurnEvents.length; i++) {
75 | const playerTurnEvent = turn.playerTurnEvents[i];
76 | const turnEvent = playerTurnEvent.turnEvent;
77 | if (turnEvent.isAlive) {
78 | const king = graphicLog.init.graphicMap.kings[i];
79 | for (let x = -1; x <= 1; x++)
80 | for (let y = -1; y <= 1; y++) {
81 | let inCell = unitsInCells[king.row + y][king.col + x];
82 | if (inCell == undefined) inCell = new Array([], [], [], [], []);
83 | inCell[4].push({ pId: playerTurnEvent.pId, hp: turnEvent.hp });
84 | unitsInCells[king.row + y][king.col + x] = inCell;
85 | }
86 | }
87 | for (const unit of turnEvent.units) {
88 | let inCell = unitsInCells[unit.row][unit.col];
89 | if (inCell == undefined) inCell = new Array([], [], [], [], []);
90 | inCell[playerTurnEvent.pId].push(unit);
91 | unitsInCells[unit.row][unit.col] = inCell;
92 | }
93 |
94 | for (const spell of turnEvent.mapSpells)
95 | for (const unitId of spell.unitIds) {
96 | if (spellsOnUnits[unitId] == undefined) {
97 | spellsOnUnits[unitId] = new Array();
98 | }
99 | spellsOnUnits[unitId].push(spell);
100 | }
101 | }
102 |
103 | const attacks = {}
104 | for (const attack of turn.turnAttacks) {
105 |
106 | const key = attack.attackerId.toString();
107 | if (!(key in attacks))
108 | attacks[key] = []
109 |
110 | attacks[key].push(attack.defenderId)
111 | }
112 |
113 | let row = mainTable.firstChild;
114 | for (let i = 0; i < rowsCount; i++) {
115 | let cell = row.firstChild;
116 | for (let j = 0; j < colsCount; j++) {
117 | cell.innerHTML = "";
118 | let inCell = unitsInCells[i][j];
119 | if (inCell != undefined) {
120 | if (inCell[4].length > 0) {
121 | const cellDiv = document.createElement("div");
122 | const innerCell = document.createElement("div");
123 | cellDiv.className = "king";
124 | const king = inCell[4][0];
125 | innerCell.innerText = king.pId;
126 | innerCell.title = JSON.stringify(king);
127 | innerCell.className = "player-" + king.pId;
128 | cellDiv.appendChild(innerCell);
129 | cell.appendChild(cellDiv);
130 | }
131 | if (inCell.some((value, index) => index < 4 && value.length > 0)) {
132 | const cellDiv = document.createElement("div");
133 | cellDiv.className = "units";
134 | for (let k = 0; k < 4; k++) {
135 | const innerCell = document.createElement("div");
136 | if (inCell[k].length > 0) {
137 | const allSpellsTypeIds = new Set();
138 | for (const unit of inCell[k]) {
139 | const spellsOnUnit = spellsOnUnits[unit.id];
140 | if (spellsOnUnit != undefined) {
141 | unit.spells = spellsOnUnit;
142 | for (const spell of spellsOnUnit)
143 | allSpellsTypeIds.add(spell.typeId);
144 | }
145 |
146 | if (unit.id.toString() in attacks)
147 | unit.attackTargets = attacks[unit.id.toString()]
148 | }
149 | for (const spellTypeId of allSpellsTypeIds)
150 | innerCell.classList.add("spell", `spell-${spellTypeId}`);
151 |
152 | innerCell.title = JSON.stringify(inCell[k], null, 2);
153 | innerCell.innerText = inCell[k].length;
154 | innerCell.classList.add("player-" + k);
155 | }
156 | cellDiv.appendChild(innerCell);
157 | }
158 | cell.appendChild(cellDiv);
159 | }
160 | }
161 | cell = cell.nextSibling;
162 | }
163 | row = row.nextSibling;
164 | }
165 | }
166 |
167 | let currentTurnIndex = -1;
168 | let currentTurn = undefined;
169 | function showNextTurn() {
170 | viewTurn(++currentTurnIndex);
171 | currentTurn = graphicLog.turns[currentTurnIndex];
172 | document.getElementById("turn-num").innerText = currentTurn.turnNum;
173 | }
174 |
175 | function showPreviousTurn() {
176 | viewTurn(--currentTurnIndex);
177 | currentTurn = graphicLog.turns[currentTurnIndex];
178 | document.getElementById("turn-num").innerText = currentTurn.turnNum;
179 | }
180 |
181 | function handleFiles(files) {
182 | const reader = new FileReader();
183 | reader.onload = function (e) {
184 | loadLog(JSON.parse(e.target.result));
185 | };
186 | reader.readAsText(files[0]);
187 | }
188 |
--------------------------------------------------------------------------------
/maps/3_v1.1.2.map:
--------------------------------------------------------------------------------
1 | {
2 | "gameConstants": {
3 | "maxAP": 10,
4 | "maxTurns": 100,
5 | "turnTimeout": 400,
6 | "pickTimeout": 400,
7 | "turnsToUpgrade": 23,
8 | "turnsToSpell": 10,
9 | "damageUpgradeAddition": 3,
10 | "rangeUpgradeAddition": 1,
11 | "deckSize": 9,
12 | "handSize": 5,
13 | "apAddition": 2
14 | },
15 | "map": {
16 | "rows": 20,
17 | "cols": 10,
18 | "kings": [
19 | {
20 | "playerId": 0,
21 | "center": {
22 | "row": 2,
23 | "col": 2
24 | },
25 | "hp": 90,
26 | "attack": 10,
27 | "range": 6
28 | },
29 | {
30 | "playerId": 1,
31 | "center": {
32 | "row": 17,
33 | "col": 7
34 | },
35 | "hp": 90,
36 | "attack": 10,
37 | "range": 6
38 | },
39 | {
40 | "playerId": 2,
41 | "center": {
42 | "row": 2,
43 | "col": 7
44 | },
45 | "hp": 90,
46 | "attack": 10,
47 | "range": 6
48 | },
49 | {
50 | "playerId": 3,
51 | "center": {
52 | "row": 17,
53 | "col": 2
54 | },
55 | "hp": 90,
56 | "attack": 10,
57 | "range": 6
58 | }
59 | ],
60 | "paths": [
61 | {
62 | "cells": [
63 | {
64 | "col":7,
65 | "row":2
66 | },
67 | {
68 | "col":7,
69 | "row":3
70 | },
71 | {
72 | "col":7,
73 | "row":4
74 | },
75 | {
76 | "col":7,
77 | "row":5
78 | },
79 | {
80 | "col":7,
81 | "row":6
82 | },
83 | {
84 | "col":7,
85 | "row":7
86 | },
87 | {
88 | "col":7,
89 | "row":8
90 | },
91 | {
92 | "col":7,
93 | "row":9
94 | },
95 | {
96 | "col":7,
97 | "row":10
98 | },
99 | {
100 | "col":7,
101 | "row":11
102 | },
103 | {
104 | "col":7,
105 | "row":12
106 | },
107 | {
108 | "col":7,
109 | "row":13
110 | },
111 | {
112 | "col":7,
113 | "row":14
114 | },
115 | {
116 | "col":7,
117 | "row":15
118 | },
119 | {
120 | "col":7,
121 | "row":16
122 | },
123 | {
124 | "col":7,
125 | "row":17
126 | }
127 | ],
128 | "id": 0
129 | },
130 | {
131 | "cells": [
132 | {
133 | "col":2,
134 | "row":2
135 | },
136 | {
137 | "col":2,
138 | "row":3
139 | },
140 | {
141 | "col":2,
142 | "row":4
143 | },
144 | {
145 | "col":2,
146 | "row":5
147 | },
148 | {
149 | "col":2,
150 | "row":6
151 | },
152 | {
153 | "col":2,
154 | "row":7
155 | },
156 | {
157 | "col":2,
158 | "row":8
159 | },
160 | {
161 | "col":2,
162 | "row":9
163 | },
164 | {
165 | "col":2,
166 | "row":10
167 | },
168 | {
169 | "col":2,
170 | "row":11
171 | },
172 | {
173 | "col":2,
174 | "row":12
175 | },
176 | {
177 | "col":2,
178 | "row":13
179 | },
180 | {
181 | "col":2,
182 | "row":14
183 | },
184 | {
185 | "col":2,
186 | "row":15
187 | },
188 | {
189 | "col":2,
190 | "row":16
191 | },
192 | {
193 | "col":2,
194 | "row":17
195 | }
196 | ],
197 | "id": 1
198 | },
199 | {
200 | "cells": [
201 | {
202 | "col":2,
203 | "row":2
204 | },
205 | {
206 | "col":2,
207 | "row":3
208 | },
209 | {
210 | "col":2,
211 | "row":4
212 | },
213 | {
214 | "col":2,
215 | "row":5
216 | },
217 | {
218 | "col":2,
219 | "row":6
220 | },
221 | {
222 | "col":3,
223 | "row":6
224 | },
225 | {
226 | "col":4,
227 | "row":6
228 | },
229 | {
230 | "col":5,
231 | "row":6
232 | },
233 | {
234 | "col":6,
235 | "row":6
236 | },
237 | {
238 | "col":7,
239 | "row":6
240 | },
241 | {
242 | "col":7,
243 | "row":5
244 | },
245 | {
246 | "col":7,
247 | "row":4
248 | },
249 | {
250 | "col":7,
251 | "row":3
252 | },
253 | {
254 | "col":7,
255 | "row":2
256 | }
257 | ],
258 | "id": 2
259 | },
260 | {
261 | "cells": [
262 | {
263 | "col":7,
264 | "row":17
265 | },
266 | {
267 | "col":7,
268 | "row":16
269 | },
270 | {
271 | "col":7,
272 | "row":15
273 | },
274 | {
275 | "col":7,
276 | "row":14
277 | },
278 | {
279 | "col":7,
280 | "row":13
281 | },
282 | {
283 | "col":6,
284 | "row":13
285 | },
286 | {
287 | "col":5,
288 | "row":13
289 | },
290 | {
291 | "col":4,
292 | "row":13
293 | },
294 | {
295 | "col":3,
296 | "row":13
297 | },
298 | {
299 | "col":2,
300 | "row":13
301 | },
302 | {
303 | "col":2,
304 | "row":14
305 | },
306 | {
307 | "col":2,
308 | "row":15
309 | },
310 | {
311 | "col":2,
312 | "row":16
313 | },
314 | {
315 | "col":2,
316 | "row":17
317 | }
318 | ],
319 | "id": 4
320 | }
321 | ]
322 | },
323 | "baseUnits": [
324 | {
325 | "typeId": 0,
326 | "maxHP": 15,
327 | "baseAttack": 15,
328 | "baseRange": 4,
329 | "target": "BOTH" ,
330 | "isFlying": false,
331 | "isMultiple": false,
332 | "ap": 4
333 | },
334 | {
335 | "typeId": 1,
336 | "maxHP": 30,
337 | "baseAttack": 5,
338 | "baseRange": 4,
339 | "target": "GROUND",
340 | "isFlying": false,
341 | "isMultiple": true,
342 | "ap": 3
343 | },
344 | {
345 | "typeId": 2,
346 | "maxHP": 20,
347 | "baseAttack": 10,
348 | "baseRange": 4,
349 | "target": "AIR",
350 | "isFlying": false,
351 | "isMultiple": true,
352 | "ap": 4
353 | },
354 | {
355 | "typeId": 3,
356 | "maxHP": 25,
357 | "baseAttack": 12,
358 | "baseRange": 1,
359 | "target": "GROUND",
360 | "isFlying": false,
361 | "isMultiple": false,
362 | "ap": 6
363 | },
364 | {
365 | "typeId": 4,
366 | "maxHP": 50,
367 | "baseAttack": 10,
368 | "baseRange": 1,
369 | "target": "GROUND",
370 | "isFlying": false,
371 | "isMultiple": true,
372 | "ap": 10
373 | },
374 | {
375 | "typeId": 5,
376 | "maxHP": 30,
377 | "baseAttack": 5,
378 | "baseRange": 1,
379 | "target": "AIR",
380 | "isFlying": true,
381 | "isMultiple": false,
382 | "ap": 3
383 | },
384 | {
385 | "typeId": 6,
386 | "maxHP": 15,
387 | "baseAttack": 5,
388 | "baseRange": 4,
389 | "target": "BOTH",
390 | "isFlying": true,
391 | "isMultiple": false,
392 | "ap": 2
393 | },
394 | {
395 | "typeId": 7,
396 | "maxHP": 30,
397 | "baseAttack": 8,
398 | "baseRange": 2,
399 | "target": "GROUND",
400 | "isFlying": true,
401 | "isMultiple": true,
402 | "ap": 5
403 | },
404 | {
405 | "typeId": 8,
406 | "maxHP": 20,
407 | "baseAttack": 15,
408 | "baseRange": 2,
409 | "target": "BOTH",
410 | "isFlying": true,
411 | "isMultiple": false,
412 | "ap": 6
413 | }
414 | ],
415 | "spells": [
416 | {
417 | "type": "HASTE",
418 | "typeId": 0,
419 | "priority": 3,
420 | "duration": 2,
421 | "range": 1,
422 | "power": 1,
423 | "target": "ALLIED"
424 | },
425 | {
426 | "type": "HP",
427 | "typeId": 1,
428 | "priority": 0,
429 | "duration": 1,
430 | "range": 1,
431 | "power": -4,
432 | "target": "ENEMY"
433 | },
434 | {
435 | "type": "HP",
436 | "typeId": 2,
437 | "priority": 1,
438 | "duration": 1,
439 | "range": 1,
440 | "power": 3,
441 | "target": "ALLIED"
442 | },
443 | {
444 | "type": "TELE",
445 | "typeId": 3,
446 | "priority": 2,
447 | "duration": 1,
448 | "range": null,
449 | "power": null,
450 | "target": "SELF"
451 | },
452 | {
453 | "type": "DUPLICATE",
454 | "typeId": 4,
455 | "priority": 4,
456 | "duration": 3,
457 | "range": 0,
458 | "power": 2,
459 | "target": "ALLIED"
460 | },
461 | {
462 | "type": "HP",
463 | "typeId": 5,
464 | "priority": 0,
465 | "duration": 3,
466 | "range": 1,
467 | "power": -2,
468 | "target": "ENEMY"
469 | }
470 | ]
471 | }
--------------------------------------------------------------------------------
/maps/1_v1.1.2.map:
--------------------------------------------------------------------------------
1 | {
2 | "gameConstants": {
3 | "maxAP": 10,
4 | "maxTurns": 100,
5 | "turnTimeout": 400,
6 | "pickTimeout": 400,
7 | "turnsToUpgrade": 23,
8 | "turnsToSpell": 10,
9 | "damageUpgradeAddition": 3,
10 | "rangeUpgradeAddition": 1,
11 | "deckSize": 9,
12 | "handSize": 5,
13 | "apAddition": 2
14 | },
15 | "map": {
16 | "rows": 20,
17 | "cols": 20,
18 | "kings": [
19 | {
20 | "playerId": 0,
21 | "center": {
22 | "row": 2,
23 | "col": 2
24 | },
25 | "hp": 90,
26 | "attack": 10,
27 | "range": 6
28 | },
29 | {
30 | "playerId": 1,
31 | "center": {
32 | "row": 17,
33 | "col": 17
34 | },
35 | "hp": 90,
36 | "attack": 10,
37 | "range": 6
38 | },
39 | {
40 | "playerId": 2,
41 | "center": {
42 | "row": 2,
43 | "col": 17
44 | },
45 | "hp": 90,
46 | "attack": 10,
47 | "range": 6
48 | },
49 | {
50 | "playerId": 3,
51 | "center": {
52 | "row": 17,
53 | "col": 2
54 | },
55 | "hp": 90,
56 | "attack": 10,
57 | "range": 6
58 | }
59 | ],
60 | "paths": [
61 | {
62 | "cells": [{"col":2,"row":2},{"col":3,"row":2},{"col":4,"row":2},{"col":5,"row":2},{"col":6,"row":2},{"col":7,"row":2},{"col":8,"row":2},{"col":9,"row":2},{"col":10,"row":2},{"col":11,"row":2},{"col":12,"row":2},{"col":13,"row":2},{"col":14,"row":2},{"col":15,"row":2},{"col":16,"row":2},{"col":17,"row":2}],
63 | "id": 0
64 | },
65 | {
66 | "cells": [{"col":2,"row":17},{"col":3,"row":17},{"col":4,"row":17},{"col":5,"row":17},{"col":6,"row":17},{"col":7,"row":17},{"col":8,"row":17},{"col":9,"row":17},{"col":10,"row":17},{"col":11,"row":17},{"col":12,"row":17},{"col":13,"row":17},{"col":14,"row":17},{"col":15,"row":17},{"col":16,"row":17},{"col":17,"row":17}],
67 | "id": 1
68 | },
69 | {
70 | "cells": [{"col":17,"row":2},{"col":17,"row":3},{"col":17,"row":4},{"col":17,"row":5},{"col":17,"row":6},{"col":17,"row":7},{"col":17,"row":8},{"col":17,"row":9},{"col":16,"row":9},{"col":15,"row":9},{"col":14,"row":9},{"col":13,"row":9},{"col":12,"row":9},{"col":11,"row":9},{"col":10,"row":9},{"col":9,"row":9},{"col":8,"row":9},{"col":7,"row":9},{"col":6,"row":9},{"col":5,"row":9},{"col":4,"row":9},{"col":3,"row":9},{"col":2,"row":9},{"col":2,"row":10},{"col":2,"row":11},{"col":2,"row":12},{"col":2,"row":13},{"col":2,"row":14},{"col":2,"row":15},{"col":2,"row":16},{"col":2,"row":17}],
71 | "id": 2
72 | },
73 | {
74 | "cells": [{
75 | "col":2,
76 | "row":2
77 | },
78 | {
79 | "col":2,
80 | "row":3
81 | },
82 | {
83 | "col":2,
84 | "row":4
85 | },
86 | {
87 | "col":2,
88 | "row":5
89 | },
90 | {
91 | "col":2,
92 | "row":6
93 | },
94 | {
95 | "col":2,
96 | "row":7
97 | },
98 | {
99 | "col":2,
100 | "row":8
101 | },
102 | {
103 | "col":2,
104 | "row":9
105 | },
106 | {
107 | "col":3,
108 | "row":9
109 | },
110 | {
111 | "col":4,
112 | "row":9
113 | },
114 | {
115 | "col":5,
116 | "row":9
117 | },
118 | {
119 | "col":6,
120 | "row":9
121 | },
122 | {
123 | "col":7,
124 | "row":9
125 | },
126 | {
127 | "col":8,
128 | "row":9
129 | },
130 | {
131 | "col":9,
132 | "row":9
133 | },
134 | {
135 | "col":10,
136 | "row":9
137 | },
138 | {
139 | "col":11,
140 | "row":9
141 | },
142 | {
143 | "col":12,
144 | "row":9
145 | },
146 | {
147 | "col":13,
148 | "row":9
149 | },
150 | {
151 | "col":14,
152 | "row":9
153 | },
154 | {
155 | "col":15,
156 | "row":9
157 | },
158 | {
159 | "col":16,
160 | "row":9
161 | },
162 | {
163 | "col":17,
164 | "row":9
165 | },
166 | {
167 | "col":17,
168 | "row":10
169 | },
170 | {
171 | "col":17,
172 | "row":11
173 | },
174 | {
175 | "col":17,
176 | "row":12
177 | },
178 | {
179 | "col":17,
180 | "row":13
181 | },
182 | {
183 | "col":17,
184 | "row":14
185 | },
186 | {
187 | "col":17,
188 | "row":15
189 | },
190 | {
191 | "col":17,
192 | "row":16
193 | },
194 | {
195 | "col":17,
196 | "row":17
197 | }
198 | ],
199 | "id": 3
200 | },
201 | {
202 | "cells": [
203 | {
204 | "col":17,
205 | "row":2
206 | },
207 | {
208 | "col":16,
209 | "row":2
210 | },
211 | {
212 | "col":15,
213 | "row":2
214 | },
215 | {
216 | "col":14,
217 | "row":2
218 | },
219 | {
220 | "col":13,
221 | "row":2
222 | },
223 | {
224 | "col":12,
225 | "row":2
226 | },
227 | {
228 | "col":11,
229 | "row":2
230 | },
231 | {
232 | "col":10,
233 | "row":2
234 | },
235 | {
236 | "col":10,
237 | "row":3
238 | },
239 | {
240 | "col":10,
241 | "row":4
242 | },
243 | {
244 | "col":10,
245 | "row":5
246 | },
247 | {
248 | "col":10,
249 | "row":6
250 | },
251 | {
252 | "col":10,
253 | "row":7
254 | },
255 | {
256 | "col":10,
257 | "row":8
258 | },
259 | {
260 | "col":10,
261 | "row":9
262 | },
263 | {
264 | "col":10,
265 | "row":10
266 | },
267 | {
268 | "col":10,
269 | "row":11
270 | },
271 | {
272 | "col":10,
273 | "row":12
274 | },
275 | {
276 | "col":10,
277 | "row":13
278 | },
279 | {
280 | "col":10,
281 | "row":14
282 | },
283 | {
284 | "col":10,
285 | "row":15
286 | },
287 | {
288 | "col":10,
289 | "row":16
290 | },
291 | {
292 | "col":10,
293 | "row":17
294 | },
295 | {
296 | "col":9,
297 | "row":17
298 | },
299 | {
300 | "col":8,
301 | "row":17
302 | },
303 | {
304 | "col":7,
305 | "row":17
306 | },
307 | {
308 | "col":6,
309 | "row":17
310 | },
311 | {
312 | "col":5,
313 | "row":17
314 | },
315 | {
316 | "col":4,
317 | "row":17
318 | },
319 | {
320 | "col":3,
321 | "row":17
322 | },
323 | {
324 | "col":2,
325 | "row":17
326 | }
327 | ],
328 | "id": 4
329 | }
330 | ]
331 | },
332 | "baseUnits": [
333 | {
334 | "typeId": 0,
335 | "maxHP": 15,
336 | "baseAttack": 15,
337 | "baseRange": 4,
338 | "target": "BOTH" ,
339 | "isFlying": false,
340 | "isMultiple": false,
341 | "ap": 4
342 | },
343 | {
344 | "typeId": 1,
345 | "maxHP": 30,
346 | "baseAttack": 5,
347 | "baseRange": 4,
348 | "target": "GROUND",
349 | "isFlying": false,
350 | "isMultiple": true,
351 | "ap": 3
352 | },
353 | {
354 | "typeId": 2,
355 | "maxHP": 20,
356 | "baseAttack": 10,
357 | "baseRange": 4,
358 | "target": "AIR",
359 | "isFlying": false,
360 | "isMultiple": true,
361 | "ap": 4
362 | },
363 | {
364 | "typeId": 3,
365 | "maxHP": 25,
366 | "baseAttack": 12,
367 | "baseRange": 1,
368 | "target": "GROUND",
369 | "isFlying": false,
370 | "isMultiple": false,
371 | "ap": 6
372 | },
373 | {
374 | "typeId": 4,
375 | "maxHP": 50,
376 | "baseAttack": 10,
377 | "baseRange": 1,
378 | "target": "GROUND",
379 | "isFlying": false,
380 | "isMultiple": true,
381 | "ap": 10
382 | },
383 | {
384 | "typeId": 5,
385 | "maxHP": 30,
386 | "baseAttack": 5,
387 | "baseRange": 1,
388 | "target": "AIR",
389 | "isFlying": true,
390 | "isMultiple": false,
391 | "ap": 3
392 | },
393 | {
394 | "typeId": 6,
395 | "maxHP": 15,
396 | "baseAttack": 5,
397 | "baseRange": 4,
398 | "target": "BOTH",
399 | "isFlying": true,
400 | "isMultiple": false,
401 | "ap": 2
402 | },
403 | {
404 | "typeId": 7,
405 | "maxHP": 30,
406 | "baseAttack": 8,
407 | "baseRange": 2,
408 | "target": "GROUND",
409 | "isFlying": true,
410 | "isMultiple": true,
411 | "ap": 5
412 | },
413 | {
414 | "typeId": 8,
415 | "maxHP": 20,
416 | "baseAttack": 15,
417 | "baseRange": 2,
418 | "target": "BOTH",
419 | "isFlying": true,
420 | "isMultiple": false,
421 | "ap": 6
422 | }
423 | ],
424 | "spells": [
425 | {
426 | "type": "HASTE",
427 | "typeId": 0,
428 | "priority": 3,
429 | "duration": 2,
430 | "range": 1,
431 | "power": 1,
432 | "target": "ALLIED"
433 | },
434 | {
435 | "type": "HP",
436 | "typeId": 1,
437 | "priority": 0,
438 | "duration": 1,
439 | "range": 1,
440 | "power": -4,
441 | "target": "ENEMY"
442 | },
443 | {
444 | "type": "HP",
445 | "typeId": 2,
446 | "priority": 1,
447 | "duration": 1,
448 | "range": 1,
449 | "power": 3,
450 | "target": "ALLIED"
451 | },
452 | {
453 | "type": "TELE",
454 | "typeId": 3,
455 | "priority": 2,
456 | "duration": 1,
457 | "range": null,
458 | "power": null,
459 | "target": "SELF"
460 | },
461 | {
462 | "type": "DUPLICATE",
463 | "typeId": 4,
464 | "priority": 4,
465 | "duration": 3,
466 | "range": 0,
467 | "power": 2,
468 | "target": "ALLIED"
469 | },
470 | {
471 | "type": "HP",
472 | "typeId": 5,
473 | "priority": 0,
474 | "duration": 3,
475 | "range": 1,
476 | "power": -2,
477 | "target": "ENEMY"
478 | }
479 | ]
480 | }
--------------------------------------------------------------------------------
/maps/2_v1.1.2.map:
--------------------------------------------------------------------------------
1 | {
2 | "gameConstants": {
3 | "maxAP": 10,
4 | "maxTurns": 100,
5 | "turnTimeout": 400,
6 | "pickTimeout": 400,
7 | "turnsToUpgrade": 23,
8 | "turnsToSpell": 10,
9 | "damageUpgradeAddition": 3,
10 | "rangeUpgradeAddition": 1,
11 | "deckSize": 9,
12 | "handSize": 5,
13 | "apAddition": 2
14 | },
15 | "map": {
16 | "rows": 40,
17 | "cols": 20,
18 | "kings": [
19 | {
20 | "playerId": 0,
21 | "center": {
22 | "row": 3,
23 | "col": 16
24 | },
25 | "hp": 90,
26 | "attack": 10,
27 | "range": 6
28 | },
29 | {
30 | "playerId": 1,
31 | "center": {
32 | "row": 36,
33 | "col": 3
34 | },
35 | "hp": 90,
36 | "attack": 10,
37 | "range": 6
38 | },
39 | {
40 | "playerId": 2,
41 | "center": {
42 | "row": 3,
43 | "col": 3
44 | },
45 | "hp": 90,
46 | "attack": 10,
47 | "range": 6
48 | },
49 | {
50 | "playerId": 3,
51 | "center": {
52 | "row": 36,
53 | "col": 16
54 | },
55 | "hp": 90,
56 | "attack": 10,
57 | "range": 6
58 | }
59 | ],
60 | "paths": [
61 | {
62 | "cells": [
63 | {
64 | "col":16,
65 | "row":3
66 | },
67 | {
68 | "col":16,
69 | "row":4
70 | },
71 | {
72 | "col":16,
73 | "row":5
74 | },
75 | {
76 | "col":15,
77 | "row":5
78 | },
79 | {
80 | "col":15,
81 | "row":6
82 | },
83 | {
84 | "col":15,
85 | "row":7
86 | },
87 | {
88 | "col":14,
89 | "row":7
90 | },
91 | {
92 | "col":14,
93 | "row":8
94 | },
95 | {
96 | "col":14,
97 | "row":9
98 | },
99 | {
100 | "col":13,
101 | "row":9
102 | },
103 | {
104 | "col":13,
105 | "row":10
106 | },
107 | {
108 | "col":13,
109 | "row":11
110 | },
111 | {
112 | "col":12,
113 | "row":11
114 | },
115 | {
116 | "col":12,
117 | "row":12
118 | },
119 | {
120 | "col":12,
121 | "row":13
122 | },
123 | {
124 | "col":11,
125 | "row":13
126 | },
127 | {
128 | "col":11,
129 | "row":14
130 | },
131 | {
132 | "col":11,
133 | "row":15
134 | },
135 | {
136 | "col":10,
137 | "row":15
138 | },
139 | {
140 | "col":10,
141 | "row":16
142 | },
143 | {
144 | "col":10,
145 | "row":17
146 | },
147 | {
148 | "col":9,
149 | "row":17
150 | },
151 | {
152 | "col":9,
153 | "row":18
154 | },
155 | {
156 | "col":9,
157 | "row":19
158 | },
159 | {
160 | "col":8,
161 | "row":19
162 | },
163 | {
164 | "col":8,
165 | "row":20
166 | },
167 | {
168 | "col":8,
169 | "row":21
170 | },
171 | {
172 | "col":7,
173 | "row":21
174 | },
175 | {
176 | "col":7,
177 | "row":22
178 | },
179 | {
180 | "col":7,
181 | "row":23
182 | },
183 | {
184 | "col":6,
185 | "row":23
186 | },
187 | {
188 | "col":6,
189 | "row":24
190 | },
191 | {
192 | "col":6,
193 | "row":25
194 | },
195 | {
196 | "col":5,
197 | "row":25
198 | },
199 | {
200 | "col":5,
201 | "row":26
202 | },
203 | {
204 | "col":5,
205 | "row":27
206 | },
207 | {
208 | "col":4,
209 | "row":27
210 | },
211 | {
212 | "col":4,
213 | "row":28
214 | },
215 | {
216 | "col":4,
217 | "row":29
218 | },
219 | {
220 | "col":3,
221 | "row":29
222 | },
223 | {
224 | "col":3,
225 | "row":30
226 | },
227 | {
228 | "col":3,
229 | "row":31
230 | },
231 | {
232 | "col":3,
233 | "row":32
234 | },
235 | {
236 | "col":3,
237 | "row":33
238 | },
239 | {
240 | "col":3,
241 | "row":34
242 | },
243 | {
244 | "col":3,
245 | "row":35
246 | },
247 | {
248 | "col":3,
249 | "row":36
250 | }
251 | ],
252 | "id": 0
253 | },
254 | {
255 | "cells": [
256 | {
257 | "col":16,
258 | "row":36
259 | },
260 | {
261 | "col":16,
262 | "row":35
263 | },
264 | {
265 | "col":16,
266 | "row":34
267 | },
268 | {
269 | "col":15,
270 | "row":34
271 | },
272 | {
273 | "col":15,
274 | "row":33
275 | },
276 | {
277 | "col":15,
278 | "row":32
279 | },
280 | {
281 | "col":14,
282 | "row":32
283 | },
284 | {
285 | "col":14,
286 | "row":31
287 | },
288 | {
289 | "col":14,
290 | "row":30
291 | },
292 | {
293 | "col":13,
294 | "row":30
295 | },
296 | {
297 | "col":13,
298 | "row":29
299 | },
300 | {
301 | "col":13,
302 | "row":28
303 | },
304 | {
305 | "col":12,
306 | "row":28
307 | },
308 | {
309 | "col":12,
310 | "row":27
311 | },
312 | {
313 | "col":12,
314 | "row":26
315 | },
316 | {
317 | "col":11,
318 | "row":26
319 | },
320 | {
321 | "col":11,
322 | "row":25
323 | },
324 | {
325 | "col":11,
326 | "row":24
327 | },
328 | {
329 | "col":10,
330 | "row":24
331 | },
332 | {
333 | "col":10,
334 | "row":23
335 | },
336 | {
337 | "col":10,
338 | "row":22
339 | },
340 | {
341 | "col":9,
342 | "row":22
343 | },
344 | {
345 | "col":9,
346 | "row":21
347 | },
348 | {
349 | "col":9,
350 | "row":20
351 | },
352 | {
353 | "col":8,
354 | "row":20
355 | },
356 | {
357 | "col":8,
358 | "row":19
359 | },
360 | {
361 | "col":8,
362 | "row":18
363 | },
364 | {
365 | "col":7,
366 | "row":18
367 | },
368 | {
369 | "col":7,
370 | "row":17
371 | },
372 | {
373 | "col":7,
374 | "row":16
375 | },
376 | {
377 | "col":6,
378 | "row":16
379 | },
380 | {
381 | "col":6,
382 | "row":15
383 | },
384 | {
385 | "col":6,
386 | "row":14
387 | },
388 | {
389 | "col":5,
390 | "row":14
391 | },
392 | {
393 | "col":5,
394 | "row":13
395 | },
396 | {
397 | "col":5,
398 | "row":12
399 | },
400 | {
401 | "col":4,
402 | "row":12
403 | },
404 | {
405 | "col":4,
406 | "row":11
407 | },
408 | {
409 | "col":4,
410 | "row":10
411 | },
412 | {
413 | "col":3,
414 | "row":10
415 | },
416 | {
417 | "col":3,
418 | "row":9
419 | },
420 | {
421 | "col":3,
422 | "row":8
423 | },
424 | {
425 | "col":3,
426 | "row":7
427 | },
428 | {
429 | "col":3,
430 | "row":6
431 | },
432 | {
433 | "col":3,
434 | "row":5
435 | },
436 | {
437 | "col":3,
438 | "row":4
439 | },
440 | {
441 | "col":3,
442 | "row":3
443 | }
444 | ],
445 | "id": 1
446 | },
447 | {
448 | "cells": [
449 | {
450 | "col":3,
451 | "row":3
452 | },
453 | {
454 | "col":4,
455 | "row":3
456 | },
457 | {
458 | "col":5,
459 | "row":3
460 | },
461 | {
462 | "col":6,
463 | "row":3
464 | },
465 | {
466 | "col":7,
467 | "row":3
468 | },
469 | {
470 | "col":8,
471 | "row":3
472 | },
473 | {
474 | "col":9,
475 | "row":3
476 | },
477 | {
478 | "col":10,
479 | "row":3
480 | },
481 | {
482 | "col":11,
483 | "row":3
484 | },
485 | {
486 | "col":12,
487 | "row":3
488 | },
489 | {
490 | "col":13,
491 | "row":3
492 | },
493 | {
494 | "col":14,
495 | "row":3
496 | },
497 | {
498 | "col":15,
499 | "row":3
500 | },
501 | {
502 | "col":16,
503 | "row":3
504 | }
505 | ],
506 | "id": 2
507 | },
508 | {
509 | "cells": [
510 | {
511 | "col":3,
512 | "row":36
513 | },
514 | {
515 | "col":4,
516 | "row":36
517 | },
518 | {
519 | "col":5,
520 | "row":36
521 | },
522 | {
523 | "col":6,
524 | "row":36
525 | },
526 | {
527 | "col":7,
528 | "row":36
529 | },
530 | {
531 | "col":8,
532 | "row":36
533 | },
534 | {
535 | "col":9,
536 | "row":36
537 | },
538 | {
539 | "col":10,
540 | "row":36
541 | },
542 | {
543 | "col":11,
544 | "row":36
545 | },
546 | {
547 | "col":12,
548 | "row":36
549 | },
550 | {
551 | "col":13,
552 | "row":36
553 | },
554 | {
555 | "col":14,
556 | "row":36
557 | },
558 | {
559 | "col":15,
560 | "row":36
561 | },
562 | {
563 | "col":16,
564 | "row":36
565 | }
566 | ],
567 | "id": 3
568 | }
569 | ]
570 | },
571 | "baseUnits": [
572 | {
573 | "typeId": 0,
574 | "maxHP": 15,
575 | "baseAttack": 15,
576 | "baseRange": 4,
577 | "target": "BOTH" ,
578 | "isFlying": false,
579 | "isMultiple": false,
580 | "ap": 4
581 | },
582 | {
583 | "typeId": 1,
584 | "maxHP": 30,
585 | "baseAttack": 5,
586 | "baseRange": 4,
587 | "target": "GROUND",
588 | "isFlying": false,
589 | "isMultiple": true,
590 | "ap": 3
591 | },
592 | {
593 | "typeId": 2,
594 | "maxHP": 20,
595 | "baseAttack": 10,
596 | "baseRange": 4,
597 | "target": "AIR",
598 | "isFlying": false,
599 | "isMultiple": true,
600 | "ap": 4
601 | },
602 | {
603 | "typeId": 3,
604 | "maxHP": 25,
605 | "baseAttack": 12,
606 | "baseRange": 1,
607 | "target": "GROUND",
608 | "isFlying": false,
609 | "isMultiple": false,
610 | "ap": 6
611 | },
612 | {
613 | "typeId": 4,
614 | "maxHP": 50,
615 | "baseAttack": 10,
616 | "baseRange": 1,
617 | "target": "GROUND",
618 | "isFlying": false,
619 | "isMultiple": true,
620 | "ap": 10
621 | },
622 | {
623 | "typeId": 5,
624 | "maxHP": 30,
625 | "baseAttack": 5,
626 | "baseRange": 1,
627 | "target": "AIR",
628 | "isFlying": true,
629 | "isMultiple": false,
630 | "ap": 3
631 | },
632 | {
633 | "typeId": 6,
634 | "maxHP": 15,
635 | "baseAttack": 5,
636 | "baseRange": 4,
637 | "target": "BOTH",
638 | "isFlying": true,
639 | "isMultiple": false,
640 | "ap": 2
641 | },
642 | {
643 | "typeId": 7,
644 | "maxHP": 30,
645 | "baseAttack": 8,
646 | "baseRange": 2,
647 | "target": "GROUND",
648 | "isFlying": true,
649 | "isMultiple": true,
650 | "ap": 5
651 | },
652 | {
653 | "typeId": 8,
654 | "maxHP": 20,
655 | "baseAttack": 15,
656 | "baseRange": 2,
657 | "target": "BOTH",
658 | "isFlying": true,
659 | "isMultiple": false,
660 | "ap": 6
661 | }
662 | ],
663 | "spells": [
664 | {
665 | "type": "HASTE",
666 | "typeId": 0,
667 | "priority": 3,
668 | "duration": 2,
669 | "range": 1,
670 | "power": 1,
671 | "target": "ALLIED"
672 | },
673 | {
674 | "type": "HP",
675 | "typeId": 1,
676 | "priority": 0,
677 | "duration": 1,
678 | "range": 1,
679 | "power": -4,
680 | "target": "ENEMY"
681 | },
682 | {
683 | "type": "HP",
684 | "typeId": 2,
685 | "priority": 1,
686 | "duration": 1,
687 | "range": 1,
688 | "power": 3,
689 | "target": "ALLIED"
690 | },
691 | {
692 | "type": "TELE",
693 | "typeId": 3,
694 | "priority": 2,
695 | "duration": 1,
696 | "range": null,
697 | "power": null,
698 | "target": "SELF"
699 | },
700 | {
701 | "type": "DUPLICATE",
702 | "typeId": 4,
703 | "priority": 4,
704 | "duration": 3,
705 | "range": 0,
706 | "power": 2,
707 | "target": "ALLIED"
708 | },
709 | {
710 | "type": "HP",
711 | "typeId": 5,
712 | "priority": 0,
713 | "duration": 3,
714 | "range": 1,
715 | "power": -2,
716 | "target": "ENEMY"
717 | }
718 | ]
719 | }
--------------------------------------------------------------------------------
/maps/final3.map:
--------------------------------------------------------------------------------
1 | {
2 | "map": {
3 | "rows": 20,
4 | "cols": 20,
5 | "kings": [
6 | {
7 | "playerId": 0,
8 | "center": {
9 | "row": 3,
10 | "col": 2
11 | },
12 | "hp": 90,
13 | "attack": 10,
14 | "range": 6
15 | },
16 | {
17 | "playerId": 1,
18 | "center": {
19 | "row": 14,
20 | "col": 15
21 | },
22 | "hp": 90,
23 | "attack": 10,
24 | "range": 6
25 | },
26 | {
27 | "playerId": 2,
28 | "center": {
29 | "row": 14,
30 | "col": 4
31 | },
32 | "hp": 90,
33 | "attack": 10,
34 | "range": 6
35 | },
36 | {
37 | "playerId": 3,
38 | "center": {
39 | "row": 3,
40 | "col": 17
41 | },
42 | "hp": 90,
43 | "attack": 10,
44 | "range": 6
45 | }
46 | ],
47 | "paths": [
48 | {
49 | "cells": [
50 | {
51 | "row": 3,
52 | "col": 2
53 | },
54 | {
55 | "row": 4,
56 | "col": 2
57 | },
58 | {
59 | "row": 5,
60 | "col": 2
61 | },
62 | {
63 | "row": 6,
64 | "col": 2
65 | },
66 | {
67 | "row": 7,
68 | "col": 2
69 | },
70 | {
71 | "row": 8,
72 | "col": 2
73 | },
74 | {
75 | "row": 9,
76 | "col": 2
77 | },
78 | {
79 | "row": 10,
80 | "col": 2
81 | },
82 | {
83 | "row": 11,
84 | "col": 2
85 | },
86 | {
87 | "row": 12,
88 | "col": 2
89 | },
90 | {
91 | "row": 13,
92 | "col": 2
93 | },
94 | {
95 | "row": 14,
96 | "col": 2
97 | },
98 | {
99 | "row": 14,
100 | "col": 3
101 | },
102 | {
103 | "row": 14,
104 | "col": 4
105 | }
106 | ],
107 | "id": 0
108 | },
109 | {
110 | "cells": [
111 | {
112 | "row": 3,
113 | "col": 17
114 | },
115 | {
116 | "row": 4,
117 | "col": 17
118 | },
119 | {
120 | "row": 5,
121 | "col": 17
122 | },
123 | {
124 | "row": 6,
125 | "col": 17
126 | },
127 | {
128 | "row": 7,
129 | "col": 17
130 | },
131 | {
132 | "row": 8,
133 | "col": 17
134 | },
135 | {
136 | "row": 9,
137 | "col": 17
138 | },
139 | {
140 | "row": 10,
141 | "col": 17
142 | },
143 | {
144 | "row": 11,
145 | "col": 17
146 | },
147 | {
148 | "row": 12,
149 | "col": 17
150 | },
151 | {
152 | "row": 13,
153 | "col": 17
154 | },
155 | {
156 | "row": 14,
157 | "col": 17
158 | },
159 | {
160 | "row": 14,
161 | "col": 16
162 | },
163 | {
164 | "row": 14,
165 | "col": 15
166 | }
167 | ],
168 | "id": 1
169 | },
170 | {
171 | "cells": [
172 | {
173 | "row": 3,
174 | "col": 2
175 | },
176 | {
177 | "row": 3,
178 | "col": 3
179 | },
180 | {
181 | "row": 3,
182 | "col": 4
183 | },
184 | {
185 | "row": 3,
186 | "col": 5
187 | },
188 | {
189 | "row": 3,
190 | "col": 6
191 | },
192 | {
193 | "row": 3,
194 | "col": 7
195 | },
196 | {
197 | "row": 3,
198 | "col": 8
199 | },
200 | {
201 | "row": 3,
202 | "col": 9
203 | },
204 | {
205 | "row": 3,
206 | "col": 10
207 | },
208 | {
209 | "row": 3,
210 | "col": 11
211 | },
212 | {
213 | "row": 3,
214 | "col": 12
215 | },
216 | {
217 | "row": 3,
218 | "col": 13
219 | },
220 | {
221 | "row": 3,
222 | "col": 14
223 | },
224 | {
225 | "row": 3,
226 | "col": 15
227 | },
228 | {
229 | "row": 3,
230 | "col": 16
231 | },
232 | {
233 | "row": 3,
234 | "col": 17
235 | }
236 | ],
237 | "id": 2
238 | },
239 | {
240 | "cells": [
241 | {
242 | "row": 14,
243 | "col": 4
244 | },
245 | {
246 | "row": 14,
247 | "col": 5
248 | },
249 | {
250 | "row": 14,
251 | "col": 6
252 | },
253 | {
254 | "row": 14,
255 | "col": 7
256 | },
257 | {
258 | "row": 13,
259 | "col": 7
260 | },
261 | {
262 | "row": 12,
263 | "col": 7
264 | },
265 | {
266 | "row": 11,
267 | "col": 7
268 | },
269 | {
270 | "row": 10,
271 | "col": 7
272 | },
273 | {
274 | "row": 9,
275 | "col": 7
276 | },
277 | {
278 | "row": 8,
279 | "col": 7
280 | },
281 | {
282 | "row": 7,
283 | "col": 7
284 | },
285 | {
286 | "row": 6,
287 | "col": 7
288 | },
289 | {
290 | "row": 5,
291 | "col": 7
292 | },
293 | {
294 | "row": 4,
295 | "col": 7
296 | },
297 | {
298 | "row": 3,
299 | "col": 7
300 | },
301 | {
302 | "row": 3,
303 | "col": 8
304 | },
305 | {
306 | "row": 3,
307 | "col": 9
308 | },
309 | {
310 | "row": 3,
311 | "col": 10
312 | },
313 | {
314 | "row": 3,
315 | "col": 11
316 | },
317 | {
318 | "row": 3,
319 | "col": 12
320 | },
321 | {
322 | "row": 3,
323 | "col": 13
324 | },
325 | {
326 | "row": 3,
327 | "col": 14
328 | },
329 | {
330 | "row": 3,
331 | "col": 15
332 | },
333 | {
334 | "row": 3,
335 | "col": 16
336 | },
337 | {
338 | "row": 3,
339 | "col": 17
340 | }
341 | ],
342 | "id": 3
343 | },
344 | {
345 | "cells": [
346 | {
347 | "row": 14,
348 | "col": 15
349 | },
350 | {
351 | "row": 14,
352 | "col": 14
353 | },
354 | {
355 | "row": 14,
356 | "col": 13
357 | },
358 | {
359 | "row": 14,
360 | "col": 12
361 | },
362 | {
363 | "row": 13,
364 | "col": 12
365 | },
366 | {
367 | "row": 12,
368 | "col": 12
369 | },
370 | {
371 | "row": 11,
372 | "col": 12
373 | },
374 | {
375 | "row": 10,
376 | "col": 12
377 | },
378 | {
379 | "row": 9,
380 | "col": 12
381 | },
382 | {
383 | "row": 8,
384 | "col": 12
385 | },
386 | {
387 | "row": 7,
388 | "col": 12
389 | },
390 | {
391 | "row": 6,
392 | "col": 12
393 | },
394 | {
395 | "row": 5,
396 | "col": 12
397 | },
398 | {
399 | "row": 4,
400 | "col": 12
401 | },
402 | {
403 | "row": 3,
404 | "col": 12
405 | },
406 | {
407 | "row": 3,
408 | "col": 11
409 | },
410 | {
411 | "row": 3,
412 | "col": 10
413 | },
414 | {
415 | "row": 3,
416 | "col": 9
417 | },
418 | {
419 | "row": 3,
420 | "col": 8
421 | },
422 | {
423 | "row": 3,
424 | "col": 7
425 | },
426 | {
427 | "row": 3,
428 | "col": 6
429 | },
430 | {
431 | "row": 3,
432 | "col": 5
433 | },
434 | {
435 | "row": 3,
436 | "col": 4
437 | },
438 | {
439 | "row": 3,
440 | "col": 3
441 | },
442 | {
443 | "row": 3,
444 | "col": 2
445 | }
446 | ],
447 | "id": 4
448 | },
449 | {
450 | "cells": [
451 | {
452 | "row": 14,
453 | "col": 15
454 | },
455 | {
456 | "row": 15,
457 | "col": 15
458 | },
459 | {
460 | "row": 16,
461 | "col": 15
462 | },
463 | {
464 | "row": 17,
465 | "col": 15
466 | },
467 | {
468 | "row": 18,
469 | "col": 15
470 | },
471 | {
472 | "row": 18,
473 | "col": 14
474 | },
475 | {
476 | "row": 18,
477 | "col": 13
478 | },
479 | {
480 | "row": 18,
481 | "col": 12
482 | },
483 | {
484 | "row": 18,
485 | "col": 11
486 | },
487 | {
488 | "row": 18,
489 | "col": 10
490 | },
491 | {
492 | "row": 18,
493 | "col": 9
494 | },
495 | {
496 | "row": 18,
497 | "col": 8
498 | },
499 | {
500 | "row": 18,
501 | "col": 7
502 | },
503 | {
504 | "row": 18,
505 | "col": 6
506 | },
507 | {
508 | "row": 18,
509 | "col": 5
510 | },
511 | {
512 | "row": 18,
513 | "col": 4
514 | },
515 | {
516 | "row": 17,
517 | "col": 4
518 | },
519 | {
520 | "row": 16,
521 | "col": 4
522 | },
523 | {
524 | "row": 15,
525 | "col": 4
526 | },
527 | {
528 | "row": 14,
529 | "col": 4
530 | }
531 | ],
532 | "id": 5
533 | }
534 | ]
535 | },
536 | "gameConstants": {
537 | "maxAP": 20,
538 | "maxTurns": 180,
539 | "turnTimeout": 800,
540 | "pickTimeout": 5000,
541 | "turnsToUpgrade": 23,
542 | "turnsToSpell": 10,
543 | "damageUpgradeAddition": 3,
544 | "rangeUpgradeAddition": 1,
545 | "deckSize": 9,
546 | "handSize": 5,
547 | "apAddition": 2
548 | },
549 | "baseUnits": [
550 | {
551 | "typeId": 0,
552 | "maxHP": 16,
553 | "baseAttack": 15,
554 | "baseRange": 3,
555 | "target": "BOTH",
556 | "isFlying": false,
557 | "isMultiple": false,
558 | "ap": 5
559 | },
560 | {
561 | "typeId": 1,
562 | "maxHP": 25,
563 | "baseAttack": 5,
564 | "baseRange": 4,
565 | "target": "GROUND",
566 | "isFlying": false,
567 | "isMultiple": true,
568 | "ap": 4
569 | },
570 | {
571 | "typeId": 2,
572 | "maxHP": 15,
573 | "baseAttack": 10,
574 | "baseRange": 3,
575 | "target": "AIR",
576 | "isFlying": false,
577 | "isMultiple": true,
578 | "ap": 4
579 | },
580 | {
581 | "typeId": 3,
582 | "maxHP": 25,
583 | "baseAttack": 15,
584 | "baseRange": 1,
585 | "target": "GROUND",
586 | "isFlying": false,
587 | "isMultiple": false,
588 | "ap": 5
589 | },
590 | {
591 | "typeId": 4,
592 | "maxHP": 55,
593 | "baseAttack": 10,
594 | "baseRange": 1,
595 | "target": "GROUND",
596 | "isFlying": false,
597 | "isMultiple": true,
598 | "ap": 6
599 | },
600 | {
601 | "typeId": 5,
602 | "maxHP": 27,
603 | "baseAttack": 5,
604 | "baseRange": 1,
605 | "target": "AIR",
606 | "isFlying": true,
607 | "isMultiple": false,
608 | "ap": 3
609 | },
610 | {
611 | "typeId": 6,
612 | "maxHP": 15,
613 | "baseAttack": 5,
614 | "baseRange": 4,
615 | "target": "BOTH",
616 | "isFlying": true,
617 | "isMultiple": false,
618 | "ap": 3
619 | },
620 | {
621 | "typeId": 7,
622 | "maxHP": 25,
623 | "baseAttack": 10,
624 | "baseRange": 2,
625 | "target": "GROUND",
626 | "isFlying": true,
627 | "isMultiple": true,
628 | "ap": 5
629 | },
630 | {
631 | "typeId": 8,
632 | "maxHP": 20,
633 | "baseAttack": 20,
634 | "baseRange": 2,
635 | "target": "BOTH",
636 | "isFlying": true,
637 | "isMultiple": false,
638 | "ap": 6
639 | }
640 | ],
641 | "spells": [
642 | {
643 | "type": "HASTE",
644 | "typeId": 0,
645 | "priority": 3,
646 | "duration": 2,
647 | "range": 1,
648 | "power": 1,
649 | "target": "ALLIED"
650 | },
651 | {
652 | "type": "HP",
653 | "typeId": 1,
654 | "priority": 0,
655 | "duration": 1,
656 | "range": 1,
657 | "power": -4,
658 | "target": "ENEMY"
659 | },
660 | {
661 | "type": "HP",
662 | "typeId": 2,
663 | "priority": 1,
664 | "duration": 1,
665 | "range": 1,
666 | "power": 3,
667 | "target": "ALLIED"
668 | },
669 | {
670 | "type": "TELE",
671 | "typeId": 3,
672 | "priority": 2,
673 | "duration": 1,
674 | "range": null,
675 | "power": null,
676 | "target": "SELF"
677 | },
678 | {
679 | "type": "DUPLICATE",
680 | "typeId": 4,
681 | "priority": 4,
682 | "duration": 3,
683 | "range": 0,
684 | "power": 2,
685 | "target": "ALLIED"
686 | },
687 | {
688 | "type": "HP",
689 | "typeId": 5,
690 | "priority": 0,
691 | "duration": 3,
692 | "range": 1,
693 | "power": -2,
694 | "target": "ENEMY"
695 | }
696 | ]
697 | }
698 |
--------------------------------------------------------------------------------
/maps/final2.map:
--------------------------------------------------------------------------------
1 | {
2 | "map": {
3 | "rows": 20,
4 | "cols": 20,
5 | "kings": [
6 | {
7 | "playerId": 0,
8 | "center": {
9 | "row": 2,
10 | "col": 9
11 | },
12 | "hp": 90,
13 | "attack": 10,
14 | "range": 6
15 | },
16 | {
17 | "playerId": 1,
18 | "center": {
19 | "row": 9,
20 | "col": 2
21 | },
22 | "hp": 90,
23 | "attack": 10,
24 | "range": 6
25 | },
26 | {
27 | "playerId": 2,
28 | "center": {
29 | "row": 17,
30 | "col": 9
31 | },
32 | "hp": 90,
33 | "attack": 10,
34 | "range": 6
35 | },
36 | {
37 | "playerId": 3,
38 | "center": {
39 | "row": 9,
40 | "col": 17
41 | },
42 | "hp": 90,
43 | "attack": 10,
44 | "range": 6
45 | }
46 | ],
47 | "paths": [
48 | {
49 | "cells": [
50 | {
51 | "row": 2,
52 | "col": 9
53 | },
54 | {
55 | "row": 3,
56 | "col": 9
57 | },
58 | {
59 | "row": 4,
60 | "col": 9
61 | },
62 | {
63 | "row": 5,
64 | "col": 9
65 | },
66 | {
67 | "row": 6,
68 | "col": 9
69 | },
70 | {
71 | "row": 7,
72 | "col": 9
73 | },
74 | {
75 | "row": 8,
76 | "col": 9
77 | },
78 | {
79 | "row": 9,
80 | "col": 9
81 | },
82 | {
83 | "row": 10,
84 | "col": 9
85 | },
86 | {
87 | "row": 11,
88 | "col": 9
89 | },
90 | {
91 | "row": 12,
92 | "col": 9
93 | },
94 | {
95 | "row": 13,
96 | "col": 9
97 | },
98 | {
99 | "row": 14,
100 | "col": 9
101 | },
102 | {
103 | "row": 15,
104 | "col": 9
105 | },
106 | {
107 | "row": 16,
108 | "col": 9
109 | },
110 | {
111 | "row": 17,
112 | "col": 9
113 | }
114 | ],
115 | "id": 0
116 | },
117 | {
118 | "cells": [
119 | {
120 | "row": 9,
121 | "col": 2
122 | },
123 | {
124 | "row": 9,
125 | "col": 3
126 | },
127 | {
128 | "row": 9,
129 | "col": 4
130 | },
131 | {
132 | "row": 9,
133 | "col": 5
134 | },
135 | {
136 | "row": 9,
137 | "col": 6
138 | },
139 | {
140 | "row": 9,
141 | "col": 7
142 | },
143 | {
144 | "row": 9,
145 | "col": 8
146 | },
147 | {
148 | "row": 9,
149 | "col": 9
150 | },
151 | {
152 | "row": 9,
153 | "col": 10
154 | },
155 | {
156 | "row": 9,
157 | "col": 11
158 | },
159 | {
160 | "row": 9,
161 | "col": 12
162 | },
163 | {
164 | "row": 9,
165 | "col": 13
166 | },
167 | {
168 | "row": 9,
169 | "col": 14
170 | },
171 | {
172 | "row": 9,
173 | "col": 15
174 | },
175 | {
176 | "row": 9,
177 | "col": 16
178 | },
179 | {
180 | "row": 9,
181 | "col": 17
182 | }
183 | ],
184 | "id": 1
185 | },
186 | {
187 | "cells": [
188 | {
189 | "row": 17,
190 | "col": 9
191 | },
192 | {
193 | "row": 17,
194 | "col": 10
195 | },
196 | {
197 | "row": 17,
198 | "col": 11
199 | },
200 | {
201 | "row": 17,
202 | "col": 12
203 | },
204 | {
205 | "row": 17,
206 | "col": 13
207 | },
208 | {
209 | "row": 17,
210 | "col": 14
211 | },
212 | {
213 | "row": 17,
214 | "col": 15
215 | },
216 | {
217 | "row": 17,
218 | "col": 16
219 | },
220 | {
221 | "row": 17,
222 | "col": 17
223 | },
224 | {
225 | "row": 16,
226 | "col": 17
227 | },
228 | {
229 | "row": 15,
230 | "col": 17
231 | },
232 | {
233 | "row": 14,
234 | "col": 17
235 | },
236 | {
237 | "row": 13,
238 | "col": 17
239 | },
240 | {
241 | "row": 12,
242 | "col": 17
243 | },
244 | {
245 | "row": 11,
246 | "col": 17
247 | },
248 | {
249 | "row": 10,
250 | "col": 17
251 | },
252 | {
253 | "row": 9,
254 | "col": 17
255 | }
256 | ],
257 | "id": 2
258 | },
259 | {
260 | "cells": [
261 | {
262 | "row": 2,
263 | "col": 9
264 | },
265 | {
266 | "row": 2,
267 | "col": 10
268 | },
269 | {
270 | "row": 2,
271 | "col": 11
272 | },
273 | {
274 | "row": 2,
275 | "col": 12
276 | },
277 | {
278 | "row": 2,
279 | "col": 13
280 | },
281 | {
282 | "row": 2,
283 | "col": 14
284 | },
285 | {
286 | "row": 2,
287 | "col": 15
288 | },
289 | {
290 | "row": 2,
291 | "col": 16
292 | },
293 | {
294 | "row": 2,
295 | "col": 17
296 | },
297 | {
298 | "row": 3,
299 | "col": 17
300 | },
301 | {
302 | "row": 4,
303 | "col": 17
304 | },
305 | {
306 | "row": 5,
307 | "col": 17
308 | },
309 | {
310 | "row": 6,
311 | "col": 17
312 | },
313 | {
314 | "row": 7,
315 | "col": 17
316 | },
317 | {
318 | "row": 8,
319 | "col": 17
320 | },
321 | {
322 | "row": 9,
323 | "col": 17
324 | }
325 | ],
326 | "id": 3
327 | },
328 | {
329 | "cells": [
330 | {
331 | "row": 17,
332 | "col": 9
333 | },
334 | {
335 | "row": 17,
336 | "col": 8
337 | },
338 | {
339 | "row": 17,
340 | "col": 7
341 | },
342 | {
343 | "row": 17,
344 | "col": 6
345 | },
346 | {
347 | "row": 17,
348 | "col": 5
349 | },
350 | {
351 | "row": 17,
352 | "col": 4
353 | },
354 | {
355 | "row": 17,
356 | "col": 3
357 | },
358 | {
359 | "row": 17,
360 | "col": 2
361 | },
362 | {
363 | "row": 16,
364 | "col": 2
365 | },
366 | {
367 | "row": 15,
368 | "col": 2
369 | },
370 | {
371 | "row": 14,
372 | "col": 2
373 | },
374 | {
375 | "row": 13,
376 | "col": 2
377 | },
378 | {
379 | "row": 12,
380 | "col": 2
381 | },
382 | {
383 | "row": 11,
384 | "col": 2
385 | },
386 | {
387 | "row": 10,
388 | "col": 2
389 | },
390 | {
391 | "row": 9,
392 | "col": 2
393 | }
394 | ],
395 | "id": 4
396 | },
397 | {
398 | "cells": [
399 | {
400 | "row": 2,
401 | "col": 9
402 | },
403 | {
404 | "row": 2,
405 | "col": 8
406 | },
407 | {
408 | "row": 2,
409 | "col": 7
410 | },
411 | {
412 | "row": 2,
413 | "col": 6
414 | },
415 | {
416 | "row": 2,
417 | "col": 5
418 | },
419 | {
420 | "row": 2,
421 | "col": 4
422 | },
423 | {
424 | "row": 2,
425 | "col": 3
426 | },
427 | {
428 | "row": 2,
429 | "col": 2
430 | },
431 | {
432 | "row": 3,
433 | "col": 2
434 | },
435 | {
436 | "row": 4,
437 | "col": 2
438 | },
439 | {
440 | "row": 5,
441 | "col": 2
442 | },
443 | {
444 | "row": 6,
445 | "col": 2
446 | },
447 | {
448 | "row": 7,
449 | "col": 2
450 | },
451 | {
452 | "row": 8,
453 | "col": 2
454 | },
455 | {
456 | "row": 9,
457 | "col": 2
458 | }
459 | ],
460 | "id": 5
461 | },
462 | {
463 | "cells": [
464 | {
465 | "row": 17,
466 | "col": 9
467 | },
468 | {
469 | "row": 16,
470 | "col": 9
471 | },
472 | {
473 | "row": 15,
474 | "col": 9
475 | },
476 | {
477 | "row": 14,
478 | "col": 9
479 | },
480 | {
481 | "row": 13,
482 | "col": 9
483 | },
484 | {
485 | "row": 12,
486 | "col": 9
487 | },
488 | {
489 | "row": 11,
490 | "col": 9
491 | },
492 | {
493 | "row": 10,
494 | "col": 9
495 | },
496 | {
497 | "row": 9,
498 | "col": 9
499 | },
500 | {
501 | "row": 9,
502 | "col": 10
503 | },
504 | {
505 | "row": 9,
506 | "col": 11
507 | },
508 | {
509 | "row": 9,
510 | "col": 12
511 | },
512 | {
513 | "row": 9,
514 | "col": 13
515 | },
516 | {
517 | "row": 9,
518 | "col": 14
519 | },
520 | {
521 | "row": 9,
522 | "col": 15
523 | },
524 | {
525 | "row": 9,
526 | "col": 16
527 | },
528 | {
529 | "row": 9,
530 | "col": 17
531 | }
532 | ],
533 | "id": 6
534 | },
535 | {
536 | "cells": [
537 | {
538 | "row": 2,
539 | "col": 9
540 | },
541 | {
542 | "row": 3,
543 | "col": 9
544 | },
545 | {
546 | "row": 4,
547 | "col": 9
548 | },
549 | {
550 | "row": 5,
551 | "col": 9
552 | },
553 | {
554 | "row": 6,
555 | "col": 9
556 | },
557 | {
558 | "row": 7,
559 | "col": 9
560 | },
561 | {
562 | "row": 8,
563 | "col": 9
564 | },
565 | {
566 | "row": 9,
567 | "col": 9
568 | },
569 | {
570 | "row": 9,
571 | "col": 10
572 | },
573 | {
574 | "row": 9,
575 | "col": 11
576 | },
577 | {
578 | "row": 9,
579 | "col": 12
580 | },
581 | {
582 | "row": 9,
583 | "col": 13
584 | },
585 | {
586 | "row": 9,
587 | "col": 14
588 | },
589 | {
590 | "row": 9,
591 | "col": 15
592 | },
593 | {
594 | "row": 9,
595 | "col": 16
596 | },
597 | {
598 | "row": 9,
599 | "col": 17
600 | }
601 | ],
602 | "id": 7
603 | },
604 | {
605 | "cells": [
606 | {
607 | "row": 17,
608 | "col": 9
609 | },
610 | {
611 | "row": 16,
612 | "col": 9
613 | },
614 | {
615 | "row": 15,
616 | "col": 9
617 | },
618 | {
619 | "row": 14,
620 | "col": 9
621 | },
622 | {
623 | "row": 13,
624 | "col": 9
625 | },
626 | {
627 | "row": 12,
628 | "col": 9
629 | },
630 | {
631 | "row": 11,
632 | "col": 9
633 | },
634 | {
635 | "row": 10,
636 | "col": 9
637 | },
638 | {
639 | "row": 9,
640 | "col": 9
641 | },
642 | {
643 | "row": 9,
644 | "col": 8
645 | },
646 | {
647 | "row": 9,
648 | "col": 7
649 | },
650 | {
651 | "row": 9,
652 | "col": 6
653 | },
654 | {
655 | "row": 9,
656 | "col": 5
657 | },
658 | {
659 | "row": 9,
660 | "col": 4
661 | },
662 | {
663 | "row": 9,
664 | "col": 3
665 | },
666 | {
667 | "row": 9,
668 | "col": 2
669 | }
670 | ],
671 | "id": 8
672 | },
673 | {
674 | "cells": [
675 | {
676 | "row": 2,
677 | "col": 9
678 | },
679 | {
680 | "row": 3,
681 | "col": 9
682 | },
683 | {
684 | "row": 4,
685 | "col": 9
686 | },
687 | {
688 | "row": 5,
689 | "col": 9
690 | },
691 | {
692 | "row": 6,
693 | "col": 9
694 | },
695 | {
696 | "row": 7,
697 | "col": 9
698 | },
699 | {
700 | "row": 8,
701 | "col": 9
702 | },
703 | {
704 | "row": 9,
705 | "col": 9
706 | },
707 | {
708 | "row": 9,
709 | "col": 8
710 | },
711 | {
712 | "row": 9,
713 | "col": 7
714 | },
715 | {
716 | "row": 9,
717 | "col": 6
718 | },
719 | {
720 | "row": 9,
721 | "col": 5
722 | },
723 | {
724 | "row": 9,
725 | "col": 4
726 | },
727 | {
728 | "row": 9,
729 | "col": 3
730 | },
731 | {
732 | "row": 9,
733 | "col": 2
734 | }
735 | ],
736 | "id": 9
737 | }
738 | ]
739 | },
740 | "gameConstants": {
741 | "maxAP": 20,
742 | "maxTurns": 180,
743 | "turnTimeout": 800,
744 | "pickTimeout": 5000,
745 | "turnsToUpgrade": 23,
746 | "turnsToSpell": 10,
747 | "damageUpgradeAddition": 3,
748 | "rangeUpgradeAddition": 1,
749 | "deckSize": 9,
750 | "handSize": 5,
751 | "apAddition": 2
752 | },
753 | "baseUnits": [
754 | {
755 | "typeId": 0,
756 | "maxHP": 16,
757 | "baseAttack": 15,
758 | "baseRange": 3,
759 | "target": "BOTH",
760 | "isFlying": false,
761 | "isMultiple": false,
762 | "ap": 5
763 | },
764 | {
765 | "typeId": 1,
766 | "maxHP": 25,
767 | "baseAttack": 5,
768 | "baseRange": 4,
769 | "target": "GROUND",
770 | "isFlying": false,
771 | "isMultiple": true,
772 | "ap": 4
773 | },
774 | {
775 | "typeId": 2,
776 | "maxHP": 15,
777 | "baseAttack": 10,
778 | "baseRange": 3,
779 | "target": "AIR",
780 | "isFlying": false,
781 | "isMultiple": true,
782 | "ap": 4
783 | },
784 | {
785 | "typeId": 3,
786 | "maxHP": 25,
787 | "baseAttack": 15,
788 | "baseRange": 1,
789 | "target": "GROUND",
790 | "isFlying": false,
791 | "isMultiple": false,
792 | "ap": 5
793 | },
794 | {
795 | "typeId": 4,
796 | "maxHP": 55,
797 | "baseAttack": 10,
798 | "baseRange": 1,
799 | "target": "GROUND",
800 | "isFlying": false,
801 | "isMultiple": true,
802 | "ap": 6
803 | },
804 | {
805 | "typeId": 5,
806 | "maxHP": 27,
807 | "baseAttack": 5,
808 | "baseRange": 1,
809 | "target": "AIR",
810 | "isFlying": true,
811 | "isMultiple": false,
812 | "ap": 3
813 | },
814 | {
815 | "typeId": 6,
816 | "maxHP": 15,
817 | "baseAttack": 5,
818 | "baseRange": 4,
819 | "target": "BOTH",
820 | "isFlying": true,
821 | "isMultiple": false,
822 | "ap": 3
823 | },
824 | {
825 | "typeId": 7,
826 | "maxHP": 25,
827 | "baseAttack": 10,
828 | "baseRange": 2,
829 | "target": "GROUND",
830 | "isFlying": true,
831 | "isMultiple": true,
832 | "ap": 5
833 | },
834 | {
835 | "typeId": 8,
836 | "maxHP": 20,
837 | "baseAttack": 20,
838 | "baseRange": 2,
839 | "target": "BOTH",
840 | "isFlying": true,
841 | "isMultiple": false,
842 | "ap": 6
843 | }
844 | ],
845 | "spells": [
846 | {
847 | "type": "HASTE",
848 | "typeId": 0,
849 | "priority": 3,
850 | "duration": 2,
851 | "range": 1,
852 | "power": 1,
853 | "target": "ALLIED"
854 | },
855 | {
856 | "type": "HP",
857 | "typeId": 1,
858 | "priority": 0,
859 | "duration": 1,
860 | "range": 1,
861 | "power": -4,
862 | "target": "ENEMY"
863 | },
864 | {
865 | "type": "HP",
866 | "typeId": 2,
867 | "priority": 1,
868 | "duration": 1,
869 | "range": 1,
870 | "power": 3,
871 | "target": "ALLIED"
872 | },
873 | {
874 | "type": "TELE",
875 | "typeId": 3,
876 | "priority": 2,
877 | "duration": 1,
878 | "range": null,
879 | "power": null,
880 | "target": "SELF"
881 | },
882 | {
883 | "type": "DUPLICATE",
884 | "typeId": 4,
885 | "priority": 4,
886 | "duration": 3,
887 | "range": 0,
888 | "power": 2,
889 | "target": "ALLIED"
890 | },
891 | {
892 | "type": "HP",
893 | "typeId": 5,
894 | "priority": 0,
895 | "duration": 3,
896 | "range": 1,
897 | "power": -2,
898 | "target": "ENEMY"
899 | }
900 | ]
901 | }
902 |
--------------------------------------------------------------------------------
/maps/map4.map:
--------------------------------------------------------------------------------
1 | {
2 | "map": {
3 | "rows": 20,
4 | "cols": 20,
5 | "kings": [
6 | {
7 | "playerId": 0,
8 | "center": {
9 | "row": 1,
10 | "col": 18
11 | },
12 | "hp": 90,
13 | "attack": 10,
14 | "range": 6
15 | },
16 | {
17 | "playerId": 1,
18 | "center": {
19 | "row": 18,
20 | "col": 18
21 | },
22 | "hp": 90,
23 | "attack": 10,
24 | "range": 6
25 | },
26 | {
27 | "playerId": 2,
28 | "center": {
29 | "row": 1,
30 | "col": 1
31 | },
32 | "hp": 90,
33 | "attack": 10,
34 | "range": 6
35 | },
36 | {
37 | "playerId": 3,
38 | "center": {
39 | "row": 18,
40 | "col": 1
41 | },
42 | "hp": 90,
43 | "attack": 10,
44 | "range": 6
45 | }
46 | ],
47 | "paths": [
48 | {
49 | "cells": [
50 | {
51 | "row": 1,
52 | "col": 18
53 | },
54 | {
55 | "row": 2,
56 | "col": 18
57 | },
58 | {
59 | "row": 3,
60 | "col": 18
61 | },
62 | {
63 | "row": 4,
64 | "col": 18
65 | },
66 | {
67 | "row": 4,
68 | "col": 17
69 | },
70 | {
71 | "row": 4,
72 | "col": 16
73 | },
74 | {
75 | "row": 4,
76 | "col": 15
77 | },
78 | {
79 | "row": 5,
80 | "col": 15
81 | },
82 | {
83 | "row": 6,
84 | "col": 15
85 | },
86 | {
87 | "row": 7,
88 | "col": 15
89 | },
90 | {
91 | "row": 8,
92 | "col": 15
93 | },
94 | {
95 | "row": 9,
96 | "col": 15
97 | },
98 | {
99 | "row": 10,
100 | "col": 15
101 | },
102 | {
103 | "row": 11,
104 | "col": 15
105 | },
106 | {
107 | "row": 12,
108 | "col": 15
109 | },
110 | {
111 | "row": 13,
112 | "col": 15
113 | },
114 | {
115 | "row": 14,
116 | "col": 15
117 | },
118 | {
119 | "row": 15,
120 | "col": 15
121 | },
122 | {
123 | "row": 15,
124 | "col": 16
125 | },
126 | {
127 | "row": 15,
128 | "col": 17
129 | },
130 | {
131 | "row": 15,
132 | "col": 18
133 | },
134 | {
135 | "row": 16,
136 | "col": 18
137 | },
138 | {
139 | "row": 17,
140 | "col": 18
141 | },
142 | {
143 | "row": 18,
144 | "col": 18
145 | }
146 | ],
147 | "id": 0
148 | },
149 | {
150 | "cells": [
151 | {
152 | "row": 18,
153 | "col": 1
154 | },
155 | {
156 | "row": 17,
157 | "col": 1
158 | },
159 | {
160 | "row": 16,
161 | "col": 1
162 | },
163 | {
164 | "row": 15,
165 | "col": 1
166 | },
167 | {
168 | "row": 15,
169 | "col": 2
170 | },
171 | {
172 | "row": 15,
173 | "col": 3
174 | },
175 | {
176 | "row": 15,
177 | "col": 4
178 | },
179 | {
180 | "row": 14,
181 | "col": 4
182 | },
183 | {
184 | "row": 13,
185 | "col": 4
186 | },
187 | {
188 | "row": 12,
189 | "col": 4
190 | },
191 | {
192 | "row": 11,
193 | "col": 4
194 | },
195 | {
196 | "row": 10,
197 | "col": 4
198 | },
199 | {
200 | "row": 9,
201 | "col": 4
202 | },
203 | {
204 | "row": 8,
205 | "col": 4
206 | },
207 | {
208 | "row": 7,
209 | "col": 4
210 | },
211 | {
212 | "row": 6,
213 | "col": 4
214 | },
215 | {
216 | "row": 5,
217 | "col": 4
218 | },
219 | {
220 | "row": 4,
221 | "col": 4
222 | },
223 | {
224 | "row": 4,
225 | "col": 3
226 | },
227 | {
228 | "row": 4,
229 | "col": 2
230 | },
231 | {
232 | "row": 4,
233 | "col": 1
234 | },
235 | {
236 | "row": 3,
237 | "col": 1
238 | },
239 | {
240 | "row": 2,
241 | "col": 1
242 | },
243 | {
244 | "row": 1,
245 | "col": 1
246 | }
247 | ],
248 | "id": 1
249 | },
250 | {
251 | "cells": [
252 | {
253 | "row": 1,
254 | "col": 18
255 | },
256 | {
257 | "row": 1,
258 | "col": 17
259 | },
260 | {
261 | "row": 1,
262 | "col": 16
263 | },
264 | {
265 | "row": 1,
266 | "col": 15
267 | },
268 | {
269 | "row": 2,
270 | "col": 15
271 | },
272 | {
273 | "row": 3,
274 | "col": 15
275 | },
276 | {
277 | "row": 4,
278 | "col": 15
279 | },
280 | {
281 | "row": 5,
282 | "col": 15
283 | },
284 | {
285 | "row": 6,
286 | "col": 15
287 | },
288 | {
289 | "row": 7,
290 | "col": 15
291 | },
292 | {
293 | "row": 8,
294 | "col": 15
295 | },
296 | {
297 | "row": 9,
298 | "col": 15
299 | },
300 | {
301 | "row": 10,
302 | "col": 15
303 | },
304 | {
305 | "row": 10,
306 | "col": 14
307 | },
308 | {
309 | "row": 10,
310 | "col": 13
311 | },
312 | {
313 | "row": 10,
314 | "col": 12
315 | },
316 | {
317 | "row": 11,
318 | "col": 12
319 | },
320 | {
321 | "row": 12,
322 | "col": 12
323 | },
324 | {
325 | "row": 12,
326 | "col": 11
327 | },
328 | {
329 | "row": 12,
330 | "col": 10
331 | },
332 | {
333 | "row": 12,
334 | "col": 9
335 | },
336 | {
337 | "row": 12,
338 | "col": 8
339 | },
340 | {
341 | "row": 12,
342 | "col": 7
343 | },
344 | {
345 | "row": 11,
346 | "col": 7
347 | },
348 | {
349 | "row": 10,
350 | "col": 7
351 | },
352 | {
353 | "row": 10,
354 | "col": 6
355 | },
356 | {
357 | "row": 10,
358 | "col": 5
359 | },
360 | {
361 | "row": 10,
362 | "col": 4
363 | },
364 | {
365 | "row": 9,
366 | "col": 4
367 | },
368 | {
369 | "row": 8,
370 | "col": 4
371 | },
372 | {
373 | "row": 7,
374 | "col": 4
375 | },
376 | {
377 | "row": 6,
378 | "col": 4
379 | },
380 | {
381 | "row": 5,
382 | "col": 4
383 | },
384 | {
385 | "row": 4,
386 | "col": 4
387 | },
388 | {
389 | "row": 3,
390 | "col": 4
391 | },
392 | {
393 | "row": 2,
394 | "col": 4
395 | },
396 | {
397 | "row": 1,
398 | "col": 4
399 | },
400 | {
401 | "row": 1,
402 | "col": 3
403 | },
404 | {
405 | "row": 1,
406 | "col": 2
407 | },
408 | {
409 | "row": 1,
410 | "col": 1
411 | }
412 | ],
413 | "id": 2
414 | },
415 | {
416 | "cells": [
417 | {
418 | "row": 18,
419 | "col": 1
420 | },
421 | {
422 | "row": 18,
423 | "col": 2
424 | },
425 | {
426 | "row": 18,
427 | "col": 3
428 | },
429 | {
430 | "row": 18,
431 | "col": 4
432 | },
433 | {
434 | "row": 17,
435 | "col": 4
436 | },
437 | {
438 | "row": 16,
439 | "col": 4
440 | },
441 | {
442 | "row": 15,
443 | "col": 4
444 | },
445 | {
446 | "row": 14,
447 | "col": 4
448 | },
449 | {
450 | "row": 13,
451 | "col": 4
452 | },
453 | {
454 | "row": 12,
455 | "col": 4
456 | },
457 | {
458 | "row": 11,
459 | "col": 4
460 | },
461 | {
462 | "row": 10,
463 | "col": 4
464 | },
465 | {
466 | "row": 9,
467 | "col": 4
468 | },
469 | {
470 | "row": 9,
471 | "col": 5
472 | },
473 | {
474 | "row": 9,
475 | "col": 6
476 | },
477 | {
478 | "row": 9,
479 | "col": 7
480 | },
481 | {
482 | "row": 8,
483 | "col": 7
484 | },
485 | {
486 | "row": 7,
487 | "col": 7
488 | },
489 | {
490 | "row": 7,
491 | "col": 8
492 | },
493 | {
494 | "row": 7,
495 | "col": 9
496 | },
497 | {
498 | "row": 7,
499 | "col": 10
500 | },
501 | {
502 | "row": 7,
503 | "col": 11
504 | },
505 | {
506 | "row": 7,
507 | "col": 12
508 | },
509 | {
510 | "row": 8,
511 | "col": 12
512 | },
513 | {
514 | "row": 9,
515 | "col": 12
516 | },
517 | {
518 | "row": 9,
519 | "col": 13
520 | },
521 | {
522 | "row": 9,
523 | "col": 14
524 | },
525 | {
526 | "row": 9,
527 | "col": 15
528 | },
529 | {
530 | "row": 10,
531 | "col": 15
532 | },
533 | {
534 | "row": 11,
535 | "col": 15
536 | },
537 | {
538 | "row": 12,
539 | "col": 15
540 | },
541 | {
542 | "row": 13,
543 | "col": 15
544 | },
545 | {
546 | "row": 14,
547 | "col": 15
548 | },
549 | {
550 | "row": 15,
551 | "col": 15
552 | },
553 | {
554 | "row": 16,
555 | "col": 15
556 | },
557 | {
558 | "row": 17,
559 | "col": 15
560 | },
561 | {
562 | "row": 18,
563 | "col": 15
564 | },
565 | {
566 | "row": 18,
567 | "col": 16
568 | },
569 | {
570 | "row": 18,
571 | "col": 17
572 | },
573 | {
574 | "row": 18,
575 | "col": 18
576 | }
577 | ],
578 | "id": 3
579 | },
580 | {
581 | "cells": [
582 | {
583 | "row": 1,
584 | "col": 18
585 | },
586 | {
587 | "row": 2,
588 | "col": 18
589 | },
590 | {
591 | "row": 3,
592 | "col": 18
593 | },
594 | {
595 | "row": 4,
596 | "col": 18
597 | },
598 | {
599 | "row": 4,
600 | "col": 17
601 | },
602 | {
603 | "row": 4,
604 | "col": 16
605 | },
606 | {
607 | "row": 4,
608 | "col": 15
609 | },
610 | {
611 | "row": 4,
612 | "col": 14
613 | },
614 | {
615 | "row": 4,
616 | "col": 13
617 | },
618 | {
619 | "row": 4,
620 | "col": 12
621 | },
622 | {
623 | "row": 4,
624 | "col": 11
625 | },
626 | {
627 | "row": 4,
628 | "col": 10
629 | },
630 | {
631 | "row": 4,
632 | "col": 9
633 | },
634 | {
635 | "row": 5,
636 | "col": 9
637 | },
638 | {
639 | "row": 6,
640 | "col": 9
641 | },
642 | {
643 | "row": 7,
644 | "col": 9
645 | },
646 | {
647 | "row": 7,
648 | "col": 8
649 | },
650 | {
651 | "row": 7,
652 | "col": 7
653 | },
654 | {
655 | "row": 8,
656 | "col": 7
657 | },
658 | {
659 | "row": 9,
660 | "col": 7
661 | },
662 | {
663 | "row": 10,
664 | "col": 7
665 | },
666 | {
667 | "row": 11,
668 | "col": 7
669 | },
670 | {
671 | "row": 12,
672 | "col": 7
673 | },
674 | {
675 | "row": 12,
676 | "col": 8
677 | },
678 | {
679 | "row": 12,
680 | "col": 9
681 | },
682 | {
683 | "row": 13,
684 | "col": 9
685 | },
686 | {
687 | "row": 14,
688 | "col": 9
689 | },
690 | {
691 | "row": 15,
692 | "col": 9
693 | },
694 | {
695 | "row": 15,
696 | "col": 8
697 | },
698 | {
699 | "row": 15,
700 | "col": 7
701 | },
702 | {
703 | "row": 15,
704 | "col": 6
705 | },
706 | {
707 | "row": 15,
708 | "col": 5
709 | },
710 | {
711 | "row": 15,
712 | "col": 4
713 | },
714 | {
715 | "row": 15,
716 | "col": 3
717 | },
718 | {
719 | "row": 15,
720 | "col": 2
721 | },
722 | {
723 | "row": 15,
724 | "col": 1
725 | },
726 | {
727 | "row": 16,
728 | "col": 1
729 | },
730 | {
731 | "row": 17,
732 | "col": 1
733 | },
734 | {
735 | "row": 18,
736 | "col": 1
737 | }
738 | ],
739 | "id": 4
740 | },
741 | {
742 | "cells": [
743 | {
744 | "row": 1,
745 | "col": 1
746 | },
747 | {
748 | "row": 2,
749 | "col": 1
750 | },
751 | {
752 | "row": 3,
753 | "col": 1
754 | },
755 | {
756 | "row": 4,
757 | "col": 1
758 | },
759 | {
760 | "row": 4,
761 | "col": 2
762 | },
763 | {
764 | "row": 4,
765 | "col": 3
766 | },
767 | {
768 | "row": 4,
769 | "col": 4
770 | },
771 | {
772 | "row": 4,
773 | "col": 5
774 | },
775 | {
776 | "row": 4,
777 | "col": 6
778 | },
779 | {
780 | "row": 4,
781 | "col": 7
782 | },
783 | {
784 | "row": 4,
785 | "col": 8
786 | },
787 | {
788 | "row": 4,
789 | "col": 9
790 | },
791 | {
792 | "row": 4,
793 | "col": 10
794 | },
795 | {
796 | "row": 5,
797 | "col": 10
798 | },
799 | {
800 | "row": 6,
801 | "col": 10
802 | },
803 | {
804 | "row": 7,
805 | "col": 10
806 | },
807 | {
808 | "row": 7,
809 | "col": 11
810 | },
811 | {
812 | "row": 7,
813 | "col": 12
814 | },
815 | {
816 | "row": 8,
817 | "col": 12
818 | },
819 | {
820 | "row": 9,
821 | "col": 12
822 | },
823 | {
824 | "row": 10,
825 | "col": 12
826 | },
827 | {
828 | "row": 11,
829 | "col": 12
830 | },
831 | {
832 | "row": 12,
833 | "col": 12
834 | },
835 | {
836 | "row": 12,
837 | "col": 11
838 | },
839 | {
840 | "row": 12,
841 | "col": 10
842 | },
843 | {
844 | "row": 13,
845 | "col": 10
846 | },
847 | {
848 | "row": 14,
849 | "col": 10
850 | },
851 | {
852 | "row": 15,
853 | "col": 10
854 | },
855 | {
856 | "row": 15,
857 | "col": 11
858 | },
859 | {
860 | "row": 15,
861 | "col": 12
862 | },
863 | {
864 | "row": 15,
865 | "col": 13
866 | },
867 | {
868 | "row": 15,
869 | "col": 14
870 | },
871 | {
872 | "row": 15,
873 | "col": 15
874 | },
875 | {
876 | "row": 15,
877 | "col": 16
878 | },
879 | {
880 | "row": 15,
881 | "col": 17
882 | },
883 | {
884 | "row": 15,
885 | "col": 18
886 | },
887 | {
888 | "row": 16,
889 | "col": 18
890 | },
891 | {
892 | "row": 17,
893 | "col": 18
894 | },
895 | {
896 | "row": 18,
897 | "col": 18
898 | }
899 | ],
900 | "id": 5
901 | }
902 | ]
903 | },
904 | "gameConstants": {
905 | "maxAP": 20,
906 | "maxTurns": 180,
907 | "turnTimeout": 800,
908 | "pickTimeout": 5000,
909 | "turnsToUpgrade": 23,
910 | "turnsToSpell": 10,
911 | "damageUpgradeAddition": 3,
912 | "rangeUpgradeAddition": 1,
913 | "deckSize": 9,
914 | "handSize": 5,
915 | "apAddition": 2
916 | },
917 | "baseUnits": [
918 | {
919 | "typeId": 0,
920 | "maxHP": 16,
921 | "baseAttack": 15,
922 | "baseRange": 3,
923 | "target": "BOTH",
924 | "isFlying": false,
925 | "isMultiple": false,
926 | "ap": 5
927 | },
928 | {
929 | "typeId": 1,
930 | "maxHP": 25,
931 | "baseAttack": 5,
932 | "baseRange": 4,
933 | "target": "GROUND",
934 | "isFlying": false,
935 | "isMultiple": true,
936 | "ap": 4
937 | },
938 | {
939 | "typeId": 2,
940 | "maxHP": 15,
941 | "baseAttack": 10,
942 | "baseRange": 3,
943 | "target": "AIR",
944 | "isFlying": false,
945 | "isMultiple": true,
946 | "ap": 4
947 | },
948 | {
949 | "typeId": 3,
950 | "maxHP": 25,
951 | "baseAttack": 15,
952 | "baseRange": 1,
953 | "target": "GROUND",
954 | "isFlying": false,
955 | "isMultiple": false,
956 | "ap": 5
957 | },
958 | {
959 | "typeId": 4,
960 | "maxHP": 55,
961 | "baseAttack": 10,
962 | "baseRange": 1,
963 | "target": "GROUND",
964 | "isFlying": false,
965 | "isMultiple": true,
966 | "ap": 6
967 | },
968 | {
969 | "typeId": 5,
970 | "maxHP": 27,
971 | "baseAttack": 5,
972 | "baseRange": 1,
973 | "target": "AIR",
974 | "isFlying": true,
975 | "isMultiple": false,
976 | "ap": 3
977 | },
978 | {
979 | "typeId": 6,
980 | "maxHP": 15,
981 | "baseAttack": 5,
982 | "baseRange": 4,
983 | "target": "BOTH",
984 | "isFlying": true,
985 | "isMultiple": false,
986 | "ap": 3
987 | },
988 | {
989 | "typeId": 7,
990 | "maxHP": 25,
991 | "baseAttack": 10,
992 | "baseRange": 2,
993 | "target": "GROUND",
994 | "isFlying": true,
995 | "isMultiple": true,
996 | "ap": 5
997 | },
998 | {
999 | "typeId": 8,
1000 | "maxHP": 20,
1001 | "baseAttack": 20,
1002 | "baseRange": 2,
1003 | "target": "BOTH",
1004 | "isFlying": true,
1005 | "isMultiple": false,
1006 | "ap": 6
1007 | }
1008 | ],
1009 | "spells": [
1010 | {
1011 | "type": "HASTE",
1012 | "typeId": 0,
1013 | "priority": 3,
1014 | "duration": 2,
1015 | "range": 1,
1016 | "power": 1,
1017 | "target": "ALLIED"
1018 | },
1019 | {
1020 | "type": "HP",
1021 | "typeId": 1,
1022 | "priority": 0,
1023 | "duration": 1,
1024 | "range": 1,
1025 | "power": -4,
1026 | "target": "ENEMY"
1027 | },
1028 | {
1029 | "type": "HP",
1030 | "typeId": 2,
1031 | "priority": 1,
1032 | "duration": 1,
1033 | "range": 1,
1034 | "power": 3,
1035 | "target": "ALLIED"
1036 | },
1037 | {
1038 | "type": "TELE",
1039 | "typeId": 3,
1040 | "priority": 2,
1041 | "duration": 1,
1042 | "range": null,
1043 | "power": null,
1044 | "target": "SELF"
1045 | },
1046 | {
1047 | "type": "DUPLICATE",
1048 | "typeId": 4,
1049 | "priority": 4,
1050 | "duration": 3,
1051 | "range": 0,
1052 | "power": 2,
1053 | "target": "ALLIED"
1054 | },
1055 | {
1056 | "type": "HP",
1057 | "typeId": 5,
1058 | "priority": 0,
1059 | "duration": 3,
1060 | "range": 1,
1061 | "power": -2,
1062 | "target": "ENEMY"
1063 | }
1064 | ]
1065 | }
1066 |
--------------------------------------------------------------------------------
/maps/final1.map:
--------------------------------------------------------------------------------
1 | {
2 | "map": {
3 | "cols": 20,
4 | "rows": 40,
5 | "kings": [
6 | {
7 | "playerId": 0,
8 | "center": {
9 | "row": 2,
10 | "col": 10
11 | },
12 | "hp": 90,
13 | "attack": 10,
14 | "range": 6
15 | },
16 | {
17 | "playerId": 1,
18 | "center": {
19 | "row": 37,
20 | "col": 10
21 | },
22 | "hp": 90,
23 | "attack": 10,
24 | "range": 6
25 | },
26 | {
27 | "playerId": 2,
28 | "center": {
29 | "row": 10,
30 | "col": 10
31 | },
32 | "hp": 90,
33 | "attack": 10,
34 | "range": 6
35 | },
36 | {
37 | "playerId": 3,
38 | "center": {
39 | "row": 29,
40 | "col": 10
41 | },
42 | "hp": 90,
43 | "attack": 10,
44 | "range": 6
45 | }
46 | ],
47 | "paths": [
48 | {
49 | "cells": [
50 | {
51 | "col": 10,
52 | "row": 2
53 | },
54 | {
55 | "col": 10,
56 | "row": 3
57 | },
58 | {
59 | "col": 10,
60 | "row": 4
61 | },
62 | {
63 | "col": 10,
64 | "row": 5
65 | },
66 | {
67 | "col": 10,
68 | "row": 6
69 | },
70 | {
71 | "col": 10,
72 | "row": 7
73 | },
74 | {
75 | "col": 10,
76 | "row": 8
77 | },
78 | {
79 | "col": 10,
80 | "row": 9
81 | },
82 | {
83 | "col": 10,
84 | "row": 10
85 | }
86 | ],
87 | "id": 0
88 | },
89 | {
90 | "cells": [
91 | {
92 | "col": 10,
93 | "row": 37
94 | },
95 | {
96 | "col": 10,
97 | "row": 36
98 | },
99 | {
100 | "col": 10,
101 | "row": 35
102 | },
103 | {
104 | "col": 10,
105 | "row": 34
106 | },
107 | {
108 | "col": 10,
109 | "row": 33
110 | },
111 | {
112 | "col": 10,
113 | "row": 32
114 | },
115 | {
116 | "col": 10,
117 | "row": 31
118 | },
119 | {
120 | "col": 10,
121 | "row": 30
122 | },
123 | {
124 | "col": 10,
125 | "row": 29
126 | }
127 | ],
128 | "id": 1
129 | },
130 | {
131 | "cells": [
132 | {
133 | "col": 10,
134 | "row": 10
135 | },
136 | {
137 | "col": 10,
138 | "row": 11
139 | },
140 | {
141 | "col": 10,
142 | "row": 12
143 | },
144 | {
145 | "col": 10,
146 | "row": 13
147 | },
148 | {
149 | "col": 10,
150 | "row": 14
151 | },
152 | {
153 | "col": 10,
154 | "row": 15
155 | },
156 | {
157 | "col": 10,
158 | "row": 16
159 | },
160 | {
161 | "col": 10,
162 | "row": 17
163 | },
164 | {
165 | "col": 10,
166 | "row": 18
167 | },
168 | {
169 | "col": 10,
170 | "row": 19
171 | },
172 | {
173 | "col": 10,
174 | "row": 20
175 | },
176 | {
177 | "col": 10,
178 | "row": 21
179 | },
180 | {
181 | "col": 10,
182 | "row": 22
183 | },
184 | {
185 | "col": 10,
186 | "row": 23
187 | },
188 | {
189 | "col": 10,
190 | "row": 24
191 | },
192 | {
193 | "col": 10,
194 | "row": 25
195 | },
196 | {
197 | "col": 10,
198 | "row": 26
199 | },
200 | {
201 | "col": 10,
202 | "row": 27
203 | },
204 | {
205 | "col": 10,
206 | "row": 28
207 | },
208 | {
209 | "col": 10,
210 | "row": 29
211 | }
212 | ],
213 | "id": 2
214 | },
215 | {
216 | "cells": [
217 | {
218 | "col": 10,
219 | "row": 2
220 | },
221 | {
222 | "col": 11,
223 | "row": 2
224 | },
225 | {
226 | "col": 12,
227 | "row": 2
228 | },
229 | {
230 | "col": 13,
231 | "row": 2
232 | },
233 | {
234 | "col": 13,
235 | "row": 3
236 | },
237 | {
238 | "col": 13,
239 | "row": 4
240 | },
241 | {
242 | "col": 13,
243 | "row": 5
244 | },
245 | {
246 | "col": 13,
247 | "row": 6
248 | },
249 | {
250 | "col": 13,
251 | "row": 7
252 | },
253 | {
254 | "col": 13,
255 | "row": 8
256 | },
257 | {
258 | "col": 13,
259 | "row": 9
260 | },
261 | {
262 | "col": 13,
263 | "row": 10
264 | },
265 | {
266 | "col": 13,
267 | "row": 11
268 | },
269 | {
270 | "col": 13,
271 | "row": 12
272 | },
273 | {
274 | "col": 13,
275 | "row": 13
276 | },
277 | {
278 | "col": 13,
279 | "row": 14
280 | },
281 | {
282 | "col": 13,
283 | "row": 15
284 | },
285 | {
286 | "col": 13,
287 | "row": 16
288 | },
289 | {
290 | "col": 13,
291 | "row": 17
292 | },
293 | {
294 | "col": 13,
295 | "row": 18
296 | },
297 | {
298 | "col": 13,
299 | "row": 19
300 | },
301 | {
302 | "col": 13,
303 | "row": 20
304 | },
305 | {
306 | "col": 13,
307 | "row": 21
308 | },
309 | {
310 | "col": 13,
311 | "row": 22
312 | },
313 | {
314 | "col": 13,
315 | "row": 23
316 | },
317 | {
318 | "col": 13,
319 | "row": 24
320 | },
321 | {
322 | "col": 13,
323 | "row": 25
324 | },
325 | {
326 | "col": 13,
327 | "row": 26
328 | },
329 | {
330 | "col": 13,
331 | "row": 27
332 | },
333 | {
334 | "col": 13,
335 | "row": 28
336 | },
337 | {
338 | "col": 13,
339 | "row": 29
340 | },
341 | {
342 | "col": 13,
343 | "row": 30
344 | },
345 | {
346 | "col": 13,
347 | "row": 31
348 | },
349 | {
350 | "col": 13,
351 | "row": 32
352 | },
353 | {
354 | "col": 13,
355 | "row": 33
356 | },
357 | {
358 | "col": 13,
359 | "row": 34
360 | },
361 | {
362 | "col": 13,
363 | "row": 35
364 | },
365 | {
366 | "col": 13,
367 | "row": 36
368 | },
369 | {
370 | "col": 13,
371 | "row": 37
372 | },
373 | {
374 | "col": 12,
375 | "row": 37
376 | },
377 | {
378 | "col": 11,
379 | "row": 37
380 | },
381 | {
382 | "col": 10,
383 | "row": 37
384 | }
385 | ],
386 | "id": 3
387 | },
388 | {
389 | "cells": [
390 | {
391 | "col": 10,
392 | "row": 2
393 | },
394 | {
395 | "col": 9,
396 | "row": 2
397 | },
398 | {
399 | "col": 8,
400 | "row": 2
401 | },
402 | {
403 | "col": 7,
404 | "row": 2
405 | },
406 | {
407 | "col": 7,
408 | "row": 3
409 | },
410 | {
411 | "col": 7,
412 | "row": 4
413 | },
414 | {
415 | "col": 7,
416 | "row": 5
417 | },
418 | {
419 | "col": 7,
420 | "row": 6
421 | },
422 | {
423 | "col": 7,
424 | "row": 7
425 | },
426 | {
427 | "col": 7,
428 | "row": 8
429 | },
430 | {
431 | "col": 7,
432 | "row": 9
433 | },
434 | {
435 | "col": 7,
436 | "row": 10
437 | },
438 | {
439 | "col": 7,
440 | "row": 11
441 | },
442 | {
443 | "col": 7,
444 | "row": 12
445 | },
446 | {
447 | "col": 7,
448 | "row": 13
449 | },
450 | {
451 | "col": 7,
452 | "row": 14
453 | },
454 | {
455 | "col": 7,
456 | "row": 15
457 | },
458 | {
459 | "col": 7,
460 | "row": 16
461 | },
462 | {
463 | "col": 7,
464 | "row": 17
465 | },
466 | {
467 | "col": 7,
468 | "row": 18
469 | },
470 | {
471 | "col": 7,
472 | "row": 19
473 | },
474 | {
475 | "col": 7,
476 | "row": 20
477 | },
478 | {
479 | "col": 7,
480 | "row": 21
481 | },
482 | {
483 | "col": 7,
484 | "row": 22
485 | },
486 | {
487 | "col": 7,
488 | "row": 23
489 | },
490 | {
491 | "col": 7,
492 | "row": 24
493 | },
494 | {
495 | "col": 7,
496 | "row": 25
497 | },
498 | {
499 | "col": 7,
500 | "row": 26
501 | },
502 | {
503 | "col": 7,
504 | "row": 27
505 | },
506 | {
507 | "col": 7,
508 | "row": 28
509 | },
510 | {
511 | "col": 7,
512 | "row": 29
513 | },
514 | {
515 | "col": 7,
516 | "row": 30
517 | },
518 | {
519 | "col": 7,
520 | "row": 31
521 | },
522 | {
523 | "col": 7,
524 | "row": 32
525 | },
526 | {
527 | "col": 7,
528 | "row": 33
529 | },
530 | {
531 | "col": 7,
532 | "row": 34
533 | },
534 | {
535 | "col": 7,
536 | "row": 35
537 | },
538 | {
539 | "col": 7,
540 | "row": 36
541 | },
542 | {
543 | "col": 7,
544 | "row": 37
545 | },
546 | {
547 | "col": 8,
548 | "row": 37
549 | },
550 | {
551 | "col": 9,
552 | "row": 37
553 | },
554 | {
555 | "col": 10,
556 | "row": 37
557 | }
558 | ],
559 | "id": 4
560 | },
561 | {
562 | "cells": [
563 | {
564 | "col": 10,
565 | "row": 2
566 | },
567 | {
568 | "col": 9,
569 | "row": 2
570 | },
571 | {
572 | "col": 8,
573 | "row": 2
574 | },
575 | {
576 | "col": 7,
577 | "row": 2
578 | },
579 | {
580 | "col": 6,
581 | "row": 2
582 | },
583 | {
584 | "col": 5,
585 | "row": 2
586 | },
587 | {
588 | "col": 4,
589 | "row": 2
590 | },
591 | {
592 | "col": 4,
593 | "row": 3
594 | },
595 | {
596 | "col": 4,
597 | "row": 4
598 | },
599 | {
600 | "col": 4,
601 | "row": 5
602 | },
603 | {
604 | "col": 4,
605 | "row": 6
606 | },
607 | {
608 | "col": 4,
609 | "row": 7
610 | },
611 | {
612 | "col": 4,
613 | "row": 8
614 | },
615 | {
616 | "col": 4,
617 | "row": 9
618 | },
619 | {
620 | "col": 4,
621 | "row": 10
622 | },
623 | {
624 | "col": 4,
625 | "row": 11
626 | },
627 | {
628 | "col": 4,
629 | "row": 12
630 | },
631 | {
632 | "col": 4,
633 | "row": 13
634 | },
635 | {
636 | "col": 4,
637 | "row": 14
638 | },
639 | {
640 | "col": 4,
641 | "row": 15
642 | },
643 | {
644 | "col": 4,
645 | "row": 16
646 | },
647 | {
648 | "col": 4,
649 | "row": 17
650 | },
651 | {
652 | "col": 4,
653 | "row": 18
654 | },
655 | {
656 | "col": 4,
657 | "row": 19
658 | },
659 | {
660 | "col": 4,
661 | "row": 20
662 | },
663 | {
664 | "col": 4,
665 | "row": 21
666 | },
667 | {
668 | "col": 4,
669 | "row": 22
670 | },
671 | {
672 | "col": 4,
673 | "row": 23
674 | },
675 | {
676 | "col": 4,
677 | "row": 24
678 | },
679 | {
680 | "col": 4,
681 | "row": 25
682 | },
683 | {
684 | "col": 4,
685 | "row": 26
686 | },
687 | {
688 | "col": 4,
689 | "row": 27
690 | },
691 | {
692 | "col": 4,
693 | "row": 28
694 | },
695 | {
696 | "col": 4,
697 | "row": 29
698 | },
699 | {
700 | "col": 4,
701 | "row": 30
702 | },
703 | {
704 | "col": 4,
705 | "row": 31
706 | },
707 | {
708 | "col": 4,
709 | "row": 32
710 | },
711 | {
712 | "col": 4,
713 | "row": 33
714 | },
715 | {
716 | "col": 4,
717 | "row": 34
718 | },
719 | {
720 | "col": 4,
721 | "row": 35
722 | },
723 | {
724 | "col": 4,
725 | "row": 36
726 | },
727 | {
728 | "col": 4,
729 | "row": 37
730 | },
731 | {
732 | "col": 5,
733 | "row": 37
734 | },
735 | {
736 | "col": 6,
737 | "row": 37
738 | },
739 | {
740 | "col": 7,
741 | "row": 37
742 | },
743 | {
744 | "col": 8,
745 | "row": 37
746 | },
747 | {
748 | "col": 9,
749 | "row": 37
750 | },
751 | {
752 | "col": 10,
753 | "row": 37
754 | }
755 | ],
756 | "id": 5
757 | },
758 | {
759 | "cells": [
760 | {
761 | "col": 10,
762 | "row": 2
763 | },
764 | {
765 | "col": 11,
766 | "row": 2
767 | },
768 | {
769 | "col": 12,
770 | "row": 2
771 | },
772 | {
773 | "col": 13,
774 | "row": 2
775 | },
776 | {
777 | "col": 14,
778 | "row": 2
779 | },
780 | {
781 | "col": 15,
782 | "row": 2
783 | },
784 | {
785 | "col": 16,
786 | "row": 2
787 | },
788 | {
789 | "col": 16,
790 | "row": 3
791 | },
792 | {
793 | "col": 16,
794 | "row": 4
795 | },
796 | {
797 | "col": 16,
798 | "row": 5
799 | },
800 | {
801 | "col": 16,
802 | "row": 6
803 | },
804 | {
805 | "col": 16,
806 | "row": 7
807 | },
808 | {
809 | "col": 16,
810 | "row": 8
811 | },
812 | {
813 | "col": 16,
814 | "row": 9
815 | },
816 | {
817 | "col": 16,
818 | "row": 10
819 | },
820 | {
821 | "col": 16,
822 | "row": 11
823 | },
824 | {
825 | "col": 16,
826 | "row": 12
827 | },
828 | {
829 | "col": 16,
830 | "row": 13
831 | },
832 | {
833 | "col": 16,
834 | "row": 14
835 | },
836 | {
837 | "col": 16,
838 | "row": 15
839 | },
840 | {
841 | "col": 16,
842 | "row": 16
843 | },
844 | {
845 | "col": 16,
846 | "row": 17
847 | },
848 | {
849 | "col": 16,
850 | "row": 18
851 | },
852 | {
853 | "col": 16,
854 | "row": 19
855 | },
856 | {
857 | "col": 16,
858 | "row": 20
859 | },
860 | {
861 | "col": 16,
862 | "row": 21
863 | },
864 | {
865 | "col": 16,
866 | "row": 22
867 | },
868 | {
869 | "col": 16,
870 | "row": 23
871 | },
872 | {
873 | "col": 16,
874 | "row": 24
875 | },
876 | {
877 | "col": 16,
878 | "row": 25
879 | },
880 | {
881 | "col": 16,
882 | "row": 26
883 | },
884 | {
885 | "col": 16,
886 | "row": 27
887 | },
888 | {
889 | "col": 16,
890 | "row": 28
891 | },
892 | {
893 | "col": 16,
894 | "row": 29
895 | },
896 | {
897 | "col": 16,
898 | "row": 30
899 | },
900 | {
901 | "col": 16,
902 | "row": 31
903 | },
904 | {
905 | "col": 16,
906 | "row": 32
907 | },
908 | {
909 | "col": 16,
910 | "row": 33
911 | },
912 | {
913 | "col": 16,
914 | "row": 34
915 | },
916 | {
917 | "col": 16,
918 | "row": 35
919 | },
920 | {
921 | "col": 16,
922 | "row": 36
923 | },
924 | {
925 | "col": 16,
926 | "row": 37
927 | },
928 | {
929 | "col": 15,
930 | "row": 37
931 | },
932 | {
933 | "col": 14,
934 | "row": 37
935 | },
936 | {
937 | "col": 13,
938 | "row": 37
939 | },
940 | {
941 | "col": 12,
942 | "row": 37
943 | },
944 | {
945 | "col": 11,
946 | "row": 37
947 | },
948 | {
949 | "col": 10,
950 | "row": 37
951 | }
952 | ],
953 | "id": 6
954 | },
955 | {
956 | "cells": [
957 | {
958 | "col": 10,
959 | "row": 29
960 | },
961 | {
962 | "col": 9,
963 | "row": 29
964 | },
965 | {
966 | "col": 8,
967 | "row": 29
968 | },
969 | {
970 | "col": 7,
971 | "row": 29
972 | },
973 | {
974 | "col": 6,
975 | "row": 29
976 | },
977 | {
978 | "col": 5,
979 | "row": 29
980 | },
981 | {
982 | "col": 4,
983 | "row": 29
984 | },
985 | {
986 | "col": 4,
987 | "row": 28
988 | },
989 | {
990 | "col": 4,
991 | "row": 27
992 | },
993 | {
994 | "col": 4,
995 | "row": 26
996 | },
997 | {
998 | "col": 4,
999 | "row": 25
1000 | },
1001 | {
1002 | "col": 4,
1003 | "row": 24
1004 | },
1005 | {
1006 | "col": 4,
1007 | "row": 23
1008 | },
1009 | {
1010 | "col": 4,
1011 | "row": 22
1012 | },
1013 | {
1014 | "col": 4,
1015 | "row": 21
1016 | },
1017 | {
1018 | "col": 4,
1019 | "row": 20
1020 | },
1021 | {
1022 | "col": 4,
1023 | "row": 19
1024 | },
1025 | {
1026 | "col": 4,
1027 | "row": 18
1028 | },
1029 | {
1030 | "col": 4,
1031 | "row": 17
1032 | },
1033 | {
1034 | "col": 4,
1035 | "row": 16
1036 | },
1037 | {
1038 | "col": 4,
1039 | "row": 15
1040 | },
1041 | {
1042 | "col": 4,
1043 | "row": 14
1044 | },
1045 | {
1046 | "col": 4,
1047 | "row": 13
1048 | },
1049 | {
1050 | "col": 4,
1051 | "row": 12
1052 | },
1053 | {
1054 | "col": 4,
1055 | "row": 11
1056 | },
1057 | {
1058 | "col": 4,
1059 | "row": 10
1060 | },
1061 | {
1062 | "col": 5,
1063 | "row": 10
1064 | },
1065 | {
1066 | "col": 6,
1067 | "row": 10
1068 | },
1069 | {
1070 | "col": 7,
1071 | "row": 10
1072 | },
1073 | {
1074 | "col": 8,
1075 | "row": 10
1076 | },
1077 | {
1078 | "col": 9,
1079 | "row": 10
1080 | },
1081 | {
1082 | "col": 10,
1083 | "row": 10
1084 | }
1085 | ],
1086 | "id": 7
1087 | },
1088 | {
1089 | "cells": [
1090 | {
1091 | "col": 10,
1092 | "row": 29
1093 | },
1094 | {
1095 | "col": 11,
1096 | "row": 29
1097 | },
1098 | {
1099 | "col": 12,
1100 | "row": 29
1101 | },
1102 | {
1103 | "col": 13,
1104 | "row": 29
1105 | },
1106 | {
1107 | "col": 14,
1108 | "row": 29
1109 | },
1110 | {
1111 | "col": 15,
1112 | "row": 29
1113 | },
1114 | {
1115 | "col": 16,
1116 | "row": 29
1117 | },
1118 | {
1119 | "col": 16,
1120 | "row": 28
1121 | },
1122 | {
1123 | "col": 16,
1124 | "row": 27
1125 | },
1126 | {
1127 | "col": 16,
1128 | "row": 26
1129 | },
1130 | {
1131 | "col": 16,
1132 | "row": 25
1133 | },
1134 | {
1135 | "col": 16,
1136 | "row": 24
1137 | },
1138 | {
1139 | "col": 16,
1140 | "row": 23
1141 | },
1142 | {
1143 | "col": 16,
1144 | "row": 22
1145 | },
1146 | {
1147 | "col": 16,
1148 | "row": 21
1149 | },
1150 | {
1151 | "col": 16,
1152 | "row": 20
1153 | },
1154 | {
1155 | "col": 16,
1156 | "row": 19
1157 | },
1158 | {
1159 | "col": 16,
1160 | "row": 18
1161 | },
1162 | {
1163 | "col": 16,
1164 | "row": 17
1165 | },
1166 | {
1167 | "col": 16,
1168 | "row": 16
1169 | },
1170 | {
1171 | "col": 16,
1172 | "row": 15
1173 | },
1174 | {
1175 | "col": 16,
1176 | "row": 14
1177 | },
1178 | {
1179 | "col": 16,
1180 | "row": 13
1181 | },
1182 | {
1183 | "col": 16,
1184 | "row": 12
1185 | },
1186 | {
1187 | "col": 16,
1188 | "row": 11
1189 | },
1190 | {
1191 | "col": 16,
1192 | "row": 10
1193 | },
1194 | {
1195 | "col": 15,
1196 | "row": 10
1197 | },
1198 | {
1199 | "col": 14,
1200 | "row": 10
1201 | },
1202 | {
1203 | "col": 13,
1204 | "row": 10
1205 | },
1206 | {
1207 | "col": 12,
1208 | "row": 10
1209 | },
1210 | {
1211 | "col": 11,
1212 | "row": 10
1213 | },
1214 | {
1215 | "col": 10,
1216 | "row": 10
1217 | }
1218 | ],
1219 | "id": 8
1220 | }
1221 | ]
1222 | },
1223 | "gameConstants": {
1224 | "maxAP": 20,
1225 | "maxTurns": 180,
1226 | "turnTimeout": 800,
1227 | "pickTimeout": 5000,
1228 | "turnsToUpgrade": 23,
1229 | "turnsToSpell": 10,
1230 | "damageUpgradeAddition": 3,
1231 | "rangeUpgradeAddition": 1,
1232 | "deckSize": 9,
1233 | "handSize": 5,
1234 | "apAddition": 2
1235 | },
1236 | "baseUnits": [
1237 | {
1238 | "typeId": 0,
1239 | "maxHP": 16,
1240 | "baseAttack": 15,
1241 | "baseRange": 3,
1242 | "target": "BOTH",
1243 | "isFlying": false,
1244 | "isMultiple": false,
1245 | "ap": 5
1246 | },
1247 | {
1248 | "typeId": 1,
1249 | "maxHP": 25,
1250 | "baseAttack": 5,
1251 | "baseRange": 4,
1252 | "target": "GROUND",
1253 | "isFlying": false,
1254 | "isMultiple": true,
1255 | "ap": 4
1256 | },
1257 | {
1258 | "typeId": 2,
1259 | "maxHP": 15,
1260 | "baseAttack": 10,
1261 | "baseRange": 3,
1262 | "target": "AIR",
1263 | "isFlying": false,
1264 | "isMultiple": true,
1265 | "ap": 4
1266 | },
1267 | {
1268 | "typeId": 3,
1269 | "maxHP": 25,
1270 | "baseAttack": 15,
1271 | "baseRange": 1,
1272 | "target": "GROUND",
1273 | "isFlying": false,
1274 | "isMultiple": false,
1275 | "ap": 5
1276 | },
1277 | {
1278 | "typeId": 4,
1279 | "maxHP": 55,
1280 | "baseAttack": 10,
1281 | "baseRange": 1,
1282 | "target": "GROUND",
1283 | "isFlying": false,
1284 | "isMultiple": true,
1285 | "ap": 6
1286 | },
1287 | {
1288 | "typeId": 5,
1289 | "maxHP": 27,
1290 | "baseAttack": 5,
1291 | "baseRange": 1,
1292 | "target": "AIR",
1293 | "isFlying": true,
1294 | "isMultiple": false,
1295 | "ap": 3
1296 | },
1297 | {
1298 | "typeId": 6,
1299 | "maxHP": 15,
1300 | "baseAttack": 5,
1301 | "baseRange": 4,
1302 | "target": "BOTH",
1303 | "isFlying": true,
1304 | "isMultiple": false,
1305 | "ap": 3
1306 | },
1307 | {
1308 | "typeId": 7,
1309 | "maxHP": 25,
1310 | "baseAttack": 10,
1311 | "baseRange": 2,
1312 | "target": "GROUND",
1313 | "isFlying": true,
1314 | "isMultiple": true,
1315 | "ap": 5
1316 | },
1317 | {
1318 | "typeId": 8,
1319 | "maxHP": 20,
1320 | "baseAttack": 20,
1321 | "baseRange": 2,
1322 | "target": "BOTH",
1323 | "isFlying": true,
1324 | "isMultiple": false,
1325 | "ap": 6
1326 | }
1327 | ],
1328 | "spells": [
1329 | {
1330 | "type": "HASTE",
1331 | "typeId": 0,
1332 | "priority": 3,
1333 | "duration": 2,
1334 | "range": 1,
1335 | "power": 1,
1336 | "target": "ALLIED"
1337 | },
1338 | {
1339 | "type": "HP",
1340 | "typeId": 1,
1341 | "priority": 0,
1342 | "duration": 1,
1343 | "range": 1,
1344 | "power": -4,
1345 | "target": "ENEMY"
1346 | },
1347 | {
1348 | "type": "HP",
1349 | "typeId": 2,
1350 | "priority": 1,
1351 | "duration": 1,
1352 | "range": 1,
1353 | "power": 3,
1354 | "target": "ALLIED"
1355 | },
1356 | {
1357 | "type": "TELE",
1358 | "typeId": 3,
1359 | "priority": 2,
1360 | "duration": 1,
1361 | "range": null,
1362 | "power": null,
1363 | "target": "SELF"
1364 | },
1365 | {
1366 | "type": "DUPLICATE",
1367 | "typeId": 4,
1368 | "priority": 4,
1369 | "duration": 3,
1370 | "range": 0,
1371 | "power": 2,
1372 | "target": "ALLIED"
1373 | },
1374 | {
1375 | "type": "HP",
1376 | "typeId": 5,
1377 | "priority": 0,
1378 | "duration": 3,
1379 | "range": 1,
1380 | "power": -2,
1381 | "target": "ENEMY"
1382 | }
1383 | ]
1384 | }
1385 |
--------------------------------------------------------------------------------
/maps/map6.map:
--------------------------------------------------------------------------------
1 | {
2 | "map": {
3 | "cols": 20,
4 | "rows": 40,
5 | "kings": [
6 | {
7 | "playerId": 0,
8 | "center": {
9 | "col": 2,
10 | "row": 37
11 | },
12 | "hp": 90,
13 | "attack": 10,
14 | "range": 6
15 | },
16 | {
17 | "playerId": 1,
18 | "center": {
19 | "col": 17,
20 | "row": 37
21 | },
22 | "hp": 90,
23 | "attack": 10,
24 | "range": 6
25 | },
26 | {
27 | "playerId": 2,
28 | "center": {
29 | "col": 2,
30 | "row": 2
31 | },
32 | "hp": 90,
33 | "attack": 10,
34 | "range": 6
35 | },
36 | {
37 | "playerId": 3,
38 | "center": {
39 | "col": 17,
40 | "row": 2
41 | },
42 | "hp": 90,
43 | "attack": 10,
44 | "range": 6
45 | }
46 | ],
47 | "paths": [
48 | {
49 | "cells": [
50 | {
51 | "col": 2,
52 | "row": 37
53 | },
54 | {
55 | "col": 3,
56 | "row": 37
57 | },
58 | {
59 | "col": 4,
60 | "row": 37
61 | },
62 | {
63 | "col": 5,
64 | "row": 37
65 | },
66 | {
67 | "col": 6,
68 | "row": 37
69 | },
70 | {
71 | "col": 7,
72 | "row": 37
73 | },
74 | {
75 | "col": 8,
76 | "row": 37
77 | },
78 | {
79 | "col": 9,
80 | "row": 37
81 | },
82 | {
83 | "col": 10,
84 | "row": 37
85 | },
86 | {
87 | "col": 11,
88 | "row": 37
89 | },
90 | {
91 | "col": 12,
92 | "row": 37
93 | },
94 | {
95 | "col": 13,
96 | "row": 37
97 | },
98 | {
99 | "col": 14,
100 | "row": 37
101 | },
102 | {
103 | "col": 15,
104 | "row": 37
105 | },
106 | {
107 | "col": 16,
108 | "row": 37
109 | },
110 | {
111 | "col": 17,
112 | "row": 37
113 | }
114 | ],
115 | "id": 0
116 | },
117 | {
118 | "cells": [
119 | {
120 | "col": 2,
121 | "row": 2
122 | },
123 | {
124 | "col": 3,
125 | "row": 2
126 | },
127 | {
128 | "col": 4,
129 | "row": 2
130 | },
131 | {
132 | "col": 5,
133 | "row": 2
134 | },
135 | {
136 | "col": 6,
137 | "row": 2
138 | },
139 | {
140 | "col": 7,
141 | "row": 2
142 | },
143 | {
144 | "col": 8,
145 | "row": 2
146 | },
147 | {
148 | "col": 9,
149 | "row": 2
150 | },
151 | {
152 | "col": 10,
153 | "row": 2
154 | },
155 | {
156 | "col": 11,
157 | "row": 2
158 | },
159 | {
160 | "col": 12,
161 | "row": 2
162 | },
163 | {
164 | "col": 13,
165 | "row": 2
166 | },
167 | {
168 | "col": 14,
169 | "row": 2
170 | },
171 | {
172 | "col": 15,
173 | "row": 2
174 | },
175 | {
176 | "col": 16,
177 | "row": 2
178 | },
179 | {
180 | "col": 17,
181 | "row": 2
182 | }
183 | ],
184 | "id": 1
185 | },
186 | {
187 | "cells": [
188 | {
189 | "col": 2,
190 | "row": 37
191 | },
192 | {
193 | "col": 2,
194 | "row": 36
195 | },
196 | {
197 | "col": 2,
198 | "row": 35
199 | },
200 | {
201 | "col": 2,
202 | "row": 34
203 | },
204 | {
205 | "col": 2,
206 | "row": 33
207 | },
208 | {
209 | "col": 2,
210 | "row": 32
211 | },
212 | {
213 | "col": 3,
214 | "row": 32
215 | },
216 | {
217 | "col": 4,
218 | "row": 32
219 | },
220 | {
221 | "col": 4,
222 | "row": 31
223 | },
224 | {
225 | "col": 4,
226 | "row": 30
227 | },
228 | {
229 | "col": 4,
230 | "row": 29
231 | },
232 | {
233 | "col": 4,
234 | "row": 28
235 | },
236 | {
237 | "col": 4,
238 | "row": 27
239 | },
240 | {
241 | "col": 4,
242 | "row": 26
243 | },
244 | {
245 | "col": 4,
246 | "row": 25
247 | },
248 | {
249 | "col": 4,
250 | "row": 24
251 | },
252 | {
253 | "col": 4,
254 | "row": 23
255 | },
256 | {
257 | "col": 4,
258 | "row": 22
259 | },
260 | {
261 | "col": 5,
262 | "row": 22
263 | },
264 | {
265 | "col": 6,
266 | "row": 22
267 | },
268 | {
269 | "col": 7,
270 | "row": 22
271 | },
272 | {
273 | "col": 7,
274 | "row": 21
275 | },
276 | {
277 | "col": 7,
278 | "row": 20
279 | },
280 | {
281 | "col": 7,
282 | "row": 19
283 | },
284 | {
285 | "col": 7,
286 | "row": 18
287 | },
288 | {
289 | "col": 7,
290 | "row": 17
291 | },
292 | {
293 | "col": 6,
294 | "row": 17
295 | },
296 | {
297 | "col": 5,
298 | "row": 17
299 | },
300 | {
301 | "col": 4,
302 | "row": 17
303 | },
304 | {
305 | "col": 4,
306 | "row": 18
307 | },
308 | {
309 | "col": 4,
310 | "row": 19
311 | },
312 | {
313 | "col": 4,
314 | "row": 20
315 | },
316 | {
317 | "col": 4,
318 | "row": 21
319 | },
320 | {
321 | "col": 4,
322 | "row": 22
323 | },
324 | {
325 | "col": 3,
326 | "row": 22
327 | },
328 | {
329 | "col": 2,
330 | "row": 22
331 | },
332 | {
333 | "col": 1,
334 | "row": 22
335 | },
336 | {
337 | "col": 1,
338 | "row": 21
339 | },
340 | {
341 | "col": 1,
342 | "row": 20
343 | },
344 | {
345 | "col": 1,
346 | "row": 19
347 | },
348 | {
349 | "col": 1,
350 | "row": 18
351 | },
352 | {
353 | "col": 1,
354 | "row": 17
355 | },
356 | {
357 | "col": 2,
358 | "row": 17
359 | },
360 | {
361 | "col": 3,
362 | "row": 17
363 | },
364 | {
365 | "col": 4,
366 | "row": 17
367 | },
368 | {
369 | "col": 4,
370 | "row": 16
371 | },
372 | {
373 | "col": 4,
374 | "row": 15
375 | },
376 | {
377 | "col": 4,
378 | "row": 14
379 | },
380 | {
381 | "col": 4,
382 | "row": 13
383 | },
384 | {
385 | "col": 4,
386 | "row": 12
387 | },
388 | {
389 | "col": 4,
390 | "row": 11
391 | },
392 | {
393 | "col": 4,
394 | "row": 10
395 | },
396 | {
397 | "col": 4,
398 | "row": 9
399 | },
400 | {
401 | "col": 4,
402 | "row": 8
403 | },
404 | {
405 | "col": 4,
406 | "row": 7
407 | },
408 | {
409 | "col": 3,
410 | "row": 7
411 | },
412 | {
413 | "col": 2,
414 | "row": 7
415 | },
416 | {
417 | "col": 2,
418 | "row": 6
419 | },
420 | {
421 | "col": 2,
422 | "row": 5
423 | },
424 | {
425 | "col": 2,
426 | "row": 4
427 | },
428 | {
429 | "col": 2,
430 | "row": 3
431 | },
432 | {
433 | "col": 2,
434 | "row": 2
435 | }
436 | ],
437 | "id": 2
438 | },
439 | {
440 | "cells": [
441 | {
442 | "col": 17,
443 | "row": 37
444 | },
445 | {
446 | "col": 17,
447 | "row": 36
448 | },
449 | {
450 | "col": 17,
451 | "row": 35
452 | },
453 | {
454 | "col": 17,
455 | "row": 34
456 | },
457 | {
458 | "col": 17,
459 | "row": 33
460 | },
461 | {
462 | "col": 17,
463 | "row": 32
464 | },
465 | {
466 | "col": 16,
467 | "row": 32
468 | },
469 | {
470 | "col": 15,
471 | "row": 32
472 | },
473 | {
474 | "col": 15,
475 | "row": 31
476 | },
477 | {
478 | "col": 15,
479 | "row": 30
480 | },
481 | {
482 | "col": 15,
483 | "row": 29
484 | },
485 | {
486 | "col": 15,
487 | "row": 28
488 | },
489 | {
490 | "col": 15,
491 | "row": 27
492 | },
493 | {
494 | "col": 15,
495 | "row": 26
496 | },
497 | {
498 | "col": 15,
499 | "row": 25
500 | },
501 | {
502 | "col": 15,
503 | "row": 24
504 | },
505 | {
506 | "col": 15,
507 | "row": 23
508 | },
509 | {
510 | "col": 15,
511 | "row": 22
512 | },
513 | {
514 | "col": 16,
515 | "row": 22
516 | },
517 | {
518 | "col": 17,
519 | "row": 22
520 | },
521 | {
522 | "col": 18,
523 | "row": 22
524 | },
525 | {
526 | "col": 18,
527 | "row": 21
528 | },
529 | {
530 | "col": 18,
531 | "row": 20
532 | },
533 | {
534 | "col": 18,
535 | "row": 19
536 | },
537 | {
538 | "col": 18,
539 | "row": 18
540 | },
541 | {
542 | "col": 18,
543 | "row": 17
544 | },
545 | {
546 | "col": 17,
547 | "row": 17
548 | },
549 | {
550 | "col": 16,
551 | "row": 17
552 | },
553 | {
554 | "col": 15,
555 | "row": 17
556 | },
557 | {
558 | "col": 15,
559 | "row": 18
560 | },
561 | {
562 | "col": 15,
563 | "row": 19
564 | },
565 | {
566 | "col": 15,
567 | "row": 20
568 | },
569 | {
570 | "col": 15,
571 | "row": 21
572 | },
573 | {
574 | "col": 15,
575 | "row": 22
576 | },
577 | {
578 | "col": 14,
579 | "row": 22
580 | },
581 | {
582 | "col": 13,
583 | "row": 22
584 | },
585 | {
586 | "col": 12,
587 | "row": 22
588 | },
589 | {
590 | "col": 12,
591 | "row": 21
592 | },
593 | {
594 | "col": 12,
595 | "row": 20
596 | },
597 | {
598 | "col": 12,
599 | "row": 19
600 | },
601 | {
602 | "col": 12,
603 | "row": 18
604 | },
605 | {
606 | "col": 12,
607 | "row": 17
608 | },
609 | {
610 | "col": 13,
611 | "row": 17
612 | },
613 | {
614 | "col": 14,
615 | "row": 17
616 | },
617 | {
618 | "col": 15,
619 | "row": 17
620 | },
621 | {
622 | "col": 15,
623 | "row": 16
624 | },
625 | {
626 | "col": 15,
627 | "row": 15
628 | },
629 | {
630 | "col": 15,
631 | "row": 14
632 | },
633 | {
634 | "col": 15,
635 | "row": 13
636 | },
637 | {
638 | "col": 15,
639 | "row": 12
640 | },
641 | {
642 | "col": 15,
643 | "row": 11
644 | },
645 | {
646 | "col": 15,
647 | "row": 10
648 | },
649 | {
650 | "col": 15,
651 | "row": 9
652 | },
653 | {
654 | "col": 15,
655 | "row": 8
656 | },
657 | {
658 | "col": 15,
659 | "row": 7
660 | },
661 | {
662 | "col": 16,
663 | "row": 7
664 | },
665 | {
666 | "col": 17,
667 | "row": 7
668 | },
669 | {
670 | "col": 17,
671 | "row": 6
672 | },
673 | {
674 | "col": 17,
675 | "row": 5
676 | },
677 | {
678 | "col": 17,
679 | "row": 4
680 | },
681 | {
682 | "col": 17,
683 | "row": 3
684 | },
685 | {
686 | "col": 17,
687 | "row": 2
688 | }
689 | ],
690 | "id": 3
691 | },
692 | {
693 | "cells": [
694 | {
695 | "col": 2,
696 | "row": 37
697 | },
698 | {
699 | "col": 2,
700 | "row": 36
701 | },
702 | {
703 | "col": 2,
704 | "row": 35
705 | },
706 | {
707 | "col": 2,
708 | "row": 34
709 | },
710 | {
711 | "col": 2,
712 | "row": 33
713 | },
714 | {
715 | "col": 2,
716 | "row": 32
717 | },
718 | {
719 | "col": 3,
720 | "row": 32
721 | },
722 | {
723 | "col": 4,
724 | "row": 32
725 | },
726 | {
727 | "col": 5,
728 | "row": 32
729 | },
730 | {
731 | "col": 6,
732 | "row": 32
733 | },
734 | {
735 | "col": 7,
736 | "row": 32
737 | },
738 | {
739 | "col": 8,
740 | "row": 32
741 | },
742 | {
743 | "col": 9,
744 | "row": 32
745 | },
746 | {
747 | "col": 9,
748 | "row": 31
749 | },
750 | {
751 | "col": 9,
752 | "row": 30
753 | },
754 | {
755 | "col": 9,
756 | "row": 29
757 | },
758 | {
759 | "col": 8,
760 | "row": 29
761 | },
762 | {
763 | "col": 7,
764 | "row": 29
765 | },
766 | {
767 | "col": 7,
768 | "row": 28
769 | },
770 | {
771 | "col": 7,
772 | "row": 27
773 | },
774 | {
775 | "col": 7,
776 | "row": 26
777 | },
778 | {
779 | "col": 8,
780 | "row": 26
781 | },
782 | {
783 | "col": 9,
784 | "row": 26
785 | },
786 | {
787 | "col": 10,
788 | "row": 26
789 | },
790 | {
791 | "col": 10,
792 | "row": 25
793 | },
794 | {
795 | "col": 10,
796 | "row": 24
797 | },
798 | {
799 | "col": 10,
800 | "row": 23
801 | },
802 | {
803 | "col": 10,
804 | "row": 22
805 | },
806 | {
807 | "col": 10,
808 | "row": 21
809 | },
810 | {
811 | "col": 10,
812 | "row": 20
813 | },
814 | {
815 | "col": 9,
816 | "row": 20
817 | },
818 | {
819 | "col": 9,
820 | "row": 19
821 | },
822 | {
823 | "col": 9,
824 | "row": 18
825 | },
826 | {
827 | "col": 9,
828 | "row": 17
829 | },
830 | {
831 | "col": 9,
832 | "row": 16
833 | },
834 | {
835 | "col": 9,
836 | "row": 15
837 | },
838 | {
839 | "col": 9,
840 | "row": 14
841 | },
842 | {
843 | "col": 9,
844 | "row": 13
845 | },
846 | {
847 | "col": 10,
848 | "row": 13
849 | },
850 | {
851 | "col": 11,
852 | "row": 13
853 | },
854 | {
855 | "col": 12,
856 | "row": 13
857 | },
858 | {
859 | "col": 12,
860 | "row": 12
861 | },
862 | {
863 | "col": 12,
864 | "row": 11
865 | },
866 | {
867 | "col": 12,
868 | "row": 10
869 | },
870 | {
871 | "col": 11,
872 | "row": 10
873 | },
874 | {
875 | "col": 10,
876 | "row": 10
877 | },
878 | {
879 | "col": 10,
880 | "row": 9
881 | },
882 | {
883 | "col": 10,
884 | "row": 8
885 | },
886 | {
887 | "col": 10,
888 | "row": 7
889 | },
890 | {
891 | "col": 11,
892 | "row": 7
893 | },
894 | {
895 | "col": 12,
896 | "row": 7
897 | },
898 | {
899 | "col": 13,
900 | "row": 7
901 | },
902 | {
903 | "col": 14,
904 | "row": 7
905 | },
906 | {
907 | "col": 15,
908 | "row": 7
909 | },
910 | {
911 | "col": 16,
912 | "row": 7
913 | },
914 | {
915 | "col": 17,
916 | "row": 7
917 | },
918 | {
919 | "col": 17,
920 | "row": 6
921 | },
922 | {
923 | "col": 17,
924 | "row": 5
925 | },
926 | {
927 | "col": 17,
928 | "row": 4
929 | },
930 | {
931 | "col": 17,
932 | "row": 3
933 | },
934 | {
935 | "col": 17,
936 | "row": 2
937 | }
938 | ],
939 | "id": 4
940 | },
941 | {
942 | "cells": [
943 | {
944 | "col": 2,
945 | "row": 2
946 | },
947 | {
948 | "col": 2,
949 | "row": 3
950 | },
951 | {
952 | "col": 2,
953 | "row": 4
954 | },
955 | {
956 | "col": 2,
957 | "row": 5
958 | },
959 | {
960 | "col": 2,
961 | "row": 6
962 | },
963 | {
964 | "col": 2,
965 | "row": 7
966 | },
967 | {
968 | "col": 3,
969 | "row": 7
970 | },
971 | {
972 | "col": 4,
973 | "row": 7
974 | },
975 | {
976 | "col": 5,
977 | "row": 7
978 | },
979 | {
980 | "col": 6,
981 | "row": 7
982 | },
983 | {
984 | "col": 7,
985 | "row": 7
986 | },
987 | {
988 | "col": 8,
989 | "row": 7
990 | },
991 | {
992 | "col": 9,
993 | "row": 7
994 | },
995 | {
996 | "col": 9,
997 | "row": 8
998 | },
999 | {
1000 | "col": 9,
1001 | "row": 9
1002 | },
1003 | {
1004 | "col": 9,
1005 | "row": 10
1006 | },
1007 | {
1008 | "col": 8,
1009 | "row": 10
1010 | },
1011 | {
1012 | "col": 7,
1013 | "row": 10
1014 | },
1015 | {
1016 | "col": 7,
1017 | "row": 11
1018 | },
1019 | {
1020 | "col": 7,
1021 | "row": 12
1022 | },
1023 | {
1024 | "col": 7,
1025 | "row": 13
1026 | },
1027 | {
1028 | "col": 8,
1029 | "row": 13
1030 | },
1031 | {
1032 | "col": 9,
1033 | "row": 13
1034 | },
1035 | {
1036 | "col": 10,
1037 | "row": 13
1038 | },
1039 | {
1040 | "col": 10,
1041 | "row": 14
1042 | },
1043 | {
1044 | "col": 10,
1045 | "row": 15
1046 | },
1047 | {
1048 | "col": 10,
1049 | "row": 16
1050 | },
1051 | {
1052 | "col": 10,
1053 | "row": 17
1054 | },
1055 | {
1056 | "col": 10,
1057 | "row": 18
1058 | },
1059 | {
1060 | "col": 10,
1061 | "row": 19
1062 | },
1063 | {
1064 | "col": 9,
1065 | "row": 19
1066 | },
1067 | {
1068 | "col": 9,
1069 | "row": 20
1070 | },
1071 | {
1072 | "col": 9,
1073 | "row": 21
1074 | },
1075 | {
1076 | "col": 9,
1077 | "row": 22
1078 | },
1079 | {
1080 | "col": 9,
1081 | "row": 23
1082 | },
1083 | {
1084 | "col": 9,
1085 | "row": 24
1086 | },
1087 | {
1088 | "col": 9,
1089 | "row": 25
1090 | },
1091 | {
1092 | "col": 9,
1093 | "row": 26
1094 | },
1095 | {
1096 | "col": 10,
1097 | "row": 26
1098 | },
1099 | {
1100 | "col": 11,
1101 | "row": 26
1102 | },
1103 | {
1104 | "col": 12,
1105 | "row": 26
1106 | },
1107 | {
1108 | "col": 12,
1109 | "row": 27
1110 | },
1111 | {
1112 | "col": 12,
1113 | "row": 28
1114 | },
1115 | {
1116 | "col": 12,
1117 | "row": 29
1118 | },
1119 | {
1120 | "col": 11,
1121 | "row": 29
1122 | },
1123 | {
1124 | "col": 10,
1125 | "row": 29
1126 | },
1127 | {
1128 | "col": 10,
1129 | "row": 30
1130 | },
1131 | {
1132 | "col": 10,
1133 | "row": 31
1134 | },
1135 | {
1136 | "col": 10,
1137 | "row": 32
1138 | },
1139 | {
1140 | "col": 11,
1141 | "row": 32
1142 | },
1143 | {
1144 | "col": 12,
1145 | "row": 32
1146 | },
1147 | {
1148 | "col": 13,
1149 | "row": 32
1150 | },
1151 | {
1152 | "col": 14,
1153 | "row": 32
1154 | },
1155 | {
1156 | "col": 15,
1157 | "row": 32
1158 | },
1159 | {
1160 | "col": 16,
1161 | "row": 32
1162 | },
1163 | {
1164 | "col": 17,
1165 | "row": 32
1166 | },
1167 | {
1168 | "col": 17,
1169 | "row": 33
1170 | },
1171 | {
1172 | "col": 17,
1173 | "row": 34
1174 | },
1175 | {
1176 | "col": 17,
1177 | "row": 35
1178 | },
1179 | {
1180 | "col": 17,
1181 | "row": 36
1182 | },
1183 | {
1184 | "col": 17,
1185 | "row": 37
1186 | }
1187 | ],
1188 | "id": 5
1189 | }
1190 | ]
1191 | },
1192 | "gameConstants": {
1193 | "maxAP": 20,
1194 | "maxTurns": 180,
1195 | "turnTimeout": 800,
1196 | "pickTimeout": 5000,
1197 | "turnsToUpgrade": 23,
1198 | "turnsToSpell": 10,
1199 | "damageUpgradeAddition": 3,
1200 | "rangeUpgradeAddition": 1,
1201 | "deckSize": 9,
1202 | "handSize": 5,
1203 | "apAddition": 2
1204 | },
1205 | "baseUnits": [
1206 | {
1207 | "typeId": 0,
1208 | "maxHP": 16,
1209 | "baseAttack": 15,
1210 | "baseRange": 3,
1211 | "target": "BOTH",
1212 | "isFlying": false,
1213 | "isMultiple": false,
1214 | "ap": 5
1215 | },
1216 | {
1217 | "typeId": 1,
1218 | "maxHP": 25,
1219 | "baseAttack": 5,
1220 | "baseRange": 4,
1221 | "target": "GROUND",
1222 | "isFlying": false,
1223 | "isMultiple": true,
1224 | "ap": 4
1225 | },
1226 | {
1227 | "typeId": 2,
1228 | "maxHP": 15,
1229 | "baseAttack": 10,
1230 | "baseRange": 3,
1231 | "target": "AIR",
1232 | "isFlying": false,
1233 | "isMultiple": true,
1234 | "ap": 4
1235 | },
1236 | {
1237 | "typeId": 3,
1238 | "maxHP": 25,
1239 | "baseAttack": 15,
1240 | "baseRange": 1,
1241 | "target": "GROUND",
1242 | "isFlying": false,
1243 | "isMultiple": false,
1244 | "ap": 5
1245 | },
1246 | {
1247 | "typeId": 4,
1248 | "maxHP": 55,
1249 | "baseAttack": 10,
1250 | "baseRange": 1,
1251 | "target": "GROUND",
1252 | "isFlying": false,
1253 | "isMultiple": true,
1254 | "ap": 6
1255 | },
1256 | {
1257 | "typeId": 5,
1258 | "maxHP": 27,
1259 | "baseAttack": 5,
1260 | "baseRange": 1,
1261 | "target": "AIR",
1262 | "isFlying": true,
1263 | "isMultiple": false,
1264 | "ap": 3
1265 | },
1266 | {
1267 | "typeId": 6,
1268 | "maxHP": 15,
1269 | "baseAttack": 5,
1270 | "baseRange": 4,
1271 | "target": "BOTH",
1272 | "isFlying": true,
1273 | "isMultiple": false,
1274 | "ap": 3
1275 | },
1276 | {
1277 | "typeId": 7,
1278 | "maxHP": 25,
1279 | "baseAttack": 10,
1280 | "baseRange": 2,
1281 | "target": "GROUND",
1282 | "isFlying": true,
1283 | "isMultiple": true,
1284 | "ap": 5
1285 | },
1286 | {
1287 | "typeId": 8,
1288 | "maxHP": 20,
1289 | "baseAttack": 20,
1290 | "baseRange": 2,
1291 | "target": "BOTH",
1292 | "isFlying": true,
1293 | "isMultiple": false,
1294 | "ap": 6
1295 | }
1296 | ],
1297 | "spells": [
1298 | {
1299 | "type": "HASTE",
1300 | "typeId": 0,
1301 | "priority": 3,
1302 | "duration": 2,
1303 | "range": 1,
1304 | "power": 1,
1305 | "target": "ALLIED"
1306 | },
1307 | {
1308 | "type": "HP",
1309 | "typeId": 1,
1310 | "priority": 0,
1311 | "duration": 1,
1312 | "range": 1,
1313 | "power": -4,
1314 | "target": "ENEMY"
1315 | },
1316 | {
1317 | "type": "HP",
1318 | "typeId": 2,
1319 | "priority": 1,
1320 | "duration": 1,
1321 | "range": 1,
1322 | "power": 3,
1323 | "target": "ALLIED"
1324 | },
1325 | {
1326 | "type": "TELE",
1327 | "typeId": 3,
1328 | "priority": 2,
1329 | "duration": 1,
1330 | "range": null,
1331 | "power": null,
1332 | "target": "SELF"
1333 | },
1334 | {
1335 | "type": "DUPLICATE",
1336 | "typeId": 4,
1337 | "priority": 4,
1338 | "duration": 3,
1339 | "range": 0,
1340 | "power": 2,
1341 | "target": "ALLIED"
1342 | },
1343 | {
1344 | "type": "HP",
1345 | "typeId": 5,
1346 | "priority": 0,
1347 | "duration": 3,
1348 | "range": 1,
1349 | "power": -2,
1350 | "target": "ENEMY"
1351 | }
1352 | ]
1353 | }
1354 |
--------------------------------------------------------------------------------
/maps/map7.map:
--------------------------------------------------------------------------------
1 | {
2 | "map": {
3 | "cols": 20,
4 | "rows": 40,
5 | "kings": [
6 | {
7 | "playerId": 0,
8 | "center": {
9 | "col": 2,
10 | "row": 37
11 | },
12 | "hp": 90,
13 | "attack": 10,
14 | "range": 6
15 | },
16 | {
17 | "playerId": 1,
18 | "center": {
19 | "col": 17,
20 | "row": 37
21 | },
22 | "hp": 90,
23 | "attack": 10,
24 | "range": 6
25 | },
26 | {
27 | "playerId": 2,
28 | "center": {
29 | "col": 2,
30 | "row": 2
31 | },
32 | "hp": 90,
33 | "attack": 10,
34 | "range": 6
35 | },
36 | {
37 | "playerId": 3,
38 | "center": {
39 | "col": 17,
40 | "row": 2
41 | },
42 | "hp": 90,
43 | "attack": 10,
44 | "range": 6
45 | }
46 | ],
47 | "paths": [
48 | {
49 | "cells": [
50 | {
51 | "col": 2,
52 | "row": 37
53 | },
54 | {
55 | "col": 3,
56 | "row": 37
57 | },
58 | {
59 | "col": 4,
60 | "row": 37
61 | },
62 | {
63 | "col": 5,
64 | "row": 37
65 | },
66 | {
67 | "col": 6,
68 | "row": 37
69 | },
70 | {
71 | "col": 7,
72 | "row": 37
73 | },
74 | {
75 | "col": 8,
76 | "row": 37
77 | },
78 | {
79 | "col": 9,
80 | "row": 37
81 | },
82 | {
83 | "col": 10,
84 | "row": 37
85 | },
86 | {
87 | "col": 11,
88 | "row": 37
89 | },
90 | {
91 | "col": 12,
92 | "row": 37
93 | },
94 | {
95 | "col": 13,
96 | "row": 37
97 | },
98 | {
99 | "col": 14,
100 | "row": 37
101 | },
102 | {
103 | "col": 15,
104 | "row": 37
105 | },
106 | {
107 | "col": 16,
108 | "row": 37
109 | },
110 | {
111 | "col": 17,
112 | "row": 37
113 | }
114 | ],
115 | "id": 0
116 | },
117 | {
118 | "cells": [
119 | {
120 | "col": 2,
121 | "row": 2
122 | },
123 | {
124 | "col": 3,
125 | "row": 2
126 | },
127 | {
128 | "col": 4,
129 | "row": 2
130 | },
131 | {
132 | "col": 5,
133 | "row": 2
134 | },
135 | {
136 | "col": 6,
137 | "row": 2
138 | },
139 | {
140 | "col": 7,
141 | "row": 2
142 | },
143 | {
144 | "col": 8,
145 | "row": 2
146 | },
147 | {
148 | "col": 9,
149 | "row": 2
150 | },
151 | {
152 | "col": 10,
153 | "row": 2
154 | },
155 | {
156 | "col": 11,
157 | "row": 2
158 | },
159 | {
160 | "col": 12,
161 | "row": 2
162 | },
163 | {
164 | "col": 13,
165 | "row": 2
166 | },
167 | {
168 | "col": 14,
169 | "row": 2
170 | },
171 | {
172 | "col": 15,
173 | "row": 2
174 | },
175 | {
176 | "col": 16,
177 | "row": 2
178 | },
179 | {
180 | "col": 17,
181 | "row": 2
182 | }
183 | ],
184 | "id": 1
185 | },
186 | {
187 | "cells": [
188 | {
189 | "col": 2,
190 | "row": 37
191 | },
192 | {
193 | "col": 2,
194 | "row": 36
195 | },
196 | {
197 | "col": 2,
198 | "row": 35
199 | },
200 | {
201 | "col": 2,
202 | "row": 34
203 | },
204 | {
205 | "col": 2,
206 | "row": 33
207 | },
208 | {
209 | "col": 2,
210 | "row": 32
211 | },
212 | {
213 | "col": 3,
214 | "row": 32
215 | },
216 | {
217 | "col": 4,
218 | "row": 32
219 | },
220 | {
221 | "col": 5,
222 | "row": 32
223 | },
224 | {
225 | "col": 6,
226 | "row": 32
227 | },
228 | {
229 | "col": 7,
230 | "row": 32
231 | },
232 | {
233 | "col": 8,
234 | "row": 32
235 | },
236 | {
237 | "col": 9,
238 | "row": 32
239 | },
240 | {
241 | "col": 10,
242 | "row": 32
243 | },
244 | {
245 | "col": 10,
246 | "row": 31
247 | },
248 | {
249 | "col": 10,
250 | "row": 30
251 | },
252 | {
253 | "col": 10,
254 | "row": 29
255 | },
256 | {
257 | "col": 10,
258 | "row": 28
259 | },
260 | {
261 | "col": 10,
262 | "row": 27
263 | },
264 | {
265 | "col": 11,
266 | "row": 27
267 | },
268 | {
269 | "col": 12,
270 | "row": 27
271 | },
272 | {
273 | "col": 12,
274 | "row": 26
275 | },
276 | {
277 | "col": 12,
278 | "row": 25
279 | },
280 | {
281 | "col": 12,
282 | "row": 24
283 | },
284 | {
285 | "col": 12,
286 | "row": 23
287 | },
288 | {
289 | "col": 12,
290 | "row": 22
291 | },
292 | {
293 | "col": 11,
294 | "row": 22
295 | },
296 | {
297 | "col": 10,
298 | "row": 22
299 | },
300 | {
301 | "col": 9,
302 | "row": 22
303 | },
304 | {
305 | "col": 9,
306 | "row": 21
307 | },
308 | {
309 | "col": 9,
310 | "row": 20
311 | },
312 | {
313 | "col": 9,
314 | "row": 19
315 | },
316 | {
317 | "col": 9,
318 | "row": 18
319 | },
320 | {
321 | "col": 9,
322 | "row": 17
323 | },
324 | {
325 | "col": 8,
326 | "row": 17
327 | },
328 | {
329 | "col": 7,
330 | "row": 17
331 | },
332 | {
333 | "col": 6,
334 | "row": 17
335 | },
336 | {
337 | "col": 5,
338 | "row": 17
339 | },
340 | {
341 | "col": 4,
342 | "row": 17
343 | },
344 | {
345 | "col": 3,
346 | "row": 17
347 | },
348 | {
349 | "col": 2,
350 | "row": 17
351 | },
352 | {
353 | "col": 2,
354 | "row": 16
355 | },
356 | {
357 | "col": 2,
358 | "row": 15
359 | },
360 | {
361 | "col": 2,
362 | "row": 14
363 | },
364 | {
365 | "col": 2,
366 | "row": 13
367 | },
368 | {
369 | "col": 2,
370 | "row": 12
371 | },
372 | {
373 | "col": 3,
374 | "row": 12
375 | },
376 | {
377 | "col": 4,
378 | "row": 12
379 | },
380 | {
381 | "col": 5,
382 | "row": 12
383 | },
384 | {
385 | "col": 6,
386 | "row": 12
387 | },
388 | {
389 | "col": 7,
390 | "row": 12
391 | },
392 | {
393 | "col": 8,
394 | "row": 12
395 | },
396 | {
397 | "col": 9,
398 | "row": 12
399 | },
400 | {
401 | "col": 10,
402 | "row": 12
403 | },
404 | {
405 | "col": 10,
406 | "row": 11
407 | },
408 | {
409 | "col": 10,
410 | "row": 10
411 | },
412 | {
413 | "col": 10,
414 | "row": 9
415 | },
416 | {
417 | "col": 10,
418 | "row": 8
419 | },
420 | {
421 | "col": 10,
422 | "row": 7
423 | },
424 | {
425 | "col": 11,
426 | "row": 7
427 | },
428 | {
429 | "col": 12,
430 | "row": 7
431 | },
432 | {
433 | "col": 13,
434 | "row": 7
435 | },
436 | {
437 | "col": 14,
438 | "row": 7
439 | },
440 | {
441 | "col": 15,
442 | "row": 7
443 | },
444 | {
445 | "col": 16,
446 | "row": 7
447 | },
448 | {
449 | "col": 17,
450 | "row": 7
451 | },
452 | {
453 | "col": 17,
454 | "row": 6
455 | },
456 | {
457 | "col": 17,
458 | "row": 5
459 | },
460 | {
461 | "col": 17,
462 | "row": 4
463 | },
464 | {
465 | "col": 17,
466 | "row": 3
467 | },
468 | {
469 | "col": 17,
470 | "row": 2
471 | }
472 | ],
473 | "id": 2
474 | },
475 | {
476 | "cells": [
477 | {
478 | "col": 2,
479 | "row": 2
480 | },
481 | {
482 | "col": 2,
483 | "row": 3
484 | },
485 | {
486 | "col": 2,
487 | "row": 4
488 | },
489 | {
490 | "col": 2,
491 | "row": 5
492 | },
493 | {
494 | "col": 2,
495 | "row": 6
496 | },
497 | {
498 | "col": 2,
499 | "row": 7
500 | },
501 | {
502 | "col": 3,
503 | "row": 7
504 | },
505 | {
506 | "col": 4,
507 | "row": 7
508 | },
509 | {
510 | "col": 5,
511 | "row": 7
512 | },
513 | {
514 | "col": 6,
515 | "row": 7
516 | },
517 | {
518 | "col": 7,
519 | "row": 7
520 | },
521 | {
522 | "col": 8,
523 | "row": 7
524 | },
525 | {
526 | "col": 9,
527 | "row": 7
528 | },
529 | {
530 | "col": 9,
531 | "row": 8
532 | },
533 | {
534 | "col": 9,
535 | "row": 9
536 | },
537 | {
538 | "col": 9,
539 | "row": 10
540 | },
541 | {
542 | "col": 9,
543 | "row": 11
544 | },
545 | {
546 | "col": 9,
547 | "row": 12
548 | },
549 | {
550 | "col": 10,
551 | "row": 12
552 | },
553 | {
554 | "col": 11,
555 | "row": 12
556 | },
557 | {
558 | "col": 12,
559 | "row": 12
560 | },
561 | {
562 | "col": 13,
563 | "row": 12
564 | },
565 | {
566 | "col": 14,
567 | "row": 12
568 | },
569 | {
570 | "col": 15,
571 | "row": 12
572 | },
573 | {
574 | "col": 16,
575 | "row": 12
576 | },
577 | {
578 | "col": 17,
579 | "row": 12
580 | },
581 | {
582 | "col": 17,
583 | "row": 13
584 | },
585 | {
586 | "col": 17,
587 | "row": 14
588 | },
589 | {
590 | "col": 17,
591 | "row": 15
592 | },
593 | {
594 | "col": 17,
595 | "row": 16
596 | },
597 | {
598 | "col": 17,
599 | "row": 17
600 | },
601 | {
602 | "col": 16,
603 | "row": 17
604 | },
605 | {
606 | "col": 15,
607 | "row": 17
608 | },
609 | {
610 | "col": 14,
611 | "row": 17
612 | },
613 | {
614 | "col": 13,
615 | "row": 17
616 | },
617 | {
618 | "col": 12,
619 | "row": 17
620 | },
621 | {
622 | "col": 11,
623 | "row": 17
624 | },
625 | {
626 | "col": 10,
627 | "row": 17
628 | },
629 | {
630 | "col": 10,
631 | "row": 18
632 | },
633 | {
634 | "col": 10,
635 | "row": 19
636 | },
637 | {
638 | "col": 10,
639 | "row": 20
640 | },
641 | {
642 | "col": 10,
643 | "row": 21
644 | },
645 | {
646 | "col": 10,
647 | "row": 22
648 | },
649 | {
650 | "col": 9,
651 | "row": 22
652 | },
653 | {
654 | "col": 8,
655 | "row": 22
656 | },
657 | {
658 | "col": 7,
659 | "row": 22
660 | },
661 | {
662 | "col": 7,
663 | "row": 23
664 | },
665 | {
666 | "col": 7,
667 | "row": 24
668 | },
669 | {
670 | "col": 7,
671 | "row": 25
672 | },
673 | {
674 | "col": 7,
675 | "row": 26
676 | },
677 | {
678 | "col": 7,
679 | "row": 27
680 | },
681 | {
682 | "col": 8,
683 | "row": 27
684 | },
685 | {
686 | "col": 9,
687 | "row": 27
688 | },
689 | {
690 | "col": 9,
691 | "row": 28
692 | },
693 | {
694 | "col": 9,
695 | "row": 29
696 | },
697 | {
698 | "col": 9,
699 | "row": 30
700 | },
701 | {
702 | "col": 9,
703 | "row": 31
704 | },
705 | {
706 | "col": 9,
707 | "row": 32
708 | },
709 | {
710 | "col": 10,
711 | "row": 32
712 | },
713 | {
714 | "col": 11,
715 | "row": 32
716 | },
717 | {
718 | "col": 12,
719 | "row": 32
720 | },
721 | {
722 | "col": 13,
723 | "row": 32
724 | },
725 | {
726 | "col": 14,
727 | "row": 32
728 | },
729 | {
730 | "col": 15,
731 | "row": 32
732 | },
733 | {
734 | "col": 16,
735 | "row": 32
736 | },
737 | {
738 | "col": 17,
739 | "row": 32
740 | },
741 | {
742 | "col": 17,
743 | "row": 33
744 | },
745 | {
746 | "col": 17,
747 | "row": 34
748 | },
749 | {
750 | "col": 17,
751 | "row": 35
752 | },
753 | {
754 | "col": 17,
755 | "row": 36
756 | },
757 | {
758 | "col": 17,
759 | "row": 37
760 | }
761 | ],
762 | "id": 3
763 | },
764 | {
765 | "cells": [
766 | {
767 | "col": 2,
768 | "row": 2
769 | },
770 | {
771 | "col": 2,
772 | "row": 3
773 | },
774 | {
775 | "col": 2,
776 | "row": 4
777 | },
778 | {
779 | "col": 2,
780 | "row": 5
781 | },
782 | {
783 | "col": 2,
784 | "row": 6
785 | },
786 | {
787 | "col": 2,
788 | "row": 7
789 | },
790 | {
791 | "col": 3,
792 | "row": 7
793 | },
794 | {
795 | "col": 4,
796 | "row": 7
797 | },
798 | {
799 | "col": 5,
800 | "row": 7
801 | },
802 | {
803 | "col": 6,
804 | "row": 7
805 | },
806 | {
807 | "col": 7,
808 | "row": 7
809 | },
810 | {
811 | "col": 8,
812 | "row": 7
813 | },
814 | {
815 | "col": 9,
816 | "row": 7
817 | },
818 | {
819 | "col": 10,
820 | "row": 7
821 | },
822 | {
823 | "col": 10,
824 | "row": 8
825 | },
826 | {
827 | "col": 10,
828 | "row": 9
829 | },
830 | {
831 | "col": 10,
832 | "row": 10
833 | },
834 | {
835 | "col": 10,
836 | "row": 11
837 | },
838 | {
839 | "col": 10,
840 | "row": 12
841 | },
842 | {
843 | "col": 9,
844 | "row": 12
845 | },
846 | {
847 | "col": 8,
848 | "row": 12
849 | },
850 | {
851 | "col": 7,
852 | "row": 12
853 | },
854 | {
855 | "col": 7,
856 | "row": 13
857 | },
858 | {
859 | "col": 7,
860 | "row": 14
861 | },
862 | {
863 | "col": 7,
864 | "row": 15
865 | },
866 | {
867 | "col": 7,
868 | "row": 16
869 | },
870 | {
871 | "col": 7,
872 | "row": 17
873 | },
874 | {
875 | "col": 8,
876 | "row": 17
877 | },
878 | {
879 | "col": 9,
880 | "row": 17
881 | },
882 | {
883 | "col": 9,
884 | "row": 18
885 | },
886 | {
887 | "col": 9,
888 | "row": 19
889 | },
890 | {
891 | "col": 9,
892 | "row": 20
893 | },
894 | {
895 | "col": 9,
896 | "row": 21
897 | },
898 | {
899 | "col": 9,
900 | "row": 22
901 | },
902 | {
903 | "col": 10,
904 | "row": 22
905 | },
906 | {
907 | "col": 11,
908 | "row": 22
909 | },
910 | {
911 | "col": 12,
912 | "row": 22
913 | },
914 | {
915 | "col": 13,
916 | "row": 22
917 | },
918 | {
919 | "col": 14,
920 | "row": 22
921 | },
922 | {
923 | "col": 15,
924 | "row": 22
925 | },
926 | {
927 | "col": 16,
928 | "row": 22
929 | },
930 | {
931 | "col": 17,
932 | "row": 22
933 | },
934 | {
935 | "col": 17,
936 | "row": 23
937 | },
938 | {
939 | "col": 17,
940 | "row": 24
941 | },
942 | {
943 | "col": 17,
944 | "row": 25
945 | },
946 | {
947 | "col": 17,
948 | "row": 26
949 | },
950 | {
951 | "col": 17,
952 | "row": 27
953 | },
954 | {
955 | "col": 16,
956 | "row": 27
957 | },
958 | {
959 | "col": 15,
960 | "row": 27
961 | },
962 | {
963 | "col": 14,
964 | "row": 27
965 | },
966 | {
967 | "col": 13,
968 | "row": 27
969 | },
970 | {
971 | "col": 12,
972 | "row": 27
973 | },
974 | {
975 | "col": 11,
976 | "row": 27
977 | },
978 | {
979 | "col": 10,
980 | "row": 27
981 | },
982 | {
983 | "col": 10,
984 | "row": 28
985 | },
986 | {
987 | "col": 10,
988 | "row": 29
989 | },
990 | {
991 | "col": 10,
992 | "row": 30
993 | },
994 | {
995 | "col": 10,
996 | "row": 31
997 | },
998 | {
999 | "col": 10,
1000 | "row": 32
1001 | },
1002 | {
1003 | "col": 9,
1004 | "row": 32
1005 | },
1006 | {
1007 | "col": 8,
1008 | "row": 32
1009 | },
1010 | {
1011 | "col": 7,
1012 | "row": 32
1013 | },
1014 | {
1015 | "col": 6,
1016 | "row": 32
1017 | },
1018 | {
1019 | "col": 5,
1020 | "row": 32
1021 | },
1022 | {
1023 | "col": 4,
1024 | "row": 32
1025 | },
1026 | {
1027 | "col": 3,
1028 | "row": 32
1029 | },
1030 | {
1031 | "col": 2,
1032 | "row": 32
1033 | },
1034 | {
1035 | "col": 2,
1036 | "row": 33
1037 | },
1038 | {
1039 | "col": 2,
1040 | "row": 34
1041 | },
1042 | {
1043 | "col": 2,
1044 | "row": 35
1045 | },
1046 | {
1047 | "col": 2,
1048 | "row": 36
1049 | },
1050 | {
1051 | "col": 2,
1052 | "row": 37
1053 | }
1054 | ],
1055 | "id": 4
1056 | },
1057 | {
1058 | "cells": [
1059 | {
1060 | "col": 17,
1061 | "row": 2
1062 | },
1063 | {
1064 | "col": 17,
1065 | "row": 3
1066 | },
1067 | {
1068 | "col": 17,
1069 | "row": 4
1070 | },
1071 | {
1072 | "col": 17,
1073 | "row": 5
1074 | },
1075 | {
1076 | "col": 17,
1077 | "row": 6
1078 | },
1079 | {
1080 | "col": 17,
1081 | "row": 7
1082 | },
1083 | {
1084 | "col": 16,
1085 | "row": 7
1086 | },
1087 | {
1088 | "col": 15,
1089 | "row": 7
1090 | },
1091 | {
1092 | "col": 14,
1093 | "row": 7
1094 | },
1095 | {
1096 | "col": 13,
1097 | "row": 7
1098 | },
1099 | {
1100 | "col": 12,
1101 | "row": 7
1102 | },
1103 | {
1104 | "col": 11,
1105 | "row": 7
1106 | },
1107 | {
1108 | "col": 10,
1109 | "row": 7
1110 | },
1111 | {
1112 | "col": 9,
1113 | "row": 7
1114 | },
1115 | {
1116 | "col": 9,
1117 | "row": 8
1118 | },
1119 | {
1120 | "col": 9,
1121 | "row": 9
1122 | },
1123 | {
1124 | "col": 9,
1125 | "row": 10
1126 | },
1127 | {
1128 | "col": 9,
1129 | "row": 11
1130 | },
1131 | {
1132 | "col": 9,
1133 | "row": 12
1134 | },
1135 | {
1136 | "col": 10,
1137 | "row": 12
1138 | },
1139 | {
1140 | "col": 11,
1141 | "row": 12
1142 | },
1143 | {
1144 | "col": 12,
1145 | "row": 12
1146 | },
1147 | {
1148 | "col": 12,
1149 | "row": 13
1150 | },
1151 | {
1152 | "col": 12,
1153 | "row": 14
1154 | },
1155 | {
1156 | "col": 12,
1157 | "row": 15
1158 | },
1159 | {
1160 | "col": 12,
1161 | "row": 16
1162 | },
1163 | {
1164 | "col": 12,
1165 | "row": 17
1166 | },
1167 | {
1168 | "col": 11,
1169 | "row": 17
1170 | },
1171 | {
1172 | "col": 10,
1173 | "row": 17
1174 | },
1175 | {
1176 | "col": 10,
1177 | "row": 18
1178 | },
1179 | {
1180 | "col": 10,
1181 | "row": 19
1182 | },
1183 | {
1184 | "col": 10,
1185 | "row": 20
1186 | },
1187 | {
1188 | "col": 10,
1189 | "row": 21
1190 | },
1191 | {
1192 | "col": 10,
1193 | "row": 22
1194 | },
1195 | {
1196 | "col": 9,
1197 | "row": 22
1198 | },
1199 | {
1200 | "col": 8,
1201 | "row": 22
1202 | },
1203 | {
1204 | "col": 7,
1205 | "row": 22
1206 | },
1207 | {
1208 | "col": 6,
1209 | "row": 22
1210 | },
1211 | {
1212 | "col": 5,
1213 | "row": 22
1214 | },
1215 | {
1216 | "col": 4,
1217 | "row": 22
1218 | },
1219 | {
1220 | "col": 3,
1221 | "row": 22
1222 | },
1223 | {
1224 | "col": 2,
1225 | "row": 22
1226 | },
1227 | {
1228 | "col": 2,
1229 | "row": 23
1230 | },
1231 | {
1232 | "col": 2,
1233 | "row": 24
1234 | },
1235 | {
1236 | "col": 2,
1237 | "row": 25
1238 | },
1239 | {
1240 | "col": 2,
1241 | "row": 26
1242 | },
1243 | {
1244 | "col": 2,
1245 | "row": 27
1246 | },
1247 | {
1248 | "col": 3,
1249 | "row": 27
1250 | },
1251 | {
1252 | "col": 4,
1253 | "row": 27
1254 | },
1255 | {
1256 | "col": 5,
1257 | "row": 27
1258 | },
1259 | {
1260 | "col": 6,
1261 | "row": 27
1262 | },
1263 | {
1264 | "col": 7,
1265 | "row": 27
1266 | },
1267 | {
1268 | "col": 8,
1269 | "row": 27
1270 | },
1271 | {
1272 | "col": 9,
1273 | "row": 27
1274 | },
1275 | {
1276 | "col": 9,
1277 | "row": 28
1278 | },
1279 | {
1280 | "col": 9,
1281 | "row": 29
1282 | },
1283 | {
1284 | "col": 9,
1285 | "row": 30
1286 | },
1287 | {
1288 | "col": 9,
1289 | "row": 31
1290 | },
1291 | {
1292 | "col": 9,
1293 | "row": 32
1294 | },
1295 | {
1296 | "col": 10,
1297 | "row": 32
1298 | },
1299 | {
1300 | "col": 11,
1301 | "row": 32
1302 | },
1303 | {
1304 | "col": 12,
1305 | "row": 32
1306 | },
1307 | {
1308 | "col": 13,
1309 | "row": 32
1310 | },
1311 | {
1312 | "col": 14,
1313 | "row": 32
1314 | },
1315 | {
1316 | "col": 15,
1317 | "row": 32
1318 | },
1319 | {
1320 | "col": 16,
1321 | "row": 32
1322 | },
1323 | {
1324 | "col": 17,
1325 | "row": 32
1326 | },
1327 | {
1328 | "col": 17,
1329 | "row": 33
1330 | },
1331 | {
1332 | "col": 17,
1333 | "row": 34
1334 | },
1335 | {
1336 | "col": 17,
1337 | "row": 35
1338 | },
1339 | {
1340 | "col": 17,
1341 | "row": 36
1342 | },
1343 | {
1344 | "col": 17,
1345 | "row": 37
1346 | }
1347 | ],
1348 | "id": 5
1349 | }
1350 | ]
1351 | },
1352 | "gameConstants": {
1353 | "maxAP": 20,
1354 | "maxTurns": 180,
1355 | "turnTimeout": 800,
1356 | "pickTimeout": 5000,
1357 | "turnsToUpgrade": 23,
1358 | "turnsToSpell": 10,
1359 | "damageUpgradeAddition": 3,
1360 | "rangeUpgradeAddition": 1,
1361 | "deckSize": 9,
1362 | "handSize": 5,
1363 | "apAddition": 2
1364 | },
1365 | "baseUnits": [
1366 | {
1367 | "typeId": 0,
1368 | "maxHP": 16,
1369 | "baseAttack": 15,
1370 | "baseRange": 3,
1371 | "target": "BOTH",
1372 | "isFlying": false,
1373 | "isMultiple": false,
1374 | "ap": 5
1375 | },
1376 | {
1377 | "typeId": 1,
1378 | "maxHP": 25,
1379 | "baseAttack": 5,
1380 | "baseRange": 4,
1381 | "target": "GROUND",
1382 | "isFlying": false,
1383 | "isMultiple": true,
1384 | "ap": 4
1385 | },
1386 | {
1387 | "typeId": 2,
1388 | "maxHP": 15,
1389 | "baseAttack": 10,
1390 | "baseRange": 3,
1391 | "target": "AIR",
1392 | "isFlying": false,
1393 | "isMultiple": true,
1394 | "ap": 4
1395 | },
1396 | {
1397 | "typeId": 3,
1398 | "maxHP": 25,
1399 | "baseAttack": 15,
1400 | "baseRange": 1,
1401 | "target": "GROUND",
1402 | "isFlying": false,
1403 | "isMultiple": false,
1404 | "ap": 5
1405 | },
1406 | {
1407 | "typeId": 4,
1408 | "maxHP": 55,
1409 | "baseAttack": 10,
1410 | "baseRange": 1,
1411 | "target": "GROUND",
1412 | "isFlying": false,
1413 | "isMultiple": true,
1414 | "ap": 6
1415 | },
1416 | {
1417 | "typeId": 5,
1418 | "maxHP": 27,
1419 | "baseAttack": 5,
1420 | "baseRange": 1,
1421 | "target": "AIR",
1422 | "isFlying": true,
1423 | "isMultiple": false,
1424 | "ap": 3
1425 | },
1426 | {
1427 | "typeId": 6,
1428 | "maxHP": 15,
1429 | "baseAttack": 5,
1430 | "baseRange": 4,
1431 | "target": "BOTH",
1432 | "isFlying": true,
1433 | "isMultiple": false,
1434 | "ap": 3
1435 | },
1436 | {
1437 | "typeId": 7,
1438 | "maxHP": 25,
1439 | "baseAttack": 10,
1440 | "baseRange": 2,
1441 | "target": "GROUND",
1442 | "isFlying": true,
1443 | "isMultiple": true,
1444 | "ap": 5
1445 | },
1446 | {
1447 | "typeId": 8,
1448 | "maxHP": 20,
1449 | "baseAttack": 20,
1450 | "baseRange": 2,
1451 | "target": "BOTH",
1452 | "isFlying": true,
1453 | "isMultiple": false,
1454 | "ap": 6
1455 | }
1456 | ],
1457 | "spells": [
1458 | {
1459 | "type": "HASTE",
1460 | "typeId": 0,
1461 | "priority": 3,
1462 | "duration": 2,
1463 | "range": 1,
1464 | "power": 1,
1465 | "target": "ALLIED"
1466 | },
1467 | {
1468 | "type": "HP",
1469 | "typeId": 1,
1470 | "priority": 0,
1471 | "duration": 1,
1472 | "range": 1,
1473 | "power": -4,
1474 | "target": "ENEMY"
1475 | },
1476 | {
1477 | "type": "HP",
1478 | "typeId": 2,
1479 | "priority": 1,
1480 | "duration": 1,
1481 | "range": 1,
1482 | "power": 3,
1483 | "target": "ALLIED"
1484 | },
1485 | {
1486 | "type": "TELE",
1487 | "typeId": 3,
1488 | "priority": 2,
1489 | "duration": 1,
1490 | "range": null,
1491 | "power": null,
1492 | "target": "SELF"
1493 | },
1494 | {
1495 | "type": "DUPLICATE",
1496 | "typeId": 4,
1497 | "priority": 4,
1498 | "duration": 3,
1499 | "range": 0,
1500 | "power": 2,
1501 | "target": "ALLIED"
1502 | },
1503 | {
1504 | "type": "HP",
1505 | "typeId": 5,
1506 | "priority": 0,
1507 | "duration": 3,
1508 | "range": 1,
1509 | "power": -2,
1510 | "target": "ENEMY"
1511 | }
1512 | ]
1513 | }
1514 |
--------------------------------------------------------------------------------