diff options
author | Jack <66967891+ASpoonPlaysGames@users.noreply.github.com> | 2022-07-12 20:19:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-12 21:19:44 +0200 |
commit | b601f40395fc940e805e1cbb13efda64fb75fcf1 (patch) | |
tree | 5e5a1b19c70bb4731e38436676b1fbdb16ce3f01 /Northstar.CustomServers | |
parent | 3739df36a838f32ca03621120944663d3b71b963 (diff) | |
download | NorthstarMods-b601f40395fc940e805e1cbb13efda64fb75fcf1.tar.gz NorthstarMods-b601f40395fc940e805e1cbb13efda64fb75fcf1.zip |
[FD] Drone event functionality (#422)
* improve nav + a couple other things
* Add drone nav function and give drones routes in homestead
Diffstat (limited to 'Northstar.CustomServers')
4 files changed, 166 insertions, 56 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut index 15da6866..aa148e0c 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut @@ -167,6 +167,11 @@ void function GamemodeFD_InitPlayer(entity player) else EnableTitanSelectionForPlayer( player ) + if ( GetGlobalNetInt("FD_currentWave") != 0 ) + DisableTitanSelectionForPlayer( player ) // this might need moving to when they exit the titan selection UI when we do that + else + EnableTitanSelectionForPlayer( player ) + } void function SetTurretSettings_threaded(entity player) { //has to be delayed because PlayerConnect callbacks get called in wrong order 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 30297415..11c6774a 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_events.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_events.nut @@ -546,9 +546,10 @@ WaveEvent function CreateSpawnDroneEvent(vector origin,vector angles,string rout event.nextEventIndex = nextEventIndex event.shouldThread = true event.spawnEvent.spawnType= eFD_AITypeIDs.DRONE - event.spawnEvent.spawnAmount = 0 + event.spawnEvent.spawnAmount = 4 event.spawnEvent.origin = origin event.spawnEvent.entityGlobalKey = entityGlobalKey + event.spawnEvent.route = route return event } @@ -580,6 +581,38 @@ void function spawnSmoke(SmokeEvent smokeEvent,SpawnEvent spawnEvent,FlowControl void function spawnDrones(SmokeEvent smokeEvent,SpawnEvent spawnEvent,FlowControlEvent flowControlEvent,SoundEvent soundEvent) { //TODO + PingMinimap(spawnEvent.origin.x, spawnEvent.origin.y, 4, 600, 150, 0) + array<vector> offsets = [ < 0, 100, 0 >, < 100, 0, 0 >, < 0, -100, 0 >, < -100, 0, 0 > ] + + + string squadName = MakeSquadName( TEAM_IMC, UniqueString( "ZiplineTable" ) ) + + for ( int i = 0; i < spawnEvent.spawnAmount; i++ ) + { + entity guy + + guy = CreateGenericDrone( TEAM_IMC, spawnEvent.origin + offsets[i], spawnEvent.angles ) + SetSpawnOption_AISettings( guy, "npc_drone_plasma_fd" ) + + if(spawnEvent.entityGlobalKey!="") + GlobalEventEntitys[spawnEvent.entityGlobalKey+i.tostring()] <- guy + SetTeam( guy, TEAM_IMC ) + guy.DisableNPCFlag( NPC_ALLOW_INVESTIGATE ) + guy.EnableNPCFlag(NPC_STAY_CLOSE_TO_SQUAD) + guy.EnableNPCMoveFlag(NPCMF_WALK_ALWAYS | NPCMF_PREFER_SPRINT) + DispatchSpawn( guy ) + + //guy.GiveWeapon("mp_weapon_engineer_combat_drone") + + SetSquad( guy, squadName ) + + SetTargetName( guy, GetTargetNameForID(eFD_AITypeIDs.DRONE)) + AddMinimapForHumans(guy) + spawnedNPCs.append(guy) + thread droneNav_thread(guy, spawnEvent.route, 0, 500, true) + } + + } void function waitForDeathOfEntitys(SmokeEvent smokeEvent,SpawnEvent spawnEvent,FlowControlEvent flowControlEvent,SoundEvent soundEvent) diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_nav.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_nav.nut index 57282766..9fa04151 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_nav.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd_nav.nut @@ -1,10 +1,11 @@ global function singleNav_thread global function SquadNav_Thread +global function droneNav_thread global function getRoute -void function singleNav_thread(entity npc, string routeName,int nodesToSkip= 0,float nextDistance = 500.0) +void function singleNav_thread(entity npc, string routeName,int nodesToSkip= 0,float nextDistance = 500.0, bool shouldLoop = false) { npc.EndSignal( "OnDeath" ) npc.EndSignal( "OnDestroy" ) @@ -79,7 +80,7 @@ void function singleNav_thread(entity npc, string routeName,int nodesToSkip= 0,f if( !IsAlive( fd_harvester.harvester ) ) return npc.AssaultPoint( targetNode.GetOrigin() ) - npc.AssaultSetGoalRadius( npc.GetMinGoalRadius() ) + npc.AssaultSetGoalRadius( nextDistance ) npc.AssaultSetFightRadius( 0 ) table result = npc.WaitSignal( "OnFinishedAssault", "OnFailedToPath" ) @@ -90,11 +91,11 @@ void function singleNav_thread(entity npc, string routeName,int nodesToSkip= 0,f npc.Signal("FD_ReachedHarvester") } -void function SquadNav_Thread( array<entity> npcs ,string routeName,int nodesToSkip = 0,float nextDistance = 200.0) +void function SquadNav_Thread( array<entity> npcs ,string routeName,int nodesToSkip = 0,float nextDistance = 200.0 ) { //TODO this function wont stop when noone alive anymore also it only works half of the time - - /*array<entity> routeArray = getRoute(routeName) + /* + array<entity> routeArray = getRoute(routeName) WaitFrame()//so other code setting up what happens on signals is run before this if(routeArray.len()==0) return @@ -152,6 +153,73 @@ void function SquadNav_Thread( array<entity> npcs ,string routeName,int nodesToS } +void function droneNav_thread(entity npc, string routeName,int nodesToSkip= 0,float nextDistance = 500.0, bool shouldLoop = false) +{ + npc.EndSignal( "OnDeath" ) + npc.EndSignal( "OnDestroy" ) + + if(!npc.IsNPC()){ + return + } + + // NEW STUFF + WaitFrame() // so other code setting up what happens on signals is run before this + + entity targetNode + entity firstNode + if ( routeName == "" ) + { + float dist = 1000000000 + foreach ( entity node in routeNodes ) + { + if( !node.HasKey("route_name") ) + continue + if ( Distance( npc.GetOrigin(), node.GetOrigin() ) < dist ) + { + dist = Distance( npc.GetOrigin(), node.GetOrigin() ) + targetNode = node + firstNode = node + } + } + printt("Entity had no route defined: using nearest node: " + targetNode.kv.route_name) + } + else + { + targetNode = GetRouteStart( routeName ) + } + + // skip nodes + for ( int i = 0; i < nodesToSkip; i++ ) + { + targetNode = targetNode.GetLinkEnt() + firstNode = targetNode.GetLinkEnt() + } + + + while ( targetNode != null ) + { + if( !IsAlive( fd_harvester.harvester ) ) + return + npc.AssaultPoint( targetNode.GetOrigin() + <0, 0, 300> ) + npc.AssaultSetGoalRadius( nextDistance ) + npc.AssaultSetGoalHeight( 100 ) + npc.AssaultSetFightRadius( 0 ) + + table result = npc.WaitSignal( "OnFinishedAssault", "OnFailedToPath" ) + + targetNode = targetNode.GetLinkEnt() + if ( targetNode == null ) + printt("entity finished pathing") + if ( targetNode == null && shouldLoop ) + { + printt("entity reached end of loop, looping") + targetNode = firstNode + } + } + + npc.Signal("FD_ReachedHarvester") +} + entity function GetRouteStart( string routeName ) { foreach( entity node in routeNodes ) diff --git a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_homestead_fd.nut b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_homestead_fd.nut index 193cc159..0d107d5d 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_homestead_fd.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_homestead_fd.nut @@ -6,9 +6,9 @@ void function initFrontierDefenseData() int index = 1 array<WaveEvent> wave1 - wave1.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4918.959961 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave1.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4918.959961 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave1.append(CreateWaitForTimeEvent(1.5,index++)) - wave1.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4965.220215 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave1.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4965.220215 >,< 0.004999 , -115.792000 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave1.append(CreateWaitForTimeEvent(1.5,index++)) wave1.append(CreateDroppodGruntEvent(< 68.781303 , -516.468994 , -97.937500 >,"",index++)) wave1.append(CreateWaitForTimeEvent(0.5999985,index++)) @@ -19,9 +19,13 @@ void function initFrontierDefenseData() wave1.append(CreateDroppodGruntEvent(< 2420.310059 , -1135.250000 , -159.218994 >,"",index++)) wave1.append(CreateWaitForTimeEvent(5.0,index++)) wave1.append(CreateWaitUntilAliveEvent(6,index++)) - wave1.append(CreateSpawnDroneEvent(< -697.750000 , 940.593994 , 153.656006 >,< -0.000000 , 0.000000 , 0.000000 >,"",index++)) + // replaced this with the one below because it seemed off? + //wave1.append(CreateSpawnDroneEvent(< -697.750000 , 940.593994 , 153.656006 >,< -0.000000 , 0.000000 , 0.000000 >,"",index++)) + wave1.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4918.959961 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave1.append(CreateWaitForTimeEvent(0.5999985,index++)) - wave1.append(CreateSpawnDroneEvent(< 2696.909912 , -388.062988 , 349.250000 >,< -0.000000 , 0.000000 , 0.000000 >,"",index++)) + // replaced this with the one below because it seemed off? + //wave1.append(CreateSpawnDroneEvent(< 2696.909912 , -388.062988 , 349.250000 >,< -0.000000 , 0.000000 , 0.000000 >,"",index++)) + wave1.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4965.220215 >,< 0.004999 , -115.792000 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave1.append(CreateWaitForTimeEvent(1.199997,index++)) wave1.append(CreateDroppodGruntEvent(< 3917.000000 , -2654.719971 , -81.468803 >,"",index++)) wave1.append(CreateWaitForTimeEvent(1.1000061,index++)) @@ -47,11 +51,11 @@ void function initFrontierDefenseData() wave1.append(CreateWaitUntilAliveEvent(6,index++)) wave1.append(CreateDroppodGruntEvent(< -3570.879883 , -1498.500000 , -49.625000 >,"",index++)) wave1.append(CreateWaitForTimeEvent(1.2999878,index++)) - wave1.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4877.899902 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave1.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4877.899902 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave1.append(CreateWaitForTimeEvent(2.0170135,index++)) - wave1.append(CreateSpawnDroneEvent(< 5994.600098 , 1378.760010 , 4810.569824 >,< 0.004999 , -73.121300 , 0.000004 >,"",index++)) + wave1.append(CreateSpawnDroneEvent(< 5994.600098 , 1378.760010 , 4810.569824 >,< 0.004999 , -73.121300 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave1.append(CreateWaitForTimeEvent(0.6659851,index++)) - wave1.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4955.319824 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave1.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4955.319824 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave1.append(CreateWaitForTimeEvent(2.0,index++)) wave1.append(CreateSuperSpectreEvent(< 2918.379883 , -3060.629883 , -25.187500 >,< -0.000000 , -170.770996 , 0.000000 >,"",index++)) wave1.append(CreateWaitForTimeEvent(5.0,index++)) @@ -103,7 +107,7 @@ void function initFrontierDefenseData() waveEvents.append(wave1) index = 1 array<WaveEvent> wave2 - wave2.append(CreateSpawnDroneEvent(< 6090.759766 , 146.453995 , 4888.700195 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave2.append(CreateSpawnDroneEvent(< 6090.759766 , 146.453995 , 4888.700195 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave2.append(CreateWaitForTimeEvent(1.1170044,index++)) wave2.append(CreateDroppodGruntEvent(< 3917.000000 , -2654.719971 , -81.468803 >,"",index++)) wave2.append(CreateWaitForTimeEvent(0.78302,index++)) @@ -119,15 +123,15 @@ void function initFrontierDefenseData() wave2.append(CreateDroppodGruntEvent(< 3754.719971 , -2589.250000 , -63.906300 >,"",index++)) wave2.append(CreateWaitForTimeEvent(5.0,index++)) wave2.append(CreateWaitUntilAliveEvent(6,index++)) - wave2.append(CreateSpawnDroneEvent(< 6036.729980 , 172.546997 , 4870.890137 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave2.append(CreateSpawnDroneEvent(< 6036.729980 , 172.546997 , 4870.890137 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave2.append(CreateWaitForTimeEvent(2.7000122,index++)) - wave2.append(CreateSpawnDroneEvent(< 6012.029785 , 1321.359985 , 4831.279785 >,< 0.004999 , -73.121300 , 0.000004 >,"",index++)) + wave2.append(CreateSpawnDroneEvent(< 6012.029785 , 1321.359985 , 4831.279785 >,< 0.004999 , -73.121300 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave2.append(CreateWaitForTimeEvent(5.0,index++)) wave2.append(CreateWaitUntilAliveEvent(6,index++)) - wave2.append(CreateSpawnDroneEvent(< 6076.790039 , 186.516006 , 4886.330078 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave2.append(CreateSpawnDroneEvent(< 6076.790039 , 186.516006 , 4886.330078 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave2.append(CreateWaitForTimeEvent(5.0,index++)) wave2.append(CreateWaitUntilAliveEvent(6,index++)) - wave2.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4918.220215 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave2.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4918.220215 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave2.append(CreateWaitForTimeEvent(1.4830322,index++)) wave2.append(CreateDroppodSpectreMortarEvent(< 3754.719971 , -2589.250000 , -63.906300 >,"",index++)) wave2.append(CreateWaitForTimeEvent(0.6170044,index++)) @@ -183,36 +187,36 @@ void function initFrontierDefenseData() waveEvents.append(wave2) index = 1 array<WaveEvent> wave3 - wave3.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4893.919922 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4893.919922 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(1.0170288,index++)) - wave3.append(CreateSpawnDroneEvent(< 6032.029785 , 1358.760010 , 4813.379883 >,< 0.004999 , -73.121300 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 6032.029785 , 1358.760010 , 4813.379883 >,< 0.004999 , -73.121300 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave3.append(CreateWaitForTimeEvent(0.8829956,index++)) - wave3.append(CreateSpawnDroneEvent(< 3327.889893 , 2277.639893 , 4935.830078 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3327.889893 , 2277.639893 , 4935.830078 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(0.7839966,index++)) - wave3.append(CreateSpawnDroneEvent(< 4582.979980 , 2624.050049 , 4906.810059 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 4582.979980 , 2624.050049 , 4906.810059 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(0.9160156,index++)) - wave3.append(CreateSpawnDroneEvent(< 4024.330078 , 3117.510010 , 4947.189941 >,< 0.004999 , -25.792200 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 4024.330078 , 3117.510010 , 4947.189941 >,< 0.004999 , -25.792200 , 0.000004 >,"centerRightDrones_Loop4",index++)) wave3.append(CreateWaitForTimeEvent(5.0,index++)) wave3.append(CreateWaitUntilAliveEvent(6,index++)) - wave3.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4889.950195 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4889.950195 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(5.0,index++)) wave3.append(CreateWaitUntilAliveEvent(6,index++)) wave3.append(CreateSuperSpectreEvent(< -515.437988 , -263.281006 , 420.281006 >,< -0.000000 , 176.923996 , 0.000000 >,"",index++)) wave3.append(CreateWaitForTimeEvent(1.2160034,index++)) wave3.append(CreateSuperSpectreEvent(< 2567.189941 , -3095.969971 , 25.437500 >,< -0.000000 , -174.945999 , 0.000000 >,"",index++)) wave3.append(CreateWaitForTimeEvent(0.10003662,index++)) - wave3.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4936.169922 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4936.169922 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(5.0,index++)) wave3.append(CreateWaitUntilAliveEvent(6,index++)) - wave3.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4946.819824 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4946.819824 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(0.717041,index++)) - wave3.append(CreateSpawnDroneEvent(< 2880.760010 , 3060.300049 , 4874.819824 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 2880.760010 , 3060.300049 , 4874.819824 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(0.782959,index++)) - wave3.append(CreateSpawnDroneEvent(< 4569.009766 , 2664.110107 , 4897.569824 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 4569.009766 , 2664.110107 , 4897.569824 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(1.4169922,index++)) - wave3.append(CreateSpawnDroneEvent(< 3984.270020 , 3103.570068 , 4931.939941 >,< 0.004999 , -25.792200 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3984.270020 , 3103.570068 , 4931.939941 >,< 0.004999 , -25.792200 , 0.000004 >,"centerRightDrones_Loop4",index++)) wave3.append(CreateWaitForTimeEvent(1.4830322,index++)) - wave3.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4931.640137 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4931.640137 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(4.0999756,index++)) wave3.append(CreateIonTitanEvent(< -515.187988 , 1099.160034 , -162.281006 >,< 0.000000 , -90.000000 , 0.000000 >,"",index++)) wave3.append(CreateWaitForTimeEvent(1.0170288,index++)) @@ -223,7 +227,7 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(0.96698,index++)) wave3.append(CreateDroppodGruntEvent(< 3754.719971 , -2589.250000 , -63.906300 >,"",index++)) wave3.append(CreateWaitForTimeEvent(5.950012,index++)) - wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4920.089844 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4920.089844 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(1.4829712,index++)) wave3.append(CreateMortarTitanEvent(< -515.187988 , 1099.160034 , -162.281006 >,< 0.000000 , -90.000000 , 0.000000 >,index++)) wave3.append(CreateWaitForTimeEvent(0.717041,index++)) @@ -256,27 +260,27 @@ void function initFrontierDefenseData() wave3.append(CreateWaitForTimeEvent(5.017029,index++)) wave3.append(CreateSuperSpectreEvent(< 3324.590088 , -2931.780029 , -67.531303 >,< 0.000000 , -156.138000 , 0.000000 >,"",index++)) wave3.append(CreateWaitForTimeEvent(2.6829834,index++)) - wave3.append(CreateSpawnDroneEvent(< 6090.759766 , 146.453995 , 4907.120117 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 6090.759766 , 146.453995 , 4907.120117 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(1.217041,index++)) - wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4934.399902 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4934.399902 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(5.0,index++)) wave3.append(CreateWaitUntilAliveEvent(6,index++)) wave3.append(CreateDroppodGruntEvent(< -1197.939941 , 1928.560059 , 80.031303 >,"",index++)) wave3.append(CreateWaitForTimeEvent(1.1329956,index++)) wave3.append(CreateDroppodGruntEvent(< 3917.000000 , -2654.719971 , -81.468803 >,"",index++)) wave3.append(CreateWaitForTimeEvent(4.049988,index++)) - wave3.append(CreateSpawnDroneEvent(< 6076.790039 , 186.516006 , 4905.089844 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 6076.790039 , 186.516006 , 4905.089844 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(1.2330322,index++)) - wave3.append(CreateSpawnDroneEvent(< 6012.029785 , 1321.359985 , 4808.120117 >,< 0.004999 , -73.121300 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 6012.029785 , 1321.359985 , 4808.120117 >,< 0.004999 , -73.121300 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave3.append(CreateWaitForTimeEvent(1.0999756,index++)) - wave3.append(CreateSpawnDroneEvent(< 5204.000000 , 1275.729980 , 4938.310059 >,< 0.004999 , -89.996300 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 5204.000000 , 1275.729980 , 4938.310059 >,< 0.004999 , -89.996300 , 0.000004 >,"centerRightDrones_Loop2",index++)) wave3.append(CreateWaitForTimeEvent(5.0,index++)) wave3.append(CreateWaitUntilAliveEvent(6,index++)) - wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4898.049805 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4898.049805 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(1.1669922,index++)) - wave3.append(CreateSpawnDroneEvent(< 4542.890137 , 2610.110107 , 4888.470215 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 4542.890137 , 2610.110107 , 4888.470215 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(1.3330078,index++)) - wave3.append(CreateSpawnDroneEvent(< 2826.729980 , 3086.419922 , 4851.450195 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 2826.729980 , 3086.419922 , 4851.450195 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(0.9500122,index++)) wave3.append(CreateNukeTitanEvent(< 3573.939941 , -2788.310059 , -68.281303 >,< 0.000000 , 0.000000 , 0.000000 >,"",index++)) wave3.append(CreateWaitForTimeEvent(1.532959,index++)) @@ -289,9 +293,9 @@ void function initFrontierDefenseData() wave3.append(CreateSuperSpectreEvent(< -522.593994 , -251.406006 , 416.437988 >,< -0.000000 , 169.408997 , 0.000000 >,"",index++)) wave3.append(CreateWaitForTimeEvent(5.0,index++)) wave3.append(CreateWaitUntilAliveEvent(6,index++)) - wave3.append(CreateSpawnDroneEvent(< 6076.790039 , 186.516006 , 4864.759766 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 6076.790039 , 186.516006 , 4864.759766 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(0.8840332,index++)) - wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4941.009766 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave3.append(CreateSpawnDroneEvent(< 3367.949951 , 2291.610107 , 4941.009766 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave3.append(CreateWaitForTimeEvent(0.8999634,index++)) wave3.append(CreateScorchTitanEvent(< 5251.529785 , 2049.280029 , 13.125000 >,< 0.000000 , -90.000000 , 0.000000 >,"",index++)) wave3.append(CreateWaitForTimeEvent(1.5159912,index++)) @@ -320,9 +324,9 @@ void function initFrontierDefenseData() wave4.append(CreateWaitForTimeEvent(1.5,index++)) wave4.append(CreateSuperSpectreEvent(< -1172.420044 , 1221.010010 , -167.218994 >,< 0.000000 , -175.912994 , 0.000000 >,"",index++)) wave4.append(CreateWaitForTimeEvent(0.11999512,index++)) - wave4.append(CreateSpawnDroneEvent(< 6090.759766 , 146.453995 , 4879.229980 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 6090.759766 , 146.453995 , 4879.229980 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave4.append(CreateWaitForTimeEvent(1.0999756,index++)) - wave4.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4925.459961 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 3381.919922 , 2251.550049 , 4925.459961 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave4.append(CreateWaitForTimeEvent(1.0599365,index++)) wave4.append(CreateDroppodGruntEvent(< 3754.719971 , -2589.250000 , -63.906300 >,"",index++)) wave4.append(CreateWaitForTimeEvent(1.1400146,index++)) @@ -381,18 +385,18 @@ void function initFrontierDefenseData() wave4.append(CreateSuperSpectreEvent(< 3910.250000 , -2404.560059 , -89.156303 >,< -0.922852 , -121.376999 , -1.582030 >,"",index++)) wave4.append(CreateWaitForTimeEvent(5.0,index++)) wave4.append(CreateWaitUntilAliveEvent(6,index++)) - wave4.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4890.120117 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 6050.669922 , 132.485001 , 4890.120117 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave4.append(CreateWaitForTimeEvent(0.8099365,index++)) - wave4.append(CreateSpawnDroneEvent(< 5994.600098 , 1378.760010 , 4814.129883 >,< 0.004999 , -73.121300 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 5994.600098 , 1378.760010 , 4814.129883 >,< 0.004999 , -73.121300 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave4.append(CreateWaitForTimeEvent(1.5,index++)) - wave4.append(CreateSpawnDroneEvent(< 5234.000000 , 1305.729980 , 4936.160156 >,< 0.004999 , -89.996300 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 5234.000000 , 1305.729980 , 4936.160156 >,< 0.004999 , -89.996300 , 0.000004 >,"centerRightDrones_Loop2",index++)) wave4.append(CreateWaitForTimeEvent(1.2000732,index++)) - wave4.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4911.430176 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4911.430176 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave4.append(CreateWaitForTimeEvent(5.0,index++)) wave4.append(CreateWaitUntilAliveEvent(6,index++)) - wave4.append(CreateSpawnDroneEvent(< 3327.889893 , 2277.639893 , 4940.600098 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 3327.889893 , 2277.639893 , 4940.600098 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave4.append(CreateWaitForTimeEvent(0.8300781,index++)) - wave4.append(CreateSpawnDroneEvent(< 2866.790039 , 3100.360107 , 4857.200195 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 2866.790039 , 3100.360107 , 4857.200195 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave4.append(CreateWaitForTimeEvent(1.2799072,index++)) wave4.append(CreateToneSniperTitanEvent(< 1484.189941 , 968.218994 , 97.968803 >,< -0.922852 , -141.942993 , -1.582030 >,index++)) wave4.append(CreateWaitForTimeEvent(1.2900391,index++)) @@ -405,11 +409,11 @@ void function initFrontierDefenseData() wave4.append(CreateDroppodGruntEvent(< 3917.000000 , -2654.719971 , -81.468803 >,"",index++)) wave4.append(CreateWaitForTimeEvent(5.0,index++)) wave4.append(CreateWaitUntilAliveEvent(6,index++)) - wave4.append(CreateSpawnDroneEvent(< 6036.729980 , 172.546997 , 4861.959961 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 6036.729980 , 172.546997 , 4861.959961 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave4.append(CreateWaitForTimeEvent(0.98999023,index++)) - wave4.append(CreateSpawnDroneEvent(< 6032.029785 , 1358.760010 , 4831.629883 >,< 0.004999 , -73.121300 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 6032.029785 , 1358.760010 , 4831.629883 >,< 0.004999 , -73.121300 , 0.000004 >,"centerLeftDrones_Loop3",index++)) wave4.append(CreateWaitForTimeEvent(1.1099854,index++)) - wave4.append(CreateSpawnDroneEvent(< 5204.000000 , 1335.729980 , 4926.459961 >,< 0.004999 , -89.996300 , 0.000004 >,"",index++)) + wave4.append(CreateSpawnDroneEvent(< 5204.000000 , 1335.729980 , 4926.459961 >,< 0.004999 , -89.996300 , 0.000004 >,"centerRightDrones_Loop2",index++)) wave4.append(CreateWaitForTimeEvent(5.0,index++)) wave4.append(CreateWaitUntilAliveEvent(6,index++)) wave4.append(CreateToneSniperTitanEvent(< 1484.189941 , 968.218994 , 97.968803 >,< -0.922852 , -141.942993 , -1.582030 >,index++)) @@ -460,11 +464,11 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(1.0,index++)) wave5.append(CreateNukeTitanEvent(< 4249.879883 , 2937.159912 , -44.156300 >,< 0.000000 , -90.000000 , 0.000000 >,"",index++)) wave5.append(CreateWaitForTimeEvent(0.23999023,index++)) - wave5.append(CreateSpawnDroneEvent(< 3027.270020 , 1470.109985 , 196.347000 >,< 13.667000 , -114.433998 , 0.000000 >,"",index++)) + wave5.append(CreateSpawnDroneEvent(< 3027.270020 , 1470.109985 , 196.347000 >,< 13.667000 , -114.433998 , 0.000000 >,"centerRightDrones_Loop6",index++)) wave5.append(CreateWaitForTimeEvent(0.10998535,index++)) - wave5.append(CreateSpawnDroneEvent(< 2938.060059 , 1411.089966 , 100.563004 >,< 13.667000 , -110.039001 , 0.000000 >,"",index++)) + wave5.append(CreateSpawnDroneEvent(< 2938.060059 , 1411.089966 , 100.563004 >,< 13.667000 , -110.039001 , 0.000000 >,"centerRightDrones_Loop6",index++)) wave5.append(CreateWaitForTimeEvent(0.11999512,index++)) - wave5.append(CreateSpawnDroneEvent(< 3031.810059 , 1541.949951 , 103.435997 >,< 12.767300 , -112.807999 , -0.000001 >,"",index++)) + wave5.append(CreateSpawnDroneEvent(< 3031.810059 , 1541.949951 , 103.435997 >,< 12.767300 , -112.807999 , -0.000001 >,"centerRightDrones_Loop6",index++)) wave5.append(CreateWaitForTimeEvent(3.5999756,index++)) wave5.append(CreateSuperSpectreEvent(< 5122.479980 , 1549.989990 , 38.913399 >,< -0.000000 , -147.757004 , 0.000000 >,"",index++)) wave5.append(CreateWaitForTimeEvent(0.82006836,index++)) @@ -497,7 +501,7 @@ void function initFrontierDefenseData() wave5.append(CreateWaitForTimeEvent(1.2900391,index++)) wave5.append(CreateNukeTitanEvent(< 3610.939941 , 2928.689941 , 22.218800 >,< 0.000000 , -113.642998 , 0.000000 >,"",index++)) wave5.append(CreateWaitForTimeEvent(0.60998535,index++)) - wave5.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4942.560059 >,< 0.004999 , -115.792000 , 0.000004 >,"",index++)) + wave5.append(CreateSpawnDroneEvent(< 3341.850098 , 2237.580078 , 4942.560059 >,< 0.004999 , -115.792000 , 0.000004 >,"centerRightDrones_Loop1",index++)) wave5.append(CreateWaitForTimeEvent(0.73999023,index++)) wave5.append(CreateNukeTitanEvent(< 5797.589844 , 1407.689941 , -93.906303 >,< 0.000000 , -161.498993 , 0.000000 >,"",index++)) wave5.append(CreateWaitForTimeEvent(0.7800293,index++)) |