Add gdi08a
This commit is contained in:
committed by
abcdefg30
parent
df3b6dde34
commit
dffa1e45f4
@@ -30,6 +30,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts",
|
|||||||
mods\cnc\maps\gdi05b\gdi05b.lua = mods\cnc\maps\gdi05b\gdi05b.lua
|
mods\cnc\maps\gdi05b\gdi05b.lua = mods\cnc\maps\gdi05b\gdi05b.lua
|
||||||
mods\cnc\maps\gdi06\gdi06.lua = mods\cnc\maps\gdi06\gdi06.lua
|
mods\cnc\maps\gdi06\gdi06.lua = mods\cnc\maps\gdi06\gdi06.lua
|
||||||
mods\cnc\maps\gdi07\gdi07.lua = mods\cnc\maps\gdi07\gdi07.lua
|
mods\cnc\maps\gdi07\gdi07.lua = mods\cnc\maps\gdi07\gdi07.lua
|
||||||
|
mods\cnc\maps\gdi08a\gdi08a-AI.lua = mods\cnc\maps\gdi08a\gdi08a-AI.lua
|
||||||
|
mods\cnc\maps\gdi08a\gdi08a.lua = mods\cnc\maps\gdi08a\gdi08a.lua
|
||||||
mods\cnc\maps\nod01\nod01.lua = mods\cnc\maps\nod01\nod01.lua
|
mods\cnc\maps\nod01\nod01.lua = mods\cnc\maps\nod01\nod01.lua
|
||||||
mods\cnc\maps\nod02a\nod02a.lua = mods\cnc\maps\nod02a\nod02a.lua
|
mods\cnc\maps\nod02a\nod02a.lua = mods\cnc\maps\nod02a\nod02a.lua
|
||||||
mods\cnc\maps\nod02b\nod02b.lua = mods\cnc\maps\nod02b\nod02b.lua
|
mods\cnc\maps\nod02b\nod02b.lua = mods\cnc\maps\nod02b\nod02b.lua
|
||||||
|
|||||||
194
mods/cnc/maps/gdi08a/gdi08a-AI.lua
Normal file
194
mods/cnc/maps/gdi08a/gdi08a-AI.lua
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
--[[
|
||||||
|
Copyright 2007-2020 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, either version 3 of
|
||||||
|
the License, or (at your option) any later version. For more
|
||||||
|
information, see COPYING.
|
||||||
|
]]
|
||||||
|
|
||||||
|
AttackPaths = { WaypointGroup3, WaypointGroup4, WaypointGroup5 }
|
||||||
|
NodBase = { handofnod, nodairfield, nodrefinery, NodYard, nodpower1, nodpower2, nodpower3, nodpower4, gun1, gun2, nodsilo1, nodsilo2, nodsilo3, nodsilo4}
|
||||||
|
|
||||||
|
PatrolProductionQueue = { }
|
||||||
|
|
||||||
|
InfantryAttackGroup = { }
|
||||||
|
InfantryGroupSize = 5
|
||||||
|
InfantryProductionCooldown = DateTime.Minutes(3)
|
||||||
|
InfantryProductionTypes = { "e1", "e1", "e1", "e3", "e3", "e4" }
|
||||||
|
HarvesterProductionType = { "harv" }
|
||||||
|
|
||||||
|
VehicleAttackGroup = { }
|
||||||
|
VehicleGroupSize = 5
|
||||||
|
VehicleProductionCooldown = DateTime.Minutes(3)
|
||||||
|
VehicleProductionTypes = { "bggy", "bggy", "bike", "ltnk", "ltnk" }
|
||||||
|
|
||||||
|
StartingCash = 14000
|
||||||
|
|
||||||
|
BaseRefinery = { type = "proc", pos = CPos.New(24, 16), cost = 1500 }
|
||||||
|
BaseGun1 = { type = "gun", pos = CPos.New( 21, 19), cost = 600 }
|
||||||
|
BaseGun2 = { type = "gun", pos = CPos.New( 26, 21), cost = 600 }
|
||||||
|
BaseNuke1 = { type = "nuke", pos = CPos.New( 23, 14), cost = 500 }
|
||||||
|
BaseNuke2 = { type = "nuke", pos = CPos.New( 10, 9), cost = 500 }
|
||||||
|
BaseNuke3 = { type = "nuke", pos = CPos.New( 6, 8), cost = 500 }
|
||||||
|
BaseNuke4 = { type = "nuke", pos = CPos.New( 8, 8), cost = 500 }
|
||||||
|
InfantryProduction = { type = "hand", pos = CPos.New(27, 17), cost = 500 }
|
||||||
|
VehicleProduction = { type = "afld", pos = CPos.New(27, 14), cost = 2000 }
|
||||||
|
|
||||||
|
NodGuards = { Actor154, Actor155, Actor218, Actor219 }
|
||||||
|
|
||||||
|
BaseBuildings = { BaseRefinery, BaseNuke1, BaseNuke2, BaseNuke3, BaseNuke4, InfantryProduction, VehicleProduction, BaseGun1, BaseGun2 }
|
||||||
|
|
||||||
|
BuildBuilding = function(building, cyard)
|
||||||
|
if CyardIsBuilding or Nod.Cash < building.cost then
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(10), function() BuildBuilding(building, cyard) end)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
CyardIsBuilding = true
|
||||||
|
|
||||||
|
Nod.Cash = Nod.Cash - building.cost
|
||||||
|
Trigger.AfterDelay(Actor.BuildTime(building.type), function()
|
||||||
|
CyardIsBuilding = false
|
||||||
|
|
||||||
|
if cyard.IsDead or cyard.Owner ~= Nod then
|
||||||
|
Nod.Cash = Nod.Cash + building.cost
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local actor = Actor.Create(building.type, true, { Owner = Nod, Location = building.pos })
|
||||||
|
|
||||||
|
if actor.Type == 'hand' or actor.Type == 'pyle' then
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(10), function() ProduceInfantry(actor) end)
|
||||||
|
elseif actor.Type == 'afld' or actor.Type == 'weap' then
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(10), function() ProduceVehicle(actor) end)
|
||||||
|
end
|
||||||
|
|
||||||
|
Trigger.OnKilled(actor, function()
|
||||||
|
BuildBuilding(building, cyard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
RepairBuilding(GDI, actor, 0.75)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
CheckForHarvester = function()
|
||||||
|
local harv = Nod.GetActorsByType("harv")
|
||||||
|
return #harv > 0
|
||||||
|
end
|
||||||
|
|
||||||
|
GuardBase = function()
|
||||||
|
Utils.Do(NodBase, function(building)
|
||||||
|
Trigger.OnDamaged(building, function()
|
||||||
|
Utils.Do(NodGuards, function(guard)
|
||||||
|
if not guard.IsDead and not building.IsDead then
|
||||||
|
guard.Stop()
|
||||||
|
guard.Guard(building)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
ProduceHarvester = function(building)
|
||||||
|
if not buildingHarvester then
|
||||||
|
buildingHarvester = true
|
||||||
|
building.Build(HarvesterProductionType, function()
|
||||||
|
buildingHarvester = false
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
ProduceInfantry = function(building)
|
||||||
|
if building.IsDead or building.Owner ~= Nod then
|
||||||
|
return
|
||||||
|
elseif not CheckForHarvester() then
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(10), function() ProduceInfantry(building) end)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local delay = Utils.RandomInteger(DateTime.Seconds(3), DateTime.Seconds(9))
|
||||||
|
local toBuild = { Utils.Random(InfantryProductionTypes) }
|
||||||
|
local Path = Utils.Random(AttackPaths)
|
||||||
|
building.Build(toBuild, function(unit)
|
||||||
|
InfantryAttackGroup[#InfantryAttackGroup + 1] = unit[1]
|
||||||
|
|
||||||
|
if #InfantryAttackGroup >= InfantryGroupSize then
|
||||||
|
MoveAndHunt(InfantryAttackGroup, Path)
|
||||||
|
InfantryAttackGroup = { }
|
||||||
|
Trigger.AfterDelay(InfantryProductionCooldown, function() ProduceInfantry(building) end)
|
||||||
|
else
|
||||||
|
Trigger.AfterDelay(delay, function() ProduceInfantry(building) end)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
ProduceVehicle = function(building)
|
||||||
|
if building.IsDead or building.Owner ~= Nod then
|
||||||
|
return
|
||||||
|
elseif not CheckForHarvester() then
|
||||||
|
ProduceHarvester(building)
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(10), function() ProduceVehicle(building) end)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local delay = Utils.RandomInteger(DateTime.Seconds(12), DateTime.Seconds(17))
|
||||||
|
local toBuild = { Utils.Random(VehicleProductionTypes) }
|
||||||
|
local Path = Utils.Random(AttackPaths)
|
||||||
|
building.Build(toBuild, function(unit)
|
||||||
|
VehicleAttackGroup[#VehicleAttackGroup + 1] = unit[1]
|
||||||
|
|
||||||
|
if #VehicleAttackGroup >= VehicleGroupSize then
|
||||||
|
MoveAndHunt(VehicleAttackGroup, Path)
|
||||||
|
VehicleAttackGroup = { }
|
||||||
|
Trigger.AfterDelay(VehicleProductionCooldown, function() ProduceVehicle(building) end)
|
||||||
|
else
|
||||||
|
Trigger.AfterDelay(delay, function() ProduceVehicle(building) end)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
StartAI = function()
|
||||||
|
Nod.Cash = StartingCash
|
||||||
|
GuardBase()
|
||||||
|
end
|
||||||
|
|
||||||
|
Trigger.OnAllKilledOrCaptured(NodBase, function()
|
||||||
|
Utils.Do(Nod.GetGroundAttackers(), IdleHunt)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(nodrefinery, function()
|
||||||
|
BuildBuilding(BaseRefinery, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(nodpower1, function()
|
||||||
|
BuildBuilding(BaseNuke1, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(nodpower2, function()
|
||||||
|
BuildBuilding(BaseNuke2, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(nodpower3, function()
|
||||||
|
BuildBuilding(BaseNuke3, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(nodpower4, function()
|
||||||
|
BuildBuilding(BaseNuke4, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(gun1, function()
|
||||||
|
BuildBuilding(BaseGun1, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(gun2, function()
|
||||||
|
BuildBuilding(BaseGun2, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(handofnod, function()
|
||||||
|
BuildBuilding(InfantryProduction, NodYard)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnKilled(nodairfield, function()
|
||||||
|
BuildBuilding(VehicleProduction, NodYard)
|
||||||
|
end)
|
||||||
152
mods/cnc/maps/gdi08a/gdi08a.lua
Normal file
152
mods/cnc/maps/gdi08a/gdi08a.lua
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
--[[
|
||||||
|
Copyright 2007-2020 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, either version 3 of
|
||||||
|
the License, or (at your option) any later version. For more
|
||||||
|
information, see COPYING.
|
||||||
|
]]
|
||||||
|
|
||||||
|
SamSites = { sam1, sam2, sam3 }
|
||||||
|
|
||||||
|
WaypointGroup1 = { waypoint4, waypoint5, waypoint6, waypoint7, waypoint10, waypoint11, waypoint12 }
|
||||||
|
WaypointGroup2 = { waypoint4, waypoint5, waypoint13, waypoint16 }
|
||||||
|
WaypointGroup3 = { waypoint4, waypoint5, waypoint6, waypoint8 }
|
||||||
|
WaypointGroup4 = { waypoint4, waypoint5, waypoint6, waypoint7, waypoint9 }
|
||||||
|
WaypointGroup5 = { waypoint4, waypoint5, waypoint6 }
|
||||||
|
WaypointGroup6 = { waypoint4, waypoint5, waypoint6, waypoint7, waypoint14, waypoint15 }
|
||||||
|
WaypointGroup7 = { waypoint4, waypoint5 }
|
||||||
|
WaypointGroupCiv = { waypoint0, waypoint1, waypoint2, waypoint3 }
|
||||||
|
|
||||||
|
Atk1 = { units = { ['ltnk'] = 1 }, waypoints = WaypointGroup1, delay = 0 }
|
||||||
|
Atk2 = { units = { ['ltnk'] = 1 }, waypoints = WaypointGroup2, delay = 0 }
|
||||||
|
Civ1 = { units = { ['c3'] = 1 }, waypoints = WaypointGroupCiv, delay = 0 }
|
||||||
|
Nod1 = { units = { ['e1'] = 2, ['e2'] = 2, ['e4'] = 2 }, waypoints = WaypointGroup3, delay = 90 }
|
||||||
|
Nod2 = { units = { ['e3'] = 2, ['e4'] = 2 }, waypoints = WaypointGroup3, delay = 130 }
|
||||||
|
Nod3 = { units = { ['e1'] = 2, ['e3'] = 3 }, waypoints = WaypointGroup3, delay = 50 }
|
||||||
|
Nod4 = { units = { ['bggy'] = 2 }, waypoints = WaypointGroup3, delay = 200 }
|
||||||
|
Nod5 = { units = { ['e4'] = 2, ['ltnk'] = 1 }, waypoints = WaypointGroup1, delay = 250 }
|
||||||
|
Nod6 = { units = { ['arty'] = 1 }, waypoints = WaypointGroup4, delay = 40 }
|
||||||
|
Nod7 = { units = { ['e3'] = 2, ['e4'] = 2 }, waypoints = WaypointGroup4, delay = 40 }
|
||||||
|
Nod8 = { units = { ['ltnk'] = 1, ['bggy'] = 1 }, waypoints = WaypointGroup3, delay = 170 }
|
||||||
|
Auto1 = { units = { ['e1'] = 2, ['e2'] = 2 }, waypoints = WaypointGroup5, delay = 50 }
|
||||||
|
Auto2 = { units = { ['e3'] = 3, ['e4'] = 2 }, waypoints = WaypointGroup3, delay = 50 }
|
||||||
|
Auto3 = { units = { ['ltnk'] = 1, ['bggy'] = 1 }, waypoints = WaypointGroup3, delay = 50 }
|
||||||
|
Auto4 = { units = { ['bggy'] = 2 }, waypoints = WaypointGroup7, delay = 50 }
|
||||||
|
Auto5 = { units = { ['ltnk'] = 1 }, waypoints = WaypointGroup6, delay = 50 }
|
||||||
|
Auto6 = { units = { ['arty'] = 1 }, waypoints = WaypointGroup4, delay = 50 }
|
||||||
|
Auto7 = { units = { ['e3'] = 3, ['e4'] = 2 }, waypoints = WaypointGroup6, delay = 50 }
|
||||||
|
|
||||||
|
AutoAttackWaves = { Atk1, Atk2, Nod1, Nod2, Nod3, Nod4, Nod5, Nod6, Nod7, Nod8, Auto1, Auto2, Auto3, Auto4, Auto5, Auto6, Auto7 }
|
||||||
|
|
||||||
|
StationaryGuardUnits = { Actor181, Actor182, Actor183, Actor184, Actor198, Actor199, Actor157, Actor175, Actor176, Actor173, Actor174, Actor158, Actor200, Actor159, Actor179, Actor180, Actor184, Actor185, Actor216, Actor217, Actor153, Actor215, Actor214, Actor213}
|
||||||
|
|
||||||
|
DamagedGDIAssets = { Actor126, Actor127, Actor128, Actor129, Actor130,Actor131, Actor132, Actor133, Actor134, Actor135, Actor136, Actor137, Actor138, Actor160, Actor161, Actor162, Actor163, Actor164, Actor165, Actor166, Actor168, Actor169, Actor170}
|
||||||
|
|
||||||
|
StartStationaryGuards = function(StationaryGuards)
|
||||||
|
Utils.Do(StationaryGuards, function(unit)
|
||||||
|
if not unit.IsDead then
|
||||||
|
unit.Patrol( { unit.Location } , true, 20)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
SendWaves = function(counter, Waves)
|
||||||
|
if counter <= #Waves then
|
||||||
|
local team = Waves[counter]
|
||||||
|
|
||||||
|
for type, amount in pairs(team.units) do
|
||||||
|
MoveAndHunt(Utils.Take(amount, Nod.GetActorsByType(type)), team.waypoints)
|
||||||
|
end
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(team.delay), function() SendWaves(counter + 1, Waves) end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
SendAttackWave = function(team)
|
||||||
|
for type, amount in pairs(team.units) do
|
||||||
|
count = 0
|
||||||
|
local actors = Nod.GetActorsByType(type)
|
||||||
|
Utils.Do(actors, function(actor)
|
||||||
|
if actor.IsIdle and count < amount then
|
||||||
|
SetAttackWaypoints(actor, team.waypoints)
|
||||||
|
IdleHunt(actor)
|
||||||
|
count = count + 1
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
SetAttackWaypoints = function(actor, waypoints)
|
||||||
|
if not actor.IsDead then
|
||||||
|
Utils.Do(waypoints, function(waypoint)
|
||||||
|
actor.AttackMove(waypoint.Location)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
CeckRepairGDIAssetsObjective = function()
|
||||||
|
local failed = false
|
||||||
|
local repaired = true
|
||||||
|
Utils.Do(DamagedGDIAssets, function(actor)
|
||||||
|
if actor.IsDead then
|
||||||
|
failed = true
|
||||||
|
elseif actor.Health < actor.MaxHealth then
|
||||||
|
repaired = false
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
if failed then
|
||||||
|
GDI.MarkFailedObjective(RepairAssets)
|
||||||
|
return
|
||||||
|
elseif repaired then
|
||||||
|
GDI.MarkCompletedObjective(RepairAssets)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(3), function() CeckRepairGDIAssetsObjective() end)
|
||||||
|
end
|
||||||
|
|
||||||
|
WorldLoaded = function()
|
||||||
|
GDI = Player.GetPlayer("GDI")
|
||||||
|
Nod = Player.GetPlayer("Nod")
|
||||||
|
|
||||||
|
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||||
|
|
||||||
|
StartStationaryGuards(StationaryGuardUnits)
|
||||||
|
|
||||||
|
StartAI()
|
||||||
|
|
||||||
|
InitObjectives(GDI)
|
||||||
|
|
||||||
|
SecureArea = GDI.AddObjective("Destroy the Nod strike force.")
|
||||||
|
KillGDI = Nod.AddObjective("Kill all enemies!")
|
||||||
|
|
||||||
|
RepairAssets = GDI.AddObjective("Repair GDI base and vehicles.", "Secondary", false)
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(5), function() CeckRepairGDIAssetsObjective() end)
|
||||||
|
|
||||||
|
AirSupport = GDI.AddObjective("Destroy the SAM sites to receive air support.", "Secondary", false)
|
||||||
|
Trigger.OnAllKilled(SamSites, function()
|
||||||
|
GDI.MarkCompletedObjective(AirSupport)
|
||||||
|
Actor.Create("airstrike.proxy", true, { Owner = GDI })
|
||||||
|
end)
|
||||||
|
|
||||||
|
local InitialArrivingUnits = { Actor166 }
|
||||||
|
Utils.Do(InitialArrivingUnits, function(unit)
|
||||||
|
unit.Move(unit.Location + CVec.New(1, 1), 0)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), function() SendWaves(1, AutoAttackWaves) end)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(2), function() ProduceInfantry(handofnod) end)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(2), function() ProduceVehicle(nodairfield) end)
|
||||||
|
end
|
||||||
|
|
||||||
|
Tick = function()
|
||||||
|
if DateTime.GameTime > DateTime.Seconds(5) then
|
||||||
|
if GDI.HasNoRequiredUnits() then
|
||||||
|
Nod.MarkCompletedObjective(KillGDI)
|
||||||
|
end
|
||||||
|
if Nod.HasNoRequiredUnits() then
|
||||||
|
GDI.MarkCompletedObjective(SecureArea)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
BIN
mods/cnc/maps/gdi08a/map.bin
Normal file
BIN
mods/cnc/maps/gdi08a/map.bin
Normal file
Binary file not shown.
BIN
mods/cnc/maps/gdi08a/map.png
Normal file
BIN
mods/cnc/maps/gdi08a/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
886
mods/cnc/maps/gdi08a/map.yaml
Normal file
886
mods/cnc/maps/gdi08a/map.yaml
Normal file
@@ -0,0 +1,886 @@
|
|||||||
|
MapFormat: 11
|
||||||
|
|
||||||
|
RequiresMod: cnc
|
||||||
|
|
||||||
|
Title: 08a: Restore GDI Presence Near Salzburg
|
||||||
|
|
||||||
|
Author: Westwood Studios
|
||||||
|
|
||||||
|
Tileset: WINTER
|
||||||
|
|
||||||
|
MapSize: 64,64
|
||||||
|
|
||||||
|
Bounds: 3,7,51,50
|
||||||
|
|
||||||
|
Visibility: MissionSelector
|
||||||
|
|
||||||
|
Categories: Campaign
|
||||||
|
|
||||||
|
LockPreview: True
|
||||||
|
|
||||||
|
Players:
|
||||||
|
PlayerReference@Neutral:
|
||||||
|
Name: Neutral
|
||||||
|
OwnsWorld: True
|
||||||
|
NonCombatant: True
|
||||||
|
Faction: gdi
|
||||||
|
PlayerReference@Nod:
|
||||||
|
Name: Nod
|
||||||
|
Faction: nod
|
||||||
|
Color: FF1400
|
||||||
|
Allies: Nod
|
||||||
|
Enemies: GDI
|
||||||
|
Bot: campaign
|
||||||
|
PlayerReference@GDI:
|
||||||
|
Name: GDI
|
||||||
|
AllowBots: False
|
||||||
|
Playable: True
|
||||||
|
Required: True
|
||||||
|
LockFaction: True
|
||||||
|
Faction: gdi
|
||||||
|
LockColor: True
|
||||||
|
Color: F5D378
|
||||||
|
LockSpawn: True
|
||||||
|
LockTeam: True
|
||||||
|
Allies: GDI
|
||||||
|
Enemies: Nod
|
||||||
|
|
||||||
|
Actors:
|
||||||
|
Actor0: sbag
|
||||||
|
Location: 53,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor1: sbag
|
||||||
|
Location: 52,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor2: sbag
|
||||||
|
Location: 51,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor3: sbag
|
||||||
|
Location: 50,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor4: sbag
|
||||||
|
Location: 49,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor5: sbag
|
||||||
|
Location: 48,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor6: sbag
|
||||||
|
Location: 47,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor7: sbag
|
||||||
|
Location: 46,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor8: sbag
|
||||||
|
Location: 45,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor9: sbag
|
||||||
|
Location: 44,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor10: sbag
|
||||||
|
Location: 43,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor11: sbag
|
||||||
|
Location: 41,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor12: sbag
|
||||||
|
Location: 40,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor13: wood
|
||||||
|
Location: 5,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor14: wood
|
||||||
|
Location: 4,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor15: wood
|
||||||
|
Location: 3,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor16: sbag
|
||||||
|
Location: 53,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor17: sbag
|
||||||
|
Location: 40,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor18: v18
|
||||||
|
Location: 5,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor19: v17
|
||||||
|
Location: 4,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor20: sbag
|
||||||
|
Location: 53,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor21: sbag
|
||||||
|
Location: 40,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor22: wood
|
||||||
|
Location: 17,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor23: wood
|
||||||
|
Location: 16,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor24: wood
|
||||||
|
Location: 15,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor25: wood
|
||||||
|
Location: 14,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor26: wood
|
||||||
|
Location: 11,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor27: wood
|
||||||
|
Location: 10,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor28: v14
|
||||||
|
Location: 6,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor29: v15
|
||||||
|
Location: 5,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor30: v16
|
||||||
|
Location: 4,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor31: sbag
|
||||||
|
Location: 53,53
|
||||||
|
Owner: Neutral
|
||||||
|
Actor32: wood
|
||||||
|
Location: 6,53
|
||||||
|
Owner: Neutral
|
||||||
|
Actor33: wood
|
||||||
|
Location: 17,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor34: wood
|
||||||
|
Location: 16,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor35: wood
|
||||||
|
Location: 15,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor36: wood
|
||||||
|
Location: 14,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor37: wood
|
||||||
|
Location: 11,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor38: wood
|
||||||
|
Location: 10,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor39: sbag
|
||||||
|
Location: 53,51
|
||||||
|
Owner: Neutral
|
||||||
|
Actor40: sbag
|
||||||
|
Location: 53,50
|
||||||
|
Owner: Neutral
|
||||||
|
Actor41: sbag
|
||||||
|
Location: 40,50
|
||||||
|
Owner: Neutral
|
||||||
|
Actor42: sbag
|
||||||
|
Location: 53,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor43: sbag
|
||||||
|
Location: 40,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor44: sbag
|
||||||
|
Location: 53,48
|
||||||
|
Owner: Neutral
|
||||||
|
Actor45: sbag
|
||||||
|
Location: 53,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor46: sbag
|
||||||
|
Location: 40,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor47: sbag
|
||||||
|
Location: 53,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor48: sbag
|
||||||
|
Location: 52,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor49: sbag
|
||||||
|
Location: 51,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor50: sbag
|
||||||
|
Location: 50,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor51: sbag
|
||||||
|
Location: 49,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor52: sbag
|
||||||
|
Location: 48,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor53: sbag
|
||||||
|
Location: 42,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor54: sbag
|
||||||
|
Location: 41,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor55: sbag
|
||||||
|
Location: 40,46
|
||||||
|
Owner: Neutral
|
||||||
|
Actor56: t01
|
||||||
|
Location: 33,32
|
||||||
|
Owner: Neutral
|
||||||
|
Actor57: t01
|
||||||
|
Location: 33,34
|
||||||
|
Owner: Neutral
|
||||||
|
Actor58: tc01
|
||||||
|
Location: 47,27
|
||||||
|
Owner: Neutral
|
||||||
|
Actor59: t01
|
||||||
|
Location: 42,18
|
||||||
|
Owner: Neutral
|
||||||
|
Actor60: t01
|
||||||
|
Location: 41,16
|
||||||
|
Owner: Neutral
|
||||||
|
Actor61: t01
|
||||||
|
Location: 36,18
|
||||||
|
Owner: Neutral
|
||||||
|
Actor62: t01
|
||||||
|
Location: 15,50
|
||||||
|
Owner: Neutral
|
||||||
|
Actor63: t01
|
||||||
|
Location: 6,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor64: t01
|
||||||
|
Location: 11,48
|
||||||
|
Owner: Neutral
|
||||||
|
Actor65: tc01
|
||||||
|
Location: 14,33
|
||||||
|
Owner: Neutral
|
||||||
|
Actor66: tc04
|
||||||
|
Location: 17,35
|
||||||
|
Owner: Neutral
|
||||||
|
Actor67: tc01
|
||||||
|
Location: 9,19
|
||||||
|
Owner: Neutral
|
||||||
|
Actor68: tc04
|
||||||
|
Location: 11,20
|
||||||
|
Owner: Neutral
|
||||||
|
Actor69: t06
|
||||||
|
Location: 37,8
|
||||||
|
Owner: Neutral
|
||||||
|
Actor70: t03
|
||||||
|
Location: 33,8
|
||||||
|
Owner: Neutral
|
||||||
|
Actor71: t02
|
||||||
|
Location: 36,9
|
||||||
|
Owner: Neutral
|
||||||
|
Actor72: t01
|
||||||
|
Location: 32,7
|
||||||
|
Owner: Neutral
|
||||||
|
Actor73: tc04
|
||||||
|
Location: 50,9
|
||||||
|
Owner: Neutral
|
||||||
|
Actor74: tc01
|
||||||
|
Location: 45,7
|
||||||
|
Owner: Neutral
|
||||||
|
Actor75: tc01
|
||||||
|
Location: 38,13
|
||||||
|
Owner: Neutral
|
||||||
|
Actor76: tc02
|
||||||
|
Location: 35,22
|
||||||
|
Owner: Neutral
|
||||||
|
Actor77: tc05
|
||||||
|
Location: 32,21
|
||||||
|
Owner: Neutral
|
||||||
|
Actor78: t10
|
||||||
|
Location: 17,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor79: t13
|
||||||
|
Location: 16,50
|
||||||
|
Owner: Neutral
|
||||||
|
Actor80: tc01
|
||||||
|
Location: 15,48
|
||||||
|
Owner: Neutral
|
||||||
|
Actor81: tc02
|
||||||
|
Location: 6,51
|
||||||
|
Owner: Neutral
|
||||||
|
Actor82: tc02
|
||||||
|
Location: 3,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor83: tc04
|
||||||
|
Location: 3,51
|
||||||
|
Owner: Neutral
|
||||||
|
Actor84: tc04
|
||||||
|
Location: 5,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor85: tc04
|
||||||
|
Location: 9,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor86: tc04
|
||||||
|
Location: 3,40
|
||||||
|
Owner: Neutral
|
||||||
|
Actor87: t13
|
||||||
|
Location: 4,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor88: t11
|
||||||
|
Location: 10,12
|
||||||
|
Owner: Neutral
|
||||||
|
Actor89: t15
|
||||||
|
Location: 4,10
|
||||||
|
Owner: Neutral
|
||||||
|
Actor90: t16
|
||||||
|
Location: 3,9
|
||||||
|
Owner: Neutral
|
||||||
|
Actor91: tc02
|
||||||
|
Location: 5,12
|
||||||
|
Owner: Neutral
|
||||||
|
Actor92: tc01
|
||||||
|
Location: 4,7
|
||||||
|
Owner: Neutral
|
||||||
|
Actor93: tc04
|
||||||
|
Location: 20,11
|
||||||
|
Owner: Neutral
|
||||||
|
Actor94: tc04
|
||||||
|
Location: 19,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor95: tc05
|
||||||
|
Location: 20,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor96: tc04
|
||||||
|
Location: 40,17
|
||||||
|
Owner: Neutral
|
||||||
|
Actor97: tc01
|
||||||
|
Location: 44,36
|
||||||
|
Owner: Neutral
|
||||||
|
Actor98: tc04
|
||||||
|
Location: 39,37
|
||||||
|
Owner: Neutral
|
||||||
|
Actor99: tc02
|
||||||
|
Location: 40,30
|
||||||
|
Owner: Neutral
|
||||||
|
Actor100: tc02
|
||||||
|
Location: 30,32
|
||||||
|
Owner: Neutral
|
||||||
|
Actor101: t10
|
||||||
|
Location: 32,33
|
||||||
|
Owner: Neutral
|
||||||
|
Actor102: tc04
|
||||||
|
Location: 37,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor103: tc02
|
||||||
|
Location: 34,53
|
||||||
|
Owner: Neutral
|
||||||
|
Actor104: t01
|
||||||
|
Location: 31,53
|
||||||
|
Owner: Neutral
|
||||||
|
Actor105: t01
|
||||||
|
Location: 16,54
|
||||||
|
Owner: Neutral
|
||||||
|
Actor106: t02
|
||||||
|
Location: 18,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor107: t11
|
||||||
|
Location: 25,32
|
||||||
|
Owner: Neutral
|
||||||
|
Actor108: t11
|
||||||
|
Location: 41,44
|
||||||
|
Owner: Neutral
|
||||||
|
Actor109: tc01
|
||||||
|
Location: 51,44
|
||||||
|
Owner: Neutral
|
||||||
|
Actor110: tc04
|
||||||
|
Location: 27,40
|
||||||
|
Owner: Neutral
|
||||||
|
Actor111: tc05
|
||||||
|
Location: 30,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor112: t07
|
||||||
|
Location: 31,39
|
||||||
|
Owner: Neutral
|
||||||
|
Actor113: t06
|
||||||
|
Location: 26,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor114: t03
|
||||||
|
Location: 28,43
|
||||||
|
Owner: Neutral
|
||||||
|
sam1: sam
|
||||||
|
Location: 11,20
|
||||||
|
Owner: Nod
|
||||||
|
sam2: sam
|
||||||
|
Location: 33,18
|
||||||
|
Owner: Nod
|
||||||
|
sam3: sam
|
||||||
|
Location: 16,7
|
||||||
|
Owner: Nod
|
||||||
|
Actor118: v05
|
||||||
|
Location: 17,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor119: v07
|
||||||
|
Location: 9,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor120: v06
|
||||||
|
Location: 4,53
|
||||||
|
Owner: Neutral
|
||||||
|
Actor121: v05
|
||||||
|
Location: 6,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor122: v04
|
||||||
|
Location: 4,50
|
||||||
|
Owner: Neutral
|
||||||
|
Actor123: v03
|
||||||
|
Location: 10,50
|
||||||
|
Owner: Neutral
|
||||||
|
Actor124: v01
|
||||||
|
Location: 3,48
|
||||||
|
Owner: Neutral
|
||||||
|
Actor125: v06
|
||||||
|
Location: 20,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor126: gtwr
|
||||||
|
Location: 41,54
|
||||||
|
Owner: GDI
|
||||||
|
Health: 41
|
||||||
|
Actor127: gtwr
|
||||||
|
Location: 41,50
|
||||||
|
Owner: GDI
|
||||||
|
Health: 16
|
||||||
|
Actor128: hq
|
||||||
|
Location: 51,47
|
||||||
|
Owner: GDI
|
||||||
|
Health: 39
|
||||||
|
Actor129: proc
|
||||||
|
Location: 44,46
|
||||||
|
Owner: GDI
|
||||||
|
Health: 33
|
||||||
|
FreeActor: False
|
||||||
|
Actor130: silo
|
||||||
|
Location: 49,54
|
||||||
|
Owner: GDI
|
||||||
|
Health: 53
|
||||||
|
Actor131: silo
|
||||||
|
Location: 47,47
|
||||||
|
Owner: GDI
|
||||||
|
Health: 20
|
||||||
|
Actor132: silo
|
||||||
|
Location: 47,53
|
||||||
|
Owner: GDI
|
||||||
|
Health: 13
|
||||||
|
Actor133: silo
|
||||||
|
Location: 51,54
|
||||||
|
Owner: GDI
|
||||||
|
Health: 28
|
||||||
|
Actor134: nuke
|
||||||
|
Location: 49,51
|
||||||
|
Owner: GDI
|
||||||
|
Health: 14
|
||||||
|
Actor135: nuke
|
||||||
|
Location: 49,48
|
||||||
|
Owner: GDI
|
||||||
|
Health: 20
|
||||||
|
Actor136: nuke
|
||||||
|
Location: 51,50
|
||||||
|
Owner: GDI
|
||||||
|
Health: 35
|
||||||
|
Actor137: pyle
|
||||||
|
Location: 47,49
|
||||||
|
Owner: GDI
|
||||||
|
Health: 18
|
||||||
|
Actor138: fix
|
||||||
|
Location: 44,52
|
||||||
|
Owner: GDI
|
||||||
|
Health: 28
|
||||||
|
gun1: gun
|
||||||
|
Location: 21,19
|
||||||
|
Owner: Nod
|
||||||
|
NodYard: fact
|
||||||
|
Location: 7,11
|
||||||
|
Owner: Nod
|
||||||
|
nodrefinery: proc
|
||||||
|
Location: 24,16
|
||||||
|
Owner: Nod
|
||||||
|
FreeActor: False
|
||||||
|
nodsilo1: silo
|
||||||
|
Location: 29,17
|
||||||
|
Owner: Nod
|
||||||
|
nodsilo2: silo
|
||||||
|
Location: 9,7
|
||||||
|
Owner: Nod
|
||||||
|
nodsilo3: silo
|
||||||
|
Location: 12,9
|
||||||
|
Owner: Nod
|
||||||
|
nodsilo4: silo
|
||||||
|
Location: 11,7
|
||||||
|
Owner: Nod
|
||||||
|
nodairfield: afld
|
||||||
|
Location: 27,14
|
||||||
|
Owner: Nod
|
||||||
|
nodpower1: nuke
|
||||||
|
Location: 23,14
|
||||||
|
Owner: Nod
|
||||||
|
nodpower2: nuke
|
||||||
|
Location: 10,9
|
||||||
|
Owner: Nod
|
||||||
|
nodpower3: nuke
|
||||||
|
Location: 6,8
|
||||||
|
Owner: Nod
|
||||||
|
nodpower4: nuke
|
||||||
|
Location: 8,8
|
||||||
|
Owner: Nod
|
||||||
|
handofnod: hand
|
||||||
|
Location: 27,17
|
||||||
|
Owner: Nod
|
||||||
|
gun2: gun
|
||||||
|
Location: 26,21
|
||||||
|
Owner: Nod
|
||||||
|
Actor153: arty
|
||||||
|
Location: 4,12
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 127
|
||||||
|
Actor154: bggy
|
||||||
|
Location: 20,18
|
||||||
|
Owner: Nod
|
||||||
|
Actor155: ltnk
|
||||||
|
Location: 19,18
|
||||||
|
Owner: Nod
|
||||||
|
Actor156: bggy
|
||||||
|
Location: 10,21
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 95
|
||||||
|
Actor157: ltnk
|
||||||
|
Location: 40,35
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
Actor158: ltnk
|
||||||
|
Location: 45,23
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 95
|
||||||
|
Actor159: ltnk
|
||||||
|
Location: 41,14
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
Actor160: mtnk
|
||||||
|
Location: 42,55
|
||||||
|
Owner: GDI
|
||||||
|
Health: 35
|
||||||
|
Facing: 223
|
||||||
|
Actor161: mtnk
|
||||||
|
Location: 33,52
|
||||||
|
Owner: GDI
|
||||||
|
Health: 43
|
||||||
|
Facing: 31
|
||||||
|
Actor162: apc
|
||||||
|
Location: 37,50
|
||||||
|
Owner: GDI
|
||||||
|
Health: 68
|
||||||
|
Facing: 127
|
||||||
|
Actor163: apc
|
||||||
|
Location: 39,48
|
||||||
|
Owner: GDI
|
||||||
|
Health: 45
|
||||||
|
Facing: 127
|
||||||
|
Actor164: msam
|
||||||
|
Location: 42,49
|
||||||
|
Owner: GDI
|
||||||
|
Health: 40
|
||||||
|
Facing: 95
|
||||||
|
Actor165: msam
|
||||||
|
Location: 41,51
|
||||||
|
Owner: GDI
|
||||||
|
Health: 50
|
||||||
|
Facing: 159
|
||||||
|
Actor166: msam
|
||||||
|
Location: 33,48
|
||||||
|
Owner: GDI
|
||||||
|
Health: 65
|
||||||
|
Facing: 159
|
||||||
|
Actor167: harv
|
||||||
|
Location: 23,23
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 95
|
||||||
|
Actor168: harv
|
||||||
|
Location: 38,53
|
||||||
|
Owner: GDI
|
||||||
|
Health: 51
|
||||||
|
Facing: 31
|
||||||
|
Actor169: jeep
|
||||||
|
Location: 36,52
|
||||||
|
Owner: GDI
|
||||||
|
Health: 72
|
||||||
|
Facing: 95
|
||||||
|
Actor170: jeep
|
||||||
|
Location: 34,51
|
||||||
|
Owner: GDI
|
||||||
|
Health: 31
|
||||||
|
Facing: 159
|
||||||
|
Actor171: arty
|
||||||
|
Location: 19,17
|
||||||
|
Owner: Nod
|
||||||
|
Actor172: ltnk
|
||||||
|
Location: 22,11
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
Actor173: e1
|
||||||
|
Location: 45,36
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor174: e1
|
||||||
|
Location: 44,36
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 4
|
||||||
|
Actor175: e3
|
||||||
|
Location: 41,36
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 2
|
||||||
|
Actor176: e3
|
||||||
|
Location: 41,36
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 3
|
||||||
|
Actor177: e3
|
||||||
|
Location: 42,17
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 0
|
||||||
|
Actor178: e3
|
||||||
|
Location: 40,17
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 4
|
||||||
|
Actor179: e4
|
||||||
|
Location: 42,15
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 2
|
||||||
|
Actor180: e4
|
||||||
|
Location: 42,15
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 3
|
||||||
|
Actor181: e1
|
||||||
|
Location: 16,53
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 191
|
||||||
|
SubCell: 3
|
||||||
|
Actor182: e1
|
||||||
|
Location: 15,53
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 191
|
||||||
|
SubCell: 2
|
||||||
|
Actor183: e1
|
||||||
|
Location: 17,53
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 191
|
||||||
|
SubCell: 3
|
||||||
|
Actor184: e1
|
||||||
|
Location: 16,53
|
||||||
|
Owner: Nod
|
||||||
|
Facing: 191
|
||||||
|
SubCell: 2
|
||||||
|
Actor185: c3
|
||||||
|
Location: 18,50
|
||||||
|
Owner: Neutral
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 1
|
||||||
|
Actor186: e1
|
||||||
|
Location: 46,51
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 1
|
||||||
|
Actor187: e1
|
||||||
|
Location: 44,52
|
||||||
|
Owner: GDI
|
||||||
|
Health: 87
|
||||||
|
Facing: 223
|
||||||
|
SubCell: 2
|
||||||
|
Actor188: e1
|
||||||
|
Location: 43,53
|
||||||
|
Owner: GDI
|
||||||
|
Health: 31
|
||||||
|
Facing: 31
|
||||||
|
SubCell: 4
|
||||||
|
Actor189: e1
|
||||||
|
Location: 42,54
|
||||||
|
Owner: GDI
|
||||||
|
Health: 75
|
||||||
|
SubCell: 2
|
||||||
|
Actor190: e1
|
||||||
|
Location: 39,52
|
||||||
|
Owner: GDI
|
||||||
|
Health: 77
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 4
|
||||||
|
Actor191: e1
|
||||||
|
Location: 42,53
|
||||||
|
Owner: GDI
|
||||||
|
Health: 69
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 0
|
||||||
|
Actor192: e2
|
||||||
|
Location: 40,53
|
||||||
|
Owner: GDI
|
||||||
|
Health: 75
|
||||||
|
Facing: 31
|
||||||
|
SubCell: 2
|
||||||
|
Actor193: e2
|
||||||
|
Location: 45,51
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 127
|
||||||
|
SubCell: 1
|
||||||
|
Actor194: e2
|
||||||
|
Location: 38,50
|
||||||
|
Owner: GDI
|
||||||
|
Health: 27
|
||||||
|
Facing: 223
|
||||||
|
SubCell: 0
|
||||||
|
Actor195: e2
|
||||||
|
Location: 46,52
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 31
|
||||||
|
SubCell: 1
|
||||||
|
Actor196: e2
|
||||||
|
Location: 36,53
|
||||||
|
Owner: GDI
|
||||||
|
Health: 57
|
||||||
|
Facing: 159
|
||||||
|
SubCell: 0
|
||||||
|
Actor197: e2
|
||||||
|
Location: 37,54
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 31
|
||||||
|
SubCell: 1
|
||||||
|
Actor198: e3
|
||||||
|
Location: 27,40
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 4
|
||||||
|
Actor199: e3
|
||||||
|
Location: 29,40
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor200: e3
|
||||||
|
Location: 48,27
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor201: e1
|
||||||
|
Location: 27,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor202: e1
|
||||||
|
Location: 27,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 4
|
||||||
|
Actor203: e1
|
||||||
|
Location: 27,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 2
|
||||||
|
Actor204: e1
|
||||||
|
Location: 27,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 1
|
||||||
|
Actor205: e3
|
||||||
|
Location: 28,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 4
|
||||||
|
Actor206: e3
|
||||||
|
Location: 28,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 2
|
||||||
|
Actor207: e3
|
||||||
|
Location: 29,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 1
|
||||||
|
Actor208: e3
|
||||||
|
Location: 29,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor209: e4
|
||||||
|
Location: 30,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 1
|
||||||
|
Actor210: e4
|
||||||
|
Location: 30,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor211: e4
|
||||||
|
Location: 30,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 2
|
||||||
|
Actor212: e4
|
||||||
|
Location: 30,21
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 4
|
||||||
|
Actor213: e1
|
||||||
|
Location: 13,12
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor214: e1
|
||||||
|
Location: 14,12
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 1
|
||||||
|
Actor215: e1
|
||||||
|
Location: 15,11
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 0
|
||||||
|
Actor216: e3
|
||||||
|
Location: 5,7
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor217: e3
|
||||||
|
Location: 7,7
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 3
|
||||||
|
Actor218: e3
|
||||||
|
Location: 19,15
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 1
|
||||||
|
Actor219: e3
|
||||||
|
Location: 20,16
|
||||||
|
Owner: Nod
|
||||||
|
SubCell: 1
|
||||||
|
DefaultChinookTarget: waypoint
|
||||||
|
Location: 41,56
|
||||||
|
Owner: Neutral
|
||||||
|
DefaultCameraPosition: waypoint
|
||||||
|
Location: 41,49
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint16: waypoint
|
||||||
|
Location: 10,22
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint15: waypoint
|
||||||
|
Location: 53,45
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint14: waypoint
|
||||||
|
Location: 53,40
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint13: waypoint
|
||||||
|
Location: 13,26
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint12: waypoint
|
||||||
|
Location: 52,25
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint11: waypoint
|
||||||
|
Location: 36,27
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint10: waypoint
|
||||||
|
Location: 38,32
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint9: waypoint
|
||||||
|
Location: 47,43
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint8: waypoint
|
||||||
|
Location: 24,55
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint7: waypoint
|
||||||
|
Location: 43,40
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint6: waypoint
|
||||||
|
Location: 24,38
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint5: waypoint
|
||||||
|
Location: 20,29
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint4: waypoint
|
||||||
|
Location: 23,24
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint3: waypoint
|
||||||
|
Location: 5,43
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint2: waypoint
|
||||||
|
Location: 8,47
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint1: waypoint
|
||||||
|
Location: 8,53
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint0: waypoint
|
||||||
|
Location: 19,53
|
||||||
|
Owner: Neutral
|
||||||
|
|
||||||
|
Rules: cnc|rules/campaign-maprules.yaml, cnc|rules/campaign-tooltips.yaml, cnc|rules/campaign-palettes.yaml, rules.yaml
|
||||||
154
mods/cnc/maps/gdi08a/rules.yaml
Normal file
154
mods/cnc/maps/gdi08a/rules.yaml
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
World:
|
||||||
|
LuaScript:
|
||||||
|
Scripts: campaign-global.lua, gdi08a.lua, gdi08a-AI.lua
|
||||||
|
MusicPlaylist:
|
||||||
|
StartingMusic: march
|
||||||
|
VictoryMusic: gdi_win1
|
||||||
|
MissionData:
|
||||||
|
Briefing: U.N. Sanction has cut funding to the Global Defense Initiative. Field Units are helpless.\n\nUse the repair facility to keep your units in the field long enough to destroy the Nod base in this region.\n\nAll Nod units and structures must be destroyed.
|
||||||
|
BriefingVideo: gdi8a.vqa
|
||||||
|
BackgroundVideo: tbrinfo1.vqa
|
||||||
|
WinVideo: paratrop.vqa
|
||||||
|
LossVideo: gameover.vqa
|
||||||
|
SmudgeLayer@SCORCH:
|
||||||
|
InitialSmudges:
|
||||||
|
42,56: sc1,0
|
||||||
|
41,52: sc6,0
|
||||||
|
38,51: sc2,0
|
||||||
|
43,50: sc3,0
|
||||||
|
40,48: sc4,0
|
||||||
|
47,46: sc5,0
|
||||||
|
|
||||||
|
ATWR:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
NUK2:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
HPAD:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
BRIK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
EYE:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
OBLI:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
TMPL:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
HTNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
TRAN:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
ORCA:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
RMBO:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MSAM:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MCV:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
BOAT:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
FTNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
STNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
HELI:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
LTNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~afld
|
||||||
|
|
||||||
|
ARTY:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
E4:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: barracks
|
||||||
|
|
||||||
|
E5:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MLRS:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
CYCL:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
GTWR:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
SBAG:
|
||||||
|
Buildable:
|
||||||
|
Queue: Defence.GDI, Defence.Nod
|
||||||
|
|
||||||
|
GUN:
|
||||||
|
Buildable:
|
||||||
|
Queue: Defence.GDI, Defence.Nod
|
||||||
|
|
||||||
|
C3:
|
||||||
|
Tooltip:
|
||||||
|
Name: Farmer Mike
|
||||||
|
|
||||||
|
SAM:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
^Bridge:
|
||||||
|
DamageMultiplier@INVULNERABLE:
|
||||||
|
Modifier: 0
|
||||||
|
|
||||||
|
BRIDGEHUT:
|
||||||
|
-Targetable:
|
||||||
|
|
||||||
|
airstrike.proxy:
|
||||||
|
AirstrikePower:
|
||||||
|
SquadSize: 2
|
||||||
|
SquadOffset: -1536, 1024, 0
|
||||||
|
|
||||||
|
HQ:
|
||||||
|
Tooltip:
|
||||||
|
-AirstrikePower:
|
||||||
|
Buildable:
|
||||||
|
Description: Provides an overview of the battlefield.\n Requires power to operate.
|
||||||
|
|
||||||
|
AFLD:
|
||||||
|
RallyPoint:
|
||||||
|
Offset: -5, 2
|
||||||
@@ -9,6 +9,7 @@ GDI Campaign:
|
|||||||
gdi05b
|
gdi05b
|
||||||
gdi06
|
gdi06
|
||||||
gdi07
|
gdi07
|
||||||
|
gdi08a
|
||||||
|
|
||||||
Nod Campaign:
|
Nod Campaign:
|
||||||
nod01
|
nod01
|
||||||
|
|||||||
Reference in New Issue
Block a user