{ "_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": 55930, "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.rr................rr.rr.~~~~~~~~~~~~~~~.....r..........~~~", "~~.................~~~~~~~~~~~~~~~.rrrrr................rrrrr.~~~~~~~~~~~~~~~.................~~", "~~..................~~~~..r~~~~~~~~..........................~~~~~~~~r..~~~~..................~~", "~.....................r........~~~~..........................~~~~........r.....................~", "...............................~~~~~........................~~~~~...............................", ".......................r.......~~~~~........................~~~~~.......r.......................", "......................rr.......~~~~~........................~~~~~.......rr......................", "......................rr.......~~~~~........................~~~~~.......rr......................", "....................rrrr.......~~~~~........................~~~~~.......rrrr....................", "...............rrr^^^^r........~~~~~........................~~~~~........r^^^^rrr...............", "...............r^^^^^^^^.......~~~~~~r....................r~~~~~~.......^^^^^^^^r...............", "..............rr^^^^^^^^r......~~~~~~~~~~~~~~~~..~~~~~~~~~~~~~~~~......r^^^^^^^^rr..............", ".............rrr^^^^^^^^.......~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.......^^^^^^^^rrr.............", ".............rrr^^^^^^^........~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~........^^^^^^^rrr.............", "................^^^^............~~~~~~~~~~~~~~~rr~~~~~~~~~~~~~~~............^^^^................", ".................r..............rr..~~~r...r........r...r~~~..rr..............r.................", "...............................................rr...............................................", "r..r...........................................rr...........................................r..r", "..rrr..rr.^..........................................................................^.rr..rrr..", "~~.r...rrrr^.................r....................................r.................^rrrr...r.~~", "~~~.rrr..rr^^................r....................................r................^^rr..rrr.~~~", "~~~..rr..r^^^^....................................................................^^^^r..rr..~~~", "~~~......^^^^^....................................................................^^^^^......~~~", "~~~.....^^^^^^^rr..............................................................rr^^^^^^^.....~~~", "........^^^^^^^^^..............................................................^^^^^^^^^........", "........^^^^^^^^^..............................................................^^^^^^^^^........", ".......r^^^^r.^^^..............................................................^^^.r^^^^r.......", ".......r^^^rr.r^^^............................................................^^^r.rr^^^r.......", ".......r^^rrrr..^^^^^^..r..............rr..............rr..............r..^^^^^^..rrrr^^r.......", "........^...r...^^^^^^^^rr.............rrr.....rr.....rrr.............rr^^^^^^^^...r...^........", "^^..............^^^^^^^^^r......~~~~...rrrrr^^.rr.^^rrrrr...~~~~......r^^^^^^^^^..............^^", "^^^.............^^^^^^^^^......~~~~~...rrr^^^^^^^^^^^^rrr...~~~~~......^^^^^^^^^.............^^^", "^^^^^^....rrr....^^^^^^^^^....~~~~~~.rr..^^^^^^^^^^^^^^..rr.~~~~~~....^^^^^^^^^....rrr....^^^^^^", "^^^^^^r..rrrr....^^^^^^^^^...r~~~~~~rr...^^^^^^^^^^^^^^...rr~~~~~~r...^^^^^^^^^....rrrr..r^^^^^^", "^^^^^^...rrrr.....^^^^^^^.....~~~~~~r....^^^^^^^^^^^^^^....r~~~~~~.....^^^^^^^.....rrrr...^^^^^^", "^^^^r..rr..r.....rr^^^^^.......~~~~~.....^^^^^^^^^^^^^^.....~~~~~.......^^^^^rr.....r..rr..r^^^^", "^^^r..rrr.......rrr^^^^^........~~~.......^^^^^^^^^^^^.......~~~........^^^^^rrr.......rrr..r^^^", "^^..rrrr.........r.^^^^r.........~........^^^^^^^^^^^^........~.........r^^^^.r.........rrrr..^^", "^r.rrrrr........rr.^^^^..........rrr.......^^^^^^^^^^.......rrr..........^^^^.rr........rrrrr.r^", "..rrrrrr.......rrr..^^^..........rr........r........r........rr..........^^^..rrr.......rrrrrr..", "....rrrr......rrrr..^^...........rr........rr......rr........rr...........^^..rrrr......rrrr....", "...............rrr...............rr........rr......rr........rr...............rrr...............", "................................................................................................", "................................................................................................", "................................................................................................", "................................................................................................", ".............................rrr................................rrr.............................", "...................MM........rrr................................rrr........MM...................", "...................MM.........rrr..............................rrr.........MM...................", "................................r..............................r................................", "................................................................................................", "................................................................................................", ".....MM.................~~................~~~~~~~~~~~~................~~.................MM.....", ".....MM................~~~~.............~~~~~~~~~~~~~~~~.............~~~~................MM.....", ".......................~~~~.............~~~~~~~~~~~~~~~~.............~~~~.......................", "......................r~~~~............~~~~~~~~~~~~~~~~~~............~~~~r......................", "........MM....MM......r~~~~............~~~~~~~~~~~~~~~~~~............~~~~r......MM....MM........", "........MM....MM......r~~~~............r~~~~~~~~~~~~~~~~r............~~~~r......MM....MM........", "r........rrr............~~~...............~~~~~~~~~~~~...............~~~............rrr........r", ".........rrr............~~............................................~~............rrr.........", "..........r..........................................................................r..........", ".........~~~~~....................................................................~~~~~.........", "........~~~~~~....................................................................~~~~~~........", "........~~~~~~....r..........................................................r....~~~~~~........", "^....rr.~~~~~~~...rr^^^..................................................^^^rr...~~~~~~~.rr....^", "^^...rr.~~~~~~~...rr^^^...................^^^^^^^^^^^^...................^^^rr...~~~~~~~.rr...^^", "^^......~~~~~~~...rr^^^^.................^^^^^^^^^^^^^^.................^^^^rr...~~~~~~~......^^", "^^......~~~~~~~r....^^^^.................^^^^^^^^^^^^^^.................^^^^....r~~~~~~~......^^", "^^......~~~~~~~.....^^^^.................^^^^^^^^^^^^^^.................^^^^.....~~~~~~~......^^", "^^r.....~~~~~~~.....^^^^.................^^^^^^^^^^^^^^.................^^^^.....~~~~~~~.....r^^", "^^......~~~~~~~.....^^^^.................^^^^^^^^^^^^^^.................^^^^.....~~~~~~~......^^", "^^.....~~~~~~~~.....^^^^.................^^^^^^^^^^^^^^.................^^^^.....~~~~~~~~.....^^", "^^....r~~~~~~~~.....^^^...................^^^^^^^^^^^^...................^^^.....~~~~~~~~r....^^", "^.r..rr~~~~~~~~.....^^^...................^^^^^^^^^^^^...................^^^.....~~~~~~~~rr..r.^", "^.rrr..~~~~~~~~.....^^^.............rr....^^^^^^^^^^^^....rr.............^^^.....~~~~~~~~..rrr.^", "..rrr..~~~~~~~~....r^^^............rrrrrrr^^^^^^^^^^^^rrrrrrr............^^^r....~~~~~~~~..rrr..", "..rrr..~~~~~~~~.....^^^............rrrrrrr^^^^^^^^^^^^rrrrrrr............^^^.....~~~~~~~~..rrr..", "..rrr..~~~~~~~~~...r^^^............rrrrrrr^^^^^^^^^^^^rrrrrrr............^^^r...~~~~~~~~~..rrr..", "..rrr..~~~~~~~~~....^^^..............rrrrr^^^^^^^^^^^^rrrrr..............^^^....~~~~~~~~~..rrr..", "..rrr..~~~~~~~~.....^^^...............rrrr^^^^^^^^^^^^rrrr...............^^^.....~~~~~~~~..rrr..", "..rrr..~~~~~~~~.....^^^...............rrr.^^^^^^^^^^^^.rrr...............^^^.....~~~~~~~~..rrr..", "^.rrr...~~~~~~~.....^^^................r..^^^^^^^^^^^^..r................^^^.....~~~~~~~...rrr.^", "^^rrr....~~~~~......^^....................^^^^^^^^^^^^....................^^......~~~~~....rrr^^", "^^r.......................................^^^^^^^^^^^^.......................................r^^", "^^^.......................................^^^^^^^^^^^^.......................................^^^", "^^^.........................................^......^.........................................^^^", "^^^^.........................^^^^^^^^^^^................^^^^^^^^^^^.........................^^^^", "^^^^........................^^^^^^^^^^^^^..............^^^^^^^^^^^^^........................^^^^", "^^^^^.......................^^^^^^^^^^^^^..............^^^^^^^^^^^^^.......................^^^^^", "^^^^^.......................^^^^^^^^^^^^^.....r..r.....^^^^^^^^^^^^^.......................^^^^^", "^^^^^.......................^^^^^^^^^^^^^....rrrrrr....^^^^^^^^^^^^^.......................^^^^^", "^^^^.........................^^^^^^^^^^......rrrrrr......^^^^^^^^^^.........................^^^^", "^^r...............................r..........rrrrrr..........r...............................r^^", ".r.....................r................................................r.....................r.", ".............rr.......rr~~............................................~~rr.......rr.............", "r........rrrrrrr.......~~~~.......r..........................r.......~~~~.......rrrrrrr........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 } ] } } ] }