3602 lines
79 KiB
JSON
3602 lines
79 KiB
JSON
{
|
|
"missions": [
|
|
{
|
|
"id": "m01",
|
|
"name": "It's War!",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"olaf"
|
|
],
|
|
"fog": false,
|
|
"production": false,
|
|
"startFunds": [
|
|
0,
|
|
0
|
|
],
|
|
"dayLimit": 15,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 1,
|
|
"aggression": 0.4,
|
|
"captureWeight": 0.0
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Maurice, wake up! Blue Moon troops have crossed the border. They're right on top of us!"
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "Whoa! Okay, okay! Bucky and I are on it. Which one of these pedals makes the tank go?"
|
|
},
|
|
{
|
|
"speaker": "brad",
|
|
"mood": "idle",
|
|
"text": "GRAAAR! Who dares interrupt my fishing trip? Crush them and be quick about it!"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Deary, just remember: tanks are strong, artillery shoots from afar, and infantry are brave little things. Destroy every enemy unit and the day is ours."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "brad",
|
|
"mood": "upset",
|
|
"text": "Impossible! Beaten by a beaver?! This isn't over... Retreat!"
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "Oh dear. Don't you worry, sweetheart \u2014 even the best commanders lose a battle now and then. Let's try again."
|
|
},
|
|
"map": {
|
|
"w": 12,
|
|
"h": 9,
|
|
"tiles": [
|
|
"ww...rr...ww",
|
|
"w.q..rr..c.w",
|
|
"....mrr.....",
|
|
"..rrrrrrrr..",
|
|
"....w..m....",
|
|
".rrrrrrrrrr.",
|
|
".c.......q..",
|
|
"....mm......",
|
|
"ww...rr...ww"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 2,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 6,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 9,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 9,
|
|
"y": 6,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 1,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 9,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 8,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "artillery",
|
|
"x": 10,
|
|
"y": 4
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m02",
|
|
"name": "Supply Lines",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"olaf"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
3000,
|
|
3000
|
|
],
|
|
"dayLimit": 28,
|
|
"objective": {
|
|
"type": "capturecount",
|
|
"n": 7
|
|
},
|
|
"aiProfile": {
|
|
"skill": 1,
|
|
"aggression": 0.3,
|
|
"captureWeight": 0.6
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "An army marches on its funds, dear. Every city we hold pays us 1,000 G a day, and bases build new units. Tap a base to build!"
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "Capture, eh? Nobody out-claims a beaver. Bucky, fetch my flag!"
|
|
},
|
|
{
|
|
"speaker": "brad",
|
|
"mood": "idle",
|
|
"text": "Those cities are MY fishing spots! Er... tax revenue! Whatever \u2014 keep your paws off!"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Park infantry on a property and choose Capture. Hold seven properties and this valley is ours."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "brad",
|
|
"mood": "upset",
|
|
"text": "My cities! My beautiful revenue! Fine, take the valley \u2014 I'm going back to the river."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "We ran out of time, sweetie. Capture faster \u2014 infantry are cheap, so build plenty."
|
|
},
|
|
"map": {
|
|
"w": 14,
|
|
"h": 10,
|
|
"tiles": [
|
|
"q............q",
|
|
"ff..........ff",
|
|
"..............",
|
|
"..c...ww...c..",
|
|
"....c....c....",
|
|
"..............",
|
|
"..c...mm...c..",
|
|
"..............",
|
|
"....w....w....",
|
|
".............."
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 13,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 12,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 13,
|
|
"y": 1,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 1,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 11,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 12,
|
|
"y": 2
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m03",
|
|
"name": "Timber Ridge",
|
|
"playerCo": "max",
|
|
"enemyCos": [
|
|
"olaf"
|
|
],
|
|
"fog": false,
|
|
"production": false,
|
|
"startFunds": [
|
|
0,
|
|
0
|
|
],
|
|
"dayLimit": 18,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 2,
|
|
"aggression": 0.5,
|
|
"captureWeight": 0.0
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Meet Natasha, dear \u2014 she doesn't believe in subtlety. Her direct-fire units hit 20% harder, though her artillery suffers a little."
|
|
},
|
|
{
|
|
"speaker": "natasha",
|
|
"mood": "idle",
|
|
"text": "Enough talk. There are tanks in those woods, and I intend to introduce myself. Personally."
|
|
},
|
|
{
|
|
"speaker": "brad",
|
|
"mood": "idle",
|
|
"text": "The forest is MY turf! Bears live in woods, you know. It's kind of our whole thing!"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Remember: woods and mountains give defense stars. Don't fight in the open if you can help it."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "brad",
|
|
"mood": "upset",
|
|
"text": "Ouch, ouch, OUCH! Fine! The woods are yours. I know when I'm clear-cut."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "natasha",
|
|
"mood": "upset",
|
|
"text": "We overextended. Regroup \u2014 next time we hit them twice as hard."
|
|
},
|
|
"map": {
|
|
"w": 15,
|
|
"h": 10,
|
|
"tiles": [
|
|
"www.........www",
|
|
".q....mm......w",
|
|
"..w...ww....w..",
|
|
"....rrrrrrr....",
|
|
"..w....m....w..",
|
|
".....w...w.....",
|
|
"....rrrrrrr....",
|
|
"..w....ww...w..",
|
|
"w......mm....q.",
|
|
"www.........www"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 13,
|
|
"y": 8,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 1,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "apc",
|
|
"x": 1,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "recon",
|
|
"x": 3,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 12,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "artillery",
|
|
"x": 13,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 11,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 11,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "recon",
|
|
"x": 12,
|
|
"y": 3
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m04",
|
|
"name": "Sniper's Alley",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"grit"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
10000,
|
|
3000
|
|
],
|
|
"dayLimit": 50,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 2,
|
|
"aggression": 0.4,
|
|
"captureWeight": 0.3
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "jeff",
|
|
"mood": "idle",
|
|
"text": "Well howdy. Name's Jeff. I don't move fast, and I don't need to. My cannons reach one square farther than yours."
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "A river AND artillery? Bucky, we're going to need a bigger dam."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Mind the bridges, dear \u2014 they're the only way across, and Jeff will have every one of them zeroed in."
|
|
},
|
|
{
|
|
"speaker": "jeff",
|
|
"mood": "idle",
|
|
"text": "Come on over whenever you're ready. I'll be here. Sipping lemonade. Aiming."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "jeff",
|
|
"mood": "upset",
|
|
"text": "Well, shoot. Literally, I guess I should have. You crossed faster than I figured. Nice hustle, kid."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "Those long-range guns are murder on a bridge crossing. Try massing at one bridge and pushing through fast."
|
|
},
|
|
"map": {
|
|
"w": 16,
|
|
"h": 10,
|
|
"tiles": [
|
|
"q.......v......q",
|
|
"ff......v.....cf",
|
|
"........v.......",
|
|
"..c.....b....c..",
|
|
"........v.......",
|
|
"........v.......",
|
|
"..c.....b....c..",
|
|
"ff......v.....cc",
|
|
"........v.......",
|
|
"........v......."
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 7,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 7,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 7,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 7,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 7
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 13,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 13,
|
|
"y": 7
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "artillery",
|
|
"x": 12,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "artillery",
|
|
"x": 12,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 1,
|
|
"y": 0
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "rockets",
|
|
"x": 3,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "rockets",
|
|
"x": 3,
|
|
"y": 6
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m05",
|
|
"name": "Frozen Front",
|
|
"playerCo": "max",
|
|
"enemyCos": [
|
|
"olaf"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
10000,
|
|
8000
|
|
],
|
|
"dayLimit": 40,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.5,
|
|
"captureWeight": 0.4
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "brad",
|
|
"mood": "idle",
|
|
"text": "You've pushed me far enough! This is my last stand, and I've been saving something special. Ever been caught outside in a blizzard?"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Watch his power meter, dear. When it fills, that Blizzard will slow every one of our units for a whole day."
|
|
},
|
|
{
|
|
"speaker": "natasha",
|
|
"mood": "idle",
|
|
"text": "Then we finish this before the snow falls. All units \u2014 forward!"
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "brad",
|
|
"mood": "upset",
|
|
"text": "Brrr... enough! I surrender! Winter is supposed to be MY season... I need a nap. A long one."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "That bear fights harder on his home ice. Build anti-air and artillery, and keep your tanks together."
|
|
},
|
|
"map": {
|
|
"w": 18,
|
|
"h": 12,
|
|
"tiles": [
|
|
"mmm..........wwwww",
|
|
"mq...c....c.....qm",
|
|
"mf..............fm",
|
|
"mf.....ww.......fm",
|
|
"....rrrrrrrrrr....",
|
|
"..w....mm....w....",
|
|
"....w......c......",
|
|
"....rrrrrrrrrr....",
|
|
"wf..............fw",
|
|
"w....c....c......w",
|
|
"ww..............ww",
|
|
"wwww..........wwww"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 3,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 8,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 3,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 8,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 8
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 15,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 15,
|
|
"y": 8
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 14,
|
|
"y": 3
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m06",
|
|
"name": "Silent Woods",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"grit"
|
|
],
|
|
"fog": true,
|
|
"production": true,
|
|
"startFunds": [
|
|
7000,
|
|
6000
|
|
],
|
|
"dayLimit": 35,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.45,
|
|
"captureWeight": 0.3
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Fog of war, dear. You can only see what your units can see \u2014 and anything hiding in woods is invisible until you're right beside it."
|
|
},
|
|
{
|
|
"speaker": "jeff",
|
|
"mood": "idle",
|
|
"text": "I do love a foggy morning. You'll hear my shells before you ever see my guns."
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "Can't see a thing out there... Bucky says use recon units. Bucky's smart. Big vision range on those."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "jeff",
|
|
"mood": "upset",
|
|
"text": "Found every last one of my hidey-holes, huh? That's some fine scouting. I tip my hat."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "Ambushes hurt, don't they? Lead with cheap infantry, keep recon on the flanks, and never move blind down a road."
|
|
},
|
|
"map": {
|
|
"w": 16,
|
|
"h": 10,
|
|
"tiles": [
|
|
"q...w......w....",
|
|
"ff..w..ww..w...q",
|
|
"................",
|
|
"..w.ww....ww..ff",
|
|
"....w..mm..w....",
|
|
"....w..mm..w....",
|
|
"..w.ww....ww....",
|
|
"................",
|
|
"....w..ww..w....",
|
|
"....w......w...."
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 3,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 3,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "recon",
|
|
"x": 1,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 13,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "artillery",
|
|
"x": 13,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 13,
|
|
"y": 6
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m07",
|
|
"name": "Landing Party",
|
|
"playerCo": "sami",
|
|
"enemyCos": [
|
|
"drake"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
12000,
|
|
4000
|
|
],
|
|
"dayLimit": 50,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 2,
|
|
"aggression": 0.4,
|
|
"captureWeight": 0.4
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "schooner",
|
|
"mood": "idle",
|
|
"text": "Ahoy there, land lovers! Cap'n Schooner's the name. That channel between us belongs to me an' the fishes!"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "This is Beth's specialty, dear. Her foot soldiers fight 30% harder and capture half again as fast."
|
|
},
|
|
{
|
|
"speaker": "beth",
|
|
"mood": "idle",
|
|
"text": "A beach landing? Now that's my kind of rodeo. Load 'em in the lander and let's ride the tide."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Landers carry two land units across the sea and unload on those pale shoal tiles. Guard them \u2014 they can't fight back!"
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "schooner",
|
|
"mood": "upset",
|
|
"text": "Blimey! Boarded on me own beach! Ye fight like a squall, lass. The harbor's yers."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "beth",
|
|
"mood": "upset",
|
|
"text": "Lost too many boys in the surf. Next run, we shell that beach first and land where the navy ain't."
|
|
},
|
|
"map": {
|
|
"w": 16,
|
|
"h": 12,
|
|
"tiles": [
|
|
"q....hbbbbh....q",
|
|
"f....hbbbbh....f",
|
|
"f....hssssh....c",
|
|
".c...pssssh...c.",
|
|
".....hssssh.....",
|
|
"..w..hssssh..w..",
|
|
"..w..hssssh..w..",
|
|
".....hssssh.....",
|
|
".c...hssssp...c.",
|
|
"f....hssssh....c",
|
|
"f....hssssh....c",
|
|
"c....hbbbbh....c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 9,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 5,
|
|
"y": 3,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 9,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 10,
|
|
"y": 8,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 1,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 1,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 1,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "lander",
|
|
"x": 6,
|
|
"y": 5,
|
|
"cargo": [
|
|
{
|
|
"type": "infantry"
|
|
},
|
|
{
|
|
"type": "mech"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "cruiser",
|
|
"x": 6,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mdtank",
|
|
"x": 2,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 13,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 13,
|
|
"y": 9
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "cruiser",
|
|
"x": 9,
|
|
"y": 6
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m08",
|
|
"name": "High Seas",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"drake"
|
|
],
|
|
"fog": false,
|
|
"production": false,
|
|
"startFunds": [
|
|
0,
|
|
0
|
|
],
|
|
"dayLimit": 20,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.55,
|
|
"captureWeight": 0.0
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "schooner",
|
|
"mood": "idle",
|
|
"text": "So ye want the open water, do ye? Me fleet's been itchin' for a proper broadside. HARD TO STARBOARD!"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Battleships shell from six squares away, cruisers hunt subs, and subs can dive to vanish. Dive early, surface to strike!"
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "A sea battle? Beavers are EXCELLENT swimmers. Just... nobody tell the submarines."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "schooner",
|
|
"mood": "upset",
|
|
"text": "Me fleet! Sunk to the last dinghy! Yer a saltier dog than I gave ye credit for, matey."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "Keep your battleship behind the cruisers, dear, and remember a dived sub is invisible until something sails right beside it."
|
|
},
|
|
"map": {
|
|
"w": 18,
|
|
"h": 12,
|
|
"tiles": [
|
|
"ssssssssssssssssss",
|
|
"ssssssesssessssses",
|
|
"ss.hssssssssssssss",
|
|
"ssh.hsssssssssesss",
|
|
"sss.psssssssssssss",
|
|
"ssssssssseesssssss",
|
|
"sssssssseessssssss",
|
|
"sssssssssssssp.sss",
|
|
"sssesssssssssh.hss",
|
|
"ssssssssssssssh.ss",
|
|
"sessssessssssssses",
|
|
"ssssssssssssssssss"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 4,
|
|
"y": 4,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 13,
|
|
"y": 7,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "battleship",
|
|
"x": 2,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "battleship",
|
|
"x": 2,
|
|
"y": 8
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "cruiser",
|
|
"x": 4,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "cruiser",
|
|
"x": 3,
|
|
"y": 7
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "sub",
|
|
"x": 5,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "sub",
|
|
"x": 5,
|
|
"y": 8
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "battleship",
|
|
"x": 15,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "cruiser",
|
|
"x": 13,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "sub",
|
|
"x": 12,
|
|
"y": 6
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m09",
|
|
"name": "Twin Harbors",
|
|
"playerCo": "max",
|
|
"enemyCos": [
|
|
"drake"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
12000,
|
|
5000
|
|
],
|
|
"dayLimit": 50,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.5,
|
|
"captureWeight": 0.4
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "schooner",
|
|
"mood": "idle",
|
|
"text": "Two harbors, one channel, and only one flag flyin' over both by sundown. I mean for it to be mine!"
|
|
},
|
|
{
|
|
"speaker": "natasha",
|
|
"mood": "idle",
|
|
"text": "He can keep the water. I only need the road to his front door."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "You can win on land or at sea, dear \u2014 but don't ignore either. A battleship parked off your coast ruins everyone's morning."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "schooner",
|
|
"mood": "upset",
|
|
"text": "Me own harbor, flying yer colors... Aye, fair's fair. The sea takes no sides."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "natasha",
|
|
"mood": "upset",
|
|
"text": "His ships ground our advance to a halt. We need our own fleet \u2014 or anti-ship artillery on that coast."
|
|
},
|
|
"map": {
|
|
"w": 20,
|
|
"h": 12,
|
|
"tiles": [
|
|
"q.c.....ssss.....c.q",
|
|
"ff......ssss......cf",
|
|
"........ssss........",
|
|
"..w.....psss........",
|
|
"........ssss....w...",
|
|
"...rrrrrbbbbrrrrr...",
|
|
"...r....ssss....r...",
|
|
"........ssss........",
|
|
"........sssp....w...",
|
|
"..w.....ssss........",
|
|
"ff......ssss......cc",
|
|
"c.......ssss.......c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 8,
|
|
"y": 3,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 11,
|
|
"y": 8,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "cruiser",
|
|
"x": 9,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 17,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 17,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 16,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "sub",
|
|
"x": 10,
|
|
"y": 8
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "rockets",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mdtank",
|
|
"x": 3,
|
|
"y": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m10",
|
|
"name": "Radar Station",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"sonja"
|
|
],
|
|
"fog": true,
|
|
"production": true,
|
|
"startFunds": [
|
|
11000,
|
|
6000
|
|
],
|
|
"dayLimit": 40,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.4,
|
|
"captureWeight": 0.3
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "nicole",
|
|
"mood": "idle",
|
|
"text": "Oh, cute \u2014 they sent the mechanic. I've already tapped your comms, mapped your patrols, and read your supply manifests. Twice."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "That's Nicole, dear. In fog she sees one square farther than anyone. Assume she's watching everything you do."
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "Then let's give her something to watch! Bucky, do the confusing dance!"
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "nicole",
|
|
"mood": "upset",
|
|
"text": "You... beat my intel with a BEAVER doing improv? Fine. Logging off. This round never happened."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "She saw every move before we made it. Screen your advance with infantry and keep your expensive units one step back."
|
|
},
|
|
"map": {
|
|
"w": 16,
|
|
"h": 11,
|
|
"tiles": [
|
|
"q...w.......w..q",
|
|
"ff..w..c....w.ff",
|
|
"........ww......",
|
|
"..ww....ww..c...",
|
|
"....m........w..",
|
|
".c..m...c...m..c",
|
|
"..w........m....",
|
|
"...c..ww....ww..",
|
|
"......ww........",
|
|
"ff.w....c..w..ff",
|
|
"c..w.......w...c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 9,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 9,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 9,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 9,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 10,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "recon",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 9
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "recon",
|
|
"x": 13,
|
|
"y": 8
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 13,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 13,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 1,
|
|
"y": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m11",
|
|
"name": "Air Superiority",
|
|
"playerCo": "max",
|
|
"enemyCos": [
|
|
"eagle"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
13000,
|
|
7000
|
|
],
|
|
"dayLimit": 40,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.55,
|
|
"captureWeight": 0.3
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "nadia",
|
|
"mood": "idle",
|
|
"text": "New airspace detected. I've flown across galaxies \u2014 your little valley will take about a minute to conquer."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Nadia's air units hit 15% harder, but her navy is weak and copters fall right out of the sky to anti-air fire."
|
|
},
|
|
{
|
|
"speaker": "natasha",
|
|
"mood": "idle",
|
|
"text": "Then we build a ceiling of flak so thick she'll have to walk like the rest of us."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "nadia",
|
|
"mood": "upset",
|
|
"text": "Grounded... by surface dwellers? This planet's anti-air doctrine is... actually rather good. Noted."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "Anti-air, dear, anti-air! One AA unit deletes a copter, and missiles reach five squares. Make her respect the ground."
|
|
},
|
|
"map": {
|
|
"w": 16,
|
|
"h": 10,
|
|
"tiles": [
|
|
"q....w....w....q",
|
|
"ff............ff",
|
|
"a.....c.......a.",
|
|
"....m......m....",
|
|
".c....rr......c.",
|
|
".....rrrr.......",
|
|
"....m......m....",
|
|
"a.....c.......a.",
|
|
"ff............ff",
|
|
"c....w....w....c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 7,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 8,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 8,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 9,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 7,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 8,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 8,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 9,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "antiair",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "antiair",
|
|
"x": 2,
|
|
"y": 7
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "missiles",
|
|
"x": 1,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "bcopter",
|
|
"x": 13,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "bcopter",
|
|
"x": 13,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 13,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 12,
|
|
"y": 4
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m12",
|
|
"name": "Lightning War",
|
|
"playerCo": "max",
|
|
"enemyCos": [
|
|
"eagle"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
12000,
|
|
7000
|
|
],
|
|
"dayLimit": 50,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.6,
|
|
"captureWeight": 0.35
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "nadia",
|
|
"mood": "idle",
|
|
"text": "Round two, ground-crawler. This time I brought my whole wing \u2014 and when my power charges, every one of them strikes twice."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Her Lightning Strike lets her whole army move again in one turn. Never leave your artillery unguarded, dear."
|
|
},
|
|
{
|
|
"speaker": "natasha",
|
|
"mood": "idle",
|
|
"text": "Let her come. A stormfront breaks hardest on a mountain \u2014 and I am the mountain."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "nadia",
|
|
"mood": "upset",
|
|
"text": "My wing... clipped. You fight like a gravity well. I yield this sky \u2014 for now."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "natasha",
|
|
"mood": "upset",
|
|
"text": "She hit us twice in one breath. We dig in deeper next time \u2014 flak first, then the counterpunch."
|
|
},
|
|
"map": {
|
|
"w": 18,
|
|
"h": 12,
|
|
"tiles": [
|
|
"q.a.............aq",
|
|
"ff.....c.......ff.",
|
|
"..c.............c.",
|
|
"....w..mm..w......",
|
|
"...rrrrrrrrrrrr...",
|
|
"...r..........r...",
|
|
"...r..........r...",
|
|
"...rrrrrrrrrrrr...",
|
|
"....w..mm..w......",
|
|
"..c.............c.",
|
|
".ff.......c.....ff",
|
|
"c.a.............ac"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 11,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 11,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 10,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "antiair",
|
|
"x": 3,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 4,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "missiles",
|
|
"x": 2,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "bcopter",
|
|
"x": 14,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 14,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 14,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 13,
|
|
"y": 6
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m13",
|
|
"name": "Mountain Pass",
|
|
"playerCo": "sami",
|
|
"enemyCos": [
|
|
"kanbei"
|
|
],
|
|
"fog": false,
|
|
"production": false,
|
|
"startFunds": [
|
|
0,
|
|
0
|
|
],
|
|
"dayLimit": 20,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.5,
|
|
"captureWeight": 0.0
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "kage",
|
|
"mood": "idle",
|
|
"text": "I am Kage. You stand before the finest soldiers ever trained. Each is worth three of yours. Turn back with honor intact."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "He's not bluffing, dear \u2014 his units hit harder AND take less damage. But there are few of them, and mountains favor the humble foot soldier."
|
|
},
|
|
{
|
|
"speaker": "beth",
|
|
"mood": "idle",
|
|
"text": "Fancy armor, narrow pass, my mechs up on the ridge line... Partner, this is a turkey shoot waitin' to happen."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "kage",
|
|
"mood": "upset",
|
|
"text": "Defeated... by militia in the rocks. There is no shame in this lesson. You honor me, commander."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "beth",
|
|
"mood": "upset",
|
|
"text": "Them elite troops hit like a freight train head-on. Flank 'em through the peaks \u2014 bazookas don't care about armor plate."
|
|
},
|
|
"map": {
|
|
"w": 14,
|
|
"h": 10,
|
|
"tiles": [
|
|
"mmm.mm...mmmmm",
|
|
"mq........w..m",
|
|
"m..mm..m.....m",
|
|
".....m...m....",
|
|
"..m...m....m..",
|
|
"..m....m...m..",
|
|
"....m...m.....",
|
|
"m.....m......m",
|
|
"m..w.......q.m",
|
|
"mmmmm...mm.mmm"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 11,
|
|
"y": 8,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 1,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 2,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 1,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "rockets",
|
|
"x": 4,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mdtank",
|
|
"x": 3,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "mdtank",
|
|
"x": 11,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "mech",
|
|
"x": 12,
|
|
"y": 7
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 11,
|
|
"y": 7
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m14",
|
|
"name": "Imperial Gambit",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"kanbei"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
16000,
|
|
5000
|
|
],
|
|
"dayLimit": 50,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 2,
|
|
"aggression": 0.5,
|
|
"captureWeight": 0.4
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "kage",
|
|
"mood": "idle",
|
|
"text": "You bested my vanguard. Now face my treasury! ...Which my quartermaster informs me is somewhat strained. Elite soldiers are not cheap."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "There's his weakness, dear \u2014 everything Kage builds costs 20% extra. Out-produce him. Two of yours for every one of his."
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "A building contest? Oh, you poor samurai. You've challenged a BEAVER to a building contest."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "kage",
|
|
"mood": "upset",
|
|
"text": "Quantity... has a quality of its own. My accountants warned me. The field is yours, master builder."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "Don't trade one-for-one with elites, sweetie. Wear them down with artillery first, then swarm."
|
|
},
|
|
"map": {
|
|
"w": 18,
|
|
"h": 12,
|
|
"tiles": [
|
|
"q.c......w.....c.q",
|
|
"ff...............f",
|
|
"f.....c....c.....f",
|
|
"..w............w..",
|
|
"...rrrrrrrrrrrr...",
|
|
"...r...ww.....r...",
|
|
"...r.....ww...r...",
|
|
"...rrrrrrrrrrrr...",
|
|
"..w............w..",
|
|
"f.....c....c.....f",
|
|
"ff...............f",
|
|
"c.c......w.....c.c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 9,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 9,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 11,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 11,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 4,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 14,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 14,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 13,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 9
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m15",
|
|
"name": "Ghost Protocol",
|
|
"playerCo": "sami",
|
|
"enemyCos": [
|
|
"sonja"
|
|
],
|
|
"fog": true,
|
|
"production": true,
|
|
"startFunds": [
|
|
12000,
|
|
6000
|
|
],
|
|
"dayLimit": 40,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.5,
|
|
"captureWeight": 0.4
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "nicole",
|
|
"mood": "idle",
|
|
"text": "Back for more? I've upgraded. New encryption, new sensor net, and a counter-protocol that strikes before you even finish attacking."
|
|
},
|
|
{
|
|
"speaker": "beth",
|
|
"mood": "idle",
|
|
"text": "City fightin' in the fog. My infantry were born for this. We'll take her HQ door by door."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Careful when her power charges, dear \u2014 her units will counterattack FIRST. Soften targets with artillery before you commit."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "nicole",
|
|
"mood": "upset",
|
|
"text": "You captured my actual physical HQ. With FEET. I can't firewall feet! This is so unfair."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "beth",
|
|
"mood": "upset",
|
|
"text": "Walked right into her counter-trap. Next time we scout every alley before the boys move in."
|
|
},
|
|
"map": {
|
|
"w": 16,
|
|
"h": 12,
|
|
"tiles": [
|
|
"q..w........w...",
|
|
"ff....c..c.....q",
|
|
"f.............ff",
|
|
"..c..w..w...c..f",
|
|
"....c....c......",
|
|
"..w...cc...w....",
|
|
"....w.cc..w.....",
|
|
"......c....c....",
|
|
"..c...w..w..c...",
|
|
"f...............",
|
|
"ff....c..c....ff",
|
|
"c..w........w..c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 9,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 3,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 15,
|
|
"y": 11,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "recon",
|
|
"x": 2,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 13,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "recon",
|
|
"x": 13,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 13,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 1,
|
|
"y": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m16",
|
|
"name": "The Long Watch",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"sonja"
|
|
],
|
|
"fog": true,
|
|
"production": true,
|
|
"startFunds": [
|
|
9000,
|
|
9000
|
|
],
|
|
"dayLimit": 26,
|
|
"objective": {
|
|
"type": "capturecount",
|
|
"n": 14
|
|
},
|
|
"aiProfile": {
|
|
"skill": 4,
|
|
"aggression": 0.45,
|
|
"captureWeight": 0.6
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "nicole",
|
|
"mood": "idle",
|
|
"text": "This region's comm grid routes through those towns. Whoever holds ten nodes controls the network. Race you."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "A land grab in the fog! Ten properties wins it, dear. Infantry in transports cover ground twice as fast."
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "Claiming territory IS the family business. Watch the master work."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "nicole",
|
|
"mood": "upset",
|
|
"text": "Network control: lost. To a rodent with a flag. I'm uninstalling this whole region."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "She out-claimed us, sweetie. Build APCs to ferry your infantry, and capture the middle towns first."
|
|
},
|
|
"map": {
|
|
"w": 18,
|
|
"h": 12,
|
|
"tiles": [
|
|
"q....w......w....q",
|
|
"ff..c........c..ff",
|
|
"..................",
|
|
"..c...c..c....c...",
|
|
"....w......w......",
|
|
".c....c..c.....c..",
|
|
"..c....cc....c....",
|
|
"....w......w......",
|
|
"...c..c..c....c...",
|
|
"..................",
|
|
"ff..c........c..ff",
|
|
"c....w......w....c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 11,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "apc",
|
|
"x": 3,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 15,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 15,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "apc",
|
|
"x": 14,
|
|
"y": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m17",
|
|
"name": "Old Rivals",
|
|
"playerCo": "max",
|
|
"enemyCos": [
|
|
"eagle"
|
|
],
|
|
"fog": false,
|
|
"production": false,
|
|
"startFunds": [
|
|
0,
|
|
0
|
|
],
|
|
"dayLimit": 18,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 4,
|
|
"aggression": 0.6,
|
|
"captureWeight": 0.0
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "nadia",
|
|
"mood": "idle",
|
|
"text": "You. The loud one with the tanks. Before this war ends, we settle who owns the horizon \u2014 your armor or my wings. No factories. No reinforcements."
|
|
},
|
|
{
|
|
"speaker": "natasha",
|
|
"mood": "idle",
|
|
"text": "Finally. A duel worth my time. Bring your whole flock, star-child."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Everything you both have is already on the field, dears. Make every single shot count."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "nadia",
|
|
"mood": "upset",
|
|
"text": "The horizon is yours, Natasha. I don't say this to many carbon-based lifeforms: that was flying."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "natasha",
|
|
"mood": "upset",
|
|
"text": "She owned the sky and never left it. Keep the anti-air alive at ALL costs \u2014 they're the whole battle."
|
|
},
|
|
"map": {
|
|
"w": 16,
|
|
"h": 10,
|
|
"tiles": [
|
|
"w....w....w....w",
|
|
".q..............",
|
|
"..............q.",
|
|
"...m........m...",
|
|
".....rrrrrr.....",
|
|
".....rrrrrr.....",
|
|
"...m........m...",
|
|
"................",
|
|
"................",
|
|
"w....w....w....w"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 14,
|
|
"y": 2,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "antiair",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "antiair",
|
|
"x": 2,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "missiles",
|
|
"x": 1,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "fighter",
|
|
"x": 3,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 3,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mdtank",
|
|
"x": 2,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "fighter",
|
|
"x": 12,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "bomber",
|
|
"x": 13,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "bcopter",
|
|
"x": 12,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "bcopter",
|
|
"x": 13,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 12,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "antiair",
|
|
"x": 13,
|
|
"y": 5
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m18",
|
|
"name": "Storm Warning",
|
|
"playerCo": "sami",
|
|
"enemyCos": [
|
|
"drake"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
17000,
|
|
3000
|
|
],
|
|
"dayLimit": 60,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.4,
|
|
"captureWeight": 0.35
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "schooner",
|
|
"mood": "idle",
|
|
"text": "Somethin's wrong with the sea itself, lass. Black machines in the deep... but a captain defends his waters FIRST. En garde!"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "There's a storm behind this storm, dear. Beat Schooner quickly \u2014 I fear something worse is steering him."
|
|
},
|
|
{
|
|
"speaker": "beth",
|
|
"mood": "idle",
|
|
"text": "A grumpy sailor and black machines in the deep. Saddle up, boys \u2014 we're goin' in."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "schooner",
|
|
"mood": "upset",
|
|
"text": "Ye fought clean an' true. Now listen well \u2014 the machine that whispered to me fleet... it's comin' for us ALL."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "beth",
|
|
"mood": "upset",
|
|
"text": "That fog hid half his fleet. Cruisers up front, sub hunters wide \u2014 and never bunch up near the coast."
|
|
},
|
|
"map": {
|
|
"w": 18,
|
|
"h": 12,
|
|
"tiles": [
|
|
"q...w.ssssss......",
|
|
"ff....ssssss....q.",
|
|
"f.....sssess...cf.",
|
|
".c....ssssss....c.",
|
|
"......hbbbbh......",
|
|
"..w...hbbbbh..w...",
|
|
"......ssssss......",
|
|
".p....ssssss....p.",
|
|
"......sesss.......",
|
|
".c....ssssss...c..",
|
|
"ff....bbbbbb....ff",
|
|
"c...w.ssssss......"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 7,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 7,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 10,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 2,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 2,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "cruiser",
|
|
"x": 7,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "battleship",
|
|
"x": 7,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 15,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 14,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "sub",
|
|
"x": 10,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "cruiser",
|
|
"x": 10,
|
|
"y": 9
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m19",
|
|
"name": "Machine Uprising",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"sturm"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
16000,
|
|
4000
|
|
],
|
|
"dayLimit": 50,
|
|
"objective": {
|
|
"type": "hq"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.4,
|
|
"captureWeight": 0.4
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "klaxon",
|
|
"mood": "idle",
|
|
"text": "ANALYSIS COMPLETE. YOUR COMMANDERS: DEFEATED IN SIMULATION 10,000 OF 10,000 TIMES. SURRENDER TO OPTIMIZE REMAINING LIFESPAN."
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "So this is what was pulling the strings. Its machines ignore terrain costs entirely, dear \u2014 mountains, rivers, all of it."
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "It ran ten thousand simulations... but did ANY of them include a beaver? That's what I thought. Let's go."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "klaxon",
|
|
"mood": "upset",
|
|
"text": "SIMULATION ERROR. ERROR. RODENT VARIABLE OUT OF BOUNDS. RECALCULATING... RETREATING... THIS IS NOT DEFEAT. THIS IS... STRATEGIC BUFFERING."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "It moves through mountains like they're roads \u2014 never assume you're safe behind terrain. Guard every approach."
|
|
},
|
|
"map": {
|
|
"w": 20,
|
|
"h": 14,
|
|
"tiles": [
|
|
"q.c......ww......c.q",
|
|
"ff.................f",
|
|
"f.....c......c.....f",
|
|
"..w.....mm......w..f",
|
|
"...c............c...",
|
|
"....rrrrrrrrrrrr....",
|
|
"....r..........r....",
|
|
"....r..........r....",
|
|
"....rrrrrrrrrrrr....",
|
|
"...c............c...",
|
|
"..w.....mm......w..f",
|
|
"f.....c......c.....f",
|
|
"ff.................f",
|
|
"c.c......ww......c.c"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 0,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 0,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 12,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 12,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 13,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 13,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 0,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 1,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 3,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 10,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 11,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 12,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 19,
|
|
"y": 13,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 17,
|
|
"y": 13,
|
|
"owner": 1
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 12
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 4,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mdtank",
|
|
"x": 4,
|
|
"y": 11
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 3,
|
|
"y": 4
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 16,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 16,
|
|
"y": 12
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "mdtank",
|
|
"x": 15,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "antiair",
|
|
"x": 3,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 1,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mdtank",
|
|
"x": 2,
|
|
"y": 2
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "m20",
|
|
"name": "Final Front",
|
|
"playerCo": "andy",
|
|
"enemyCos": [
|
|
"sturm",
|
|
"sonja"
|
|
],
|
|
"fog": false,
|
|
"production": true,
|
|
"startFunds": [
|
|
18000,
|
|
6000,
|
|
4000
|
|
],
|
|
"dayLimit": 40,
|
|
"objective": {
|
|
"type": "rout"
|
|
},
|
|
"aiProfile": {
|
|
"skill": 3,
|
|
"aggression": 0.55,
|
|
"captureWeight": 0.3
|
|
},
|
|
"briefing": [
|
|
{
|
|
"speaker": "klaxon",
|
|
"mood": "idle",
|
|
"text": "FINAL PROTOCOL ENGAGED. I HAVE ASSIMILATED YOUR HACKER'S NETWORK. HER MACHINES FIGHT FOR ME NOW. VICTORY PROBABILITY: 99.97%."
|
|
},
|
|
{
|
|
"speaker": "nicole",
|
|
"mood": "idle",
|
|
"text": "It's in my systems! I can't\u2014 listen, beaver-boy, my drones will shoot at you and I CANNOT stop them. Break the core and you break the link!"
|
|
},
|
|
{
|
|
"speaker": "ethel",
|
|
"mood": "idle",
|
|
"text": "Two armies against us, dear. This is everything we've learned in one battle. I am so very proud of you. Now go finish this."
|
|
},
|
|
{
|
|
"speaker": "maurice",
|
|
"mood": "idle",
|
|
"text": "For the forest. For the rivers. For every dam I ever built. Bucky \u2014 it's chompin' time."
|
|
}
|
|
],
|
|
"victoryLine": {
|
|
"speaker": "klaxon",
|
|
"mood": "upset",
|
|
"text": "CORE BREACH. PROBABILITY MODEL... INVALID. HOW. HOW DOES THE BEAVER ALWAYS\u2014 SIGNAL LOST."
|
|
},
|
|
"defeatLine": {
|
|
"speaker": "ethel",
|
|
"mood": "upset",
|
|
"text": "Two fronts is one too many if you split evenly, dear. Hold one flank with artillery and crush the other, then turn."
|
|
},
|
|
"map": {
|
|
"w": 20,
|
|
"h": 14,
|
|
"tiles": [
|
|
"wwwww..........wwwww",
|
|
"wq.................w",
|
|
"wf....c......c....qw",
|
|
"wf................fw",
|
|
"..c.....mm......c.f.",
|
|
"....rrrrrrrrrrrr....",
|
|
"....r..........r....",
|
|
"....r..........r....",
|
|
"....rrrrrrrrrrrr....",
|
|
"..c.....ww......c.f.",
|
|
"wf................fw",
|
|
"wf....c......c....qw",
|
|
"w..................w",
|
|
"wwwww..........wwwww"
|
|
],
|
|
"properties": [
|
|
{
|
|
"x": 1,
|
|
"y": 1,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 2,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 3,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 10,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 1,
|
|
"y": 11,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 4,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 9,
|
|
"owner": 0
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 2,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 3,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 4,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 4,
|
|
"owner": 1
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 11,
|
|
"owner": 2
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 10,
|
|
"owner": 2
|
|
},
|
|
{
|
|
"x": 18,
|
|
"y": 9,
|
|
"owner": 2
|
|
},
|
|
{
|
|
"x": 16,
|
|
"y": 9,
|
|
"owner": 2
|
|
}
|
|
],
|
|
"units": [
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "infantry",
|
|
"x": 3,
|
|
"y": 11
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 4,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "tank",
|
|
"x": 4,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "artillery",
|
|
"x": 2,
|
|
"y": 7
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mdtank",
|
|
"x": 3,
|
|
"y": 6
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "infantry",
|
|
"x": 16,
|
|
"y": 2
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "mdtank",
|
|
"x": 15,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 1,
|
|
"type": "tank",
|
|
"x": 16,
|
|
"y": 5
|
|
},
|
|
{
|
|
"army": 2,
|
|
"type": "infantry",
|
|
"x": 16,
|
|
"y": 11
|
|
},
|
|
{
|
|
"army": 2,
|
|
"type": "tank",
|
|
"x": 15,
|
|
"y": 10
|
|
},
|
|
{
|
|
"army": 2,
|
|
"type": "recon",
|
|
"x": 16,
|
|
"y": 8
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "mech",
|
|
"x": 1,
|
|
"y": 1
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "antiair",
|
|
"x": 2,
|
|
"y": 3
|
|
},
|
|
{
|
|
"army": 0,
|
|
"type": "rockets",
|
|
"x": 2,
|
|
"y": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
} |