diff options
author | Tor Andersson <tor@ccxvii.net> | 2023-04-14 15:56:18 +0200 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2023-05-03 18:48:16 +0200 |
commit | 2134b456150212808274fa0ec98c56d69c08d51a (patch) | |
tree | e1164c6e431b03d9367cf7ffae0eb6b88edafa7e | |
parent | 77b270991aa4741870c8871c9bd3d5140c1cb969 (diff) | |
download | andean-abyss-2134b456150212808274fa0ec98c56d69c08d51a.tar.gz |
Add layout generation script to Makefile.
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | play.css | 5 | ||||
-rw-r--r-- | play.html | 4 | ||||
-rw-r--r-- | play.js | 466 | ||||
-rw-r--r-- | rules.js | 5 | ||||
-rw-r--r-- | tools/genlayout.py | 3 | ||||
-rw-r--r-- | tools/layout.svg | 1984 | ||||
-rw-r--r-- | tools/makelayout.js | 94 |
8 files changed, 1652 insertions, 918 deletions
@@ -1,7 +1,12 @@ -default: data.js rules.js +default: data.js rules.js play.js data.js: tools/gendata.js node tools/gendata.js -default rules.js: events.txt +rules.js: events.txt sed '/const CODE /,$$d' < rules.js > /tmp/rules.js node tools/gencode.js >> /tmp/rules.js cp /tmp/rules.js rules.js +play.js: tools/layout.svg tools/genlayout.py + sed -n -e '1,/BEGIN LAYOUT DATA/p' < play.js > /tmp/play.js + python3 tools/genlayout.py >> /tmp/play.js + sed -n -e '/END LAYOUT DATA/,$$p' < play.js >> /tmp/play.js + cp /tmp/play.js play.js @@ -154,6 +154,11 @@ path.tip { stroke: yellow; } .farc.guerrilla.active { background-image: url(images/farc_guerrilla_active.svg) } .farc.base { background-image: url(images/farc_base.svg) } +.base { border-radius: 15px; } +.guerrilla { border-radius: 8px; } +.police, .troops { border-radius: 14px 14px / 10px 10px; } + + /* TOKENS */ .token { @@ -174,8 +174,8 @@ <div class="token" id="token_total_support"></div> <div class="token" id="token_el_presidente" style="left:254px;top:245px"></div> <div class="token" id="token_prop_card" style="left:1029px;top:666px"></div> -<div id="rem_darien" class="token reminder darien hide" style="left:160px;top:655px"></div> -<div id="rem_sucumbios" class="token reminder sucumbios hide" style="left:10px;top:1740px"></div> +<div id="rem_darien" class="token reminder darien hide" style="left:140px;top:822px"></div> +<div id="rem_sucumbios" class="token reminder sucumbios hide" style="left:7px;top:1875px"></div> </div> <div id="pieces"> @@ -2,7 +2,184 @@ /* global view, data, player, send_action, action_button */ -// TODO: layout loc +// :r !python3 tools/genlayout.py +// BEGIN LAYOUT DATA +const LAYOUT = { + "Santa Marta": [682, 436], + "Cartagena": [500, 512], + "Sincelejo": [514, 708], + "Medellin": [513, 1066], + "Ibague": [507, 1278], + "Cali": [391, 1497], + "Pasto": [274, 1783], + "Neiva": [589, 1542], + "Bogota": [754, 1336], + "Bucaramanga": [839, 980], + "Cucuta": [951, 864], + "Guainia": [1409, 1542], + "Vaupes": [1167, 1785], + "Amazonas": [1085, 2064], + "Vichada": [1340, 1274], + "Ecuador": [94, 1792], + "Panama": [188, 686], + "Cesar": [802, 533], + "Atlantico": [646, 642], + "Antioquia": [666, 910], + "Choco": [373, 1040], + "Narino": [212, 1642], + "Huila": [457, 1628], + "Santander": [818, 1177], + "Arauca": [1092, 1128], + "Meta East": [973, 1410], + "Meta West": [720, 1539], + "Guaviare": [976, 1669], + "Putumayo": [680, 1826], + "Sincelejo / Ayacucho": [642, 696], + "Cucuta / Arauca": [994, 977], + "Bucaramanga / Ibague / Bogota": [626, 1224], + "Bogota / Yopal": [887, 1276], + "Bogota / Neiva": [612, 1414], + "Bogota / San Jose": [826, 1474], + "Neiva / Pasto": [530, 1698], + "Pasto / Tumaco": [146, 1766], + "Cali / Pasto": [348, 1625], + "Cali / Buenaventura": [368, 1412], + "Ibague / Cali": [436, 1362], + "Medellin / Ibague": [511, 1169], + "Cartagena / Sincelejo": [514, 613], + "Sincelejo / Medellin": [563, 876], + "Bucaramanga / Ayacucho": [778, 830], + "Cucuta / Ayacucho": [872, 708], + "Santa Marta / Ayacucho": [746, 601], + "Santa Marta / Cartagena": [588, 466], + "Atlantico Govt": [619, 504], + "Atlantico AUC": [580, 603], + "Atlantico Cartels": [634, 548], + "Atlantico FARC": [702, 664], + "Atlantico DRUGS": [713, 573], + "Choco Govt": [338, 1097], + "Choco AUC": [366, 915], + "Choco Cartels": [337, 1275], + "Choco FARC": [396, 1186], + "Choco DRUGS": [456, 957], + "Narino Govt": [185, 1562], + "Narino AUC": [293, 1554], + "Narino Cartels": [217, 1688], + "Narino FARC": [140, 1687], + "Narino DRUGS": [274, 1469], + "Meta West Govt": [678, 1461], + "Meta West AUC": [679, 1549], + "Meta West Cartels": [819, 1540], + "Meta West FARC": [702, 1632], + "Meta West DRUGS": [763, 1480], + "Guaviare Govt": [907, 1615], + "Guaviare AUC": [1091, 1603], + "Guaviare Cartels": [972, 1724], + "Guaviare FARC": [837, 1682], + "Guaviare DRUGS": [969, 1584], + "Putumayo Govt": [552, 1798], + "Putumayo AUC": [621, 1866], + "Putumayo Cartels": [882, 1876], + "Putumayo FARC": [749, 1886], + "Putumayo DRUGS": [638, 1715], + "Cesar Govt": [805, 437], + "Cesar AUC": [819, 584], + "Cesar Cartels": [985, 338], + "Cesar FARC": [901, 399], + "Cesar DRUGS": [1054, 298], + "Antioquia Govt": [621, 766], + "Antioquia AUC": [715, 807], + "Antioquia Cartels": [603, 978], + "Antioquia FARC": [703, 965], + "Antioquia DRUGS": [594, 1138], + "Santander Govt": [848, 824], + "Santander AUC": [779, 1074], + "Santander Cartels": [824, 1219], + "Santander FARC": [716, 1180], + "Santander DRUGS": [880, 1089], + "Huila Govt": [618, 1318], + "Huila AUC": [504, 1498], + "Huila Cartels": [547, 1402], + "Huila FARC": [410, 1688], + "Huila DRUGS": [383, 1766], + "Arauca Govt": [981, 1113], + "Arauca AUC": [1217, 1036], + "Arauca Cartels": [1196, 1118], + "Arauca FARC": [1062, 1195], + "Arauca DRUGS": [1073, 1033], + "Meta East Govt": [964, 1283], + "Meta East AUC": [870, 1385], + "Meta East Cartels": [1036, 1445], + "Meta East FARC": [931, 1460], + "Meta East DRUGS": [1055, 1326], + "Vichada Govt": [1246, 1255], + "Vichada AUC": [1278, 1344], + "Vichada Cartels": [1392, 1333], + "Vichada FARC": [1415, 1220], + "Vichada DRUGS": [1315, 1182], + "Guainia Govt": [1314, 1498], + "Guainia AUC": [1490, 1460], + "Guainia Cartels": [1489, 1582], + "Guainia FARC": [1328, 1596], + "Guainia DRUGS": [1413, 1628], + "Vaupes Govt": [1101, 1752], + "Vaupes AUC": [1212, 1720], + "Vaupes Cartels": [1183, 1871], + "Vaupes FARC": [1091, 1835], + "Vaupes DRUGS": [1259, 1801], + "Amazonas Govt": [987, 2038], + "Amazonas AUC": [881, 2072], + "Amazonas Cartels": [1048, 2132], + "Amazonas FARC": [940, 2154], + "Amazonas DRUGS": [1077, 1968], + "Ecuador Govt": [42, 1780], + "Ecuador AUC": [57, 1831], + "Ecuador Cartels": [177, 1854], + "Ecuador FARC": [111, 1857], + "Ecuador DRUGS": [258, 1889], + "Panama Govt": [65, 666], + "Panama AUC": [228, 842], + "Panama Cartels": [135, 709], + "Panama FARC": [222, 754], + "Panama DRUGS": [201, 907], + "Sincelejo / Ayacucho COIN": [700, 731], + "Sincelejo / Ayacucho INSURGENTS": [614, 676], + "Bucaramanga / Ayacucho COIN": [771, 779], + "Bucaramanga / Ayacucho INSURGENTS": [782, 875], + "Cucuta / Ayacucho COIN": [829, 740], + "Cucuta / Ayacucho INSURGENTS": [899, 736], + "Santa Marta / Ayacucho COIN": [766, 643], + "Santa Marta / Ayacucho INSURGENTS": [716, 564], + "Bogota / Yopal COIN": [853, 1309], + "Bogota / Yopal INSURGENTS": [912, 1231], + "Bogota / Neiva COIN": [655, 1413], + "Bogota / Neiva INSURGENTS": [600, 1458], + "Bogota / San Jose COIN": [784, 1447], + "Bogota / San Jose INSURGENTS": [871, 1495], + "Bucaramanga / Ibague / Bogota COIN": [659, 1256], + "Bucaramanga / Ibague / Bogota INSURGENTS": [640, 1166], + "Cucuta / Arauca COIN": [951, 947], + "Cucuta / Arauca INSURGENTS": [1053, 985], + "Neiva / Pasto COIN": [545, 1652], + "Neiva / Pasto INSURGENTS": [492, 1735], + "Pasto / Tumaco COIN": [182, 1789], + "Pasto / Tumaco INSURGENTS": [110, 1744], + "Cali / Pasto COIN": [312, 1650], + "Cali / Pasto INSURGENTS": [373, 1595], + "Cali / Buenaventura COIN": [343, 1400], + "Cali / Buenaventura INSURGENTS": [304, 1394], + "Ibague / Cali COIN": [424, 1407], + "Ibague / Cali INSURGENTS": [452, 1340], + "Medellin / Ibague COIN": [508, 1193], + "Medellin / Ibague INSURGENTS": [512, 1142], + "Cartagena / Sincelejo COIN": [522, 643], + "Cartagena / Sincelejo INSURGENTS": [529, 579], + "Sincelejo / Medellin COIN": [550, 931], + "Sincelejo / Medellin INSURGENTS": [541, 831], + "Santa Marta / Cartagena COIN": [563, 469], + "Santa Marta / Cartagena INSURGENTS": [608, 441], +} +// END LAYOUT DATA // Factions const GOVT = 0 @@ -224,167 +401,18 @@ function on_click_action(evt) { send_action(evt.target.my_action, evt.target.my_id) } -// TODO: process LAYOUT into specific arrays for each layout type indexed by space number rather than string id - -// :r !python3 tools/genlayout.py -const LAYOUT = { - "Santa Marta": [682, 436], - "Cartagena": [500, 512], - "Sincelejo": [514, 708], - "Medellin": [513, 1066], - "Ibague": [507, 1278], - "Cali": [391, 1497], - "Pasto": [274, 1783], - "Neiva": [589, 1542], - "Bogota": [754, 1336], - "Bucaramanga": [839, 980], - "Cucuta": [951, 864], - "Guainia": [1409, 1542], - "Vaupes": [1167, 1785], - "Amazonas": [1085, 2064], - "Vichada": [1340, 1274], - "Ecuador": [94, 1792], - "Panama": [188, 686], - "Cesar": [802, 533], - "Atlantico": [646, 642], - "Antioquia": [666, 910], - "Choco": [373, 1040], - "Narino": [212, 1642], - "Huila": [457, 1628], - "Santander": [818, 1177], - "Arauca": [1092, 1128], - "Meta East": [973, 1410], - "Meta West": [720, 1539], - "Guaviare": [976, 1669], - "Putumayo": [680, 1826], - "Sincelejo / Ayacucho": [642, 696], - "Cucuta / Arauca": [994, 977], - "Bucaramanga / Ibague / Bogota": [626, 1224], - "Bogota / Yopal": [887, 1276], - "Bogota / Neiva": [612, 1414], - "Bogota / San Jose": [826, 1474], - "Neiva / Pasto": [530, 1698], - "Pasto / Tumaco": [146, 1766], - "Cali / Pasto": [348, 1625], - "Cali / Buenaventura": [368, 1412], - "Ibague / Cali": [436, 1362], - "Medellin / Ibague": [511, 1169], - "Cartagena / Sincelejo": [514, 613], - "Sincelejo / Medellin": [563, 876], - "Bucaramanga / Ayacucho": [778, 830], - "Cucuta / Ayacucho": [872, 708], - "Santa Marta / Ayacucho": [746, 601], - "Santa Marta / Cartagena": [588, 466], - "Atlantico BASE": [714, 674], - "Putumayo INSURGENT": [822, 1866], - "Putumayo COIN": [551, 1835], - "Amazonas COIN": [841, 2057], - "Amazonas INSURGENT": [980, 2058], - "Vaupes COIN": [1195, 1696], - "Vaupes INSURGENT": [1068, 1824], - "Guaviare INSURGENT": [850, 1657], - "Guaviare COIN": [1100, 1620], - "Guainia INSURGENT": [1298, 1544], - "Guainia COIN": [1499, 1463], - "Vichada INSURGENT": [1213, 1298], - "Vichada COIN": [1463, 1226], - "Arauca INSURGENT": [1216, 1104], - "Arauca COIN": [992, 1114], - "Meta East COIN": [975, 1287], - "Meta East INSURGENT": [866, 1407], - "Meta West INSURGENT": [718, 1643], - "Meta West COIN": [825, 1546], - "Santander INSURGENT": [714, 1160], - "Santander COIN": [845, 833], - "Antioquia INSURGENT": [644, 1026], - "Antioquia COIN": [630, 767], - "Huila COIN": [608, 1343], - "Huila INSURGENT": [383, 1733], - "Narino INSURGENT": [276, 1520], - "Narino COIN": [189, 1729], - "Choco COIN": [416, 908], - "Choco INSURGENT": [377, 1157], - "Panama INSURGENT": [216, 816], - "Panama COIN": [97, 690], - "Ecuador COIN": [98, 1897], - "Ecuador INSURGENT": [203, 1862], - "Cesar INSURGENT": [908, 405], - "Cesar COIN": [817, 608], - "Atlantico INSURGENT": [617, 511], - "Atlantico COIN": [586, 562], - "Amazonas DRUGS": [934, 2155], - "Putumayo DRUGS": [890, 1935], - "Huila DRUGS": [516, 1434], - "Vaupes DRUGS": [1180, 1905], - "Guainia DRUGS": [1357, 1653], - "Vichada Drugs INSURGENT": [1217, 1393], - "Arauca DRUGS": [1075, 1213], - "Meta East DRUGS": [981, 1499], - "Guaviare DRUGS": [971, 1751], - "Meta West DRUGS": [690, 1458], - "Narino DRUGS": [155, 1565], - "Choco DRUGS": [359, 1251], - "Panama DRUGS": [201, 876], - "Antioquia DRUGS": [586, 1157], - "Santander DRUGS": [809, 1081], - "Atlantico DRUGS": [597, 626], - "Cesar DRUGS": [1021, 329], - "Ecuador DRUGS": [315, 1895], - "Bogota / Neiva 2": [664, 1410], - "Bogota / Neiva 1": [602, 1456], - "Bucaramanga / Ibague / Bogota 1": [641, 1165], - "Bucaramanga / Ibague / Bogota 2": [737, 1028], - "Bogota / Yopal 1": [911, 1237], - "Bogota / Yopal 2": [861, 1304], - "Cucuta / Arauca 1": [956, 953], - "Cucuta / Arauca 2": [1059, 983], - "Cucuta / Ayacucho 1": [911, 759], - "Cucuta / Ayacucho 2": [826, 740], - "Sincelejo / Ayacucho 2": [675, 721], - "Sincelejo / Ayacucho 1": [607, 676], - "Santa Marta / Ayacucho 1": [712, 554], - "Santa Marta / Ayacucho 2": [774, 653], - "Sincelejo / Medellin 1": [527, 825], - "Sincelejo / Medellin 2": [547, 941], - "Medellin / Ibague 1": [508, 1199], - "Medellin / Ibague 2": [511, 1143], - "Cali / Pasto 2": [303, 1664], - "Cali / Pasto 1": [372, 1595], - "Neiva / Pasto 1": [559, 1644], - "Neiva / Pasto 2": [490, 1743], - "Pasto / Tumaco 1": [188, 1792], - "Pasto / Tumaco 2": [93, 1732], - "Cali / Buenaventura 1": [306, 1397], - "Cali / Buenaventura 2": [350, 1399], - "Bucaramanga / Ayacucho 1": [787, 887], - "Bucaramanga / Ayacucho 2": [771, 779], - "Bogota / San Jose 1": [871, 1494], - "Bogota / San Jose 2": [786, 1446], - "Cartagena / Sincelejo 1": [517, 631], - "Cartagena / Sincelejo 2": [516, 589], - "Santa Marta / Cartagena 1": [566, 479], - "Santa Marta / Cartagena 2": [610, 441], - "Ibague / Cali 2": [425, 1403], - "Ibague / Cali 1": [450, 1335], -} - function get_center_xy(s) { let id = data.spaces[s].id return LAYOUT[id] } -function get_layout_coin(s) { - let id = data.spaces[s].id + " COIN" - return LAYOUT[id] -} - -function get_layout_loc(s, n) { - let id = data.spaces[s].id + " " + n +function get_layout_dept(s, f) { + let id = data.spaces[s].id + " " + f return LAYOUT[id] } -function get_layout_insurgents(s) { - let id = data.spaces[s].id + " INSURGENT" +function get_layout_loc(s, f) { + let id = data.spaces[s].id + " " + f return LAYOUT[id] } @@ -603,34 +631,45 @@ function filter_piece_list(list, space, faction, type) { function layout_available(faction, type, xorig, yorig) { let list = [] filter_piece_list(list, AVAILABLE, faction, type) - layout_pieces(list, xorig, yorig) + layout_pieces(list, xorig, yorig, null) } -function layout_pieces(list, xorig, yorig) { +function layout_pieces(list, xorig, yorig, bases, s) { const dx = 17 const dy = 11 - function layout_piece(nrow, ncol, row, col, e, z) { + let off_x = 0 + let off_y = 0 + if (bases && bases.length === 0) + off_y = 25 + function layout_piece_rowcol(nrow, ncol, row, col, e, z) { // basic piece size = 29x36 - let x = xorig - (row * dx - col * dx) - 15 + (nrow-ncol) * 6 - let y = yorig - (row * dy + col * dy) - 24 + (nrow-1) * 8 + let x = xorig - (row * dx - col * dx) - 15 + off_x + let y = yorig - (row * dy + col * dy) - 24 + off_y let xo = e.my_x_offset let yo = e.my_y_offset e.style.left = (xo + x) + "px" e.style.top = (yo + y) + "px" - e.style.zIndex = z + e.style.zIndex = y e.my_x = x + 15 e.my_y = y + 24 e.my_z = z } if (list.length > 0) { - let ncol = Math.round(Math.sqrt(list.length)) - let nrow = Math.ceil(list.length / ncol) + let nrow = Math.round(Math.sqrt(list.length)) + let ncol = Math.ceil(list.length / nrow) let z = 50 let i = 0 + if (s <= last_city || s >= first_loc) { + off_x = (nrow - ncol) * 6 + off_y = (nrow - 1) * 8 + } for (let row = 0; row < nrow; ++row) - for (let col = 0; col < ncol && i < list.length; ++col) - layout_piece(nrow, ncol, row, col, list[list.length-(++i)], z--) + for (let col = 0; col < ncol; ++col) + if (i < list.length) + layout_piece_rowcol(nrow, ncol, row, col, list[list.length-(++i)], z--) } + if (bases) + layout_dept_bases(bases, xorig + off_x, yorig + 12 + off_y, s) } function place_piece(p, x, y, z) { @@ -659,18 +698,39 @@ function layout_loc_pieces(list, xorig, yorig, dir) { } } -function layout_loc_pieces2(list, xorig, yorig, dir) { - let a = (dir * Math.PI) / 4 - let dx = Math.round(24 * 2 * Math.sin(a)) - let dy = -Math.round(15 * 2 * Math.cos(a)) - layout_pieces(list, xorig + dx, yorig + dy) +function layout_dept_bases(list, xc, yc, s) { + if (data.spaces[s].type !== "mountain") { + if (list.length > 0) + place_piece(list[0], xc - 20 + 32, yc - 10, 51) + if (list.length > 1) + place_piece(list[1], xc - 20 - 32, yc - 10, 52) + } else { + if (list.length > 0) + place_piece(list[0], xc - 20 - 32, yc - 10, 51) + if (list.length > 1) + place_piece(list[1], xc - 20 + 32, yc - 10, 52) + } +} + +function layout_dept_bases2(list, xc, yc, s) { + if (1||data.spaces[s].type === "mountain") { + if (list.length > 0) + place_piece(list[0], xc - 20 + 25, yc - 16, 51) + if (list.length > 1) + place_piece(list[1], xc - 20 - 25, yc - 16, 52) + } else { + if (list.length > 0) + place_piece(list[0], xc - 20 - 32, yc - 11, 51) + if (list.length > 1) + place_piece(list[1], xc - 20 + 32, yc - 11, 52) + } } -function layout_dept_bases(list, xc, yc) { +function layout_city_bases(list, xc, yc) { if (list.length > 0) - place_piece(list[0], xc - 21 - 25, yc - 19, 50) + place_piece(list[0], xc - 21 + 25, yc - 20, 51) if (list.length > 1) - place_piece(list[1], xc - 21 + 25, yc - 19, 50) + place_piece(list[1], xc - 21 - 25, yc - 20, 52) } function layout_available_bases(list, x0, y0, cols, rows, dx, dy) { @@ -1102,6 +1162,7 @@ function on_update() { let tix = 0 let list = [] + let bases = [] for (let s = 0; s < data.spaces.length; ++s) { let id = data.spaces[s].id let xy @@ -1141,60 +1202,63 @@ function on_update() { update_guerrillas_underground(AUC, GUERRILLA, view.underground[AUC]) update_guerrillas_underground(CARTELS, GUERRILLA, view.underground[CARTELS]) + console.log("LAYOUT", id) + if (s <= last_city) { - list.length = 0 + list.length = bases.length = 0 filter_piece_list(list, s, FARC, GUERRILLA) filter_piece_list(list, s, AUC, GUERRILLA) filter_piece_list(list, s, CARTELS, GUERRILLA) filter_piece_list(list, s, GOVT, TROOPS) filter_piece_list(list, s, GOVT, POLICE) + filter_piece_list(bases, s, GOVT, BASE) + filter_piece_list(bases, s, FARC, BASE) + filter_piece_list(bases, s, AUC, BASE) + filter_piece_list(bases, s, CARTELS, BASE) xy = get_center_xy(s) - layout_pieces(list, xy[0], xy[1]) + layout_pieces(list, xy[0], xy[1], null, s) + layout_city_bases(bases, xy[0], xy[1] + get_layout_radius(s) - 12) } else if (s <= last_dept) { - list.length = 0 + list.length = bases.length = 0 filter_piece_list(list, s, FARC, GUERRILLA) - filter_piece_list(list, s, CARTELS, GUERRILLA) - xy = get_layout_insurgents(s) - layout_pieces(list, xy[0], xy[1]) + filter_piece_list(bases, s, FARC, BASE) + xy = get_layout_dept(s, "FARC") + layout_pieces(list, xy[0], xy[1], bases, s) - list.length = 0 + list.length = bases.length = 0 filter_piece_list(list, s, AUC, GUERRILLA) + filter_piece_list(bases, s, AUC, BASE) + xy = get_layout_dept(s, "AUC") + layout_pieces(list, xy[0], xy[1], bases, s) + + list.length = bases.length = 0 + filter_piece_list(list, s, CARTELS, GUERRILLA) + filter_piece_list(bases, s, CARTELS, BASE) + xy = get_layout_dept(s, "Cartels") + layout_pieces(list, xy[0], xy[1], bases, s) + + list.length = bases.length = 0 filter_piece_list(list, s, GOVT, TROOPS) filter_piece_list(list, s, GOVT, POLICE) - xy = get_layout_coin(s) - layout_pieces(list, xy[0], xy[1]) + filter_piece_list(bases, s, GOVT, BASE) + xy = get_layout_dept(s, "Govt") + layout_pieces(list, xy[0], xy[1], bases, s) } else { list.length = 0 filter_piece_list(list, s, FARC, GUERRILLA) filter_piece_list(list, s, AUC, GUERRILLA) filter_piece_list(list, s, CARTELS, GUERRILLA) - xy = get_layout_loc(s, 1) - layout_pieces(list, xy[0], xy[1]) + xy = get_layout_loc(s, "INSURGENTS") + layout_pieces(list, xy[0], xy[1], null, s) list.length = 0 filter_piece_list(list, s, GOVT, TROOPS) filter_piece_list(list, s, GOVT, POLICE) - xy = get_layout_loc(s, 2) - layout_pieces(list, xy[0], xy[1]) + xy = get_layout_loc(s, "COIN") + layout_pieces(list, xy[0], xy[1], null, s) } list.length = 0 - filter_piece_list(list, s, GOVT, BASE) - filter_piece_list(list, s, FARC, BASE) - filter_piece_list(list, s, AUC, BASE) - filter_piece_list(list, s, CARTELS, BASE) - - xy = get_center_xy(s) - if (s <= last_city) - layout_dept_bases(list, xy[0], xy[1] + get_layout_radius(s) - 12) - else if (s === ATLANTICO) - layout_dept_bases(list, 714, 674) - else if (s <= last_pop) - layout_dept_bases(list, xy[0], xy[1] + 32, 0) - else - layout_dept_bases(list, xy[0], xy[1] + 32+25, 0) - - list.length = 0 for (let i = 0; i < 4; ++i) { let shx = view.shipments[i] if (shx !== 0) { @@ -319,7 +319,8 @@ exports.setup = function (seed, scenario, options) { game.deck.push(i) } - // game.deck[1] = /* TEST */ 73 + game.deck[0] = /* TEST */ 24 + game.capabilities = [ EVT_SUCUMBIOS, EVT_DARIEN ] log("DECK " + game.deck.join(", ")) update_control() @@ -4992,7 +4993,7 @@ states.process_place_shipments = { view.actions.end_process = 1 } else { for (let s = first_space; s <= last_space; ++s) { - if (has_cartels_base(s)) { + { // XXX if (has_cartels_base(s)) { gen_piece_in_space(s, FARC, GUERRILLA) gen_piece_in_space(s, AUC, GUERRILLA) gen_piece_in_space(s, CARTELS, GUERRILLA) diff --git a/tools/genlayout.py b/tools/genlayout.py index f6003bd..b113e8e 100644 --- a/tools/genlayout.py +++ b/tools/genlayout.py @@ -25,6 +25,9 @@ def readsvg(filename): mode = 'circle' x = y = w = h = 0 name = None + elif line == "<text": + flush() + mode = None if line.startswith('x="'): x = round(float(line.split('"')[1])) if line.startswith('y="'): y = round(float(line.split('"')[1])) if line.startswith('width="'): w = round(float(line.split('"')[1])) diff --git a/tools/layout.svg b/tools/layout.svg index ef423bf..7511850 100644 --- a/tools/layout.svg +++ b/tools/layout.svg @@ -10,13 +10,12 @@ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="1650" height="2550" - viewBox="0 0 1650 2550" version="1.1" - id="svg4" + id="svg328" sodipodi:docname="layout.svg" inkscape:version="1.0.2 (e86c870879, 2021-01-15)"> <metadata - id="metadata10"> + id="metadata334"> <rdf:RDF> <cc:Work rdf:about=""> @@ -27,7 +26,7 @@ </rdf:RDF> </metadata> <defs - id="defs8" /> + id="defs332" /> <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" @@ -39,17 +38,13 @@ inkscape:pageshadow="2" inkscape:window-width="640" inkscape:window-height="480" - id="namedview6" - showgrid="true" - inkscape:zoom="2.0178853" - inkscape:cx="557.0476" - inkscape:cy="1406.6856" - inkscape:current-layer="svg4" - inkscape:document-rotation="0"> - <inkscape:grid - type="xygrid" - id="grid12" /> - </sodipodi:namedview> + id="namedview330" + showgrid="false" + inkscape:zoom="1.0464316" + inkscape:cx="932.7326" + inkscape:cy="650.77941" + inkscape:current-layer="svg328" + inkscape:document-rotation="0" /> <image sodipodi:absref="/home/tor/src/rally/public/andean-abyss/map75.jpg" xlink:href="../map75.jpg" @@ -57,790 +52,1357 @@ y="0" width="1650" height="2550" - style="display:inline;image-rendering:pixelated" - id="board" /> - <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2.01289;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect831" - width="113.46967" - height="46.991089" - x="656.53033" - y="651.17676" - ry="0.61036325" - inkscape:label="Atlantico BASE" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="path847" - cx="821.71857" - cy="1865.5933" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Putumayo INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="path847-3" - cx="551.06122" - cy="1834.8098" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Putumayo COIN" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse893" - cx="841.44849" - cy="2057.3931" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Amazonas COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse895" - cx="979.77069" - cy="2058.1609" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Amazonas INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse897" - cx="1194.6422" - cy="1695.9675" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Vaupes COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse899" - cx="1068.3137" - cy="1824.4529" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Vaupes INSURGENT" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse901" - cx="850.08185" - cy="1656.6271" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Guaviare INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse903" - cx="1099.7336" - cy="1620.0236" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Guaviare COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse923" - cx="1298.3999" - cy="1544.4958" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Guainia INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse925" - cx="1498.7815" - cy="1463.3098" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Guainia COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse927" - cx="1213.4673" - cy="1298.0275" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Vichada INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse929" - cx="1462.9934" - cy="1226.4136" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Vichada COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse931" - cx="1215.7032" - cy="1103.6714" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Arauca INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse933" - cx="992.04993" - cy="1114.1803" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Arauca COIN" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse935" - cx="974.78748" - cy="1286.8606" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Meta East COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse937" - cx="866.47168" - cy="1406.8763" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Meta East INSURGENT" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse939" - cx="718.11243" - cy="1642.7832" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Meta West INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse941" - cx="824.59546" - cy="1546.0435" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Meta West COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse943" - cx="713.95709" - cy="1160.3865" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Santander INSURGENT" /> - <ellipse - style="fill:#23e4ff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse945" - cx="844.80853" - cy="832.81464" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Santander COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse947" - cx="644.14142" - cy="1026.3208" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Antioquia INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse949" - cx="630.17358" - cy="766.72473" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Antioquia COIN" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse951" - cx="608.1076" - cy="1343.2896" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Huila COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse953" - cx="382.87402" - cy="1733.3823" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Huila INSURGENT" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse955" - cx="276.37039" - cy="1519.9783" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Narino INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse957" - cx="188.54849" - cy="1728.8357" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Narino COIN" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse959" - cx="415.78534" - cy="907.65546" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Choco COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse961" - cx="376.83643" - cy="1157.1735" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Choco INSURGENT" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse963" - cx="216.12793" - cy="816.09753" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Panama INSURGENT" /> - <ellipse - style="fill:#23fffa;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse965" - cx="97.446869" - cy="690.03168" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Panama COIN" /> - <ellipse - style="fill:#23dfff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse967" - cx="98.207031" - cy="1897.3101" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Ecuador COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse969" - cx="203.16486" - cy="1862.1837" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Ecuador INSURGENT" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse971" - cx="907.6908" - cy="404.95953" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Cesar INSURGENT" /> - <ellipse - style="fill:#23ffff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse973" - cx="817.27185" - cy="608.40936" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Cesar COIN" /> - <ellipse - style="fill:#faff23;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse975" - cx="617.40442" - cy="511.20871" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Atlantico INSURGENT" /> - <ellipse - style="fill:#23cfff;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="ellipse977" - cx="585.80151" - cy="561.57281" - rx="50" - ry="35" - inkscape:transform-center-x="-37.246603" - inkscape:transform-center-y="79.630668" - inkscape:label="Atlantico COIN" /> + image-rendering="pixelated" + sodipodi:insensitive="true" + id="image2" /> + <text + x="-205.52834" + y="113.16729" + text-anchor="end" + font-size="40px" + id="text4">Atlantico</text> + <ellipse + inkscape:label="Atlantico Govt" + cx="619.15558" + cy="503.72638" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse6" /> + <ellipse + inkscape:label="Atlantico AUC" + cx="580.13245" + cy="602.68201" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse8" /> + <ellipse + inkscape:label="Atlantico Cartels" + cx="633.73376" + cy="547.95563" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse10" /> + <ellipse + inkscape:label="Atlantico FARC" + cx="701.94098" + cy="664" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse12" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect981" - width="120" - height="50" - x="874.46167" - y="2130.4414" - ry="0.76309872" - inkscape:label="Amazonas DRUGS" /> + inkscape:label="Atlantico DRUGS" + x="667" + y="545" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect14" /> + <text + x="-205.52834" + y="213.1673" + text-anchor="end" + font-size="40px" + id="text16">Choco</text> + <ellipse + inkscape:label="Choco Govt" + cx="337.60086" + cy="1096.6433" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse18" /> + <ellipse + inkscape:label="Choco AUC" + cx="365.7764" + cy="915.03894" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse20" /> + <ellipse + inkscape:label="Choco Cartels" + cx="337.04401" + cy="1274.7484" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse22" /> + <ellipse + inkscape:label="Choco FARC" + cx="395.81378" + cy="1185.5511" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse24" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect994" - width="120" - height="50" - x="830" - y="1910" - ry="0.76309872" - inkscape:label="Putumayo DRUGS" /> + inkscape:label="Choco DRUGS" + x="410.02856" + y="929.33215" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect26" /> + <text + x="-205.52834" + y="313.1673" + text-anchor="end" + font-size="40px" + id="text28">Narino</text> + <ellipse + inkscape:label="Narino Govt" + cx="184.92387" + cy="1561.5864" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse30" /> + <ellipse + inkscape:label="Narino AUC" + cx="292.76273" + cy="1553.6095" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse32" /> + <ellipse + inkscape:label="Narino Cartels" + cx="216.92455" + cy="1687.7061" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse34" /> + <ellipse + inkscape:label="Narino FARC" + cx="139.77777" + cy="1686.5125" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse36" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect996" - width="120" - height="50" - x="455.8833" - y="1408.6779" - ry="0.76309872" - inkscape:label="Huila DRUGS" /> + inkscape:label="Narino DRUGS" + x="227.59502" + y="1440.8683" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect38" /> + <text + x="-205.52834" + y="413.1673" + text-anchor="end" + font-size="40px" + id="text40">Meta West</text> + <ellipse + inkscape:label="Meta West Govt" + cx="677.94604" + cy="1461.0995" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse42" /> + <ellipse + inkscape:label="Meta West AUC" + cx="679.24133" + cy="1548.5797" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse44" /> + <ellipse + inkscape:label="Meta West Cartels" + cx="818.63788" + cy="1539.9271" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse46" /> + <ellipse + inkscape:label="Meta West FARC" + cx="702.18896" + cy="1632.2654" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse48" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect998" - width="120" - height="50" - x="1120" - y="1880" - ry="0.76309872" - inkscape:label="Vaupes DRUGS" /> + inkscape:label="Meta West DRUGS" + x="717.08447" + y="1452.4297" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect50" /> + <text + x="-205.52834" + y="513.1673" + text-anchor="end" + font-size="40px" + id="text52">Guaviare</text> + <ellipse + inkscape:label="Guaviare Govt" + cx="907.16626" + cy="1615.1239" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse54" /> + <ellipse + inkscape:label="Guaviare AUC" + cx="1090.8909" + cy="1603.4321" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse56" /> + <ellipse + inkscape:label="Guaviare Cartels" + cx="972.17194" + cy="1723.9517" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse58" /> + <ellipse + inkscape:label="Guaviare FARC" + cx="837.39929" + cy="1682.1871" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse60" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1000" - width="120" - height="50" - x="1296.8048" - y="1627.8364" - ry="0.76309872" - inkscape:label="Guainia DRUGS" /> + inkscape:label="Guaviare DRUGS" + x="923.38812" + y="1556.0155" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect62" /> + <text + x="-205.52834" + y="613.1673" + text-anchor="end" + font-size="40px" + id="text64">Putumayo</text> + <ellipse + inkscape:label="Putumayo Govt" + cx="552.08099" + cy="1798.2782" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse66" /> + <ellipse + inkscape:label="Putumayo AUC" + cx="620.93982" + cy="1866.4153" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse68" /> + <ellipse + inkscape:label="Putumayo Cartels" + cx="882.20087" + cy="1875.6802" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse70" /> + <ellipse + inkscape:label="Putumayo FARC" + cx="749.04181" + cy="1885.8511" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse72" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1002" - width="120" - height="50" - x="1157.3679" - y="1367.9188" - ry="0.76309872" - inkscape:label="Vichada Drugs INSURGENT" /> + inkscape:label="Putumayo DRUGS" + x="592.4621" + y="1687.1282" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect74" /> + <text + x="-205.52834" + y="713.1673" + text-anchor="end" + font-size="40px" + id="text76">Cesar</text> + <ellipse + inkscape:label="Cesar Govt" + cx="805.49731" + cy="436.80988" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse78" /> + <ellipse + inkscape:label="Cesar AUC" + cx="818.93475" + cy="583.78754" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse80" /> + <ellipse + inkscape:label="Cesar Cartels" + cx="984.92932" + cy="337.58875" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse82" /> + <ellipse + inkscape:label="Cesar FARC" + cx="900.82361" + cy="398.77252" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse84" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1004" - width="120" - height="50" - x="1015.0145" - y="1187.9541" - ry="0.76309872" - inkscape:label="Arauca DRUGS" /> + inkscape:label="Cesar DRUGS" + x="1007.8267" + y="270.09128" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect86" /> + <text + x="-205.52834" + y="813.1673" + text-anchor="end" + font-size="40px" + id="text88">Antioquia</text> + <ellipse + inkscape:label="Antioquia Govt" + cx="621.47797" + cy="766.08405" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse90" /> + <ellipse + inkscape:label="Antioquia AUC" + cx="714.72656" + cy="807.43933" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse92" /> + <ellipse + inkscape:label="Antioquia Cartels" + cx="602.64801" + cy="978.3158" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse94" /> + <ellipse + inkscape:label="Antioquia FARC" + cx="703.26514" + cy="965.04877" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse96" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1006" - width="120" - height="50" - x="920.51288" - y="1474.4927" - ry="0.76309872" - inkscape:label="Meta East DRUGS" /> + inkscape:label="Antioquia DRUGS" + x="547.55762" + y="1110.0782" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect98" /> + <text + x="-205.52834" + y="913.1673" + text-anchor="end" + font-size="40px" + id="text100">Santander</text> + <ellipse + inkscape:label="Santander Govt" + cx="848.409" + cy="823.65759" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse102" /> + <ellipse + inkscape:label="Santander AUC" + cx="779.13574" + cy="1073.6304" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse104" /> + <ellipse + inkscape:label="Santander Cartels" + cx="823.70892" + cy="1219.3402" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse106" /> + <ellipse + inkscape:label="Santander FARC" + cx="716.46106" + cy="1180.0559" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse108" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1008" - width="120" - height="50" - x="911" - y="1726" - ry="0.76309872" - inkscape:label="Guaviare DRUGS" /> + inkscape:label="Santander DRUGS" + x="833.58704" + y="1060.5879" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect110" /> + <text + x="-205.52834" + y="1013.1673" + text-anchor="end" + font-size="40px" + id="text112">Huila</text> + <ellipse + inkscape:label="Huila Govt" + cx="618.23529" + cy="1318.4364" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse114" /> + <ellipse + inkscape:label="Huila AUC" + cx="504.02094" + cy="1497.7329" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse116" /> + <ellipse + inkscape:label="Huila Cartels" + cx="546.95453" + cy="1402.1168" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse118" /> + <ellipse + inkscape:label="Huila FARC" + cx="409.64783" + cy="1687.5505" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse120" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1010" - width="120" - height="50" - x="630" - y="1433" - ry="0.76309872" - inkscape:label="Meta West DRUGS" /> + inkscape:label="Huila DRUGS" + x="337.48947" + y="1737.989" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect122" /> + <text + x="-205.52834" + y="1113.1672" + text-anchor="end" + font-size="40px" + id="text124">Arauca</text> + <ellipse + inkscape:label="Arauca Govt" + cx="980.58771" + cy="1113.1672" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse126" /> + <ellipse + inkscape:label="Arauca AUC" + cx="1217.1794" + cy="1035.7775" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse128" /> + <ellipse + inkscape:label="Arauca Cartels" + cx="1196.375" + cy="1117.799" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse130" /> + <ellipse + inkscape:label="Arauca FARC" + cx="1062.3942" + cy="1195.3604" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse132" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1012" - width="120" - height="50" - x="94.765198" - y="1540.1451" - ry="0.76309872" - inkscape:label="Narino DRUGS" /> + inkscape:label="Arauca DRUGS" + x="1026.655" + y="1004.5025" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect134" /> + <text + x="-205.52834" + y="1213.1672" + text-anchor="end" + font-size="40px" + id="text136">Meta East</text> + <ellipse + inkscape:label="Meta East Govt" + cx="964.20801" + cy="1283.2871" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse138" /> + <ellipse + inkscape:label="Meta East AUC" + cx="869.97131" + cy="1385.483" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse140" /> + <ellipse + inkscape:label="Meta East Cartels" + cx="1035.5688" + cy="1444.801" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse142" /> + <ellipse + inkscape:label="Meta East FARC" + cx="931.43378" + cy="1460.4385" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse144" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1014" - width="120" - height="50" - x="299.2511" - y="1226.458" - ry="0.76309872" - inkscape:label="Choco DRUGS" /> + inkscape:label="Meta East DRUGS" + x="1009.0693" + y="1298.2498" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect146" /> + <text + x="-205.52834" + y="1313.1672" + text-anchor="end" + font-size="40px" + id="text148">Vichada</text> + <ellipse + inkscape:label="Vichada Govt" + cx="1246.3472" + cy="1255.1846" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse150" /> + <ellipse + inkscape:label="Vichada AUC" + cx="1278.1866" + cy="1344.0496" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse152" /> + <ellipse + inkscape:label="Vichada Cartels" + cx="1391.5193" + cy="1333.1716" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse154" /> + <ellipse + inkscape:label="Vichada FARC" + cx="1415.3964" + cy="1220.3065" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse156" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1016" - width="120" - height="50" - x="141.0954" - y="850.96411" - ry="0.76309872" - inkscape:label="Panama DRUGS" /> + inkscape:label="Vichada DRUGS" + x="1269.3851" + y="1154.1056" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect158" /> + <text + x="-205.52834" + y="1413.1672" + text-anchor="end" + font-size="40px" + id="text160">Guainia</text> + <ellipse + inkscape:label="Guainia Govt" + cx="1314.0579" + cy="1497.677" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse162" /> + <ellipse + inkscape:label="Guainia AUC" + cx="1490.2821" + cy="1459.7725" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse164" /> + <ellipse + inkscape:label="Guainia Cartels" + cx="1489.2178" + cy="1581.8478" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse166" /> + <ellipse + inkscape:label="Guainia FARC" + cx="1328.0775" + cy="1595.9828" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse168" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1018" - width="120" - height="50" - x="525.9303" - y="1131.8228" - ry="0.76309872" - inkscape:label="Antioquia DRUGS" /> + inkscape:label="Guainia DRUGS" + x="1366.6522" + y="1599.6589" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect170" /> + <text + x="-205.52834" + y="1513.1672" + text-anchor="end" + font-size="40px" + id="text172">Vaupes</text> + <ellipse + inkscape:label="Vaupes Govt" + cx="1100.7959" + cy="1752.1694" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse174" /> + <ellipse + inkscape:label="Vaupes AUC" + cx="1211.8374" + cy="1720.4739" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse176" /> + <ellipse + inkscape:label="Vaupes Cartels" + cx="1182.505" + cy="1870.524" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse178" /> + <ellipse + inkscape:label="Vaupes FARC" + cx="1091.4261" + cy="1834.8876" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse180" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1020" - width="120" - height="50" - x="748.66882" - y="1056.3224" - ry="0.76309872" - inkscape:label="Santander DRUGS" /> + inkscape:label="Vaupes DRUGS" + x="1213.3019" + y="1772.5411" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect182" /> + <text + x="-205.52834" + y="1613.1672" + text-anchor="end" + font-size="40px" + id="text184">Amazonas</text> + <ellipse + inkscape:label="Amazonas Govt" + cx="986.92365" + cy="2037.7451" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse186" /> + <ellipse + inkscape:label="Amazonas AUC" + cx="881.28503" + cy="2072.3257" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse188" /> + <ellipse + inkscape:label="Amazonas Cartels" + cx="1047.7527" + cy="2132.4722" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse190" /> + <ellipse + inkscape:label="Amazonas FARC" + cx="939.67639" + cy="2154.063" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse192" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1022" - width="120" - height="50" - x="536.53033" - y="601.17676" - ry="0.76309872" - inkscape:label="Atlantico DRUGS" /> + inkscape:label="Amazonas DRUGS" + x="1030.8683" + y="1940.4235" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect194" /> + <text + x="-205.52834" + y="1713.1672" + text-anchor="end" + font-size="40px" + id="text196">Ecuador</text> + <ellipse + inkscape:label="Ecuador Govt" + cx="42.499142" + cy="1780.3719" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse198" /> + <ellipse + inkscape:label="Ecuador AUC" + cx="56.941696" + cy="1830.5342" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse200" /> + <ellipse + inkscape:label="Ecuador Cartels" + cx="176.57443" + cy="1853.6278" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse202" /> + <ellipse + inkscape:label="Ecuador FARC" + cx="110.64832" + cy="1856.5065" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse204" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1024" - width="120" - height="50" - x="961" - y="304" - ry="0.76309872" - inkscape:label="Cesar DRUGS" /> + inkscape:label="Ecuador DRUGS" + x="212.03867" + y="1860.8184" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect206" /> + <text + x="-205.52834" + y="1813.1672" + text-anchor="end" + font-size="40px" + id="text208">Panama</text> + <ellipse + inkscape:label="Panama Govt" + cx="65.419937" + cy="666.0979" + rx="50" + ry="40" + fill="#00ffff" + fill-opacity="0.5" + id="ellipse210" /> + <ellipse + inkscape:label="Panama AUC" + cx="228.45033" + cy="841.6026" + rx="50" + ry="40" + fill="#ffff00" + fill-opacity="0.5" + id="ellipse212" /> + <ellipse + inkscape:label="Panama Cartels" + cx="134.67325" + cy="709.26874" + rx="50" + ry="40" + fill="#32cd32" + fill-opacity="0.5" + id="ellipse214" /> + <ellipse + inkscape:label="Panama FARC" + cx="222.04271" + cy="754.31036" + rx="50" + ry="40" + fill="#ff0000" + fill-opacity="0.5" + id="ellipse216" /> <rect - style="fill:#ff5757;fill-opacity:0.349594;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:0.581301" - id="rect1026" - width="120" - height="50" - x="255" - y="1870" - ry="0.76309872" - inkscape:label="Ecuador DRUGS" /> + inkscape:label="Panama DRUGS" + x="155.47014" + y="878.97614" + width="92" + height="56" + fill="#ffffff" + fill-opacity="0.5" + stroke="#000000" + id="rect218" /> + <text + x="1800" + y="110" + font-size="40" + id="text220">Sincelejo / Ayacucho</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle890" - cx="663.70923" - cy="1409.8788" + inkscape:label="Sincelejo / Ayacucho COIN" + cx="700.41351" + cy="730.71942" r="15" - inkscape:label="Bogota / Neiva 2" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle222" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle892" - cx="601.77673" - cy="1455.9117" + inkscape:label="Sincelejo / Ayacucho INSURGENTS" + cx="613.53711" + cy="675.74841" r="15" - inkscape:label="Bogota / Neiva 1" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle224" /> + <text + x="1800" + y="210" + font-size="40" + id="text226">Bucaramanga / Ayacucho</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle894" - cx="641.37469" - cy="1165.2909" + inkscape:label="Bucaramanga / Ayacucho COIN" + cx="771.35297" + cy="779.36981" r="15" - inkscape:label="Bucaramanga / Ibague / Bogota 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle228" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle896" - cx="736.83411" - cy="1028.1122" + inkscape:label="Bucaramanga / Ayacucho INSURGENTS" + cx="782.45239" + cy="874.552" r="15" - inkscape:label="Bucaramanga / Ibague / Bogota 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle230" /> + <text + x="1800" + y="310" + font-size="40" + id="text232">Cucuta / Ayacucho</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle898" - cx="910.91309" - cy="1237.2157" + inkscape:label="Cucuta / Ayacucho COIN" + cx="828.94531" + cy="740.49335" r="15" - inkscape:label="Bogota / Yopal 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle234" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle900" - cx="861.26099" - cy="1303.9882" + inkscape:label="Cucuta / Ayacucho INSURGENTS" + cx="899.43079" + cy="736.08081" r="15" - inkscape:label="Bogota / Yopal 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle236" /> + <text + x="1800" + y="410" + font-size="40" + id="text238">Santa Marta / Ayacucho</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle902" - cx="955.89471" - cy="953.00348" + inkscape:label="Santa Marta / Ayacucho COIN" + cx="766.38696" + cy="642.50763" r="15" - inkscape:label="Cucuta / Arauca 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle240" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle904" - cx="1059.0409" - cy="983.20764" + inkscape:label="Santa Marta / Ayacucho INSURGENTS" + cx="716.23871" + cy="563.87891" r="15" - inkscape:label="Cucuta / Arauca 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle242" /> + <text + x="1800" + y="510" + font-size="40" + id="text244">Bogota / Yopal</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle906" - cx="911.19659" - cy="758.53296" + inkscape:label="Bogota / Yopal COIN" + cx="852.91376" + cy="1308.6348" r="15" - inkscape:label="Cucuta / Ayacucho 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle246" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle908" - cx="826.46509" - cy="740.02686" + inkscape:label="Bogota / Yopal INSURGENTS" + cx="912.43079" + cy="1230.938" r="15" - inkscape:label="Cucuta / Ayacucho 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle248" /> + <text + x="1800" + y="610" + font-size="40" + id="text250">Bogota / Neiva</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle910" - cx="675.01428" - cy="720.54156" + inkscape:label="Bogota / Neiva COIN" + cx="655.479" + cy="1412.7731" r="15" - inkscape:label="Sincelejo / Ayacucho 2" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle252" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle912" - cx="607.04877" - cy="675.6593" + inkscape:label="Bogota / Neiva INSURGENTS" + cx="599.53711" + cy="1458.295" r="15" - inkscape:label="Sincelejo / Ayacucho 1" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle254" /> + <text + x="1800" + y="710" + font-size="40" + id="text256">Bogota / San Jose</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle914" - cx="712.22498" - cy="554.26031" + inkscape:label="Bogota / San Jose COIN" + cx="783.76801" + cy="1446.5593" r="15" - inkscape:label="Santa Marta / Ayacucho 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle258" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle916" - cx="774.2583" - cy="653.20776" + inkscape:label="Bogota / San Jose INSURGENTS" + cx="871.01324" + cy="1494.5643" r="15" - inkscape:label="Santa Marta / Ayacucho 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle260" /> + <text + x="1800" + y="810" + font-size="40" + id="text262">Bucaramanga / Ibague / Bogota</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle918" - cx="526.50665" - cy="824.5907" + inkscape:label="Bucaramanga / Ibague / Bogota COIN" + cx="658.96643" + cy="1255.9956" r="15" - inkscape:label="Sincelejo / Medellin 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle264" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle920" - cx="546.73438" - cy="941.22528" + inkscape:label="Bucaramanga / Ibague / Bogota INSURGENTS" + cx="640.15509" + cy="1166.4681" r="15" - inkscape:label="Sincelejo / Medellin 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle266" /> + <text + x="1800" + y="910" + font-size="40" + id="text268">Cucuta / Arauca</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle922" - cx="508.43851" - cy="1198.8612" + inkscape:label="Cucuta / Arauca COIN" + cx="951.06201" + cy="947.45398" r="15" - inkscape:label="Medellin / Ibague 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle270" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle924" - cx="511.26694" - cy="1143.3706" + inkscape:label="Cucuta / Arauca INSURGENTS" + cx="1052.6858" + cy="984.59479" r="15" - sodipodi:insensitive="true" - inkscape:label="Medellin / Ibague 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle272" /> + <text + x="1800" + y="1010" + font-size="40" + id="text274">Neiva / Pasto</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle926" - cx="302.58243" - cy="1664.4843" + inkscape:label="Neiva / Pasto COIN" + cx="544.57111" + cy="1652.205" r="15" - inkscape:label="Cali / Pasto 2" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle276" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle928" - cx="371.8735" - cy="1594.8569" + inkscape:label="Neiva / Pasto INSURGENTS" + cx="491.93985" + cy="1734.972" r="15" - inkscape:label="Cali / Pasto 1" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle278" /> + <text + x="1800" + y="1110" + font-size="40" + id="text280">Pasto / Tumaco</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle930" - cx="558.64307" - cy="1644.0022" + inkscape:label="Pasto / Tumaco COIN" + cx="182.0511" + cy="1789.4501" r="15" - inkscape:label="Neiva / Pasto 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle282" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle932" - cx="490.11145" - cy="1743.2944" + inkscape:label="Pasto / Tumaco INSURGENTS" + cx="109.55576" + cy="1743.9281" r="15" - inkscape:label="Neiva / Pasto 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle284" /> + <text + x="1800" + y="1210" + font-size="40" + id="text286">Cali / Pasto</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle934" - cx="187.91862" - cy="1792.177" + inkscape:label="Cali / Pasto COIN" + cx="311.99545" + cy="1650.2531" r="15" - inkscape:label="Pasto / Tumaco 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle288" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle936" - cx="93.068954" - cy="1731.5269" + inkscape:label="Cali / Pasto INSURGENTS" + cx="372.75519" + cy="1594.7992" r="15" - inkscape:label="Pasto / Tumaco 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle290" /> + <text + x="1800" + y="1310" + font-size="40" + id="text292">Cali / Buenaventura</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle938" - cx="305.89505" - cy="1396.8805" + inkscape:label="Cali / Buenaventura COIN" + cx="343.48096" + cy="1399.8375" r="15" - inkscape:label="Cali / Buenaventura 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle294" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle940" - cx="350.00513" - cy="1398.524" + inkscape:label="Cali / Buenaventura INSURGENTS" + cx="303.81573" + cy="1393.9758" r="15" - inkscape:label="Cali / Buenaventura 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle296" /> + <text + x="1800" + y="1410" + font-size="40" + id="text298">Ibague / Cali</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle942" - cx="787.16791" - cy="886.78687" + inkscape:label="Ibague / Cali COIN" + cx="423.73108" + cy="1407.4491" r="15" - inkscape:label="Bucaramanga / Ayacucho 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle300" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle944" - cx="771.16791" - cy="778.78687" + inkscape:label="Ibague / Cali INSURGENTS" + cx="452.21161" + cy="1339.58" r="15" - inkscape:label="Bucaramanga / Ayacucho 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle302" /> + <text + x="1800" + y="1510" + font-size="40" + id="text304">Medellin / Ibague</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle946" - cx="870.53571" - cy="1494.4539" + inkscape:label="Medellin / Ibague COIN" + cx="508.3938" + cy="1192.9" r="15" - inkscape:label="Bogota / San Jose 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle306" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle948" - cx="786.06989" - cy="1446.0952" + inkscape:label="Medellin / Ibague INSURGENTS" + cx="512.01276" + cy="1142.1016" r="15" - inkscape:label="Bogota / San Jose 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle308" /> + <text + x="1800" + y="1610" + font-size="40" + id="text310">Cartagena / Sincelejo</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle950" - cx="517.04877" - cy="630.6593" + inkscape:label="Cartagena / Sincelejo COIN" + cx="521.73846" + cy="643.24609" r="15" - inkscape:label="Cartagena / Sincelejo 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle312" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle952" - cx="516.04877" - cy="588.6593" + inkscape:label="Cartagena / Sincelejo INSURGENTS" + cx="529.18506" + cy="578.65375" r="15" - inkscape:label="Cartagena / Sincelejo 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle314" /> + <text + x="1800" + y="1710" + font-size="40" + id="text316">Sincelejo / Medellin</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle954" - cx="565.59393" - cy="479.23947" + inkscape:label="Sincelejo / Medellin COIN" + cx="549.73578" + cy="930.95599" r="15" - inkscape:label="Santa Marta / Cartagena 1" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle318" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle956" - cx="609.58752" - cy="440.97626" + inkscape:label="Sincelejo / Medellin INSURGENTS" + cx="540.86963" + cy="831.48621" r="15" - inkscape:label="Santa Marta / Cartagena 2" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle320" /> + <text + x="1800" + y="1810" + font-size="40" + id="text322">Santa Marta / Cartagena</text> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle99" - cx="424.80762" - cy="1402.9027" + inkscape:label="Santa Marta / Cartagena COIN" + cx="563.4408" + cy="469.13724" r="15" - inkscape:label="Ibague / Cali 2" /> + fill="#00ffff" + fill-opacity="0.5" + stroke="#000000" + id="circle324" /> <circle - style="fill:#ffffff;fill-opacity:0.703252;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1" - id="circle888" - cx="450.0816" - cy="1335.0099" + inkscape:label="Santa Marta / Cartagena INSURGENTS" + cx="607.58832" + cy="441.0451" r="15" - inkscape:label="Ibague / Cali 1" /> + fill="#ff0000" + fill-opacity="0.5" + stroke="#000000" + id="circle326" /> </svg> diff --git a/tools/makelayout.js b/tools/makelayout.js new file mode 100644 index 0000000..ee0b36c --- /dev/null +++ b/tools/makelayout.js @@ -0,0 +1,94 @@ +const DEPTS = [ + "Atlantico", + "Choco", + "Narino", + "Meta West", + "Guaviare", + "Putumayo", + "Cesar", + "Antioquia", + "Santander", + "Huila", + "Arauca", + "Meta East", + "Vichada", + "Guainia", + "Vaupes", + "Amazonas", + "Ecuador", + "Panama", +] + +const LOCS = [ + "Sincelejo / Ayacucho", + "Bucaramanga / Ayacucho", + "Cucuta / Ayacucho", + "Santa Marta / Ayacucho", + "Bogota / Yopal", + "Bogota / Neiva", + "Bogota / San Jose", + "Bucaramanga / Ibague / Bogota", + "Cucuta / Arauca", + "Neiva / Pasto", + "Pasto / Tumaco", + "Cali / Pasto", + "Cali / Buenaventura", + "Ibague / Cali", + "Medellin / Ibague", + "Cartagena / Sincelejo", + "Sincelejo / Medellin", + "Santa Marta / Cartagena", +] + +const print = console.log + +print('<?xml version="1.0" encoding="UTF-8"?>') +print('<svg') +print('\txmlns="http://www.w3.org/2000/svg"') +print('\txmlns:xlink="http://www.w3.org/1999/xlink"') +print('\txmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"') +print('\txmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"') +print('\twidth="1650" height="2550">') +print('<image xlink:href="map75.jpg" x="0" y="0" width="1650" height="2550" image-rendering="pixelated" sodipodi:insensitive="true" />') + +const COLORS = { + Govt: "cyan", + AUC: "yellow", + FARC: "red", + Cartels: "limegreen", +} + +let x = -700, y = 100 + +function advancex() { + x += 150 +} + +function advancey() { + x -= 150 * 4 + y += 100 +} + +for (let s of DEPTS) { + // faction holdings - 100x80 ellipse + print(`<text x="${x-100}" y="${y}" text-anchor="end" font-size="40">${s}</text>`) + for (let f of [ "Govt", "AUC", "Cartels", "FARC" ]) { + print(`<ellipse inkscape:label="${s} ${f}" cx="${x}" cy="${y}" rx="50" ry="40" fill="${COLORS[f]}" fill-opacity="0.5" />`) + advancex() + } + // shipment holding box - 92x56 rect + print(`<rect inkscape:label="${s} DRUGS" x="${x-50}" y="${y-40}" width="92" height="56" fill="white" fill-opacity="0.5" stroke="black" />`) + advancey() +} + +x = 1700 +y = 100 + +for (let s of LOCS) { + print(`<text x="${x+100}" y="${y+10}" font-size="40">${s}</text>`) + print(`<circle inkscape:label="${s} COIN" cx="${x}" cy="${y}" r="15" fill="cyan" fill-opacity="0.5" stroke="black" />`) + print(`<circle inkscape:label="${s} INSURGENTS" cx="${x+50}" cy="${y}" r="15" fill="red" fill-opacity="0.5" stroke="black" />`) + y += 100 +} + +print('</svg>') |