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