Add mission gdi05a
This commit is contained in:
@@ -31,6 +31,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts",
|
||||
mods\cnc\maps\gdi04a\gdi04a.lua = mods\cnc\maps\gdi04a\gdi04a.lua
|
||||
mods\cnc\maps\gdi04b\gdi04b.lua = mods\cnc\maps\gdi04b\gdi04b.lua
|
||||
mods\cnc\maps\gdi04c\gdi04c.lua = mods\cnc\maps\gdi04c\gdi04c.lua
|
||||
mods\cnc\maps\gdi05a\gdi05a.lua = mods\cnc\maps\gdi05a\gdi05a.lua
|
||||
mods\cnc\maps\nod01\nod01.lua = mods\cnc\maps\nod01\nod01.lua
|
||||
mods\cnc\maps\nod03a\nod03a.lua = mods\cnc\maps\nod03a\nod03a.lua
|
||||
mods\cnc\maps\nod03b\nod03b.lua = mods\cnc\maps\nod03b\nod03b.lua
|
||||
|
||||
BIN
artsrc/cnc/campaign/gdi05w.psd
Normal file
BIN
artsrc/cnc/campaign/gdi05w.psd
Normal file
Binary file not shown.
230
mods/cnc/maps/gdi05a/gdi05a.lua
Normal file
230
mods/cnc/maps/gdi05a/gdi05a.lua
Normal file
@@ -0,0 +1,230 @@
|
||||
RepairThreshold = { Easy = 0.3, Normal = 0.6, Hard = 0.9 }
|
||||
|
||||
ActorRemovals =
|
||||
{
|
||||
Easy = { Actor167, Actor168, Actor190, Actor191, Actor193, Actor194, Actor196, Actor198, Actor200 },
|
||||
Normal = { Actor167, Actor194, Actor196, Actor197 },
|
||||
Hard = { },
|
||||
}
|
||||
|
||||
GdiTanks = { "mtnk", "mtnk" }
|
||||
GdiApc = { "apc" }
|
||||
GdiInfantry = { "e1", "e1", "e1", "e1", "e1", "e2", "e2", "e2", "e2", "e2" }
|
||||
GdiBase = { GdiNuke1, GdiNuke2, GdiProc, GdiSilo1, GdiSilo2, GdiPyle, GdiWeap, GdiHarv }
|
||||
GdiBaseDiscoveryTrigger =
|
||||
{
|
||||
CPos.New(39, 54), CPos.New(48, 42), CPos.New(49, 42), CPos.New(50, 42), CPos.New(51, 42),
|
||||
CPos.New(52, 42), CPos.New(53, 42), CPos.New(54, 42), CPos.New(55, 42), CPos.New(56, 42)
|
||||
}
|
||||
NodSams = { Sam1, Sam2, Sam3, Sam4 }
|
||||
CoreNodBase = { NodConYard, NodRefinery, HandOfNod, Airfield }
|
||||
|
||||
Grd1UnitTypes = { "bggy" }
|
||||
Grd1Path = { waypoint4.Location, waypoint5.Location, waypoint10.Location }
|
||||
Grd1Delay = { Easy = DateTime.Minutes(2), Normal = DateTime.Minutes(1), Hard = DateTime.Seconds(30) }
|
||||
Grd2UnitTypes = { "bggy" }
|
||||
Grd2Path = { waypoint0.Location, waypoint1.Location, waypoint2.Location }
|
||||
Grd3Units = { GuardTank1, GuardTank2 }
|
||||
Grd3Path = { waypoint4.Location, waypoint5.Location, waypoint9.Location }
|
||||
|
||||
AttackDelayMin = { Easy = DateTime.Minutes(1), Normal = DateTime.Seconds(45), Hard = DateTime.Seconds(30) }
|
||||
AttackDelayMax = { Easy = DateTime.Minutes(2), Normal = DateTime.Seconds(90), Hard = DateTime.Minutes(1) }
|
||||
AttackUnitTypes =
|
||||
{
|
||||
Easy =
|
||||
{
|
||||
{ HandOfNod, { "e1", "e1" } },
|
||||
{ HandOfNod, { "e1", "e3" } },
|
||||
{ HandOfNod, { "e1", "e1", "e3" } },
|
||||
{ HandOfNod, { "e1", "e3", "e3" } },
|
||||
},
|
||||
Normal =
|
||||
{
|
||||
{ HandOfNod, { "e1", "e1", "e3" } },
|
||||
{ HandOfNod, { "e1", "e3", "e3" } },
|
||||
{ HandOfNod, { "e1", "e1", "e3", "e3" } },
|
||||
{ Airfield, { "bggy" } },
|
||||
},
|
||||
Hard =
|
||||
{
|
||||
{ HandOfNod, { "e1", "e1", "e3", "e3" } },
|
||||
{ HandOfNod, { "e1", "e1", "e1", "e3", "e3" } },
|
||||
{ HandOfNod, { "e1", "e1", "e3", "e3", "e3" } },
|
||||
{ Airfield, { "bggy" } },
|
||||
{ Airfield, { "ltnk" } },
|
||||
}
|
||||
}
|
||||
AttackPaths =
|
||||
{
|
||||
{ waypoint0.Location, waypoint1.Location, waypoint2.Location, waypoint3.Location },
|
||||
{ waypoint4.Location, waypoint9.Location, waypoint7.Location, waypoint8.Location },
|
||||
}
|
||||
|
||||
Build = function(factory, units, action)
|
||||
if factory.IsDead or factory.Owner ~= nod then
|
||||
return
|
||||
end
|
||||
|
||||
if not factory.Build(units, action) then
|
||||
Trigger.AfterDelay(DateTime.Seconds(5), function()
|
||||
Build(factory, units, action)
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
Attack = function()
|
||||
local types = Utils.Random(AttackUnitTypes[Map.Difficulty])
|
||||
local path = Utils.Random(AttackPaths)
|
||||
Build(types[1], types[2], function(units)
|
||||
Utils.Do(units, function(unit)
|
||||
unit.Patrol(path, false)
|
||||
Trigger.OnIdle(unit, unit.Hunt)
|
||||
end)
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(Utils.RandomInteger(AttackDelayMin[Map.Difficulty], AttackDelayMax[Map.Difficulty]), Attack)
|
||||
end
|
||||
|
||||
Grd1Action = function()
|
||||
Build(Airfield, Grd1UnitTypes, function(units)
|
||||
Utils.Do(units, function(unit)
|
||||
Trigger.OnKilled(unit, function()
|
||||
Trigger.AfterDelay(Grd1Delay[Map.Difficulty], Grd1Action)
|
||||
end)
|
||||
unit.Patrol(Grd1Path, true, DateTime.Seconds(7))
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
||||
Grd2Action = function()
|
||||
Build(Airfield, Grd2UnitTypes, function(units)
|
||||
Utils.Do(units, function(unit)
|
||||
unit.Patrol(Grd2Path, true, DateTime.Seconds(5))
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
||||
Grd3Action = function()
|
||||
local unit
|
||||
for i, u in ipairs(Grd3Units) do
|
||||
if not u.IsDead then
|
||||
unit = u
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if unit ~= nil then
|
||||
Trigger.OnKilled(unit, function()
|
||||
Grd3Action()
|
||||
end)
|
||||
|
||||
unit.Patrol(Grd3Path, true, DateTime.Seconds(11))
|
||||
end
|
||||
end
|
||||
|
||||
DiscoverGdiBase = function()
|
||||
Utils.Do(GdiBase, function(actor)
|
||||
actor.Owner = gdi
|
||||
end)
|
||||
GdiHarv.FindResources()
|
||||
|
||||
baseDiscovered = true
|
||||
|
||||
gdiObjective3 = gdi.AddPrimaryObjective("Eliminate all Nod forces in the area")
|
||||
gdi.MarkCompletedObjective(gdiObjective1)
|
||||
|
||||
Attack()
|
||||
end
|
||||
|
||||
SetupWorld = function()
|
||||
Utils.Do(ActorRemovals[Map.Difficulty], function(unit)
|
||||
unit.Destroy()
|
||||
end)
|
||||
|
||||
Reinforcements.Reinforce(gdi, GdiTanks, { GdiTankEntry.Location, GdiTankRallyPoint.Location }, DateTime.Seconds(1), function(actor) actor.Stance = "Defend" end)
|
||||
Reinforcements.Reinforce(gdi, GdiApc, { GdiApcEntry.Location, GdiApcRallyPoint.Location }, DateTime.Seconds(1), function(actor) actor.Stance = "Defend" end)
|
||||
Reinforcements.Reinforce(gdi, GdiInfantry, { GdiInfantryEntry.Location, GdiInfantryRallyPoint.Location }, 15, function(actor) actor.Stance = "Defend" end)
|
||||
|
||||
Trigger.OnEnteredFootprint(GdiBaseDiscoveryTrigger, function(actor, id)
|
||||
if actor.Owner == gdi then
|
||||
DiscoverGdiBase()
|
||||
Trigger.RemoveFootprintTrigger(id)
|
||||
end
|
||||
end)
|
||||
|
||||
Utils.Do(Map.NamedActors, function(actor)
|
||||
if actor.Owner == nod and actor.HasProperty("StartBuildingRepairs") then
|
||||
Trigger.OnDamaged(actor, function(building)
|
||||
if building.Owner == nod and building.Health < RepairThreshold[Map.Difficulty] * building.MaxHealth then
|
||||
building.StartBuildingRepairs()
|
||||
end
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
Trigger.OnAllKilled(NodSams, function()
|
||||
gdi.MarkCompletedObjective(gdiObjective2)
|
||||
Actor.Create("airstrike.proxy", true, { Owner = gdi })
|
||||
end)
|
||||
|
||||
GdiHarv.Stop()
|
||||
NodHarv.FindResources()
|
||||
if Map.Difficulty ~= "Easy" then
|
||||
Trigger.OnDamaged(NodHarv, function()
|
||||
Utils.Do(nod.GetGroundAttackers(), function(unit)
|
||||
unit.AttackMove(NodHarv.Location)
|
||||
if Map.Difficulty == "Hard" then
|
||||
unit.Hunt()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(45), Grd1Action)
|
||||
Trigger.AfterDelay(DateTime.Minutes(3), Grd2Action)
|
||||
Grd3Action()
|
||||
end
|
||||
|
||||
WorldLoaded = function()
|
||||
gdi = Player.GetPlayer("GDI")
|
||||
nod = Player.GetPlayer("Nod")
|
||||
|
||||
Trigger.OnObjectiveAdded(gdi, function(p, id)
|
||||
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
|
||||
end)
|
||||
Trigger.OnObjectiveCompleted(gdi, function(p, id)
|
||||
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed")
|
||||
end)
|
||||
Trigger.OnObjectiveFailed(gdi, function(p, id)
|
||||
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed")
|
||||
end)
|
||||
|
||||
Trigger.OnPlayerLost(gdi, function()
|
||||
Media.PlaySpeechNotification(player, "Lose")
|
||||
end)
|
||||
|
||||
Trigger.OnPlayerWon(gdi, function()
|
||||
Media.PlaySpeechNotification(player, "Win")
|
||||
end)
|
||||
|
||||
nodObjective = nod.AddPrimaryObjective("Destroy all GDI troops")
|
||||
gdiObjective1 = gdi.AddPrimaryObjective("Find the GDI base")
|
||||
gdiObjective2 = gdi.AddSecondaryObjective("Destroy all SAM sites to receive air support")
|
||||
|
||||
SetupWorld()
|
||||
|
||||
Camera.Position = GdiTankRallyPoint.CenterPosition
|
||||
|
||||
Media.PlayMusic()
|
||||
end
|
||||
|
||||
Tick = function()
|
||||
if gdi.HasNoRequiredUnits() then
|
||||
if DateTime.GameTime > 2 then
|
||||
nod.MarkCompletedObjective(nodObjective)
|
||||
end
|
||||
end
|
||||
if baseDiscovered and nod.HasNoRequiredUnits() then
|
||||
gdi.MarkCompletedObjective(gdiObjective3)
|
||||
end
|
||||
end
|
||||
BIN
mods/cnc/maps/gdi05a/map.bin
Normal file
BIN
mods/cnc/maps/gdi05a/map.bin
Normal file
Binary file not shown.
BIN
mods/cnc/maps/gdi05a/map.png
Normal file
BIN
mods/cnc/maps/gdi05a/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
939
mods/cnc/maps/gdi05a/map.yaml
Normal file
939
mods/cnc/maps/gdi05a/map.yaml
Normal file
@@ -0,0 +1,939 @@
|
||||
MapFormat: 7
|
||||
|
||||
RequiresMod: cnc
|
||||
|
||||
Title: Repair the GDI base
|
||||
|
||||
Description: A GDI field base is under attack. They have fended off one attack but will not survive another.\n\nMove to the base, repair the structures and then launch a strike force to destroy the Nod base in the area.\n\nDestroy all Nod units and structures.
|
||||
|
||||
Author: Westwood Studios
|
||||
|
||||
Tileset: TEMPERAT
|
||||
|
||||
MapSize: 64,64
|
||||
|
||||
Bounds: 8,21,49,39
|
||||
|
||||
Visibility: MissionSelector
|
||||
|
||||
Type: Campaign
|
||||
|
||||
Videos:
|
||||
BackgroundInfo: podium.vqa
|
||||
Briefing: gdi5.vqa
|
||||
GameStart: seige.vqa
|
||||
GameWon: nodlose.vqa
|
||||
GameLost: gdilose.vqa
|
||||
|
||||
Options:
|
||||
Crates: False
|
||||
Fog: True
|
||||
Shroud: True
|
||||
AllyBuildRadius: False
|
||||
FragileAlliances: False
|
||||
StartingCash: 2000
|
||||
ConfigurableStartingUnits: False
|
||||
Difficulties: Easy, Normal, Hard
|
||||
ShortGame: False
|
||||
|
||||
Players:
|
||||
PlayerReference@Nod:
|
||||
Name: Nod
|
||||
Race: nod
|
||||
ColorRamp: 3,255,127
|
||||
Allies: Nod
|
||||
Enemies: GDI
|
||||
PlayerReference@GDI:
|
||||
Name: GDI
|
||||
Playable: True
|
||||
AllowBots: False
|
||||
Required: True
|
||||
LockRace: True
|
||||
Race: gdi
|
||||
LockColor: True
|
||||
ColorRamp: 31,222,183
|
||||
LockSpawn: True
|
||||
LockTeam: True
|
||||
Allies: GDI
|
||||
Enemies: Nod
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
OwnsWorld: True
|
||||
NonCombatant: True
|
||||
Race: gdi
|
||||
PlayerReference@Creeps:
|
||||
Name: Creeps
|
||||
NonCombatant: True
|
||||
Race: Random
|
||||
Enemies: Nod, GDI
|
||||
|
||||
Actors:
|
||||
Actor0: sbag
|
||||
Location: 53,59
|
||||
Owner: Neutral
|
||||
Actor1: sbag
|
||||
Location: 52,59
|
||||
Owner: Neutral
|
||||
Actor2: sbag
|
||||
Location: 51,59
|
||||
Owner: Neutral
|
||||
Actor3: sbag
|
||||
Location: 50,59
|
||||
Owner: Neutral
|
||||
Actor4: sbag
|
||||
Location: 49,59
|
||||
Owner: Neutral
|
||||
Actor5: sbag
|
||||
Location: 45,59
|
||||
Owner: Neutral
|
||||
Actor6: sbag
|
||||
Location: 44,59
|
||||
Owner: Neutral
|
||||
Actor7: sbag
|
||||
Location: 43,59
|
||||
Owner: Neutral
|
||||
Actor8: sbag
|
||||
Location: 42,59
|
||||
Owner: Neutral
|
||||
Actor9: sbag
|
||||
Location: 41,59
|
||||
Owner: Neutral
|
||||
Actor10: sbag
|
||||
Location: 41,57
|
||||
Owner: Neutral
|
||||
Actor11: sbag
|
||||
Location: 41,56
|
||||
Owner: Neutral
|
||||
Actor12: sbag
|
||||
Location: 41,53
|
||||
Owner: Neutral
|
||||
Actor13: sbag
|
||||
Location: 41,52
|
||||
Owner: Neutral
|
||||
Actor14: sbag
|
||||
Location: 44,51
|
||||
Owner: Neutral
|
||||
Actor15: sbag
|
||||
Location: 43,51
|
||||
Owner: Neutral
|
||||
Actor16: sbag
|
||||
Location: 42,51
|
||||
Owner: Neutral
|
||||
Actor17: sbag
|
||||
Location: 41,51
|
||||
Owner: Neutral
|
||||
Actor18: sbag
|
||||
Location: 54,50
|
||||
Owner: Neutral
|
||||
Actor19: sbag
|
||||
Location: 53,50
|
||||
Owner: Neutral
|
||||
Actor20: sbag
|
||||
Location: 52,50
|
||||
Owner: Neutral
|
||||
Actor21: sbag
|
||||
Location: 46,50
|
||||
Owner: Neutral
|
||||
Actor22: sbag
|
||||
Location: 45,50
|
||||
Owner: Neutral
|
||||
Actor23: sbag
|
||||
Location: 44,50
|
||||
Owner: Neutral
|
||||
Actor24: sbag
|
||||
Location: 15,31
|
||||
Owner: Neutral
|
||||
Actor25: sbag
|
||||
Location: 14,31
|
||||
Owner: Neutral
|
||||
Actor26: sbag
|
||||
Location: 13,31
|
||||
Owner: Neutral
|
||||
Actor27: sbag
|
||||
Location: 12,31
|
||||
Owner: Neutral
|
||||
Actor28: sbag
|
||||
Location: 8,31
|
||||
Owner: Neutral
|
||||
Actor29: sbag
|
||||
Location: 15,30
|
||||
Owner: Neutral
|
||||
Actor30: sbag
|
||||
Location: 8,30
|
||||
Owner: Neutral
|
||||
Actor31: sbag
|
||||
Location: 25,29
|
||||
Owner: Neutral
|
||||
Actor32: sbag
|
||||
Location: 24,29
|
||||
Owner: Neutral
|
||||
Actor33: sbag
|
||||
Location: 23,29
|
||||
Owner: Neutral
|
||||
Actor34: sbag
|
||||
Location: 22,29
|
||||
Owner: Neutral
|
||||
Actor35: sbag
|
||||
Location: 21,29
|
||||
Owner: Neutral
|
||||
Actor36: sbag
|
||||
Location: 20,29
|
||||
Owner: Neutral
|
||||
Actor37: sbag
|
||||
Location: 19,29
|
||||
Owner: Neutral
|
||||
Actor38: sbag
|
||||
Location: 18,29
|
||||
Owner: Neutral
|
||||
Actor39: sbag
|
||||
Location: 17,29
|
||||
Owner: Neutral
|
||||
Actor40: sbag
|
||||
Location: 16,29
|
||||
Owner: Neutral
|
||||
Actor41: sbag
|
||||
Location: 15,29
|
||||
Owner: Neutral
|
||||
Actor42: sbag
|
||||
Location: 8,29
|
||||
Owner: Neutral
|
||||
Actor43: sbag
|
||||
Location: 25,28
|
||||
Owner: Neutral
|
||||
Actor44: sbag
|
||||
Location: 8,28
|
||||
Owner: Neutral
|
||||
Actor45: sbag
|
||||
Location: 25,27
|
||||
Owner: Neutral
|
||||
Actor46: sbag
|
||||
Location: 8,27
|
||||
Owner: Neutral
|
||||
Actor47: sbag
|
||||
Location: 8,26
|
||||
Owner: Neutral
|
||||
Actor48: sbag
|
||||
Location: 8,25
|
||||
Owner: Neutral
|
||||
Actor49: sbag
|
||||
Location: 25,24
|
||||
Owner: Neutral
|
||||
Actor50: sbag
|
||||
Location: 8,24
|
||||
Owner: Neutral
|
||||
Actor51: sbag
|
||||
Location: 25,23
|
||||
Owner: Neutral
|
||||
Actor52: sbag
|
||||
Location: 8,23
|
||||
Owner: Neutral
|
||||
Actor53: sbag
|
||||
Location: 25,22
|
||||
Owner: Neutral
|
||||
Actor54: sbag
|
||||
Location: 8,22
|
||||
Owner: Neutral
|
||||
Actor55: sbag
|
||||
Location: 25,21
|
||||
Owner: Neutral
|
||||
Actor56: sbag
|
||||
Location: 24,21
|
||||
Owner: Neutral
|
||||
Actor57: sbag
|
||||
Location: 23,21
|
||||
Owner: Neutral
|
||||
Actor58: sbag
|
||||
Location: 22,21
|
||||
Owner: Neutral
|
||||
Actor59: sbag
|
||||
Location: 21,21
|
||||
Owner: Neutral
|
||||
Actor60: sbag
|
||||
Location: 20,21
|
||||
Owner: Neutral
|
||||
Actor61: sbag
|
||||
Location: 19,21
|
||||
Owner: Neutral
|
||||
Actor62: sbag
|
||||
Location: 18,21
|
||||
Owner: Neutral
|
||||
Actor63: sbag
|
||||
Location: 17,21
|
||||
Owner: Neutral
|
||||
Actor64: sbag
|
||||
Location: 16,21
|
||||
Owner: Neutral
|
||||
Actor65: sbag
|
||||
Location: 15,21
|
||||
Owner: Neutral
|
||||
Actor66: sbag
|
||||
Location: 14,21
|
||||
Owner: Neutral
|
||||
Actor67: sbag
|
||||
Location: 13,21
|
||||
Owner: Neutral
|
||||
Actor68: sbag
|
||||
Location: 12,21
|
||||
Owner: Neutral
|
||||
Actor69: sbag
|
||||
Location: 11,21
|
||||
Owner: Neutral
|
||||
Actor70: sbag
|
||||
Location: 10,21
|
||||
Owner: Neutral
|
||||
Actor71: sbag
|
||||
Location: 9,21
|
||||
Owner: Neutral
|
||||
Actor72: sbag
|
||||
Location: 8,21
|
||||
Owner: Neutral
|
||||
Actor73: t01
|
||||
Location: 12,38
|
||||
Owner: Neutral
|
||||
Actor74: t01
|
||||
Location: 44,34
|
||||
Owner: Neutral
|
||||
Actor75: tc01
|
||||
Location: 43,36
|
||||
Owner: Neutral
|
||||
Actor76: tc01
|
||||
Location: 39,33
|
||||
Owner: Neutral
|
||||
Actor77: t05
|
||||
Location: 8,37
|
||||
Owner: Neutral
|
||||
Actor78: t03
|
||||
Location: 8,34
|
||||
Owner: Neutral
|
||||
Actor79: t03
|
||||
Location: 33,56
|
||||
Owner: Neutral
|
||||
Actor80: tc04
|
||||
Location: 13,46
|
||||
Owner: Neutral
|
||||
Actor81: tc02
|
||||
Location: 8,50
|
||||
Owner: Neutral
|
||||
Actor82: t02
|
||||
Location: 10,49
|
||||
Owner: Neutral
|
||||
Actor83: t01
|
||||
Location: 36,34
|
||||
Owner: Neutral
|
||||
Actor84: t01
|
||||
Location: 37,39
|
||||
Owner: Neutral
|
||||
Actor85: tc01
|
||||
Location: 27,21
|
||||
Owner: Neutral
|
||||
Actor86: tc02
|
||||
Location: 26,23
|
||||
Owner: Neutral
|
||||
Actor87: tc04
|
||||
Location: 23,29
|
||||
Owner: Neutral
|
||||
Actor88: tc02
|
||||
Location: 20,30
|
||||
Owner: Neutral
|
||||
Actor89: t07
|
||||
Location: 37,44
|
||||
Owner: Neutral
|
||||
Actor90: t12
|
||||
Location: 38,44
|
||||
Owner: Neutral
|
||||
Actor91: tc04
|
||||
Location: 35,43
|
||||
Owner: Neutral
|
||||
Actor92: tc02
|
||||
Location: 14,39
|
||||
Owner: Neutral
|
||||
Actor93: tc01
|
||||
Location: 10,46
|
||||
Owner: Neutral
|
||||
Actor94: tc04
|
||||
Location: 10,44
|
||||
Owner: Neutral
|
||||
Actor95: t01
|
||||
Location: 10,43
|
||||
Owner: Neutral
|
||||
Actor96: t01
|
||||
Location: 11,47
|
||||
Owner: Neutral
|
||||
Actor97: t05
|
||||
Location: 8,49
|
||||
Owner: Neutral
|
||||
Actor98: t06
|
||||
Location: 16,48
|
||||
Owner: Neutral
|
||||
Actor99: tc01
|
||||
Location: 13,49
|
||||
Owner: Neutral
|
||||
Actor100: tc01
|
||||
Location: 15,57
|
||||
Owner: Neutral
|
||||
Actor101: tc02
|
||||
Location: 9,54
|
||||
Owner: Neutral
|
||||
Actor102: tc05
|
||||
Location: 11,55
|
||||
Owner: Neutral
|
||||
Actor103: tc04
|
||||
Location: 9,57
|
||||
Owner: Neutral
|
||||
Actor104: tc04
|
||||
Location: 40,46
|
||||
Owner: Neutral
|
||||
Actor105: t01
|
||||
Location: 38,49
|
||||
Owner: Neutral
|
||||
Actor106: t01
|
||||
Location: 30,46
|
||||
Owner: Neutral
|
||||
Actor107: t01
|
||||
Location: 16,44
|
||||
Owner: Neutral
|
||||
Actor108: t02
|
||||
Location: 33,45
|
||||
Owner: Neutral
|
||||
Actor109: t02
|
||||
Location: 21,44
|
||||
Owner: Neutral
|
||||
Actor110: t05
|
||||
Location: 21,37
|
||||
Owner: Neutral
|
||||
Actor111: t06
|
||||
Location: 20,37
|
||||
Owner: Neutral
|
||||
Actor112: tc02
|
||||
Location: 30,44
|
||||
Owner: Neutral
|
||||
Actor113: tc01
|
||||
Location: 30,42
|
||||
Owner: Neutral
|
||||
Actor114: tc01
|
||||
Location: 21,39
|
||||
Owner: Neutral
|
||||
Actor115: tc04
|
||||
Location: 21,40
|
||||
Owner: Neutral
|
||||
Actor116: tc02
|
||||
Location: 24,40
|
||||
Owner: Neutral
|
||||
Actor117: t07
|
||||
Location: 25,41
|
||||
Owner: Neutral
|
||||
Actor118: t07
|
||||
Location: 50,38
|
||||
Owner: Neutral
|
||||
Actor119: t07
|
||||
Location: 44,35
|
||||
Owner: Neutral
|
||||
Actor120: t07
|
||||
Location: 42,36
|
||||
Owner: Neutral
|
||||
Actor121: t16
|
||||
Location: 45,43
|
||||
Owner: Neutral
|
||||
Actor122: tc02
|
||||
Location: 43,44
|
||||
Owner: Neutral
|
||||
Actor123: tc02
|
||||
Location: 48,39
|
||||
Owner: Neutral
|
||||
Actor124: tc04
|
||||
Location: 41,34
|
||||
Owner: Neutral
|
||||
Actor125: t17
|
||||
Location: 29,37
|
||||
Owner: Neutral
|
||||
Actor126: tc04
|
||||
Location: 35,38
|
||||
Owner: Neutral
|
||||
Actor127: tc01
|
||||
Location: 33,38
|
||||
Owner: Neutral
|
||||
Actor128: tc04
|
||||
Location: 9,35
|
||||
Owner: Neutral
|
||||
Actor129: t01
|
||||
Location: 22,55
|
||||
Owner: Neutral
|
||||
Actor130: t02
|
||||
Location: 32,56
|
||||
Owner: Neutral
|
||||
Actor131: t05
|
||||
Location: 29,50
|
||||
Owner: Neutral
|
||||
Actor132: t06
|
||||
Location: 36,47
|
||||
Owner: Neutral
|
||||
Actor133: tc01
|
||||
Location: 36,51
|
||||
Owner: Neutral
|
||||
Actor134: tc02
|
||||
Location: 27,58
|
||||
Owner: Neutral
|
||||
Actor135: tc02
|
||||
Location: 31,55
|
||||
Owner: Neutral
|
||||
Actor140: gun
|
||||
Location: 24,23
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
Actor141: gun
|
||||
Location: 24,28
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
Actor152: silo
|
||||
Location: 19,22
|
||||
Owner: Nod
|
||||
Actor153: silo
|
||||
Location: 17,22
|
||||
Owner: Nod
|
||||
Actor154: silo
|
||||
Location: 14,27
|
||||
Owner: Nod
|
||||
Actor155: silo
|
||||
Location: 12,28
|
||||
Owner: Nod
|
||||
Actor156: nuke
|
||||
Location: 11,22
|
||||
Owner: Nod
|
||||
Actor157: nuke
|
||||
Location: 9,22
|
||||
Owner: Nod
|
||||
Actor159: nuke
|
||||
Location: 13,22
|
||||
Owner: Nod
|
||||
Actor162: ltnk
|
||||
Location: 9,34
|
||||
Owner: Nod
|
||||
Facing: 192
|
||||
Actor164: ltnk
|
||||
Location: 29,37
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
Actor167: bggy
|
||||
Location: 19,27
|
||||
Owner: Nod
|
||||
Actor168: bggy
|
||||
Location: 19,28
|
||||
Owner: Nod
|
||||
Actor169: bggy
|
||||
Location: 44,34
|
||||
Owner: Nod
|
||||
Facing: 32
|
||||
Actor171: e3
|
||||
Location: 21,28
|
||||
Owner: Nod
|
||||
SubCell: 3
|
||||
Actor172: e3
|
||||
Location: 20,28
|
||||
Owner: Nod
|
||||
SubCell: 3
|
||||
Actor173: e3
|
||||
Location: 20,28
|
||||
Owner: Nod
|
||||
SubCell: 4
|
||||
Actor174: e1
|
||||
Location: 20,28
|
||||
Owner: Nod
|
||||
SubCell: 1
|
||||
Actor175: e1
|
||||
Location: 20,28
|
||||
Owner: Nod
|
||||
SubCell: 2
|
||||
Actor176: e1
|
||||
Location: 21,28
|
||||
Owner: Nod
|
||||
SubCell: 1
|
||||
Actor177: e1
|
||||
Location: 29,40
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
SubCell: 1
|
||||
Actor178: e3
|
||||
Location: 26,43
|
||||
Owner: Nod
|
||||
Facing: 64
|
||||
SubCell: 3
|
||||
Actor187: e1
|
||||
Location: 27,27
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
SubCell: 3
|
||||
Actor188: e3
|
||||
Location: 28,21
|
||||
Owner: Nod
|
||||
SubCell: 3
|
||||
Actor189: e3
|
||||
Location: 26,23
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
SubCell: 2
|
||||
Actor190: e3
|
||||
Location: 33,56
|
||||
Owner: Nod
|
||||
SubCell: 3
|
||||
Actor191: e3
|
||||
Location: 33,38
|
||||
Owner: Nod
|
||||
Facing: 160
|
||||
SubCell: 4
|
||||
Actor192: e3
|
||||
Location: 26,27
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
SubCell: 1
|
||||
Actor193: e3
|
||||
Location: 36,51
|
||||
Owner: Nod
|
||||
SubCell: 4
|
||||
Actor194: e3
|
||||
Location: 37,51
|
||||
Owner: Nod
|
||||
SubCell: 3
|
||||
Actor195: e3
|
||||
Location: 23,55
|
||||
Owner: Nod
|
||||
Facing: 224
|
||||
SubCell: 3
|
||||
Actor196: e3
|
||||
Location: 30,44
|
||||
Owner: Nod
|
||||
Facing: 192
|
||||
SubCell: 0
|
||||
Actor197: e3
|
||||
Location: 32,49
|
||||
Owner: Nod
|
||||
Facing: 160
|
||||
SubCell: 4
|
||||
Actor198: e3
|
||||
Location: 28,48
|
||||
Owner: Nod
|
||||
Facing: 160
|
||||
SubCell: 3
|
||||
Actor199: e1
|
||||
Location: 24,56
|
||||
Owner: Nod
|
||||
Facing: 224
|
||||
SubCell: 4
|
||||
Actor200: e1
|
||||
Location: 25,55
|
||||
Owner: Nod
|
||||
SubCell: 1
|
||||
Actor201: e1
|
||||
Location: 17,46
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
SubCell: 0
|
||||
Actor202: e1
|
||||
Location: 15,48
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
SubCell: 2
|
||||
Actor203: e1
|
||||
Location: 17,46
|
||||
Owner: Nod
|
||||
Facing: 96
|
||||
SubCell: 4
|
||||
waypoint27: waypoint
|
||||
Location: 32,41
|
||||
Owner: Neutral
|
||||
waypoint26: waypoint
|
||||
Location: 8,50
|
||||
Owner: Neutral
|
||||
waypoint19: waypoint
|
||||
Location: 17,28
|
||||
Owner: Neutral
|
||||
waypoint18: waypoint
|
||||
Location: 22,28
|
||||
Owner: Neutral
|
||||
waypoint10: waypoint
|
||||
Location: 10,34
|
||||
Owner: Neutral
|
||||
waypoint9: waypoint
|
||||
Location: 28,45
|
||||
Owner: Neutral
|
||||
waypoint8: waypoint
|
||||
Location: 37,54
|
||||
Owner: Neutral
|
||||
waypoint7: waypoint
|
||||
Location: 26,54
|
||||
Owner: Neutral
|
||||
waypoint6: waypoint
|
||||
Location: 37,31
|
||||
Owner: Neutral
|
||||
waypoint5: waypoint
|
||||
Location: 30,31
|
||||
Owner: Neutral
|
||||
waypoint4: waypoint
|
||||
Location: 31,25
|
||||
Owner: Neutral
|
||||
waypoint3: waypoint
|
||||
Location: 52,46
|
||||
Owner: Neutral
|
||||
waypoint2: waypoint
|
||||
Location: 53,31
|
||||
Owner: Neutral
|
||||
waypoint1: waypoint
|
||||
Location: 42,29
|
||||
Owner: Neutral
|
||||
waypoint0: waypoint
|
||||
Location: 36,28
|
||||
Owner: Neutral
|
||||
GdiProc: proc
|
||||
Location: 50,51
|
||||
Owner: Neutral
|
||||
Health: 0.3085938
|
||||
FreeActor: False
|
||||
GdiHarv: harv
|
||||
Location: 48,53
|
||||
Owner: Neutral
|
||||
Facing: 64
|
||||
GdiWeap: weap
|
||||
Location: 50,54
|
||||
Owner: Neutral
|
||||
Health: 0.2695313
|
||||
GdiNuke1: nuke
|
||||
Location: 53,55
|
||||
Owner: Neutral
|
||||
Health: 0.2890625
|
||||
GdiPyle: pyle
|
||||
Location: 46,55
|
||||
Owner: Neutral
|
||||
Health: 0.25
|
||||
GdiSilo1: silo
|
||||
Location: 53,51
|
||||
Owner: Neutral
|
||||
Health: 0.3320313
|
||||
GdiSilo2: silo
|
||||
Location: 53,53
|
||||
Owner: Neutral
|
||||
Health: 0.25
|
||||
GdiNuke2: nuke
|
||||
Location: 48,56
|
||||
Owner: Neutral
|
||||
Health: 0.2070313
|
||||
NodConYard: fact
|
||||
Location: 9,29
|
||||
Owner: Nod
|
||||
NodRefinery: proc
|
||||
Location: 21,22
|
||||
Owner: Nod
|
||||
FreeActor: False
|
||||
HandOfNod: hand
|
||||
Location: 15,22
|
||||
Owner: Nod
|
||||
Airfield: afld
|
||||
Location: 9,25
|
||||
Owner: Nod
|
||||
Sam1: sam
|
||||
Location: 21,39
|
||||
Owner: Nod
|
||||
Sam2: sam
|
||||
Location: 41,34
|
||||
Owner: Nod
|
||||
Sam3: sam
|
||||
Location: 24,31
|
||||
Owner: Nod
|
||||
Sam4: sam
|
||||
Location: 13,30
|
||||
Owner: Nod
|
||||
NodHarv: harv
|
||||
Location: 22,26
|
||||
Owner: Nod
|
||||
Facing: 64
|
||||
GuardTank1: ltnk
|
||||
Location: 18,27
|
||||
Owner: Nod
|
||||
GuardTank2: ltnk
|
||||
Location: 18,28
|
||||
Owner: Nod
|
||||
GdiTankEntry: waypoint
|
||||
Location: 8,59
|
||||
Owner: Neutral
|
||||
GdiApcEntry: waypoint
|
||||
Location: 11,59
|
||||
Owner: Neutral
|
||||
GdiInfantryEntry: waypoint
|
||||
Location: 8,53
|
||||
Owner: Neutral
|
||||
GdiTankRallyPoint: waypoint
|
||||
Location: 14,54
|
||||
Owner: Neutral
|
||||
GdiApcRallyPoint: waypoint
|
||||
Location: 15,56
|
||||
Owner: Neutral
|
||||
GdiInfantryRallyPoint: waypoint
|
||||
Location: 12,53
|
||||
Owner: Neutral
|
||||
MoneyCrate: MoneyCrate
|
||||
Location: 44,40
|
||||
Owner: Neutral
|
||||
|
||||
Smudges:
|
||||
sc4 41,55 0:
|
||||
cr1 41,54 0:
|
||||
cr1 13,52 0:
|
||||
sc5 48,51 0:
|
||||
cr1 11,51 0:
|
||||
sc2 53,50 0:
|
||||
sc3 51,50 0:
|
||||
sc4 45,50 0:
|
||||
sc6 49,48 0:
|
||||
|
||||
Rules:
|
||||
World:
|
||||
-SpawnMPUnits:
|
||||
-MPStartLocations:
|
||||
-CrateSpawner:
|
||||
LuaScript:
|
||||
Scripts: gdi05a.lua
|
||||
ObjectivesPanel:
|
||||
PanelName: MISSION_OBJECTIVES
|
||||
Player:
|
||||
-ConquestVictoryConditions:
|
||||
MissionObjectives:
|
||||
EarlyGameOver: true
|
||||
^Vehicle:
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
ShowOwnerRow: false
|
||||
^Tank:
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
ShowOwnerRow: false
|
||||
^Helicopter:
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
ShowOwnerRow: false
|
||||
^Infantry:
|
||||
SpawnViceroid:
|
||||
Probability: 0
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
ShowOwnerRow: false
|
||||
^Plane:
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
ShowOwnerRow: false
|
||||
^Ship:
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
ShowOwnerRow: false
|
||||
^Building:
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy
|
||||
ShowOwnerRow: false
|
||||
^Wall:
|
||||
Tooltip:
|
||||
ShowOwnerRow: false
|
||||
^Husk:
|
||||
Tooltip:
|
||||
GenericVisibility: Enemy, Ally, Neutral
|
||||
GenericStancePrefix: false
|
||||
ShowOwnerRow: false
|
||||
E2:
|
||||
Buildable:
|
||||
Prerequisites: ~pyle
|
||||
E3:
|
||||
Buildable:
|
||||
Queue: Infantry.Nod
|
||||
E5:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
RMBO:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
HARV:
|
||||
Harvester:
|
||||
SearchFromOrderRadius: 24
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
LTNK:
|
||||
Buildable:
|
||||
Prerequisites: ~afld
|
||||
MCV:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
MTNK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
HTNK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
MSAM:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
ARTY:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
STNK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
WEAP:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
NUK2:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
FIX:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
HPAD:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
EYE:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
GUN:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
ATWR:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
TMPL:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
OBLI:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
MoneyCrate:
|
||||
Inherits: ^Crate
|
||||
GiveCashCrateAction:
|
||||
Amount: 500
|
||||
UseCashTick: yes
|
||||
airstrike.proxy:
|
||||
AirstrikePower:
|
||||
Icon: airstrike
|
||||
StartFullyCharged: True
|
||||
ChargeTime: 120
|
||||
SquadSize: 1
|
||||
QuantizedFacings: 8
|
||||
Description: Air Strike
|
||||
LongDesc: Deploy an aerial napalm strike.\nBurns buildings and infantry along a line.
|
||||
EndChargeSound: airredy1.aud
|
||||
SelectTargetSound: select1.aud
|
||||
InsufficientPowerSound: nopower1.aud
|
||||
IncomingSound: enemya.aud
|
||||
UnitType: a10
|
||||
DisplayBeacon: True
|
||||
BeaconPoster: airstrike
|
||||
DisplayRadarPing: True
|
||||
CameraActor: camera
|
||||
|
||||
Sequences:
|
||||
|
||||
VoxelSequences:
|
||||
|
||||
Weapons:
|
||||
Tiberium:
|
||||
Warhead@1Dam: SpreadDamage
|
||||
Damage: 4
|
||||
|
||||
Voices:
|
||||
|
||||
Notifications:
|
||||
|
||||
Translations:
|
||||
@@ -5,6 +5,7 @@ GDI Campaign:
|
||||
./mods/cnc/maps/gdi04a
|
||||
./mods/cnc/maps/gdi04b
|
||||
./mods/cnc/maps/gdi04c
|
||||
./mods/cnc/maps/gdi05a
|
||||
|
||||
Nod Campaign:
|
||||
./mods/cnc/maps/nod01
|
||||
|
||||
Reference in New Issue
Block a user