added mission 6b nod
This commit is contained in:
@@ -41,6 +41,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts",
|
|||||||
mods\cnc\maps\nod05\nod05.lua = mods\cnc\maps\nod05\nod05.lua
|
mods\cnc\maps\nod05\nod05.lua = mods\cnc\maps\nod05\nod05.lua
|
||||||
mods\cnc\maps\funpark01\scj01ea.lua = mods\cnc\maps\funpark01\scj01ea.lua
|
mods\cnc\maps\funpark01\scj01ea.lua = mods\cnc\maps\funpark01\scj01ea.lua
|
||||||
mods\cnc\maps\nod06a\nod06a.lua = mods\cnc\maps\nod06a\nod06a.lua
|
mods\cnc\maps\nod06a\nod06a.lua = mods\cnc\maps\nod06a\nod06a.lua
|
||||||
|
mods\cnc\maps\nod06b\nod06b.lua = mods\cnc\maps\nod06b\nod06b.lua
|
||||||
mods\cnc\maps\shellmap\shellmap.lua = mods\cnc\maps\shellmap\shellmap.lua
|
mods\cnc\maps\shellmap\shellmap.lua = mods\cnc\maps\shellmap\shellmap.lua
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ WorldLoaded = function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
Trigger.OnEnteredFootprint(Win2CellTriggerActivator, function(a, id)
|
Trigger.OnEnteredFootprint(Win2CellTriggerActivator, function(a, id)
|
||||||
if a.Owner == Nod then
|
if a.Owner == Nod and NodObjective1 then
|
||||||
Nod.MarkCompletedObjective(NodObjective3)
|
Nod.MarkCompletedObjective(NodObjective3)
|
||||||
Trigger.RemoveFootprintTrigger(id)
|
Trigger.RemoveFootprintTrigger(id)
|
||||||
end
|
end
|
||||||
|
|||||||
BIN
mods/cnc/maps/nod06b/map.bin
Normal file
BIN
mods/cnc/maps/nod06b/map.bin
Normal file
Binary file not shown.
BIN
mods/cnc/maps/nod06b/map.png
Normal file
BIN
mods/cnc/maps/nod06b/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
666
mods/cnc/maps/nod06b/map.yaml
Normal file
666
mods/cnc/maps/nod06b/map.yaml
Normal file
@@ -0,0 +1,666 @@
|
|||||||
|
MapFormat: 7
|
||||||
|
|
||||||
|
RequiresMod: cnc
|
||||||
|
|
||||||
|
Title: Steal The Detonator (b)
|
||||||
|
|
||||||
|
Description: GDI has imported a Nuclear Detonator in an attempt to sway a few local political leaders. Penetrate the base and steal the detonator. A chopper will be sent to meet you at a designated landing zone. Look for the landing flare once you have stolen the device.
|
||||||
|
|
||||||
|
Author: Westwood Studios
|
||||||
|
|
||||||
|
Tileset: DESERT
|
||||||
|
|
||||||
|
MapSize: 64,64
|
||||||
|
|
||||||
|
Bounds: 15,12,47,50
|
||||||
|
|
||||||
|
Visibility: MissionSelector
|
||||||
|
|
||||||
|
Type: Campaign
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
Briefing: nod6.vqa
|
||||||
|
GameStart: sundial.vqa
|
||||||
|
GameLost: banner.vqa
|
||||||
|
|
||||||
|
Options:
|
||||||
|
Crates: False
|
||||||
|
Creeps: False
|
||||||
|
Fog: True
|
||||||
|
Shroud: True
|
||||||
|
AllyBuildRadius: False
|
||||||
|
FragileAlliances: False
|
||||||
|
StartingCash: 0
|
||||||
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
|
Players:
|
||||||
|
PlayerReference@GDI:
|
||||||
|
Name: GDI
|
||||||
|
Playable: False
|
||||||
|
Race: gdi
|
||||||
|
ColorRamp: 31,222,183
|
||||||
|
Enemies: Nod
|
||||||
|
PlayerReference@Neutral:
|
||||||
|
Name: Neutral
|
||||||
|
OwnsWorld: True
|
||||||
|
NonCombatant: True
|
||||||
|
Race: gdi
|
||||||
|
Enemies: Nod, GDI
|
||||||
|
PlayerReference@Civilians:
|
||||||
|
Name: Civilians
|
||||||
|
NonCombatant: True
|
||||||
|
Race: gdi
|
||||||
|
Enemies: Nod
|
||||||
|
PlayerReference@Nod:
|
||||||
|
Name: Nod
|
||||||
|
Playable: True
|
||||||
|
AllowBots: False
|
||||||
|
Required: True
|
||||||
|
LockRace: True
|
||||||
|
Race: nod
|
||||||
|
LockColor: True
|
||||||
|
ColorRamp: 3,255,127
|
||||||
|
LockSpawn: True
|
||||||
|
LockTeam: True
|
||||||
|
Enemies: GDI, Civilians
|
||||||
|
|
||||||
|
Actors:
|
||||||
|
Actor0: sbag
|
||||||
|
Location: 54,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor1: sbag
|
||||||
|
Location: 50,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor2: sbag
|
||||||
|
Location: 49,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor3: sbag
|
||||||
|
Location: 48,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor4: sbag
|
||||||
|
Location: 47,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor5: sbag
|
||||||
|
Location: 46,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor6: sbag
|
||||||
|
Location: 45,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor7: sbag
|
||||||
|
Location: 44,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor8: sbag
|
||||||
|
Location: 43,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor9: sbag
|
||||||
|
Location: 42,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor10: sbag
|
||||||
|
Location: 41,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor11: sbag
|
||||||
|
Location: 40,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor12: sbag
|
||||||
|
Location: 54,28
|
||||||
|
Owner: GDI
|
||||||
|
Actor13: cycl
|
||||||
|
Location: 48,28
|
||||||
|
Owner: GDI
|
||||||
|
Actor14: cycl
|
||||||
|
Location: 47,28
|
||||||
|
Owner: GDI
|
||||||
|
Actor15: cycl
|
||||||
|
Location: 46,28
|
||||||
|
Owner: GDI
|
||||||
|
Actor16: sbag
|
||||||
|
Location: 40,28
|
||||||
|
Owner: GDI
|
||||||
|
Actor17: sbag
|
||||||
|
Location: 54,27
|
||||||
|
Owner: GDI
|
||||||
|
Actor18: cycl
|
||||||
|
Location: 48,27
|
||||||
|
Owner: GDI
|
||||||
|
Actor19: cycl
|
||||||
|
Location: 46,27
|
||||||
|
Owner: GDI
|
||||||
|
Actor20: sbag
|
||||||
|
Location: 40,27
|
||||||
|
Owner: GDI
|
||||||
|
Actor21: sbag
|
||||||
|
Location: 54,26
|
||||||
|
Owner: GDI
|
||||||
|
Actor22: cycl
|
||||||
|
Location: 48,26
|
||||||
|
Owner: GDI
|
||||||
|
Actor23: cycl
|
||||||
|
Location: 47,26
|
||||||
|
Owner: GDI
|
||||||
|
Actor24: cycl
|
||||||
|
Location: 46,26
|
||||||
|
Owner: GDI
|
||||||
|
Actor25: sbag
|
||||||
|
Location: 40,26
|
||||||
|
Owner: GDI
|
||||||
|
Actor26: sbag
|
||||||
|
Location: 54,25
|
||||||
|
Owner: GDI
|
||||||
|
Actor27: sbag
|
||||||
|
Location: 40,25
|
||||||
|
Owner: GDI
|
||||||
|
Actor28: sbag
|
||||||
|
Location: 54,24
|
||||||
|
Owner: GDI
|
||||||
|
Actor29: sbag
|
||||||
|
Location: 54,23
|
||||||
|
Owner: GDI
|
||||||
|
Actor30: sbag
|
||||||
|
Location: 54,22
|
||||||
|
Owner: GDI
|
||||||
|
Actor31: sbag
|
||||||
|
Location: 54,21
|
||||||
|
Owner: GDI
|
||||||
|
Actor32: sbag
|
||||||
|
Location: 40,21
|
||||||
|
Owner: GDI
|
||||||
|
Actor33: sbag
|
||||||
|
Location: 54,20
|
||||||
|
Owner: GDI
|
||||||
|
Actor34: sbag
|
||||||
|
Location: 40,20
|
||||||
|
Owner: GDI
|
||||||
|
Actor35: sbag
|
||||||
|
Location: 54,19
|
||||||
|
Owner: GDI
|
||||||
|
Actor36: sbag
|
||||||
|
Location: 40,19
|
||||||
|
Owner: GDI
|
||||||
|
Actor37: sbag
|
||||||
|
Location: 54,18
|
||||||
|
Owner: GDI
|
||||||
|
Actor38: sbag
|
||||||
|
Location: 40,18
|
||||||
|
Owner: GDI
|
||||||
|
Actor39: sbag
|
||||||
|
Location: 54,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor40: sbag
|
||||||
|
Location: 53,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor41: sbag
|
||||||
|
Location: 52,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor42: sbag
|
||||||
|
Location: 51,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor43: sbag
|
||||||
|
Location: 50,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor44: sbag
|
||||||
|
Location: 49,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor45: sbag
|
||||||
|
Location: 48,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor46: sbag
|
||||||
|
Location: 47,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor47: sbag
|
||||||
|
Location: 46,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor48: sbag
|
||||||
|
Location: 45,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor49: sbag
|
||||||
|
Location: 44,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor50: sbag
|
||||||
|
Location: 43,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor51: sbag
|
||||||
|
Location: 42,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor52: sbag
|
||||||
|
Location: 41,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor53: sbag
|
||||||
|
Location: 40,17
|
||||||
|
Owner: GDI
|
||||||
|
Actor54: t18
|
||||||
|
Location: 28,31
|
||||||
|
Owner: Neutral
|
||||||
|
Actor55: t08
|
||||||
|
Location: 25,26
|
||||||
|
Owner: Neutral
|
||||||
|
Actor56: t08
|
||||||
|
Location: 27,21
|
||||||
|
Owner: Neutral
|
||||||
|
Actor57: t18
|
||||||
|
Location: 25,20
|
||||||
|
Owner: Neutral
|
||||||
|
Actor58: t18
|
||||||
|
Location: 33,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor59: t18
|
||||||
|
Location: 23,48
|
||||||
|
Owner: Neutral
|
||||||
|
Actor60: t08
|
||||||
|
Location: 52,38
|
||||||
|
Owner: Neutral
|
||||||
|
Actor61: t08
|
||||||
|
Location: 55,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor62: rock6
|
||||||
|
Location: 24,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor63: t08
|
||||||
|
Location: 32,58
|
||||||
|
Owner: Neutral
|
||||||
|
Actor64: t08
|
||||||
|
Location: 35,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor65: t08
|
||||||
|
Location: 30,50
|
||||||
|
Owner: Neutral
|
||||||
|
Actor66: t08
|
||||||
|
Location: 35,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor67: t08
|
||||||
|
Location: 37,56
|
||||||
|
Owner: Neutral
|
||||||
|
Actor68: t08
|
||||||
|
Location: 16,53
|
||||||
|
Owner: Neutral
|
||||||
|
Actor69: t08
|
||||||
|
Location: 25,61
|
||||||
|
Owner: Neutral
|
||||||
|
Actor70: t08
|
||||||
|
Location: 17,41
|
||||||
|
Owner: Neutral
|
||||||
|
Actor71: t08
|
||||||
|
Location: 49,34
|
||||||
|
Owner: Neutral
|
||||||
|
Actor72: t08
|
||||||
|
Location: 27,48
|
||||||
|
Owner: Neutral
|
||||||
|
Actor73: t08
|
||||||
|
Location: 34,36
|
||||||
|
Owner: Neutral
|
||||||
|
Actor74: t08
|
||||||
|
Location: 25,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor75: t08
|
||||||
|
Location: 43,30
|
||||||
|
Owner: Neutral
|
||||||
|
Actor76: rock1
|
||||||
|
Location: 45,29
|
||||||
|
Owner: Neutral
|
||||||
|
Actor77: t18
|
||||||
|
Location: 48,44
|
||||||
|
Owner: Neutral
|
||||||
|
Actor78: t18
|
||||||
|
Location: 58,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor79: t18
|
||||||
|
Location: 35,38
|
||||||
|
Owner: Neutral
|
||||||
|
Actor80: t18
|
||||||
|
Location: 50,55
|
||||||
|
Owner: Neutral
|
||||||
|
Actor81: t18
|
||||||
|
Location: 23,15
|
||||||
|
Owner: Neutral
|
||||||
|
Actor82: t18
|
||||||
|
Location: 15,13
|
||||||
|
Owner: Neutral
|
||||||
|
Actor83: t08
|
||||||
|
Location: 39,14
|
||||||
|
Owner: Neutral
|
||||||
|
Actor85: nuke
|
||||||
|
Location: 44,18
|
||||||
|
Owner: GDI
|
||||||
|
Actor86: v35
|
||||||
|
Location: 36,57
|
||||||
|
Owner: Civilians
|
||||||
|
Actor87: v34
|
||||||
|
Location: 34,56
|
||||||
|
Owner: Civilians
|
||||||
|
Actor88: v33
|
||||||
|
Location: 32,56
|
||||||
|
Owner: Civilians
|
||||||
|
Actor89: v30
|
||||||
|
Location: 36,51
|
||||||
|
Owner: Civilians
|
||||||
|
Actor90: v30
|
||||||
|
Location: 30,52
|
||||||
|
Owner: Civilians
|
||||||
|
Actor91: v29
|
||||||
|
Location: 36,52
|
||||||
|
Owner: Civilians
|
||||||
|
Actor92: v27
|
||||||
|
Location: 24,53
|
||||||
|
Owner: Civilians
|
||||||
|
Actor93: v27
|
||||||
|
Location: 25,53
|
||||||
|
Owner: Civilians
|
||||||
|
Actor94: v27
|
||||||
|
Location: 26,53
|
||||||
|
Owner: Civilians
|
||||||
|
Actor95: v26
|
||||||
|
Location: 31,53
|
||||||
|
Owner: Civilians
|
||||||
|
Actor96: v25
|
||||||
|
Location: 30,50
|
||||||
|
Owner: Civilians
|
||||||
|
Actor97: v24
|
||||||
|
Location: 29,52
|
||||||
|
Owner: Civilians
|
||||||
|
Actor98: v23
|
||||||
|
Location: 32,57
|
||||||
|
Owner: Civilians
|
||||||
|
Actor99: v22
|
||||||
|
Location: 35,53
|
||||||
|
Owner: Civilians
|
||||||
|
Actor100: v21
|
||||||
|
Location: 25,57
|
||||||
|
Owner: Civilians
|
||||||
|
Actor101: v20
|
||||||
|
Location: 26,54
|
||||||
|
Owner: Civilians
|
||||||
|
Actor104: silo
|
||||||
|
Location: 52,20
|
||||||
|
Owner: GDI
|
||||||
|
Actor106: gtwr
|
||||||
|
Location: 55,29
|
||||||
|
Owner: GDI
|
||||||
|
Actor107: gtwr
|
||||||
|
Location: 49,30
|
||||||
|
Owner: GDI
|
||||||
|
Actor108: hq
|
||||||
|
Location: 52,25
|
||||||
|
Owner: GDI
|
||||||
|
Actor109: proc
|
||||||
|
Location: 48,21
|
||||||
|
Owner: GDI
|
||||||
|
Actor110: pyle
|
||||||
|
Location: 46,18
|
||||||
|
Owner: GDI
|
||||||
|
Actor111: nuke
|
||||||
|
Location: 42,18
|
||||||
|
Owner: GDI
|
||||||
|
Actor113: mtnk
|
||||||
|
Location: 19,38
|
||||||
|
Owner: GDI
|
||||||
|
Actor114: jeep
|
||||||
|
Location: 19,52
|
||||||
|
Owner: GDI
|
||||||
|
Actor115: mtnk
|
||||||
|
Location: 36,37
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 160
|
||||||
|
Actor116: jeep
|
||||||
|
Location: 29,24
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 96
|
||||||
|
Actor117: mtnk
|
||||||
|
Location: 24,48
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 192
|
||||||
|
Actor118: mtnk
|
||||||
|
Location: 28,42
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 160
|
||||||
|
Actor128: e2
|
||||||
|
Location: 18,41
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 1
|
||||||
|
Actor129: e2
|
||||||
|
Location: 42,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 4
|
||||||
|
Actor130: e2
|
||||||
|
Location: 43,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 3
|
||||||
|
Actor131: e2
|
||||||
|
Location: 43,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 1
|
||||||
|
Actor132: e2
|
||||||
|
Location: 42,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 2
|
||||||
|
Actor133: e1
|
||||||
|
Location: 41,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 2
|
||||||
|
Actor134: e1
|
||||||
|
Location: 41,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 3
|
||||||
|
Actor135: e1
|
||||||
|
Location: 41,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 4
|
||||||
|
Actor136: e1
|
||||||
|
Location: 41,28
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 1
|
||||||
|
Actor137: e3
|
||||||
|
Location: 27,45
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 160
|
||||||
|
SubCell: 4
|
||||||
|
Actor138: e1
|
||||||
|
Location: 25,58
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 160
|
||||||
|
SubCell: 3
|
||||||
|
Actor139: c3
|
||||||
|
Location: 36,58
|
||||||
|
Owner: Civilians
|
||||||
|
SubCell: 0
|
||||||
|
Actor140: c5
|
||||||
|
Location: 37,58
|
||||||
|
Owner: Civilians
|
||||||
|
SubCell: 0
|
||||||
|
Actor141: e1
|
||||||
|
Location: 31,59
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 192
|
||||||
|
SubCell: 4
|
||||||
|
Actor142: e2
|
||||||
|
Location: 31,57
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 4
|
||||||
|
Actor143: e2
|
||||||
|
Location: 37,54
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 0
|
||||||
|
Actor144: e2
|
||||||
|
Location: 34,60
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 192
|
||||||
|
SubCell: 3
|
||||||
|
Actor157: e1
|
||||||
|
Location: 22,60
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 1
|
||||||
|
Actor158: e1
|
||||||
|
Location: 17,39
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 4
|
||||||
|
Actor160: e3
|
||||||
|
Location: 27,46
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 32
|
||||||
|
SubCell: 1
|
||||||
|
Actor161: e3
|
||||||
|
Location: 33,45
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 192
|
||||||
|
SubCell: 4
|
||||||
|
Actor162: e2
|
||||||
|
Location: 34,45
|
||||||
|
Owner: GDI
|
||||||
|
Facing: 224
|
||||||
|
SubCell: 0
|
||||||
|
waypoint27: waypoint
|
||||||
|
Location: 60,18
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint26: waypoint
|
||||||
|
Location: 15,15
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint25: waypoint
|
||||||
|
Location: 54,52
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint17: waypoint
|
||||||
|
Location: 53,53
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint10: waypoint
|
||||||
|
Location: 59,23
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint9: waypoint
|
||||||
|
Location: 52,13
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint8: waypoint
|
||||||
|
Location: 59,13
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint7: waypoint
|
||||||
|
Location: 23,46
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint6: waypoint
|
||||||
|
Location: 37,46
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint5: waypoint
|
||||||
|
Location: 37,41
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint4: waypoint
|
||||||
|
Location: 26,40
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint3: waypoint
|
||||||
|
Location: 24,31
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint2: waypoint
|
||||||
|
Location: 32,23
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint1: waypoint
|
||||||
|
Location: 44,24
|
||||||
|
Owner: Neutral
|
||||||
|
waypoint0: waypoint
|
||||||
|
Location: 59,18
|
||||||
|
Owner: Neutral
|
||||||
|
UnitsEntryVehicle: waypoint
|
||||||
|
Location: 18,12
|
||||||
|
Owner: Neutral
|
||||||
|
UnitsRallyVehicle1: waypoint
|
||||||
|
Location: 18,21
|
||||||
|
Owner: Neutral
|
||||||
|
UnitsRallyVehicle2: waypoint
|
||||||
|
Location: 18,19
|
||||||
|
Owner: Neutral
|
||||||
|
UnitsEntryGunner: waypoint
|
||||||
|
Location: 16,12
|
||||||
|
Owner: Neutral
|
||||||
|
UnitsRallyGunner: waypoint
|
||||||
|
Location: 16,20
|
||||||
|
Owner: Neutral
|
||||||
|
UnitsEntryRocket: waypoint
|
||||||
|
Location: 22,12
|
||||||
|
Owner: Neutral
|
||||||
|
UnitsRallyRocket: waypoint
|
||||||
|
Location: 20,20
|
||||||
|
Owner: Neutral
|
||||||
|
ChnEntry: waypoint
|
||||||
|
Location: 26,61
|
||||||
|
Owner: Neutral
|
||||||
|
Detonator: CRATE.plain
|
||||||
|
Location: 47, 27
|
||||||
|
Owner: GDI
|
||||||
|
Chn1Actor1: fact
|
||||||
|
Location: 48,18
|
||||||
|
Owner: GDI
|
||||||
|
Chn1Actor2: silo
|
||||||
|
Location: 51,18
|
||||||
|
Owner: GDI
|
||||||
|
Chn2Actor1: weap
|
||||||
|
Location: 51,21
|
||||||
|
Owner: GDI
|
||||||
|
Atk1Actor1: gtwr
|
||||||
|
Location: 39,25
|
||||||
|
Owner: GDI
|
||||||
|
Atk1Actor2: gtwr
|
||||||
|
Location: 39,21
|
||||||
|
Owner: GDI
|
||||||
|
Atk2Actor1: e2
|
||||||
|
Location: 18,36
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 3
|
||||||
|
Atk2Actor2: e2
|
||||||
|
Location: 17,36
|
||||||
|
Owner: GDI
|
||||||
|
SubCell: 1
|
||||||
|
|
||||||
|
Smudges:
|
||||||
|
|
||||||
|
Rules:
|
||||||
|
Player:
|
||||||
|
-ConquestVictoryConditions:
|
||||||
|
MissionObjectives:
|
||||||
|
EarlyGameOver: true
|
||||||
|
World:
|
||||||
|
-CrateSpawner:
|
||||||
|
-SpawnMPUnits:
|
||||||
|
-MPStartLocations:
|
||||||
|
ObjectivesPanel:
|
||||||
|
PanelName: MISSION_OBJECTIVES
|
||||||
|
LuaScript:
|
||||||
|
Scripts: nod06b.lua
|
||||||
|
^Vehicle:
|
||||||
|
Tooltip:
|
||||||
|
GenericVisibility: Enemy
|
||||||
|
ShowOwnerRow: false
|
||||||
|
^Tank:
|
||||||
|
Tooltip:
|
||||||
|
GenericVisibility: Enemy
|
||||||
|
ShowOwnerRow: false
|
||||||
|
^Infantry:
|
||||||
|
Tooltip:
|
||||||
|
GenericVisibility: Enemy
|
||||||
|
ShowOwnerRow: false
|
||||||
|
^Plane:
|
||||||
|
Tooltip:
|
||||||
|
GenericVisibility: Enemy
|
||||||
|
ShowOwnerRow: false
|
||||||
|
^Ship:
|
||||||
|
Tooltip:
|
||||||
|
GenericVisibility: Enemy
|
||||||
|
ShowOwnerRow: false
|
||||||
|
^Building:
|
||||||
|
Tooltip:
|
||||||
|
GenericVisibility: Enemy
|
||||||
|
ShowOwnerRow: false
|
||||||
|
^Husk:
|
||||||
|
Tooltip:
|
||||||
|
GenericVisibility: Enemy
|
||||||
|
ShowOwnerRow: false
|
||||||
|
^CivBuildingHusk:
|
||||||
|
Tooltip:
|
||||||
|
ShowOwnerRow: false
|
||||||
|
FLARE:
|
||||||
|
Tooltip:
|
||||||
|
ShowOwnerRow: false
|
||||||
|
|
||||||
|
Sequences:
|
||||||
|
|
||||||
|
VoxelSequences:
|
||||||
|
|
||||||
|
Weapons:
|
||||||
|
|
||||||
|
Voices:
|
||||||
|
|
||||||
|
Notifications:
|
||||||
|
|
||||||
|
Translations:
|
||||||
189
mods/cnc/maps/nod06b/nod06b.lua
Normal file
189
mods/cnc/maps/nod06b/nod06b.lua
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
NodUnitsVehicle1 = { 'bggy', 'bggy', 'bike', 'bike', 'bike' }
|
||||||
|
NodUnitsVehicle2 = { 'ltnk', 'ltnk', 'ltnk' }
|
||||||
|
NodUnitsGunner = { 'e1', 'e1', 'e1', 'e1', 'e1', 'e1' }
|
||||||
|
NodUnitsRocket = { 'e3', 'e3', 'e3', 'e3', 'e3', 'e3' }
|
||||||
|
Gdi1Units = { 'e1', 'e1', 'e2', 'e2', 'e2' }
|
||||||
|
|
||||||
|
HuntCellTriggerActivator = { CPos.New(61,34), CPos.New(60,34), CPos.New(59,34), CPos.New(58,34), CPos.New(57,34), CPos.New(56,34), CPos.New(55,34), CPos.New(61,33), CPos.New(60,33), CPos.New(59,33), CPos.New(58,33), CPos.New(57,33), CPos.New(56,33) }
|
||||||
|
DzneCellTriggerActivator = { CPos.New(50,30), CPos.New(49,30), CPos.New(48,30), CPos.New(47,30), CPos.New(46,30), CPos.New(45,30), CPos.New(50,29), CPos.New(49,29), CPos.New(48,29), CPos.New(47,29), CPos.New(46,29), CPos.New(45,29), CPos.New(50,28), CPos.New(49,28), CPos.New(48,28), CPos.New(47,28), CPos.New(46,28), CPos.New(45,28), CPos.New(50,27), CPos.New(49,27), CPos.New(46,27), CPos.New(45,27), CPos.New(50,26), CPos.New(49,26), CPos.New(48,26), CPos.New(47,26), CPos.New(46,26), CPos.New(45,26), CPos.New(50,25), CPos.New(49,25), CPos.New(48,25), CPos.New(47,25), CPos.New(46,25), CPos.New(45,25) }
|
||||||
|
Win1CellTriggerActivator = { CPos.New(47,27) }
|
||||||
|
Win2CellTriggerActivator = { CPos.New(57,57), CPos.New(56,57), CPos.New(55,57), CPos.New(57,56), CPos.New(56,56), CPos.New(55,56), CPos.New(57,55), CPos.New(56,55), CPos.New(55,55), CPos.New(57,54), CPos.New(56,54), CPos.New(55,54), CPos.New(57,53), CPos.New(56,53), CPos.New(55,53), CPos.New(57,52), CPos.New(56,52), CPos.New(55,52) }
|
||||||
|
ChnCellTriggerActivator = { CPos.New(61,52), CPos.New(60,52), CPos.New(59,52), CPos.New(58,52), CPos.New(61,51), CPos.New(60,51), CPos.New(59,51), CPos.New(58,51), CPos.New(61,50), CPos.New(60,50), CPos.New(59,50), CPos.New(58,50) }
|
||||||
|
|
||||||
|
Chn1ActorTriggerActivator = { Chn1Actor1, Chn1Actor2 }
|
||||||
|
Chn2ActorTriggerActivator = { Chn2Actor1 }
|
||||||
|
Atk1ActorTriggerActivator = { Atk1Actor1, Atk1Actor2 }
|
||||||
|
Atk2ActorTriggerActivator = { Atk2Actor1, Atk2Actor2 }
|
||||||
|
|
||||||
|
Chn1Waypoints = { ChnEntry.Location, waypoint0.Location }
|
||||||
|
Chn2Waypoints = { ChnEntry.Location, waypoint0.Location }
|
||||||
|
Gdi5Waypoint = { waypoint1, waypoint2, waypoint3, waypoint4, waypoint5, waypoint6, waypoint7 }
|
||||||
|
|
||||||
|
HuntTriggerFunction = function()
|
||||||
|
local list = GDI.GetGroundAttackers()
|
||||||
|
Utils.Do(list, function(unit)
|
||||||
|
IdleHunt(unit)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
Win1TriggerFunction = function()
|
||||||
|
NodObjective2 = Nod.AddPrimaryObjective("Move to the evacuation point")
|
||||||
|
Nod.MarkCompletedObjective(NodObjective1)
|
||||||
|
end
|
||||||
|
|
||||||
|
Chn1TriggerFunction = function()
|
||||||
|
if not Chn1Switch then
|
||||||
|
local cargo = Reinforcements.ReinforceWithTransport(GDI, 'tran', Gdi1Units, Chn1Waypoints, { ChnEntry.Location })[2]
|
||||||
|
Utils.Do(cargo, function(actor)
|
||||||
|
IdleHunt(actor)
|
||||||
|
end)
|
||||||
|
Chn1Switch = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Atk1TriggerFunction = function()
|
||||||
|
if not Atk1Switch then
|
||||||
|
for type, count in pairs({ ['e2'] = 2, ['jeep'] = 1, ['e1'] = 2}) do
|
||||||
|
MyActors = Utils.Take(count, GDI.GetActorsByType(type))
|
||||||
|
Utils.Do(MyActors, function(actor)
|
||||||
|
IdleHunt(actor)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
Atk1Switch = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Atk2TriggerFunction = function()
|
||||||
|
if not Atk2Switch then
|
||||||
|
for type, count in pairs({ ['e2'] = 2, ['e1'] = 2}) do
|
||||||
|
MyActors = Utils.Take(count, GDI.GetActorsByType(type))
|
||||||
|
Utils.Do(MyActors, function(actor)
|
||||||
|
MoveAndHunt(actor, Gdi5Waypoint)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
Atk2Switch = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Chn2TriggerFunction = function()
|
||||||
|
if not Chn2Switch then
|
||||||
|
local cargo = Reinforcements.ReinforceWithTransport(GDI, 'tran', Gdi1Units, Chn2Waypoints, { ChnEntry.Location })[2]
|
||||||
|
Utils.Do(cargo, function(actor)
|
||||||
|
IdleHunt(actor)
|
||||||
|
end)
|
||||||
|
Chn2Switch = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
MoveAndHunt = function(unit, waypoints)
|
||||||
|
if unit ~= nil then
|
||||||
|
Utils.Do(waypoints, function(waypoint)
|
||||||
|
unit.AttackMove(waypoint.Location)
|
||||||
|
end)
|
||||||
|
IdleHunt(unit)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
InsertNodUnits = function()
|
||||||
|
Media.PlaySpeechNotification(Nod, "Reinforce")
|
||||||
|
Camera.Position = UnitsRallyVehicle2.CenterPosition
|
||||||
|
|
||||||
|
Reinforcements.Reinforce(Nod, NodUnitsVehicle1, { UnitsEntryVehicle.Location, UnitsRallyVehicle1.Location }, 10)
|
||||||
|
Reinforcements.Reinforce(Nod, NodUnitsVehicle2, { UnitsEntryVehicle.Location, UnitsRallyVehicle2.Location }, 15)
|
||||||
|
Reinforcements.Reinforce(Nod, NodUnitsGunner, { UnitsEntryGunner.Location, UnitsRallyGunner.Location }, 15)
|
||||||
|
Reinforcements.Reinforce(Nod, NodUnitsRocket, { UnitsEntryRocket.Location, UnitsRallyRocket.Location }, 25)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
WorldLoaded = function()
|
||||||
|
GDI = Player.GetPlayer("GDI")
|
||||||
|
Nod = Player.GetPlayer("Nod")
|
||||||
|
|
||||||
|
Trigger.OnObjectiveAdded(Nod, function(p, id)
|
||||||
|
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnObjectiveCompleted(Nod, function(p, id)
|
||||||
|
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed")
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnObjectiveFailed(Nod, function(p, id)
|
||||||
|
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed")
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnPlayerWon(Nod, function()
|
||||||
|
Media.PlaySpeechNotification(Nod, "Win")
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnPlayerLost(Nod, function()
|
||||||
|
Media.PlaySpeechNotification(Nod, "Lose")
|
||||||
|
end)
|
||||||
|
|
||||||
|
NodObjective1 = Nod.AddPrimaryObjective("Steal the GDI nuclear detonator")
|
||||||
|
GDIObjective = GDI.AddPrimaryObjective("Stop the Nod taskforce from escaping with the detonator")
|
||||||
|
|
||||||
|
InsertNodUnits()
|
||||||
|
|
||||||
|
Trigger.OnEnteredFootprint(HuntCellTriggerActivator, function(a, id)
|
||||||
|
if a.Owner == Nod then
|
||||||
|
HuntTriggerFunction()
|
||||||
|
Trigger.RemoveFootprintTrigger(id)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnEnteredFootprint(DzneCellTriggerActivator, function(a, id)
|
||||||
|
if a.Owner == Nod then
|
||||||
|
Actor.Create('flare', true, { Owner = Nod, Location = waypoint17.Location })
|
||||||
|
Trigger.RemoveFootprintTrigger(id)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnEnteredFootprint(Win1CellTriggerActivator, function(a, id)
|
||||||
|
if a.Owner == Nod then
|
||||||
|
Win1TriggerFunction()
|
||||||
|
Trigger.RemoveFootprintTrigger(id)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnEnteredFootprint(Win2CellTriggerActivator, function(a, id)
|
||||||
|
if a.Owner == Nod and NodObjective2 then
|
||||||
|
Nod.MarkCompletedObjective(NodObjective2)
|
||||||
|
Trigger.RemoveFootprintTrigger(id)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
OnAnyDamaged(Chn1ActorTriggerActivator, Chn1TriggerFunction)
|
||||||
|
|
||||||
|
OnAnyDamaged(Atk1ActorTriggerActivator, Atk1TriggerFunction)
|
||||||
|
|
||||||
|
OnAnyDamaged(Atk2ActorTriggerActivator, Atk2TriggerFunction)
|
||||||
|
|
||||||
|
OnAnyDamaged(Chn2ActorTriggerActivator, Chn2TriggerFunction)
|
||||||
|
|
||||||
|
Trigger.OnEnteredFootprint(ChnCellTriggerActivator, function(a, id)
|
||||||
|
if a.Owner == Nod then
|
||||||
|
Reinforcements.Reinforce(Nod, { 'tran' }, { ChnEntry.Location, waypoint17.Location }, 11)
|
||||||
|
Trigger.RemoveFootprintTrigger(id)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
Tick = function()
|
||||||
|
if Nod.HasNoRequiredUnits() then
|
||||||
|
if DateTime.GameTime > 2 then
|
||||||
|
GDI.MarkCompletedObjective(GDIObjective)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
IdleHunt = function(unit)
|
||||||
|
if not unit.IsDead then
|
||||||
|
Trigger.OnIdle(unit, unit.Hunt)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
OnAnyDamaged = function(actors, func)
|
||||||
|
Utils.Do(actors, function(actor)
|
||||||
|
Trigger.OnDamaged(actor, func)
|
||||||
|
end)
|
||||||
|
end
|
||||||
@@ -18,7 +18,7 @@ Nod Campaign:
|
|||||||
./mods/cnc/maps/nod04b
|
./mods/cnc/maps/nod04b
|
||||||
./mods/cnc/maps/nod05
|
./mods/cnc/maps/nod05
|
||||||
./mods/cnc/maps/nod06a
|
./mods/cnc/maps/nod06a
|
||||||
|
./mods/cnc/maps/nod06b
|
||||||
|
|
||||||
Funpark Campaign:
|
Funpark Campaign:
|
||||||
./mods/cnc/maps/funpark01
|
./mods/cnc/maps/funpark01
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user