From 912ab4d1b8cfbcaeb04345ffe31866d23035a927 Mon Sep 17 00:00:00 2001 From: Alexander Boll Date: Wed, 11 Mar 2015 11:03:30 +0100 Subject: [PATCH] added nod4b --- OpenRA.sln | 1 + mods/cnc/maps/nod04a/map.yaml | 2 +- mods/cnc/maps/nod04b/map.bin | Bin 0 -> 20497 bytes mods/cnc/maps/nod04b/map.png | Bin 0 -> 42764 bytes mods/cnc/maps/nod04b/map.yaml | 565 ++++++++++++++++++++++++++++++++ mods/cnc/maps/nod04b/nod04b.lua | 163 +++++++++ mods/cnc/missions.yaml | 1 + 7 files changed, 731 insertions(+), 1 deletion(-) create mode 100644 mods/cnc/maps/nod04b/map.bin create mode 100644 mods/cnc/maps/nod04b/map.png create mode 100644 mods/cnc/maps/nod04b/map.yaml create mode 100644 mods/cnc/maps/nod04b/nod04b.lua diff --git a/OpenRA.sln b/OpenRA.sln index 9963797ee2..d1d53e0ee3 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -37,6 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts", mods\cnc\maps\nod03a\nod03a.lua = mods\cnc\maps\nod03a\nod03a.lua mods\cnc\maps\nod03b\nod03b.lua = mods\cnc\maps\nod03b\nod03b.lua mods\cnc\maps\nod04a\nod04a.lua = mods\cnc\maps\nod04a\nod04a.lua + mods\cnc\maps\nod04b\nod04b.lua = mods\cnc\maps\nod04b\nod04b.lua mods\cnc\maps\shellmap\shellmap.lua = mods\cnc\maps\shellmap\shellmap.lua EndProjectSection EndProject diff --git a/mods/cnc/maps/nod04a/map.yaml b/mods/cnc/maps/nod04a/map.yaml index 5258d81f03..cfdb3d1a7a 100644 --- a/mods/cnc/maps/nod04a/map.yaml +++ b/mods/cnc/maps/nod04a/map.yaml @@ -4,7 +4,7 @@ RequiresMod: cnc Title: Mao Civil War (a) -Description: A small village friendly to our cause has been increasingly harassed by GDI, and the Brotherhood, wishes you to assist them in their efforts. \n\nSeek out the enemy village and destroy it. The event will be disguised as a GDI attack. +Description: A small village friendly to our cause has been increasingly harassed by GDI, and the Brotherhood wishes you to assist them in their efforts.\n\nSeek out the enemy village and destroy it. The event will be disguised as a GDI attack. Author: Westwood Studios diff --git a/mods/cnc/maps/nod04b/map.bin b/mods/cnc/maps/nod04b/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..674281dc6baeb2998c948b7d6ff9282e5ddd3663 GIT binary patch literal 20497 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 {AEwT3cfEcvTvvK%)iv`q3R&* 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 M0i-HZ4>Sq+AJ-_7VgLXD literal 0 HcmV?d00001 diff --git a/mods/cnc/maps/nod04b/map.yaml b/mods/cnc/maps/nod04b/map.yaml new file mode 100644 index 0000000000..60d711d739 --- /dev/null +++ b/mods/cnc/maps/nod04b/map.yaml @@ -0,0 +1,565 @@ +MapFormat: 7 + +RequiresMod: cnc + +Title: Oum Hadjer (b) + +Description: A small village friendly to our cause has been increasingly harassed by GDI, and the Brotherhood wishes you to assist them in their efforts.\n\nSeek out the enemy village and destroy it. The event will be disguised as a GDI attack. + +Author: Westwood Studios + +Tileset: DESERT + +MapSize: 64,64 + +Bounds: 7,17,52,44 + +Visibility: MissionSelector + +Type: Campaign + +Videos: + Briefing: nod4b.vqa + GameLost: nodlose.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 + Race: gdi + ColorRamp: 31,222,183 + Enemies: Nod + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: gdi + Allies: 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 + +Actors: + Actor0: sbag + Location: 58,26 + Owner: Neutral + Actor1: sbag + Location: 57,26 + Owner: Neutral + Actor2: sbag + Location: 56,26 + Owner: Neutral + Actor3: sbag + Location: 55,26 + Owner: Neutral + Actor4: sbag + Location: 54,26 + Owner: Neutral + Actor5: sbag + Location: 53,26 + Owner: Neutral + Actor6: sbag + Location: 52,26 + Owner: Neutral + Actor7: sbag + Location: 51,26 + Owner: Neutral + Actor8: sbag + Location: 50,26 + Owner: Neutral + Actor9: sbag + Location: 49,26 + Owner: Neutral + Actor10: sbag + Location: 48,26 + Owner: Neutral + Actor11: sbag + Location: 47,26 + Owner: Neutral + Actor12: sbag + Location: 58,25 + Owner: Neutral + Actor13: sbag + Location: 47,25 + Owner: Neutral + Actor14: sbag + Location: 58,24 + Owner: Neutral + Actor15: sbag + Location: 47,24 + Owner: Neutral + Actor16: sbag + Location: 58,23 + Owner: Neutral + Actor17: sbag + Location: 58,22 + Owner: Neutral + Actor18: sbag + Location: 58,21 + Owner: Neutral + Actor19: sbag + Location: 47,21 + Owner: Neutral + Actor20: sbag + Location: 58,20 + Owner: Neutral + Actor21: sbag + Location: 47,20 + Owner: Neutral + Actor22: sbag + Location: 58,19 + Owner: Neutral + Actor23: sbag + Location: 47,19 + Owner: Neutral + Actor24: sbag + Location: 58,18 + Owner: Neutral + Actor25: sbag + Location: 57,18 + Owner: Neutral + Actor26: sbag + Location: 48,18 + Owner: Neutral + Actor27: sbag + Location: 47,18 + Owner: Neutral + Actor28: sbag + Location: 58,17 + Owner: Neutral + Actor29: sbag + Location: 57,17 + Owner: Neutral + Actor30: sbag + Location: 56,17 + Owner: Neutral + Actor31: sbag + Location: 55,17 + Owner: Neutral + Actor32: sbag + Location: 54,17 + Owner: Neutral + Actor33: sbag + Location: 53,17 + Owner: Neutral + Actor34: sbag + Location: 52,17 + Owner: Neutral + Actor35: sbag + Location: 51,17 + Owner: Neutral + Actor36: sbag + Location: 50,17 + Owner: Neutral + Actor37: sbag + Location: 49,17 + Owner: Neutral + Actor38: sbag + Location: 48,17 + Owner: Neutral + Actor39: sbag + Location: 47,17 + Owner: Neutral + Actor40: t18 + Location: 47,50 + Owner: Neutral + Actor41: t18 + Location: 46,31 + Owner: Neutral + Actor42: t08 + Location: 39,26 + Owner: Neutral + Actor43: t18 + Location: 37,25 + Owner: Neutral + Actor44: t18 + Location: 27,28 + Owner: Neutral + Actor45: t18 + Location: 54,26 + Owner: Neutral + Actor46: t18 + Location: 49,18 + Owner: Neutral + Actor47: t18 + Location: 23,54 + Owner: Neutral + Actor48: t18 + Location: 34,40 + Owner: Neutral + Actor49: t08 + Location: 16,45 + Owner: Neutral + Actor50: t08 + Location: 14,53 + Owner: Neutral + Actor52: t18 + Location: 13,44 + Owner: Neutral + Actor57: t18 + Location: 36,49 + Owner: Neutral + Actor58: t18 + Location: 44,59 + Owner: Neutral + Actor59: t18 + Location: 11,37 + Owner: Neutral + Actor60: t18 + Location: 25,20 + Owner: Neutral + Actor61: gtwr + Location: 46,21 + Owner: GDI + Actor62: gtwr + Location: 46,24 + Owner: GDI + Actor63: hosp + Location: 48,19 + Owner: GDI + Actor64: pyle + Location: 50,20 + Owner: GDI + Actor65: nuke + Location: 53,21 + Owner: GDI + Actor66: nuke + Location: 52,23 + Owner: GDI + Actor67: silo + Location: 56,24 + Owner: GDI + Actor68: silo + Location: 55,22 + Owner: GDI + Actor69: fact + Location: 53,18 + Owner: GDI + Actor70: hq + Location: 56,19 + Owner: GDI + Actor72: v36 + Location: 12,54 + Owner: Neutral + Actor73: v35 + Location: 10,54 + Owner: Neutral + Actor74: v34 + Location: 11,53 + Owner: Neutral + Actor75: v33 + Location: 15,53 + Owner: Neutral + Actor76: v32 + Location: 12,53 + Owner: Neutral + Actor77: v31 + Location: 10,52 + Owner: Neutral + Actor87: v23 + Location: 9,59 + Owner: Neutral + Actor92: jeep + Location: 51,25 + Owner: GDI + Actor93: jeep + Location: 50,25 + Owner: GDI + Actor94: jeep + Location: 39,48 + Owner: GDI + Facing: 96 + Actor110: e1 + Location: 40,49 + Owner: GDI + Facing: 224 + SubCell: 0 + Actor111: e2 + Location: 38,50 + Owner: GDI + Facing: 224 + SubCell: 2 + Actor112: e2 + Location: 38,49 + Owner: GDI + Facing: 128 + SubCell: 0 + Actor113: e2 + Location: 35,40 + Owner: GDI + SubCell: 0 + Actor114: e2 + Location: 35,40 + Owner: GDI + SubCell: 1 + waypoint27: waypoint + Location: 31,36 + Owner: Neutral + waypoint25: waypoint + Location: 40,43 + Owner: Neutral + waypoint26: waypoint + Location: 28,27 + Owner: Neutral + waypoint11: waypoint + Location: 54,29 + Owner: Neutral + waypoint10: waypoint + Location: 45,28 + Owner: Neutral + waypoint9: waypoint + Location: 52,22 + Owner: Neutral + waypoint8: waypoint + Location: 43,22 + Owner: Neutral + waypoint7: waypoint + Location: 31,22 + Owner: Neutral + waypoint6: waypoint + Location: 21,25 + Owner: Neutral + waypoint5: waypoint + Location: 18,39 + Owner: Neutral + waypoint4: waypoint + Location: 10,48 + Owner: Neutral + waypoint3: waypoint + Location: 19,48 + Owner: Neutral + waypoint2: waypoint + Location: 27,55 + Owner: Neutral + waypoint1: waypoint + Location: 48,56 + Owner: Neutral + waypoint0: waypoint + Location: 54,42 + Owner: Neutral + Convoi: apc + Location: 24,53 + Owner: GDI + CivBuilding1: v26 + Location: 8,51 + Owner: GDI + CivBuilding2: v30 + Location: 17,46 + Owner: GDI + CivBuilding3: v29 + Location: 16,46 + Owner: GDI + CivBuilding4: v28 + Location: 15,45 + Owner: GDI + CivBuilding5: v27 + Location: 14,51 + Owner: GDI + CivBuilding6: v27 + Location: 13,51 + Owner: GDI + CivBuilding7: v27 + Location: 12,51 + Owner: GDI + CivBuilding8: v26 + Location: 14,46 + Owner: GDI + CivBuilding9: v25 + Location: 19,46 + Owner: GDI + CivBuilding10: v24 + Location: 8,47 + Owner: GDI + CivBuilding11: v22 + Location: 9,45 + Owner: GDI + CivBuilding12: v22 + Location: 18,52 + Owner: GDI + CivBuilding13: v21 + Location: 16,51 + Owner: GDI + CivBuilding14: v20 + Location: 8,45 + Owner: GDI + Civilian1: c2 + Location: 11,50 + Owner: GDI + Facing: 224 + SubCell: 0 + Civilian2: c9 + Location: 12,49 + Owner: GDI + Facing: 224 + SubCell: 2 + Civilian3: c8 + Location: 14,49 + Owner: GDI + Facing: 64 + SubCell: 3 + Civilian4: c7 + Location: 13,50 + Owner: GDI + Facing: 224 + SubCell: 0 + Civilian5: c6 + Location: 11,49 + Owner: GDI + Facing: 32 + SubCell: 0 + Civilian6: c5 + Location: 12,50 + Owner: GDI + Facing: 224 + SubCell: 2 + Civilian7: c4 + Location: 10,50 + Owner: GDI + Facing: 32 + SubCell: 1 + Civilian8: c3 + Location: 10,51 + Owner: GDI + Facing: 32 + SubCell: 1 + Actor56: t18 + Location: 19,51 + Owner: Neutral + Actor55: t18 + Location: 20,46 + Owner: Neutral + Actor51: t08 + Location: 13,46 + Owner: Neutral + Actor53: t18 + Location: 7,46 + Owner: Neutral + Actor54: t18 + Location: 11,51 + Owner: Neutral + NodGunner1: e1 + Location: 41,50 + Owner: GDI + Facing: 192 + SubCell: 2 + NodGunner2: e1 + Location: 39,50 + Owner: GDI + SubCell: 0 + NodGunner3: e1 + Location: 40,50 + Owner: GDI + Facing: 64 + SubCell: 0 + EntryPointVehicle: waypoint + Location: 33,13 + Owner: Neutral + RallyPointVehicle: waypoint + Location: 33,30 + Owner: Neutral + EntryPointRocket: waypoint + Location: 35,15 + Owner: Neutral + RallyPointRocket: waypoint + Location: 34,32 + Owner: Neutral + EntryPointGunner: waypoint + Location: 31,15 + Owner: Neutral + RallyPointGunner: waypoint + Location: 32,32 + Owner: Neutral + CameraPoint: waypoint + Location: 32,22 + Owner: Neutral + +Smudges: + +Rules: + Player: + -ConquestVictoryConditions: + MissionObjectives: + EarlyGameOver: true + EnemyWatcher: + World: + -CrateSpawner: + -SpawnMPUnits: + -MPStartLocations: + ObjectivesPanel: + PanelName: MISSION_OBJECTIVES + LuaScript: + Scripts: nod04b.lua + ^Vehicle: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + AnnounceOnSeen: + ^Tank: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + AnnounceOnSeen: + ^Helicopter: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + ^Infantry: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + ^Building: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + ^Wall: + Tooltip: + ShowOwnerRow: false + ^CivBuilding: + Tooltip: + ShowOwnerRow: false + ^CivBuildingHusk: + Tooltip: + ShowOwnerRow: false + ^Husk: + Tooltip: + GenericVisibility: Enemy, Ally, Neutral + GenericStancePrefix: false + ShowOwnerRow: false + TRAN: + RejectsOrders: + Selectable: + Selectable: false + RevealsShroud: + Range: 5c0 + +Sequences: + +VoxelSequences: + +Weapons: + +Voices: + +Notifications: + +Translations: diff --git a/mods/cnc/maps/nod04b/nod04b.lua b/mods/cnc/maps/nod04b/nod04b.lua new file mode 100644 index 0000000000..7b7556dd0c --- /dev/null +++ b/mods/cnc/maps/nod04b/nod04b.lua @@ -0,0 +1,163 @@ +NodUnitsBuggy = { 'bggy', 'bggy', 'bike', 'bike' } +NodUnitsRocket = { 'e3', 'e3', 'e3', 'e3', 'e3', 'e3' } +NodUnitsGunner = { 'e1', 'e1', 'e1', 'e1', 'e1', 'e1' } + +Apc3CellTriggerActivator = { CPos.New(28,58), CPos.New(27,58), CPos.New(28,57), CPos.New(27,57), CPos.New(28,56), CPos.New(27,56), CPos.New(28,55), CPos.New(27,55), CPos.New(28,54), CPos.New(27,54), CPos.New(28,53), CPos.New(27,53) } +Civ1CellTriggerActivator = { CPos.New(24,52), CPos.New(23,52), CPos.New(22,52), CPos.New(23,51), CPos.New(22,51), CPos.New(21,51) } +Civ2CellTriggerActivator = { CPos.New(26,54), CPos.New(25,54), CPos.New(24,54), CPos.New(25,53), CPos.New(24,53), CPos.New(23,53) } + +Apc1Units = { 'c2', 'c3', 'c4', 'c5' } + +WinActorTriggerActivator = { Civilian1, Civilian2, Civilian3, Civilian4, Civilian5, Civilian6, Civilian7, Civilian8, CivBuilding1, CivBuilding2, CivBuilding3, CivBuilding4, CivBuilding5, CivBuilding6, CivBuilding7, CivBuilding8, CivBuilding9, CivBuilding10, CivBuilding11, CivBuilding12, CivBuilding13, CivBuilding14 } +Apc2ActorTriggerActivator = { NodGunner1, NodGunner2, NodGunner3 } + +Apc1Waypoints = { waypoint0.Location, waypoint11.Location, waypoint10.Location, waypoint8.Location, waypoint9.Location } +Apc2Waypoints = { waypoint8, waypoint7, waypoint6, waypoint5, waypoint4 } +Apc3Waypoints = { waypoint3, waypoint2, waypoint1, waypoint0, waypoint11, waypoint10, waypoint8, waypoint9 } +Civ1Waypoints = { waypoint3, waypoint2, waypoint3, waypoint1, waypoint2, waypoint11, waypoint10, waypoint8, waypoint9 } +Civ2Waypoints = { waypoint3, waypoint2, waypoint1, waypoint11, waypoint10, waypoint8, waypoint9 } +Hummer1Waypoints = { waypoint8, waypoint7, waypoint6, waypoint5, waypoint4, waypoint3, waypoint2, waypoint1, waypoint0, waypoint11, waypoint10, waypoint8 } + +Apc1TriggerFunctionTime = DateTime.Seconds(3) + +Apc1TriggerFunction = function() + Reinforcements.ReinforceWithTransport(GDI, 'apc', Apc1Units, Apc1Waypoints, nil, + function(transport, cargo) + Utils.Do(cargo, function(actor) + IdleHunt(actor) + end) + end, + nil) +end + +Hum1TriggerFunction = function(actor, discoverer) + MyActors = Utils.Take(2, GDI.GetActorsByType('jeep')) + Utils.Do(MyActors, function(actor) + MoveAndHunt(actor, Hummer1Waypoints) + end) +end + +Movement = function(unit) + if unit ~= nil then + Utils.Do(Civ1Waypoints, function(waypoint) + unit.AttackMove(waypoint.Location) + end) + end +end + +MoveAndHunt = function(unit) + if unit ~= nil then + Utils.Do(Apc2Waypoints, function(waypoint) + unit.AttackMove(waypoint.Location) + end) + IdleHunt(unit) + end +end + +Apc2TriggerFunction = function() + MyActors = Utils.Take(1, GDI.GetActorsByType('apc')) + Utils.Do(MyActors, function(actor) + MoveAndHunt(actor, Apc2Waypoints) + end) +end + +WinTriggerFunction = function() + Nod.MarkCompletedObjective(NodObjective1) +end + +InsertNodUnits = function() + Camera.Position = CameraPoint.CenterPosition + + Media.PlaySpeechNotification(Nod, "Reinforce") + Reinforcements.ReinforceWithTransport(Nod, 'tran', NodUnitsBuggy, { EntryPointVehicle.Location, RallyPointVehicle.Location }, { EntryPointVehicle.Location }, nil, nil) + Reinforcements.ReinforceWithTransport(Nod, 'tran', NodUnitsRocket, { EntryPointRocket.Location, RallyPointRocket.Location }, { EntryPointRocket.Location }, nil, nil) + Reinforcements.ReinforceWithTransport(Nod, 'tran', NodUnitsGunner, { EntryPointGunner.Location, RallyPointGunner.Location }, { EntryPointGunner.Location }, nil, nil) +end + +WorldLoaded = function() + GDI = Player.GetPlayer("GDI") + Nod = Player.GetPlayer("Nod") + + Trigger.AfterDelay(Apc1TriggerFunctionTime, Apc1TriggerFunction) + + Trigger.OnEnteredFootprint(Civ2CellTriggerActivator, function(a, id) + if a.Owner == Nod then + for type, count in pairs({ ['c6'] = 1, ['c7'] = 1, ['c8'] = 1, ['c9'] = 1 }) do + MyActors = Utils.Take(count, GDI.GetActorsByType(type)) + Utils.Do(MyActors, function(actor) + Movement(actor, Civ2Waypoints) + end) + end + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.OnEnteredFootprint(Civ1CellTriggerActivator, function(a, id) + if a.Owner == Nod then + for type, count in pairs({ ['c2'] = 1, ['c3'] = 1, ['c4'] = 1, ['c5'] = 1 }) do + MyActors = Utils.Take(count, GDI.GetActorsByType(type)) + Utils.Do(MyActors, function(actor) + Movement(actor, Civ1Waypoints) + end) + end + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.OnDiscovered(Convoi, Hum1TriggerFunction) + + Trigger.OnAllRemovedFromWorld(Apc2ActorTriggerActivator, Apc2TriggerFunction) + + Trigger.OnEnteredFootprint(Apc3CellTriggerActivator, function(a, id) + if a.Owner == Nod then + MoveAndHunt(GDI.GetActorsByType('apc')[1], Apc3Waypoints) + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.OnAllRemovedFromWorld(WinActorTriggerActivator, WinTriggerFunction) + + 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) + + GDIObjective = GDI.AddPrimaryObjective("Kill all enemies!") + NodObjective1 = Nod.AddPrimaryObjective("Destroy the village and kill all civilians!") + NodObjective2 = Nod.AddSecondaryObjective("Kill all GDI units in the area.") + + InsertNodUnits() +end + +Tick = function() + if Nod.HasNoRequiredUnits() then + if DateTime.GameTime > 2 then + GDI.MarkCompletedObjective(GDIObjective) + end + end + + if GDI.HasNoRequiredUnits() then + Nod.MarkCompletedObjective(NodObjective2) + 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 4478d1d085..fda4916595 100644 --- a/mods/cnc/missions.yaml +++ b/mods/cnc/missions.yaml @@ -15,3 +15,4 @@ Nod Campaign: ./mods/cnc/maps/nod03a ./mods/cnc/maps/nod03b ./mods/cnc/maps/nod04a + ./mods/cnc/maps/nod04b