fertig-classic-games/data/totalannihilation-campaign....

989 lines
52 KiB
JSON

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