From 23621698c9e975fe9ac096692d59ad4bb92e2d6f Mon Sep 17 00:00:00 2001 From: INeedBots Date: Tue, 12 Jan 2021 18:01:26 -0600 Subject: [PATCH] fixStealthBomberDupe fast_harrier --- main/pvbrust.cfg | 1 + main/pvbvote.cfg | 1 + main/server.cfg | 1 + userraw/maps/mp/killstreaks/_airstrike.gsc | 34 ++++++++++++++++++++-- userraw/maps/mp/killstreaks/_nuke.gsc | 2 ++ 5 files changed, 36 insertions(+), 3 deletions(-) diff --git a/main/pvbrust.cfg b/main/pvbrust.cfg index de3f953..9d9af6a 100644 --- a/main/pvbrust.cfg +++ b/main/pvbrust.cfg @@ -652,3 +652,4 @@ set scr_uav_does_print "1" // _airstrike set scr_harrier_duration "30" +set scr_harrier_fast "1" diff --git a/main/pvbvote.cfg b/main/pvbvote.cfg index f72af99..fa35218 100644 --- a/main/pvbvote.cfg +++ b/main/pvbvote.cfg @@ -652,3 +652,4 @@ set scr_uav_does_print "1" // _airstrike set scr_harrier_duration "30" +set scr_harrier_fast "1" diff --git a/main/server.cfg b/main/server.cfg index b9d7555..36c67a1 100644 --- a/main/server.cfg +++ b/main/server.cfg @@ -652,3 +652,4 @@ set scr_uav_does_print "1" // _airstrike set scr_harrier_duration "30" +set scr_harrier_fast "1" diff --git a/userraw/maps/mp/killstreaks/_airstrike.gsc b/userraw/maps/mp/killstreaks/_airstrike.gsc index c3935c7..bf2cd96 100644 --- a/userraw/maps/mp/killstreaks/_airstrike.gsc +++ b/userraw/maps/mp/killstreaks/_airstrike.gsc @@ -6,6 +6,12 @@ DVAR: - scr_harrier_duration 45 - (default) amount of seconds a harrier sticks around for + + - scr_harrier_fast + 0 - (default) allow players to call in harrier sooner (as it leaves, instead of being deleted) + + - scr_fixStealthBomberDupe + 0 - (default) fixes an issue where queuing harriers and airstrikes, and using a stealth bomber will dupe the stealth bomber airstrike */ #include maps\mp\_utility; @@ -37,7 +43,11 @@ init() PrecacheMiniMapIcon( "hud_minimap_harrier_red" ); setDvarIfUninitialized( "scr_harrier_duration", 45 ); + setDvarIfUninitialized( "scr_harrier_fast", false ); + setDvarIfUninitialized( "scr_fixStealthBomberDupe", false ); level.harrierDuration = getDvarInt( "scr_harrier_duration" ); + level.harrier_fast = getDvarInt( "scr_harrier_fast" ); + level.fixStealthBomberDupe = getDvarInt( "scr_fixStealthBomberDupe" ); level.onfirefx = loadfx ("fire/fire_smoke_trail_L"); @@ -250,13 +260,25 @@ doAirstrike( lifeId, origin, yaw, owner, team ) if ( airStrikeType != "harrier" ) return; - while ( isDefined( harrierEnt ) ) - wait ( 0.1 ); - + if (isDefined(harrierEnt)) + harrierEnt waitForHarrierToDie(); + level.planes--; } +waitForHarrierToDie() +{ + self endon("death"); + + if (level.harrier_fast) + self endon("leaving"); + + while ( isDefined( self ) ) + wait ( 0.1 ); +} + + clearProgress( delay ) { wait ( 2.0 ); @@ -963,6 +985,12 @@ callStrike( lifeId, owner, coord, yaw ) else if ( self.airStrikeType == "stealth" ) { level thread doBomberStrike( lifeId, owner, requiredDeathCount, coord, startPoint+(0,0,randomInt(1000)), endPoint+(0,0,randomInt(1000)), bombTime, flyTime, direction, self.airStrikeType ); + + if (level.fixStealthBomberDupe) + { + wait randomfloatrange( 3.5, 5.5 ); + maps\mp\gametypes\_hostmigration::waitTillHostMigrationDone(); + } } else //common airstrike { diff --git a/userraw/maps/mp/killstreaks/_nuke.gsc b/userraw/maps/mp/killstreaks/_nuke.gsc index 95063e9..7d8cc2d 100644 --- a/userraw/maps/mp/killstreaks/_nuke.gsc +++ b/userraw/maps/mp/killstreaks/_nuke.gsc @@ -351,6 +351,8 @@ nukeEffects() if (!isDefined(chopper)) break; + + chopper delete(); } level maps\mp\killstreaks\_emp::destroyActiveVehicles( level.nukeInfo.player, false );