mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-22 13:55:43 +00:00
cur rollover dvar
This commit is contained in:
parent
0d589ec89e
commit
226254e501
@ -579,6 +579,7 @@ set onemanarmyRefillsTubes "1"
|
||||
|
||||
// _killstreaks
|
||||
set scr_killstreak_rollover "1"
|
||||
set scr_currentRolloverKillstreaksOnlyIncrease "1"
|
||||
set scr_killstreakHud "1"
|
||||
set scr_maxKillstreakRollover "1"
|
||||
set scr_killstreak_mod "0"
|
||||
|
@ -579,6 +579,7 @@ set onemanarmyRefillsTubes "1"
|
||||
|
||||
// _killstreaks
|
||||
set scr_killstreak_rollover "1"
|
||||
set scr_currentRolloverKillstreaksOnlyIncrease "1"
|
||||
set scr_killstreakHud "1"
|
||||
set scr_maxKillstreakRollover "1"
|
||||
set scr_killstreak_mod "0"
|
||||
|
@ -579,6 +579,7 @@ set onemanarmyRefillsTubes "1"
|
||||
|
||||
// _killstreaks
|
||||
set scr_killstreak_rollover "1"
|
||||
set scr_currentRolloverKillstreaksOnlyIncrease "1"
|
||||
set scr_killstreakHud "1"
|
||||
set scr_maxKillstreakRollover "1"
|
||||
set scr_killstreak_mod "0"
|
||||
|
@ -1124,6 +1124,7 @@ setKillstreaks( streak1, streak2, streak3 )
|
||||
}
|
||||
|
||||
self.killstreaks = newKillstreaks;
|
||||
self.maxKillstreakVal = maxVal;
|
||||
}
|
||||
|
||||
|
||||
|
@ -251,17 +251,30 @@ handleNormalDeath( lifeId, attacker, eInflictor, sWeapon, sMeansOfDeath )
|
||||
{
|
||||
if (level.killstreaksIncreaseKillstreak)
|
||||
{
|
||||
toLifeId = attacker.pers["deaths"];
|
||||
if (isDefined(attacker.maxKillstreakVal) && attacker.maxKillstreakVal > 0 && isDefined(level.rolloverKillstreaksOnlyIncrease) && level.rolloverKillstreaksOnlyIncrease)
|
||||
{
|
||||
curRollover = int(attacker.pers["cur_kill_streak"]/attacker.maxKillstreakVal);
|
||||
if (curRollover > 0)
|
||||
{
|
||||
if (curRollover == 1)
|
||||
toLifeId += 0.75;
|
||||
else
|
||||
toLifeId += 1/curRollover;
|
||||
}
|
||||
}
|
||||
|
||||
switch ( sWeapon )
|
||||
{
|
||||
case "ac130_105mm_mp":
|
||||
case "ac130_40mm_mp":
|
||||
case "ac130_25mm_mp":
|
||||
if ( attacker.ac130LifeId == attacker.pers["deaths"] )
|
||||
if ( attacker.ac130LifeId == toLifeId )
|
||||
attacker.pers["cur_kill_streak"]++;
|
||||
break;
|
||||
case "cobra_player_minigun_mp":
|
||||
case "weapon_cobra_mk19_mp":
|
||||
if ( attacker.heliRideLifeId == attacker.pers["deaths"] )
|
||||
if ( attacker.heliRideLifeId == toLifeId )
|
||||
attacker.pers["cur_kill_streak"]++;
|
||||
break;
|
||||
case "cobra_20mm_mp":
|
||||
@ -277,7 +290,7 @@ handleNormalDeath( lifeId, attacker, eInflictor, sWeapon, sMeansOfDeath )
|
||||
else
|
||||
killstreakLifeId = attacker.lifeId;
|
||||
|
||||
if ( killstreakLifeId == attacker.pers["deaths"] && (level.nukeIncreasesStreak || sWeapon != "nuke_mp") )
|
||||
if ( killstreakLifeId == toLifeId && (level.nukeIncreasesStreak || sWeapon != "nuke_mp") )
|
||||
attacker.pers["cur_kill_streak"]++;
|
||||
break;
|
||||
default:
|
||||
|
@ -1295,8 +1295,12 @@ killstreakCrateThink( dropType )
|
||||
|
||||
player playLocalSound( "ammo_crate_use" );
|
||||
|
||||
curRollover = undefined;
|
||||
if (isDefined(player.maxKillstreakVal) && player.maxKillstreakVal > 0 && isDefined(level.rolloverKillstreaksOnlyIncrease) && level.rolloverKillstreaksOnlyIncrease)
|
||||
curRollover = int(player.pers["cur_kill_streak"]/player.maxKillstreakVal);
|
||||
|
||||
doesIncreaseKS = level.airdropKillstreaksIncreaseStreak;
|
||||
player thread maps\mp\killstreaks\_killstreaks::giveKillstreak( self.crateType, doesIncreaseKS, doesIncreaseKS, self.owner );
|
||||
player thread maps\mp\killstreaks\_killstreaks::giveKillstreak( self.crateType, doesIncreaseKS, doesIncreaseKS, self.owner, curRollover );
|
||||
|
||||
player maps\mp\gametypes\_hud_message::killstreakSplashNotify( self.crateType, undefined, "pickup" );
|
||||
|
||||
@ -1378,8 +1382,12 @@ deleteCrate()
|
||||
|
||||
sentryUseTracker(owner)
|
||||
{
|
||||
curRollover = undefined;
|
||||
if (isDefined(self.maxKillstreakVal) && self.maxKillstreakVal > 0 && isDefined(level.rolloverKillstreaksOnlyIncrease) && level.rolloverKillstreaksOnlyIncrease)
|
||||
curRollover = int(self.pers["cur_kill_streak"]/self.maxKillstreakVal);
|
||||
|
||||
// if ( !self maps\mp\killstreaks\_autosentry::giveSentry( "sentry_minigun" ) )
|
||||
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "sentry", true, true, owner );
|
||||
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "sentry", true, true, owner, curRollover );
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,6 +77,7 @@ init()
|
||||
level.killstreakRoundDelay = getIntProperty( "scr_game_killstreakdelay", 8 );
|
||||
|
||||
setDvarIfUninitialized( "scr_killstreak_rollover", false );
|
||||
setDvarIfUninitialized( "scr_currentRolloverKillstreaksOnlyIncrease", false );
|
||||
setDvarIfUninitialized( "scr_maxKillstreakRollover", 10 );
|
||||
setDvarIfUninitialized( "scr_killstreakHud", false );
|
||||
setDvarIfUninitialized( "scr_killstreak_mod", 0 );
|
||||
@ -89,6 +90,7 @@ init()
|
||||
|
||||
level.killstreaksRollOver = getDvarInt("scr_killstreak_rollover");
|
||||
level.maxKillstreakRollover = getDvarInt("scr_maxKillstreakRollover");
|
||||
level.rolloverKillstreaksOnlyIncrease = getDvarInt("scr_currentRolloverKillstreaksOnlyIncrease");
|
||||
level.killstreakHud = getDvarInt("scr_killstreakHud");
|
||||
level.killStreakMod = getDvarInt( "scr_killstreak_mod" );
|
||||
level.killstreakPrint = getDvarInt( "scr_killstreak_print" );
|
||||
@ -525,6 +527,7 @@ checkKillstreakReward( streakCount )
|
||||
foreach ( streakVal, streakName in self.killStreaks )
|
||||
{
|
||||
actualVal = streakVal + level.killStreakMod;
|
||||
curRollover = 0;
|
||||
|
||||
if ( actualVal > streakCount )
|
||||
break;
|
||||
@ -556,7 +559,7 @@ checkKillstreakReward( streakCount )
|
||||
useStreakName = streakName;
|
||||
}
|
||||
|
||||
if ( self tryGiveKillstreak( useStreakName, int(max( actualVal, streakCount )) ) )
|
||||
if ( self tryGiveKillstreak( useStreakName, int(max( actualVal, streakCount )), curRollover ) )
|
||||
{
|
||||
self thread killstreakEarned( useStreakName );
|
||||
self.pers["lastEarnedStreak"] = streakName;
|
||||
@ -620,19 +623,19 @@ rewardNotify( streakName, streakVal )
|
||||
}
|
||||
|
||||
|
||||
tryGiveKillstreak( streakName, streakVal )
|
||||
tryGiveKillstreak( streakName, streakVal, curRollover )
|
||||
{
|
||||
level notify ( "gave_killstreak", streakName );
|
||||
|
||||
if ( !level.gameEnded )
|
||||
self thread rewardNotify( streakName, streakVal );
|
||||
|
||||
self giveKillstreak( streakName, streakVal, true );
|
||||
self giveKillstreak( streakName, streakVal, true, self, curRollover );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
giveKillstreak( streakName, isEarned, awardXp, owner )
|
||||
giveKillstreak( streakName, isEarned, awardXp, owner, curRollover )
|
||||
{
|
||||
self endon ( "disconnect" );
|
||||
|
||||
@ -655,10 +658,19 @@ giveKillstreak( streakName, isEarned, awardXp, owner )
|
||||
|
||||
self.pers["kID"]++;
|
||||
|
||||
toLifeId = self.pers["deaths"];
|
||||
if (level.rolloverKillstreaksOnlyIncrease && isDefined(curRollover) && curRollover > 0)
|
||||
{
|
||||
if (curRollover == 1)
|
||||
toLifeId += 0.75;
|
||||
else
|
||||
toLifeId += 1/curRollover;
|
||||
}
|
||||
|
||||
if ( !self.pers["killstreaks"][0].earned )
|
||||
self.pers["killstreaks"][0].lifeId = -1;
|
||||
else
|
||||
self.pers["killstreaks"][0].lifeId = self.pers["deaths"];
|
||||
self.pers["killstreaks"][0].lifeId = toLifeId;
|
||||
|
||||
// probably obsolete unless we bring back the autoshotty
|
||||
if ( isdefined( level.killstreakSetupFuncs[ streakName ] ) )
|
||||
|
Loading…
x
Reference in New Issue
Block a user