diff --git a/OpenRA.sln b/OpenRA.sln index 62649d2044..ec0593a8f7 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -106,6 +106,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.GameMonitor", "OpenR EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Test", "OpenRA.Test\OpenRA.Test.csproj", "{6CB8E1B7-6B36-4D93-8633-7C573E194AC4}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Sun Lua scripts", "Tiberian Sun Lua scripts", "{85159569-F5BD-458E-B5C0-EB16690C432B}" + ProjectSection(SolutionItems) = preProject + mods\ts\maps\fields-of-green\fields-of-green.lua = mods\ts\maps\fields-of-green\fields-of-green.lua + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x86 = Debug|x86 diff --git a/mods/ts/maps/fields-of-green/fields-of-green.lua b/mods/ts/maps/fields-of-green/fields-of-green.lua new file mode 100644 index 0000000000..ab397fa105 --- /dev/null +++ b/mods/ts/maps/fields-of-green/fields-of-green.lua @@ -0,0 +1,106 @@ +NForce = { "e1", "e1", "e1", "e3", "cyborg", "cyborg" } +NForcePath = { NodW.Location, GDIBase.Location } +NForceInterval = 5 + +VNForce = { "bike", "bike", "bggy", "bggy", "e1", "e1", "e3" } +VNForcePath = { South.Location, GDIBase.Location } +VNForceInterval = 15 + +GForce = { "e1", "e1", "e1", "e1", "e2", "e1", "e2" } +GForcePath = { GDIW.Location, NodBase.Location } +GForceInterval = 5 + +VGForce = { "e2", "smech", "smech", "e1", "e1", "apc" } +VGForcePath = { North.Location, NodBase.Location } +VGForceInterval = 15 + +ProducedUnitTypes = +{ + { nodhand1, { "e1", "e3" } }, + { gdibar1, { "e1", "e2" } } +} + +ProduceUnits = function(t) + local factory = t[1] + if not factory.IsDead then + local unitType = t[2][Utils.RandomInteger(1, #t[2] + 1)] + factory.Wait(Actor.BuildTime(unitType)) + factory.Produce(unitType) + factory.CallFunc(function() ProduceUnits(t) end) + end +end + +SetupFactories = function() + Utils.Do(ProducedUnitTypes, function(pair) + Trigger.OnProduction(pair[1], function(_, a) BindActorTriggers(a) end) + end) +end + +SetupInvulnerability = function() + Utils.Do(Map.NamedActors, function(actor) + if actor.HasProperty("AcceptsUpgrade") and actor.AcceptsUpgrade("unkillable") then + actor.GrantUpgrade("unkillable") + end + end) +end + +SendNodInfantry = function() + local units = Reinforcements.Reinforce(nod, NForce, NForcePath, NForceInterval) + Utils.Do(units, function(unit) + BindActorTriggers(unit) + end) + Trigger.AfterDelay(DateTime.Seconds(60), SendNodInfantry) +end + +SendNodVehicles = function() + local units = Reinforcements.Reinforce(nod, VNForce, VNForcePath, VNForceInterval) + Utils.Do(units, function(unit) + BindActorTriggers(unit) + end) + Trigger.AfterDelay(DateTime.Seconds(110), SendNodVehicles) +end + +SendGDIInfantry = function() + local units = Reinforcements.Reinforce(gdi, GForce, GForcePath, GForceInterval) + Utils.Do(units, function(unit) + BindActorTriggers(unit) + end) + Trigger.AfterDelay(DateTime.Seconds(60), SendGDIInfantry) +end + +SendGDIVehicles = function() + local units = Reinforcements.Reinforce(gdi, VGForce, VGForcePath, VGForceInterval) + Utils.Do(units, function(unit) + BindActorTriggers(unit) + end) + Trigger.AfterDelay(DateTime.Seconds(110), SendGDIVehicles) +end + +BindActorTriggers = function(a) + if a.HasProperty("Hunt") then + Trigger.OnIdle(a, a.Hunt) + end + + if a.HasProperty("HasPassengers") then + Trigger.OnDamaged(a, function() + if a.HasPassengers then + a.Stop() + a.UnloadPassengers() + end + end) + end +end + +WorldLoaded = function() + nod = Player.GetPlayer("Nod") + gdi = Player.GetPlayer("GDI") + + SetupFactories() + SetupInvulnerability() + + Utils.Do(ProducedUnitTypes, ProduceUnits) + SendNodInfantry() + Trigger.AfterDelay(DateTime.Seconds(50), SendNodVehicles) + SendGDIInfantry() + Trigger.AfterDelay(DateTime.Seconds(70), SendGDIVehicles) +end diff --git a/mods/ts/maps/fields-of-green/map.bin b/mods/ts/maps/fields-of-green/map.bin new file mode 100644 index 0000000000..025d3c08ab Binary files /dev/null and b/mods/ts/maps/fields-of-green/map.bin differ diff --git a/mods/ts/maps/fields-of-green/map.png b/mods/ts/maps/fields-of-green/map.png new file mode 100644 index 0000000000..10e8766cb3 Binary files /dev/null and b/mods/ts/maps/fields-of-green/map.png differ diff --git a/mods/ts/maps/fields-of-green/map.yaml b/mods/ts/maps/fields-of-green/map.yaml new file mode 100644 index 0000000000..b4f4aecc8e --- /dev/null +++ b/mods/ts/maps/fields-of-green/map.yaml @@ -0,0 +1,1466 @@ +MapFormat: 11 + +RequiresMod: ts + +Title: Fields of Green + +Author: Marn + +Tileset: TEMPERATE + +MapSize: 60,120 + +Bounds: 2,4,56,110 + +Visibility: Shellmap + +Categories: Shellmap + +Players: + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Faction: nod + PlayerReference@Creeps: + Name: Creeps + Faction: nod + Enemies: Creeps, Nod, GDI + PlayerReference@Nod: + Name: Nod + Faction: nod + LockFaction: true + Color: FE1100 + LockColor: true + Enemies: GDI, Creeps + PlayerReference@GDI: + Name: GDI + Faction: gdi + LockFaction: true + Color: EEEE66 + LockColor: true + Enemies: Nod, Creeps + +Actors: + Actor0: tibtre01 + Location: 60,-6 + Owner: Neutral + Actor1: tibtre03 + Location: 66,-1 + Owner: Neutral + Actor2: tibtre02 + Location: 60,11 + Owner: Neutral + Actor3: tibtre01 + Location: 58,16 + Owner: Neutral + Actor6: nagate_b + Owner: Nod + Location: 42,6 + Actor7: nawall + Owner: Nod + Location: 42,5 + Actor8: nawall + Owner: Nod + Location: 42,4 + Actor9: nawall + Owner: Nod + Location: 42,3 + Actor10: nawall + Owner: Nod + Location: 42,2 + Actor11: nawall + Owner: Nod + Location: 41,2 + Actor12: nawall + Owner: Nod + Location: 41,1 + Actor13: nawall + Owner: Nod + Location: 40,1 + Actor14: nawall + Owner: Nod + Location: 42,9 + Actor15: nawall + Owner: Nod + Location: 42,10 + Actor16: nawall + Owner: Nod + Location: 42,11 + Actor17: nawall + Owner: Nod + Location: 42,12 + Actor18: nawall + Owner: Nod + Location: 41,12 + Actor19: nawall + Owner: Nod + Location: 41,13 + Actor20: naobel + Owner: Nod + Location: 40,10 + Actor21: nawall + Owner: Nod + Location: 40,12 + Actor22: nawall + Owner: Nod + Location: 41,9 + Actor23: nawall + Owner: Nod + Location: 40,9 + Actor24: proc + Owner: Nod + Location: 32,6 + Actor25: gasilo + Owner: Nod + Location: 31,9 + Actor26: gasilo + Owner: Nod + Location: 33,10 + Actor27: nalasr + Owner: Nod + Location: 43,5 + Facing: 170 + Actor28: nalasr + Owner: Nod + Location: 43,9 + Facing: 170 + nodhand1: nahand + Owner: Nod + Location: 38,4 + Actor30: galite + Owner: Nod + Location: 40,2 + Actor31: gaoldcc2 + Owner: Nod + Location: 37,-6 + Actor32: gaoldcc1 + Owner: Nod + Location: 37,-2 + Actor33: naapwr + Owner: Nod + Location: 32,2 + Actor34: naapwr + Owner: Nod + Location: 34,2 + Actor35: gasand + Owner: Nod + Location: 43,11 + Actor36: gasand + Owner: Nod + Location: 44,11 + Actor37: gasand + Owner: Nod + Location: 45,11 + Actor38: gasand + Owner: Nod + Location: 45,10 + Actor39: gasand + Owner: Nod + Location: 45,9 + Actor40: gasand + Owner: Nod + Location: 43,12 + Actor41: gasand + Owner: Nod + Location: 43,13 + Actor42: gasand + Owner: Nod + Location: 42,13 + Actor43: gasand + Owner: Nod + Location: 42,14 + Actor44: gasand + Owner: Nod + Location: 45,5 + Actor45: gasand + Owner: Nod + Location: 45,4 + Actor46: gasand + Owner: Nod + Location: 45,3 + Actor47: gasand + Owner: Nod + Location: 44,3 + Actor48: gasand + Owner: Nod + Location: 43,3 + Actor49: gasand + Owner: Nod + Location: 43,2 + Actor50: gasand + Owner: Nod + Location: 43,1 + Actor51: gasand + Owner: Nod + Location: 42,1 + Actor52: gasand + Owner: Nod + Location: 42,0 + Actor53: gasand + Owner: Nod + Location: 41,0 + Actor54: gagate_a + Owner: GDI + Location: 81,-3 + Actor55: gactwr + Owner: GDI + Location: 84,-1 + TurretFacing: 92 + Facing: 60 + Plugs: + 0,0: tower.vulcan + Actor56: gactwr + Owner: GDI + Location: 80,-3 + Facing: 60 + Plugs: + 0,0: tower.vulcan + Actor57: gawall + Owner: GDI + Location: 79,-3 + Actor58: gawall + Owner: GDI + Location: 78,-3 + Actor59: gawall + Owner: GDI + Location: 77,-3 + Actor60: gawall + Owner: GDI + Location: 77,-4 + Actor61: gawall + Owner: GDI + Location: 84,-3 + Actor62: gawall + Owner: GDI + Location: 84,-2 + Actor63: gawall + Owner: GDI + Location: 85,-1 + Actor64: gawall + Owner: GDI + Location: 86,-1 + Actor65: gawall + Owner: GDI + Location: 87,-1 + Actor66: gactwr + Owner: GDI + Location: 84,-4 + Facing: 60 + Plugs: + 0,0: tower.rocket + Actor67: gawall + Owner: GDI + Location: 88,-1 + Actor68: gawall + Owner: GDI + Location: 88,-2 + Actor69: gawall + Owner: GDI + Location: 88,-3 + Actor70: gawall + Owner: GDI + Location: 88,-4 + Actor71: gawall + Owner: GDI + Location: 88,-5 + Actor72: gawall + Owner: GDI + Location: 88,-6 + Actor73: gawall + Owner: GDI + Location: 88,-7 + Actor74: gawall + Owner: GDI + Location: 88,-8 + Actor75: gawall + Owner: GDI + Location: 88,-9 + Actor76: gawall + Owner: GDI + Location: 88,-10 + Actor77: gawall + Owner: GDI + Location: 88,-11 + Actor78: proc + Owner: GDI + Location: 79,-7 + Actor79: galite + Owner: GDI + Location: 78,-4 + gdibar1: gapile + Owner: GDI + Location: 85,-9 + Actor81: gapowr + Owner: GDI + Location: 86,-3 + Facing: 60 + Plugs: + 0,1: powrup + 1,1: powrup + Actor82: gapowr + Owner: GDI + Location: 86,-5 + Plugs: + 0,1: powrup + 1,1: powrup + Actor91: gactwr + Owner: GDI + Location: 85,-11 + Facing: -40 + Plugs: + 0,0: tower.vulcan + Actor90: gasilo + Owner: GDI + Location: 79,-10 + Actor85: gawall + Owner: GDI + Location: 78,-11 + Actor86: gawall + Owner: GDI + Location: 79,-11 + Actor87: gawall + Owner: GDI + Location: 80,-11 + Actor88: gactwr + Owner: GDI + Location: 81,-11 + Facing: -40 + Plugs: + 0,0: tower.vulcan + Actor89: gagate_a + Owner: GDI + Location: 82,-11 + Actor92: gawall + Owner: GDI + Location: 86,-11 + Actor93: gawall + Owner: GDI + Location: 87,-11 + Actor94: ca0001 + Owner: Neutral + Location: 53,-3 + Actor95: ca0004 + Owner: Neutral + Location: 50,0 + Actor96: ca0006 + Owner: Neutral + Location: 50,-4 + Actor97: ca0007 + Owner: Neutral + Location: 48,-4 + Actor98: ca0010 + Owner: Neutral + Location: 78,7 + Actor99: ca0011 + Owner: Neutral + Location: 79,4 + Actor100: ca0011 + Owner: Neutral + Location: 78,4 + Actor101: ca0008 + Owner: Neutral + Location: 71,0 + Actor102: ca0013 + Owner: Neutral + Location: 90,12 + Actor103: ca0013 + Owner: Neutral + Location: 90,11 + Actor104: ca0017 + Owner: Neutral + Location: 75,8 + Actor105: ca0020 + Owner: Neutral + Location: 75,6 + Actor106: ca0018 + Owner: Neutral + Location: 75,9 + Actor107: ca0016 + Owner: Neutral + Location: 61,2 + Actor108: ca0015 + Owner: Neutral + Location: 56,0 + Actor109: cacrsh04 + Owner: Neutral + Location: 66,4 + Actor110: cacrsh01 + Owner: Neutral + Location: 48,3 + Actor111: cacrsh05 + Owner: Neutral + Location: 75,-1 + Actor112: cacrsh02 + Owner: Neutral + Location: 88,2 + Actor113: cacrsh03 + Owner: Neutral + Location: 78,-14 + Actor114: caaray + Owner: Neutral + Location: 72,-11 + Actor115: city19 + Owner: Neutral + Location: 48,-14 + Actor116: city21 + Owner: Neutral + Location: 50,-8 + Actor117: city20 + Owner: Neutral + Location: 49,-12 + Actor118: city20 + Owner: Neutral + Location: 48,-12 + Actor119: pick + Owner: Neutral + Location: 73,1 + Facing: 92 + Actor120: car + Owner: Neutral + Location: 49,-11 + Facing: 92 + Actor121: wini + Owner: Neutral + Location: 48,-11 + Facing: 92 + Actor122: srock01 + Owner: Neutral + Location: 52,6 + Actor123: trock04 + Owner: Neutral + Location: 72,9 + Actor124: trock02 + Owner: Neutral + Location: 82,3 + Actor125: trock05 + Owner: Neutral + Location: 75,-2 + Actor126: trucka + Owner: Neutral + Location: 51,1 + Facing: 92 + Actor127: ca0014 + Owner: Neutral + Location: 53,22 + Actor128: ca0012 + Owner: Neutral + Location: 56,22 + Actor129: ca0012 + Owner: Neutral + Location: 58,22 + Actor130: tree01 + Owner: Neutral + Location: 70,-10 + Actor131: tree02 + Owner: Neutral + Location: 72,-13 + Actor132: tree06 + Owner: Neutral + Location: 75,-10 + Actor133: tree10 + Owner: Neutral + Location: 74,-9 + Actor134: tree11 + Owner: Neutral + Location: 72,-8 + Actor135: tree10 + Owner: Neutral + Location: 71,-11 + Actor136: tree13 + Owner: Neutral + Location: 74,-8 + Actor137: tree14 + Owner: Neutral + Location: 74,-7 + Actor138: tree21 + Owner: Neutral + Location: 76,-8 + Actor139: tree22 + Owner: Neutral + Location: 77,-6 + Actor140: tree23 + Owner: Neutral + Location: 76,-6 + Actor141: tree21 + Owner: Neutral + Location: 76,-7 + Actor142: tree18 + Owner: Neutral + Location: 75,-7 + Actor143: tree11 + Owner: Neutral + Location: 39,-6 + Actor144: tree07 + Owner: Neutral + Location: 37,-4 + Actor145: tree08 + Owner: Neutral + Location: 36,-6 + Actor146: tree18 + Owner: Neutral + Location: 39,-5 + Actor147: tree22 + Owner: Neutral + Location: 38,-4 + Actor150: tree20 + Owner: Neutral + Location: 37,0 + Actor149: tree21 + Owner: Neutral + Location: 37,-2 + Actor148: tree21 + Owner: Neutral + Location: 39,-1 + Actor151: tree24 + Owner: Neutral + Location: 40,-1 + Actor152: tree16 + Owner: Neutral + Location: 41,-3 + Actor153: tree14 + Owner: Neutral + Location: 40,-2 + Actor154: tree08 + Owner: Neutral + Location: 38,-9 + Actor155: tree10 + Owner: Neutral + Location: 35,-11 + Actor156: tree06 + Owner: Neutral + Location: 33,-15 + Actor157: tree02 + Owner: Neutral + Location: 34,-3 + Actor158: tree01 + Owner: Neutral + Location: 30,-1 + Actor159: tree05 + Owner: Neutral + Location: 31,-1 + Actor160: tree10 + Owner: Neutral + Location: 33,-2 + Actor161: tree11 + Owner: Neutral + Location: 26,3 + Actor162: tree21 + Owner: Neutral + Location: 32,0 + Actor163: tree24 + Owner: Neutral + Location: 44,1 + Actor164: tree25 + Owner: Neutral + Location: 43,-1 + Actor165: tree23 + Owner: Neutral + Location: 28,13 + Actor166: tree15 + Owner: Neutral + Location: 22,2 + Actor167: tree14 + Owner: Neutral + Location: 24,0 + Actor168: tree12 + Owner: Neutral + Location: 21,0 + Actor169: tree13 + Owner: Neutral + Location: 21,1 + Actor170: tree07 + Owner: Neutral + Location: 21,-4 + Actor171: tree10 + Owner: Neutral + Location: 21,-2 + Actor172: tree06 + Owner: Neutral + Location: 16,4 + Actor173: tree09 + Owner: Neutral + Location: 16,7 + Actor174: tree05 + Owner: Neutral + Location: 15,8 + Actor175: tree06 + Owner: Neutral + Location: 27,16 + Actor176: tree17 + Owner: Neutral + Location: 28,15 + Actor177: tree10 + Owner: Neutral + Location: 29,14 + Actor178: tree07 + Owner: Neutral + Location: 32,17 + Actor179: tree05 + Owner: Neutral + Location: 34,19 + Actor180: tree04 + Owner: Neutral + Location: 37,19 + Actor181: tree03 + Owner: Neutral + Location: 39,17 + Actor182: tree01 + Owner: Neutral + Location: 38,18 + Actor183: tree11 + Owner: Neutral + Location: 38,19 + Actor184: tree21 + Owner: Neutral + Location: 40,21 + Actor185: tree25 + Owner: Neutral + Location: 39,33 + Actor186: tree20 + Owner: Neutral + Location: 50,12 + Actor187: tree19 + Owner: Neutral + Location: 52,12 + Actor188: tree23 + Owner: Neutral + Location: 55,9 + Actor189: tree24 + Owner: Neutral + Location: 57,7 + Actor190: tree25 + Owner: Neutral + Location: 56,15 + Actor191: tree22 + Owner: Neutral + Location: 63,15 + Actor192: tree21 + Owner: Neutral + Location: 53,19 + Actor193: tree14 + Owner: Neutral + Location: 51,14 + Actor194: tree11 + Owner: Neutral + Location: 52,17 + Actor195: tree10 + Owner: Neutral + Location: 47,19 + Actor196: tree09 + Owner: Neutral + Location: 46,4 + Actor197: tree08 + Owner: Neutral + Location: 44,0 + Actor198: tree06 + Owner: Neutral + Location: 42,0 + Actor199: tree22 + Owner: Neutral + Location: 63,-6 + Actor200: tree23 + Owner: Neutral + Location: 57,-10 + Actor201: tree24 + Owner: Neutral + Location: 58,-2 + Actor202: tree25 + Owner: Neutral + Location: 66,-5 + Actor203: tree14 + Owner: Neutral + Location: 61,-11 + Actor204: tree16 + Owner: Neutral + Location: 71,-2 + Actor205: tree12 + Owner: Neutral + Location: 55,-15 + Actor206: tree10 + Owner: Neutral + Location: 55,-17 + Actor207: tree09 + Owner: Neutral + Location: 58,-16 + Actor208: tree05 + Owner: Neutral + Location: 52,-21 + Actor209: tree06 + Owner: Neutral + Location: 56,-20 + Actor210: tree05 + Owner: Neutral + Location: 54,-19 + Actor211: tree04 + Owner: Neutral + Location: 57,-24 + Actor212: tree01 + Owner: Neutral + Location: 53,-25 + Actor213: tree02 + Owner: Neutral + Location: 60,-21 + Actor214: tree05 + Owner: Neutral + Location: 43,-18 + Actor215: tree03 + Owner: Neutral + Location: 44,-20 + Actor216: tree04 + Owner: Neutral + Location: 42,-21 + Actor217: tree01 + Owner: Neutral + Location: 39,-21 + Actor218: tree11 + Owner: Neutral + Location: 42,-19 + Actor219: tree13 + Owner: Neutral + Location: 47,-11 + Actor220: tree14 + Owner: Neutral + Location: 50,-13 + Actor221: tree18 + Owner: Neutral + Location: 47,-13 + Actor222: tree21 + Owner: Neutral + Location: 48,-10 + Actor223: tree20 + Owner: Neutral + Location: 49,-3 + Actor224: tree16 + Owner: Neutral + Location: 49,1 + Actor225: tree10 + Owner: Neutral + Location: 56,-1 + Actor226: tree09 + Owner: Neutral + Location: 54,-4 + Actor227: tree10 + Owner: Neutral + Location: 53,-4 + Actor228: tree08 + Owner: Neutral + Location: 55,-22 + Actor229: tree04 + Owner: Neutral + Location: 48,-28 + Actor230: tree23 + Owner: Neutral + Location: 49,-28 + Actor231: tree25 + Owner: Neutral + Location: 48,-32 + Actor232: tree24 + Owner: Neutral + Location: 87,-13 + Actor233: tree22 + Owner: Neutral + Location: 91,-3 + Actor234: tree23 + Owner: Neutral + Location: 93,-10 + Actor235: tree25 + Owner: Neutral + Location: 90,2 + Actor236: tree14 + Owner: Neutral + Location: 87,1 + Actor237: tree10 + Owner: Neutral + Location: 78,-12 + Actor238: palet04 + Owner: Neutral + Location: 77,-2 + Actor239: drum02 + Owner: Neutral + Location: 82,0 + Actor240: palet01 + Owner: Neutral + Location: 84,0 + Actor241: palet01 + Owner: Neutral + Location: 84,1 + Actor242: palet02 + Owner: Neutral + Location: 81,-9 + Actor243: palet01 + Owner: Neutral + Location: 39,10 + Actor244: palet03 + Owner: Neutral + Location: 39,2 + Actor245: palet02 + Owner: Neutral + Location: 38,2 + Actor246: crat0b + Owner: Neutral + Location: 35,10 + Actor247: crat0a + Owner: Neutral + Location: 35,11 + Actor248: ammocrat + Owner: Neutral + Location: 76,-1 + Actor249: ammocrat + Owner: Neutral + Location: 47,-1 + Actor250: bboard16 + Owner: Neutral + Location: 74,-3 + Actor251: bboard01 + Owner: Neutral + Location: 43,16 + Actor252: tree19 + Owner: Neutral + Location: 66,-35 + Actor253: tree11 + Owner: Neutral + Location: 63,-37 + Actor254: tree12 + Owner: Neutral + Location: 64,-44 + Actor255: tree10 + Owner: Neutral + Location: 60,-43 + Actor256: tree07 + Owner: Neutral + Location: 63,-46 + Actor257: tree06 + Owner: Neutral + Location: 64,-48 + Actor258: tree05 + Owner: Neutral + Location: 57,-39 + Actor259: tree03 + Owner: Neutral + Location: 56,-38 + Actor260: tree02 + Owner: Neutral + Location: 54,-37 + Actor261: tree03 + Owner: Neutral + Location: 52,-36 + Actor262: tree01 + Owner: Neutral + Location: 53,-35 + Actor263: tree10 + Owner: Neutral + Location: 70,-35 + Actor264: tree11 + Owner: Neutral + Location: 73,-35 + Actor265: tree15 + Owner: Neutral + Location: 72,-34 + Actor266: tree16 + Owner: Neutral + Location: 74,-39 + Actor267: tree12 + Owner: Neutral + Location: 73,-38 + Actor268: tree10 + Owner: Neutral + Location: 72,-41 + Actor269: tree08 + Owner: Neutral + Location: 70,-42 + Actor270: tree05 + Owner: Neutral + Location: 68,-44 + Actor271: tree06 + Owner: Neutral + Location: 77,-35 + Actor272: tree21 + Owner: Neutral + Location: 75,-40 + Actor273: tree20 + Owner: Neutral + Location: 71,-33 + Actor274: tree21 + Owner: Neutral + Location: 71,-34 + Actor275: tree14 + Owner: Neutral + Location: 69,-33 + Actor276: tree24 + Owner: Neutral + Location: 74,-31 + Actor277: tree25 + Owner: Neutral + Location: 77,-34 + Actor278: tree23 + Owner: Neutral + Location: 78,-35 + Actor279: tree16 + Owner: Neutral + Location: 59,-31 + Actor280: tree12 + Owner: Neutral + Location: 63,-29 + Actor281: tree13 + Owner: Neutral + Location: 61,-31 + Actor282: tree10 + Owner: Neutral + Location: 68,-27 + Actor283: tree09 + Owner: Neutral + Location: 72,-26 + Actor284: tree07 + Owner: Neutral + Location: 77,-26 + Actor285: tree05 + Owner: Neutral + Location: 75,-25 + Actor286: tree06 + Owner: Neutral + Location: 80,-25 + Actor287: tree04 + Owner: Neutral + Location: 77,-25 + Actor288: tree03 + Owner: Neutral + Location: 82,-22 + Actor289: tree02 + Owner: Neutral + Location: 84,-19 + Actor290: tree05 + Owner: Neutral + Location: 88,-20 + Actor291: tree21 + Owner: Neutral + Location: 87,-18 + Actor292: tree22 + Owner: Neutral + Location: 86,-20 + Actor293: tree12 + Owner: Neutral + Location: 83,-27 + Actor294: tree13 + Owner: Neutral + Location: 85,-27 + Actor295: tree10 + Owner: Neutral + Location: 83,-30 + Actor296: tree08 + Owner: Neutral + Location: 83,-28 + Actor297: tree07 + Owner: Neutral + Location: 82,-28 + Actor298: tree05 + Owner: Neutral + Location: 74,-24 + Actor299: tree06 + Owner: Neutral + Location: 66,-23 + Actor300: tree24 + Owner: Neutral + Location: 67,-23 + Actor301: tree22 + Owner: Neutral + Location: 51,13 + Actor302: tree10 + Owner: Neutral + Location: 52,14 + Actor303: tree08 + Owner: Neutral + Location: 51,11 + Actor304: tree05 + Owner: Neutral + Location: 53,16 + Actor305: tree09 + Owner: Neutral + Location: 46,20 + Actor306: tree14 + Owner: Neutral + Location: 47,21 + Actor307: tree16 + Owner: Neutral + Location: 49,23 + Actor308: tree19 + Owner: Neutral + Location: 48,25 + Actor309: tree18 + Owner: Neutral + Location: 47,23 + Actor310: tree17 + Owner: Neutral + Location: 48,24 + Actor311: tree09 + Owner: Neutral + Location: 46,21 + Actor312: tree08 + Owner: Neutral + Location: 45,19 + Actor313: tree05 + Owner: Neutral + Location: 47,23 + Actor314: tree05 + Owner: Neutral + Location: 58,-22 + Actor315: tree22 + Owner: Neutral + Location: 71,22 + Actor316: tree19 + Owner: Neutral + Location: 69,24 + Actor317: tree12 + Owner: Neutral + Location: 69,26 + Actor318: tree10 + Owner: Neutral + Location: 66,26 + Actor319: tree08 + Owner: Neutral + Location: 68,29 + Actor320: tree05 + Owner: Neutral + Location: 64,28 + Actor321: tree04 + Owner: Neutral + Location: 61,28 + Actor322: tree02 + Owner: Neutral + Location: 56,26 + Actor323: tree03 + Owner: Neutral + Location: 68,26 + Actor324: tree11 + Owner: Neutral + Location: 53,40 + Actor325: tree21 + Owner: Neutral + Location: 56,39 + Actor326: tree23 + Owner: Neutral + Location: 47,31 + Actor327: tree14 + Owner: Neutral + Location: 29,21 + Actor328: tree06 + Owner: Neutral + Location: 49,36 + Actor329: tree07 + Owner: Neutral + Location: 50,37 + Actor330: tree08 + Owner: Neutral + Location: 46,36 + Actor331: tree04 + Owner: Neutral + Location: 47,39 + Actor332: tree01 + Owner: Neutral + Location: 47,40 + Actor333: tree05 + Owner: Neutral + Location: 50,41 + Actor334: tree02 + Owner: Neutral + Location: 52,41 + Actor335: tree15 + Owner: Neutral + Location: 47,36 + Actor336: tree14 + Owner: Neutral + Location: 48,34 + Actor337: tree12 + Owner: Neutral + Location: 52,38 + Actor338: tree12 + Owner: Neutral + Location: 67,30 + Actor339: tree17 + Owner: Neutral + Location: 66,30 + Actor340: tree18 + Owner: Neutral + Location: 68,31 + Actor341: tree21 + Owner: Neutral + Location: 70,32 + Actor342: tree23 + Owner: Neutral + Location: 71,31 + Actor343: tree16 + Owner: Neutral + Location: 79,14 + Actor344: tree15 + Owner: Neutral + Location: 79,12 + Actor345: tree18 + Owner: Neutral + Location: 82,13 + Actor346: tree19 + Owner: Neutral + Location: 82,15 + Actor347: tree11 + Owner: Neutral + Location: 80,15 + Actor348: tree09 + Owner: Neutral + Location: 80,13 + Actor349: tree10 + Owner: Neutral + Location: 80,10 + Actor350: tree07 + Owner: Neutral + Location: 77,10 + Actor351: tree08 + Owner: Neutral + Location: 72,13 + Actor352: tree07 + Owner: Neutral + Location: 68,9 + Actor353: tree06 + Owner: Neutral + Location: 69,9 + Actor354: tree05 + Owner: Neutral + Location: 67,8 + Actor355: tree10 + Owner: Neutral + Location: 70,11 + Actor356: tree06 + Owner: Neutral + Location: 72,14 + Actor357: tree04 + Owner: Neutral + Location: 73,15 + Actor358: tree18 + Owner: Neutral + Location: 93,1 + Actor359: tree16 + Owner: Neutral + Location: 92,0 + Actor360: tree12 + Owner: Neutral + Location: 93,0 + Actor361: tree12 + Owner: Neutral + Location: 105,-7 + Actor362: tree10 + Owner: Neutral + Location: 108,-4 + Actor363: tree08 + Owner: Neutral + Location: 106,-5 + Actor364: tree02 + Owner: Neutral + Location: 106,6 + Actor365: tree06 + Owner: Neutral + Location: 108,6 + Actor366: tree07 + Owner: Neutral + Location: 107,8 + Actor367: tree11 + Owner: Neutral + Location: 111,0 + Actor368: tree09 + Owner: Neutral + Location: 111,1 + Actor369: tree12 + Owner: Neutral + Location: 112,1 + Actor370: tree13 + Owner: Neutral + Location: 87,28 + Actor371: tree10 + Owner: Neutral + Location: 86,29 + Actor372: tree09 + Owner: Neutral + Location: 84,31 + Actor373: tree07 + Owner: Neutral + Location: 82,33 + Actor374: tree04 + Owner: Neutral + Location: 84,32 + Actor375: trock04 + Owner: Neutral + Location: 66,34 + Actor376: trock03 + Owner: Neutral + Location: 62,23 + Actor377: trock05 + Owner: Neutral + Location: 48,13 + Actor378: trock02 + Owner: Neutral + Location: 45,-4 + Actor379: srock02 + Owner: Neutral + Location: 64,8 + Actor380: srock05 + Owner: Neutral + Location: 63,-11 + Actor381: srock01 + Owner: Neutral + Location: 26,-9 + Actor382: srock03 + Owner: Neutral + Location: 27,-9 + Actor383: srock05 + Owner: Neutral + Location: 26,-8 + Actor384: srock04 + Owner: Neutral + Location: 28,-12 + Actor385: trock01 + Owner: Neutral + Location: 40,-17 + Actor386: trock05 + Owner: Neutral + Location: 62,-17 + Actor387: trock03 + Owner: Neutral + Location: 64,-20 + Actor388: trock01 + Owner: Neutral + Location: 79,-20 + Actor389: trock03 + Owner: Neutral + Location: 69,-40 + Actor390: trock05 + Owner: Neutral + Location: 63,-40 + Actor391: trock04 + Owner: Neutral + Location: 58,-41 + Actor404: gasand + Owner: GDI + Location: 86,-12 + Actor403: trock05 + Owner: Neutral + Location: 53,33 + Actor394: trock03 + Owner: Neutral + Location: 34,23 + Actor395: trock03 + Owner: Neutral + Location: 25,6 + Actor396: trock02 + Owner: Neutral + Location: 22,11 + Actor397: trock05 + Owner: Neutral + Location: 21,14 + Actor398: trock01 + Owner: Neutral + Location: 18,0 + Actor399: trock05 + Owner: Neutral + Location: 60,46 + Actor400: trock02 + Owner: Neutral + Location: 64,41 + Actor401: trock01 + Owner: Neutral + Location: 84,8 + Actor402: trock02 + Owner: Neutral + Location: 76,15 + Actor405: gasand + Owner: GDI + Location: 85,-12 + Actor406: gasand + Owner: GDI + Location: 87,-12 + Actor407: gasand + Owner: GDI + Location: 88,-12 + Actor414: gasand + Owner: GDI + Location: 81,-12 + Actor409: gasand + Owner: GDI + Location: 89,-12 + Actor410: gasand + Owner: GDI + Location: 89,-10 + Actor411: gasand + Owner: GDI + Location: 89,-11 + Actor412: gasand + Owner: GDI + Location: 89,-9 + Actor413: gasand + Owner: GDI + Location: 89,-8 + Actor415: gasand + Owner: GDI + Location: 80,-12 + Actor416: gasand + Owner: GDI + Location: 79,-12 + Actor417: gasand + Owner: GDI + Location: 87,0 + Actor418: gasand + Owner: GDI + Location: 88,0 + Actor419: gasand + Owner: GDI + Location: 89,0 + Actor420: gasand + Owner: GDI + Location: 89,-1 + Actor421: gasand + Owner: GDI + Location: 89,-2 + Actor422: gasand + Owner: GDI + Location: 80,-2 + Actor423: gasand + Owner: GDI + Location: 79,-2 + Actor424: gasand + Owner: GDI + Location: 78,-2 + Actor425: gasand + Owner: GDI + Location: 76,-3 + Actor426: gasand + Owner: GDI + Location: 76,-2 + NodW: waypoint + Owner: Neutral + Location: 40,5 + GDIW: waypoint + Owner: Neutral + Location: 86,-8 + MidW: waypoint + Owner: Neutral + Location: 62,5 + TopW: waypoint + Owner: Neutral + Location: 56,-18 + BotW: waypoint + Owner: Neutral + Location: 59,27 + Actor429: e1 + Owner: GDI + Location: 85,-5 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor440: e1 + Owner: GDI + Location: 86,-10 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor431: e1 + Owner: GDI + Location: 85,-7 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor432: e2 + Owner: GDI + Location: 83,-8 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor433: e2 + Owner: GDI + Location: 83,-9 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor434: e1 + Owner: Nod + Location: 39,6 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor439: e1 + Owner: Nod + Location: 39,11 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor436: e1 + Owner: Nod + Location: 40,6 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor437: e3 + Owner: Nod + Location: 37,3 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + Actor438: e3 + Owner: Nod + Location: 37,4 + SubCell: 2 + Facing: 92 + TurretFacing: 92 + North: waypoint + Owner: Neutral + Location: 41,-33 + South: waypoint + Owner: Neutral + Location: 67,48 + GDIBase: waypoint + Owner: Neutral + Location: 80,-1 + NodBase: waypoint + Owner: Neutral + Location: 45,6 + +Rules: + Player: + -ConquestVictoryConditions: + + World: + -CrateSpawner: + -StartGameNotification: + -SpawnMPUnits: + -MPStartLocations: + LuaScript: + Scripts: fields-of-green.lua + ResourceType@Tiberium: + ValuePerUnit: 0 + MusicPlaylist: + BackgroundMusic: intro + GlobalLightingPaletteEffect: + Blue: 0.7 + Ambient: 0.7 + ScriptUpgradesCache: + Upgrades: unkillable + + HARV: + -Targetable: + + GALITE: + -Targetable: + + APC: + Cargo: + InitialUnits: e1, e1, e2, e2, medic + + GACTWR: + DamageMultiplier@UNKILLABLE: + UpgradeTypes: unkillable + Modifier: 0, 0 + + NAOBEL: + DamageMultiplier@UNKILLABLE: + UpgradeTypes: unkillable + Modifier: 0, 0 + + NALASR: + DamageMultiplier@UNKILLABLE: + UpgradeTypes: unkillable + Modifier: 0, 0