{ "_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": 90123, "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.....r....~~.....^^^^^^^^^^^........rr...........^^^^^^^^^^^^^^^^^^^^^^^^", "^^^^.......~~~..................~~~.....^^^^^^^^^^^......................^^^^^^^^^^^^^^^^^^^^^^^", "^^^^.......~~r.................~~~~......^^^^^^^^^.....rr................^^^^^^^^^^^^^^^^^^^^^^^", "^^^^..MM.....................r~~~~~~.....^^^^^^^^^.....rr..................^^^^^^^^^^^^^^^^^^^^^", "^^^^..MM......MM............r~~~~~~~r....^^^^^^^^^rrr.......................^^^^^^^^^^^^..^^^^^^", "^^^^..........MM.............r~~~~~rr.....^^^^^^^^..rr........................r..............r..", "^^^^..........................rrrr.rr......^^^^.....rr..........................................", "^^^............................r...............................r~~~~~~~~........................", "^^^.....................~~.....................................~~~~~~~~~~~~~~...................", "^^^....................~~~.......rr............................~~~~~~~~~~~~~~~~~~~~~~~~~~~~rr...", "^^.....................~~~~......rrr............................~~~~~~~~~~~~~~~~~~~~~~~..rrrr...", "^^^..MM...........~~~~~~~~~...rrrrr................^^^^^^^r......~~~~~~~~~~~.............rrrr...", "^^^..MM...........~~~~~~~~~rrrrrrrr...............^^^^^^^^^......r~~~~~rrr................rr....", "^^^...............~~..~~~~~rr.....................^^^^^^^^..rr....~~~~~.r.......................", "............................r.......................^^^^^^..rr....~~~~.rrr......................", "............................rr........................^^^...rr....~~~~rrrr......................", ".............................r....................................~~~~..........................", ".............................rrr..................................~~~...........................", "............................rrrr..................rrr.............~~...........................r", "~~MMrr.....rr................rr...................rrr..............r............................", "~~MMrrrrrrrrrrr.........................rr......................rrr.............................", "~~~rrrrrrrrr^^^r..rr...................rrr......................rrr.............................", "~~~rrrrrrrrr^^rr..rr....................rr................rr............................rr......", "~~~rr..rrrrrrrrr.......................................rrrrr........rr...............rrrrr.....r", "~~.....rr..r....r......................................rrrrr...rr..rrr.......^^^.....rrr........", "~~.....rr......rr......................................rrrr....rr...r........^^^......rr........", "~~.....................................................rrrr....r....rr...............rrr........", "................................................................~~~~~~..............rrr.........", ".................................~.......~~~~~~~r............~~~~~~~~~~~............r...........", "...............rr...rr..........~~~...~~~~~~~~~~~~..........~~~~~~~~~~~~..........rr...........r", "...............rr..rrr...........~~...~~~~~~~~~~~~...........~~~~~~~~~~~........rrr.............", ".rr............rr...rr.........r........~~~~~~~~~.............~~~~~~~~~.........rr..............", "rrr............rrr....rrr.....rrr.........r~~~~................~~~~~~~.......^^^..............rr", "r.....................rrrr..rr..r...........~~..................~~~~~~......^^^^^^...r.rr....rr.", "r......................r.rrrrr..r...............................~~~~~~.......^^^^^..rrrrr....rr.", "...rr..........................rr......................rr........~~~~........^^^^....rrr........", "...rr..........................rr.....................rrrr........r...................r.........", ".......................r...............................rrr.................r.........rrr........", ".......................r~~.............................rrr.......rr........rrrr.....rrrr........", ".....................~~~~~~......rr..............................rr........rrrr....rrrr.........", "r...................~~~~~~~~.....rr..............................rrr.......rrr......rr..........", "r..................~~~~~~~~~~...rrr........^^^^...................rr........rr......rr..........", "~~.................~~~~~~~~~~~..r.........^^^^^^......rrr........^^^^^.............rrrr..^......", "~~~...............~~~~~~~~~~~~~r.........^^^^^^^^....rrrr......r^^^^^^^.............rrrr^^^.....", "~~~~..............~~~~~~~~~~~~~..........^^^^^^^^r...r.........^^^^^^^^..............rrr^^^.....", "~~~~..............~~~~~~~~~~~~~..........^^^^^^^^..............^^^^^^^^..............rrr^^^.....", "~~~~..............~~~~~~~~~~~~r..........^^^^^^^^...............^^^^^^^..............rrr^^^.....", "~~~r....rr........~~~~~~~~~~~.r.........^^^^^^^^^.....rr........r^^^^^...............rrr........", "........rrr...............^^^^^r........rr.....^^^^^^^^^.........r.~~~~~~~~~~~........rr....r~~~", ".....^^^rrr..............^^^^^^^...............^^^^^^^^..........r~~~~~~~~~~~~..............~~~~", ".....^^^rrr..............^^^^^^^^..............^^^^^^^^..........~~~~~~~~~~~~~..............~~~~", ".....^^^rrr..............^^^^^^^^.........r...r^^^^^^^^..........~~~~~~~~~~~~~..............~~~~", ".....^^^rrrr.............^^^^^^^r......rrrr....^^^^^^^^.........r~~~~~~~~~~~~~...............~~~", "......^..rrrr.............^^^^^........rrr......^^^^^^.........r..~~~~~~~~~~~.................~~", "..........rr......rr........rr...................^^^^........rrr...~~~~~~~~~~..................r", "..........rr......rrr.......rrr..............................rr.....~~~~~~~~...................r", ".........rrrr....rrrr........rr..............................rr......~~~~~~.....................", "........rrrr.....rrrr........rr.......rrr.............................~~r.......................", "........rrr.........r.................rrr...............................r.......................", ".........r...................r........rrrr.....................rr..........................rr...", "........rrr....^^^^........~~~~........rr......................rr..........................rr...", ".rr....rrrrr..^^^^^.......~~~~~~...............................r..rrrrr.r......................r", ".rr....rr.r...^^^^^^......~~~~~~..................~~...........r..rr..rrrr.....................r", "rr..............^^^.......~~~~~~~................~~~~r.........rrr.....rrr....rrr............rrr", "..............rr.........~~~~~~~~~.............~~~~~~~~~........r.........rr...rr............rr.", ".............rrr........~~~~~~~~~~~...........~~~~~~~~~~~~...~~...........rrr..rr...............", "r...........rr..........~~~~~~~~~~~~..........~~~~~~~~~~~~...~~~..........rr...rr...............", "...........r............~~~~~~~~~~~............r~~~~~~~.......~.................................", ".........rrr..............~~~~~~................................................................", "........rrr...............rr....r....rrrr.....................................................~~", "........rr......^^^........r...rr....rrrr......................................rr......rr.....~~", "........rrr.....^^^.......rrr..rr...rrrrr......................................r....r..rr.....~~", "r.....rrrrr...............rr........rrrrr.......................................rrrrrrrrr..rr~~~", "......rr............................rr................rr....................rr..rr^^rrrrrrrrr~~~", ".............................rrr......................rrr...................rr..r^^^rrrrrrrrr~~~", ".............................rrr......................rr.........................rrrrrrrrrrrMM~~", "............................r..............rrr...................rr................rr.....rrMM~~", "r...........................~~.............rrr..................rrrr............................", "...........................~~~..................................rrr.............................", "..........................~~~~....................................r.............................", "......................rrrr~~~~....rr...^^^........................rr............................", "......................rrr.~~~~....rr..^^^^^^.......................r............................", ".......................r.~~~~~....rr..^^^^^^^^.....................rr~~~~~..~~...............^^^", "....rr................rrr~~~~~r......^^^^^^^^^...............rrrrrrrr~~~~~~~~~...........MM..^^^", "...rrrr.............~~~~~~~~~~~......r^^^^^^^................rrrrr...~~~~~~~~~...........MM..^^^", "...rrrr..~~~~~~~~~~~~~~~~~~~~~~~............................rrr......~~~~.....................^^", "...rr~~~~~~~~~~~~~~~~~~~~~~~~~~~~............................rr.......~~~....................^^^", "...................~~~~~~~~~~~~~~.....................................~~.....................^^^", "........................~~~~~~~~r...............................r............................^^^", "..........................................rr.....^^^^......rr.rrrr..........................^^^^", "..r..............r........................rr..^^^^^^^^.....rr~~~~~r.............MM..........^^^^", "^^^^^^..^^^^^^^^^^^^.......................rrr^^^^^^^^^....r~~~~~~~r............MM......MM..^^^^", "^^^^^^^^^^^^^^^^^^^^^..................rr.....^^^^^^^^^.....~~~~~~r.....................MM..^^^^", "^^^^^^^^^^^^^^^^^^^^^^^................rr.....^^^^^^^^^......~~~~.................r~~.......^^^^", "^^^^^^^^^^^^^^^^^^^^^^^......................^^^^^^^^^^^.....~~~..................~~~.......^^^^", "^^^^^^^^^^^^^^^^^^^^^^^^...........rr........^^^^^^^^^^^.....~~....r.....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 } ] } } ] }