{ "_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": 71644, "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. Rocket tanks out-range everything CORE fields." } ], "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": [ "~~r....^^^^^^^^^^^^...........rr~~~...r...^^^^^^^^^^^^...r...~~~rr...........^^^^^^^^^^^^....r~~", "~~.....^^^^^^^^^^^^...........r.~~~........^^^....^^^........~~~.r...........^^^^^^^^^^^^.....~~", "~~....rr^^^^^^^^^^^............r~~~~.r....................r.~~~~r............^^^^^^^^^^^rr....~~", "~~~......^^^...................~~~~~~~rr................rr~~~~~~~...................^^^......~~~", "~~~~.....rr....................~~~~~~~~~................~~~~~~~~~....................rr.....~~~~", "~~~~......rr.....................~~~~~~rr..............rr~~~~~~.....................rr......~~~~", "~~~~......rr..............rr.....~~.....rr............rr.....~~.....rr..............rr......~~~~", "~~~..................rrrrrrr.....~......rr............rr......~.....rrrrrrr..................~~~", "~~~.................rrrrrrrr.....~r..........................r~.....rrrrrrrr.................~~~", "~~~~................rrrr.............rr..................rr.............rrrr................~~~~", "~~~~~...............rrrr.............rr..................rr.............rrrr...............~~~~~", "~~~~~~................rrr...........rr....................rr...........rrr................~~~~~~", "~~~~~~r...............rr................................................rr...............r~~~~~~", "~~~~~.rr................................................................................rr.~~~~~", "~~~...rr................................................................................rr...~~~", "~~rr........................................................................................rr~~", "~~rr....................rr..............rr............rr..............rr....................rr~~", ".................rr....rrr..............rr............rr..............rrr....rr.................", ".................rr..~~.....r....r...........rrrrrr...........r....r.....~~..rr.................", ".................r..~~~~...~~~~~~~~~.......^^^^..^^^^.......~~~~~~~~~...~~~~..r.................", "..................r.~~~~..~~~~~~~~~~~......^^^^..^^^^......~~~~~~~~~~~..~~~~.r..................", "..................r~~~~~~~~~~~~~~~~~~.....^^^^^^^^^^^^.....~~~~~~~~~~~~~~~~~~r..................", ".................r.~~~~~~~~~~~~~~~~~~.....^^^^^^^^^^^^.....~~~~~~~~~~~~~~~~~~.r.................", "................rrr~~~~~~~~~~~~~~~~~~......^^^^..^^^^......~~~~~~~~~~~~~~~~~~rrr................", "..............rrrr~~~~~~~.~~~~~~~~~~~...rr.^^^^..^^^^.rr...~~~~~~~~~~~.~~~~~~~rrrr..............", "..............rrr.~~~~~~...~~~~~~~~~~...rrr^^^^..^^^^rrr...~~~~~~~~~~...~~~~~~.rrr..............", "..............r............................^^^^..^^^^............................r..............", "..............r...........................^^^^^^^^^^^^...........................r..............", "............rrrrrr.......................^^^^^^^^^^^^^^.......................rrrrrr............", "........rr.rrrrrrr......................^^^^^^^^^^^^^^^^......................rrrrrrr.rr........", "........rrrrr..rrr....................^^^^^^^^^^^^^^^^^^^^....................rrr..rrrrr........", "...........rr...rr...................^^^^^^^^^^^^^^^^^^^^^^...................rr...rr...........", "...........rr....r...........^......^^^^^^^^^^^^^^^^^^^^^^^^......^...........r....rr...........", "...........................r^^^...r^^^^^^^^^^^^^^^^^^^^^^^^^^r...^^^r...........................", "r...........................^^^....^^^^^^^^^^^^^^^^^^^^^^^^^^....^^^...........................r", "...................................r^^^^^^^^^^^^^^^^^^^^^^^^r...................................", "......................................^^^^^^^^^^^^^^^^^^^^......................................", ".................................rrr.....^^^^^^..^^^^^^.....rrr.................................", ".........MM.....................rrrrr.....^^^^....^^^^.....rrrrr.....................MM.........", ".........MM.....^^...............rrrrr....................rrrrr...............^^.....MM.........", "................^^...............rrrrr....................rrrrr...............^^................", "...............^^^...............rrrrr....................rrrrr...............^^^...............", "................^^^...............r..........................r...............^^^................", "~~...............^^..........................................................^^...............~~", "~~~.MM...........^^..........................................................^^...........MM.~~~", "~~~.MM.......MM...^...rr................................................rr...^...MM.......MM.~~~", "~~...........MM.......rr................................................rr.......MM...........~~", "~.....................rr................................................rr.....................~", "r..............................................................................................r", "....MM............rr........................................................rr............MM....", "....MM............rr........................................................rr............MM....", "..................rr~~~~................................................~~~~rr..................", "..................r.~~~~~~~..r..............^^....^^..............r..~~~~~~~.r..................", "...................~~~~~~~~rr..............^^^....^^^..............rr~~~~~~~~...................", "...................~~~~~~~~~...............^^^^..^^^^...............~~~~~~~~~...................", "rr.................~~~~~~~~~..............^^^^^..^^^^^..............~~~~~~~~~.................rr", "rrr................~~~~~~~~~..............^^^^^..^^^^^..............~~~~~~~~~................rrr", "..r................~~~~~~~~~................^^....^^................~~~~~~~~~................r..", "...................~~~~~~~~..........................................~~~~~~~~...................", "..................r~~~~~~~~.r......................................r.~~~~~~~~r..................", "...................r~~~~~~.rrr.rr......rrrr..........rrrr......rr.rrr.~~~~~~r...................", "...................r~~~~rrrrrrrrr.....rrrr............rrrr.....rrrrrrrrr~~~~r...................", "....................rr..rrrrrr.rrr....rrrr............rrrr....rrr.rrrrrr..rr....................", ".............r..........rrrrr....r....rr................rr....r....rrrrr..........r.............", "...........rrrrr.........rr..........rr..................rr..........rr.........rrrrr...........", "..........~~~.rr.........r...........rr.....~~....~~.....rr...........r.........rr.~~~..........", "........r~~~~~rr.........rr..........rr....~~~~~~~~~~....rr..........rr.........rr~~~~~r........", "........r~~~~~rrr.......rrr..........rrr...~~~~~~~~~~...rrr..........rrr.......rrr~~~~~r........", ".........~~~~~..rr......rrr...........rr...r~~~rr~~~r...rr...........rrr......rr..~~~~~.........", ".........~~~~~..rr......rrr..........................................rrr......rr..~~~~~.........", "........~~~~~~..rr............................................................rr..~~~~~~........", "........~~~~~~..rr............................................................rr..~~~~~~........", "........~~~~~~..rr............................................................rr..~~~~~~........", "........~~~~~~~.......................rrrr............rrrr.......................~~~~~~~........", ".......~~~~~~~~......r..........r^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^r..........r......~~~~~~~~.......", ".......~~~~~~~~.....rrrr........^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^........rrrr.....~~~~~~~~.......", ".......~~~~~~~~....rr.rr.......^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.......rr.rr....~~~~~~~~.......", ".......~~~~~~~~.....~~.r.......^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.......r.~~.....~~~~~~~~.......", ".......~~~~~~~~.....~~..r......^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^......r..~~.....~~~~~~~~.......", ".......~~~~~~~~.....~~..rrr....^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^....rrr..~~.....~~~~~~~~.......", "......r~~~~~~~~.....~~~..rrr....^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^....rrr..~~~.....~~~~~~~~r......", "......rr~~~~~~~.....~~~..rrr.....^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.....rrr..~~~.....~~~~~~~rr......", "......rr~~~~~~~.....~~~~............^^^^^^^^^^^^^^^^^^^^^^^^............~~~~.....~~~~~~~rr......", "......rr.~~~~~r.....~~~~...............rrrr..........rrrr...............~~~~.....r~~~~~.rr......", "^.........~~~~r...r~~~~~~..............rrrrrrrr..rrrrrrrr..............~~~~~~r...r~~~~.........^", "^^............rr..r~~~~~~~................rrrrrrrrrrrr................~~~~~~~r..rr............^^", "^^^...........rr..r~~~~~~~................rrr..rr..rrr................~~~~~~~r..rr...........^^^", "^^^.....rr........r~~~~~~~...............rrrr......rrrr...............~~~~~~~r........rr.....^^^", "^^^^....rr.........~~~~~~~~...............rr........rr...............~~~~~~~~.........rr....^^^^", "^^^^...............~~~~~~~~..........................................~~~~~~~~...............^^^^", "^^^^...............~~~~~~~~..........................................~~~~~~~~...............^^^^", "^^^^...............~~~~~~~~..........................................~~~~~~~~...............^^^^", "^^^................~~~~~~~~..........................................~~~~~~~~................^^^", "^^^................~~~~~~~~...........r....r........r....r...........~~~~~~~~................^^^", "^^^.................~~~~~~...........rrr..rrr......rrr..rrr...........~~~~~~.................^^^", "^^.....r......rr.r..~~~~~~............r....r........r....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": 63541, "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. 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...rr....r.........r....r...........rrr...", "..............MM.^^..r^^^^^..............^^^^^............................................rrr...", "..............MM......^^^^^^...............rr..............................................rr...", "......................^^^^^^..............r...............................................rrr...", "....................................................................rrr...................rrr...", "........................rr..........................................rrrr.....................r..", "........................rr.........................................^..rr.......rr............rr.", "................................................................r^^^^^..........rr...........rr.", ".......................~~~.......................................^^^^^^.......................rr", "......................~~~~~.....................................^^^^^^^^........................", "......................~~~~~......................................^^^^^^^........................", "......................~~~~.....rr..............................rrrr...........................rr", ".......................~~......rr...........................rrrrr.......................rr....rr", "...............................r...rr.................rr....rrrr.........................r....rr", "................................rrrrr................rrr.....rrr................................", "...............MM................rrrr..............rrrr.......rrr...............................", "...............MM...............rrr...............rrrrr...rr..rr................................", "......r..........................rr..r............rrrr....rrrrrr................rrr............r", "r....MM.............................rrr.........................................rrr.............", ".....MM..............................rr...........................~~~~~~~~~~~~~~~~~.............", ".......................^^^^..rr......rr...r~~~..................~~~~~~~~~~~~~~~~~~~~............", ".........MM...........^^^^^.rrr......rr...~~~~~................~~~~~~~~~~~~~~~~~~~~~~~..........", ".........MM.........^^^^^^^rrrr..........~~~~~~~...............~~~~~~~~~~~~~~~~~~~~~~~~..rr....r", "^^................r^^^^^rr...rr..........~~~~~~~...............~~~~~~~~~~~~~~~~~~~~~~~~.rrrrrrrr", "^^^...............^^^^^..................~~~~~~~.......rr......~~~~~~~~~~~~~~~~~~~~~~~~~.rrrr...", "^^^................^^^^...................~~~~~........rr.......~~~~~~~~~~~~~~~~~~~~~~~~~~......", "r..................^^^^.........................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~....", "r..................rr^............................................~~~~~~~~~~~~~~~~~~~~~~~~~~~~..", ".......................................................................~~~~~~~~~~~~~~~~~~~~~~~~.", "...rr..................rr.................................................~~~~~~~~~~~~~~~~~~~~~~", "r..rr..................rrr.......................................................~~~~~~~~~~~~~~~", "r..rr..................rrrr........................................................~~~~~~~~~~~~~", "...rr....................rr..........rr....................r........................~~~~~~~~~~~~", "..........................rr.........rr...................rrr.......................~~~~~~~~~~~~", "..........................rr......................rr.......r........................r~~~~~~~~~~~", ".........................rrrr...rr................rr.................................r~~~~~~~~~~", ".........................rrrr...rr..r.............rr.................................rrr~~~~~~..", ".........................r.r.....rrrrrr.............................................rrrrrrrrr...", ".................................rr..rr................^^...........................rr.rr.......", "................................rr...................^^^^^..rr..................................", ".....rrr............~~..........rr..............^^^^^^^^^^..rr..................................", ".....rrr.......rr...~~..........rr........^^^^^^^^^^^^^^^^..rr..................................", ".......rr......rr..~~~..........rr.......^^^^^^^^^^^^^^^^^..rr..................................", "........rr.........~~~..................^^^^^^^^^^^^^^^^^^..rrrr..............^.................", "........rr.........~~~~.................^^^^^^^^^^^^^^^^^^^.rrrr.............^^^................", "...................~~~~................^^^^^^^^^^^^^^^^^^^..rrr..............^^^rrr......rrrrrrr", "...................~~~..................^^^^^^^^^^^^^^^^^^..rr...............^^^rrr......rrrrrrr", "....................~~..................^^^^^^^^^^^^^^^^......................^................r", "r................^......................^^^^^^^^^^^^^^^^..................~~....................", "rrrrrrr......rrr^^^...............rr..^^^^^^^^^^^^^^^^^^..................~~~...................", "rrrrrrr......rrr^^^..............rrr..^^^^^^^^^^^^^^^^^^^................~~~~...................", "................^^^.............rrrr.^^^^^^^^^^^^^^^^^^^.................~~~~.........rr........", ".................^..............rrrr..^^^^^^^^^^^^^^^^^^..................~~~.........rr........", "..................................rr..^^^^^^^^^^^^^^^^^.......rr..........~~~..rr......rr.......", "..................................rr..^^^^^^^^^^^^^^^^........rr..........~~...rr.......rrr.....", "..................................rr..^^^^^^^^^^..............rr..........~~............rrr.....", "..................................rr..^^^^^...................rr................................", ".......rr.rr...........................^^................rr..rr.................................", "...rrrrrrrrr.............................................rrrrrr.....r.r.........................", "..~~~~~~rrr.................................rr.............r..rr...rrrr.........................", "~~~~~~~~~~r.................................rr................rr...rrrr.........................", "~~~~~~~~~~~r........................r.......rr......................rr..........................", "~~~~~~~~~~~~.......................rrr...................rr.........rr..........................", "~~~~~~~~~~~~........................r....................rr..........rr....................rr...", "~~~~~~~~~~~~~........................................................rrrr..................rr..r", "~~~~~~~~~~~~~~~.......................................................rrr..................rr..r", "~~~~~~~~~~~~~~~~~~~~~~.................................................rr..................rr...", ".~~~~~~~~~~~~~~~~~~~~~~~~.......................................................................", "..~~~~~~~~~~~~~~~~~~~~~~~~~~~~............................................^rr..................r", "....~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................................^^^^..................r", "......~~~~~~~~~~~~~~~~~~~~~~~~~~.......rr........~~~~~...................^^^^................^^^", "...rrrr.~~~~~~~~~~~~~~~~~~~~~~~~~......rr.......~~~~~~~..................^^^^^...............^^^", "rrrrrrrr.~~~~~~~~~~~~~~~~~~~~~~~~...............~~~~~~~..........rr...rr^^^^^r................^^", "r....rr..~~~~~~~~~~~~~~~~~~~~~~~~...............~~~~~~~..........rrrr^^^^^^^.........MM.........", "..........~~~~~~~~~~~~~~~~~~~~~~~................~~~~~...rr......rrr.^^^^^...........MM.........", "............~~~~~~~~~~~~~~~~~~~~..................~~~r...rr......rr..^^^^.......................", ".............~~~~~~~~~~~~~~~~~...........................rr..............................MM.....", ".............rrr.........................................rrr.............................MM....r", "r............rrr................rrrrrr....rrrr............r..rr..........................r......", "................................rr..rr...rrrrr...............rrr...............MM...............", "...............................rrr.......rrrr..............rrrr................MM...............", "................................rrr.....rrr................rrrrr................................", "rr....r.........................rrrr....rr.................rr...r...............................", "rr....rr.......................rrrrr...........................rr......~~.......................", "rr...........................rrrr..............................rr.....~~~~......................", "........................^^^^^^^......................................~~~~~......................", "........................^^^^^^^^.....................................~~~~~......................", "rr.......................^^^^^^.......................................~~~.......................", ".rr...........rr..........^^^^^r................................................................", ".rr............rr.......rr..^.........................................rr........................", "..r.....................rrrr..........................................rr........................", "...rrr...................rrr....................................................................", "...rrr...............................................r..............^^^^^^......................", "...rr..............................................rr...............^^^^^^......MM..............", "...rrr............................................^^^^^..............^^^^^r..^^.MM..............", "...rrr...........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": 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 } ] } } ] }