From 93da201b81cc011826d8bf4827ed75c52cbdd436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Dec 2013 23:14:22 +0100 Subject: [PATCH] added the second GDI mission --- mods/cnc/maps/gdi02/map.bin | Bin 0 -> 20485 bytes mods/cnc/maps/gdi02/map.yaml | 802 ++++++++++++++++++++++++++++++++ mods/cnc/maps/gdi02/mission.lua | 60 +++ 3 files changed, 862 insertions(+) create mode 100644 mods/cnc/maps/gdi02/map.bin create mode 100644 mods/cnc/maps/gdi02/map.yaml create mode 100644 mods/cnc/maps/gdi02/mission.lua diff --git a/mods/cnc/maps/gdi02/map.bin b/mods/cnc/maps/gdi02/map.bin new file mode 100644 index 0000000000000000000000000000000000000000..f43c89bc984ef6f7dc47e3f3b4f532fe09a93fe5 GIT binary patch literal 20485 zcmeI3O>YxD6orrHGfn!be!eV06e=P33v64#K2lh)Nl|xg^8c0hxxVo4(EluDJQnnEg6P=2UorP@NF zP)QjC{tekp^HQUzzfl+n{!Vt&JmLrZfbgSv4eYN{EJVTmZ}s0Ff~mq()l}^Ue)s<{ zLNHY^RXrWB{+gyd&=dJ30C>TBuR+IuS-YE~Mp)|a$H?5yLGoWwSD zQ>my_S9X5x@caHn{^{}a%b~)deMGHq6>bHp@k;yG3fIC?JUbzL4ExcGpZ{rfR14n}mg6K}lNx6Mp?=-S77& z{Q=qDNp}Vn=MWB_$aA6K&IfW*R1K|^P$*42cGmX9}d{c>$zStJ#QQ*z{!|(b7 z1N`AGF3A(=M8$=4q2g3JH6pACUlb5zvPZ|)i(f*Az_nc>iWUMtrAPf!{^#kFI~8|o z?leA8I8k|_aG~;4;Z#*(!TQBNLLH+~x{+=SXXA;8B@p$u4Znyj9=+x6tE?xx(CFK*4hUgY;l=@#PE#h6sm6 zpz2<_S9xy)ofl?f2|#dv z(_L56m7Rjt2cek%J%#qDf7*Y+hR7f<=W6Fsd_X>^cu;+>aBnOy5;Q>$ezq+)m|=4k zR|;4572^6J6f=+er$_zM{)NxMMgklyR4(H7v{bpY2C&EX#=gG!P_?K16dwk~1_m=9k@cRm`0 z@`FtqcV9#&{aFG%>YvWftS`V|jAo&Fq0v&s(r}u|V_{$L-3^eoS;Q!~v8zwgCl#-x zS1MYCR#j_%|FWH{Z~fEyMSt*v#{mNpdvNKUH1@mQEh2{k?3hCxK3OSWMg3c&P`CE? zueJGm)jzFY@Z)6g&;T2Sh_IqvZ91XQ?QYEE(kb{xjLkeLaggrTujB9c^VhL-Y+zh% z06P&+*FdsG5z{7_llJa+n+#@W>J9q2p(jh)zK!uppfaDVJAcu>~4nZ!N>;ZD{ zTtWwq)CaB9s%-7=@4k5Z)juI|wH+Rw2Q4*typ6(;ayssF=F>x)8vO8OCKN!vnSTI} zg?KmT+g}YHq7P0UK?5+t>> zNT|VPPVfaAx!`#^Q5($6fgQ2v*!d9i>Eut?-S0QZJQQOQZ)e({FMA4mwj_B3@X(p! zZUHKf11sIW-9B^yoNLE@8(l+{*;41A>0P%xLjidTXV)lrB}gw`ow=d6s`*(WCz9{02PGx_@ZXzzpaQ zBx;6SVf;f6M5@;cZ>^M<3YRM1E4(+HJ5SF)z3cD(Pv7mh)W5FZsd%UQjfyu$P5;F@ zMd$IBjq?xw_bs?b{htH)%^uD_yaPX^`RRR>Us-{yKvp0tkQK-ZWCgMUS%IuTRv;^o z703z2Uc%u|b+k<$ytG{Kvp0tkQK-ZWCez*!2ecK%o+dy literal 0 HcmV?d00001 diff --git a/mods/cnc/maps/gdi02/map.yaml b/mods/cnc/maps/gdi02/map.yaml new file mode 100644 index 0000000000..31467f6884 --- /dev/null +++ b/mods/cnc/maps/gdi02/map.yaml @@ -0,0 +1,802 @@ +Selectable: True + +MapFormat: 6 + +Title: Knock out the Refinery + +Author: Westwood Studios + +Tileset: TEMPERAT + +MapSize: 64,64 + +Bounds: 31,31,31,31 + +UseAsShellmap: False + +Type: Campaign + +RequiresMod: cnc + +Options: + Crates: False + Fog: False + Shroud: True + AllyBuildRadius: False + FragileAlliances: False + StartingCash: 5000 + ConfigurableStartingUnits: False + +Players: + PlayerReference@GDI: + Name: GDI + Playable: True + AllowBots: False + Required: True + LockRace: True + Race: gdi + LockColor: True + ColorRamp: 31,222,183 + LockSpawn: True + LockTeam: True + Allies: GDI + Enemies: Nod + PlayerReference@Nod: + Name: Nod + Race: nod + ColorRamp: 3,255,127 + Allies: Nod + Enemies: GDI + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: gdi + +Actors: + Actor0: sbag + Location: 50,55 + Owner: Neutral + Actor1: sbag + Location: 49,55 + Owner: Neutral + Actor2: sbag + Location: 48,55 + Owner: Neutral + Actor3: sbag + Location: 51,54 + Owner: Neutral + Actor4: sbag + Location: 50,54 + Owner: Neutral + Actor5: sbag + Location: 61,38 + Owner: Neutral + Actor6: sbag + Location: 60,38 + Owner: Neutral + Actor7: sbag + Location: 59,38 + Owner: Neutral + Actor8: sbag + Location: 58,38 + Owner: Neutral + Actor9: sbag + Location: 57,38 + Owner: Neutral + Actor10: sbag + Location: 53,38 + Owner: Neutral + Actor11: sbag + Location: 52,38 + Owner: Neutral + Actor12: sbag + Location: 51,38 + Owner: Neutral + Actor13: sbag + Location: 50,38 + Owner: Neutral + Actor14: sbag + Location: 49,38 + Owner: Neutral + Actor15: sbag + Location: 48,38 + Owner: Neutral + Actor16: sbag + Location: 47,38 + Owner: Neutral + Actor17: sbag + Location: 44,38 + Owner: Neutral + Actor18: sbag + Location: 43,38 + Owner: Neutral + Actor19: sbag + Location: 42,38 + Owner: Neutral + Actor20: sbag + Location: 61,37 + Owner: Neutral + Actor21: sbag + Location: 47,37 + Owner: Neutral + Actor22: sbag + Location: 42,37 + Owner: Neutral + Actor23: sbag + Location: 61,36 + Owner: Neutral + Actor24: sbag + Location: 47,36 + Owner: Neutral + Actor25: sbag + Location: 42,36 + Owner: Neutral + Actor26: sbag + Location: 61,35 + Owner: Neutral + Actor27: sbag + Location: 61,34 + Owner: Neutral + Actor28: sbag + Location: 47,34 + Owner: Neutral + Actor29: sbag + Location: 61,33 + Owner: Neutral + Actor30: sbag + Location: 47,33 + Owner: Neutral + Actor31: sbag + Location: 61,32 + Owner: Neutral + Actor32: sbag + Location: 47,32 + Owner: Neutral + Actor33: sbag + Location: 61,31 + Owner: Neutral + Actor34: sbag + Location: 60,31 + Owner: Neutral + Actor35: sbag + Location: 59,31 + Owner: Neutral + Actor36: sbag + Location: 58,31 + Owner: Neutral + Actor37: sbag + Location: 57,31 + Owner: Neutral + Actor38: sbag + Location: 56,31 + Owner: Neutral + Actor39: sbag + Location: 55,31 + Owner: Neutral + Actor40: sbag + Location: 54,31 + Owner: Neutral + Actor41: sbag + Location: 53,31 + Owner: Neutral + Actor42: sbag + Location: 52,31 + Owner: Neutral + Actor43: sbag + Location: 51,31 + Owner: Neutral + Actor44: sbag + Location: 50,31 + Owner: Neutral + Actor45: sbag + Location: 49,31 + Owner: Neutral + Actor46: sbag + Location: 48,31 + Owner: Neutral + Actor47: sbag + Location: 47,31 + Owner: Neutral + Actor48: tc04 + Location: 49,42 + Owner: Neutral + Actor49: t02 + Location: 36,48 + Owner: Neutral + Actor50: t01 + Location: 39,51 + Owner: Neutral + Actor51: t02 + Location: 48,53 + Owner: Neutral + Actor52: t16 + Location: 56,46 + Owner: Neutral + Actor53: tc04 + Location: 57,45 + Owner: Neutral + Actor54: tc05 + Location: 56,42 + Owner: Neutral + Actor55: t01 + Location: 57,49 + Owner: Neutral + Actor56: t02 + Location: 59,47 + Owner: Neutral + Actor57: t01 + Location: 46,50 + Owner: Neutral + Actor58: t01 + Location: 49,48 + Owner: Neutral + Actor59: tc02 + Location: 48,47 + Owner: Neutral + Actor60: t16 + Location: 43,48 + Owner: Neutral + Actor61: t07 + Location: 42,40 + Owner: Neutral + Actor62: t02 + Location: 44,48 + Owner: Neutral + Actor63: tc02 + Location: 44,49 + Owner: Neutral + Actor64: tc01 + Location: 42,41 + Owner: Neutral + Actor65: tc01 + Location: 44,50 + Owner: Neutral + Actor66: t06 + Location: 40,54 + Owner: Neutral + Actor67: tc02 + Location: 58,49 + Owner: Neutral + Actor68: t07 + Location: 41,40 + Owner: Neutral + Actor69: t07 + Location: 61,40 + Owner: Neutral + Actor70: t06 + Location: 39,35 + Owner: Neutral + Actor71: tc05 + Location: 31,34 + Owner: Neutral + Actor72: tc04 + Location: 37,34 + Owner: Neutral + Actor73: tc02 + Location: 31,37 + Owner: Neutral + Actor74: tc02 + Location: 55,45 + Owner: Neutral + Actor75: tc01 + Location: 54,42 + Owner: Neutral + Actor76: t01 + Location: 32,31 + Owner: Neutral + Actor77: tc02 + Location: 33,31 + Owner: Neutral + Actor78: pyle + Location: 55,51 + Owner: GDI + Health: 0.34375 + Facing: 0 + Actor79: silo + Location: 57,32 + Owner: Nod + Health: 1 + Facing: 0 + Actor80: silo + Location: 59,32 + Owner: Nod + Health: 1 + Facing: 0 + Actor81: nuke + Location: 55,32 + Owner: Nod + Health: 1 + Facing: 0 + Actor82: fact + Location: 52,32 + Owner: Nod + Health: 1 + Facing: 0 + Actor83: nuke + Location: 53,52 + Owner: GDI + Health: 0.0390625 + Facing: 0 + NodRefinery: proc + Location: 57,34 + Owner: Nod + Health: 1 + Facing: 0 + Actor85: bggy + Location: 52,39 + Owner: Nod + Health: 0.5195313 + Facing: 96 + Actor87: jeep + Location: 54,49 + Owner: GDI + Health: 0.3320313 + Facing: 96 + Actor88: jeep + Location: 57,49 + Owner: GDI + Health: 1 + Facing: 32 + Actor89: bggy + Location: 33,37 + Owner: Nod + Health: 0.578125 + Facing: 96 + RushBuggy: bggy + Location: 51,50 + Owner: Nod + Health: 0.1835938 + Facing: 96 + Actor91: bggy + Location: 59,39 + Owner: Nod + Health: 0.5 + Facing: 160 + Actor92: jeep + Location: 56,54 + Owner: GDI + Health: 1 + Facing: 160 + Actor93: e1 + Location: 48,32 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 3 + Actor94: e1 + Location: 35,31 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 0 + Actor95: e1 + Location: 39,31 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 4 + Actor96: e1 + Location: 49,32 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 1 + Actor97: e1 + Location: 37,32 + Owner: Nod + Health: 1 + Facing: 224 + SubCell: 0 + Actor98: e1 + Location: 50,34 + Owner: Nod + Health: 1 + Facing: 64 + SubCell: 2 + Actor99: e1 + Location: 50,32 + Owner: Nod + Health: 1 + Facing: 224 + SubCell: 4 + Actor100: e1 + Location: 36,31 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 4 + Actor101: e1 + Location: 49,34 + Owner: Nod + Health: 1 + Facing: 128 + SubCell: 0 + Actor102: e1 + Location: 36,32 + Owner: Nod + Health: 1 + Facing: 128 + SubCell: 1 + Actor103: e1 + Location: 49,33 + Owner: Nod + Health: 1 + Facing: 0 + SubCell: 3 + Actor104: e1 + Location: 48,33 + Owner: Nod + Health: 1 + Facing: 128 + SubCell: 0 + Actor105: e1 + Location: 46,33 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 3 + Actor106: e1 + Location: 46,34 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 0 + Actor107: e1 + Location: 40,37 + Owner: Nod + Health: 1 + Facing: 128 + SubCell: 1 + Actor108: e1 + Location: 40,38 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 0 + Actor109: e1 + Location: 41,37 + Owner: Nod + Health: 1 + Facing: 128 + SubCell: 1 + Actor110: e1 + Location: 41,38 + Owner: Nod + Health: 1 + Facing: 224 + SubCell: 3 + Actor111: e1 + Location: 50,39 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 0 + Actor112: e1 + Location: 60,36 + Owner: Nod + Health: 1 + Facing: 0 + SubCell: 0 + Actor113: e1 + Location: 60,37 + Owner: Nod + Health: 1 + Facing: 0 + SubCell: 0 + Actor114: e1 + Location: 60,37 + Owner: Nod + Health: 1 + Facing: 0 + SubCell: 3 + Actor115: e1 + Location: 35,39 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 1 + Actor116: e1 + Location: 50,37 + Owner: Nod + Health: 1 + Facing: 128 + SubCell: 0 + Actor117: e1 + Location: 58,39 + Owner: Nod + Health: 1 + Facing: 224 + SubCell: 4 + Actor118: e1 + Location: 60,40 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 1 + Actor119: e1 + Location: 61,39 + Owner: Nod + Health: 1 + Facing: 0 + SubCell: 3 + Actor120: e1 + Location: 59,34 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 3 + Actor121: e1 + Location: 60,34 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 1 + Actor122: e1 + Location: 56,32 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 2 + Actor123: e1 + Location: 51,32 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 0 + Actor124: e1 + Location: 60,34 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 4 + RushRifle3: e1 + Location: 52,53 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 0 + Actor126: e1 + Location: 38,49 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 2 + Actor127: e1 + Location: 38,48 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 3 + Actor128: e1 + Location: 53,40 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 2 + Actor129: e1 + Location: 45,36 + Owner: Nod + Health: 1 + Facing: 128 + SubCell: 4 + Actor130: e1 + Location: 50,51 + Owner: GDI + Health: 1 + Facing: 32 + SubCell: 2 + Actor131: e1 + Location: 50,50 + Owner: GDI + Health: 1 + Facing: 64 + SubCell: 0 + Actor132: e1 + Location: 53,49 + Owner: GDI + Health: 1 + Facing: 224 + SubCell: 3 + Actor133: e1 + Location: 51,49 + Owner: GDI + Health: 0.9765625 + Facing: 128 + SubCell: 4 + Actor134: e1 + Location: 52,40 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 2 + Actor135: e1 + Location: 52,50 + Owner: GDI + Health: 0.5195313 + Facing: 224 + SubCell: 4 + Actor136: e1 + Location: 56,49 + Owner: GDI + Health: 1 + Facing: 0 + SubCell: 3 + Actor137: e1 + Location: 55,42 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 0 + Actor138: e1 + Location: 56,42 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 4 + Actor139: e1 + Location: 45,36 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 1 + Actor140: e1 + Location: 44,36 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 4 + RushRifle1: e1 + Location: 54,48 + Owner: Nod + Health: 0.4765625 + Facing: 128 + SubCell: 3 + RushRifle2: e1 + Location: 52,52 + Owner: Nod + Health: 0.3164063 + Facing: 96 + SubCell: 0 + Actor143: e1 + Location: 48,37 + Owner: Nod + Health: 1 + Facing: 160 + SubCell: 4 + Actor144: e1 + Location: 37,37 + Owner: Nod + Health: 1 + Facing: 96 + SubCell: 4 + Actor145: e1 + Location: 50,37 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 2 + Actor146: e1 + Location: 38,32 + Owner: Nod + Health: 1 + Facing: 224 + SubCell: 1 + Actor147: e1 + Location: 49,36 + Owner: Nod + Health: 1 + Facing: 32 + SubCell: 0 + Actor148: e1 + Location: 48,36 + Owner: Nod + Health: 1 + Facing: 224 + SubCell: 4 + waypoint26: waypoint + Location: 49,47 + Owner: Neutral + waypoint6: waypoint + Location: 54,39 + Owner: Neutral + waypoint5: waypoint + Location: 46,37 + Owner: Neutral + waypoint4: waypoint + Location: 46,41 + Owner: Neutral + waypoint3: waypoint + Location: 59,41 + Owner: Neutral + waypoint2: waypoint + Location: 54,55 + Owner: Neutral + waypoint1: waypoint + Location: 38,54 + Owner: Neutral + waypoint0: waypoint + Location: 35,33 + Owner: Neutral + lstEnd: waypoint + Location: 58,56 + Owner: GDI + lstStart: waypoint + Location: 58,61 + Owner: GDI + +Smudges: + +Rules: + World: + -SpawnMPUnits: + -MPStartLocations: + -CrateSpawner: + LuaScriptInterface: + LuaScripts: mission.lua + Player: + -ConquestVictoryConditions: + PROC: + -Buildable: + SILO: + -Buildable: + WEAP: + -Buildable: + HQ: + -Buildable: + NUK2: + -Buildable: + FIX: + -Buildable: + HPAD: + -Buildable: + EYE: + -Buildable: + GUN: + -Buildable: + GTWR: + -Buildable: + ATWR: + -Buildable: + E2: + -Buildable: + E3: + -Buildable: + E4: + -Buildable: + E5: + -Buildable: + E6: + -Buildable: + RMBO: + -Buildable: + AFLD: + -Buildable: + TMPL: + -Buildable: + OBLI: + -Buildable: + SAM: + -Buildable: + OLDLST: + Inherits: LST + -WithRoof: + +Sequences: + oldlst: + idle: lst + Start: 0 + Facings: 1 + unload: lst + Start: 0 + Facings: 1 + +VoxelSequences: + +Weapons: + +Voices: + +Notifications: + +Translations: diff --git a/mods/cnc/maps/gdi02/mission.lua b/mods/cnc/maps/gdi02/mission.lua new file mode 100644 index 0000000000..6b2d9afe81 --- /dev/null +++ b/mods/cnc/maps/gdi02/mission.lua @@ -0,0 +1,60 @@ +MobileConstructionVehicle = { "mcv" } +EngineerReinforcements = { "e6", "e6", "e6" } +VehicleReinforcements = { "jeep" } + +AttackerSquadSize = 3 + +MissionAccomplished = function() + Mission.MissionOver({ player }, nil, false) + Media.PlayMovieFullscreen("flag.vqa") +end + +MissionFailed = function() + Mission.MissionOver(nil, { player }, false) + Media.PlayMovieFullscreen("gameover.vqa") +end + +ReinforceFromSea = function(passengers) + local hovercraft, troops = Reinforcements.Insert(player, "oldlst", passengers, { lstStart.Location, lstEnd.Location }, { lstStart.Location }) + Media.PlaySpeechNotification("Reinforce") +end + +BridgeheadSecured = function() + ReinforceFromSea(MobileConstructionVehicle) + OpenRA.RunAfterDelay(25 * 15, NodAttack) + OpenRA.RunAfterDelay(25 * 30, function() ReinforceFromSea(EngineerReinforcements) end) + OpenRA.RunAfterDelay(25 * 60, function() ReinforceFromSea(VehicleReinforcements) end) +end + +NodAttack = function() + local nodUnits = Mission.GetGroundAttackersOf(enemy) + local nodUnitsLeft = table.getn(nodUnits) + if (nodUnitsLeft > AttackerSquadSize * 2) then + attackers = Utils.Skip(nodUnits, nodUnitsLeft - AttackerSquadSize) + local attackSquad = Team.New(attackers) + Team.Do(attackSquad, function(unit) + Actor.AttackMove(unit, waypoint2.location) + Actor.Hunt(unit) + end) + Team.AddEventHandler(attackSquad.OnAllKilled, OpenRA.RunAfterDelay(25 * 15, NodAttack)) + end +end + +WorldLoaded = function() + player = OpenRA.GetPlayer("GDI") + enemy = OpenRA.GetPlayer("Nod") + + Media.PlayMovieFullscreen("gdi2.vqa") + + nodInBaseTeam = Team.New({ RushBuggy, RushRifle1, RushRifle2, RushRifle3 }) + Team.AddEventHandler(nodInBaseTeam.OnAllKilled, BridgeheadSecured) +end + +Tick = function() + if Mission.RequiredUnitsAreDestroyed(player) then + MissionFailed() + end + if Mission.RequiredUnitsAreDestroyed(enemy) then + MissionAccomplished() + end +end \ No newline at end of file