From 7d6f367d84880518545d6a22c7f11d0074a8fe70 Mon Sep 17 00:00:00 2001 From: Moshe Schmidt Date: Mon, 13 Apr 2015 22:31:51 +0200 Subject: [PATCH] Added CnC: gdi05b --- .../Scripting/Global/UtilsGlobal.cs | 6 + .../Scripting/Properties/PlayerProperties.cs | 16 + OpenRA.sln | 1 + mods/cnc/maps/gdi05b/gdi05b.lua | 194 +++++ mods/cnc/maps/gdi05b/map.bin | Bin 0 -> 20485 bytes mods/cnc/maps/gdi05b/map.png | Bin 0 -> 40782 bytes mods/cnc/maps/gdi05b/map.yaml | 786 ++++++++++++++++++ mods/cnc/missions.yaml | 1 + 8 files changed, 1004 insertions(+) create mode 100644 mods/cnc/maps/gdi05b/gdi05b.lua create mode 100644 mods/cnc/maps/gdi05b/map.bin create mode 100644 mods/cnc/maps/gdi05b/map.png create mode 100644 mods/cnc/maps/gdi05b/map.yaml diff --git a/OpenRA.Mods.Common/Scripting/Global/UtilsGlobal.cs b/OpenRA.Mods.Common/Scripting/Global/UtilsGlobal.cs index 955e58b4d7..68feddcb9f 100644 --- a/OpenRA.Mods.Common/Scripting/Global/UtilsGlobal.cs +++ b/OpenRA.Mods.Common/Scripting/Global/UtilsGlobal.cs @@ -59,6 +59,12 @@ namespace OpenRA.Mods.Common.Scripting return true; } + [Desc("Returns the first n values from a collection.")] + public LuaValue[] Take(int n, LuaValue[] source) + { + return source.Take(n).ToArray(); + } + [Desc("Skips over the first numElements members of a table and return the rest.")] public LuaTable Skip(LuaTable table, int numElements) { diff --git a/OpenRA.Mods.Common/Scripting/Properties/PlayerProperties.cs b/OpenRA.Mods.Common/Scripting/Properties/PlayerProperties.cs index fbedf9b41a..4be4b6839a 100644 --- a/OpenRA.Mods.Common/Scripting/Properties/PlayerProperties.cs +++ b/OpenRA.Mods.Common/Scripting/Properties/PlayerProperties.cs @@ -9,6 +9,7 @@ #endregion using System; +using System.Collections.Generic; using System.Linq; using Eluant; using OpenRA.Mods.Common.Traits; @@ -32,5 +33,20 @@ namespace OpenRA.Mods.Common.Scripting .Where(a => a.Owner == Player && !a.IsDead && a.IsInWorld && a.HasTrait()) .ToArray(); } + + [Desc("Returns all living actors of the specified type of this player")] + public Actor[] GetActorsByType(string type) + { + var result = new List(); + + ActorInfo ai; + if (!Context.World.Map.Rules.Actors.TryGetValue(type, out ai)) + throw new LuaException("Unknown actor type '{0}'".F(type)); + + result.AddRange(Player.World.ActorMap.ActorsInWorld() + .Where(actor => actor.Owner == Player && !actor.IsDead && actor.IsInWorld && actor.Info.Name == ai.Name)); + + return result.ToArray(); + } } } diff --git a/OpenRA.sln b/OpenRA.sln index 5f261293e6..60e0005e27 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -30,6 +30,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts", mods\cnc\maps\gdi04b\gdi04b.lua = mods\cnc\maps\gdi04b\gdi04b.lua mods\cnc\maps\gdi04c\gdi04c.lua = mods\cnc\maps\gdi04c\gdi04c.lua mods\cnc\maps\gdi05a\gdi05a.lua = mods\cnc\maps\gdi05a\gdi05a.lua + mods\cnc\maps\gdi05b\gdi05b.lua = mods\cnc\maps\gdi05b\gdi05b.lua mods\cnc\maps\nod01\nod01.lua = mods\cnc\maps\nod01\nod01.lua mods\cnc\maps\nod02a\nod02a.lua = mods\cnc\maps\nod02a\nod02a.lua mods\cnc\maps\nod02b\nod02b.lua = mods\cnc\maps\nod02b\nod02b.lua diff --git a/mods/cnc/maps/gdi05b/gdi05b.lua b/mods/cnc/maps/gdi05b/gdi05b.lua new file mode 100644 index 0000000000..8ec36d355e --- /dev/null +++ b/mods/cnc/maps/gdi05b/gdi05b.lua @@ -0,0 +1,194 @@ +AllToHuntTrigger = +{ + Silo1, Proc1, Silo2, Silo3, Silo4, Afld1, Hand1, Nuke1, Nuke2, Nuke3, Fact1 +} + +AtkRoute1 = { waypoint4.Location, waypoint5.Location, waypoint6.Location, waypoint7.Location, waypoint8.Location } +AtkRoute2 = { waypoint0.Location, waypoint1.Location, waypoint2.Location, waypoint3.Location } + +AutoCreateTeams = +{ + { { ['e1'] = 1, ['e3'] = 3 }, AtkRoute2 }, + { { ['e1'] = 3, ['e3'] = 1 }, AtkRoute2 }, + { { ['e3'] = 4 } , AtkRoute1 }, + { { ['e1'] = 4 } , AtkRoute1 }, + { { ['bggy'] = 1 } , AtkRoute1 }, + { { ['bggy'] = 1 } , AtkRoute2 }, + { { ['ltnk'] = 1 } , AtkRoute1 }, + { { ['ltnk'] = 1 } , AtkRoute2 } +} + +RepairThreshold = 0.6 + +Atk1Delay = DateTime.Seconds(40) +Atk2Delay = DateTime.Seconds(60) +Atk3Delay = DateTime.Seconds(70) +Atk4Delay = DateTime.Seconds(90) +AutoAtkStartDelay = DateTime.Seconds(115) +AutoAtkMinDelay = DateTime.Seconds(45) +AutoAtkMaxDelay = DateTime.Seconds(90) + +Atk5CellTriggers = +{ + CPos.New(17,55), CPos.New(16,55), CPos.New(15,55), CPos.New(50,54), CPos.New(49,54), + CPos.New(48,54), CPos.New(16,54), CPos.New(15,54), CPos.New(14,54), CPos.New(50,53), + CPos.New(49,53), CPos.New(48,53), CPos.New(50,52), CPos.New(49,52) +} + +GdiBase = { GdiNuke1, GdiProc1, GdiWeap1, GdiNuke2, GdiPyle1, GdiSilo1, GdiSilo2, GdiHarv } +GdiUnits = { "e2", "e2", "e2", "e2", "e1", "e1", "e1", "e1", "mtnk", "mtnk", "jeep", "jeep", "apc" } +NodSams = { Sam1, Sam2, Sam3, Sam4 } + +AllToHunt = function() + local list = nod.GetGroundAttackers() + Utils.Do(list, function(unit) + unit.Hunt() + end) +end + +MoveThenHunt = function(actors, path) + Utils.Do(actors, function(actor) + actor.Patrol(path, false) + IdleHunt(actor) + end) +end + +AutoCreateTeam = function() + local team = Utils.Random(AutoCreateTeams) + for type, count in pairs(team[1]) do + MoveThenHunt(Utils.Take(count, nod.GetActorsByType(type)), team[2]) + end + + Trigger.AfterDelay(Utils.RandomInteger(AutoAtkMinDelay, AutoAtkMaxDelay), AutoCreateTeam) +end + +DiscoverGdiBase = function(actor, discoverer) + if baseDiscovered or not discoverer == gdi then + return + end + + Utils.Do(GdiBase, function(actor) + actor.Owner = gdi + end) + GdiHarv.FindResources() + + baseDiscovered = true + + gdiObjective3 = gdi.AddPrimaryObjective("Eliminate all Nod forces in the area") + gdi.MarkCompletedObjective(gdiObjective1) +end + +Atk1TriggerFunction = function() + MoveThenHunt(Utils.Take(2, nod.GetActorsByType('e1')), AtkRoute1) + MoveThenHunt(Utils.Take(3, nod.GetActorsByType('e3')), AtkRoute1) +end + +Atk2TriggerFunction = function() + MoveThenHunt(Utils.Take(3, nod.GetActorsByType('e1')), AtkRoute2) + MoveThenHunt(Utils.Take(3, nod.GetActorsByType('e3')), AtkRoute2) +end + +Atk3TriggerFunction = function() + MoveThenHunt(Utils.Take(1, nod.GetActorsByType('bggy')), AtkRoute1) +end + +Atk4TriggerFunction = function() + MoveThenHunt(Utils.Take(1, nod.GetActorsByType('bggy')), AtkRoute2) +end + +Atk5TriggerFunction = function() + MoveThenHunt(Utils.Take(1, nod.GetActorsByType('ltnk')), AtkRoute2) +end + +StartProduction = function(type) + if Hand1.IsInWorld then + Hand1.Build(type) + Trigger.AfterDelay(DateTime.Seconds(30), function() StartProduction(type) end) + end +end + +InsertGdiUnits = function() + Reinforcements.Reinforce(gdi, GdiUnits, { UnitsEntry.Location, UnitsRally.Location }, 15) +end + +IdleHunt = function(unit) + if not unit.IsDead then + Trigger.OnIdle(unit, unit.Hunt) + end +end + +WorldLoaded = function() + gdi = Player.GetPlayer("GDI") + gdiBase = Player.GetPlayer("AbandonedBase") + nod = Player.GetPlayer("Nod") + + Trigger.OnObjectiveAdded(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective") + end) + Trigger.OnObjectiveCompleted(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed") + end) + Trigger.OnObjectiveFailed(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed") + end) + + Trigger.OnPlayerWon(gdi, function() + Media.PlaySpeechNotification(nod, "Win") + end) + + Trigger.OnPlayerLost(gdi, function() + Media.PlaySpeechNotification(nod, "Lose") + end) + + Utils.Do(Map.NamedActors, function(actor) + if actor.Owner == nod and actor.HasProperty("StartBuildingRepairs") then + Trigger.OnDamaged(actor, function(building) + if building.Owner == nod and building.Health < RepairThreshold * building.MaxHealth then + building.StartBuildingRepairs() + end + end) + end + end) + + gdiObjective1 = gdi.AddPrimaryObjective("Find the GDI base") + gdiObjective2 = gdi.AddSecondaryObjective("Destroy all SAM sites to receive air support") + nodObjective = nod.AddPrimaryObjective("Destroy all GDI troops") + + Trigger.AfterDelay(Atk1Delay, Atk1TriggerFunction) + Trigger.AfterDelay(Atk2Delay, Atk2TriggerFunction) + Trigger.AfterDelay(Atk3Delay, Atk3TriggerFunction) + Trigger.AfterDelay(Atk4Delay, Atk4TriggerFunction) + Trigger.OnEnteredFootprint(Atk5CellTriggers, function(a, id) + if a.Owner == gdi then + Atk5TriggerFunction() + Trigger.RemoveFootprintTrigger(id) + end + end) + Trigger.AfterDelay(AutoAtkStartDelay, AutoCreateTeam) + + Trigger.OnAllRemovedFromWorld(AllToHuntTrigger, AllToHunt) + + Trigger.AfterDelay(DateTime.Seconds(40), function() StartProduction({ "e1" }) end) + + Trigger.OnPlayerDiscovered(gdiBase, DiscoverGdiBase) + + Trigger.OnAllKilled(NodSams, function() + gdi.MarkCompletedObjective(gdiObjective2) + Actor.Create("airstrike.proxy", true, { Owner = gdi }) + end) + + Camera.Position = UnitsRally.CenterPosition + + InsertGdiUnits() +end + +Tick = function() + if gdi.HasNoRequiredUnits() then + if DateTime.GameTime > 2 then + nod.MarkCompletedObjective(nodObjective) + end + end + if baseDiscovered and nod.HasNoRequiredUnits() then + gdi.MarkCompletedObjective(gdiObjective3) + end +end diff --git a/mods/cnc/maps/gdi05b/map.bin b/mods/cnc/maps/gdi05b/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..3462de6bff1d85b2ea38e0baa4cbfb1dbb904b49 GIT binary patch literal 20485 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 PUl;4G{Vf9@hk<_r9yik` literal 0 HcmV?d00001 diff --git a/mods/cnc/maps/gdi05b/map.png b/mods/cnc/maps/gdi05b/map.png new file mode 100644 index 0000000000000000000000000000000000000000..8d422c298df842ff81892ffcac8f6edb794012a8 GIT binary patch literal 40782 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