{ "_comment": "Generated by tools/genTACampaign.js — terrain is baked, design is hand-authored.", "missions": [ { "id": "m01", "name": "Beachhead", "theme": "grasslands", "seed": 10461, "playerArmy": "arm", "playerCommander": "vance", "enemies": [ { "army": "core", "commander": "klaxon", "aiProfile": { "skill": 1, "aggression": 0.25 } } ], "startResources": [ { "mass": 1600, "energy": 2600 }, { "mass": 600, "energy": 900 } ], "objective": { "type": "destroyCommander" }, "briefing": [ { "speaker": "ethel", "mood": "idle", "text": "Establish a base and remove the CORE presence. Power first — nothing moves without it." } ], "victoryLine": { "speaker": "ethel", "mood": "happy", "text": "Beachhead secured. The corridor inland is open." }, "defeatLine": { "speaker": "klaxon", "mood": "smug", "text": "The landing has been thrown back into the sea." }, "map": { "w": 64, "h": 64, "theme": "grasslands", "rows": [ "~~..rrrr.......rrr............................rrr.......rrrr..~~", "~~..............rr............................rr..............~~", "~~............................................................~~", "~~............................................................~~", "~~.........^^^....................................^^^.........~~", "~~.........^^^....................................^^^.........~~", "~~.........^^^....................................^^^.........~~", "~~.........rrr....................................rrr.........~~", "~~............r^^.............r^^r.............^^r............~~", "~~~........^^^^^^............r.^^.r............^^^^^^........~~~", "~~~r......^^^^^^.............^^^^^^.............^^^^^^......r~~~", "~~~r....^^^^^^^.............^^^^^^^^.............^^^^^^^....r~~~", "~~~.....^^^^^^^....rr......^^^^^^^^^^......rr....^^^^^^^.....~~~", "~~~.....^^^^^^^...rrr.......^^^^^^^^.......rrr...^^^^^^^.....~~~", "~~.....r^^^^^^.....rrr.......^^^^^^.......rrr.....^^^^^^r.....~~", "~~.....r.^^^^^.....rrr........^^^^........rrr.....^^^^^.r.....~~", "~~.....rr..........r........................r..........rr.....~~", ".......rrr.........r..r..................r..r.........rrr.......", "r.......r..........rrrrr................rrrrr..........r.......r", "...................rrrrr................rrrrr...................", ".....................rr..................rr.....................", "....................~~~..................~~~....................", "...................~~~~~~rr..........rr~~~~~~...................", ".......MM......r...~~~~~~~rr........rr~~~~~~~...r......MM.......", ".......MM.....rrr.r~~~~~~~~rr......rr~~~~~~~~r.rrr.....MM.......", "..............rr...~~~~~~...r......r...~~~~~~...rr..............", "....................~~~.....rr....rr.....~~~....................", "............................rr....rr............................", "..................MM.........rrrrrr.........MM..................", "...MM.............MM.........rrrrrr.........MM.............MM...", "...MM.........................rrrr.........................MM...", "..................r..........^^^^^^..........r..................", "r..................r....^^^^^^^^^^^^^^^^....r..................r", "r.................rr...^^^^^^^^^^^^^^^^^^...rr.................r", ".......................^^^^^^^^^^^^^^^^^^.......................", "....................rrr.^^^^^^^^^^^^^^^^.rrr....................", "...............MM...rrr.^^^^^^^^^^^^^^^^.rrr...MM...............", "...............MM...rrr.^^^^^^^^^^^^^^^^.rrr...MM...............", ".....................rrr....^^^^^^^^....rrr.....................", "rr............r.......r.....rrrrrrrr.....r.......r............rr", "r.....~~~~.~~~...............rrrrrr...............~~~.~~~~.....r", "r.~~~~~~~~~~~~...............rrrrrr...............~~~~~~~~~~~~.r", "~~~~~~~~~~~~~~..............rrrrrrrr..............~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~.............rr......rr.............~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~...........rrr........rrr...........~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~..........rrrr........rrrr..........~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~...........rrr........rrr...........~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~r..................................r~~~~~~~~~~~~~~", "...~~~~~~~~~~~....................................~~~~~~~~~~~...", "......~~~~~~~~....................................~~~~~~~~......", ".......~~~~~~~....................................~~~~~~~.......", ".......~~~~~~~....................................~~~~~~~.......", "........~~~~~~....................................~~~~~~........", "........~~~~~~....................................~~~~~~........", "..rr....~~~~~~....................................~~~~~~....rr..", "..rr....~~~~~~......rr..rrr..........rrr..rr......~~~~~~....rr..", "..rr....~~~~~~......rr..rrr..........rrr..rr......~~~~~~....rr..", "........~~~~~~....................................~~~~~~........", "........~~~~~~....................................~~~~~~........", "........~~~~~~r..................................r~~~~~~........", "........~~~~~~r..................................r~~~~~~........", "........~~~~~~r..................................r~~~~~~........", "........~~~~~~rrrr...~....................~...rrrr~~~~~~........", "..rr...r~~~~~~..r...~~~.....r......r.....~~~...r..~~~~~~r...rr.." ], "starts": [ { "army": 0, "x": 10, "y": 32 }, { "army": 1, "x": 53, "y": 32 } ], "buildings": [] } }, { "id": "m02", "name": "Metal Fields", "theme": "grasslands", "seed": 26958, "playerArmy": "arm", "playerCommander": "vance", "enemies": [ { "army": "core", "commander": "klaxon", "aiProfile": { "skill": 2, "aggression": 0.4 } } ], "startResources": [ { "mass": 1300, "energy": 2200 }, { "mass": 900, "energy": 1400 } ], "objective": { "type": "destroyCommander" }, "briefing": [ { "speaker": "ethel", "mood": "idle", "text": "Metal patches double a generator's yield. Take them before CORE does." } ], "victoryLine": { "speaker": "ethel", "mood": "happy", "text": "The patches are ours. Production doubles from here." }, "defeatLine": { "speaker": "klaxon", "mood": "smug", "text": "CORE holds the metal. We cannot match their output." }, "map": { "w": 64, "h": 64, "theme": "grasslands", "rows": [ "^^^................^^^^^^^^^^^^^^^^^^^^^^^^^^................^^^", "^^^................^^^^^^^^^^^^..^^^^^^^^^^^^................^^^", "^^^...............r^^^^^^^^^^......^^^^^^^^^^r...............^^^", "^^^^rr.............^^^^^^..............^^^^^^.............rr^^^^", "...^^r.............^^^^..................^^^^.............r^^...", "...r^..........rr..............................rr..........^r...", "...............rr..............................rr...............", "...........^^^r..................................r^^^...........", "r........r^^^^^.....r~r..................r~r.....^^^^^r........r", "r........^^^^^^.....~~~..................~~~.....^^^^^^........r", "r....rrr.^^^^^^.....~~~..................~~~.....^^^^^^.rrr....r", ".....rrr.^^^^^^......~....................~......^^^^^^.rrr.....", ".....rr..^^^^^^r................................r^^^^^^..rr.....", ".........^^^^^^..................................^^^^^^.........", "........^^^^^^^..................................^^^^^^^........", ".......^^^^^^^^........r~..............~r........^^^^^^^^.......", ".......^^^^^^^.........~~~............~~~.........^^^^^^^.......", ".....rr^^^^^^^.........r~~............~~r.........^^^^^^^rr.....", ".....rr..r^^^.........rrrr............rrrr.........^^^r..rr.....", ".......................r.......^^.......r.......................", "..rr.........................^^^^^^.........................rr..", "..rr........................^^^^^^^^........................rr..", "...r.........................^^^^^^.........................r...", "~~.r..........................^^^^..........................r.~~", "~~~~~..........................^^..........................~~~~~", "~~~~~.........rrrrrr...........^^...........rrrrrr.........~~~~~", "~~~~~...........rrMM..r........^^........r..MMrr...........~~~~~", "~~~~.............rMM.rrr................rrr.MMr.............~~~~", "~~~~......MM.....r....rr................rr....r.....MM......~~~~", "~~~.......MM........................................MM.......~~~", "~~~...............~..........................~...............~~~", "~~~...............~~........................~~...............~~~", "~~.................~~......................~~.................~~", "~~~...............~~~......................~~~...............~~~", "~~~...............~~~......................~~~...............~~~", "~~~...............~~........................~~...............~~~", "~~~~.............~............................~.............~~~~", "~~~~.MM..................................................MM.~~~~", "~~~~~MM...MM........................................MM...MM~~~~~", "~~~~~.....MM........................................MM.....~~~~~", "~~~~........r......................................r........~~~~", "........^^..r......................................r..^^........", "........^^^^r......................................r^^^^........", ".......^^^^^^^^^^.^^^^^^^..............^^^^^^^.^^^^^^^^^^.......", ".......^^^^^^^^^^^^^^^^^^^............^^^^^^^^^^^^^^^^^^^.......", ".......^^^^^^^^^^^^^^^^^^^............^^^^^^^^^^^^^^^^^^^.......", ".......^^^^^^^^^^r.^^^^..................^^^^.r^^^^^^^^^^.......", ".......^^^^^^^rrrr.....rr..............rr.....rrrr^^^^^^^.......", "....rr.^^^^^..rrr......rrr............rrr......rrr..^^^^^.rr....", "....rrr^^^^^..r.......rrrr............rrrr.......r..^^^^^rrr....", "....rrr.^^^...........rr................rr...........^^^.rrr....", "....rrr.^^............rr................rr............^^.rrr....", "....rrr.^^............~~~r............r~~~............^^.rrr....", ".......r^.........r~~~~~~~~r........r~~~~~~~~r.........^r.......", ".......rr.........~~~~~~~~~~rr....rr~~~~~~~~~~.........rr.......", "..................~~~~~~~~~~~.rrrr.~~~~~~~~~~~..................", ".................~~~~~~~~~~~~.rrrr.~~~~~~~~~~~~.................", "..................~~~~~~~~~~rrrrrrrr~~~~~~~~~~..................", "..................~~~~~~~~~~........~~~~~~~~~~..................", "....................~~~~~~~..........~~~~~~~....................", ".......................r................r.......................", "................................................................", "....~~.....~~~~..................................~~~~.....~~....", "..~~~~~....~~~~~.r.....r................r.....r.~~~~~....~~~~~.." ], "starts": [ { "army": 0, "x": 10, "y": 32 }, { "army": 1, "x": 53, "y": 32 } ], "buildings": [ { "army": 1, "type": "energygen", "tx": 56, "ty": 30 } ] } }, { "id": "m03", "name": "Cold Open", "theme": "snowfields", "seed": 31287, "playerArmy": "arm", "playerCommander": "vance", "enemies": [ { "army": "core", "commander": "cybro", "aiProfile": { "skill": 2, "aggression": 0.6 } } ], "startResources": [ { "mass": 1200, "energy": 2000 }, { "mass": 1100, "energy": 1800 } ], "objective": { "type": "destroyCommander" }, "briefing": [ { "speaker": "ethel", "mood": "idle", "text": "Cy-Bro opens with infantry. Armour answers infantry — get a Vehicle Plant up early." } ], "victoryLine": { "speaker": "ethel", "mood": "happy", "text": "Cy-Bro's foothold is slag." }, "defeatLine": { "speaker": "cybro", "mood": "smug", "text": "Overrun before the plant finished." }, "map": { "w": 64, "h": 64, "theme": "snowfields", "rows": [ "...rr.....~~~~........r..........rrrrr...^^^^^^^^^^^^^^^^^^^^^^^", "...........~~~....................rrr....^^^^^^^^^^^^^^^^^^^^^^^", "..............................~~.~~........^^^^^^^^^r...........", "rr.........................~~...................................", "rr.....................................................rr.......", ".......................................................rr.......", "..............................MM..................^^^^^^^^^^....", "..............................MM................^^^^^^^^^^^^^...", "................................................^^^^^^^^^^^^^^..", "r..rr............................................^^^^^^^^^^^^^r.", "rr.rr............................................r^^^^^^^^^^^rr.", "rr.................................................^^^^^^^^^rr..", "...............rr...................................^^^^^^^^...r", "...............rr............MM.....................^^^^^^^.....", ".............................MM..MM..................^^^^^r....r", ".................................MM.............................", "...~~~..........................................................", "..~~~~~r...........r.......................................r..rr", "r~~~~~~~...~~~~~~.rrr.......rrrr....................rr....rrrrrr", "~~~~~~~~~~~~~~~~~~rr........rrrr..............r.....rr....rrrrrr", "~~~~~~~~~~~~~~~~~~~..........................rrr................", "~~~~~~~~~~~~~~~~~~~..........................rrr................", "~~~~~~~~~~~~~~~~~~~..........................rrrrrrrr......rr..^", "~~~~~~~~~~~~~~~~~...........................rr.rrrrrr......rr..^", "~~~~~~~........r.................MM.......^^^^^...rr........rr^^", "~~~~~~~........r.................MM......^^^^^^^..rr.......rrrr^", "~~~~~~~.................................^^^^^^^^^.rr.......rrrr^", "~~~~~~..................................^^^^^^^^^^............rr", "~~~~~~..........rr.....................^^^^^^^^^^^^............r", ".~~~~...........rr....................^^^^^^^^^^^^^^...........r", ".....................~~..rrr..........^^^^^^^^^^^^^^^..........r", ".....................~~..rrr..........^^^^^^^^^^^^^^^^.........r", ".....................~~..rrr..........^^^^^^^^^^^^^^^^.........r", ".....................~~..rrr..........^^^^^^^^^^^^^^^..........r", ".~~~~...........rr....................^^^^^^^^^^^^^^...........r", "~~~~~~..........rr.....................^^^^^^^^^^^^............r", "~~~~~~..................................^^^^^^^^^^............rr", "~~~~~~~.................................^^^^^^^^^.rr.......rrrr^", "~~~~~~~........r.................MM......^^^^^^^..rr.......rrrr^", "~~~~~~~........r.................MM.......^^^^^...rr........rr^^", "~~~~~~~~~~~~~~~~~...........................rr.rrrrrr......rr..^", "~~~~~~~~~~~~~~~~~~~..........................rrrrrrrr......rr..^", "~~~~~~~~~~~~~~~~~~~..........................rrr................", "~~~~~~~~~~~~~~~~~~~..........................rrr................", "~~~~~~~~~~~~~~~~~~rr........rrrr..............r.....rr....rrrrrr", "r~~~~~~~...~~~~~~.rrr.......rrrr....................rr....rrrrrr", "..~~~~~r...........r.......................................r..rr", "...~~~..........................................................", ".................................MM.............................", ".............................MM..MM..................^^^^^r....r", "...............rr............MM.....................^^^^^^^.....", "...............rr...................................^^^^^^^^...r", "rr.................................................^^^^^^^^^rr..", "rr.rr............................................r^^^^^^^^^^^rr.", "r..rr............................................^^^^^^^^^^^^^r.", "................................................^^^^^^^^^^^^^^..", "..............................MM................^^^^^^^^^^^^^...", "..............................MM..................^^^^^^^^^^....", ".......................................................rr.......", "rr.....................................................rr.......", "rr.........................~~...................................", "..............................~~.~~........^^^^^^^^^r...........", "...........~~~....................rrr....^^^^^^^^^^^^^^^^^^^^^^^", "...rr.....~~~~........r..........rrrrr...^^^^^^^^^^^^^^^^^^^^^^^" ], "starts": [ { "army": 0, "x": 32, "y": 10 }, { "army": 1, "x": 32, "y": 53 } ], "buildings": [ { "army": 0, "type": "energygen", "tx": 35, "ty": 8 }, { "army": 1, "type": "barracks", "tx": 36, "ty": 56 } ] } }, { "id": "m04", "name": "The Long Ridge", "theme": "grasslands", "seed": 44377, "playerArmy": "arm", "playerCommander": "vance", "enemies": [ { "army": "core", "commander": "klaxon", "aiProfile": { "skill": 3, "aggression": 0.5 } } ], "startResources": [ { "mass": 2200, "energy": 3600 }, { "mass": 1300, "energy": 2200 } ], "objective": { "type": "destroyCommander" }, "briefing": [ { "speaker": "ethel", "mood": "idle", "text": "A fair fight on a wide map. Expand hard — whoever out-earns the other wins the third engagement." } ], "victoryLine": { "speaker": "ethel", "mood": "happy", "text": "The ridge is held." }, "defeatLine": { "speaker": "klaxon", "mood": "smug", "text": "KLAXON out-produced us and it showed." }, "map": { "w": 96, "h": 96, "theme": "grasslands", "rows": [ "~~~~~~~~~~~~~~~....~~~.....~~~~~~~~~..r...........rr.~~~~~~...r......r...r..............r.......", "~~~~~~~~r~~~~~~.....~~.....~~~~~~~~~..................~~~~......................................", "~~~........~~~rr............~~~~~~~~..................~~~~................................rrrrrr", "~~~...........r.............~~~~~~~......................................................rrrrr..", "~~~.........................~~~~~.................rr......................................r.....", "~~~.......MM................~~~~r................rrrr..........................................^", "~~~...MM..MM................~~~~r.................rr..........................rr................", "~~~...MM..................r~~~~~..................rr..........................rrrrr.............", ".~~....................~~~~~.r...........rr....................................rrrrr............", ".~~....................r~~~..............rr......................r^^r.....rrr~~rrrrr............", "~~......................................rrr......................^^^^.....rrr~~................^", "~~~MM..................................r.........................^^^^........~~................^", "~~.MM..................................rr........................^^^^........r~................^", ".......................................rrr.................r..................~r................", "....................MM................rrrr.................rrrr..............~~~rrr.............", "....................MM................rr....................rrrr...........~~~~~~rr.............", "..................................rrr...........................rrr........~~~~~~~..............", "..................................rrr............................rr.......~~~~~~~......rrrr.r...", "..................................rrr......................................~~~~~.......rrrrrrr..", "........~~~~~~.....................r........~~~~~~~~r..........r..~~....................rrrrr...", ".......~~~~~~~~...........rrr...^^^rr......~~~~~~~~~~~~..~~~~~~~~~~~~~~~~.......................", "^......~~~~~~~~~..........rrrrr^^^^rr.....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~......................", "^^......~~~~~~~~...........rr..^^^^r....rr~~~~~~~~~~~......~~~~~~~~~~~~~~.......................", "^^r.....~~~~~~~~~..............r^^^.....rr.~~~~~~~~..........~~~~~~~~~~~r.......................", "^^^......~~~...~~...rr...........^......rrr.~~.................~~~~~~~..........................", "^^^................rrr..................rrrr......................~~............................", "^^^.............................................................................................", "^^^r............................................................................................", "^^^.............................................................................................", "^^^............................................................................r...............r", "^^^..........................................................................^^^rr..............", "^^r....................^^.................................................r^^^^^^^^.............", "^^.................^^^^^^^.................^^^^^^^^r.....................^^^^^^^^^^^^...........", "^^.................^^^^^^^................^^^^^^^^^^^....................^^^^^^^^^^^^^..........", "^^...rr............^^^^^^^................^^^^^^^^^^^....................^^^^^^^^^^^^r..........", "^.rrrrrr.............r.^^^...rr............^^^^^^.........................^^^^^^^^^^............", "..rrrrrr................^....rr...........................................^^^^^^^^^............r", "...rrrr....................................................................^^^^^^^..............", "............................................................................^^^^................", "................................................................................rr..............", ".........rr.................................................rr.................rrr..............", ".........r~~~~.....r~~......................................rr.................rr...............", ".....~...~~~~~~~..r~~~~.....................................rrr................rrr.....~~~~~~...", "....~~~~~~~~~~~~~.~~~~~.........................r....~~~~~~~~~~~~...............rrr...~~~~~~~~~.", "....~~~~~~~~~~~~~~~~~~~~.....................rrrrr.~~~~~~~~~~~~~~~~~............rrrrrr~~~~~~~~~~", "...r~~~~~~~~~~~~~~~~~~~~....................rrrrrrr~~~~~~~~~~~~~~~~~............rrrr..~~~~~~~~~~", "...r~~~~~~~~~~~~~~~~~~~~...................rr..rrrr~~~~~~~~~~~r.................rrr....~~~~~~~~.", "...r~~~~~~~~~~~~~~~~~~~~.............r....rr....r...~~~~~~~~rrr..........r.............~~~~~~r..", "..r~~~~~~.............r..........rrr~~~~~~~~...r....rr....r.............~~~~~~~~~~~~~~~~~~~~r...", ".~~~~~~~~....rrr.................r~~~~~~~~~~~rrrr..rr...................~~~~~~~~~~~~~~~~~~~~r...", "~~~~~~~~~~..rrrr............~~~~~~~~~~~~~~~~~rrrrrrr....................~~~~~~~~~~~~~~~~~~~~r...", "~~~~~~~~~~rrrrrr............~~~~~~~~~~~~~~~~~.rrrrr.....................~~~~~~~~~~~~~~~~~~~~....", ".~~~~~~~~~...rrr...............~~~~~~~~~~~~....r.........................~~~~~.~~~~~~~~~~~~~....", "...~~~~~~.....rrr................rrr.....................................~~~~r..~~~~~~~...~.....", "...............rr.................rr......................................~~r.....~~~~r.........", "..............rrr.................rr.................................................rr.........", "..............rr................................................................................", "................^^^^............................................................................", "..............^^^^^^^....................................................................rrrr...", "r............^^^^^^^^^...........................................rr....^................rrrrrr..", "............^^^^^^^^^^.........................^^^^^^............rr...^^^.r.............rrrrrr.^", "..........r^^^^^^^^^^^^....................^^^^^^^^^^^................^^^^^^^............rr...^^", "..........^^^^^^^^^^^^^....................^^^^^^^^^^^................^^^^^^^.................^^", "...........^^^^^^^^^^^^.....................r^^^^^^^^.................^^^^^^^.................^^", ".............^^^^^^^^r.................................................^^....................r^^", "..............rr^^^..........................................................................^^^", "r...............r............................................................................^^^", ".............................................................................................^^^", "............................................................................................r^^^", ".............................................................................................^^^", "............................~~......................rrrr..................rrr................^^^", "..........................~~~~~~~.................~~.rrr......^...........rr...~~...~~~......^^^", ".......................r~~~~~~~~~~~..........~~~~~~~~.rr.....^^^r..............~~~~~~~~~.....r^^", ".......................~~~~~~~~~~~~~~......~~~~~~~~~~~rr....r^^^^..rr...........~~~~~~~~......^^", "......................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.....rr^^^^rrrrr..........~~~~~~~~~......^", ".......................~~~~~~~~~~~~~~~~..~~~~~~~~~~~~......rr^^^...rrr...........~~~~~~~~.......", "...rrrrr....................~~..r..........r~~~~~~~~........r.....................~~~~~~........", "..rrrrrrr.......~~~~~......................................rrr..................................", "...r.rrrr......~~~~~~~.......rr............................rrr..................................", "..............~~~~~~~........rrr...........................rrr..................................", ".............rr~~~~~~...........rrrr....................rr................MM....................", ".............rrr~~~..............rrrr.................rrrr................MM....................", "................r~..................r.................rrr.......................................", "^................~r........^^^^........................rr..................................MM.~~", "^................~~........^^^^.........................r..................................MM~~~", "^................~~rrr.....^^^^......................rrr......................................~~", "............rrrrr~~rrr.....r^^r......................rr..............~~~r....................~~.", "............rrrrr....................................rr...........r.~~~~~....................~~.", ".............rrrrr..........................rr..................~~~~~r..................MM...~~~", "................rr..........................rr.................r~~~~................MM..MM...~~~", "^..........................................rrrr................r~~~~................MM.......~~~", ".....r......................................rr.................~~~~~.........................~~~", "..rrrrr......................................................~~~~~~~.............r...........~~~", "rrrrrr................................~~~~..................~~~~~~~~............rr~~~........~~~", "......................................~~~~..................~~~~~~~~~.....~~.....~~~~~~r~~~~~~~~", ".......r..............r...r......r...~~~~~~.rr...........r..~~~~~~~~~.....~~~....~~~~~~~~~~~~~~~" ], "starts": [ { "army": 0, "x": 10, "y": 10 }, { "army": 1, "x": 85, "y": 85 } ], "buildings": [ { "army": 0, "type": "energygen", "tx": 13, "ty": 8 }, { "army": 0, "type": "energygen", "tx": 7, "ty": 8 } ] } }, { "id": "m05", "name": "Tropic Vice", "theme": "tropics", "seed": 67890, "playerArmy": "arm", "playerCommander": "vance", "enemies": [ { "army": "core", "commander": "cybro", "aiProfile": { "skill": 4, "aggression": 0.7 } } ], "startResources": [ { "mass": 2600, "energy": 4200 }, { "mass": 1500, "energy": 2600 } ], "objective": { "type": "destroyCommander" }, "briefing": [ { "speaker": "ethel", "mood": "idle", "text": "Cy-Bro starts ahead and pushes early. Rockets crack their base open — armour holds the line getting there." } ], "victoryLine": { "speaker": "ethel", "mood": "happy", "text": "Cy-Bro is scrap on the sand." }, "defeatLine": { "speaker": "cybro", "mood": "smug", "text": "The push came faster than the plant did." }, "map": { "w": 96, "h": 96, "theme": "tropics", "rows": [ "...............rr.rr.............rr....rrrr~~~....~~~rrrr....rr.............rr.rr...............", "r.............rr..rr...................rrr~~~~~..~~~~~rrr...................rr..rr.............r", "..........rrrrrr...rrr...................r~~~~~..~~~~~r...................rrr...rrrrrr..........", ".........rrrrr.......rr..................~~~~~~~~~~~~~~..................rr.......rrrrr.........", ".......rr^^^^^............................~~~~~~~~~~~~............................^^^^^rr.......", "...r.^^^^^^^^^^..................................................................^^^^^^^^^^.r...", "...r^^^^^^^^^^^^................................................................^^^^^^^^^^^^r...", "..r^^^^^^^^^^^^^^^^...rr.........^r..........................r^.........rr...^^^^^^^^^^^^^^^^r..", "..^^^^^^^^^^^^^^^^^^^^^rrrr...r^^^^..........................^^^^r...rrrr^^^^^^^^^^^^^^^^^^^^^..", ".^^^^^^^^^^^^^^^^^^^^^^r.rr...^^^^^..........................^^^^^...rr.r^^^^^^^^^^^^^^^^^^^^^^.", "^^^^^^^^^^^^^^^^^^^^^^^^..r...^^^^^^^.r..................r.^^^^^^^...r..^^^^^^^^^^^^^^^^^^^^^^^^", "^^^^^^^^^^^^^^^^^^^^^^^^^^^....^^^^^^^^^................^^^^^^^^^....^^^^^^^^^^^^^^^^^^^^^^^^^^^", "...^^^^..^.........^^^^^^^^.....^^^^^^^^^..............^^^^^^^^^.....^^^^^^^^.........^..^^^^...", "...rrr.............^^^^^^^^.....^^^^^^^^^..............^^^^^^^^^.....^^^^^^^^.............rrr...", "...........^^^.....^^^^^^^^....^^^^^^^^^................^^^^^^^^^....^^^^^^^^.....^^^...........", "..........^^^^^....^^^^^^^.....^^^^^^^....................^^^^^^^.....^^^^^^^....^^^^^..........", "..........^^^^^.....^^^^rr.....^^^^^^...rr............rr...^^^^^^.....rr^^^^.....^^^^^..........", "...........^^^^....r^^^rrr.....^^^^^^..rrrr..........rrrr..^^^^^^.....rrr^^^r....^^^^...........", "...........^^^^r...rr........r^^^^^^^^^rrrrr........rrrrr^^^^^^^^^r........rr...r^^^^...........", "...........^^^^.r............^^^^^^^^^^^^^r..........r^^^^^^^^^^^^^............r.^^^^...........", "...........^^^^^rr..........^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^..........rr^^^^^...........", "............^^..rr..........^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^..........rr..^^............", "....rrr.....................^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.....................rrr....", "....rrrr......................^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^......................rrrr....", "......r...........................^^^^^^^^^^^^^^^^^^^^^^^^^^^^...........................r......", "...................................^^^^^^^^^^^^^^^^^^^^^^^^^^...................................", "rrr.................................^^^^^^^^^^^^^^^^^^^^^^^^.................................rrr", "..r..................................^......rrr..rrr......^..................................r..", "........rrr..........................................................................rrr........", "........rrr..........................................................................rrr........", "........rrr......rr...........rr................................rr...........rr......rrr........", "r.........r.....rr............rr...rr......................rr...rr............rr.....r.........r", "................rr...........~..rrrrr......................rrrrr..~...........rr................", "..................rrrr.......~~~.r.~~~~~~~............~~~~~~~.r.~~~.......rrrr..................", "..................rrrr.......~~~...~~~~~~~~r........r~~~~~~~~...~~~.......rrrr..................", "................rrrrrr.......~~......~~~~~~~~......~~~~~~~~......~~.......rrrrrr................", "................rrrrr.................r..~~~~~....~~~~~..r.................rrrrr................", ".................rrr......................~~~~....~~~~......................rrr.................", "..................rr....~.................~~~~~rr~~~~~.................~....rr..................", "............rr....rr...r~.................~~~~~..~~~~~.................~r...rr....rr............", "~r..........~~....rr...r~.................~~~~~..~~~~~.................~r...rr....~~..........r~", "~~............~~~~rr...~~........^r.......~~~~~~~~~~~~.......r^........~~...rr~~~~............~~", "~~..............~~rr..r~~.......^^^.......~~~~~~~~~~~~.......^^^.......~~r..rr~~..............~~", "~~~..............~~.MMr~~.......^^^^......~~~~~~~~~~~~......^^^^.......~~rMM.~~..............~~~", "~~~r.............~~.MM.~~......^^^^^....rr~~~~~~~~~~~~rr....^^^^^......~~.MM.~~.............r~~~", "~~~...............~....~~......^^^^^....rr~~~~~~~~~~~~rr....^^^^^......~~....~...............~~~", "~~~..MM...........~....~~......^^^^^....rr.~~~~..~~~~.rr....^^^^^......~~....~...........MM..~~~", "~~r..MM...........r............^^^^^.......~~~....~~~.......^^^^^............r...........MM..r~~", "~~..............................^^^^........rr....rr........^^^^..............................~~", "~~...................rr.........^^^^........................^^^^.........rr...................~~", "~.............MM....rrr.........^^^^........................^^^^.........rrr....MM.............~", "..............MM....rrr.........^^^..........................^^^.........rrr....MM..............", "................................^^^..........................^^^................................", "................................^^^..........................^^^................................", ".................................^^r........................r^^.................................", "...................................rr......................rr...................................", "..........MM.......................rr......................rr.......................MM..........", "..........MM........................................................................MM..........", ".....rr..................................................................................rr.....", ".....rr..................................................................................rr.....", ".....rr..................................................................................rr.....", ".....rr..................................................................................rr.....", "....^rr.................~~~..........................................~~~.................rr^....", "..^^^^^................~~~~~~~~....rr......................rr....~~~~~~~~................^^^^^..", ".^^^^^^^r.............~~~~~~~~~~...~~~~~~r.....rr.....r~~~~~~...~~~~~~~~~~.............r^^^^^^^.", "^^^^^^^^^.............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............^^^^^^^^^", "^^^^^^^^^.............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............^^^^^^^^^", "^^^^^^^^^............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~............^^^^^^^^^", "^^^^^^^^^.............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.............^^^^^^^^^", "^^^^^^^^^....rr........~~~~~~~~~...~~~~~~~~~~~~~~~~~~~~~~~~~~...~~~~~~~~~........rr....^^^^^^^^^", "..^^^^^^r....r.........r~~~~~~r....rr~~~~~~~~~~~~~~~~~~~~~~rr....r~~~~~~r.........r....r^^^^^^..", "...^^^^......r...............rr....r....~~~~~~~~~~~~~~~~....r....rr...............r......^^^^...", "....^^r......rr..............rr....rr.....~~~~~~~~~~~~.....rr....rr..............rr......r^^....", ".....rr.......rr.............rr.....rr....~~~~~~~~~~~~....rr.....rr.............rr.......rr.....", ".....rr......................rr......r.....~~~~..~~~~.....r......rr......................rr.....", ".....rr......................rr.^^^........~~~~rr~~~~........^^^.rr......................rr.....", ".....rr......................rr^^^^^.......~~~~rr~~~~.......^^^^^rr......................rr.....", ".....rr......................r^^^^^^.......~~~~..~~~~.......^^^^^^r......................rr.....", "..............................^^^^^^.......~~~~..~~~~.......^^^^^^..............................", "..............................^^^^^^.......~~~....~~~.......^^^^^^..............................", ".....................^r.......^^^^^^r.......~~....~~.......r^^^^^^.......r^.....................", ".....................^r........^^^^^r.......~~....~~.......r^^^^^........r^.....................", "...............................^^^^rr......................rr^^^^...............................", "................................^^^..........................^^^................................", "................................^^^..........................^^^................................", "...............................rr.......rrr..........rrr.......rr...............................", "r..............................rr.......rrr..........rrr.......rr..............................r", "r..............................rr.........r..........r.........rr..............................r", ".....rr........................r..........rr........rr..........r........................rr.....", ".....rr......................rr...........rrr......rrr...........rr......................rr.....", "...........rr................rr............rrrr..rrrr............rr................rr...........", "...........rr................rr............rrrr..rrrr............rr................rr...........", "...........rr.....rr.........rr...........rrrr....rrrr...........rr.........rr.....rr...........", "..................rr........................................................rr..................", "..................rrr......................................................rrr..................", "..................r.rr..........r..............................r..........rr.r.................." ], "starts": [ { "army": 0, "x": 10, "y": 48 }, { "army": 1, "x": 85, "y": 48 } ], "buildings": [ { "army": 0, "type": "energygen", "tx": 13, "ty": 46 }, { "army": 0, "type": "energygen", "tx": 7, "ty": 46 }, { "army": 0, "type": "barracks", "tx": 14, "ty": 51 }, { "army": 1, "type": "energygen", "tx": 88, "ty": 50 } ] } }, { "id": "m06", "name": "Annihilation", "theme": "snowfields", "seed": 80808, "playerArmy": "arm", "playerCommander": "vance", "enemies": [ { "army": "core", "commander": "klaxon", "aiProfile": { "skill": 5, "aggression": 0.85 } } ], "startResources": [ { "mass": 3200, "energy": 5200 }, { "mass": 1800, "energy": 3000 } ], "objective": { "type": "destroyCommander" }, "briefing": [ { "speaker": "ethel", "mood": "idle", "text": "KLAXON at full strength with a base already standing, dug in behind its own defences. Nothing clever left — out-build it and end it." } ], "victoryLine": { "speaker": "ethel", "mood": "happy", "text": "Total annihilation. There is nothing left to fight." }, "defeatLine": { "speaker": "klaxon", "mood": "smug", "text": "KLAXON was simply better prepared." }, "map": { "w": 96, "h": 96, "theme": "snowfields", "rows": [ "~~~r....r...rrrrrr..........r.~~~~~~...............^^^^^^^^^^^^^^..................r....r..^^^^^", "~~~r..........r....MM.........~~~~~~...............^^^^^^^^^^^^^...........................^^^^^", "~~~...............rMM.........~~~~~r................^^^^^^^^^^^............................^^^^^", "~~~...............rr..............r...................^^^^^^............................rr.^^^^^", "rr................rrrr....................................r..........rr.................^^^^^^^^", "...................rrrr.r............................................rr................^^^^^^^^^", "...................rrrrrrrr............................................................^^^^^^^^^", "....................r...rr..................r...........................................^^^^^^rr", "r.....MM...................................r^^................rr........................^^^^^^..", "......MM.............^^^..................^^^^^............rrrrrrrrr...................^^^^^^^^.", "..MM................^^^^^^.............rr^^^^^^^...........rrrrrrrrr.................r^^^^^^^^^^", "..MM...............^^^^^^^...rr........r^^^^^^^^^............r....^^r................^^^^^^^^^^^", "...................^^^^^^^..rrr..rr....r^^^^^^^^^.................^^^................^^^^^^^^^^^", "..................r^^^^^^^rrrrrr.rr....r^^^^^^^^^..................^........rr.......^^^^^^^^^^^", "..................r^^^^^^...rrrr..........^^^^^^rr.....rrrrrrr..............rrrrr.....^^^^^^^^^.", "..................^^^^^^....rrrrr................rrrrr~~~~~rrr..............rrrrr........r...r..", ".................^^^^^^r...rrr.rr..~.............rrr~~~~~~~~~.............................rrr...", "~..............^^^^^.^.....rr....~~~~.rrr........rrr~~~~~~~~~..............................r....", "~~.........r^^^^^^..............~~~~..rrr.............~~~~~~....................................", "~~MM.......^^^^^...............~~~~........................rrrrrr...............................", "~~MM.......^^^^^..............~~~~~........................rrrrrr...............................", "~~~.......r^^^^^.............~~~~~~.........................rrrr................................", "~~........^^^^^^^.............~~~~~.............................................................", "..........^^^^^^^^..............~~~.............................................rrr.....r^......", ".........r^^^^^^^^................r.............................................rrr....^^^^.....", ".........r^^^^^^^^rrrr.....r....................................................rrrr...^^^^^....", "r..........^^^^^^^rrrr....rrr......................................................rr..^^^^^....", "r.............rrr....rrrrr.rr......................................................rrrrr^^^.....", ".rrrr........rrrr.......^^..r.......................................................rr..........", "..rrrr.......rr........^^^^^^.........................r...r...............................rrr...", "^^.rrr............rr..r^^^^^^r.......................^^^^^^^............................^^^^^^^^", "^^.rrrr...........rrrr.^^^^^.......................^^^^^^^^^^^^.r.......................^^^^^^^^", "^^rrrrr........rrrr...^^^^^.....^^^^^.............^^^^^^^^^^^^^^^rr....................^^^^^^^^^", "^^rrr..........rrr^...^^^^.....r^^^^^.............^^^^^^^^^^^^^^^^^....................^^^^^^^^^", "^^.rr..........rrr....^^^r.....r^^^^...............^^^^^^^^^^^^^........................^^^^^^^^", "^..rr..rr...............r.......^^..................^^^^^^^^^..............rrr..................", "....r.rrr...............r...^^^^.....................r^^^^................rrrr~.................", ".....rrrr..............rrr..^^^^.....................rr...................rrrr~.................", "r......rr...............r...^^^^.....................rr.........................................", ".r...........................^^^^^^...r...........rrr........................................rr.", ".rr..........................^^^^^^^rrrr..........rrr.......................................rrr.", "..r...................~~~....^^^^^^^^^^r.r..........r.......................................rrr.", "~~~....rrr..........~~~~~~...^^^^^^^^^^^^^^^^^^.............................................rrrr", "~~~~...rrrr........~~~~~~~....^^^^^^^^^^^^^^^^^^..........rr..................................~~", "~~~~...rrrr........~~~~~~~....^^^^^^^^^^^^^^^^^^^.........rr......~~~........................~~~", "~~~~...rr..........~~~~~~~....^^^^^^^^^^^^^^^^^^^..........r......~~~........................~~~", "~~~~...rr..........~~~~~~~....^^^^^^^^^^^^^^^^^^.r........rr......~~..........................~~", "~~~~...rr..........~~~~~~~....^^^^^^^^^^^^^^^^^..rrrrr....rr..r...~~.....r....................~~", "~~....................r.....~~...r..rr....rrrrr..^^^^^^^^^^^^^^^^^....~~~~~~~..........rr...~~~~", "~~..........................~~......rr........r.^^^^^^^^^^^^^^^^^^....~~~~~~~..........rr...~~~~", "~~~........................~~~......r..........^^^^^^^^^^^^^^^^^^^....~~~~~~~..........rr...~~~~", "~~~........................~~~......rr.........^^^^^^^^^^^^^^^^^^^....~~~~~~~........rrrr...~~~~", "~~..................................rr..........^^^^^^^^^^^^^^^^^^....~~~~~~~........rrrr...~~~~", "rrrr.............................................^^^^^^^^^^^^^^^^^^...~~~~~~..........rrr....~~~", ".rrr.......................................r..........r.r^^^^^^^^^^....~~~...................r..", ".rrr.......................................rrr..........rrrr^^^^^^^..........................rr.", ".rr........................................rrr...........r...^^^^^^...........................r.", ".........................................rr.....................^^^^...r...............rr......r", ".................~rrrr...................rr.....................^^^^..rrr..............rrrr.....", ".................~rrrr................^^^^r.....................^^^^...r...............rrr.r....", "..................rrr..............^^^^^^^^^..................^^.......r...............rr..rr..^", "^^^^^^^^........................^^^^^^^^^^^^^...............^^^^r.....r^^^....rrr..........rr.^^", "^^^^^^^^^....................^^^^^^^^^^^^^^^^^.............^^^^^r.....^^^^...^rrr..........rrr^^", "^^^^^^^^^....................rr^^^^^^^^^^^^^^^.............^^^^^.....^^^^^...rrrr........rrrrr^^", "^^^^^^^^.......................r.^^^^^^^^^^^^.......................^^^^^.rrrr...........rrrr.^^", "^^^^^^^^............................^^^^^^^.......................r^^^^^^r..rr............rrr.^^", "...rrr...............................r...r.........................^^^^^^........rr.......rrrr..", "..........rr.......................................................r..^^.......rrrr........rrrr.", ".....^^^rrrrr......................................................rr.rrrrr....rrr.............r", "....^^^^^..rr......................................................rrr....rrrr^^^^^^^..........r", "....^^^^^...rrrr....................................................r.....rrrr^^^^^^^^r.........", ".....^^^^....rrr.............................................r................^^^^^^^^r.........", "......^r.....rrr.............................................~~~..............^^^^^^^^..........", ".............................................................~~~~~.............^^^^^^^........~~", "................................rrrr.........................~~~~~~.............^^^^^r.......~~~", "...............................rrrrrr........................~~~~~..............^^^^^.......MM~~", "...............................rrrrrr........................~~~~...............^^^^^.......MM~~", "....................................~~~~~~.............rrr..~~~~..............^^^^^^r.........~~", "....r..............................~~~~~~~~~rrr........rrr.~~~~....rr.....^.^^^^^..............~", "...rrr.............................~~~~~~~~~rrr.............~..rr.rrr...r^^^^^^.................", "..r...r........rrrrr..............rrr~~~~~rrrrr................rrrrr....^^^^^^..................", ".^^^^^^^^^.....rrrrr..............rrrrrrr.....rr^^^^^^..........rrrr...^^^^^^r..................", "^^^^^^^^^^^.......rr........^..................^^^^^^^^^r....rr.rrrrrr^^^^^^^r..................", "^^^^^^^^^^^................^^^.................^^^^^^^^^r....rr..rrr..^^^^^^^...................", "^^^^^^^^^^^................r^^....r............^^^^^^^^^r........rr...^^^^^^^...............MM..", "^^^^^^^^^^r.................rrrrrrrrr...........^^^^^^^rr.............^^^^^^................MM..", ".^^^^^^^^...................rrrrrrrrr............^^^^^..................^^^.............MM......", "..^^^^^^........................rr................^^r...................................MM.....r", "rr^^^^^^...........................................r..................rr...r....................", "^^^^^^^^^............................................................rrrrrrrr...................", "^^^^^^^^^................rr............................................r.rrrr...................", "^^^^^^^^.................rr..........r....................................rrrr................rr", "^^^^^.rr............................^^^^^^...................r..............rr...............~~~", "^^^^^............................^^^^^^^^^^^................r~~~~~.........MMr...............~~~", "^^^^^...........................^^^^^^^^^^^^^...............~~~~~~.........MM....r..........r~~~", "^^^^^..r....r..................^^^^^^^^^^^^^^...............~~~~~~.r..........rrrrrr...r....r~~~" ], "starts": [ { "army": 0, "x": 10, "y": 10 }, { "army": 1, "x": 85, "y": 85 } ], "buildings": [ { "army": 0, "type": "energygen", "tx": 13, "ty": 7 }, { "army": 0, "type": "energygen", "tx": 7, "ty": 7 }, { "army": 0, "type": "barracks", "tx": 14, "ty": 13 }, { "army": 0, "type": "vehicleplant", "tx": 6, "ty": 13 }, { "army": 1, "type": "energygen", "tx": 88, "ty": 82 }, { "army": 1, "type": "barracks", "tx": 89, "ty": 88 } ] } } ] }