Add GDI 05c

Well, 05eb really, but until we implement campaign progression,
calling it 'c' is the easiest way to differentiate it without breaking
our mission title length/alignment conventions.
This commit is contained in:
reaperrr
2021-04-18 05:09:59 +02:00
committed by Oliver Brakmann
parent 06ea7bf923
commit c860bf19ee
6 changed files with 1100 additions and 0 deletions

View File

@@ -0,0 +1,158 @@
--[[
Copyright 2007-2021 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.
]]
Difficulty = Map.LobbyOption("difficulty")
RepairThreshold = { easy = 0.3, normal = 0.6, hard = 0.9 }
ActorRemovals =
{
easy = { Actor197, Actor198, Actor199, Actor162, Actor178, Actor181, Actor171, Actor163 },
normal = { Actor197, Actor162 },
hard = { },
}
AllToHuntTrigger = { Silo1, Proc1, Silo2, Radar1, Afld1, Hand1, Nuke1, Nuke2, Nuke3, Fact1 }
AtkRoute1 = { waypoint0, waypoint1, waypoint2, waypoint3, waypoint4 }
AtkRoute2 = { waypoint0, waypoint8, waypoint4 }
AtkRoute3 = { waypoint0, waypoint1, waypoint2, waypoint5, waypoint6, waypoint7 }
AtkRoute4 = { waypoint0, waypoint8, waypoint9, waypoint10, waypoint11 }
AutoCreateTeams =
{
{ types = { e1 = 2, e3 = 2 }, route = AtkRoute1 },
{ types = { e1 = 1, e3 = 2 }, route = AtkRoute2 },
{ types = { ltnk = 1 } , route = AtkRoute2 },
{ types = { bggy = 1 } , route = AtkRoute2 },
{ types = { bggy = 1 } , route = AtkRoute1 },
{ types = { ltnk = 1 } , route = AtkRoute3 },
{ types = { bggy = 1 } , route = AtkRoute4 }
}
Atk1Delay = { easy = DateTime.Seconds(60), normal = DateTime.Seconds(50), hard = DateTime.Seconds(40) }
Atk2Delay = { easy = DateTime.Seconds(90), normal = DateTime.Seconds(70), hard = DateTime.Seconds(50) }
Atk3Delay = { easy = DateTime.Seconds(120), normal = DateTime.Seconds(90), hard = DateTime.Seconds(70) }
Atk4Delay = { easy = DateTime.Seconds(150), normal = DateTime.Seconds(110), hard = DateTime.Seconds(90) }
AutoAtkStartDelay = { easy = DateTime.Seconds(150), normal = DateTime.Seconds(120), hard = DateTime.Seconds(90) }
AutoAtkMinDelay = { easy = DateTime.Minutes(1), normal = DateTime.Seconds(45), hard = DateTime.Seconds(30) }
AutoAtkMaxDelay = { easy = DateTime.Minutes(2), normal = DateTime.Seconds(90), hard = DateTime.Minutes(1) }
GDIBase = { GdiNuke1, GdiProc1, GdiWeap1, GdiNuke2, GdiNuke3, GdiPyle1, GdiSilo1, GdiRadar1 }
GDIUnits = { "e2", "e2", "e2", "e2", "e1", "e1", "e1", "e1", "mtnk", "mtnk", "jeep", "apc", "apc" }
GDIHarvester = { "harv" }
NodSams = { Sam1, Sam2, Sam3 }
AutoCreateTeam = function()
local team = Utils.Random(AutoCreateTeams)
for type, count in pairs(team.types) do
MoveAndHunt(Utils.Take(count, Nod.GetActorsByType(type)), team.route)
end
Trigger.AfterDelay(Utils.RandomInteger(AutoAtkMinDelay[Difficulty], AutoAtkMaxDelay[Difficulty]), AutoCreateTeam)
end
DiscoverGDIBase = function(actor, discoverer)
if BaseDiscovered or not discoverer == GDI then
return
end
--Spawn harv only when base is discovered, otherwise it will waste tiberium and might get killed before the player arrives
if not GdiProc1.IsDead then
Reinforcements.Reinforce(GDI, GDIHarvester, { GdiProc1.Location + CVec.New(0, 2), GdiProc1.Location + CVec.New(-1, 3) }, 1)
end
Utils.Do(GDIBase, function(actor)
actor.Owner = GDI
end)
BaseDiscovered = true
EliminateNod = GDI.AddObjective("Eliminate all Nod forces in the area.")
GDI.MarkCompletedObjective(FindBase)
end
Atk1TriggerFunction = function()
MoveAndHunt(Utils.Take(2, Nod.GetActorsByType('e1')), AtkRoute1)
MoveAndHunt(Utils.Take(2, Nod.GetActorsByType('e3')), AtkRoute1)
end
Atk2TriggerFunction = function()
MoveAndHunt(Utils.Take(4, Nod.GetActorsByType('e3')), AtkRoute2)
end
Atk3TriggerFunction = function()
MoveAndHunt(Utils.Take(1, Nod.GetActorsByType('bggy')), AtkRoute2)
end
Atk4TriggerFunction = function()
MoveAndHunt(Utils.Take(2, Nod.GetActorsByType('e1')), AtkRoute1)
MoveAndHunt(Utils.Take(1, Nod.GetActorsByType('ltnk')), AtkRoute1)
end
InsertGDIUnits = function()
Media.PlaySpeechNotification(GDI, "Reinforce")
Reinforcements.Reinforce(GDI, GDIUnits, { UnitsEntry.Location, UnitsRally.Location }, 15)
end
WorldLoaded = function()
GDI = Player.GetPlayer("GDI")
AbandonedBase = Player.GetPlayer("AbandonedBase")
Nod = Player.GetPlayer("Nod")
InitObjectives(GDI)
RepairNamedActors(Nod, RepairThreshold[Difficulty])
FindBase = GDI.AddObjective("Find the GDI base.")
DestroySAMs = GDI.AddObjective("Destroy all SAM sites to receive air support.", "Secondary", false)
NodObjective = Nod.AddObjective("Destroy all GDI troops.")
Utils.Do(ActorRemovals[Difficulty], function(unit)
unit.Destroy()
end)
Trigger.AfterDelay(Atk1Delay[Difficulty], Atk1TriggerFunction)
Trigger.AfterDelay(Atk2Delay[Difficulty], Atk2TriggerFunction)
Trigger.AfterDelay(Atk3Delay[Difficulty], Atk3TriggerFunction)
Trigger.AfterDelay(Atk4Delay[Difficulty], Atk4TriggerFunction)
Trigger.AfterDelay(AutoAtkStartDelay[Difficulty], AutoCreateTeam)
Trigger.OnAllKilledOrCaptured(AllToHuntTrigger, function()
Utils.Do(Nod.GetGroundAttackers(), IdleHunt)
end)
Trigger.AfterDelay(DateTime.Seconds(40), function()
local delay = function() return DateTime.Seconds(30) end
local toBuild = function() return { "e1" } end
ProduceUnits(Nod, Hand1, delay, toBuild)
end)
Trigger.OnPlayerDiscovered(AbandonedBase, DiscoverGDIBase)
Trigger.OnAllKilled(NodSams, function()
GDI.MarkCompletedObjective(DestroySAMs)
Actor.Create("airstrike.proxy", true, { Owner = GDI })
end)
Camera.Position = UnitsRally.CenterPosition
InsertGDIUnits()
end
Tick = function()
if DateTime.GameTime > 2 and GDI.HasNoRequiredUnits() then
Nod.MarkCompletedObjective(NodObjective)
end
if BaseDiscovered and Nod.HasNoRequiredUnits() then
GDI.MarkCompletedObjective(EliminateNod)
end
end

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -0,0 +1,768 @@
MapFormat: 11
RequiresMod: cnc
Title: 05c: Repair the GDI base
Author: Westwood Studios
Tileset: TEMPERAT
MapSize: 64,64
Bounds: 9,1,54,45
Visibility: MissionSelector
Categories: Campaign
LockPreview: True
Players:
PlayerReference@Nod:
Name: Nod
Faction: nod
Color: FE1100
Enemies: GDI, AbandonedBase
Bot: campaign
PlayerReference@GDI:
Name: GDI
Playable: True
AllowBots: False
Required: True
LockFaction: True
Faction: gdi
LockColor: True
Color: F5D378
LockSpawn: True
LockTeam: True
Enemies: Nod
PlayerReference@Neutral:
Name: Neutral
OwnsWorld: True
NonCombatant: True
Faction: gdi
Color: F5D378
PlayerReference@AbandonedBase:
Name: AbandonedBase
NonCombatant: True
Faction: gdi
Color: F5D378
Enemies: Nod
Bot: campaign
Actors:
Actor0: sbag
Location: 62,34
Owner: Nod
Actor1: sbag
Location: 61,34
Owner: Nod
Actor2: sbag
Location: 60,34
Owner: Nod
Actor3: sbag
Location: 59,34
Owner: Nod
Actor4: sbag
Location: 58,34
Owner: Nod
Actor5: sbag
Location: 57,34
Owner: Nod
Actor6: sbag
Location: 56,34
Owner: Nod
Actor7: sbag
Location: 55,34
Owner: Nod
Actor8: sbag
Location: 54,34
Owner: Nod
Actor9: sbag
Location: 53,34
Owner: Nod
Actor10: sbag
Location: 52,34
Owner: Nod
Actor11: sbag
Location: 51,34
Owner: Nod
Actor12: sbag
Location: 50,34
Owner: Nod
Actor13: sbag
Location: 49,34
Owner: Nod
Actor14: sbag
Location: 62,33
Owner: Nod
Actor15: sbag
Location: 49,33
Owner: Nod
Actor16: sbag
Location: 62,32
Owner: Nod
Actor17: sbag
Location: 49,32
Owner: Nod
Actor18: sbag
Location: 62,31
Owner: Nod
Actor19: sbag
Location: 49,31
Owner: Nod
Actor20: sbag
Location: 62,30
Owner: Nod
Actor21: sbag
Location: 50,30
Owner: Nod
Actor22: sbag
Location: 49,30
Owner: Nod
Actor23: sbag
Location: 62,29
Owner: Nod
Actor24: sbag
Location: 50,29
Owner: Nod
Actor25: sbag
Location: 49,29
Owner: Nod
Actor26: sbag
Location: 62,28
Owner: Nod
Actor27: sbag
Location: 62,27
Owner: Nod
Actor28: sbag
Location: 62,26
Owner: Nod
Actor29: sbag
Location: 62,25
Owner: Nod
Actor30: sbag
Location: 50,25
Owner: Nod
Actor31: sbag
Location: 49,25
Owner: Nod
Actor32: sbag
Location: 62,24
Owner: Nod
Actor33: sbag
Location: 50,24
Owner: Nod
Actor34: sbag
Location: 49,24
Owner: Nod
Actor35: sbag
Location: 62,23
Owner: Nod
Actor36: sbag
Location: 49,23
Owner: Nod
Actor37: sbag
Location: 62,22
Owner: Nod
Actor38: sbag
Location: 49,22
Owner: Nod
Actor39: sbag
Location: 62,21
Owner: Nod
Actor40: sbag
Location: 49,21
Owner: Nod
Actor41: sbag
Location: 62,20
Owner: Nod
Actor42: sbag
Location: 49,20
Owner: Nod
Actor43: sbag
Location: 62,19
Owner: Nod
Actor44: sbag
Location: 61,19
Owner: Nod
Actor45: sbag
Location: 60,19
Owner: Nod
Actor46: sbag
Location: 59,19
Owner: Nod
Actor47: sbag
Location: 58,19
Owner: Nod
Actor48: sbag
Location: 57,19
Owner: Nod
Actor49: sbag
Location: 56,19
Owner: Nod
Actor50: sbag
Location: 55,19
Owner: Nod
Actor51: sbag
Location: 54,19
Owner: Nod
Actor52: sbag
Location: 53,19
Owner: Nod
Actor53: sbag
Location: 52,19
Owner: Nod
Actor54: sbag
Location: 51,19
Owner: Nod
Actor55: sbag
Location: 50,19
Owner: Nod
Actor56: sbag
Location: 49,19
Owner: Nod
Actor57: sbag
Location: 37,10
Owner: GDI
Actor58: sbag
Location: 36,10
Owner: GDI
Actor59: sbag
Location: 35,10
Owner: GDI
Actor60: sbag
Location: 34,10
Owner: GDI
Actor61: sbag
Location: 33,10
Owner: GDI
Actor62: sbag
Location: 32,10
Owner: GDI
Actor63: sbag
Location: 31,10
Owner: GDI
Actor64: sbag
Location: 30,10
Owner: GDI
Actor65: sbag
Location: 29,10
Owner: GDI
Actor66: sbag
Location: 28,10
Owner: GDI
Actor67: sbag
Location: 27,10
Owner: GDI
Actor68: sbag
Location: 23,10
Owner: GDI
Actor69: sbag
Location: 22,10
Owner: GDI
Actor70: sbag
Location: 37,9
Owner: GDI
Actor71: sbag
Location: 28,9
Owner: GDI
Actor72: sbag
Location: 27,9
Owner: GDI
Actor73: sbag
Location: 23,9
Owner: GDI
Actor74: sbag
Location: 22,9
Owner: GDI
Actor75: sbag
Location: 21,9
Owner: GDI
Actor76: sbag
Location: 37,8
Owner: GDI
Actor77: sbag
Location: 21,8
Owner: GDI
Actor78: sbag
Location: 20,8
Owner: GDI
Actor79: sbag
Location: 19,8
Owner: GDI
Actor80: sbag
Location: 37,7
Owner: GDI
Actor81: sbag
Location: 36,7
Owner: GDI
Actor82: sbag
Location: 19,7
Owner: GDI
Actor83: sbag
Location: 37,6
Owner: GDI
Actor84: sbag
Location: 36,6
Owner: GDI
Actor85: sbag
Location: 19,6
Owner: GDI
Actor86: sbag
Location: 19,5
Owner: GDI
Actor87: sbag
Location: 37,4
Owner: GDI
Actor88: sbag
Location: 36,4
Owner: GDI
Actor89: sbag
Location: 24,4
Owner: GDI
Actor90: sbag
Location: 23,4
Owner: GDI
Actor91: sbag
Location: 22,4
Owner: GDI
Actor92: sbag
Location: 21,4
Owner: GDI
Actor93: sbag
Location: 20,4
Owner: GDI
Actor94: sbag
Location: 19,4
Owner: GDI
Actor95: sbag
Location: 37,3
Owner: GDI
Actor96: sbag
Location: 36,3
Owner: GDI
Actor97: sbag
Location: 27,3
Owner: GDI
Actor98: sbag
Location: 26,3
Owner: GDI
Actor99: sbag
Location: 25,3
Owner: GDI
Actor100: sbag
Location: 24,3
Owner: GDI
Actor101: sbag
Location: 37,2
Owner: GDI
Actor102: sbag
Location: 27,2
Owner: GDI
Actor103: sbag
Location: 37,1
Owner: GDI
Actor104: sbag
Location: 36,1
Owner: GDI
Actor105: sbag
Location: 35,1
Owner: GDI
Actor106: sbag
Location: 34,1
Owner: GDI
Actor107: sbag
Location: 31,1
Owner: GDI
Actor108: sbag
Location: 30,1
Owner: GDI
Actor109: sbag
Location: 27,1
Owner: GDI
Actor110: t01
Location: 12,26
Owner: Neutral
Actor111: t01
Location: 12,5
Owner: Neutral
Actor112: tc01
Location: 49,17
Owner: Neutral
Actor113: t11
Location: 35,24
Owner: Neutral
Actor114: tc04
Location: 18,32
Owner: Neutral
Actor115: tc01
Location: 20,29
Owner: Neutral
Actor116: tc04
Location: 12,6
Owner: Neutral
Actor117: tc04
Location: 15,16
Owner: Neutral
Actor118: tc03
Location: 20,18
Owner: Neutral
Actor119: tc02
Location: 15,22
Owner: Neutral
Actor120: tc01
Location: 19,36
Owner: Neutral
Actor121: tc04
Location: 21,37
Owner: Neutral
Actor122: tc05
Location: 28,35
Owner: Neutral
Actor123: tc01
Location: 25,44
Owner: Neutral
Actor124: tc01
Location: 51,38
Owner: Neutral
Actor125: tc04
Location: 43,33
Owner: Neutral
Actor126: tc05
Location: 60,35
Owner: Neutral
Actor127: tc04
Location: 49,34
Owner: Neutral
Actor128: tc05
Location: 58,40
Owner: Neutral
Actor129: tc03
Location: 57,44
Owner: Neutral
Actor130: t11
Location: 19,28
Owner: Neutral
Actor131: t12
Location: 11,26
Owner: Neutral
Actor132: t08
Location: 19,26
Owner: Neutral
Actor133: t08
Location: 17,32
Owner: Neutral
Actor134: t01
Location: 40,36
Owner: Neutral
Actor135: t02
Location: 40,33
Owner: Neutral
Actor136: tc04
Location: 28,10
Owner: Neutral
Actor137: tc02
Location: 37,10
Owner: Neutral
Actor138: tc01
Location: 34,12
Owner: Neutral
Hand1: hand
Location: 57,23
Owner: Nod
Nuke3: nuke
Location: 60,31
Owner: Nod
Nuke2: nuke
Location: 60,28
Owner: Nod
Silo2: silo
Location: 58,30
Owner: Nod
Silo1: silo
Location: 58,32
Owner: Nod
Radar1: hq
Location: 60,23
Owner: Nod
Afld1: afld
Location: 53,29
Owner: Nod
Proc1: proc
Location: 54,21
Owner: Nod
Nuke1: nuke
Location: 57,20
Owner: Nod
Fact1: fact
Location: 59,20
Owner: Nod
GdiNuke1: nuke
Location: 34,7
Owner: AbandonedBase
Health: 10
GdiNuke2: nuke
Location: 20,5
Owner: AbandonedBase
Health: 39
GdiSilo1: silo
Location: 22,5
Owner: AbandonedBase
Health: 38
GdiProc1: proc
Location: 25,4
Owner: AbandonedBase
Health: 45
FreeActor: False
GdiRadar1: hq
Location: 28,2
Owner: AbandonedBase
Health: 10
GdiWeap1: weap
Location: 30,3
Owner: AbandonedBase
Health: 25
GdiPyle1: pyle
Location: 32,7
Owner: AbandonedBase
Health: 39
GdiNuke3: nuke
Location: 33,2
Owner: AbandonedBase
Health: 41
Actor157: gun
Location: 48,30
Owner: Nod
Facing: 256
Actor158: gun
Location: 48,24
Owner: Nod
Facing: 256
Sam1: sam
Location: 51,33
Owner: Nod
Sam2: sam
Location: 51,20
Owner: Nod
Sam3: sam
Location: 60,27
Owner: Nod
Actor162: ltnk
Location: 61,7
Owner: Nod
Facing: 256
Actor163: ltnk
Location: 33,32
Owner: Nod
Facing: 384
Actor164: ltnk
Location: 39,43
Owner: Nod
Facing: 768
Actor165: bggy
Location: 56,20
Owner: Nod
Facing: 384
Actor166: bggy
Location: 57,32
Owner: Nod
Facing: 256
Actor167: bggy
Location: 48,21
Owner: Nod
Facing: 256
Actor168: bggy
Location: 48,33
Owner: Nod
Facing: 256
Actor169: ltnk
Location: 48,20
Owner: Nod
Facing: 256
Actor170: ltnk
Location: 52,27
Owner: Nod
Facing: 256
Actor171: ltnk
Location: 32,27
Owner: Nod
Facing: 256
Actor177: harv
Location: 30,27
Owner: Nod
Facing: 256
Actor178: bggy
Location: 27,22
Owner: Nod
Actor179: bggy
Location: 50,23
Owner: Nod
Stance: Defend
Actor180: bggy
Location: 51,23
Owner: Nod
Stance: Defend
Actor181: bggy
Location: 13,41
Owner: Nod
Actor182: ltnk
Location: 51,22
Owner: Nod
Stance: Defend
Actor183: e1
Location: 61,26
Owner: Nod
Facing: 384
SubCell: 4
Actor184: e1
Location: 57,33
Owner: Nod
Facing: 128
SubCell: 3
Actor185: e1
Location: 61,26
Owner: Nod
Facing: 896
SubCell: 2
Actor186: e1
Location: 61,26
Owner: Nod
Facing: 128
SubCell: 1
Actor187: e1
Location: 61,26
Owner: Nod
Facing: 640
SubCell: 3
Actor188: e1
Location: 54,20
Owner: Nod
Facing: 384
SubCell: 0
Actor189: e1
Location: 54,20
Owner: Nod
Facing: 640
SubCell: 2
Actor190: e3
Location: 50,20
Owner: Nod
SubCell: 3
Actor191: e3
Location: 55,20
Owner: Nod
Facing: 512
SubCell: 1
Actor192: e3
Location: 59,29
Owner: Nod
Facing: 128
SubCell: 1
Actor193: e3
Location: 47,33
Owner: Nod
Facing: 256
SubCell: 1
Stance: Defend
Actor194: e3
Location: 47,33
Owner: Nod
Facing: 256
SubCell: 3
Stance: Defend
Actor195: e3
Location: 47,34
Owner: Nod
Facing: 256
SubCell: 1
Stance: Defend
Actor196: e3
Location: 20,28
Owner: Nod
Facing: 512
SubCell: 0
Stance: ReturnFire
Actor197: e3
Location: 31,39
Owner: Nod
Facing: 640
SubCell: 0
Actor198: e3
Location: 28,40
Owner: Nod
Facing: 640
SubCell: 0
Actor199: e3
Location: 17,16
Owner: Nod
SubCell: 3
Actor200: e3
Location: 15,22
Owner: Nod
SubCell: 1
Stance: ReturnFire
Actor201: e3
Location: 36,24
Owner: Nod
SubCell: 3
Actor210: e3
Location: 28,35
Owner: Nod
Facing: 512
SubCell: 4
Stance: ReturnFire
DefaultChinookTarget: waypoint
Location: 32,36
Owner: Neutral
DefaultCameraPosition: waypoint
Location: 48,38
Owner: Neutral
waypoint18: waypoint
Location: 46,34
Owner: Neutral
waypoint11: waypoint
Location: 38,3
Owner: Neutral
waypoint10: waypoint
Location: 57,1
Owner: Neutral
waypoint9: waypoint
Location: 41,14
Owner: Neutral
waypoint8: waypoint
Location: 42,19
Owner: Neutral
waypoint7: waypoint
Location: 18,4
Owner: Neutral
waypoint6: waypoint
Location: 10,2
Owner: Neutral
waypoint5: waypoint
Location: 10,16
Owner: Neutral
waypoint4: waypoint
Location: 32,16
Owner: Neutral
waypoint3: waypoint
Location: 19,16
Owner: Neutral
waypoint2: waypoint
Location: 19,21
Owner: Neutral
waypoint1: waypoint
Location: 32,26
Owner: Neutral
waypoint0: waypoint
Location: 46,26
Owner: Neutral
UnitsEntry: waypoint
Location: 54,45
Owner: Neutral
UnitsRally: waypoint
Location: 51,42
Owner: Neutral
Rules: cnc|rules/campaign-maprules.yaml, cnc|rules/campaign-tooltips.yaml, cnc|rules/campaign-palettes.yaml, rules.yaml

View File

@@ -0,0 +1,173 @@
World:
LuaScript:
Scripts: campaign-global.lua, gdi05c.lua
MissionData:
Briefing: 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.
BackgroundVideo: podium.vqa
BriefingVideo: gdi5.vqa
StartVideo: seige.vqa
WinVideo: nodlose.vqa
LossVideo: gdilose.vqa
MapOptions:
ShortGameCheckboxLocked: True
ShortGameCheckboxEnabled: False
SmudgeLayer@SCORCH:
InitialSmudges:
46,24: sc5,0
45,21: sc3,0
26,11: sc3,0
25,10: sc4,0
25,9: sc3,0
24,9: sc3,0
23,8: sc3,0
24,7: sc2,0
32,6: sc6,0
31,6: sc6,0
29,6: sc1,0
35,5: sc1,0
20,5: sc5,0
30,2: sc2,0
33,1: sc1,0
SmudgeLayer@CRATER:
InitialSmudges:
26,9: cr1,0
22,8: cr1,0
29,7: cr1,0
23,7: cr1,0
35,2: cr1,0
ScriptLobbyDropdown@difficulty:
ID: difficulty
Label: Difficulty
Values:
easy: Easy
normal: Normal
hard: Hard
Default: normal
Locked: false
Player:
EnemyWatcher:
PlayerResources:
DefaultCash: 2000
^Palettes:
IndexedPlayerPalette:
PlayerIndex:
AbandonedBase: 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191
IndexedPlayerPalette@units:
PlayerIndex:
AbandonedBase: 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191
^Building:
AnnounceOnSeen:
SBAG:
Buildable:
Prerequisites: ~disabled
GTWR:
Buildable:
Prerequisites: ~disabled
ATWR:
Buildable:
Prerequisites: ~disabled
WEAP:
Buildable:
Prerequisites: ~disabled
CYCL:
Buildable:
Prerequisites: ~disabled
NUK2:
Buildable:
Prerequisites: ~disabled
FIX:
Buildable:
Prerequisites: ~disabled
HPAD:
Buildable:
Prerequisites: ~disabled
BRIK:
Buildable:
Prerequisites: ~disabled
HQ:
-AirstrikePower:
EYE:
Buildable:
Prerequisites: ~disabled
GUN:
Buildable:
Prerequisites: ~disabled
OBLI:
Buildable:
Prerequisites: ~disabled
TMPL:
Buildable:
Prerequisites: ~disabled
E2:
Buildable:
Prerequisites: ~pyle
E3:
Buildable:
Prerequisites: ~disabled
E5:
Buildable:
Prerequisites: ~disabled
HARV:
Buildable:
Prerequisites: ~disabled
MTNK:
Buildable:
Prerequisites: ~disabled
HTNK:
Buildable:
Prerequisites: ~disabled
RMBO:
Buildable:
Prerequisites: ~disabled
MSAM:
Buildable:
Prerequisites: ~disabled
ARTY:
Buildable:
Prerequisites: ~disabled
MLRS:
Buildable:
Prerequisites: ~disabled
STNK:
Buildable:
Prerequisites: ~disabled
MCV:
Buildable:
Prerequisites: ~disabled
FTNK:
Buildable:
Prerequisites: ~disabled
airstrike.proxy:
AirstrikePower:
SquadSize: 1

View File

@@ -7,6 +7,7 @@ GDI Campaign:
gdi04c
gdi05a
gdi05b
gdi05c
gdi06
gdi07
gdi08a