From 5108975125533a6e9bba447e4d7ca770f3284202 Mon Sep 17 00:00:00 2001 From: Alexander Boll Date: Tue, 5 May 2015 21:19:14 +0200 Subject: [PATCH] added mission 6c nod --- OpenRA.sln | 1 + mods/cnc/maps/nod06a/map.yaml | 2 +- mods/cnc/maps/nod06a/nod06a.lua | 6 +- mods/cnc/maps/nod06c/map.bin | Bin 0 -> 20497 bytes mods/cnc/maps/nod06c/map.png | Bin 0 -> 39789 bytes mods/cnc/maps/nod06c/map.yaml | 636 ++++++++++++++++++++++++++++++++ mods/cnc/maps/nod06c/nod06c.lua | 168 +++++++++ mods/cnc/missions.yaml | 1 + 8 files changed, 810 insertions(+), 4 deletions(-) create mode 100644 mods/cnc/maps/nod06c/map.bin create mode 100644 mods/cnc/maps/nod06c/map.png create mode 100644 mods/cnc/maps/nod06c/map.yaml create mode 100644 mods/cnc/maps/nod06c/nod06c.lua diff --git a/OpenRA.sln b/OpenRA.sln index 469e1f50a9..7d5e41ea73 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -42,6 +42,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts", 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\nod06b\nod06b.lua = mods\cnc\maps\nod06b\nod06b.lua + mods\cnc\maps\nod06c\nod06c.lua = mods\cnc\maps\nod06c\nod06c.lua mods\cnc\maps\shellmap\shellmap.lua = mods\cnc\maps\shellmap\shellmap.lua EndProjectSection EndProject diff --git a/mods/cnc/maps/nod06a/map.yaml b/mods/cnc/maps/nod06a/map.yaml index 49fb0ada6b..42c6891745 100644 --- a/mods/cnc/maps/nod06a/map.yaml +++ b/mods/cnc/maps/nod06a/map.yaml @@ -592,7 +592,7 @@ Actors: UnitsRallyRight: waypoint Location: 27,20 Owner: Neutral - ChnEnrty: waypoint + ChnEntry: waypoint Location: 32,61 Owner: Neutral Obj2UnitsEntry: waypoint diff --git a/mods/cnc/maps/nod06a/nod06a.lua b/mods/cnc/maps/nod06a/nod06a.lua index d16df4226e..eb6bd17ef3 100644 --- a/mods/cnc/maps/nod06a/nod06a.lua +++ b/mods/cnc/maps/nod06a/nod06a.lua @@ -16,8 +16,8 @@ Chn1ActorTriggerActivator = { Chn1Activator1, Chn1Activator2, Chn1Activator3, Ch Chn2ActorTriggerActivator = { Chn2Activator1, Chn2Activator2, Chn2Activator3 } Obj2ActorTriggerActivator = { Chn1Activator1, Chn1Activator2, Chn1Activator3, Chn1Activator4, Chn1Activator5, Chn2Activator1, Chn2Activator2, Chn2Activator3, Atk3Activator } -Chn1Waypoints = { ChnEnrty.Location, waypoint5.Location } -Chn2Waypoints = { ChnEnrty.Location, waypoint6.Location } +Chn1Waypoints = { ChnEntry.Location, waypoint5.Location } +Chn2Waypoints = { ChnEntry.Location, waypoint6.Location } Gdi3Waypoints = { waypoint1, waypoint3, waypoint7, waypoint8, waypoint9 } Gdi4Waypoints = { waypoint4, waypoint10, waypoint9, waypoint11, waypoint9, waypoint10 } Gdi5Waypoints = { waypoint1, waypoint4 } @@ -166,7 +166,7 @@ WorldLoaded = function() Trigger.OnEnteredFootprint(Chn3CellTriggerActivator, function(a, id) if a.Owner == Nod then - Reinforcements.Reinforce(Nod, { 'tran' }, { ChnEnrty.Location, waypoint17.Location }, 11) + Reinforcements.Reinforce(Nod, { 'tran' }, { ChnEntry.Location, waypoint17.Location }, 11) Trigger.RemoveFootprintTrigger(id) end end) diff --git a/mods/cnc/maps/nod06c/map.bin b/mods/cnc/maps/nod06c/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..7a7be1626dfd1798c6285c259b1eb04b6f9c81a2 GIT binary patch literal 20497 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 literal 0 HcmV?d00001 diff --git a/mods/cnc/maps/nod06c/map.png b/mods/cnc/maps/nod06c/map.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc43f016d09d717d61951822a2007e921f2ae09 GIT binary patch literal 39789 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 b(U<=Rv^$^X4GY-K00000NkvXXu0mjfv1gPR literal 0 HcmV?d00001 diff --git a/mods/cnc/maps/nod06c/map.yaml b/mods/cnc/maps/nod06c/map.yaml new file mode 100644 index 0000000000..9ff8d542cf --- /dev/null +++ b/mods/cnc/maps/nod06c/map.yaml @@ -0,0 +1,636 @@ +MapFormat: 7 + +RequiresMod: cnc + +Title: Steal The Detonator (c) + +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,16,44,42 + +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: 4000 + ConfigurableStartingUnits: False + ShortGame: False + +Players: + PlayerReference@GDI: + Name: GDI + Playable: False + Race: gdi + ColorRamp: 31,222,183 + 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 + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: gdi + +Actors: + Actor0: brik + Location: 31,33 + Owner: Neutral + Actor1: brik + Location: 30,33 + Owner: Neutral + Actor2: brik + Location: 29,33 + Owner: Neutral + Actor3: brik + Location: 28,33 + Owner: Neutral + Actor4: brik + Location: 27,33 + Owner: Neutral + Actor5: brik + Location: 26,33 + Owner: Neutral + Actor6: brik + Location: 25,33 + Owner: Neutral + Actor7: brik + Location: 21,33 + Owner: Neutral + Actor8: brik + Location: 20,33 + Owner: Neutral + Actor9: brik + Location: 19,33 + Owner: Neutral + Actor10: brik + Location: 18,33 + Owner: Neutral + Actor11: brik + Location: 17,33 + Owner: Neutral + Actor12: brik + Location: 31,32 + Owner: Neutral + Actor13: brik + Location: 26,32 + Owner: Neutral + Actor14: brik + Location: 25,32 + Owner: Neutral + Actor15: brik + Location: 21,32 + Owner: Neutral + Actor16: brik + Location: 20,32 + Owner: Neutral + Actor17: brik + Location: 17,32 + Owner: Neutral + Actor18: brik + Location: 31,31 + Owner: Neutral + Actor19: brik + Location: 18,31 + Owner: Neutral + Actor20: brik + Location: 17,31 + Owner: Neutral + Actor21: brik + Location: 31,30 + Owner: Neutral + Actor22: brik + Location: 30,30 + Owner: Neutral + Actor23: brik + Location: 18,30 + Owner: Neutral + Actor24: brik + Location: 17,30 + Owner: Neutral + Actor25: brik + Location: 31,29 + Owner: Neutral + Actor26: brik + Location: 30,29 + Owner: Neutral + Actor27: brik + Location: 31,24 + Owner: Neutral + Actor28: brik + Location: 30,24 + Owner: Neutral + Actor29: brik + Location: 31,23 + Owner: Neutral + Actor30: brik + Location: 30,23 + Owner: Neutral + Actor31: cycl + Location: 25,23 + Owner: Neutral + Actor32: cycl + Location: 23,23 + Owner: Neutral + Actor33: brik + Location: 31,22 + Owner: Neutral + Actor34: cycl + Location: 25,22 + Owner: Neutral + Actor35: cycl + Location: 23,22 + Owner: Neutral + Actor36: brik + Location: 31,21 + Owner: Neutral + Actor37: brik + Location: 30,21 + Owner: Neutral + Actor38: cycl + Location: 25,21 + Owner: Neutral + Actor39: cycl + Location: 24,21 + Owner: Neutral + Actor40: cycl + Location: 23,21 + Owner: Neutral + Actor41: brik + Location: 31,20 + Owner: Neutral + Actor42: brik + Location: 30,20 + Owner: Neutral + Actor43: t18 + Location: 19,56 + Owner: Neutral + Actor44: t08 + Location: 33,29 + Owner: Neutral + Actor45: t08 + Location: 32,23 + Owner: Neutral + Actor46: t18 + Location: 31,30 + Owner: Neutral + Actor47: t18 + Location: 29,33 + Owner: Neutral + Actor48: t18 + Location: 18,20 + Owner: Neutral + Actor49: t18 + Location: 50,44 + Owner: Neutral + Actor50: t18 + Location: 34,36 + Owner: Neutral + Actor51: rock5 + Location: 35,42 + Owner: Neutral + Actor52: rock4 + Location: 46,41 + Owner: Neutral + Actor53: rock6 + Location: 38,34 + Owner: Neutral + Actor54: t08 + Location: 47,52 + Owner: Neutral + Actor55: t08 + Location: 34,46 + Owner: Neutral + Actor56: t08 + Location: 46,35 + Owner: Neutral + Actor57: t18 + Location: 19,51 + Owner: Neutral + Actor59: proc + Location: 22,29 + Owner: GDI + Actor60: v30 + Location: 29,39 + Owner: GDI + Actor61: v35 + Location: 24,39 + Owner: GDI + Actor62: v34 + Location: 24,40 + Owner: GDI + Actor63: v36 + Location: 28,40 + Owner: GDI + Actor64: v23 + Location: 28,39 + Owner: GDI + Actor65: gtwr + Location: 32,29 + Owner: GDI + Actor66: nuke + Location: 20,29 + Owner: GDI + Actor67: nuke + Location: 21,27 + Owner: GDI + Actor68: hq + Location: 28,20 + Owner: GDI + Actor69: gtwr + Location: 32,24 + Owner: GDI + Actor72: jeep + Location: 37,40 + Owner: GDI + Facing: 96 + Actor73: jeep + Location: 47,18 + Owner: GDI + Facing: 160 + Actor74: mtnk + Location: 17,39 + Owner: GDI + Actor75: mtnk + Location: 16,39 + Owner: GDI + Actor76: mtnk + Location: 15,39 + Owner: GDI + Actor83: mtnk + Location: 39,27 + Owner: GDI + Facing: 96 + Actor85: jeep + Location: 29,30 + Owner: GDI + Facing: 224 + Actor86: e3 + Location: 35,36 + Owner: GDI + SubCell: 0 + Actor87: e1 + Location: 35,36 + Owner: GDI + SubCell: 4 + Actor88: e1 + Location: 35,36 + Owner: GDI + SubCell: 3 + Actor89: e1 + Location: 49,22 + Owner: GDI + Facing: 128 + SubCell: 1 + Actor92: e2 + Location: 16,25 + Owner: GDI + SubCell: 3 + Actor93: e2 + Location: 15,26 + Owner: GDI + SubCell: 2 + Actor96: e3 + Location: 36,25 + Owner: GDI + Facing: 96 + SubCell: 2 + Actor99: e1 + Location: 30,26 + Owner: GDI + Facing: 96 + SubCell: 4 + Actor100: e1 + Location: 48,21 + Owner: GDI + Facing: 160 + SubCell: 4 + Actor101: e3 + Location: 51,42 + Owner: GDI + Facing: 128 + SubCell: 2 + Actor102: e3 + Location: 52,42 + Owner: GDI + Facing: 128 + SubCell: 2 + Actor103: e1 + Location: 40,30 + Owner: GDI + Facing: 96 + SubCell: 2 + Actor104: e2 + Location: 47,35 + Owner: GDI + SubCell: 1 + Actor105: e2 + Location: 35,46 + Owner: GDI + Facing: 128 + SubCell: 1 + Actor114: e2 + Location: 43,29 + Owner: GDI + SubCell: 4 + Actor118: e3 + Location: 41,29 + Owner: GDI + SubCell: 0 + Actor119: e2 + Location: 27,31 + Owner: GDI + SubCell: 1 + Actor120: e2 + Location: 23,24 + Owner: GDI + Facing: 128 + SubCell: 4 + Actor121: e2 + Location: 25,24 + Owner: GDI + Facing: 128 + SubCell: 3 + Actor122: e2 + Location: 27,31 + Owner: GDI + SubCell: 2 + waypoint27: waypoint + Location: 17,50 + Owner: Neutral + waypoint26: waypoint + Location: 46,46 + Owner: Neutral + waypoint25: waypoint + Location: 17,49 + Owner: Neutral + waypoint10: waypoint + Location: 16,50 + Owner: Neutral + waypoint7: waypoint + Location: 31,26 + Owner: Neutral + waypoint6: waypoint + Location: 37,25 + Owner: Neutral + waypoint5: waypoint + Location: 42,42 + Owner: Neutral + waypoint4: waypoint + Location: 42,56 + Owner: Neutral + waypoint3: waypoint + Location: 55,56 + Owner: Neutral + waypoint2: waypoint + Location: 55,44 + Owner: Neutral + waypoint1: waypoint + Location: 55,32 + Owner: Neutral + waypoint0: waypoint + Location: 43,32 + Owner: Neutral + UnitsEntryLeft: waypoint + Location: 56,57 + Owner: Neutral + UnitsRallyLeft: waypoint + Location: 53,51 + Owner: Neutral + UnitsEntryMiddle: waypoint + Location: 57,57 + Owner: Neutral + UnitsRallyMiddle: waypoint + Location: 55,50 + Owner: Neutral + UnitsEntryRight: waypoint + Location: 58,57 + Owner: Neutral + UnitsRallyRight: waypoint + Location: 57,51 + Owner: Neutral + ChnEntry: waypoint + Location: 41,57 + Owner: Neutral + Atk2Actor1: e2 + Location: 44,29 + Owner: GDI + SubCell: 3 + Atk2Actor2: e1 + Location: 42,29 + Owner: GDI + Facing: 96 + SubCell: 2 + Atk2Actor3: e3 + Location: 41,29 + Owner: GDI + SubCell: 2 + Atk2Actor4: e1 + Location: 40,30 + Owner: GDI + Facing: 96 + SubCell: 1 + Atk2Actor5: e1 + Location: 43,29 + Owner: GDI + Facing: 96 + SubCell: 1 + Atk2Actor6: mtnk + Location: 42,30 + Owner: GDI + Facing: 96 + Detonator: CRATE.plain + Location: 24, 22 + Owner: GDI + Factory: weap + Location: 20,23 + Owner: GDI + Barracks: pyle + Location: 26,20 + Owner: GDI + Yard: fact + Location: 20,21 + Owner: GDI + +Smudges: + sc2 41,40 0: + sc4 43,39 0: + cr1 42,39 0: + cr1 43,36 0: + sc1 29,30 0: + sc1 28,30 0: + sc3 29,23 0: + sc4 19,21 0: + sc5 32,20 0: + +Rules: + Player: + -ConquestVictoryConditions: + MissionObjectives: + EarlyGameOver: true + World: + -CrateSpawner: + -SpawnMPUnits: + -MPStartLocations: + ObjectivesPanel: + PanelName: MISSION_OBJECTIVES + LuaScript: + Scripts: nod06c.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 + ^Bridge: + Invulnerable: + E2: + Buildable: + Prerequisites: ~pyle + NUK2: + Buildable: + Prerequisites: ~disabled + GUN: + Buildable: + Prerequisites: ~disabled + CYCL: + Buildable: + Prerequisites: ~disabled + FIX: + Buildable: + Prerequisites: ~disabled + HPAD: + Buildable: + Prerequisites: ~disabled + OBLI: + Buildable: + Prerequisites: ~disabled + BRIK: + Buildable: + Prerequisites: ~disabled + TMPL: + Buildable: + Prerequisites: ~disabled + FTNK: + Buildable: + Prerequisites: ~disabled + STNK: + Buildable: + Prerequisites: ~disabled + ARTY: + Buildable: + Prerequisites: ~disabled + E5: + Buildable: + Prerequisites: ~disabled + RMBO: + Buildable: + Prerequisites: ~disabled + MLRS: + Buildable: + Prerequisites: ~disabled + MCV: + Buildable: + Prerequisites: ~disabled + LST: + Buildable: + Prerequisites: ~disabled + C17: + Buildable: + Prerequisites: ~disabled + GTWR: + Buildable: + Prerequisites: ~disabled + ATWR: + Buildable: + Prerequisites: ~disabled + WEAP: + Buildable: + Prerequisites: ~disabled + EYE: + Buildable: + Prerequisites: ~disabled + E3: + Buildable: + Prerequisites: ~disabled + HARV: + Buildable: + Prerequisites: ~disabled + MTNK: + Buildable: + Prerequisites: ~disabled + HTNK: + Buildable: + Prerequisites: ~disabled + TRAN: + Buildable: + Prerequisites: ~disabled + ORCA: + Buildable: + Prerequisites: ~disabled + MSAM: + Buildable: + Prerequisites: ~disabled + HELI: + Buildable: + Prerequisites: ~disabled + FLARE: + Tooltip: + ShowOwnerRow: false + +Sequences: + +VoxelSequences: + +Weapons: + +Voices: + +Notifications: + +Translations: diff --git a/mods/cnc/maps/nod06c/nod06c.lua b/mods/cnc/maps/nod06c/nod06c.lua new file mode 100644 index 0000000000..5c93efee23 --- /dev/null +++ b/mods/cnc/maps/nod06c/nod06c.lua @@ -0,0 +1,168 @@ +NodStartUnitsVehicle = { 'bggy', 'bggy', 'ltnk', 'ltnk', 'ltnk', 'bike', 'bike'} +NodStartUnitsRight = { 'e1', 'e1', 'e1', 'e1' } +NodStartUnitsMiddle = { 'e6', 'e6', 'e6', 'e6', 'e3', 'e3' } +NodStartUnitsLeft = { 'e4', 'e4', 'e4', 'e4' } + +Win1CellTriggerActivator = { CPos.New(24,22) } +Win2CellTriggerActivator = { CPos.New(20,55), CPos.New(19,55), CPos.New(20,54), CPos.New(19,54), CPos.New(20,53), CPos.New(19,53), CPos.New(20,52), CPos.New(19,52) } +DzneCellTriggerActivator = { CPos.New(26,24), CPos.New(25,24), CPos.New(24,24), CPos.New(23,24), CPos.New(22,24), CPos.New(26,23), CPos.New(25,23), CPos.New(24,23), CPos.New(23,23), CPos.New(22,23), CPos.New(26,22), CPos.New(25,22), CPos.New(23,22), CPos.New(22,22), CPos.New(25,21), CPos.New(24,21), CPos.New(23,21), CPos.New(22,21), CPos.New(25,20), CPos.New(24,20), CPos.New(23,20), CPos.New(22,20) } +ChinCellTriggerActivator = { CPos.New(31,49), CPos.New(30,49), CPos.New(29,49), CPos.New(28,49), CPos.New(27,49), CPos.New(26,49), CPos.New(25,49), CPos.New(24,49), CPos.New(23,49), CPos.New(22,49), CPos.New(21,49), CPos.New(20,49), CPos.New(31,48), CPos.New(30,48), CPos.New(29,48), CPos.New(28,48), CPos.New(27,48), CPos.New(26,48), CPos.New(25,48), CPos.New(24,48), CPos.New(23,48), CPos.New(22,48), CPos.New(21,48), CPos.New(20,48), CPos.New(31,47), CPos.New(30,47), CPos.New(29,47), CPos.New(28,47), CPos.New(27,47), CPos.New(26,47), CPos.New(25,47), CPos.New(24,47), CPos.New(23,47), CPos.New(22,47), CPos.New(21,47), CPos.New(20,47) } + +Atk2ActorTriggerActivator = { Atk2Actor1, Atk2Actor2, Atk2Actor3, Atk2Actor4, Atk2Actor5, Atk2Actor6 } + +Gdi1Units = { 'e1', 'e1', 'e1', 'e2', 'e2' } +Gdi2Units = { 'e1', 'e1', 'e3', 'e3', 'e3' } +Gdi3Units = { 'jeep', 'jeep', 'e3', 'e3' } +Gdi4Units = { 'mtnk', 'e2', 'e2', 'e2', 'e2' } +Gdi5Units = { 'e1', 'e2', 'e2', 'e3', 'e3' } + +AllUnits = { Gdi1Units, Gdi2Units, Gdi3Units, Gdi4Units, Gdi5Units } +Grd1Waypoints = { waypoint0, waypoint1, waypoint2, waypoint3, waypoint4, waypoint5 } + +Atk1TriggerFunctionTime = DateTime.Seconds(3) +ProdTriggerFunctionTime = DateTime.Minutes(5) + +Atk1TriggerFunction = function() + for type, count in pairs({ ['e1'] = 2, ['e2'] = 3 }) do + MyActors = Utils.Take(count, GDI.GetActorsByType(type)) + Utils.Do(MyActors, function(actor) + MovementAndHunt(actor, Grd1Waypoints) + end) + end +end + +Atk2TriggerFunction = function() + for type, count in pairs({ ['e1'] = 2, ['e2'] = 3 , ['jeep'] = 1}) do + MyActors = Utils.Take(count, GDI.GetActorsByType(type)) + Utils.Do(MyActors, function(actor) + IdleHunt(actor) + end) + end +end + +ProdTriggerFunction = function() + local Units = AllUnits[DateTime.GameTime % #AllUnits + 1] + + Utils.Do(Units, function(UnitType) + if (UnitType == 'jeep' or UnitType == 'mtnk') and not Factory.IsDead and Factory.Owner == GDI then + Factory.Build({UnitType}) + elseif (UnitType == 'e1' or UnitType == 'e2' or UnitType == 'e3') and not Barracks.IsDead and Barracks.Owner == GDI then + Barracks.Build({UnitType}) + end + end) + + local list = GDI.GetGroundAttackers() + local counter = 1 + while counter <= 5 do + counter = counter + 1 + if counter <= #list then + IdleHunt(list[counter]) + end + end + + Trigger.AfterDelay(ProdTriggerFunctionTime, ProdTriggerFunction) +end + +MovementAndHunt = function(unit, waypoints) + if unit ~= nil then + Utils.Do(waypoints, function(waypoint) + unit.AttackMove(waypoint.Location) + end) + IdleHunt(unit) + end +end + +InsertNodUnits = function() + Camera.Position = UnitsRallyRight.CenterPosition + + Reinforcements.Reinforce(Nod, NodStartUnitsVehicle, { UnitsEntryMiddle.Location, UnitsRallyMiddle.Location }, 30) + Reinforcements.Reinforce(Nod, NodStartUnitsMiddle, { UnitsEntryMiddle.Location, UnitsRallyMiddle.Location }, 15) + Reinforcements.Reinforce(Nod, NodStartUnitsLeft, { UnitsEntryLeft.Location, UnitsRallyLeft.Location }, 15) + Reinforcements.Reinforce(Nod, NodStartUnitsRight, { UnitsEntryRight.Location, UnitsRallyRight.Location }, 15) +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") + NodObjective3 = Nod.AddSecondaryObjective("Infiltrate the barracks, weapon factory and \nthe construction yard") + GDIObjective = GDI.AddPrimaryObjective("Stop the Nod taskforce from escaping with the detonator") + + InsertNodUnits() + + Trigger.AfterDelay(Atk1TriggerFunctionTime, Atk1TriggerFunction) + + Trigger.OnAllKilled(Atk2ActorTriggerActivator, Atk2TriggerFunction) + + Trigger.OnEnteredFootprint(ChinCellTriggerActivator, function(a, id) + if a.Owner == Nod then + Reinforcements.Reinforce(Nod, { 'tran' }, { ChnEntry.Location, waypoint10.Location }, 11) + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.OnEnteredFootprint(DzneCellTriggerActivator, function(a, id) + if a.Owner == Nod then + Actor.Create('flare', true, { Owner = Nod, Location = waypoint10.Location }) + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.OnEnteredFootprint(Win1CellTriggerActivator, function(a, id) + if a.Owner == Nod then + NodObjective2 = Nod.AddPrimaryObjective("Move to the evacuation point") + Nod.MarkCompletedObjective(NodObjective1) + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.OnEnteredFootprint(Win2CellTriggerActivator, function(a, id) + if a.Owner == Nod and NodObjective1 then + Nod.MarkCompletedObjective(NodObjective2) + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.AfterDelay(ProdTriggerFunctionTime, ProdTriggerFunction) +end + +Tick = function() + if DateTime.GameTime > 2 and Nod.HasNoRequiredUnits() then + GDI.MarkCompletedObjective(GDIObjective) + end + + if DateTime.GameTime % 5 == 0 and Barracks.Owner == Nod and Factory.Owner == Nod and Yard.Owner == Nod then + Nod.MarkCompletedObjective(NodObjective3) + end + + if DateTime.GameTime % 7 == 0 and not Nod.IsObjectiveCompleted(NodObjective3) and (Barracks.IsDead or Factory.IsDead or Yard.IsDead) then + Nod.MarkFailedObjective(NodObjective3) + end +end + +IdleHunt = function(unit) + if not unit.IsDead then + Trigger.OnIdle(unit, unit.Hunt) + end +end diff --git a/mods/cnc/missions.yaml b/mods/cnc/missions.yaml index 9b9f70e58f..f71cb252d4 100644 --- a/mods/cnc/missions.yaml +++ b/mods/cnc/missions.yaml @@ -19,6 +19,7 @@ Nod Campaign: ./mods/cnc/maps/nod05 ./mods/cnc/maps/nod06a ./mods/cnc/maps/nod06b + ./mods/cnc/maps/nod06c Funpark Campaign: ./mods/cnc/maps/funpark01