aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod/scripts
diff options
context:
space:
mode:
authorJack <66967891+ASpoonPlaysGames@users.noreply.github.com>2022-07-23 20:43:49 +0100
committerGitHub <noreply@github.com>2022-07-23 21:43:49 +0200
commit14ee2ce0a4fcee0e9f2afce87936016cd8b72568 (patch)
treea2556ad41baf0af9562a394483f679f51022835a /Northstar.CustomServers/mod/scripts
parent92e0c79759e4388320f565f3922ff5608aff19d6 (diff)
downloadNorthstarMods-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')
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/_harvester.gnut7
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_events.nut6
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai_fd.nut108
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))