diff options
author | Jack <66967891+ASpoonPlaysGames@users.noreply.github.com> | 2022-07-23 20:43:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-23 21:43:49 +0200 |
commit | 14ee2ce0a4fcee0e9f2afce87936016cd8b72568 (patch) | |
tree | a2556ad41baf0af9562a394483f679f51022835a /Northstar.CustomServers/mod/scripts | |
parent | 92e0c79759e4388320f565f3922ff5608aff19d6 (diff) | |
download | NorthstarMods-14ee2ce0a4fcee0e9f2afce87936016cd8b72568.tar.gz NorthstarMods-14ee2ce0a4fcee0e9f2afce87936016cd8b72568.zip |
[FD] Forwardbase Kodai improvements + attempt to stop AI from clipping into the harvester (#452)
* Change Kodai to use weighted events and cloak drones
* Set Kodai drones to not loop their route
* Stop AI from clipping into the harvester
Not perfect, but now at least they clip into it less, and dont stay in it
Diffstat (limited to 'Northstar.CustomServers/mod/scripts')
3 files changed, 64 insertions, 57 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/_harvester.gnut b/Northstar.CustomServers/mod/scripts/vscripts/_harvester.gnut index 6b0fb7e4..e2acd1bd 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/_harvester.gnut +++ b/Northstar.CustomServers/mod/scripts/vscripts/_harvester.gnut @@ -25,8 +25,13 @@ HarvesterStruct function SpawnHarvester(vector origin,vector angles,int health,i harvester.SetShieldHealthMax(shieldHealth) harvester.SetShieldHealth(shieldHealth) harvester.EnableAttackableByAI( 30, 0, AI_AP_FLAG_NONE ) - //harvester.SetIsValidAIMeleeTarget(false) + SetObjectCanBeMeleed( harvester, false ) SetTeam(harvester,team) + // create dangerous area to all AI because we dont want any AI clipping into the harvester ever + // radius of 90 cos thats like 7.5 metres? AI shouldnt rally need to get closer than that (except nuke titans and stalkers) + // stalkers dont care about dangerous areas + // nuke titan detonation radius is larger than 90 + AI_CreateDangerousArea_Static( harvester, null, 90, TEAM_INVALID, true, true, origin ) DispatchSpawn( harvester ) SetGlobalNetEnt("FD_activeHarvester",harvester) diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_events.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_events.nut index 8792a861..5b641ee8 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_events.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_events.nut @@ -41,6 +41,7 @@ global struct SpawnEvent{ string npcClassName string aiSettings string entityGlobalKey + bool shouldLoop = false } global struct FlowControlEvent{ @@ -542,7 +543,7 @@ WaveEvent function CreateWaitForLessThanTypedEvent(int aiTypeId,int amount,int n event.flowControlEvent.waitEntityType = aiTypeId return event } -WaveEvent function CreateSpawnDroneEvent(vector origin,vector angles,string route,int nextEventIndex,int executeOnThisCall = 1,string entityGlobalKey="") +WaveEvent function CreateSpawnDroneEvent(vector origin,vector angles,string route,int nextEventIndex, bool shouldLoop = true, int executeOnThisCall = 1,string entityGlobalKey="") { WaveEvent event event.eventFunction = spawnDrones @@ -554,6 +555,7 @@ WaveEvent function CreateSpawnDroneEvent(vector origin,vector angles,string rout event.spawnEvent.origin = origin event.spawnEvent.entityGlobalKey = entityGlobalKey event.spawnEvent.route = route + event.spawnEvent.shouldLoop = shouldLoop return event } @@ -613,7 +615,7 @@ void function spawnDrones(SmokeEvent smokeEvent,SpawnEvent spawnEvent,FlowContro SetTargetName( guy, GetTargetNameForID(eFD_AITypeIDs.DRONE)) AddMinimapForHumans(guy) spawnedNPCs.append(guy) - thread droneNav_thread(guy, spawnEvent.route, 0, 500, true) + thread droneNav_thread(guy, spawnEvent.route, 0, 500, spawnEvent.shouldLoop) } diff --git a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai_fd.nut b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai_fd.nut index b1c67fd6..186b85fc 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai_fd.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai_fd.nut @@ -16,7 +16,7 @@ void function initFrontierDefenseData() wave1.append(CreateWaitForTimeEvent(1.0,8)) wave1.append(CreateDroppodGruntEvent(< 1116.630005 , 329.750000 , 1372.280029 >,"hillRouteClose",9)) wave1.append(CreateWaitForTimeEvent(5.0,10)) - wave1.append(CreateWaitUntilAliveEvent(4,11)) + wave1.append(CreateWaitUntilAliveWeightedEvent(8,11)) wave1.append(CreateDroppodGruntEvent(< 864.625000 , 693.750000 , 1379.910034 >,"hillRouteClose",12)) wave1.append(CreateWaitForTimeEvent(1.1669998,13)) wave1.append(CreateDroppodGruntEvent(< 884.625000 , 1721.750000 , 1377.410034 >,"hillRouteClose",14)) @@ -27,7 +27,7 @@ void function initFrontierDefenseData() wave1.append(CreateWaitForTimeEvent(0.5999985,19)) wave1.append(CreateDroppodStalkerEvent(< 1116.630005 , 329.750000 , 1372.280029 >,"hillRouteClose",20)) wave1.append(CreateWaitForTimeEvent(5.0,21)) - wave1.append(CreateWaitUntilAliveEvent(4,22)) + wave1.append(CreateWaitUntilAliveWeightedEvent(8,22)) wave1.append(CreateDroppodGruntEvent(< 864.625000 , 693.750000 , 1379.910034 >,"hillRouteClose",23)) wave1.append(CreateWaitForTimeEvent(1.3829956,24)) wave1.append(CreateDroppodGruntEvent(< 884.625000 , 1721.750000 , 1377.410034 >,"hillRouteClose",25)) @@ -38,7 +38,7 @@ void function initFrontierDefenseData() wave1.append(CreateWaitForTimeEvent(1.5,30)) wave1.append(CreateDroppodGruntEvent(< 1116.630005 , 329.750000 , 1372.280029 >,"hillRouteClose",31)) wave1.append(CreateWaitForTimeEvent(5.0,32)) - wave1.append(CreateWaitUntilAliveEvent(4,33)) + wave1.append(CreateWaitUntilAliveWeightedEvent(8,33)) wave1.append(CreateDroppodGruntEvent(< 864.625000 , 693.750000 , 1379.910034 >,"hillRouteClose",34)) wave1.append(CreateWaitForTimeEvent(1.5,35)) wave1.append(CreateDroppodGruntEvent(< 884.625000 , 1721.750000 , 1377.410034 >,"hillRouteClose",36)) @@ -49,7 +49,7 @@ void function initFrontierDefenseData() wave1.append(CreateWaitForTimeEvent(1.2829895,41)) wave1.append(CreateDroppodStalkerEvent(< 1116.630005 , 329.750000 , 1372.280029 >,"hillRouteClose",42)) wave1.append(CreateWaitForTimeEvent(5.0,43)) - wave1.append(CreateWaitUntilAliveEvent(4,44)) + wave1.append(CreateWaitUntilAliveWeightedEvent(8,44)) wave1.append(CreateDroppodGruntEvent(< 864.625000 , 693.750000 , 1379.910034 >,"hillRouteClose",45)) wave1.append(CreateWaitForTimeEvent(1.5,46)) wave1.append(CreateDroppodGruntEvent(< 884.625000 , 1721.750000 , 1377.410034 >,"hillRouteClose",47)) @@ -60,7 +60,7 @@ void function initFrontierDefenseData() wave1.append(CreateWaitForTimeEvent(0.66700745,52)) wave1.append(CreateDroppodGruntEvent(< 1116.630005 , 329.750000 , 1372.280029 >,"hillRouteClose",53)) wave1.append(CreateWaitForTimeEvent(5.0,54)) - wave1.append(CreateWaitUntilAliveEvent(4,55)) + wave1.append(CreateWaitUntilAliveWeightedEvent(8,55)) wave1.append(CreateDroppodGruntEvent(< 864.625000 , 693.750000 , 1379.910034 >,"hillRouteClose",56)) wave1.append(CreateWaitForTimeEvent(1.2169952,57)) wave1.append(CreateDroppodGruntEvent(< 884.625000 , 1721.750000 , 1377.410034 >,"hillRouteClose",58)) @@ -78,7 +78,7 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(1.0329895,6)) wave2.append(CreateDroppodTickEvent(< 1258.060059 , 921.593994 , 1330.750000 >,4,"hillRouteClose",7)) wave2.append(CreateWaitForTimeEvent(5.0,8)) - wave2.append(CreateWaitUntilAliveEvent(4,9)) + wave2.append(CreateWaitUntilAliveWeightedEvent(12,9)) wave2.append(CreateToneSniperTitanEvent(< 1373.469971 , 1219.410034 , 1314.339966 >,< 0.000000 , 169.541000 , 0.000000 >,10)) wave2.append(CreateWaitForTimeEvent(1.0159912,11)) wave2.append(CreateToneSniperTitanEvent(< 1209.469971 , 579.406006 , 1332.310059 >,< 0.000000 , 169.541000 , 0.000000 >,12)) @@ -89,7 +89,7 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(1.1499939,17)) wave2.append(CreateDroppodSpectreMortarEvent(< 864.625000 , 693.750000 , 1379.910034 >,"",18)) wave2.append(CreateWaitForTimeEvent(5.0,19)) - wave2.append(CreateWaitUntilAliveEvent(4,20)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,20)) wave2.append(CreateDroppodSpectreMortarEvent(< 884.625000 , 1721.750000 , 1377.410034 >,"",21)) wave2.append(CreateWaitForTimeEvent(0.6000061,22)) wave2.append(CreateDroppodGruntEvent(< 1226.410034 , 1391.130005 , 1334.689941 >,"",23)) @@ -98,7 +98,7 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(2.9160156,26)) wave2.append(CreateDroppodGruntEvent(< 1258.060059 , 921.593994 , 1330.750000 >,"",27)) wave2.append(CreateWaitForTimeEvent(5.0,28)) - wave2.append(CreateWaitUntilAliveEvent(4,29)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,29)) wave2.append(CreateDroppodGruntEvent(< 864.625000 , 693.750000 , 1379.910034 >,"",30)) wave2.append(CreateWaitForTimeEvent(0.8659973,31)) wave2.append(CreateDroppodGruntEvent(< 884.625000 , 1721.750000 , 1377.410034 >,"",32)) @@ -109,7 +109,7 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(0.6000061,37)) wave2.append(CreateToneTitanEvent(< 2665.060059 , 4456.129883 , 960.687988 >,< 0.000000 , -141.108002 , 0.000000 >,"",38)) wave2.append(CreateWaitForTimeEvent(5.0,39)) - wave2.append(CreateWaitUntilAliveEvent(4,40)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,40)) wave2.append(CreateSuperSpectreEvent(< 1856.959961 , -3177.639893 , 812.718018 >,< -0.000000 , -162.389999 , 0.000000 >,"",41)) wave2.append(CreateWaitForTimeEvent(1.03302,42)) wave2.append(CreateSuperSpectreEvent(< 3123.000000 , 4201.589844 , 950.937988 >,< 0.000000 , -117.246002 , 0.000000 >,"",43)) @@ -120,15 +120,15 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(3.1829834,48)) wave2.append(CreateSuperSpectreEvent(< 2184.969971 , -3550.040039 , 819.479980 >,< 0.000000 , 177.582993 , 0.000000 >,"",49)) wave2.append(CreateWaitForTimeEvent(5.0,50)) - wave2.append(CreateWaitUntilAliveEvent(4,51)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,51)) wave2.append(CreateSuperSpectreEvent(< 1764.410034 , 4424.220215 , 953.375000 >,< -0.000000 , -170.024002 , 0.000000 >,"",52)) wave2.append(CreateWaitForTimeEvent(5.0,53)) - wave2.append(CreateWaitUntilAliveEvent(4,54)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,54)) wave2.append(CreateDroppodTickEvent(< 3248.840088 , 161.156006 , 951.781006 >,4,"hillRouteClose",55)) wave2.append(CreateWaitForTimeEvent(1.1499939,56)) wave2.append(CreateDroppodTickEvent(< 3156.560059 , 2266.939941 , 951.781006 >,4,"hillRouteClose",57)) wave2.append(CreateWaitForTimeEvent(5.0,58)) - wave2.append(CreateWaitUntilAliveEvent(4,59)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,59)) wave2.append(CreateDroppodTickEvent(< 3248.840088 , 161.156006 , 951.781006 >,4,"hillRouteClose",60)) wave2.append(CreateWaitForTimeEvent(1.1170044,61)) wave2.append(CreateDroppodTickEvent(< 3156.560059 , 2266.939941 , 951.781006 >,4,"hillRouteClose",62)) @@ -137,14 +137,14 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(3.5169983,65)) wave2.append(CreateDroppodGruntEvent(< 2336.000000 , 1968.000000 , 953.531006 >,"",66)) wave2.append(CreateWaitForTimeEvent(5.0,67)) - wave2.append(CreateWaitUntilAliveEvent(4,68)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,68)) wave2.append(CreateDroppodGruntEvent(< 3248.840088 , 161.156006 , 951.781006 >,"",69)) wave2.append(CreateWaitForTimeEvent(2.6660156,70)) wave2.append(CreateDroppodGruntEvent(< 3156.560059 , 2266.939941 , 951.781006 >,"",71)) wave2.append(CreateWaitForTimeEvent(1.1999817,72)) wave2.append(CreateDroppodGruntEvent(< 2336.000000 , 1968.000000 , 953.531006 >,"",73)) wave2.append(CreateWaitForTimeEvent(5.0,74)) - wave2.append(CreateWaitUntilAliveEvent(4,75)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,75)) wave2.append(CreateSuperSpectreEvent(< 4163.069824 , 1471.650024 , 944.281006 >,< -0.000000 , -179.416000 , 0.000000 >,"",76)) wave2.append(CreateWaitForTimeEvent(1.5159912,77)) wave2.append(CreateSuperSpectreEvent(< 4210.669922 , 895.575989 , 944.281006 >,< -0.000000 , -164.787003 , 0.000000 >,"",78)) @@ -153,12 +153,12 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(1.1340027,81)) wave2.append(CreateSuperSpectreEvent(< 3982.860107 , 1778.540039 , 944.281006 >,< -0.000000 , 179.488007 , 0.000000 >,"",82)) wave2.append(CreateWaitForTimeEvent(5.0,83)) - wave2.append(CreateWaitUntilAliveEvent(4,84)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,84)) wave2.append(CreateDroppodGruntEvent(< 2457.310059 , -2563.659912 , 789.250000 >,"",85)) wave2.append(CreateWaitForTimeEvent(1.3840027,86)) wave2.append(CreateDroppodGruntEvent(< 1935.839966 , 3727.840088 , 931.656006 >,"",87)) wave2.append(CreateWaitForTimeEvent(5.0,88)) - wave2.append(CreateWaitUntilAliveEvent(4,89)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,89)) wave2.append(CreateSuperSpectreEvent(< 2182.939941 , -3549.810059 , 819.468994 >,< 0.000000 , 177.582993 , 0.000000 >,"",90)) wave2.append(CreateWaitForTimeEvent(0.1159668,91)) wave2.append(CreateDroppodGruntEvent(< 1045.339966 , -2843.340088 , 804.812988 >,"",92)) @@ -167,12 +167,12 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(0.7000122,95)) wave2.append(CreateDroppodGruntEvent(< 2111.840088 , 3295.840088 , 939.031006 >,"",96)) wave2.append(CreateWaitForTimeEvent(5.0,97)) - wave2.append(CreateWaitUntilAliveEvent(4,98)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,98)) wave2.append(CreateSuperSpectreEvent(< 2343.590088 , -3185.840088 , 788.312988 >,< -0.000000 , 174.550995 , 0.000000 >,"",99)) wave2.append(CreateWaitForTimeEvent(0.8500366,100)) wave2.append(CreateSuperSpectreEvent(< 2338.270020 , 4684.279785 , 952.682007 >,< -0.000000 , -167.669006 , 0.000000 >,"",101)) wave2.append(CreateWaitForTimeEvent(5.0,102)) - wave2.append(CreateWaitUntilAliveEvent(4,103)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,103)) wave2.append(CreateSuperSpectreEvent(< 2177.209961 , -3539.600098 , 817.719971 >,< 0.000000 , 178.065994 , 0.000000 >,"",104)) wave2.append(CreateWaitForTimeEvent(1.0,105)) wave2.append(CreateSuperSpectreEvent(< 2401.719971 , 4475.089844 , 962.406006 >,< 0.000000 , 177.626999 , 0.000000 >,"",106)) @@ -185,15 +185,15 @@ void function initFrontierDefenseData() wave2.append(CreateWaitForTimeEvent(0.7839966,113)) wave2.append(CreateSuperSpectreEvent(< 2828.399902 , 4138.450195 , 938.893982 >,< 0.000000 , -171.078995 , 0.000000 >,"",114)) wave2.append(CreateWaitForTimeEvent(5.0,115)) - wave2.append(CreateWaitUntilAliveEvent(4,116)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,116)) wave2.append(CreateLegionTitanEvent(< 4466.689941 , 1469.410034 , 947.281006 >,< 0.000000 , 169.541000 , 0.000000 >,"",117)) wave2.append(CreateWaitForTimeEvent(5.0,118)) - wave2.append(CreateWaitUntilAliveEvent(4,119)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,119)) wave2.append(CreateSuperSpectreEvent(< 4182.189941 , 917.906006 , 944.281006 >,< 0.000000 , -124.805000 , 0.000000 >,"",120)) wave2.append(CreateWaitForTimeEvent(1.3170166,121)) wave2.append(CreateSuperSpectreEvent(< 2747.790039 , 1574.170044 , 944.281006 >,< -0.000000 , -164.485001 , 0.000000 >,"",122)) wave2.append(CreateWaitForTimeEvent(5.0,123)) - wave2.append(CreateWaitUntilAliveEvent(4,124)) + wave2.append(CreateWaitUntilAliveWeightedEvent(16,124)) wave2.append(CreateScorchTitanEvent(< 2821.659912 , -2937.090088 , 827.937988 >,< 0.000000 , 117.202003 , 0.000000 >,"",125)) wave2.append(CreateWaitForTimeEvent(1.0,126)) wave2.append(CreateScorchTitanEvent(< 3123.560059 , 4202.060059 , 954.343994 >,< 0.000000 , -141.108002 , 0.000000 >,"",127)) @@ -205,7 +205,7 @@ void function initFrontierDefenseData() array<WaveEvent> wave3 wave3.append(CreateRoninTitanEvent(< 1763.839966 , -1608.750000 , 810.281006 >,< 0.000000 , 90.000000 , 0.000000 >,"",1)) wave3.append(CreateWaitForTimeEvent(0.7670288,2)) - wave3.append(CreateSpawnDroneEvent(< 1883.910034 , -1569.939941 , 1108.000000 >,< 0.000000 , 0.000000 , 0.000000 >,"",3)) + wave3.append(CreateCloakDroneEvent(< 1883.910034 , -1569.939941 , 1108.000000 >,< 0.000000 , 0.000000 , 0.000000 >,3)) wave3.append(CreateWaitForTimeEvent(1.1499634,4)) wave3.append(CreateDroppodGruntEvent(< 2457.310059 , -2563.659912 , 789.250000 >,"",5)) wave3.append(CreateWaitForTimeEvent(1.3829956,6)) @@ -215,7 +215,7 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(1.1170044,10)) wave3.append(CreateDroppodGruntEvent(< 1418.310059 , -2254.659912 , 810.031006 >,"",11)) wave3.append(CreateWaitForTimeEvent(5.0,12)) - wave3.append(CreateWaitUntilAliveEvent(4,13)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,13)) wave3.append(CreateSuperSpectreEvent(< 2170.020020 , -3549.570068 , 819.468994 >,< -0.000000 , 177.626007 , 0.000000 >,"",14)) wave3.append(CreateWaitForTimeEvent(1.0669556,15)) wave3.append(CreateSuperSpectreEvent(< 2577.060059 , -3007.379883 , 796.093994 >,< -0.000000 , -165.850006 , 0.000000 >,"",16)) @@ -224,7 +224,7 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(1.4000244,19)) wave3.append(CreateSuperSpectreEvent(< 1531.000000 , -1779.880005 , 800.031006 >,< 0.000000 , 133.110001 , 0.000000 >,"",20)) wave3.append(CreateWaitForTimeEvent(5.0,21)) - wave3.append(CreateWaitUntilAliveEvent(4,22)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,22)) wave3.append(CreateScorchTitanEvent(< 2475.909912 , -3544.659912 , 810.281006 >,< 0.000000 , 90.000000 , 0.000000 >,"",23)) wave3.append(CreateWaitForTimeEvent(0.6829834,24)) wave3.append(CreateIonTitanEvent(< 2821.340088 , -2936.719971 , 827.937988 >,< 0.000000 , 117.202003 , 0.000000 >,"",25)) @@ -233,16 +233,16 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(1.0,28)) wave3.append(CreateScorchTitanEvent(< 1559.910034 , -2024.660034 , 803.031006 >,< 0.000000 , 90.000000 , 0.000000 >,"",29)) wave3.append(CreateWaitForTimeEvent(5.0,30)) - wave3.append(CreateWaitUntilAliveEvent(4,31)) - wave3.append(CreateSpawnDroneEvent(< 2487.310059 , -2561.379883 , 5744.229980 >,< 0.004999 , 90.003700 , 0.000004 >,"",32)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,31)) + wave3.append(CreateSpawnDroneEvent(< 2487.310059 , -2561.379883 , 5744.229980 >,< 0.004999 , 90.003700 , 0.000004 >,"",32, false)) wave3.append(CreateWaitForTimeEvent(0.0,33)) - wave3.append(CreateSpawnDroneEvent(< 2457.310059 , -2591.379883 , 5744.189941 >,< 0.004999 , 90.003700 , 0.000004 >,"",34)) + wave3.append(CreateSpawnDroneEvent(< 2457.310059 , -2591.379883 , 5744.189941 >,< 0.004999 , 90.003700 , 0.000004 >,"",34, false)) wave3.append(CreateWaitForTimeEvent(0.0,35)) - wave3.append(CreateSpawnDroneEvent(< 2457.310059 , -2531.379883 , 5744.319824 >,< 0.004999 , 90.003700 , 0.000004 >,"",36)) + wave3.append(CreateSpawnDroneEvent(< 2457.310059 , -2531.379883 , 5744.319824 >,< 0.004999 , 90.003700 , 0.000004 >,"",36, false)) wave3.append(CreateWaitForTimeEvent(0.0,37)) - wave3.append(CreateSpawnDroneEvent(< 2427.310059 , -2561.379883 , 5744.549805 >,< 0.004999 , 90.003700 , 0.000004 >,"",38)) + wave3.append(CreateSpawnDroneEvent(< 2427.310059 , -2561.379883 , 5744.549805 >,< 0.004999 , 90.003700 , 0.000004 >,"",38, false)) wave3.append(CreateWaitForTimeEvent(5.0,39)) - wave3.append(CreateWaitUntilAliveEvent(4,40)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,40)) wave3.append(CreateDroppodGruntEvent(< 2457.310059 , -2563.659912 , 789.250000 >,"",41)) wave3.append(CreateWaitForTimeEvent(1.282959,42)) wave3.append(CreateDroppodGruntEvent(< 1045.339966 , -2843.340088 , 804.812988 >,"",43)) @@ -255,7 +255,7 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(0.6170044,50)) wave3.append(CreateMonarchTitanEvent(< 4453.129883 , 964.750000 , 947.281006 >,< 0.000000 , -172.529007 , 0.000000 >,"",51)) wave3.append(CreateWaitForTimeEvent(5.0,52)) - wave3.append(CreateWaitUntilAliveEvent(4,53)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,53)) wave3.append(CreateRoninTitanEvent(< 1763.839966 , -1608.750000 , 810.281006 >,< 0.000000 , 90.000000 , 0.000000 >,"",54)) wave3.append(CreateWaitForTimeEvent(0.61602783,55)) wave3.append(CreateRoninTitanEvent(< 2359.840088 , -1596.750000 , 802.718994 >,< 0.000000 , 90.000000 , 0.000000 >,"",56)) @@ -264,7 +264,7 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(1.0999756,59)) wave3.append(CreateToneTitanEvent(< 2821.340088 , -2936.719971 , 827.937988 >,< 0.000000 , 117.202003 , 0.000000 >,"",60)) wave3.append(CreateWaitForTimeEvent(5.0,61)) - wave3.append(CreateWaitUntilAliveEvent(4,62)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,62)) wave3.append(CreateSuperSpectreEvent(< 2180.080078 , -3539.689941 , 817.739014 >,< 0.000000 , 178.065994 , 0.000000 >,"",63)) wave3.append(CreateWaitForTimeEvent(0.6329956,64)) wave3.append(CreateLegionTitanEvent(< 2680.219971 , -1724.630005 , 809.718994 >,< 0.000000 , 169.320999 , 0.000000 >,"",65)) @@ -289,16 +289,16 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(1.3170166,84)) wave3.append(CreateScorchTitanEvent(< 2475.909912 , -3544.659912 , 810.281006 >,< 0.000000 , 90.000000 , 0.000000 >,"",85)) wave3.append(CreateWaitForTimeEvent(5.0,86)) - wave3.append(CreateWaitUntilAliveEvent(4,87)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,87)) wave3.append(CreateToneTitanEvent(< 1763.810059 , -1608.189941 , 810.000000 >,< 0.000000 , 90.000000 , 0.000000 >,"",88)) wave3.append(CreateWaitForTimeEvent(0.9000244,89)) wave3.append(CreateToneTitanEvent(< 2359.810059 , -1596.189941 , 802.718994 >,< 0.000000 , 90.000000 , 0.000000 >,"",90)) wave3.append(CreateWaitForTimeEvent(0.5839844,91)) - wave3.append(CreateSpawnDroneEvent(< 1923.000000 , -1544.000000 , 1108.000000 >,< 0.000000 , 0.000000 , 0.000000 >,"",92)) + wave3.append(CreateCloakDroneEvent(< 1923.000000 , -1544.000000 , 1108.000000 >,< 0.000000 , 0.000000 , 0.000000 >,92)) wave3.append(CreateWaitForTimeEvent(1.3330078,93)) - wave3.append(CreateSpawnDroneEvent(< 1982.020020 , -1598.000000 , 1236.040039 >,< 0.000000 , 0.000000 , 0.000000 >,"",94)) + wave3.append(CreateCloakDroneEvent(< 1982.020020 , -1598.000000 , 1236.040039 >,< 0.000000 , 0.000000 , 0.000000 >,94)) wave3.append(CreateWaitForTimeEvent(5.0,95)) - wave3.append(CreateWaitUntilAliveEvent(4,96)) + wave3.append(CreateWaitUntilAliveWeightedEvent(16,96)) wave3.append(CreateLegionTitanEvent(< 4466.689941 , 1469.410034 , 947.281006 >,< 0.000000 , 169.541000 , 0.000000 >,"",97)) wave3.append(CreateWaitForTimeEvent(0.7999878,98)) wave3.append(CreateLegionTitanEvent(< 4453.589844 , 964.906006 , 947.281006 >,< 0.000000 , -172.529007 , 0.000000 >,"",99)) @@ -326,7 +326,7 @@ void function initFrontierDefenseData() wave4.append(CreateWaitForTimeEvent(1.2999878,18)) wave4.append(CreateDroppodStalkerEvent(< 3156.560059 , 2266.939941 , 951.781006 >,"",19)) wave4.append(CreateWaitForTimeEvent(5.0,20)) - wave4.append(CreateWaitUntilAliveEvent(4,21)) + wave4.append(CreateWaitUntilAliveWeightedEvent(16,21)) wave4.append(CreateDroppodStalkerEvent(< 1935.839966 , 3727.840088 , 931.656006 >,"",22)) wave4.append(CreateWaitForTimeEvent(0.7000122,23)) wave4.append(CreateDroppodStalkerEvent(< 2111.840088 , 3295.840088 , 939.031006 >,"",24)) @@ -355,7 +355,7 @@ void function initFrontierDefenseData() wave4.append(CreateWaitForTimeEvent(1.3000488,47)) wave4.append(CreateDroppodStalkerEvent(< 3156.560059 , 2266.939941 , 951.781006 >,"",48)) wave4.append(CreateWaitForTimeEvent(5.0,49)) - wave4.append(CreateWaitUntilAliveEvent(4,50)) + wave4.append(CreateWaitUntilAliveWeightedEvent(16,50)) wave4.append(CreateSuperSpectreEvent(< 2355.209961 , 4472.799805 , 963.218994 >,< -0.000000 , 175.473007 , 0.000000 >,"",51)) wave4.append(CreateWaitForTimeEvent(0.5999756,52)) wave4.append(CreateSuperSpectreEvent(< 2835.689941 , 4139.939941 , 939.281006 >,< 0.000000 , -171.078995 , 0.000000 >,"",53)) @@ -378,7 +378,7 @@ void function initFrontierDefenseData() wave4.append(CreateWaitForTimeEvent(0.3670044,70)) wave4.append(CreateSuperSpectreEvent(< 3604.739990 , 835.104004 , 944.281006 >,< -0.000000 , -159.296997 , 0.000000 >,"",71)) wave4.append(CreateWaitForTimeEvent(5.0,72)) - wave4.append(CreateWaitUntilAliveEvent(4,73)) + wave4.append(CreateWaitUntilAliveWeightedEvent(16,73)) wave4.append(CreateArcTitanEvent(< 2665.469971 , 4456.529785 , 960.656006 >,< 0.000000 , -141.108002 , 0.000000 >,"",74)) wave4.append(CreateWaitForTimeEvent(1.4199829,75)) wave4.append(CreateArcTitanEvent(< 3123.659912 , 4202.089844 , 954.343994 >,< 0.000000 , -141.108002 , 0.000000 >,"",76)) @@ -399,7 +399,7 @@ void function initFrontierDefenseData() wave4.append(CreateWaitForTimeEvent(1.210083,91)) wave4.append(CreateToneSniperTitanEvent(< 3866.659912 , 1445.630005 , 947.281006 >,< 0.000000 , 180.000000 , 0.000000 >,92)) wave4.append(CreateWaitForTimeEvent(1.0,93)) - wave4.append(CreateSpawnDroneEvent(< 4432.939941 , 1262.939941 , 1244.000000 >,< 0.000000 , 0.000000 , 0.000000 >,"",94)) + wave4.append(CreateCloakDroneEvent(< 4432.939941 , 1262.939941 , 1244.000000 >,< 0.000000 , 0.000000 , 0.000000 >,94)) wave4.append(CreateWaitForTimeEvent(4.3898926,95)) wave4.append(CreateSuperSpectreEvent(< 3878.439941 , 933.812988 , 944.281006 >,< -0.000000 , -79.509102 , 0.000000 >,"",96)) wave4.append(CreateWaitForTimeEvent(1.2000732,97)) @@ -409,7 +409,7 @@ void function initFrontierDefenseData() wave4.append(CreateWaitForTimeEvent(0.5800781,101)) wave4.append(CreateSuperSpectreEvent(< 545.906006 , 1309.910034 , 1438.750000 >,< 0.000000 , -166.860001 , 0.000000 >,"",102)) wave4.append(CreateWaitForTimeEvent(5.0,103)) - wave4.append(CreateWaitUntilAliveEvent(4,104)) + wave4.append(CreateWaitUntilAliveWeightedEvent(16,104)) wave4.append(CreateNukeTitanEvent(< 2665.340088 , 4456.500000 , 960.656006 >,< 0.000000 , -141.108002 , 0.000000 >,"",105)) wave4.append(CreateWaitForTimeEvent(1.0198975,106)) wave4.append(CreateNukeTitanEvent(< 3123.560059 , 4202.060059 , 954.343994 >,< 0.000000 , -141.108002 , 0.000000 >,"",107)) @@ -429,7 +429,7 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(0.9400635,6)) wave5.append(CreateDroppodStalkerEvent(< 1258.060059 , 921.593994 , 1330.750000 >,"",7)) wave5.append(CreateWaitForTimeEvent(5.0,8)) - wave5.append(CreateWaitUntilAliveEvent(4,9)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,9)) wave5.append(CreateSuperSpectreEvent(< 1094.089966 , 1330.660034 , 1354.969971 >,< -0.000000 , 157.544006 , 0.000000 >,"",10)) wave5.append(CreateWaitForTimeEvent(0.7800293,11)) wave5.append(CreateSuperSpectreEvent(< 857.406006 , 739.843994 , 1373.030029 >,< -0.000000 , 151.962997 , 0.000000 >,"",12)) @@ -438,7 +438,7 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(1.2099609,15)) wave5.append(CreateSuperSpectreEvent(< 2724.129883 , 2458.629883 , 946.155029 >,< -0.000000 , -127.245003 , 0.000000 >,"",16)) wave5.append(CreateWaitForTimeEvent(5.0,17)) - wave5.append(CreateWaitUntilAliveEvent(4,18)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,18)) wave5.append(CreateSuperSpectreEvent(< 1092.119995 , 1331.380005 , 1355.650024 >,< 0.000000 , 157.500000 , 0.000000 >,"",19)) wave5.append(CreateWaitForTimeEvent(1.1699219,20)) wave5.append(CreateSuperSpectreEvent(< 938.187988 , 707.406006 , 1362.939941 >,< -0.000000 , 153.720993 , 0.000000 >,"",21)) @@ -463,12 +463,12 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(1.3399658,40)) wave5.append(CreateLegionTitanEvent(< 3144.659912 , 2935.629883 , 917.218994 >,< 0.000000 , 179.341003 , 0.000000 >,"",41)) wave5.append(CreateWaitForTimeEvent(5.0,42)) - wave5.append(CreateWaitUntilAliveEvent(4,43)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,43)) wave5.append(CreateDroppodStalkerEvent(< 2457.310059 , -2563.659912 , 789.250000 >,"",44)) wave5.append(CreateWaitForTimeEvent(0.92004395,45)) wave5.append(CreateDroppodStalkerEvent(< 1045.339966 , -2843.340088 , 804.812988 >,"",46)) wave5.append(CreateWaitForTimeEvent(5.0,47)) - wave5.append(CreateWaitUntilAliveEvent(4,48)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,48)) wave5.append(CreateIonTitanEvent(< 4466.220215 , 1469.410034 , 947.281006 >,< 0.000000 , 169.541000 , 0.000000 >,"",49)) wave5.append(CreateWaitForTimeEvent(0.9499512,50)) wave5.append(CreateIonTitanEvent(< 4453.129883 , 964.750000 , 947.281006 >,< 0.000000 , -172.529007 , 0.000000 >,"",51)) @@ -495,14 +495,14 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(0.710083,72)) wave5.append(CreateSuperSpectreEvent(< 2129.800049 , -1492.459961 , 806.202026 >,< 0.000000 , 143.744995 , 0.000000 >,"",73)) wave5.append(CreateWaitForTimeEvent(5.0,74)) - wave5.append(CreateWaitUntilAliveEvent(4,75)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,75)) wave5.append(CreateToneTitanEvent(< 2665.060059 , 4456.129883 , 960.687988 >,< 0.000000 , -141.108002 , 0.000000 >,"",76)) wave5.append(CreateWaitForTimeEvent(0.5600586,77)) wave5.append(CreateToneTitanEvent(< 3123.250000 , 4201.689941 , 954.281006 >,< 0.000000 , -141.108002 , 0.000000 >,"",78)) wave5.append(CreateWaitForTimeEvent(1.3199463,79)) wave5.append(CreateMonarchTitanEvent(< 1324.160034 , 4820.189941 , 937.531006 >,< 0.000000 , -90.000000 , 0.000000 >,"",80)) wave5.append(CreateWaitForTimeEvent(5.0,81)) - wave5.append(CreateWaitUntilAliveEvent(4,82)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,82)) wave5.append(CreateSuperSpectreEvent(< 1511.160034 , -1437.079956 , 809.958008 >,< -0.000000 , 142.475998 , 0.000000 >,"",83)) wave5.append(CreateWaitForTimeEvent(1.1899414,84)) wave5.append(CreateSuperSpectreEvent(< 2091.909912 , -1464.430054 , 809.992981 >,< -0.000000 , 143.503998 , 0.000000 >,"",85)) @@ -519,19 +519,19 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(0.11999512,96)) wave5.append(CreateDroppodStalkerEvent(< 2457.310059 , -2563.659912 , 789.250000 >,"",97)) wave5.append(CreateWaitForTimeEvent(5.0,98)) - wave5.append(CreateWaitUntilAliveEvent(4,99)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,99)) wave5.append(CreateToneTitanEvent(< 2665.060059 , 4456.129883 , 960.687988 >,< 0.000000 , -141.108002 , 0.000000 >,"",100)) wave5.append(CreateWaitForTimeEvent(0.5999756,101)) wave5.append(CreateToneTitanEvent(< 3123.250000 , 4201.689941 , 954.281006 >,< 0.000000 , -141.108002 , 0.000000 >,"",102)) wave5.append(CreateWaitForTimeEvent(0.60009766,103)) - wave5.append(CreateSpawnDroneEvent(< 2674.979980 , 4322.020020 , 1283.979980 >,< 0.000000 , 0.000000 , 0.000000 >,"",104)) + wave5.append(CreateCloakDroneEvent(< 2674.979980 , 4322.020020 , 1283.979980 >,< 0.000000 , 0.000000 , 0.000000 >,104)) wave5.append(CreateWaitForTimeEvent(5.0,105)) - wave5.append(CreateWaitUntilAliveEvent(4,106)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,106)) wave5.append(CreateToneTitanEvent(< 2475.810059 , -3544.189941 , 810.218994 >,< 0.000000 , 90.000000 , 0.000000 >,"",107)) wave5.append(CreateWaitForTimeEvent(1.2999268,108)) wave5.append(CreateToneTitanEvent(< 2821.340088 , -2936.719971 , 827.937988 >,< 0.000000 , 117.202003 , 0.000000 >,"",109)) wave5.append(CreateWaitForTimeEvent(0.70007324,110)) - wave5.append(CreateSpawnDroneEvent(< 2363.000000 , -3327.010010 , 1235.989990 >,< 0.000000 , 0.000000 , 0.000000 >,"",111)) + wave5.append(CreateCloakDroneEvent(< 2363.000000 , -3327.010010 , 1235.989990 >,< 0.000000 , 0.000000 , 0.000000 >,111)) wave5.append(CreateWaitForTimeEvent(6.0,112)) wave5.append(CreateScorchTitanEvent(< 1763.910034 , -1608.660034 , 810.218994 >,< 0.000000 , 90.000000 , 0.000000 >,"",113)) wave5.append(CreateWaitForTimeEvent(1.2999268,114)) @@ -541,14 +541,14 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(0.6999512,118)) wave5.append(CreateIonTitanEvent(< 2411.810059 , -1108.189941 , 803.375000 >,< 0.000000 , 90.000000 , 0.000000 >,"",119)) wave5.append(CreateWaitForTimeEvent(5.0,120)) - wave5.append(CreateWaitUntilAliveEvent(4,121)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,121)) wave5.append(CreateToneSniperTitanEvent(< 4466.220215 , 1469.410034 , 947.281006 >,< 0.000000 , 169.541000 , 0.000000 >,122)) wave5.append(CreateWaitForTimeEvent(0.9000244,123)) wave5.append(CreateToneSniperTitanEvent(< 4453.129883 , 964.750000 , 947.281006 >,< 0.000000 , -172.529007 , 0.000000 >,124)) wave5.append(CreateWaitForTimeEvent(1.0999756,125)) wave5.append(CreateArcTitanEvent(< 3867.219971 , 1445.689941 , 947.281006 >,< 0.000000 , 180.000000 , 0.000000 >,"",126)) wave5.append(CreateWaitForTimeEvent(5.0,127)) - wave5.append(CreateWaitUntilAliveEvent(4,128)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,128)) wave5.append(CreateNukeTitanEvent(< 2475.909912 , -3544.659912 , 810.281006 >,< 0.000000 , 90.000000 , 0.000000 >,"",129)) wave5.append(CreateWaitForTimeEvent(1.2000732,130)) wave5.append(CreateNukeTitanEvent(< 2665.340088 , 4456.500000 , 960.656006 >,< 0.000000 , -141.108002 , 0.000000 >,"",131)) @@ -561,7 +561,7 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(0.6999512,138)) wave5.append(CreateNukeTitanEvent(< 1324.060059 , 4820.660156 , 937.562988 >,< 0.000000 , -90.000000 , 0.000000 >,"",139)) wave5.append(CreateWaitForTimeEvent(5.0,140)) - wave5.append(CreateWaitUntilAliveEvent(4,141)) + wave5.append(CreateWaitUntilAliveWeightedEvent(16,141)) wave5.append(CreateToneTitanEvent(< 4466.220215 , 1469.410034 , 947.281006 >,< 0.000000 , 169.541000 , 0.000000 >,"",142)) wave5.append(CreateWaitForTimeEvent(1.3000488,143)) wave5.append(CreateToneTitanEvent(< 4453.129883 , 964.750000 , 947.281006 >,< 0.000000 , -172.529007 , 0.000000 >,"",144)) |