diff --git a/mods/cnc/maps/nod07c/map.yaml b/mods/cnc/maps/nod07c/map.yaml index 42e4cc5ad4..7f8d15e58c 100644 --- a/mods/cnc/maps/nod07c/map.yaml +++ b/mods/cnc/maps/nod07c/map.yaml @@ -398,24 +398,24 @@ Actors: Owner: Civilians Health: 51 ScriptTags: Village - Actor111: jeep + JeepGuard1: jeep Location: 40,57 Owner: GDI - Actor112: jeep + JeepGuard2: jeep Location: 39,57 Owner: GDI - Actor113: mtnk + MediumTank1: mtnk Location: 54,52 Owner: GDI - Actor114: mtnk + MediumTank3: mtnk Location: 44,45 Owner: GDI Facing: 32 - Actor115: mtnk + MediumTank2: mtnk Location: 34,34 Owner: GDI Facing: 224 - Actor117: jeep + Jeep: jeep Location: 30,41 Owner: GDI Facing: 224 @@ -423,43 +423,43 @@ Actors: Location: 26,43 Owner: GDI Facing: 224 - Actor125: e2 + Guard1: e2 Location: 46,57 Owner: GDI SubCell: 3 - Actor126: e2 + Guard2: e2 Location: 46,58 Owner: GDI SubCell: 1 - Actor127: e2 + Guard3: e2 Location: 45,58 Owner: GDI SubCell: 2 - Actor128: e2 + Guard4: e2 Location: 45,57 Owner: GDI SubCell: 4 - Actor129: e1 + Guard5: e1 Location: 43,58 Owner: GDI SubCell: 2 - Actor130: e1 + Guard6: e1 Location: 44,58 Owner: GDI SubCell: 1 - Actor131: e1 + Guard7: e1 Location: 44,57 Owner: GDI SubCell: 4 - Actor132: e1 + Guard8: e1 Location: 44,58 Owner: GDI SubCell: 2 - Actor133: e1 + Guard9: e1 Location: 44,57 Owner: GDI SubCell: 3 - Actor134: e1 + Guard10: e1 Location: 43,57 Owner: GDI SubCell: 4 @@ -585,43 +585,43 @@ Actors: Location: 45,7 Owner: GDI SubCell: 4 - Actor179: e1 + SideGuard1: e1 Location: 51,52 Owner: GDI SubCell: 2 - Actor180: e1 + SideGuard2: e1 Location: 52,52 Owner: GDI SubCell: 1 - Actor181: e1 + SideGuard3: e1 Location: 52,52 Owner: GDI SubCell: 3 - Actor182: e1 + SideGuard4: e1 Location: 51,52 Owner: GDI SubCell: 4 - Actor183: e2 + SideGuard5: e2 Location: 53,52 Owner: GDI SubCell: 1 - Actor184: e2 + SideGuard6: e2 Location: 53,52 Owner: GDI SubCell: 2 - Actor185: e2 + SideGuard7: e2 Location: 53,52 Owner: GDI SubCell: 4 - Actor186: e2 + SideGuard8: e2 Location: 53,52 Owner: GDI SubCell: 3 - Actor187: e1 + InfantryPatrol1: e1 Location: 48,57 Owner: GDI SubCell: 3 - Actor188: e1 + InfantryPatrol2: e1 Location: 47,57 Owner: GDI SubCell: 4 @@ -644,7 +644,7 @@ Actors: Location: 37,55 Owner: Neutral waypoint14: waypoint - Location: 54,46 + Location: 53,46 Owner: Neutral waypoint13: waypoint Location: 12,7 @@ -655,9 +655,6 @@ Actors: waypoint11: waypoint Location: 52,24 Owner: Neutral - waypoint10: waypoint - Location: 27,33 - Owner: Neutral waypoint9: waypoint Location: 21,37 Owner: Neutral diff --git a/mods/cnc/maps/nod07c/nod07c.lua b/mods/cnc/maps/nod07c/nod07c.lua index cf50b1d3de..114093b358 100644 --- a/mods/cnc/maps/nod07c/nod07c.lua +++ b/mods/cnc/maps/nod07c/nod07c.lua @@ -14,23 +14,16 @@ NodUnitsRockets = { "e3", "e3", "e3", "e3" } NodUnitsGunners = { "e1", "e1", "e1", "e1" } NodUnitsFlamers = { "e4", "e4", "e4", "e4" } -GDI1 = { units = { "e1", "e1" }, waypoints = { waypoint0.Location, waypoint1.Location, waypoint2.Location, waypoint8.Location, waypoint2.Location, waypoint9.Location, waypoint2.Location } } -GDI2 = { units = { "e1", "e1", "e1", "e1", "e1", "e1", "e1", "e1", "e1", "e1", "e2", "e2", "e2", "e2", "e2", "e2", "e2", "e2", "mtnk", "jeep" }, waypoints = { waypoint12.Location, waypoint15.Location, waypoint0.Location } } -GDI3 = { units = { "jeep" }, waypoints = { waypoint0.Location, waypoint1.Location, waypoint3.Location, waypoint4.Location, waypoint3.Location, waypoint2.Location, waypoint5.Location, waypoint6.Location, waypoint2.Location, waypoint7.Location } } -MTANK = { units = { "mtnk" }, waypoints = { waypoint14.Location, waypoint5.Location } } +MainEntranceGuards = { JeepGuard1, JeepGuard2, MediumTank1, SideGuard1, SideGuard2, SideGuard6, SideGuard7, Guard1, Guard2, Guard3, Guard4, Guard5, Guard6, Guard7, Guard8, Guard9, Guard10 } +InfantryPatrol = { InfantryPatrol1, InfantryPatrol2 } + +MainEntrancePatrolPath = { waypoint0.Location, waypoint1.Location, waypoint15.Location, waypoint12.Location } +InfantryPatrolPath = { waypoint0.Location, waypoint1.Location, waypoint2.Location, waypoint8.Location, waypoint2.Location, waypoint9.Location, waypoint2.Location } +JeepPatrolPath = { waypoint0.Location, waypoint1.Location, waypoint3.Location, waypoint4.Location, waypoint3.Location, waypoint2.Location, waypoint5.Location, waypoint6.Location, waypoint2.Location, waypoint7.Location } +MediumTankPatrolPath = { waypoint14.Location, waypoint5.Location } TargetsKilled = 0 -AutoGuard = function(guards) - Utils.Do(guards, function(guard) - Trigger.OnDamaged(guard, function() - if not guard.IsDead then - IdleHunt(guard) - end - end) - end) -end - InsertNodUnits = function() Media.PlaySpeechNotification(Nod, "Reinforce") Reinforcements.Reinforce(Nod, { "ltnk" }, { ReinforcementsTopSpawn.Location, ReinforcementsTankRally.Location }, 1) @@ -65,14 +58,9 @@ DiscoveredMainEntrance = function() Nod.MarkCompletedObjective(DistractGuardsObjective) - Trigger.AfterDelay(DateTime.Seconds(3), function() - for type, amount in pairs(GDI2.units) do - local actors = Utils.Take(amount, GDI.GetActorsByType(type)) - Utils.Do(actors, function(actor) - if actor.IsIdle then - actor.AttackMove(waypoint0.Location) - end - end) + Utils.Do(MainEntranceGuards, function(guard) + if not guard.IsDead then + guard.Patrol(MainEntrancePatrolPath) end end) end @@ -90,12 +78,19 @@ Trigger.OnKilled(GDIOrca, function() end) Trigger.OnDamaged(GuardTower3, function() - SendGuards(MTANK) + if not MediumTank3.IsDead then + MediumTank3.Patrol(MediumTankPatrolPath) + end end) Utils.Do(Map.ActorsWithTag("Village"), function(actor) Trigger.OnKilled(actor, function() TargetsKilled = TargetsKilled + 1 + + if TargetsKilled >= 15 then + Nod.MarkCompletedObjective(NoCaptureObjective) + Nod.MarkCompletedObjective(UseOrcaObjective) + end end) end) @@ -123,7 +118,18 @@ WorldLoaded = function() InsertNodUnits() - AutoGuard(GDI.GetGroundAttackers()) + Jeep.Patrol(JeepPatrolPath) + Utils.Do(InfantryPatrol, function(unit) + unit.Patrol(InfantryPatrolPath) + end) + + Utils.Do(GDI.GetGroundAttackers(), function(guard) + Trigger.OnDamaged(guard, function() + if not guard.IsDead then + IdleHunt(guard) + end + end) + end) InitObjectives(Nod) @@ -147,11 +153,6 @@ Tick = function() GDI.MarkCompletedObjective(GDIObjective) end - if TargetsKilled >= 15 then - Nod.MarkCompletedObjective(NoCaptureObjective) - Nod.MarkCompletedObjective(UseOrcaObjective) - end - if GDI.Resources >= GDI.ResourceCapacity * 0.75 then GDI.Resources = GDI.ResourceCapacity * 0.25 end