Merge pull request #3014 from ScottNZ/shellmap

Additional shellmap for RA
This commit is contained in:
Matthias Mailänder
2013-04-09 05:01:18 -07:00
4 changed files with 1116 additions and 0 deletions

View File

@@ -0,0 +1,245 @@
#region Copyright & License Information
/*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using System.Collections.Generic;
using System.Linq;
using OpenRA.FileFormats;
using OpenRA.Mods.RA.Activities;
using OpenRA.Mods.RA.Air;
using OpenRA.Mods.RA.Move;
using OpenRA.Scripting;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.Missions
{
class DesertShellmapScriptInfo : TraitInfo<DesertShellmapScript>, Requires<SpawnMapActorsInfo> { }
class DesertShellmapScript : ITick, IWorldLoaded
{
World world;
Player allies;
Player soviets;
Player neutral;
List<int2> viewportTargets = new List<int2>();
int2 viewportTarget;
int viewportTargetNumber;
int2 viewportOrigin;
float mul;
float div = 400;
int waitTicks = 0;
int nextCivilianMove = 1;
Actor attackLocation;
Actor coastWP1;
Actor coastWP2;
int coastUnitsLeft;
static readonly string[] CoastUnits = { "e1", "e1", "e2", "e3", "e4" };
Actor paradropLZ;
Actor paradropEntry;
static readonly string[] ParadropUnits = { "e1", "e1", "e1", "e2", "e2" };
Actor offmapAttackerSpawn1;
Actor offmapAttackerSpawn2;
Actor offmapAttackerSpawn3;
Actor[] offmapAttackerSpawns;
static readonly string[] OffmapAttackers = { "ftrk", "apc", "ttnk", "1tnk" };
static readonly string[] AttackerCargo = { "e1", "e2", "e3", "e4" };
static readonly string[] HeavyTanks = { "3tnk", "3tnk", "3tnk", "3tnk", "3tnk", "3tnk" };
Actor heavyTankSpawn;
Actor heavyTankWP;
static readonly string[] MediumTanks = { "2tnk", "2tnk", "2tnk", "2tnk", "2tnk", "2tnk" };
Actor mediumTankChronoSpawn;
Dictionary<string, Actor> mapActors;
Actor chronosphere;
Actor ironCurtain;
CPos[] mig1Waypoints;
CPos[] mig2Waypoints;
public void Tick(Actor self)
{
if (world.FrameNumber % 100 == 0)
{
var actor = OffmapAttackers.Random(world.SharedRandom);
var spawn = offmapAttackerSpawns.Random(world.SharedRandom);
var u = world.CreateActor(actor, soviets, spawn.Location, Util.GetFacing(attackLocation.Location - spawn.Location, 0));
var cargo = u.TraitOrDefault<Cargo>();
if (cargo != null)
{
while (cargo.HasSpace(1))
cargo.Load(u, world.CreateActor(false, AttackerCargo.Random(world.SharedRandom), soviets, null, null));
}
u.QueueActivity(new AttackMove.AttackMoveActivity(u, new Move.Move(attackLocation.Location, 0)));
}
if (world.FrameNumber % 25 == 0)
foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.IsIdle && !a.IsDead()
&& a.HasTrait<AttackBase>() && a.HasTrait<Mobile>()).Except(mapActors.Values))
MissionUtils.AttackNearestLandActor(true, actor, actor.Owner == soviets ? allies : soviets);
if (world.FrameNumber % 20 == 0 && coastUnitsLeft-- > 0)
{
var u = world.CreateActor(CoastUnits.Random(world.SharedRandom), soviets, coastWP1.Location, null);
u.QueueActivity(new Move.Move(coastWP2.Location, 0));
u.QueueActivity(new AttackMove.AttackMoveActivity(u, new Move.Move(attackLocation.Location, 0)));
}
if (world.FrameNumber == nextCivilianMove)
{
var civilians = world.Actors.Where(a => !a.IsDead() && a.IsInWorld && a.Owner == neutral && a.HasTrait<Mobile>());
if (civilians.Any())
{
var civilian = civilians.Random(world.SharedRandom);
civilian.Trait<Mobile>().Nudge(civilian, civilian, true);
nextCivilianMove += world.SharedRandom.Next(1, 75);
}
}
if (world.FrameNumber == 1)
MissionUtils.Paradrop(world, soviets, ParadropUnits, paradropEntry.Location, paradropLZ.Location);
if (--waitTicks <= 0)
{
if (++mul <= div)
Game.MoveViewport(float2.Lerp(viewportOrigin, viewportTarget, mul / div));
else
{
mul = 0;
viewportOrigin = viewportTarget;
viewportTarget = viewportTargets[(viewportTargetNumber = (viewportTargetNumber + 1) % viewportTargets.Count)];
waitTicks = 100;
if (viewportTargetNumber == 0)
coastUnitsLeft = 15;
if (viewportTargetNumber == 1)
MissionUtils.Paradrop(world, soviets, ParadropUnits, paradropEntry.Location, paradropLZ.Location);
if (viewportTargetNumber == 2)
{
AttackWithHeavyTanks();
ChronoSpawnMediumTanks();
}
if (viewportTargetNumber == 4)
{
FlyMigs(mig1Waypoints);
FlyMigs(mig2Waypoints);
}
}
}
MissionUtils.CapOre(soviets);
}
void AttackWithHeavyTanks()
{
foreach (var tank in HeavyTanks)
{
var u = world.CreateActor(tank, soviets, heavyTankSpawn.Location, Util.GetFacing(heavyTankWP.Location - heavyTankSpawn.Location, 0));
u.QueueActivity(new AttackMove.AttackMoveActivity(u, new Move.Move(heavyTankWP.Location, 0)));
}
ironCurtain.Trait<IronCurtainPower>().Activate(ironCurtain, new Order { TargetLocation = heavyTankSpawn.Location });
}
void ChronoSpawnMediumTanks()
{
var chronoInfo = new List<Pair<Actor, CPos>>();
foreach (var tank in MediumTanks.Select((x, i) => new { x, i }))
{
var u = world.CreateActor(tank.x, allies, mediumTankChronoSpawn.Location, Util.GetFacing(heavyTankWP.Location - mediumTankChronoSpawn.Location, 0));
chronoInfo.Add(Pair.New(u, new CPos(mediumTankChronoSpawn.Location.X + tank.i, mediumTankChronoSpawn.Location.Y)));
}
RASpecialPowers.Chronoshift(world, chronoInfo, chronosphere, -1, false);
foreach (var tank in chronoInfo)
tank.First.QueueActivity(new AttackMove.AttackMoveActivity(tank.First, new Move.Move(heavyTankSpawn.Location, 0)));
}
void FlyMigs(CPos[] waypoints)
{
var m = world.CreateActor("mig", new TypeDictionary
{
new OwnerInit(soviets),
new LocationInit(waypoints[0]),
new FacingInit(Util.GetFacing(waypoints[1] - waypoints[0], 0))
});
foreach (var waypoint in waypoints)
m.QueueActivity(Fly.ToCell(waypoint));
m.QueueActivity(new RemoveSelf());
}
public void WorldLoaded(World w)
{
world = w;
allies = w.Players.Single(p => p.InternalName == "Allies");
soviets = w.Players.Single(p => p.InternalName == "Soviets");
neutral = w.Players.Single(p => p.InternalName == "Neutral");
mapActors = w.WorldActor.Trait<SpawnMapActors>().Actors;
attackLocation = mapActors["AttackLocation"];
coastWP1 = mapActors["CoastWP1"];
coastWP2 = mapActors["CoastWP2"];
paradropLZ = mapActors["ParadropLZ"];
paradropEntry = mapActors["ParadropEntry"];
var t1 = mapActors["ViewportTarget1"];
var t2 = mapActors["ViewportTarget2"];
var t3 = mapActors["ViewportTarget3"];
var t4 = mapActors["ViewportTarget4"];
var t5 = mapActors["ViewportTarget5"];
viewportTargets = new[] { t1, t2, t3, t4, t5 }.Select(t => t.Location.ToInt2()).ToList();
offmapAttackerSpawn1 = mapActors["OffmapAttackerSpawn1"];
offmapAttackerSpawn2 = mapActors["OffmapAttackerSpawn2"];
offmapAttackerSpawn3 = mapActors["OffmapAttackerSpawn3"];
offmapAttackerSpawns = new[] { offmapAttackerSpawn1, offmapAttackerSpawn2, offmapAttackerSpawn3 };
heavyTankSpawn = mapActors["HeavyTankSpawn"];
heavyTankWP = mapActors["HeavyTankWP"];
mediumTankChronoSpawn = mapActors["MediumTankChronoSpawn"];
chronosphere = mapActors["Chronosphere"];
ironCurtain = mapActors["IronCurtain"];
mig1Waypoints = new[] { mapActors["Mig11"], mapActors["Mig12"], mapActors["Mig13"], mapActors["Mig14"] }.Select(a => a.Location).ToArray();
mig2Waypoints = new[] { mapActors["Mig21"], mapActors["Mig22"], mapActors["Mig23"], mapActors["Mig24"] }.Select(a => a.Location).ToArray();
foreach (var actor in mapActors.Values.Where(a => a.Owner == allies || a.HasTrait<Bridge>()))
{
if (actor.Owner == allies && actor.HasTrait<AutoTarget>())
actor.Trait<AutoTarget>().stance = UnitStance.Defend;
actor.AddTrait(new Invulnerable());
}
viewportOrigin = viewportTargets[0];
viewportTargetNumber = 1;
viewportTarget = viewportTargets[1];
Game.viewport.Center(viewportOrigin);
Sound.SoundVolumeModifier = 0.25f;
}
}
class DesertShellmapAutoUnloadInfo : TraitInfo<DesertShellmapAutoUnload>, Requires<CargoInfo> { }
class DesertShellmapAutoUnload : INotifyDamage
{
public void Damaged(Actor self, AttackInfo e)
{
var cargo = self.Trait<Cargo>();
if (!cargo.IsEmpty(self) && !(self.GetCurrentActivity() is UnloadCargo))
self.QueueActivity(false, new UnloadCargo(true));
}
}
}

View File

@@ -241,6 +241,7 @@
<Compile Include="Lint\CheckSyncAnnotations.cs" />
<Compile Include="Lint\CheckTraitPrerequisites.cs" />
<Compile Include="Lint\LintBuildablePrerequisites.cs" />
<Compile Include="Missions\DesertShellmapScript.cs" />
<Compile Include="MPStartLocations.cs" />
<Compile Include="Mine.cs" />
<Compile Include="Minelayer.cs" />

Binary file not shown.

View File

@@ -0,0 +1,870 @@
Selectable: False
MapFormat: 5
RequiresMod: ra
Title: Desert Shellmap
Description: Desert Shellmap
Author: Scott_NZ
Tileset: DESERT
MapSize: 128,128
Bounds: 1,1,126,126
UseAsShellmap: True
Type: Conquest
Players:
PlayerReference@Neutral:
Name: Neutral
OwnsWorld: True
NonCombatant: True
Race: allies
Allies: Allies
PlayerReference@Creeps:
Name: Creeps
NonCombatant: True
Race: allies
PlayerReference@Allies:
Name: Allies
Race: allies
ColorRamp: 161,134,200,30
Allies: Neutral
Enemies: Soviets
PlayerReference@Soviets:
Name: Soviets
Race: soviet
ColorRamp: 3,255,127,28
Enemies: Allies
Actors:
Actor0: rock6
Location: 51,30
Owner: Neutral
Actor1: rock4
Location: 38,30
Owner: Neutral
Actor2: rock5
Location: 64,20
Owner: Neutral
Actor3: rock1
Location: 31,20
Owner: Neutral
Actor4: rock4
Location: 25,45
Owner: Neutral
Actor6: rock2
Location: 34,42
Owner: Neutral
Actor5: rock6
Location: 34,45
Owner: Neutral
Actor7: t08
Location: 46,34
Owner: Neutral
Actor8: oilb
Location: 27,51
Owner: Neutral
Actor9: tc01
Location: 97,69
Owner: Neutral
Actor10: t08
Location: 63,71
Owner: Neutral
Actor11: oilb
Location: 24,53
Owner: Neutral
Actor12: oilb
Location: 49,42
Owner: Neutral
Actor13: oilb
Location: 60,46
Owner: Neutral
Actor14: oilb
Location: 67,51
Owner: Neutral
Actor15: oilb
Location: 59,33
Owner: Neutral
Actor16: oilb
Location: 41,46
Owner: Neutral
Actor17: brl3
Location: 51,42
Owner: Neutral
Actor18: barl
Location: 43,48
Owner: Neutral
Actor19: barl
Location: 60,48
Owner: Neutral
Actor20: barl
Location: 59,48
Owner: Neutral
Actor21: brl3
Location: 59,49
Owner: Neutral
Actor22: barl
Location: 27,54
Owner: Neutral
Actor23: brl3
Location: 25,56
Owner: Neutral
Actor24: barl
Location: 25,55
Owner: Neutral
Actor25: barl
Location: 69,53
Owner: Neutral
Actor26: barl
Location: 63,35
Owner: Neutral
Actor27: barl
Location: 42,45
Owner: Neutral
Actor28: v20
Location: 43,66
Owner: Neutral
Actor29: v24
Location: 62,74
Owner: Neutral
Actor30: v27
Location: 53,66
Owner: Neutral
Actor31: v23
Location: 55,66
Owner: Neutral
Actor32: v21
Location: 51,66
Owner: Neutral
Actor33: v29
Location: 63,65
Owner: Neutral
Actor34: miss
Location: 54,60
Owner: Neutral
Actor35: v30
Location: 51,71
Owner: Neutral
Actor36: v28
Location: 50,71
Owner: Neutral
Actor92: brl3
Location: 57,55
Owner: Neutral
Actor38: v28
Location: 59,68
Owner: Neutral
Actor39: v27
Location: 63,68
Owner: Neutral
Actor40: dome
Location: 55,19
Owner: Soviets
Actor41: brl3
Location: 56,43
Owner: Neutral
Actor42: v25
Location: 49,68
Owner: Neutral
Actor43: v29
Location: 61,71
Owner: Neutral
Actor44: tc01
Location: 51,74
Owner: Neutral
Actor45: v28.gun
Location: 47,63
Owner: Allies
Actor46: v22.gun
Location: 61,63
Owner: Allies
Actor47: v27
Location: 55,65
Owner: Neutral
Actor48: v27
Location: 52,69
Owner: Neutral
Actor49: v26
Location: 57,71
Owner: Neutral
Actor51: rock5
Location: 52,56
Owner: Neutral
Actor50: apwr
Location: 51,14
Owner: Soviets
Actor153: apwr
Location: 87,84
Owner: Allies
Actor63: tsla
Location: 48,31
Owner: Soviets
Actor56: v23
Location: 24,36
Owner: Neutral
Actor57: v27
Location: 25,34
Owner: Neutral
Actor59: v29
Location: 21,28
Owner: Neutral
Actor58: v21
Location: 13,26
Owner: Neutral
Actor61: powr
Location: 36,19
Owner: Soviets
Actor60: hpad
Location: 46,28
Owner: Soviets
Actor69: kenn
Location: 43,29
Owner: Soviets
Actor68: ftur
Location: 34,23
Owner: Soviets
Actor70: afld
Location: 47,24
Owner: Soviets
Actor79: barr
Location: 41,27
Owner: Soviets
Actor80: proc
Location: 37,20
Owner: Soviets
Actor81: rock7
Location: 53,19
Owner: Neutral
Actor73: 2tnk
Location: 61,58
Owner: Allies
Facing: 190
Actor85: powr
Location: 49,14
Owner: Soviets
Actor83: fcom
Location: 42,18
Owner: Soviets
Actor52: powr
Location: 54,14
Owner: Soviets
Actor72: 1tnk
Location: 48,62
Owner: Allies
Facing: 60
Actor88: t08
Location: 87,47
Owner: Neutral
Actor71: 2tnk
Location: 50,57
Owner: Allies
Facing: 40
Actor74: 1tnk
Location: 62,62
Owner: Allies
Facing: 180
Actor87: tc01
Location: 92,50
Owner: Neutral
Actor86: mine
Location: 30,42
Owner: Neutral
ViewportTarget1: waypoint
Location: 37,76
Owner: Neutral
ViewportTarget2: waypoint
Location: 70,78
Owner: Neutral
ViewportTarget3: waypoint
Location: 85,55
Owner: Neutral
ViewportTarget4: waypoint
Location: 59,33
Owner: Neutral
ViewportTarget5: waypoint
Location: 38,55
Owner: Neutral
Actor55: bio
Location: 55,54
Owner: Neutral
Actor62: apwr
Location: 38,17
Owner: Soviets
Actor75: 2tnk
Location: 52,63
Owner: Allies
Facing: 100
Actor76: 2tnk
Location: 58,64
Owner: Allies
Facing: 140
Actor78: jeep
Location: 49,60
Owner: Allies
Facing: 50
Actor82: jeep
Location: 61,60
Owner: Allies
Facing: 190
Actor89: arty
Location: 56,56
Owner: Allies
Actor90: arty
Location: 54,56
Owner: Allies
Actor116: mine
Location: 82,36
Owner: Neutral
Actor93: ca
Location: 20,86
Owner: Allies
Facing: 64
Actor94: ca
Location: 40,90
Owner: Allies
Facing: 64
Actor95: rock6
Location: 10,76
Owner: Neutral
Actor97: rock2
Location: 12,75
Owner: Neutral
AttackLocation: waypoint
Location: 55,61
Owner: Neutral
CoastWP1: waypoint
Location: 1,79
Owner: Neutral
CoastWP2: waypoint
Location: 36,81
Owner: Neutral
Actor64: e1
Location: 51,63
Owner: Allies
Actor65: e1
Location: 53,64
Owner: Allies
Actor66: e1
Location: 57,65
Owner: Allies
Actor77: e1
Location: 59,64
Owner: Allies
Actor37: rock5
Location: 35,43
Owner: Neutral
Actor67: t08
Location: 25,44
Owner: Neutral
Actor109: stek
Location: 113,32
Owner: Soviets
Actor102: proc
Location: 94,28
Owner: Soviets
Actor103: apwr
Location: 118,36
Owner: Soviets
Actor101: apwr
Location: 115,38
Owner: Soviets
Actor105: silo
Location: 35,21
Owner: Soviets
Actor110: fcom
Location: 106,44
Owner: Soviets
Actor111: silo
Location: 96,28
Owner: Soviets
Actor106: fact
Location: 114,43
Owner: Soviets
Actor104: apwr
Location: 115,35
Owner: Soviets
Actor91: apwr
Location: 118,39
Owner: Soviets
Actor108: tsla
Location: 95,33
Owner: Soviets
Actor112: ftur
Location: 93,29
Owner: Soviets
Actor113: ftur
Location: 90,33
Owner: Soviets
Actor114: ftur
Location: 37,28
Owner: Soviets
Actor115: tsla
Location: 40,24
Owner: Soviets
IronCurtain: iron
Location: 110,40
Owner: Soviets
Actor117: fix
Location: 106,34
Owner: Soviets
Actor118: weap
Location: 106,29
Owner: Soviets
Actor119: barr
Location: 102,30
Owner: Soviets
Actor136: v2rl
Location: 91,40
Owner: Soviets
Facing: 90
Actor122: afld
Location: 116,49
Owner: Soviets
Actor107: hpad
Location: 112,49
Owner: Soviets
Actor126: tsla
Location: 110,27
Owner: Soviets
Actor124: dome
Location: 118,46
Owner: Soviets
Actor125: tsla
Location: 111,43
Owner: Soviets
Actor127: rock2
Location: 103,54
Owner: Neutral
Actor128: rock6
Location: 99,59
Owner: Neutral
Actor129: hpad
Location: 99,28
Owner: Soviets
Actor130: apwr
Location: 119,33
Owner: Soviets
Actor131: t08
Location: 121,43
Owner: Neutral
Actor132: apwr
Location: 116,32
Owner: Soviets
Actor133: oilb
Location: 76,37
Owner: Soviets
Actor134: e1
Location: 74,37
Owner: Soviets
Actor135: e1
Location: 77,39
Owner: Soviets
Actor137: 4tnk
Location: 105,33
Owner: Soviets
Facing: 100
Actor123: afld
Location: 119,49
Owner: Soviets
Actor138: 4tnk
Location: 112,46
Owner: Soviets
Actor139: 3tnk
Location: 89,32
Owner: Soviets
Facing: 64
Actor140: 3tnk
Location: 92,29
Owner: Soviets
Facing: 20
Actor141: 3tnk
Location: 36,23
Owner: Soviets
Actor142: e1
Location: 40,27
Owner: Soviets
Actor143: e1
Location: 49,17
Owner: Soviets
Actor144: e1
Location: 113,40
Owner: Soviets
Actor145: e1
Location: 102,33
Owner: Soviets
Actor146: rock2
Location: 125,37
Owner: Neutral
Actor147: rock1
Location: 118,54
Owner: Neutral
Actor154: pbox.e1
Location: 70,77
Owner: Allies
Actor148: pbox.e1
Location: 70,89
Owner: Allies
Actor180: pbox.e1
Location: 83,72
Owner: Allies
Actor152: 1tnk
Location: 69,85
Owner: Allies
Facing: 110
Actor155: apwr
Location: 84,84
Owner: Allies
ParadropEntry: waypoint
Location: 62,126
Owner: Neutral
ParadropLZ: waypoint
Location: 62,86
Owner: Neutral
Actor149: pbox.e1
Location: 67,84
Owner: Allies
Actor156: pbox.e1
Location: 94,91
Owner: Allies
Actor162: sbag
Location: 76,70
Owner: Allies
Actor186: 3tnk
Location: 107,50
Owner: Soviets
Facing: 80
Actor174: tc01
Location: 98,37
Owner: Neutral
Actor184: atek
Location: 75,87
Owner: Allies
Actor166: sbag
Location: 73,71
Owner: Allies
Actor168: sbag
Location: 72,72
Owner: Allies
Actor164: sbag
Location: 74,70
Owner: Allies
Actor160: agun
Location: 83,80
Owner: Allies
Facing: 30
Actor165: sbag
Location: 73,70
Owner: Allies
Actor161: hpad
Location: 74,72
Owner: Allies
Actor167: sbag
Location: 73,72
Owner: Allies
Actor163: sbag
Location: 75,70
Owner: Allies
Actor169: barr
Location: 109,48
Owner: Soviets
Actor170: kenn
Location: 104,41
Owner: Soviets
Actor179: gun
Location: 87,76
Owner: Allies
Facing: 0
Actor182: rock6
Location: 96,45
Owner: Neutral
Actor120: gun
Location: 77,70
Owner: Allies
Facing: 20
Chronosphere: pdox
Location: 78,91
Owner: Allies
Actor159: tent
Location: 70,81
Owner: Allies
Actor177: dome
Location: 76,80
Owner: Allies
Actor178: pbox.e1
Location: 101,81
Owner: Allies
Actor181: sbag
Location: 72,74
Owner: Allies
Actor157: gap
Location: 81,92
Owner: Allies
Actor187: ftur
Location: 104,47
Owner: Soviets
Actor176: gun
Location: 71,74
Owner: Allies
Facing: 30
Actor175: sbag
Location: 72,73
Owner: Allies
Actor198: tent
Location: 82,74
Owner: Allies
Actor188: ftur
Location: 107,52
Owner: Soviets
Actor54: agun
Location: 76,92
Owner: Allies
Facing: 150
Actor172: apwr
Location: 81,87
Owner: Allies
Actor171: gun
Location: 68,80
Owner: Allies
Facing: 55
Actor195: 2tnk
Location: 71,78
Owner: Allies
Facing: 64
Actor196: pt
Location: 55,92
Owner: Allies
Facing: 160
Actor183: rock2
Location: 93,41
Owner: Neutral
Actor185: 3tnk
Location: 105,47
Owner: Soviets
Actor197: dd
Location: 30,88
Owner: Allies
Facing: 64
Actor150: apwr
Location: 81,84
Owner: Allies
Actor199: e1
Location: 72,83
Owner: Allies
Actor200: e1
Location: 81,73
Owner: Allies
Actor151: apwr
Location: 87,87
Owner: Allies
Actor173: apwr
Location: 84,87
Owner: Allies
Actor84: apwr
Location: 38,9
Owner: Soviets
Actor96: apwr
Location: 38,12
Owner: Soviets
Actor98: apwr
Location: 34,12
Owner: Soviets
Actor99: apwr
Location: 34,9
Owner: Soviets
Actor100: apwr
Location: 30,12
Owner: Soviets
Actor189: apwr
Location: 30,9
Owner: Soviets
Actor190: apwr
Location: 26,12
Owner: Soviets
Actor191: apwr
Location: 26,9
Owner: Soviets
Actor192: c1
Location: 58,67
Owner: Neutral
Actor193: c2
Location: 48,68
Owner: Neutral
Actor194: c3
Location: 61,73
Owner: Neutral
Actor201: chan
Location: 56,71
Owner: Neutral
Actor202: delphi
Location: 54,67
Owner: Neutral
Actor204: c10
Location: 53,73
Owner: Neutral
Actor205: c9
Location: 51,65
Owner: Neutral
Actor206: mgg
Location: 52,60
Owner: Allies
Facing: 200
Actor207: tran.husk2
Location: 43,80
Owner: Allies
Actor208: e7
Location: 39,81
Owner: Allies
Facing: 64
Actor209: e1
Location: 41,79
Owner: Allies
Actor210: e1
Location: 46,80
Owner: Allies
Actor211: jeep
Location: 41,82
Owner: Allies
Facing: 90
Actor212: flare
Location: 43,79
Owner: Neutral
OffmapAttackerSpawn1: waypoint
Location: 10,1
Owner: Neutral
OffmapAttackerSpawn2: waypoint
Location: 84,1
Owner: Neutral
OffmapAttackerSpawn3: waypoint
Location: 1,50
Owner: Neutral
Actor213: 2tnk
Location: 79,70
Owner: Allies
Facing: 0
Actor214: 2tnk
Location: 80,70
Owner: Allies
Facing: 0
HeavyTankWP: waypoint
Location: 79,69
Owner: Neutral
Actor221: powr
Location: 74,84
Owner: Allies
Actor215: 2tnk
Location: 82,71
Owner: Allies
Facing: 0
HeavyTankSpawn: waypoint
Location: 80,50
Owner: Neutral
Actor216: arty
Location: 74,71
Owner: Allies
Facing: 0
MediumTankChronoSpawn: waypoint
Location: 80,65
Owner: Neutral
Actor220: powr
Location: 76,84
Owner: Allies
Actor219: gun
Location: 85,70
Owner: Allies
Actor53: gap
Location: 76,71
Owner: Allies
Mig11: waypoint
Location: 94,1
Owner: Neutral
Mig12: waypoint
Location: 68,33
Owner: Neutral
Mig22: waypoint
Location: 70,35
Owner: Neutral
Mig13: waypoint
Location: 41,38
Owner: Neutral
Mig14: waypoint
Location: 1,26
Owner: Neutral
Mig23: waypoint
Location: 41,40
Owner: Neutral
Mig24: waypoint
Location: 1,28
Owner: Neutral
Actor227: 2tnk
Location: 45,62
Owner: Allies
Facing: 0
Actor230: e1
Location: 64,63
Owner: Allies
Actor229: e1
Location: 47,62
Owner: Allies
Actor228: 2tnk
Location: 65,63
Owner: Allies
Facing: 0
Mig21: waypoint
Location: 96,3
Owner: Neutral
Smudges:
Rules:
Player:
-ConquestVictoryConditions:
World:
-CrateDrop:
-SpawnMPUnits:
-MPStartLocations:
DesertShellmapScript:
TRAN.Husk2:
Burns:
Damage: 0
V22.Gun:
Inherits: V22
RenderBuilding:
Image: V22
AutoTarget:
Armament:
Weapon: Dragon
Turreted:
AttackTurreted:
V28.Gun:
Inherits: V28
RenderBuilding:
Image: V28
AutoTarget:
Armament:
Weapon: Dragon
Turreted:
AttackTurreted:
APC:
DesertShellmapAutoUnload:
MIG:
Plane:
Speed: 30
Sequences:
Weapons:
8Inch:
Report: tank6
2Inch:
Range: 10
Voices:
Notifications: