Initial commit: OpenRA game engine
Fork from OpenRA/OpenRA with one-click launch script (start-ra.cmd) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
BIN
mods/cnc/maps/nod07c/map.bin
Normal file
BIN
mods/cnc/maps/nod07c/map.bin
Normal file
Binary file not shown.
9
mods/cnc/maps/nod07c/map.ftl
Normal file
9
mods/cnc/maps/nod07c/map.ftl
Normal file
@@ -0,0 +1,9 @@
|
||||
## rules.yaml
|
||||
briefing =
|
||||
GDI has left itself open to the deadliest weapon of all: information.
|
||||
|
||||
Our spies have informed us that a GDI base in your area houses an advanced attack helicopter, the Orca.
|
||||
|
||||
Steal this weapon, then fly to the nearby village and destroy it.
|
||||
|
||||
The attack will be blamed on GDI.
|
||||
BIN
mods/cnc/maps/nod07c/map.png
Normal file
BIN
mods/cnc/maps/nod07c/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
775
mods/cnc/maps/nod07c/map.yaml
Normal file
775
mods/cnc/maps/nod07c/map.yaml
Normal file
@@ -0,0 +1,775 @@
|
||||
MapFormat: 12
|
||||
|
||||
RequiresMod: cnc
|
||||
|
||||
Title: 07c: Orca Theft
|
||||
|
||||
Author: Westwood Studios
|
||||
|
||||
Tileset: DESERT
|
||||
|
||||
MapSize: 64,64
|
||||
|
||||
Bounds: 4,4,55,56
|
||||
|
||||
Visibility: MissionSelector
|
||||
|
||||
Categories: Campaign
|
||||
|
||||
LockPreview: True
|
||||
|
||||
Players:
|
||||
PlayerReference@GDI:
|
||||
Name: GDI
|
||||
Faction: gdi
|
||||
Color: F5D378
|
||||
Allies: Civilians, Target
|
||||
Enemies: Nod
|
||||
Bot: campaign
|
||||
PlayerReference@Target:
|
||||
Name: Target
|
||||
Faction: gdi
|
||||
Color: F5D378
|
||||
Allies: Civilians, GDI
|
||||
Bot: campaign
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
OwnsWorld: True
|
||||
NonCombatant: True
|
||||
Faction: gdi
|
||||
PlayerReference@Civilians:
|
||||
Name: Civilians
|
||||
NonCombatant: True
|
||||
Faction: gdi
|
||||
Allies: GDI, Target
|
||||
Enemies: Nod
|
||||
Bot: campaign
|
||||
PlayerReference@Nod:
|
||||
Name: Nod
|
||||
AllowBots: False
|
||||
Playable: True
|
||||
Required: True
|
||||
LockFaction: True
|
||||
Faction: nod
|
||||
LockColor: True
|
||||
Color: FE1100
|
||||
LockSpawn: True
|
||||
LockTeam: True
|
||||
Enemies: GDI, Civilians
|
||||
|
||||
Actors:
|
||||
Actor0: cycl
|
||||
Location: 58,59
|
||||
Owner: GDI
|
||||
Actor1: cycl
|
||||
Location: 57,59
|
||||
Owner: GDI
|
||||
Actor2: cycl
|
||||
Location: 56,59
|
||||
Owner: GDI
|
||||
Actor3: cycl
|
||||
Location: 55,59
|
||||
Owner: GDI
|
||||
Actor4: cycl
|
||||
Location: 54,59
|
||||
Owner: GDI
|
||||
Actor5: cycl
|
||||
Location: 53,59
|
||||
Owner: GDI
|
||||
Actor6: cycl
|
||||
Location: 52,59
|
||||
Owner: GDI
|
||||
Actor7: cycl
|
||||
Location: 51,59
|
||||
Owner: GDI
|
||||
Actor8: cycl
|
||||
Location: 50,59
|
||||
Owner: GDI
|
||||
Actor9: cycl
|
||||
Location: 49,59
|
||||
Owner: GDI
|
||||
Actor10: cycl
|
||||
Location: 48,59
|
||||
Owner: GDI
|
||||
Actor11: cycl
|
||||
Location: 47,59
|
||||
Owner: GDI
|
||||
Actor12: cycl
|
||||
Location: 46,59
|
||||
Owner: GDI
|
||||
Actor13: cycl
|
||||
Location: 45,59
|
||||
Owner: GDI
|
||||
Actor14: cycl
|
||||
Location: 44,59
|
||||
Owner: GDI
|
||||
Actor15: cycl
|
||||
Location: 43,59
|
||||
Owner: GDI
|
||||
Actor16: cycl
|
||||
Location: 42,59
|
||||
Owner: GDI
|
||||
Actor17: cycl
|
||||
Location: 41,59
|
||||
Owner: GDI
|
||||
Actor18: cycl
|
||||
Location: 40,59
|
||||
Owner: GDI
|
||||
Actor19: cycl
|
||||
Location: 39,59
|
||||
Owner: GDI
|
||||
Actor20: cycl
|
||||
Location: 38,59
|
||||
Owner: GDI
|
||||
Actor21: cycl
|
||||
Location: 37,59
|
||||
Owner: GDI
|
||||
Actor22: cycl
|
||||
Location: 58,58
|
||||
Owner: GDI
|
||||
Actor23: cycl
|
||||
Location: 37,58
|
||||
Owner: GDI
|
||||
Actor24: cycl
|
||||
Location: 58,57
|
||||
Owner: GDI
|
||||
Actor25: cycl
|
||||
Location: 38,57
|
||||
Owner: GDI
|
||||
Actor26: cycl
|
||||
Location: 37,57
|
||||
Owner: GDI
|
||||
Actor27: cycl
|
||||
Location: 58,56
|
||||
Owner: GDI
|
||||
Actor28: cycl
|
||||
Location: 38,56
|
||||
Owner: GDI
|
||||
Actor29: cycl
|
||||
Location: 37,56
|
||||
Owner: GDI
|
||||
Actor30: cycl
|
||||
Location: 58,55
|
||||
Owner: GDI
|
||||
Actor31: cycl
|
||||
Location: 58,54
|
||||
Owner: GDI
|
||||
Actor32: cycl
|
||||
Location: 58,53
|
||||
Owner: GDI
|
||||
Actor33: cycl
|
||||
Location: 58,52
|
||||
Owner: GDI
|
||||
Actor34: cycl
|
||||
Location: 38,52
|
||||
Owner: GDI
|
||||
Actor35: cycl
|
||||
Location: 37,52
|
||||
Owner: GDI
|
||||
Actor36: cycl
|
||||
Location: 58,51
|
||||
Owner: GDI
|
||||
Actor37: cycl
|
||||
Location: 39,51
|
||||
Owner: GDI
|
||||
Actor38: cycl
|
||||
Location: 38,51
|
||||
Owner: GDI
|
||||
Actor39: cycl
|
||||
Location: 37,51
|
||||
Owner: GDI
|
||||
Actor40: cycl
|
||||
Location: 58,50
|
||||
Owner: GDI
|
||||
Actor41: cycl
|
||||
Location: 57,50
|
||||
Owner: GDI
|
||||
Actor42: cycl
|
||||
Location: 56,50
|
||||
Owner: GDI
|
||||
Actor43: cycl
|
||||
Location: 58,49
|
||||
Owner: GDI
|
||||
Actor44: cycl
|
||||
Location: 57,49
|
||||
Owner: GDI
|
||||
Actor45: cycl
|
||||
Location: 56,49
|
||||
Owner: GDI
|
||||
Actor46: t08
|
||||
Location: 18,55
|
||||
Owner: Neutral
|
||||
Actor47: t08
|
||||
Location: 18,53
|
||||
Owner: Neutral
|
||||
Actor48: t08
|
||||
Location: 21,55
|
||||
Owner: Neutral
|
||||
Actor49: t08
|
||||
Location: 23,51
|
||||
Owner: Neutral
|
||||
Actor50: t08
|
||||
Location: 24,48
|
||||
Owner: Neutral
|
||||
Actor51: t08
|
||||
Location: 18,35
|
||||
Owner: Neutral
|
||||
Actor52: t08
|
||||
Location: 33,36
|
||||
Owner: Neutral
|
||||
Actor53: rock1
|
||||
Location: 39,27
|
||||
Owner: Neutral
|
||||
Actor54: rock1
|
||||
Location: 19,44
|
||||
Owner: Neutral
|
||||
Actor55: t08
|
||||
Location: 53,10
|
||||
Owner: Neutral
|
||||
Actor56: t08
|
||||
Location: 30,4
|
||||
Owner: Neutral
|
||||
Actor57: t08
|
||||
Location: 15,8
|
||||
Owner: Neutral
|
||||
Actor58: t08
|
||||
Location: 23,38
|
||||
Owner: Neutral
|
||||
Actor59: t08
|
||||
Location: 40,7
|
||||
Owner: Neutral
|
||||
Actor60: rock1
|
||||
Location: 32,6
|
||||
Owner: Neutral
|
||||
Actor61: rock6
|
||||
Location: 12,24
|
||||
Owner: Neutral
|
||||
Actor62: rock2
|
||||
Location: 35,48
|
||||
Owner: Neutral
|
||||
Actor63: rock1
|
||||
Location: 38,38
|
||||
Owner: Neutral
|
||||
Actor64: t08
|
||||
Location: 20,46
|
||||
Owner: Neutral
|
||||
Actor65: t08
|
||||
Location: 37,34
|
||||
Owner: Neutral
|
||||
Actor66: t08
|
||||
Location: 46,19
|
||||
Owner: Neutral
|
||||
Actor67: t08
|
||||
Location: 11,25
|
||||
Owner: Neutral
|
||||
Actor68: t18
|
||||
Location: 36,49
|
||||
Owner: Neutral
|
||||
Actor69: t18
|
||||
Location: 39,42
|
||||
Owner: Neutral
|
||||
Actor70: t08
|
||||
Location: 41,44
|
||||
Owner: Neutral
|
||||
Actor71: t08
|
||||
Location: 25,41
|
||||
Owner: Neutral
|
||||
Actor76: v21
|
||||
Location: 9,8
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor77: v20
|
||||
Location: 7,8
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor78: v30
|
||||
Location: 17,5
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor79: v28
|
||||
Location: 16,5
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor80: v27
|
||||
Location: 15,5
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor81: v27
|
||||
Location: 14,5
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor82: v26
|
||||
Location: 9,5
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor83: v24
|
||||
Location: 6,4
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor84: v22
|
||||
Location: 4,8
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor86: v25
|
||||
Location: 49,4
|
||||
Owner: Civilians
|
||||
Health: 50
|
||||
ScriptTags: Village
|
||||
Actor87: v22
|
||||
Location: 46,9
|
||||
Owner: Civilians
|
||||
Health: 22
|
||||
ScriptTags: Village
|
||||
Actor88: v21
|
||||
Location: 36,4
|
||||
Owner: Civilians
|
||||
Health: 50
|
||||
ScriptTags: Village
|
||||
Actor89: v20
|
||||
Location: 48,6
|
||||
Owner: Civilians
|
||||
Health: 25
|
||||
ScriptTags: Village
|
||||
Actor90: v19
|
||||
Location: 48,23
|
||||
Owner: Neutral
|
||||
Actor91: v19
|
||||
Location: 47,23
|
||||
Owner: Neutral
|
||||
Actor92: v19
|
||||
Location: 49,23
|
||||
Owner: Neutral
|
||||
Actor93: v22
|
||||
Location: 45,5
|
||||
Owner: Civilians
|
||||
Health: 43
|
||||
ScriptTags: Village
|
||||
Actor94: v24
|
||||
Location: 34,4
|
||||
Owner: Civilians
|
||||
Health: 50
|
||||
ScriptTags: Village
|
||||
Actor95: v27
|
||||
Location: 44,8
|
||||
Owner: Civilians
|
||||
Health: 25
|
||||
ScriptTags: Village
|
||||
Actor96: v29
|
||||
Location: 54,9
|
||||
Owner: Civilians
|
||||
Health: 43
|
||||
ScriptTags: Village
|
||||
Actor97: v30
|
||||
Location: 52,8
|
||||
Owner: Civilians
|
||||
Health: 45
|
||||
ScriptTags: Village
|
||||
Actor104: v20
|
||||
Location: 41,7
|
||||
Owner: Civilians
|
||||
Health: 43
|
||||
ScriptTags: Village
|
||||
Actor105: v21
|
||||
Location: 50,10
|
||||
Owner: Civilians
|
||||
Health: 25
|
||||
ScriptTags: Village
|
||||
Actor106: v23
|
||||
Location: 43,7
|
||||
Owner: Civilians
|
||||
Health: 98
|
||||
ScriptTags: Village
|
||||
Actor107: v24
|
||||
Location: 39,7
|
||||
Owner: Civilians
|
||||
Health: 45
|
||||
ScriptTags: Village
|
||||
Actor108: v23
|
||||
Location: 38,7
|
||||
Owner: Civilians
|
||||
Health: 51
|
||||
ScriptTags: Village
|
||||
JeepGuard1: jeep
|
||||
Location: 40,57
|
||||
Owner: GDI
|
||||
JeepGuard2: jeep
|
||||
Location: 39,57
|
||||
Owner: GDI
|
||||
MediumTank1: mtnk
|
||||
Location: 54,52
|
||||
Owner: GDI
|
||||
MediumTank3: mtnk
|
||||
Location: 44,45
|
||||
Owner: GDI
|
||||
Facing: 128
|
||||
MediumTank2: mtnk
|
||||
Location: 34,34
|
||||
Owner: GDI
|
||||
Facing: 896
|
||||
Jeep: jeep
|
||||
Location: 30,41
|
||||
Owner: GDI
|
||||
Facing: 896
|
||||
Actor118: harv
|
||||
Location: 26,43
|
||||
Owner: GDI
|
||||
Facing: 896
|
||||
Guard1: e2
|
||||
Location: 46,57
|
||||
Owner: GDI
|
||||
SubCell: 3
|
||||
Guard2: e2
|
||||
Location: 46,58
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Guard3: e2
|
||||
Location: 45,58
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
Guard4: e2
|
||||
Location: 45,57
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
Guard5: e1
|
||||
Location: 43,58
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
Guard6: e1
|
||||
Location: 44,58
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Guard7: e1
|
||||
Location: 44,57
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
Guard8: e1
|
||||
Location: 44,58
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
Guard9: e1
|
||||
Location: 44,57
|
||||
Owner: GDI
|
||||
SubCell: 3
|
||||
Guard10: e1
|
||||
Location: 43,57
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
Actor135: e2
|
||||
Location: 34,57
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
Actor136: e1
|
||||
Location: 34,57
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Actor141: e2
|
||||
Location: 35,52
|
||||
Owner: GDI
|
||||
Facing: 768
|
||||
SubCell: 1
|
||||
Actor150: e1
|
||||
Location: 25,37
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor151: e1
|
||||
Location: 7,32
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor152: e1
|
||||
Location: 7,31
|
||||
Owner: GDI
|
||||
SubCell: 3
|
||||
Actor153: e2
|
||||
Location: 18,51
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor154: e1
|
||||
Location: 18,50
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor155: e1
|
||||
Location: 17,50
|
||||
Owner: GDI
|
||||
SubCell: 3
|
||||
Actor156: e2
|
||||
Location: 21,28
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
Actor157: c9
|
||||
Location: 51,9
|
||||
Owner: Civilians
|
||||
SubCell: 4
|
||||
ScriptTags: Village
|
||||
Actor158: c5
|
||||
Location: 46,7
|
||||
Owner: Civilians
|
||||
SubCell: 2
|
||||
ScriptTags: Village
|
||||
Actor159: c2
|
||||
Location: 47,7
|
||||
Owner: Civilians
|
||||
SubCell: 2
|
||||
ScriptTags: Village
|
||||
Actor160: c1
|
||||
Location: 47,6
|
||||
Owner: Civilians
|
||||
SubCell: 0
|
||||
ScriptTags: Village
|
||||
Actor161: e2
|
||||
Location: 17,20
|
||||
Owner: GDI
|
||||
Facing: 256
|
||||
SubCell: 1
|
||||
Actor162: e2
|
||||
Location: 17,19
|
||||
Owner: GDI
|
||||
Facing: 256
|
||||
SubCell: 1
|
||||
Actor163: e1
|
||||
Location: 24,37
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
Actor164: e1
|
||||
Location: 34,51
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
SubCell: 2
|
||||
Actor165: e1
|
||||
Location: 51,40
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Actor166: e1
|
||||
Location: 49,38
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Actor167: e2
|
||||
Location: 49,40
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Actor168: e2
|
||||
Location: 50,42
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor169: e2
|
||||
Location: 56,44
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
Actor170: e1
|
||||
Location: 22,57
|
||||
Owner: GDI
|
||||
Facing: 640
|
||||
SubCell: 2
|
||||
Actor171: e2
|
||||
Location: 21,58
|
||||
Owner: GDI
|
||||
Facing: 640
|
||||
SubCell: 2
|
||||
Actor172: e1
|
||||
Location: 44,6
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Actor177: e1
|
||||
Location: 45,6
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Actor178: e1
|
||||
Location: 45,7
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
SideGuard1: e1
|
||||
Location: 51,52
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
SideGuard2: e1
|
||||
Location: 52,52
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
SideGuard3: e1
|
||||
Location: 52,52
|
||||
Owner: GDI
|
||||
SubCell: 3
|
||||
SideGuard4: e1
|
||||
Location: 51,52
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
SideGuard5: e2
|
||||
Location: 53,52
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
SideGuard6: e2
|
||||
Location: 53,52
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
SideGuard7: e2
|
||||
Location: 53,52
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
SideGuard8: e2
|
||||
Location: 53,52
|
||||
Owner: GDI
|
||||
SubCell: 3
|
||||
InfantryPatrol1: e1
|
||||
Location: 48,57
|
||||
Owner: GDI
|
||||
SubCell: 3
|
||||
InfantryPatrol2: e1
|
||||
Location: 47,57
|
||||
Owner: GDI
|
||||
SubCell: 4
|
||||
waypoint27: waypoint
|
||||
Location: 37,25
|
||||
Owner: Neutral
|
||||
waypoint26: waypoint
|
||||
Location: 39,22
|
||||
Owner: Neutral
|
||||
waypoint25: waypoint
|
||||
Location: 46,6
|
||||
Owner: Neutral
|
||||
waypoint24: waypoint
|
||||
Location: 43,6
|
||||
Owner: Neutral
|
||||
waypoint18: waypoint
|
||||
Location: 45,57
|
||||
Owner: Neutral
|
||||
waypoint15: waypoint
|
||||
Location: 37,55
|
||||
Owner: Neutral
|
||||
waypoint14: waypoint
|
||||
Location: 53,46
|
||||
Owner: Neutral
|
||||
waypoint13: waypoint
|
||||
Location: 12,7
|
||||
Owner: Neutral
|
||||
waypoint12: waypoint
|
||||
Location: 49,58
|
||||
Owner: Neutral
|
||||
waypoint11: waypoint
|
||||
Location: 52,24
|
||||
Owner: Neutral
|
||||
waypoint9: waypoint
|
||||
Location: 21,37
|
||||
Owner: Neutral
|
||||
waypoint8: waypoint
|
||||
Location: 27,33
|
||||
Owner: Neutral
|
||||
waypoint7: waypoint
|
||||
Location: 16,56
|
||||
Owner: Neutral
|
||||
waypoint6: waypoint
|
||||
Location: 14,48
|
||||
Owner: Neutral
|
||||
waypoint5: waypoint
|
||||
Location: 18,41
|
||||
Owner: Neutral
|
||||
waypoint4: waypoint
|
||||
Location: 11,35
|
||||
Owner: Neutral
|
||||
waypoint3: waypoint
|
||||
Location: 20,31
|
||||
Owner: Neutral
|
||||
waypoint2: waypoint
|
||||
Location: 24,35
|
||||
Owner: Neutral
|
||||
waypoint1: waypoint
|
||||
Location: 31,43
|
||||
Owner: Neutral
|
||||
waypoint0: waypoint
|
||||
Location: 31,54
|
||||
Owner: Neutral
|
||||
ReinforcementsHelicopter1Rally: waypoint
|
||||
Owner: Neutral
|
||||
Location: 37,23
|
||||
ReinforcementsHelicopter2Rally: waypoint
|
||||
Owner: Neutral
|
||||
Location: 40,23
|
||||
GDIBuilding1: fact
|
||||
Location: 43,49
|
||||
Owner: GDI
|
||||
ScriptTags: GDIBuilding
|
||||
GDIBuilding2: nuke
|
||||
Location: 47,51
|
||||
Owner: GDI
|
||||
ScriptTags: GDIBuilding
|
||||
GDIBuilding3: proc
|
||||
Location: 41,52
|
||||
Owner: GDI
|
||||
FreeActor: False
|
||||
ScriptTags: GDIBuilding
|
||||
GDIBuilding4: silo
|
||||
Location: 49,52
|
||||
Owner: GDI
|
||||
ScriptTags: GDIBuilding
|
||||
GDIBuilding5: nuk2
|
||||
Location: 56,53
|
||||
Owner: GDI
|
||||
ScriptTags: GDIBuilding
|
||||
GDIBuilding6: hq
|
||||
Location: 46,48
|
||||
Owner: GDI
|
||||
ScriptTags: GDIBuilding
|
||||
GDIBuilding7: pyle
|
||||
Location: 45,52
|
||||
Owner: GDI
|
||||
ScriptTags: GDIBuilding
|
||||
GDIBuilding8: weap
|
||||
Location: 48,54
|
||||
Owner: GDI
|
||||
ScriptTags: GDIBuilding
|
||||
GuardTower1: gtwr
|
||||
Location: 36,51
|
||||
Owner: GDI
|
||||
GuardTower2: gtwr
|
||||
Location: 36,57
|
||||
Owner: GDI
|
||||
GuardTower3: gtwr
|
||||
Location: 55,48
|
||||
Owner: GDI
|
||||
GDIHpad: hpad.in
|
||||
Location: 56,56
|
||||
Owner: Target
|
||||
GDIOrca: orca.in
|
||||
Owner: Target
|
||||
Location: 56,56
|
||||
CenterPosition: 58450,58025,0
|
||||
Facing: 920
|
||||
GunboatRight: waypoint
|
||||
Owner: Neutral
|
||||
Location: 58,16
|
||||
Gunboat: boat
|
||||
Location: 32,16
|
||||
Owner: GDI
|
||||
Facing: 768
|
||||
ReinforcementsTopSpawn: waypoint
|
||||
Owner: Neutral
|
||||
Location: 58,24
|
||||
ReinforcementsBottomSpawn: waypoint
|
||||
Owner: Neutral
|
||||
Location: 58,26
|
||||
ReinforcementsTankRally: waypoint
|
||||
Owner: Neutral
|
||||
Location: 48,27
|
||||
ReinforcementsEngineersRally: waypoint
|
||||
Owner: Neutral
|
||||
Location: 49,26
|
||||
ReinforcementsGunnersRally: waypoint
|
||||
Owner: Neutral
|
||||
Location: 50,26
|
||||
ReinforcementsRocketsRally: waypoint
|
||||
Owner: Neutral
|
||||
Location: 49,27
|
||||
ReinforcementsFlamersRally: waypoint
|
||||
Owner: Neutral
|
||||
Location: 50,27
|
||||
|
||||
Rules: cnc|rules/campaign-maprules.yaml, cnc|rules/campaign-tooltips.yaml, cnc|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
FluentMessages: cnc|fluent/lua.ftl, cnc|fluent/campaign.ftl, map.ftl
|
||||
159
mods/cnc/maps/nod07c/nod07c.lua
Normal file
159
mods/cnc/maps/nod07c/nod07c.lua
Normal file
@@ -0,0 +1,159 @@
|
||||
--[[
|
||||
Copyright (c) The OpenRA Developers and Contributors
|
||||
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.
|
||||
]]
|
||||
|
||||
NodUnitsVehicles1 = { "bggy", "bggy", "bike", "bike" }
|
||||
NodUnitsVehicles2 = { "ltnk", "ltnk" }
|
||||
NodUnitsEngineers = { "e6", "e6", "e6", "e6" }
|
||||
NodUnitsRockets = { "e3", "e3", "e3", "e3" }
|
||||
NodUnitsGunners = { "e1", "e1", "e1", "e1" }
|
||||
NodUnitsFlamers = { "e4", "e4", "e4", "e4" }
|
||||
|
||||
MainEntranceGuards = { JeepGuard1, JeepGuard2, MediumTank1, SideGuard1, SideGuard2, SideGuard6, SideGuard7, Guard1, Guard2, Guard3, Guard4, Guard5, Guard6, Guard7, Guard8, Guard9, Guard10 }
|
||||
InfantryPatrol = { InfantryPatrol1, InfantryPatrol2 }
|
||||
|
||||
MainEntrancePatrolPath = { waypoint0.Location, waypoint1.Location, waypoint15.Location, waypoint12.Location }
|
||||
InfantryPatrolPath = { waypoint0.Location, waypoint1.Location, waypoint2.Location, waypoint8.Location, waypoint2.Location, waypoint9.Location, waypoint2.Location }
|
||||
JeepPatrolPath = { waypoint0.Location, waypoint1.Location, waypoint3.Location, waypoint4.Location, waypoint3.Location, waypoint2.Location, waypoint5.Location, waypoint6.Location, waypoint2.Location, waypoint7.Location }
|
||||
MediumTankPatrolPath = { waypoint14.Location, waypoint5.Location }
|
||||
|
||||
TargetsKilled = 0
|
||||
|
||||
InsertNodUnits = function()
|
||||
Media.PlaySpeechNotification(Nod, "Reinforce")
|
||||
Reinforcements.Reinforce(Nod, { "ltnk" }, { ReinforcementsTopSpawn.Location, ReinforcementsTankRally.Location }, 1)
|
||||
|
||||
local engineers = Reinforcements.Reinforce(Nod, NodUnitsEngineers, { ReinforcementsTopSpawn.Location, ReinforcementsEngineersRally.Location }, 10)
|
||||
Reinforcements.Reinforce(Nod, NodUnitsRockets, { ReinforcementsBottomSpawn.Location, ReinforcementsRocketsRally.Location }, 10)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
Reinforcements.Reinforce(Nod, NodUnitsGunners, { ReinforcementsBottomSpawn.Location, ReinforcementsGunnersRally.Location }, 10)
|
||||
Reinforcements.Reinforce(Nod, NodUnitsFlamers, { ReinforcementsTopSpawn.Location, ReinforcementsFlamersRally.Location }, 10)
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(5), function()
|
||||
Reinforcements.ReinforceWithTransport(Nod, "tran.in", NodUnitsVehicles1, { GunboatRight.Location, ReinforcementsHelicopter1Rally.Location }, { GunboatRight.Location })
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
Reinforcements.ReinforceWithTransport(Nod, "tran.in", NodUnitsVehicles2, { GunboatRight.Location, ReinforcementsHelicopter2Rally.Location }, { GunboatRight.Location })
|
||||
end)
|
||||
end)
|
||||
|
||||
Trigger.OnAllRemovedFromWorld(engineers, function()
|
||||
if not Nod.IsObjectiveCompleted(CaptureHelipad) then
|
||||
Nod.MarkFailedObjective(CaptureHelipad)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
DiscoveredMainEntrance = function()
|
||||
if Nod.IsObjectiveCompleted(DistractGuardsObjective) then
|
||||
return
|
||||
end
|
||||
|
||||
Nod.MarkCompletedObjective(DistractGuardsObjective)
|
||||
|
||||
Utils.Do(MainEntranceGuards, function(guard)
|
||||
if not guard.IsDead then
|
||||
guard.Patrol(MainEntrancePatrolPath)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
Trigger.OnKilled(GDIHpad, function()
|
||||
if not Nod.IsObjectiveCompleted(CaptureHelipad) then
|
||||
Nod.MarkFailedObjective(CaptureHelipad)
|
||||
end
|
||||
end)
|
||||
|
||||
Trigger.OnKilled(GDIOrca, function()
|
||||
if not Nod.IsObjectiveCompleted(UseOrcaObjective) then
|
||||
Nod.MarkFailedObjective(UseOrcaObjective)
|
||||
end
|
||||
end)
|
||||
|
||||
Trigger.OnDamaged(GuardTower3, function()
|
||||
if not MediumTank3.IsDead then
|
||||
MediumTank3.Patrol(MediumTankPatrolPath)
|
||||
end
|
||||
end)
|
||||
|
||||
Utils.Do(Map.ActorsWithTag("Village"), function(actor)
|
||||
Trigger.OnKilled(actor, function()
|
||||
TargetsKilled = TargetsKilled + 1
|
||||
|
||||
if TargetsKilled >= 15 then
|
||||
Nod.MarkCompletedObjective(NoCaptureObjective)
|
||||
Nod.MarkCompletedObjective(UseOrcaObjective)
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
Utils.Do(Map.ActorsWithTag("GDIBuilding"), function(actor)
|
||||
Trigger.OnKilledOrCaptured(actor, function()
|
||||
Nod.MarkFailedObjective(NoCaptureObjective)
|
||||
end)
|
||||
end)
|
||||
|
||||
Trigger.OnCapture(GDIHpad, function()
|
||||
Nod.MarkCompletedObjective(CaptureHelipad)
|
||||
if not GDIOrca.IsDead then
|
||||
GDIOrca.Owner = Nod
|
||||
end
|
||||
|
||||
Actor.Create("camera", true, { Owner = Nod, Location = waypoint25.Location })
|
||||
Actor.Create("flare", true, { Owner = Nod, Location = waypoint25.Location })
|
||||
end)
|
||||
|
||||
WorldLoaded = function()
|
||||
Nod = Player.GetPlayer("Nod")
|
||||
GDI = Player.GetPlayer("GDI")
|
||||
|
||||
Camera.Position = waypoint26.CenterPosition
|
||||
|
||||
InsertNodUnits()
|
||||
|
||||
Jeep.Patrol(JeepPatrolPath)
|
||||
Utils.Do(InfantryPatrol, function(unit)
|
||||
unit.Patrol(InfantryPatrolPath)
|
||||
end)
|
||||
|
||||
Utils.Do(GDI.GetGroundAttackers(), function(guard)
|
||||
Trigger.OnDamaged(guard, function()
|
||||
if not guard.IsDead then
|
||||
IdleHunt(guard)
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
InitObjectives(Nod)
|
||||
|
||||
Trigger.OnDiscovered(GuardTower1, DiscoveredMainEntrance)
|
||||
Trigger.OnDiscovered(GuardTower2, DiscoveredMainEntrance)
|
||||
Trigger.OnDiscovered(GuardTower3, function()
|
||||
if not Nod.IsObjectiveCompleted(DistractGuardsObjective) then
|
||||
Nod.MarkFailedObjective(DistractGuardsObjective)
|
||||
end
|
||||
end)
|
||||
|
||||
CaptureHelipad = AddPrimaryObjective(Nod, "capture-gdi-helipad")
|
||||
NoCaptureObjective = AddPrimaryObjective(Nod, "do-not-capture-or-destroy")
|
||||
UseOrcaObjective = AddPrimaryObjective(Nod, "orca-wreak-havoc")
|
||||
DistractGuardsObjective = AddSecondaryObjective(Nod, "distract-guards")
|
||||
GDIObjective = AddPrimaryObjective(GDI, "")
|
||||
end
|
||||
|
||||
Tick = function()
|
||||
if DateTime.GameTime > 2 and Nod.HasNoRequiredUnits() then
|
||||
GDI.MarkCompletedObjective(GDIObjective)
|
||||
end
|
||||
|
||||
if GDI.Resources >= GDI.ResourceCapacity * 0.75 then
|
||||
GDI.Resources = GDI.ResourceCapacity * 0.25
|
||||
end
|
||||
end
|
||||
165
mods/cnc/maps/nod07c/rules.yaml
Normal file
165
mods/cnc/maps/nod07c/rules.yaml
Normal file
@@ -0,0 +1,165 @@
|
||||
World:
|
||||
LuaScript:
|
||||
Scripts: campaign.lua, utils.lua, nod07c.lua
|
||||
MusicPlaylist:
|
||||
StartingMusic: justdoit
|
||||
VictoryMusic: nod_win1
|
||||
MissionData:
|
||||
Briefing: briefing
|
||||
BriefingVideo: nod7b.vqa
|
||||
StartVideo: bcanyon.vqa
|
||||
LossVideo: flag.vqa
|
||||
SmudgeLayer@CRATER:
|
||||
InitialSmudges:
|
||||
40,22: cr1,2
|
||||
|
||||
Player:
|
||||
EnemyWatcher:
|
||||
PlayerResources:
|
||||
DefaultCash: 0
|
||||
|
||||
^CivBuilding:
|
||||
ScriptTags:
|
||||
|
||||
^CivInfantry:
|
||||
ScriptTags:
|
||||
|
||||
^BaseBuilding:
|
||||
AnnounceOnSeen:
|
||||
ScriptTags:
|
||||
|
||||
CYCL:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
NUK2:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
BRIK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
EYE:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
GUN:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
ORCA:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
OBLI:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
TMPL:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
E2:
|
||||
Buildable:
|
||||
Prerequisites: ~pyle
|
||||
|
||||
E5:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
HARV:
|
||||
Harvester:
|
||||
SearchFromProcRadius: 30
|
||||
SearchFromHarvesterRadius: 30
|
||||
|
||||
HTNK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
RMBO:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
MCV:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
FTNK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
MLRS:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
MSAM:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
ATWR:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
HELI:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
ORCA:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
TRAN:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
HQ:
|
||||
AirstrikePower:
|
||||
Prerequisites: gdi
|
||||
|
||||
BOAT:
|
||||
Health:
|
||||
HP: 150000
|
||||
RevealsShroud:
|
||||
ValidRelationships: Ally, Neutral, Enemy
|
||||
Range: 4c0
|
||||
|
||||
TRAN.IN:
|
||||
Inherits: TRAN
|
||||
RejectsOrders:
|
||||
-Selectable:
|
||||
RenderSprites:
|
||||
Image: TRAN
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
Interactable:
|
||||
|
||||
HPAD.IN:
|
||||
Inherits: HPAD
|
||||
RenderSprites:
|
||||
Image: hpad
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
ProvidesPrerequisite:
|
||||
Prerequisite: hpad
|
||||
Capturable:
|
||||
Types: building
|
||||
Building:
|
||||
Footprint: x_ xx
|
||||
BuildSounds: placbldg.aud, build5.aud
|
||||
UndeploySounds: cashturn.aud
|
||||
-Sellable:
|
||||
Demolishable:
|
||||
-Condition:
|
||||
-Power:
|
||||
|
||||
ORCA.IN:
|
||||
Inherits: ORCA
|
||||
Buildable:
|
||||
Prerequisites: ~hpad
|
||||
RenderSprites:
|
||||
Image: ORCA
|
||||
-AutoTarget:
|
||||
-AutoTargetPriority@DEFAULT:
|
||||
-AutoTargetPriority@ATTACKANYTHING:
|
||||
-AttackMove:
|
||||
Reference in New Issue
Block a user