diff options
-rw-r--r-- | Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut | 80 | ||||
-rw-r--r-- | Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai_fd.nut | 18 |
2 files changed, 69 insertions, 29 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut index f7b5e33d..bff0ebab 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut +++ b/Northstar.CustomServers/mod/scripts/vscripts/gamemodes/_gamemode_fd.nut @@ -82,6 +82,8 @@ void function GamemodeFD_Init() SetRoundBased(true) SetShouldUseRoundWinningKillReplay(false) + Riff_ForceBoostAvailability( eBoostAvailability.Disabled ) + PlayerEarnMeter_SetEnabled(false) AddCallback_EntitiesDidLoad(LoadEntities) AddDamageCallback("prop_script",OnDamagedPropScript) @@ -156,16 +158,20 @@ void function mainGameLoop() { if(!runWave(i,showShop)) break - showShop = true - } - if(IsAlive(fd_harvester.harvester)) - { - //Game won code - SetWinner(TEAM_MILITIA) - return + + if(i==0) + { + PlayerEarnMeter_SetEnabled(true) + showShop = true + foreach(entity player in GetPlayerArray()) + { + PlayerEarnMeter_AddEarnedAndOwned(player,1.0,1.0) + } + } + } - //restart round - SetWinner(TEAM_IMC) + + } array<entity> function getRoute(string routeName) @@ -326,9 +332,20 @@ bool function runWave(int waveIndex,bool shouldDoBuyTime) return false waitUntilLessThanAmountAlive(0) } + if(!IsAlive(fd_harvester.harvester)) + { + + } - - + if(!IsAlive(fd_harvester.harvester)) + { + if(GetGlobalNetInt("FD_restartsRemaining")>0) + FD_DecrementRestarts() + else + SetRoundBased(false) + SetWinner(TEAM_IMC)//restart round + return false + } wait 2 @@ -383,6 +400,13 @@ bool function runWave(int waveIndex,bool shouldDoBuyTime) EmitSoundOnEntityOnlyToPlayer(player,player,"HUD_MP_BountyHunt_BankBonusPts_Deposit_Start_1P") } } + if(isFinalWave()&&IsAlive(fd_harvester.harvester)) + { + //Game won code + SetRoundBased(false) + SetWinner(TEAM_MILITIA) + return true + } wait 10 return true @@ -552,12 +576,17 @@ void function initNetVars() void function FD_createHarvester() { - HarvesterStruct ret = SpawnHarvester(file.harvester_info.GetOrigin(),file.harvester_info.GetAngles(),1,1,TEAM_IMC)//,25000,6000,TEAM_MILITIA) + HarvesterStruct ret = SpawnHarvester(file.harvester_info.GetOrigin(),file.harvester_info.GetAngles(),25000,6000,TEAM_MILITIA) fd_harvester.harvester = ret.harvester fd_harvester.rings = ret.rings fd_harvester.lastDamage = ret.lastDamage } +bool function isFinalWave() +{ + return ((GetGlobalNetInt("FD_currentWave")+1)==GetGlobalNetInt("FD_totalWaves")) +} + void function LoadEntities() { @@ -588,6 +617,7 @@ void function LoadEntities() } } } + AddStationaryAIPosition(< -12, 1720, 1456 >,4) ValidateAndFinalizePendingStationaryPositions() initNetVars() } @@ -599,7 +629,7 @@ void function titanNav_thread(entity titan, string routeName) printt("Start NAV") - if((!titan.IsTitan())||(!titan.IsNPC())) + if(!titan.IsNPC()) return @@ -619,7 +649,7 @@ void function titanNav_thread(entity titan, string routeName) continue titan.AssaultPoint(node.GetOrigin()) int i = 0 - while((Distance(titan.GetOrigin(),node.GetOrigin())>5000)) + while((Distance(titan.GetOrigin(),node.GetOrigin())>500)) { WaitFrame() printt(Distance(titan.GetOrigin(),node.GetOrigin())) @@ -860,11 +890,14 @@ void function waitUntilLessThanAmountAliveEvent(SmokeEvent smokeEvent,SpawnEvent } void function spawnSuperSpectre(SmokeEvent smokeEvent,SpawnEvent spawnEvent,WaitEvent waitEvent,SoundEvent soundEvent) -{ +{ PingMinimap(spawnEvent.origin.x, spawnEvent.origin.y, 4, 600, 150, 0) + entity npc = CreateSuperSpectre(TEAM_IMC,spawnEvent.origin,spawnEvent.angles) - SetSpawnOption_Titanfall(npc) - DispatchSpawn(npc) + SetSpawnOption_AISettings(npc,"npc_super_spectre_fd") + file.spawnedNPCs.append(npc) + + thread spawnSuperSpectre_threaded(npc) } void function spawnDroppodGrunts(SmokeEvent smokeEvent,SpawnEvent spawnEvent,WaitEvent waitEvent,SoundEvent soundEvent) @@ -917,6 +950,7 @@ void function spawnNukeTitan(SmokeEvent smokeEvent,SpawnEvent spawnEvent,WaitEve void function spawnMortarTitan(SmokeEvent smokeEvent,SpawnEvent spawnEvent,WaitEvent waitEvent,SoundEvent soundEvent) { + PingMinimap(spawnEvent.origin.x, spawnEvent.origin.y, 4, 600, 150, 0) entity npc = CreateNPCTitan("titan_atlas",TEAM_IMC, spawnEvent.origin, spawnEvent.angles) SetSpawnOption_AISettings(npc,"npc_titan_atlas_tracker_mortar") @@ -924,14 +958,13 @@ void function spawnMortarTitan(SmokeEvent smokeEvent,SpawnEvent spawnEvent,WaitE DispatchSpawn(npc) file.spawnedNPCs.append(npc) thread MortarTitanThink(npc,fd_harvester.harvester) - } void function spawnSniperTitan(SmokeEvent smokeEvent,SpawnEvent spawnEvent,WaitEvent waitEvent,SoundEvent soundEvent) { PingMinimap(spawnEvent.origin.x, spawnEvent.origin.y, 4, 600, 150, 0) entity npc = CreateNPCTitan("titan_stryder",TEAM_IMC, spawnEvent.origin, spawnEvent.angles) - SetSpawnOption_AISettings(npc,"npc_titan_atlas_tracker_mortar") + SetSpawnOption_AISettings(npc,"npc_titan_stryder_sniper_fd") SetSpawnOption_Titanfall(npc) DispatchSpawn(npc) file.spawnedNPCs.append(npc) @@ -953,7 +986,14 @@ void function fd_spawnCloakDrone(SmokeEvent smokeEffect,SpawnEvent spawnEvent,Wa # # # # # ## # # # # # # # # # ####### # ####### # # # # # ####### ####### # ####### # # \****************************************************************************************/ - +void function spawnSuperSpectre_threaded(entity npc) +{ + + wait 4.7 + DispatchSpawn(npc) + thread SuperSpectre_WarpFall(npc) + thread Reaper_LaunchFragDrone_Think( npc, "npc_frag_drone_fd") +} void function CreateTrackedDroppodSoldier( vector origin, int team) { 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 901e6dd3..9fe18045 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 @@ -13,27 +13,27 @@ void function initFrontierDefenseData() array<WaveEvent> wave3 array<WaveEvent> wave4 - + wave0.append(createSuperSpectreEvent(< -64, 964, 1456>, < 0,0,0 >, "hillRouteClose")) //wave0.append(createSmokeEvent(< -12, 1720, 1456>,30)) // wave0.append(createSmokeEvent(< -64, 964, 1456>,30)) // wave0.append(createWaitForTimeEvent(10)) // wave0.append(createSuperSpectreEvent(< -64, 964, 1456>,<0,0,0>,"")) - - wave0.append(createMortarTitanEvent(< 1632, 4720, 944>,<0,0,0>)) - wave0.append(createCloakDroneEvent(< 1632, 4720, 1200>,<0,0,0>)) + + //wave0.append(createMortarTitanEvent(< 1632, 4720, 944>,<0,0,0>)) + //.append(createCloakDroneEvent(< 1632, 4720, 1200>,<0,0,0>)) wave0.append(createWaitUntilAliveEvent(0)) wave1.append(createArcTitanEvent(< -12, 1720, 1456>,<0,0,0>,"hillRouteClose")) wave1.append(createWaitUntilAliveEvent(0)) // wave0.append(createArcTitanEvent(< -12, 1720, 1456>,<0,0,0>,"hillRouteClose")) - + //wave0.append(createArcTitanEvent(< -12, 1720, 1456>,<0,0,0>,"hillRouteClose")) //wave0.append(createDroppodStalkerEvent(< -12, 1720, 1456>,"")) waveEvents.append(wave0) - waveEvents.append(wave0) + //waveEvents.append(wave0) waveEvents.append(wave1) //waveEvents.append(wave2) //waveEvents.append(wave3) @@ -43,7 +43,7 @@ void function initFrontierDefenseData() /* void function initFrontierDefenseData() { - shopPosition = + shopPosition = array<WaveEvent> wave0 @@ -52,8 +52,8 @@ void function initFrontierDefenseData() array<WaveEvent> wave3 array<WaveEvent> wave4 - - + + |