From 9a09421800ddd89ebfb9ed34995918f5b1a8a026 Mon Sep 17 00:00:00 2001 From: Alexander Boll Date: Tue, 27 Jan 2015 16:50:11 +0100 Subject: [PATCH] fixed mission 2a and cleaned the code changed according style code and added production trigger corrected tech tree removed comments and corrected same style issues added gdi tech tree and changed produce to build changed image format and replace spaces with tabs deleted unnecessary tabs, added tooltips and corrected name added lua file from nod 2a changed according style code and added production trigger deleted unnecessary tabs, added tooltips and corrected name fixed image size changed for loops to Utils.Do, removed facing and health from yaml, changed movement function and corrected mission description restored facing values unequal zero und fixed image position Polish things a bit Have player's units move into the map at the start Polish some things --- OpenRA.sln | 1 + mods/cnc/maps/nod02a/map.bin | Bin 0 -> 20497 bytes mods/cnc/maps/nod02a/map.png | Bin 0 -> 43028 bytes mods/cnc/maps/nod02a/map.yaml | 360 ++++++++++++++++++++++++++++++++ mods/cnc/maps/nod02a/nod02a.lua | 264 +++++++++++++++++++++++ mods/cnc/missions.yaml | 1 + 6 files changed, 626 insertions(+) create mode 100644 mods/cnc/maps/nod02a/map.bin create mode 100644 mods/cnc/maps/nod02a/map.png create mode 100644 mods/cnc/maps/nod02a/map.yaml create mode 100644 mods/cnc/maps/nod02a/nod02a.lua diff --git a/OpenRA.sln b/OpenRA.sln index 14e8258a61..118fe03616 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -33,6 +33,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts", 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\nod01\nod01.lua = mods\cnc\maps\nod01\nod01.lua + mods\cnc\maps\nod02a\nod02a.lua = mods\cnc\maps\nod02a\nod02a.lua 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\shellmap\shellmap.lua = mods\cnc\maps\shellmap\shellmap.lua diff --git a/mods/cnc/maps/nod02a/map.bin b/mods/cnc/maps/nod02a/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..4fcece8e79813191fb75439566597e72656b2007 GIT binary patch literal 20497 zcmeI3U2hXd6o%i~^|!Nj5|St-LN9m)&Qd+8BYH%bS*-TgAlZj4vVXdPgO1bJLbHsMY z{d;e)*KBkU$jEeQ5_(Gwj}(sDtaE`JQPFhE@3~4caCM@OZyo~r2%(Wqo=c2-=1i9A zFEu)rj@w9~mzixYb<6JyzDFPb!9WWtXr9ju_GSu=)EKR6=|5_CtZ;18P|6&0J|2fJ zq!%``i@&@`wdOv%fgnKwCkaDsx{zUG66kxRroU@&C0(hyk#3CEs~#K@0Q>5A9CErLx7=mGvNmq!x`!A zDC`&~gdDfNw4TpTRh_njOr}7#a`0p6=#BK&T6Hd+N65&}ss66Ct7_Lc@tI@u#U?-= zPF0_pc6;lA>o)(__1nBrcx$abS2$PiOgc+ib`^Gw5KgO$N9i$Yc`d!RjKX%t;U|t1 zZ};`%(2f0S-7a*?)~S|z<}p#h%Y+~qKH1;0?!0QF#>b{lX*_Z znHfYB;bSuEXQ%v!(xIvY=|I(mbYWnq02nr?=rckC5<*6R51(3cpMVf1U_PIkcD()^ zDjcdlP&iP1p>Sbf*f_hCE`KP34MIZTb;_LeS_Crh?;x{FchmfzP;;K6IsO$xBNZx7PSLxy0!MS2 zb)l$tr*LQf_qxp==O+Prf4NDKDz$G9;>rV+MI_RS+eF$kcnaY^HA3xs35;|2&%!cJ zH!14W*BPkj;4p;1)Au@E@0<}u;Q9~JgTd1n$+CYVH-_8NwlNS3CwIePrehfu$E{4# z&e=1neo%O@%t1I2;r`X-`sw*&HMp&?Z5RLp35f$^J90dQyv+4VG?co`iSH$%aHh?2 ze3(wEXdG zneLf{dS7AR9>J=a1%)JGa&;n|w8=J)dkOT;KiFqGe*RjoKh&xF2?LEji3I9+-$Kxz zsh-&&oJg3QD4fI?fz7jI{0K*ccl`YB{2*Dv#3LrdNrQ)kajJQ$ZmV?8riXVl&K8z7 z$mfIT?RT3$zW?OvlmIHoXG`fQ1bAB>V<75O-JqJNv;;A8xKLQM(~tvym+Q}(-#Iam zhRI|Cobb@W@L~F<$Wv>QmLMiK3snmZ7H!q=2YO6V`s^)z|KOS93FFM9lSc#wA~H!c z86+rHENKZs=6GRI;Dem1yXAMUFyB%)I))1Tr*B{}mw5PHKmU?2z@up78>IBGJo+kq zwT}$C<@fvnm=JjKSPrMf$47wo=U?Vn!bh1i-yr$J@;ieMe`xegmGghLnVsbiNlx+N zHfdwtMw1;LY0YiCwfQqny1}8*a?Bqv-zmIP{Y~Lp%Ae0|G@n;OinS+?=Qh5?qvIm1~_0nE71;Vf@C zLe58sAlk>N(x2CPPtJ5Lc)Vu0C>>PbC(TzRj}Dwj0FucbBhGp)^A-tAuw=_|{{qSF zg&$fBhleAs@)k}A>4OJ9a~Oe^Ptjq-1LxX1eg1mxC8GVW0OhyhKyjcrP#h=@6bFg} z#ew2LaiBO*9QaQ;5T^V?&`~Z)A%vPA8AXm4SMP^O7==NOtK)nfru6HLD<%xZ&%wvj5%t3st!B{bv}nr+-3iZ@LbN zsS#w_)yI8(FKbRuxVL4yv!cJs_e^P(6rXA~TT)N@)2OKpSM-xEUnUm^{;>n!0fQEu A+W-In literal 0 HcmV?d00001 diff --git a/mods/cnc/maps/nod02a/map.png b/mods/cnc/maps/nod02a/map.png new file mode 100644 index 0000000000000000000000000000000000000000..f7eed9db98f5024a7462f29e3e657b00dbea02ac GIT binary patch literal 43028 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 3 +end + +DfndTriggerFunction = function() + local list = GDI.GetGroundAttackers() + Utils.Do(list, function(unit) + unit.Hunt() + end) +end + +Atk2TriggerFunction = function() + local MyActors = getActors(GDI, { ['e1'] = 3 }) + Utils.Do(MyActors, function(actor) + Atk2Movement(actor) + end) +end + +Atk3TriggerFunction = function() + if not Atk3TriggerSwitch then + Atk3TriggerSwitch = true + MyActors = getActors(GDI, { ['e1'] = 4 }) + Utils.Do(MyActors, function(actor) + Atk3Movement(actor) + end) + end +end + +Atk5TriggerFunction = function() + local MyActors = getActors(GDI, { ['e1'] = 3 }) + Utils.Do(MyActors, function(actor) + Atk2Movement(actor) + end) +end + +Atk6TriggerFunction = function() + local MyActors = getActors(GDI, { ['e1'] = 4 }) + Utils.Do(MyActors, function(actor) + Atk3Movement(actor) + end) +end + +Atk7TriggerFunction = function() + local MyActors = getActors(GDI, { ['e1'] = 3 }) + Utils.Do(MyActors, function(actor) + Atk4Movement(actor) + end) +end + +Pat1TriggerFunction = function() + local MyActors = getActors(GDI, { ['e1'] = 3 }) + Utils.Do(MyActors, function(actor) + Pat1Movement(actor) + end) +end + +Atk1Movement = function(unit) + Utils.Do(Atk1Waypoints, function(waypoint) + unit.AttackMove(waypoint.Location) + end) +end + +Atk2Movement = function(unit) + Utils.Do(Atk2Waypoints, function(waypoint) + unit.AttackMove(waypoint.Location) + end) +end + +Atk3Movement = function(unit) + Utils.Do(Atk3Waypoints, function(waypoint) + unit.AttackMove(waypoint.Location) + end) +end + +Atk4Movement = function(unit) + Utils.Do(Atk4Waypoints, function(waypoint) + unit.AttackMove(waypoint.Location) + end) +end + +Pat1Movement = function(unit) + Utils.Do(Pat1Waypoints, function(waypoint) + unit.Move(waypoint.Location) + end) +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("Build a base") + NodObjective2 = Nod.AddPrimaryObjective("Destroy the GDI base") + GDIObjective = GDI.AddPrimaryObjective("Kill all enemies!") + + OnAnyDamaged(Atk3ActorTriggerActivator, Atk3TriggerFunction) + Trigger.OnAllRemovedFromWorld(DfndActorTriggerActivator, DfndTriggerFunction) + + Trigger.AfterDelay(Atk2TriggerFunctionTime, Atk2TriggerFunction) + Trigger.AfterDelay(Atk5TriggerFunctionTime, Atk5TriggerFunction) + Trigger.AfterDelay(Atk6TriggerFunctionTime, Atk6TriggerFunction) + Trigger.AfterDelay(Atk7TriggerFunctionTime, Atk7TriggerFunction) + Trigger.AfterDelay(Pat1TriggerFunctionTime, Pat1TriggerFunction) + + Trigger.OnEnteredFootprint(Atk1CellTriggerActivator, function(a, id) + if a.Owner == Nod then + MyActors = getActors(GDI, { ['e1'] = 5 }) + Utils.Do(MyActors, function(actor) + Atk1Movement(actor) + end) + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.OnEnteredFootprint(Atk4CellTriggerActivator, function(a, id) + if a.Owner == Nod then + MyActors = getActors(GDI, { ['e1'] = 3 } ) + Utils.Do(MyActors, function(actor) + Atk2Movement(actor) + end) + Trigger.RemoveFootprintTrigger(id) + end + end) + + Trigger.AfterDelay(0, getStartUnits) + InsertNodUnits() +end + +Tick = function() + if GDI.HasNoRequiredUnits() then + Nod.MarkCompletedObjective(NodObjective2) + end + + if Nod.HasNoRequiredUnits() then + if DateTime.GameTime > 2 then + GDI.MarkCompletedObjective(GDIObjective) + end + end + + if DateTime.GameTime % DateTime.Seconds(1) == 0 and not Nod.IsObjectiveCompleted(NodObjective1) and CheckForBase(Nod, NodBaseBuildings) then + Nod.MarkCompletedObjective(NodObjective1) + end + + if DateTime.GameTime % DateTime.Seconds(3) == 0 and Barracks.IsInWorld then + checkProduction(GDI) + end +end + +checkProduction = function(player) + local Units = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(actor) + return actor.Owner == player and actor.Type == UnitToRebuild + end) + + if #Units < GDIStartUnits then + local unitsToProduce = GDIStartUnits - #Units + if Barracks.IsInWorld and unitsToProduce > 0 then + local UnitsType = { } + for i = 1, unitsToProduce, 1 do + UnitsType[i] = UnitToRebuild + end + + Barracks.Build(UnitsType) + end + end +end + +getStartUnits = function() + local Units = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(actor) + return actor.Owner == GDI + end) + Utils.Do(Units, function(unit) + if unit.Type == UnitToRebuild then + GDIStartUnits = GDIStartUnits + 1 + end + end) +end diff --git a/mods/cnc/missions.yaml b/mods/cnc/missions.yaml index d91e5b1b15..13b311812b 100644 --- a/mods/cnc/missions.yaml +++ b/mods/cnc/missions.yaml @@ -9,5 +9,6 @@ GDI Campaign: Nod Campaign: ./mods/cnc/maps/nod01 + ./mods/cnc/maps/nod02a ./mods/cnc/maps/nod03a ./mods/cnc/maps/nod03b