mirror of
https://github.com/ineedbots/iw5_bot_warfare.git
synced 2025-04-25 23:29:12 +00:00
field names casing
This commit is contained in:
parent
2459a37a64
commit
ca17899595
@ -15,7 +15,7 @@
|
||||
*/
|
||||
init()
|
||||
{
|
||||
level.bw_VERSION = "2.1.0";
|
||||
level.bw_version = "2.1.0";
|
||||
|
||||
if ( getDvar( "bots_main" ) == "" )
|
||||
{
|
||||
@ -220,27 +220,27 @@ init()
|
||||
game[ "botWarfare" ] = true;
|
||||
}
|
||||
|
||||
level.defuseObject = undefined;
|
||||
level.bots_smokeList = List();
|
||||
level.bots_fragList = List();
|
||||
level.defuseobject = undefined;
|
||||
level.bots_smokelist = List();
|
||||
level.bots_fraglist = List();
|
||||
|
||||
level.bots_minSprintDistance = 315;
|
||||
level.bots_minSprintDistance *= level.bots_minSprintDistance;
|
||||
level.bots_minGrenadeDistance = 256;
|
||||
level.bots_minGrenadeDistance *= level.bots_minGrenadeDistance;
|
||||
level.bots_maxGrenadeDistance = 1024;
|
||||
level.bots_maxGrenadeDistance *= level.bots_maxGrenadeDistance;
|
||||
level.bots_maxKnifeDistance = 128;
|
||||
level.bots_maxKnifeDistance *= level.bots_maxKnifeDistance;
|
||||
level.bots_goalDistance = 27.5;
|
||||
level.bots_goalDistance *= level.bots_goalDistance;
|
||||
level.bots_noADSDistance = 200;
|
||||
level.bots_noADSDistance *= level.bots_noADSDistance;
|
||||
level.bots_maxShotgunDistance = 500;
|
||||
level.bots_maxShotgunDistance *= level.bots_maxShotgunDistance;
|
||||
level.bots_listenDist = 100;
|
||||
level.bots_minsprintdistance = 315;
|
||||
level.bots_minsprintdistance *= level.bots_minsprintdistance;
|
||||
level.bots_mingrenadedistance = 256;
|
||||
level.bots_mingrenadedistance *= level.bots_mingrenadedistance;
|
||||
level.bots_maxgrenadedistance = 1024;
|
||||
level.bots_maxgrenadedistance *= level.bots_maxgrenadedistance;
|
||||
level.bots_maxknifedistance = 128;
|
||||
level.bots_maxknifedistance *= level.bots_maxknifedistance;
|
||||
level.bots_goaldistance = 27.5;
|
||||
level.bots_goaldistance *= level.bots_goaldistance;
|
||||
level.bots_noadsdistance = 200;
|
||||
level.bots_noadsdistance *= level.bots_noadsdistance;
|
||||
level.bots_maxshotgundistance = 500;
|
||||
level.bots_maxshotgundistance *= level.bots_maxshotgundistance;
|
||||
level.bots_listendist = 100;
|
||||
|
||||
level.smokeRadius = 255;
|
||||
level.smokeradius = 255;
|
||||
|
||||
level.bots = [];
|
||||
|
||||
@ -327,7 +327,7 @@ onPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon,
|
||||
self maps\mp\bots\_bot_script::onDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
|
||||
}
|
||||
|
||||
self [[ level.prevCallbackPlayerDamage ]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
|
||||
self [[ level.prevcallbackplayerdamage ]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -341,7 +341,7 @@ onPlayerKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sH
|
||||
self maps\mp\bots\_bot_script::onKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration );
|
||||
}
|
||||
|
||||
self [[ level.prevCallbackPlayerKilled ]]( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration );
|
||||
self [[ level.prevcallbackplayerkilled ]]( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -351,11 +351,11 @@ hook_callbacks()
|
||||
{
|
||||
level waittill( "prematch_over" ); // iw4madmin waits this long for some reason...
|
||||
wait 0.05; // so we need to be one frame after it sets up its callbacks.
|
||||
level.prevCallbackPlayerDamage = level.callbackPlayerDamage;
|
||||
level.callbackPlayerDamage = ::onPlayerDamage;
|
||||
level.prevcallbackplayerdamage = level.callbackplayerdamage;
|
||||
level.callbackplayerdamage = ::onPlayerDamage;
|
||||
|
||||
level.prevCallbackPlayerKilled = level.callbackPlayerKilled;
|
||||
level.callbackPlayerKilled = ::onPlayerKilled;
|
||||
level.prevcallbackplayerkilled = level.callbackplayerkilled;
|
||||
level.callbackplayerkilled = ::onPlayerKilled;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -365,11 +365,11 @@ fixGamemodes()
|
||||
{
|
||||
for ( i = 0; i < 19; i++ )
|
||||
{
|
||||
if ( isDefined( level.bombZones ) && level.gametype == "sd" )
|
||||
if ( isDefined( level.bombzones ) && level.gametype == "sd" )
|
||||
{
|
||||
for ( i = 0; i < level.bombZones.size; i++ )
|
||||
for ( i = 0; i < level.bombzones.size; i++ )
|
||||
{
|
||||
level.bombZones[ i ].onUse = ::onUsePlantObjectFix;
|
||||
level.bombzones[ i ].onuse = ::onUsePlantObjectFix;
|
||||
}
|
||||
|
||||
break;
|
||||
@ -382,7 +382,7 @@ fixGamemodes()
|
||||
break;
|
||||
}
|
||||
|
||||
if ( isDefined( level.bombZones ) && level.gametype == "dd" )
|
||||
if ( isDefined( level.bombzones ) && level.gametype == "dd" )
|
||||
{
|
||||
level thread fixDem();
|
||||
|
||||
@ -400,18 +400,18 @@ fixDem()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
level.bombAPlanted = level.aPlanted;
|
||||
level.bombBPlanted = level.bPlanted;
|
||||
level.bombaplanted = level.aplanted;
|
||||
level.bombbplanted = level.bplanted;
|
||||
|
||||
for ( i = 0; i < level.bombZones.size; i++ )
|
||||
for ( i = 0; i < level.bombzones.size; i++ )
|
||||
{
|
||||
if ( isDefined( level.bombZones[ i ].trigger.trigger_off ) )
|
||||
if ( isDefined( level.bombzones[ i ].trigger.trigger_off ) )
|
||||
{
|
||||
level.bombZones[ i ].bombExploded = true;
|
||||
level.bombzones[ i ].bombexploded = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
level.bombZones[ i ].bombExploded = undefined;
|
||||
level.bombzones[ i ].bombexploded = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@ -430,14 +430,14 @@ fixKoth()
|
||||
{
|
||||
wait 0.05;
|
||||
|
||||
if ( !isDefined( level.radioObject ) )
|
||||
if ( !isDefined( level.radioobject ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
for ( i = level.radios.size - 1; i >= 0; i-- )
|
||||
{
|
||||
if ( level.radioObject != level.radios[ i ].gameobject )
|
||||
if ( level.radioobject != level.radios[ i ].gameobject )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -446,7 +446,7 @@ fixKoth()
|
||||
break;
|
||||
}
|
||||
|
||||
while ( isDefined( level.radioObject ) && level.radio.gameobject == level.radioObject )
|
||||
while ( isDefined( level.radioobject ) && level.radio.gameobject == level.radioobject )
|
||||
{
|
||||
wait 0.05;
|
||||
}
|
||||
@ -507,12 +507,12 @@ watchRadar_loop()
|
||||
for ( i = level.players.size - 1; i >= 0; i-- )
|
||||
{
|
||||
player = level.players[ i ];
|
||||
player.bot_isInRadar = false;
|
||||
player.bot_isinradar = false;
|
||||
}
|
||||
|
||||
for ( i = level.players.size - 1; i >= 0; i-- )
|
||||
{
|
||||
grenade = level.players[ i ].deployedPortableRadar;
|
||||
grenade = level.players[ i ].deployedportableradar;
|
||||
|
||||
if ( !isDefined( grenade ) )
|
||||
{
|
||||
@ -538,7 +538,7 @@ watchRadar_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased && grenade.team == player.team )
|
||||
if ( level.teambased && grenade.team == player.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -553,13 +553,13 @@ watchRadar_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
player.bot_isInRadar = true;
|
||||
player.bot_isinradar = true;
|
||||
}
|
||||
}
|
||||
|
||||
for ( i = level.players.size - 1; i >= 0; i-- )
|
||||
{
|
||||
if ( !isDefined( level.players[ i ].personalRadar ) )
|
||||
if ( !isDefined( level.players[ i ].personalradar ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -583,7 +583,7 @@ watchRadar_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased && level.players[ i ].team == player.team )
|
||||
if ( level.teambased && level.players[ i ].team == player.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -598,11 +598,11 @@ watchRadar_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
player.bot_isInRadar = true;
|
||||
player.bot_isinradar = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( level.gameFlag ) && isDefined( level.gameFlag.carrier ) && isDefined( level.gameFlag.portable_radar ) )
|
||||
if ( isDefined( level.gameflag ) && isDefined( level.gameflag.carrier ) && isDefined( level.gameflag.portable_radar ) )
|
||||
{
|
||||
for ( h = level.players.size - 1; h >= 0; h-- )
|
||||
{
|
||||
@ -613,7 +613,7 @@ watchRadar_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased && level.gameFlag.carrier.team != player.team )
|
||||
if ( level.teambased && level.gameflag.carrier.team != player.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -623,12 +623,12 @@ watchRadar_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( DistanceSquared( player.origin, level.gameFlag.carrier.origin ) > 256 * 256 )
|
||||
if ( DistanceSquared( player.origin, level.gameflag.carrier.origin ) > 256 * 256 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.bot_isInRadar = true;
|
||||
player.bot_isinradar = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -654,7 +654,7 @@ watchScrabler_loop()
|
||||
for ( i = level.players.size - 1; i >= 0; i-- )
|
||||
{
|
||||
player = level.players[ i ];
|
||||
player.bot_isScrambled = false;
|
||||
player.bot_isscrambled = false;
|
||||
}
|
||||
|
||||
for ( i = level.scramblers.size - 1; i >= 0; i-- )
|
||||
@ -680,7 +680,7 @@ watchScrabler_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased && scrambler.team == player.team )
|
||||
if ( level.teambased && scrambler.team == player.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -695,7 +695,7 @@ watchScrabler_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
player.bot_isScrambled = true;
|
||||
player.bot_isscrambled = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -729,7 +729,7 @@ watchScrabler_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased && drone.team == player.team )
|
||||
if ( level.teambased && drone.team == player.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -744,7 +744,7 @@ watchScrabler_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
player.bot_isScrambled = true;
|
||||
player.bot_isscrambled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -773,12 +773,12 @@ addNotifyOnAirdrops_loop()
|
||||
{
|
||||
airdrop = dropCrates[ i ];
|
||||
|
||||
if ( isDefined( airdrop.doingPhysics ) )
|
||||
if ( isDefined( airdrop.doingphysics ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
airdrop.doingPhysics = true;
|
||||
airdrop.doingphysics = true;
|
||||
airdrop thread doNotifyOnAirdrop();
|
||||
}
|
||||
}
|
||||
@ -803,7 +803,7 @@ doNotifyOnAirdrop()
|
||||
self endon( "death" );
|
||||
self waittill( "physics_finished" );
|
||||
|
||||
self.doingPhysics = false;
|
||||
self.doingphysics = false;
|
||||
|
||||
if ( isDefined( self.owner ) )
|
||||
{
|
||||
@ -837,8 +837,8 @@ onPlayerConnect()
|
||||
{
|
||||
level waittill( "connected", player );
|
||||
|
||||
player.bot_isScrambled = false;
|
||||
player.bot_isInRadar = false;
|
||||
player.bot_isscrambled = false;
|
||||
player.bot_isinradar = false;
|
||||
|
||||
player thread onGrenadeFire();
|
||||
player thread onWeaponFired();
|
||||
@ -1473,7 +1473,7 @@ AddToFragList( who )
|
||||
|
||||
grenade thread thinkFrag();
|
||||
|
||||
level.bots_fragList ListAdd( grenade );
|
||||
level.bots_fraglist ListAdd( grenade );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1490,7 +1490,7 @@ thinkFrag()
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
level.bots_fragList ListRemove( self );
|
||||
level.bots_fraglist ListRemove( self );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1505,7 +1505,7 @@ AddToSmokeList()
|
||||
|
||||
grenade thread thinkSmoke();
|
||||
|
||||
level.bots_smokeList ListAdd( grenade );
|
||||
level.bots_smokelist ListAdd( grenade );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1523,7 +1523,7 @@ thinkSmoke()
|
||||
self.state = "smoking";
|
||||
wait 11.5;
|
||||
|
||||
level.bots_smokeList ListRemove( self );
|
||||
level.bots_smokelist ListRemove( self );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -87,14 +87,14 @@ start_onnuke_call()
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
while ( !isDefined( level.nukeIncoming ) && !isDefined( level.moabIncoming ) )
|
||||
while ( !isDefined( level.nukeincoming ) && !isDefined( level.moabincoming ) )
|
||||
{
|
||||
wait 0.05 + randomInt( 4 );
|
||||
}
|
||||
|
||||
self thread bot_onnukecall_watch();
|
||||
|
||||
wait level.nukeTimer + 5;
|
||||
wait level.nuketimer + 5;
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,9 +109,9 @@ start_death_watch()
|
||||
{
|
||||
self waittill( "death" );
|
||||
|
||||
self thread bot_chat_death_watch( self.lastAttacker, self.bots_lastKS );
|
||||
self thread bot_chat_death_watch( self.lastattacker, self.bots_lastks );
|
||||
|
||||
self.bots_lastKS = 0;
|
||||
self.bots_lastks = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -155,23 +155,23 @@ start_killed_watch()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
self.bots_lastKS = 0;
|
||||
self.bots_lastks = 0;
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "killed_enemy" );
|
||||
|
||||
if ( self.bots_lastKS < self.pers[ "cur_kill_streak" ] )
|
||||
if ( self.bots_lastks < self.pers[ "cur_kill_streak" ] )
|
||||
{
|
||||
for ( i = self.bots_lastKS + 1; i <= self.pers[ "cur_kill_streak" ]; i++ )
|
||||
for ( i = self.bots_lastks + 1; i <= self.pers[ "cur_kill_streak" ]; i++ )
|
||||
{
|
||||
self thread bot_chat_streak( i );
|
||||
}
|
||||
}
|
||||
|
||||
self.bots_lastKS = self.pers[ "cur_kill_streak" ];
|
||||
self.bots_lastks = self.pers[ "cur_kill_streak" ];
|
||||
|
||||
self thread bot_chat_killed_watch( self.lastKilledPlayer );
|
||||
self thread bot_chat_killed_watch( self.lastkilledplayer );
|
||||
}
|
||||
}
|
||||
|
||||
@ -574,7 +574,7 @@ endgame_chat()
|
||||
}
|
||||
}
|
||||
|
||||
if ( level.teamBased )
|
||||
if ( level.teambased )
|
||||
{
|
||||
winningteam = maps\mp\gametypes\_gamescore::getWinningTeam();
|
||||
|
||||
@ -1006,7 +1006,7 @@ bot_onnukecall_watch()
|
||||
switch ( randomint( 4 ) )
|
||||
{
|
||||
case 0:
|
||||
if ( level.nukeInfo.player != self )
|
||||
if ( level.nukeinfo.player != self )
|
||||
{
|
||||
self BotDoChat( 30, "Wow who got a nuke?" );
|
||||
}
|
||||
@ -1018,9 +1018,9 @@ bot_onnukecall_watch()
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if ( level.nukeInfo.player != self )
|
||||
if ( level.nukeinfo.player != self )
|
||||
{
|
||||
self BotDoChat( 30, "lol " + level.nukeInfo.player.name + " is a hacker" );
|
||||
self BotDoChat( 30, "lol " + level.nukeinfo.player.name + " is a hacker" );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1034,7 +1034,7 @@ bot_onnukecall_watch()
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if ( level.nukeInfo.team != self.team )
|
||||
if ( level.nukeinfo.team != self.team )
|
||||
{
|
||||
self BotDoChat( 30, "man my team sucks ):" );
|
||||
}
|
||||
@ -1261,9 +1261,9 @@ bot_chat_killed_watch( victim )
|
||||
break;
|
||||
|
||||
case 40:
|
||||
if ( isDefined( victim.attackerData ) && isDefined( victim.attackerData[ self.guid ] ) && isDefined( victim.attackerData[ self.guid ].weapon ) )
|
||||
if ( isDefined( victim.attackerdata ) && isDefined( victim.attackerdata[ self.guid ] ) && isDefined( victim.attackerdata[ self.guid ].weapon ) )
|
||||
{
|
||||
message = ( "Man, I sure love my " + getBaseWeaponName( victim.attackerData[ self.guid ].weapon ) + "!" );
|
||||
message = ( "Man, I sure love my " + getBaseWeaponName( victim.attackerdata[ self.guid ].weapon ) + "!" );
|
||||
}
|
||||
|
||||
break;
|
||||
@ -1542,9 +1542,9 @@ bot_chat_death_watch( killer, last_ks )
|
||||
break;
|
||||
|
||||
case 60:
|
||||
if ( isDefined( self.attackerData ) && isDefined( self.attackerData[ killer.guid ] ) && isDefined( self.attackerData[ killer.guid ].weapon ) )
|
||||
if ( isDefined( self.attackerdata ) && isDefined( self.attackerdata[ killer.guid ] ) && isDefined( self.attackerdata[ killer.guid ].weapon ) )
|
||||
{
|
||||
message = "Wow! Nice " + getBaseWeaponName( self.attackerData[ killer.guid ].weapon ) + " you got there, " + killer.name + "!";
|
||||
message = "Wow! Nice " + getBaseWeaponName( self.attackerdata[ killer.guid ].weapon ) + " you got there, " + killer.name + "!";
|
||||
}
|
||||
|
||||
break;
|
||||
@ -1977,9 +1977,9 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g )
|
||||
break;
|
||||
|
||||
case 5:
|
||||
if ( isDefined( aircare.crateType ) )
|
||||
if ( isDefined( aircare.cratetype ) )
|
||||
{
|
||||
self BotDoChat( 10, ":3 i got my " + aircare.crateType );
|
||||
self BotDoChat( 10, ":3 i got my " + aircare.cratetype );
|
||||
}
|
||||
|
||||
break;
|
||||
@ -2006,9 +2006,9 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g )
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if ( isDefined( aircare.crateType ) )
|
||||
if ( isDefined( aircare.cratetype ) )
|
||||
{
|
||||
self BotDoChat( 10, "hahaah jajaja i took your " + aircare.crateType );
|
||||
self BotDoChat( 10, "hahaah jajaja i took your " + aircare.cratetype );
|
||||
}
|
||||
|
||||
break;
|
||||
@ -2037,9 +2037,9 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g )
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if ( isDefined( aircare.crateType ) )
|
||||
if ( isDefined( aircare.cratetype ) )
|
||||
{
|
||||
self BotDoChat( 10, "Wow! there goes my " + aircare.crateType + "!" );
|
||||
self BotDoChat( 10, "Wow! there goes my " + aircare.cratetype + "!" );
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -112,8 +112,8 @@ resetBotVars()
|
||||
self.bot.second_next_wp = -1;
|
||||
self.bot.towards_goal = undefined;
|
||||
self.bot.astar = [];
|
||||
self.bot.moveTo = self.origin;
|
||||
self.bot.moveOrigin = self.origin;
|
||||
self.bot.moveto = self.origin;
|
||||
self.bot.moveorigin = self.origin;
|
||||
self.bot.stop_move = false;
|
||||
self.bot.greedy_path = false;
|
||||
self.bot.climbing = false;
|
||||
@ -347,7 +347,7 @@ watchUsingRemote()
|
||||
self watchUsingMinigun();
|
||||
}
|
||||
|
||||
if ( isDefined( level.ac130Player ) && level.ac130player == self )
|
||||
if ( isDefined( level.ac130player ) && level.ac130player == self )
|
||||
{
|
||||
self thread watchAc130Weapon();
|
||||
self watchUsingAc130();
|
||||
@ -362,10 +362,10 @@ watchUsingRemote()
|
||||
{
|
||||
self watchUsingTank();
|
||||
|
||||
self.remoteTank = undefined;
|
||||
self.remotetank = undefined;
|
||||
}
|
||||
|
||||
if ( isDefined( self.remoteUAV ) )
|
||||
if ( isDefined( self.remoteuav ) )
|
||||
{
|
||||
self watchUsingUav();
|
||||
}
|
||||
@ -385,12 +385,12 @@ watchUsingRemote()
|
||||
*/
|
||||
watchUsingTurret()
|
||||
{
|
||||
if ( !isDefined( self.remoteTurretList ) || !isDefined( self.remoteTurretList[ 0 ] ) )
|
||||
if ( !isDefined( self.remoteturretlist ) || !isDefined( self.remoteturretlist[ 0 ] ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
turret = self.remoteTurretList[ 0 ];
|
||||
turret = self.remoteturretlist[ 0 ];
|
||||
|
||||
turret endon( "death" );
|
||||
|
||||
@ -446,7 +446,7 @@ watchUsingTank()
|
||||
return;
|
||||
}
|
||||
|
||||
self.remoteTank = tank;
|
||||
self.remotetank = tank;
|
||||
|
||||
self thread useTankRocket( tank );
|
||||
|
||||
@ -493,16 +493,16 @@ useTankRocket( tank )
|
||||
*/
|
||||
watchUsingUav()
|
||||
{
|
||||
self.remoteUAV endon( "end_remote" );
|
||||
self.remoteuav endon( "end_remote" );
|
||||
|
||||
while ( isDefined( self.remoteUAV ) )
|
||||
while ( isDefined( self.remoteuav ) )
|
||||
{
|
||||
if ( self getCurrentWeapon() != "uav_remote_mp" )
|
||||
{
|
||||
self switchToWeapon( "uav_remote_mp" );
|
||||
}
|
||||
|
||||
if ( isDefined( self.lockedTarget ) )
|
||||
if ( isDefined( self.lockedtarget ) )
|
||||
{
|
||||
self notify( "remoteUAV_tag" );
|
||||
}
|
||||
@ -566,7 +566,7 @@ watchAc130Weapon()
|
||||
self endon( "disconnect" );
|
||||
self endon( "spawned_player" );
|
||||
|
||||
while ( isDefined( level.ac130Player ) && level.ac130player == self )
|
||||
while ( isDefined( level.ac130player ) && level.ac130player == self )
|
||||
{
|
||||
curWeap = self GetCurrentWeapon();
|
||||
|
||||
@ -591,7 +591,7 @@ watchUsingAc130()
|
||||
{
|
||||
self endon( "ac130player_removed" );
|
||||
|
||||
while ( isDefined( level.ac130Player ) && level.ac130player == self )
|
||||
while ( isDefined( level.ac130player ) && level.ac130player == self )
|
||||
{
|
||||
self switchToWeapon( "ac130_105mm_mp" );
|
||||
wait 1 + randomInt( 2 );
|
||||
@ -706,7 +706,7 @@ watchC4Thrown( c4 )
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( ( level.teamBased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) )
|
||||
if ( ( level.teambased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -747,31 +747,31 @@ watchC4Thrown( c4 )
|
||||
*/
|
||||
doBotMovement_loop( data )
|
||||
{
|
||||
if ( isDefined( self.remoteUAV ) )
|
||||
if ( isDefined( self.remoteuav ) )
|
||||
{
|
||||
self.bot.moveOrigin = self.remoteUAV.origin - ( 0, 0, 50 );
|
||||
self.bot.moveorigin = self.remoteuav.origin - ( 0, 0, 50 );
|
||||
}
|
||||
else if ( isDefined( self.remoteTank ) )
|
||||
else if ( isDefined( self.remotetank ) )
|
||||
{
|
||||
self.bot.moveOrigin = self.remoteTank.origin;
|
||||
self.bot.moveorigin = self.remotetank.origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.bot.moveOrigin = self.origin;
|
||||
self.bot.moveorigin = self.origin;
|
||||
}
|
||||
|
||||
waittillframeend;
|
||||
move_To = self.bot.moveTo;
|
||||
move_To = self.bot.moveto;
|
||||
angles = self GetPlayerAngles();
|
||||
dir = ( 0, 0, 0 );
|
||||
|
||||
if ( DistanceSquared( self.bot.moveOrigin, move_To ) >= 49 )
|
||||
if ( DistanceSquared( self.bot.moveorigin, move_To ) >= 49 )
|
||||
{
|
||||
cosa = cos( 0 - angles[ 1 ] );
|
||||
sina = sin( 0 - angles[ 1 ] );
|
||||
|
||||
// get the direction
|
||||
dir = move_To - self.bot.moveOrigin;
|
||||
dir = move_To - self.bot.moveorigin;
|
||||
|
||||
// rotate our direction according to our angles
|
||||
dir = ( dir[ 0 ] * cosa - dir[ 1 ] * sina,
|
||||
@ -788,12 +788,12 @@ doBotMovement_loop( data )
|
||||
// climb through windows
|
||||
if ( self isMantling() )
|
||||
{
|
||||
data.wasMantling = true;
|
||||
data.wasmantling = true;
|
||||
self crouch();
|
||||
}
|
||||
else if ( data.wasMantling )
|
||||
else if ( data.wasmantling )
|
||||
{
|
||||
data.wasMantling = false;
|
||||
data.wasmantling = false;
|
||||
self stand();
|
||||
}
|
||||
|
||||
@ -838,11 +838,11 @@ doBotMovement_loop( data )
|
||||
|
||||
self BotBuiltinBotMovement( int( dir[ 0 ] ), int( dir[ 1 ] ) );
|
||||
|
||||
if ( isDefined( self.remoteUAV ) )
|
||||
if ( isDefined( self.remoteuav ) )
|
||||
{
|
||||
if ( abs( move_To[ 2 ] - self.bot.moveOrigin[ 2 ] ) > 12 )
|
||||
if ( abs( move_To[ 2 ] - self.bot.moveorigin[ 2 ] ) > 12 )
|
||||
{
|
||||
if ( move_To[ 2 ] > self.bot.moveOrigin[ 2 ] )
|
||||
if ( move_To[ 2 ] > self.bot.moveorigin[ 2 ] )
|
||||
{
|
||||
self thread gostand();
|
||||
}
|
||||
@ -863,7 +863,7 @@ doBotMovement()
|
||||
self endon( "spawned_player" );
|
||||
|
||||
data = spawnStruct();
|
||||
data.wasMantling = false;
|
||||
data.wasmantling = false;
|
||||
|
||||
for ( data.i = 0;; data.i += 0.05 )
|
||||
{
|
||||
@ -906,11 +906,11 @@ grenade_danager_loop()
|
||||
{
|
||||
myEye = self getEye();
|
||||
|
||||
for ( i = level.bots_fragList.count - 1; i >= 0; i-- )
|
||||
for ( i = level.bots_fraglist.count - 1; i >= 0; i-- )
|
||||
{
|
||||
frag = level.bots_fragList.data[ i ];
|
||||
frag = level.bots_fraglist.data[ i ];
|
||||
|
||||
if ( level.teamBased && frag.team == self.team )
|
||||
if ( level.teambased && frag.team == self.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -953,7 +953,7 @@ grenade_danager()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( self.bot.isfrozen || level.gameEnded || !gameFlag( "prematch_done" ) )
|
||||
if ( self.bot.isfrozen || level.gameended || !gameFlag( "prematch_done" ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -999,7 +999,7 @@ stance_loop()
|
||||
toStance = "crouch";
|
||||
}
|
||||
|
||||
if ( self.hasRiotShieldEquipped && isDefined( self.bot.target ) && isDefined( self.bot.target.entity ) && isPlayer( self.bot.target.entity ) )
|
||||
if ( self.hasriotshieldequipped && isDefined( self.bot.target ) && isDefined( self.bot.target.entity ) && isPlayer( self.bot.target.entity ) )
|
||||
{
|
||||
toStance = "crouch";
|
||||
}
|
||||
@ -1032,7 +1032,7 @@ stance_loop()
|
||||
time = getTime();
|
||||
chance = self.pers[ "bots" ][ "behavior" ][ "sprint" ];
|
||||
|
||||
if ( time - self.lastSpawnTime < 5000 )
|
||||
if ( time - self.lastspawntime < 5000 )
|
||||
{
|
||||
chance *= 2;
|
||||
}
|
||||
@ -1062,7 +1062,7 @@ stance_loop()
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !isDefined( self.bot.towards_goal ) || DistanceSquared( self.origin, physicsTrace( self getEye(), self getEye() + anglesToForward( self getPlayerAngles() ) * 1024, false, undefined ) ) < level.bots_minSprintDistance || getConeDot( self.bot.towards_goal, self.origin, self GetPlayerAngles() ) < 0.75 )
|
||||
if ( !isDefined( self.bot.towards_goal ) || DistanceSquared( self.origin, physicsTrace( self getEye(), self getEye() + anglesToForward( self getPlayerAngles() ) * 1024, false, undefined ) ) < level.bots_minsprintdistance || getConeDot( self.bot.towards_goal, self.origin, self GetPlayerAngles() ) < 0.75 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -1138,7 +1138,7 @@ reload_thread()
|
||||
|
||||
wait 2.5;
|
||||
|
||||
if ( self.bot.isfrozen || level.gameEnded || !gameFlag( "prematch_done" ) )
|
||||
if ( self.bot.isfrozen || level.gameended || !gameFlag( "prematch_done" ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -1310,9 +1310,9 @@ target_loop()
|
||||
{
|
||||
myEye = self GetEye();
|
||||
|
||||
if ( isDefined( self.remoteUAV ) )
|
||||
if ( isDefined( self.remoteuav ) )
|
||||
{
|
||||
myEye = self.remoteUAV getTagOrigin( "tag_origin" );
|
||||
myEye = self.remoteuav getTagOrigin( "tag_origin" );
|
||||
}
|
||||
|
||||
theTime = getTime();
|
||||
@ -1333,7 +1333,7 @@ target_loop()
|
||||
{
|
||||
if ( isDefined( level.ac130player ) && level.ac130player == self )
|
||||
{
|
||||
vehEnt = level.ac130.planeModel;
|
||||
vehEnt = level.ac130.planemodel;
|
||||
}
|
||||
|
||||
if ( isDefined( level.chopper ) && isDefined( level.chopper.gunner ) && level.chopper.gunner == self )
|
||||
@ -1379,7 +1379,7 @@ target_loop()
|
||||
entOrigin += self.bot.script_target_offset;
|
||||
}
|
||||
|
||||
if ( ignoreSmoke || ( SmokeTrace( myEye, entOrigin, level.smokeRadius ) ) && bulletTracePassed( myEye, entOrigin, false, ent ) )
|
||||
if ( ignoreSmoke || ( SmokeTrace( myEye, entOrigin, level.smokeradius ) ) && bulletTracePassed( myEye, entOrigin, false, ent ) )
|
||||
{
|
||||
if ( !isObjDef )
|
||||
{
|
||||
@ -1428,7 +1428,7 @@ target_loop()
|
||||
|
||||
isObjDef = isDefined( obj );
|
||||
|
||||
if ( ( level.teamBased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) )
|
||||
if ( ( level.teambased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) )
|
||||
{
|
||||
if ( isObjDef )
|
||||
{
|
||||
@ -1464,8 +1464,8 @@ target_loop()
|
||||
( traceAnkleRight[ "fraction" ] >= 1.0 || traceAnkleRight[ "surfacetype" ] == "glass" ) )
|
||||
|
||||
&& ( ignoreSmoke ||
|
||||
SmokeTrace( myEye, player.origin, level.smokeRadius ) ||
|
||||
daDist < level.bots_maxKnifeDistance * 4 )
|
||||
SmokeTrace( myEye, player.origin, level.smokeradius ) ||
|
||||
daDist < level.bots_maxknifedistance * 4 )
|
||||
|
||||
&& ( getConeDot( player.origin, self.origin, myAngles ) >= myFov ||
|
||||
( isObjDef && obj.trace_time ) ) );
|
||||
@ -1478,7 +1478,7 @@ target_loop()
|
||||
canTargetPlayer = true;
|
||||
}
|
||||
|
||||
if ( isDefined( self.remoteUAV ) && isDefined( player.UAVRemoteMarkedBy ) )
|
||||
if ( isDefined( self.remoteuav ) && isDefined( player.uavremotemarkedby ) )
|
||||
{
|
||||
canTargetPlayer = false;
|
||||
}
|
||||
@ -1668,12 +1668,12 @@ watchToLook()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( self.bot.target.dist > level.bots_maxShotgunDistance * 2 )
|
||||
if ( self.bot.target.dist > level.bots_maxshotgundistance * 2 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( self.bot.target.dist <= level.bots_maxKnifeDistance )
|
||||
if ( self.bot.target.dist <= level.bots_maxknifedistance )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1720,7 +1720,7 @@ watchToLook()
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( getConeDot( self.bot.target.last_seen_pos, self.origin, self getPlayerAngles() ) < 0.8 || self.bot.target.dist <= level.bots_noADSDistance )
|
||||
if ( getConeDot( self.bot.target.last_seen_pos, self.origin, self getPlayerAngles() ) < 0.8 || self.bot.target.dist <= level.bots_noadsdistance )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1779,9 +1779,9 @@ aim_loop()
|
||||
|
||||
eyePos = self getEye();
|
||||
|
||||
if ( isDefined( self.remoteUAV ) )
|
||||
if ( isDefined( self.remoteuav ) )
|
||||
{
|
||||
eyePos = self.remoteUAV getTagOrigin( "tag_origin" );
|
||||
eyePos = self.remoteuav getTagOrigin( "tag_origin" );
|
||||
}
|
||||
|
||||
angles = self GetPlayerAngles();
|
||||
@ -1876,7 +1876,7 @@ aim_loop()
|
||||
{
|
||||
nade = self getValidGrenade();
|
||||
|
||||
if ( isDefined( nade ) && rand <= self.pers[ "bots" ][ "behavior" ][ "nade" ] && bulletTracePassed( eyePos, eyePos + ( 0, 0, 75 ), false, self ) && bulletTracePassed( last_pos, last_pos + ( 0, 0, 100 ), false, target ) && dist > level.bots_minGrenadeDistance && dist < level.bots_maxGrenadeDistance )
|
||||
if ( isDefined( nade ) && rand <= self.pers[ "bots" ][ "behavior" ][ "nade" ] && bulletTracePassed( eyePos, eyePos + ( 0, 0, 75 ), false, self ) && bulletTracePassed( last_pos, last_pos + ( 0, 0, 100 ), false, target ) && dist > level.bots_mingrenadedistance && dist < level.bots_maxgrenadedistance )
|
||||
{
|
||||
time = 0.5;
|
||||
|
||||
@ -1965,7 +1965,7 @@ aim_loop()
|
||||
}
|
||||
}
|
||||
|
||||
knifeDist = level.bots_maxKnifeDistance;
|
||||
knifeDist = level.bots_maxknifedistance;
|
||||
|
||||
if ( ( isplay || target.classname == "misc_turret" ) && !self.bot.isknifingafter && conedot > 0.9 && dist < knifeDist && trace_time > reaction_time && !usingRemote && getDvarInt( "bots_play_knife" ) )
|
||||
{
|
||||
@ -2003,14 +2003,14 @@ aim_loop()
|
||||
}
|
||||
}
|
||||
|
||||
if ( curweap == "iw5_smaw_mp" && entIsVehicle( self.bot.target.entity ) && ( !IsDefined( self.stingerStage ) || self.stingerStage != 2 ) )
|
||||
if ( curweap == "iw5_smaw_mp" && entIsVehicle( self.bot.target.entity ) && ( !IsDefined( self.stingerstage ) || self.stingerstage != 2 ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( trace_time > reaction_time )
|
||||
{
|
||||
if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.99 || dist < level.bots_maxKnifeDistance ) && getDvarInt( "bots_play_fire" ) )
|
||||
if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.99 || dist < level.bots_maxknifedistance ) && getDvarInt( "bots_play_fire" ) )
|
||||
{
|
||||
self botFire( curweap );
|
||||
}
|
||||
@ -2088,7 +2088,7 @@ aim_loop()
|
||||
}
|
||||
}
|
||||
|
||||
if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.95 || dist < level.bots_maxKnifeDistance ) && getDvarInt( "bots_play_fire" ) )
|
||||
if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.95 || dist < level.bots_maxknifedistance ) && getDvarInt( "bots_play_fire" ) )
|
||||
{
|
||||
self botFire( curweap );
|
||||
}
|
||||
@ -2106,7 +2106,7 @@ aim_loop()
|
||||
{
|
||||
self thread bot_lookat( self.bot.script_aimpos, aimspeed );
|
||||
}
|
||||
else if ( !usingRemote || isDefined( self.remoteUAV ) || isDefined( self.remoteTank ) )
|
||||
else if ( !usingRemote || isDefined( self.remoteuav ) || isDefined( self.remotetank ) )
|
||||
{
|
||||
lookat = undefined;
|
||||
|
||||
@ -2143,7 +2143,7 @@ aim()
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !gameFlag( "prematch_done" ) || level.gameEnded || self.bot.isfrozen || self maps\mp\_flashgrenades::isFlashbanged() )
|
||||
if ( !gameFlag( "prematch_done" ) || level.gameended || self.bot.isfrozen || self maps\mp\_flashgrenades::isFlashbanged() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -2249,7 +2249,7 @@ canAds( dist, curweap )
|
||||
return false;
|
||||
}
|
||||
|
||||
far = level.bots_noADSDistance;
|
||||
far = level.bots_noadsdistance;
|
||||
|
||||
if ( self _hasPerk( "specialty_bulletaccuracy" ) )
|
||||
{
|
||||
@ -2298,12 +2298,12 @@ isInRange( dist, curweap )
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( ( weapclass == "spread" || self.bot.is_cur_akimbo || curweap == "c4death_mp" ) && dist > level.bots_maxShotgunDistance )
|
||||
if ( ( weapclass == "spread" || self.bot.is_cur_akimbo || curweap == "c4death_mp" ) && dist > level.bots_maxshotgundistance )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( curweap == "riotshield_mp" && dist > level.bots_maxKnifeDistance )
|
||||
if ( curweap == "riotshield_mp" && dist > level.bots_maxknifedistance )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -2372,9 +2372,9 @@ walk_loop()
|
||||
|
||||
dist = 16;
|
||||
|
||||
if ( level.waypointCount )
|
||||
if ( level.waypointcount )
|
||||
{
|
||||
goal = level.waypoints[ randomInt( level.waypointCount ) ].origin;
|
||||
goal = level.waypoints[ randomInt( level.waypointcount ) ].origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2382,7 +2382,7 @@ walk_loop()
|
||||
stepDist = 64;
|
||||
forward = AnglesToForward( self GetPlayerAngles() ) * stepDist;
|
||||
forward = ( forward[ 0 ], forward[ 1 ], 0 );
|
||||
myOrg = self.bot.moveOrigin + ( 0, 0, 32 );
|
||||
myOrg = self.bot.moveorigin + ( 0, 0, 32 );
|
||||
|
||||
goal = playerPhysicsTrace( myOrg, myOrg + forward, false, self );
|
||||
goal = PhysicsTrace( goal + ( 0, 0, 50 ), goal + ( 0, 0, -40 ), false, self );
|
||||
@ -2456,14 +2456,14 @@ walk()
|
||||
return;
|
||||
}
|
||||
|
||||
self botSetMoveTo( self.bot.moveOrigin );
|
||||
self botSetMoveTo( self.bot.moveorigin );
|
||||
|
||||
if ( !getDVarINt( "bots_play_move" ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.isfrozen || self.bot.stop_move )
|
||||
if ( level.gameended || !gameFlag( "prematch_done" ) || self.bot.isfrozen || self.bot.stop_move )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -2472,7 +2472,7 @@ walk()
|
||||
{
|
||||
self.bot.last_next_wp = -1;
|
||||
self.bot.last_second_next_wp = -1;
|
||||
self botSetMoveTo( self.bot.moveOrigin + self GetVelocity() * 500 );
|
||||
self botSetMoveTo( self.bot.moveorigin + self GetVelocity() * 500 );
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -2488,11 +2488,11 @@ strafe( target )
|
||||
self endon( "kill_goal" );
|
||||
self thread killWalkOnEvents();
|
||||
|
||||
angles = VectorToAngles( vectorNormalize( target.origin - self.bot.moveOrigin ) );
|
||||
angles = VectorToAngles( vectorNormalize( target.origin - self.bot.moveorigin ) );
|
||||
anglesLeft = ( 0, angles[ 1 ] + 90, 0 );
|
||||
anglesRight = ( 0, angles[ 1 ] - 90, 0 );
|
||||
|
||||
myOrg = self.bot.moveOrigin + ( 0, 0, 16 );
|
||||
myOrg = self.bot.moveorigin + ( 0, 0, 16 );
|
||||
left = myOrg + anglestoforward( anglesLeft ) * 500;
|
||||
right = myOrg + anglestoforward( anglesRight ) * 500;
|
||||
|
||||
@ -2522,7 +2522,7 @@ watchOnGoal( goal, dis )
|
||||
self endon( "spawned_player" );
|
||||
self endon( "kill_goal" );
|
||||
|
||||
while ( DistanceSquared( self.bot.moveOrigin, goal ) > dis )
|
||||
while ( DistanceSquared( self.bot.moveorigin, goal ) > dis )
|
||||
{
|
||||
wait 0.05;
|
||||
}
|
||||
@ -2550,12 +2550,12 @@ initAStar( goal )
|
||||
{
|
||||
team = undefined;
|
||||
|
||||
if ( level.teamBased )
|
||||
if ( level.teambased )
|
||||
{
|
||||
team = self.team;
|
||||
}
|
||||
|
||||
self.bot.astar = AStarSearch( self.bot.moveOrigin, goal, team, self.bot.greedy_path );
|
||||
self.bot.astar = AStarSearch( self.bot.moveorigin, goal, team, self.bot.greedy_path );
|
||||
|
||||
if ( isDefined( team ) )
|
||||
{
|
||||
@ -2572,7 +2572,7 @@ removeAStar()
|
||||
{
|
||||
remove = self.bot.astar.size - 1;
|
||||
|
||||
if ( level.teamBased )
|
||||
if ( level.teambased )
|
||||
{
|
||||
RemoveWaypointUsage( self.bot.astar[ remove ], self.team );
|
||||
}
|
||||
@ -2647,7 +2647,7 @@ doWalk( goal, dist, isScriptGoal )
|
||||
if ( current >= 0 )
|
||||
{
|
||||
// check if a waypoint is closer than the goal
|
||||
if ( DistanceSquared( self.bot.moveOrigin, level.waypoints[ self.bot.astar[ current ] ].origin ) < DistanceSquared( self.bot.moveOrigin, goal ) || DistanceSquared( level.waypoints[ self.bot.astar[ current ] ].origin, PlayerPhysicsTrace( self.bot.moveOrigin + ( 0, 0, 32 ), level.waypoints[ self.bot.astar[ current ] ].origin, false, self ) ) > 1.0 )
|
||||
if ( DistanceSquared( self.bot.moveorigin, level.waypoints[ self.bot.astar[ current ] ].origin ) < DistanceSquared( self.bot.moveorigin, goal ) || DistanceSquared( level.waypoints[ self.bot.astar[ current ] ].origin, PlayerPhysicsTrace( self.bot.moveorigin + ( 0, 0, 32 ), level.waypoints[ self.bot.astar[ current ] ].origin, false, self ) ) > 1.0 )
|
||||
{
|
||||
while ( current >= 0 )
|
||||
{
|
||||
@ -2674,7 +2674,7 @@ doWalk( goal, dist, isScriptGoal )
|
||||
self.bot.second_next_wp = -1;
|
||||
self notify( "finished_static_waypoints" );
|
||||
|
||||
if ( DistanceSquared( self.bot.moveOrigin, goal ) > dist )
|
||||
if ( DistanceSquared( self.bot.moveorigin, goal ) > dist )
|
||||
{
|
||||
self.bot.last_next_wp = -1;
|
||||
self.bot.last_second_next_wp = -1;
|
||||
@ -2685,7 +2685,7 @@ doWalk( goal, dist, isScriptGoal )
|
||||
|
||||
wait 1;
|
||||
|
||||
if ( DistanceSquared( self.bot.moveOrigin, goal ) > dist )
|
||||
if ( DistanceSquared( self.bot.moveorigin, goal ) > dist )
|
||||
{
|
||||
self notify( "bad_path_internal" );
|
||||
}
|
||||
@ -2703,21 +2703,21 @@ movetowards( goal )
|
||||
|
||||
self.bot.towards_goal = goal;
|
||||
|
||||
lastOri = self.bot.moveOrigin;
|
||||
lastOri = self.bot.moveorigin;
|
||||
stucks = 0;
|
||||
timeslow = 0;
|
||||
time = 0;
|
||||
|
||||
if ( self.bot.issprinting )
|
||||
{
|
||||
tempGoalDist = level.bots_goalDistance * 2;
|
||||
tempGoalDist = level.bots_goaldistance * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempGoalDist = level.bots_goalDistance;
|
||||
tempGoalDist = level.bots_goaldistance;
|
||||
}
|
||||
|
||||
while ( distanceSquared( self.bot.moveOrigin, goal ) > tempGoalDist )
|
||||
while ( distanceSquared( self.bot.moveorigin, goal ) > tempGoalDist )
|
||||
{
|
||||
self botSetMoveTo( goal );
|
||||
|
||||
@ -2725,7 +2725,7 @@ movetowards( goal )
|
||||
{
|
||||
time = 0;
|
||||
|
||||
if ( distanceSquared( self.bot.moveOrigin, lastOri ) < 32 * 32 )
|
||||
if ( distanceSquared( self.bot.moveorigin, lastOri ) < 32 * 32 )
|
||||
{
|
||||
self thread knife();
|
||||
wait 0.5;
|
||||
@ -2744,7 +2744,7 @@ movetowards( goal )
|
||||
self.bot.last_second_next_wp = -1;
|
||||
}
|
||||
|
||||
lastOri = self.bot.moveOrigin;
|
||||
lastOri = self.bot.moveorigin;
|
||||
}
|
||||
else if ( timeslow > 0 && ( timeslow % 1000 ) == 0 )
|
||||
{
|
||||
@ -2752,7 +2752,7 @@ movetowards( goal )
|
||||
}
|
||||
else if ( time == 2000 )
|
||||
{
|
||||
if ( distanceSquared( self.bot.moveOrigin, lastOri ) < 32 * 32 )
|
||||
if ( distanceSquared( self.bot.moveorigin, lastOri ) < 32 * 32 )
|
||||
{
|
||||
self crouch();
|
||||
}
|
||||
@ -2783,11 +2783,11 @@ movetowards( goal )
|
||||
|
||||
if ( self.bot.issprinting )
|
||||
{
|
||||
tempGoalDist = level.bots_goalDistance * 2;
|
||||
tempGoalDist = level.bots_goaldistance * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempGoalDist = level.bots_goalDistance;
|
||||
tempGoalDist = level.bots_goaldistance;
|
||||
}
|
||||
|
||||
if ( stucks >= 2 )
|
||||
@ -2823,7 +2823,7 @@ getRandomLargestStafe( dist )
|
||||
{
|
||||
// find a better algo?
|
||||
traces = NewHeap( ::HeapTraceFraction );
|
||||
myOrg = self.bot.moveOrigin + ( 0, 0, 16 );
|
||||
myOrg = self.bot.moveorigin + ( 0, 0, 16 );
|
||||
|
||||
traces HeapInsert( bulletTrace( myOrg, myOrg + ( -100 * dist, 0, 0 ), false, self ) );
|
||||
traces HeapInsert( bulletTrace( myOrg, myOrg + ( 100 * dist, 0, 0 ), false, self ) );
|
||||
@ -3222,7 +3222,7 @@ crouch()
|
||||
*/
|
||||
prone()
|
||||
{
|
||||
if ( self IsUsingRemote() || self.hasRiotShieldEquipped )
|
||||
if ( self IsUsingRemote() || self.hasriotshieldequipped )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -3236,7 +3236,7 @@ prone()
|
||||
*/
|
||||
botSetMoveTo( where )
|
||||
{
|
||||
self.bot.moveTo = where;
|
||||
self.bot.moveto = where;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -3289,7 +3289,7 @@ bot_lookat( pos, time, vel, doAimPredict )
|
||||
self endon( "spawned_player" );
|
||||
level endon ( "game_ended" );
|
||||
|
||||
if ( level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.isfrozen || !getDvarInt( "bots_play_aim" ) )
|
||||
if ( level.gameended || !gameFlag( "prematch_done" ) || self.bot.isfrozen || !getDvarInt( "bots_play_aim" ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -3325,9 +3325,9 @@ bot_lookat( pos, time, vel, doAimPredict )
|
||||
|
||||
myEye = self GetEye(); // get our eye pos
|
||||
|
||||
if ( isDefined( self.remoteUAV ) )
|
||||
if ( isDefined( self.remoteuav ) )
|
||||
{
|
||||
myEye = self.remoteUAV getTagOrigin( "tag_origin" ); // fix for iw5 kekware
|
||||
myEye = self.remoteuav getTagOrigin( "tag_origin" ); // fix for iw5 kekware
|
||||
}
|
||||
|
||||
myEye += self botGetThirdPersonOffset( myAngle ); // account for third person
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -548,7 +548,7 @@ HasThreat()
|
||||
*/
|
||||
IsDefusing()
|
||||
{
|
||||
return ( isDefined( self.isDefusing ) && self.isDefusing );
|
||||
return ( isDefined( self.isdefusing ) && self.isdefusing );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -556,7 +556,7 @@ IsDefusing()
|
||||
*/
|
||||
isPlanting()
|
||||
{
|
||||
return ( isDefined( self.isPlanting ) && self.isPlanting );
|
||||
return ( isDefined( self.isplanting ) && self.isplanting );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -564,7 +564,7 @@ isPlanting()
|
||||
*/
|
||||
isBombCarrier()
|
||||
{
|
||||
return ( isDefined( self.isBombCarrier ) && self.isBombCarrier );
|
||||
return ( isDefined( self.isbombcarrier ) && self.isbombcarrier );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -572,7 +572,7 @@ isBombCarrier()
|
||||
*/
|
||||
isInUse()
|
||||
{
|
||||
return ( isDefined( self.inUse ) && self.inUse );
|
||||
return ( isDefined( self.inuse ) && self.inuse );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -580,7 +580,7 @@ isInUse()
|
||||
*/
|
||||
inLastStand()
|
||||
{
|
||||
return ( isDefined( self.lastStand ) && self.lastStand );
|
||||
return ( isDefined( self.laststand ) && self.laststand );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -588,7 +588,7 @@ inLastStand()
|
||||
*/
|
||||
isBeingRevived()
|
||||
{
|
||||
return ( isDefined( self.beingRevived ) && self.beingRevived );
|
||||
return ( isDefined( self.beingrevived ) && self.beingrevived );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -596,7 +596,7 @@ isBeingRevived()
|
||||
*/
|
||||
inFinalStand()
|
||||
{
|
||||
return ( isDefined( self.inFinalStand ) && self.inFinalStand );
|
||||
return ( isDefined( self.infinalstand ) && self.infinalstand );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -604,7 +604,7 @@ inFinalStand()
|
||||
*/
|
||||
isFlagCarrier()
|
||||
{
|
||||
return ( isDefined( self.carryFlag ) && self.carryFlag );
|
||||
return ( isDefined( self.carryflag ) && self.carryflag );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -612,7 +612,7 @@ isFlagCarrier()
|
||||
*/
|
||||
IsStunned()
|
||||
{
|
||||
return ( isdefined( self.concussionEndTime ) && self.concussionEndTime > gettime() );
|
||||
return ( isdefined( self.concussionendtime ) && self.concussionendtime > gettime() );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -620,7 +620,7 @@ IsStunned()
|
||||
*/
|
||||
isArtShocked()
|
||||
{
|
||||
return ( isDefined( self.beingArtilleryShellshocked ) && self.beingArtilleryShellshocked );
|
||||
return ( isDefined( self.beingartilleryshellshocked ) && self.beingartilleryshellshocked );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1021,9 +1021,9 @@ RaySphereIntersect( start, end, spherePos, radius )
|
||||
*/
|
||||
SmokeTrace( start, end, rad )
|
||||
{
|
||||
for ( i = level.bots_smokeList.count - 1; i >= 0; i-- )
|
||||
for ( i = level.bots_smokelist.count - 1; i >= 0; i-- )
|
||||
{
|
||||
nade = level.bots_smokeList.data[ i ];
|
||||
nade = level.bots_smokelist.data[ i ];
|
||||
|
||||
if ( nade.state != "smoking" )
|
||||
{
|
||||
@ -1252,10 +1252,10 @@ readWpsFromFile( mapname )
|
||||
*/
|
||||
load_waypoints()
|
||||
{
|
||||
level.waypointCount = 0;
|
||||
level.waypointUsage = [];
|
||||
level.waypointUsage[ "allies" ] = [];
|
||||
level.waypointUsage[ "axis" ] = [];
|
||||
level.waypointcount = 0;
|
||||
level.waypointusage = [];
|
||||
level.waypointusage[ "allies" ] = [];
|
||||
level.waypointusage[ "axis" ] = [];
|
||||
|
||||
if ( !isDefined( level.waypoints ) )
|
||||
{
|
||||
@ -1291,9 +1291,9 @@ load_waypoints()
|
||||
BotBuiltinPrintConsole( "No waypoints loaded!" );
|
||||
}
|
||||
|
||||
level.waypointCount = level.waypoints.size;
|
||||
level.waypointcount = level.waypoints.size;
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
if ( !isDefined( level.waypoints[ i ].children ) || !isDefined( level.waypoints[ i ].children.size ) )
|
||||
{
|
||||
@ -1390,7 +1390,7 @@ getWaypointsOfType( type )
|
||||
{
|
||||
answer = [];
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
wp = level.waypoints[ i ];
|
||||
|
||||
@ -2102,21 +2102,21 @@ ReverseHeapAStar( item, item2 )
|
||||
*/
|
||||
RemoveWaypointUsage( wp, team )
|
||||
{
|
||||
if ( !isDefined( level.waypointUsage ) )
|
||||
if ( !isDefined( level.waypointusage ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !isDefined( level.waypointUsage[ team ][ wp + "" ] ) )
|
||||
if ( !isDefined( level.waypointusage[ team ][ wp + "" ] ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.waypointUsage[ team ][ wp + "" ]--;
|
||||
level.waypointusage[ team ][ wp + "" ]--;
|
||||
|
||||
if ( level.waypointUsage[ team ][ wp + "" ] <= 0 )
|
||||
if ( level.waypointusage[ team ][ wp + "" ] <= 0 )
|
||||
{
|
||||
level.waypointUsage[ team ][ wp + "" ] = undefined;
|
||||
level.waypointusage[ team ][ wp + "" ] = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2128,7 +2128,7 @@ GetNearestWaypointWithSight( pos )
|
||||
candidate = undefined;
|
||||
dist = 2147483647;
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
if ( !bulletTracePassed( pos + ( 0, 0, 15 ), level.waypoints[ i ].origin + ( 0, 0, 15 ), false, undefined ) )
|
||||
{
|
||||
@ -2157,7 +2157,7 @@ GetNearestWaypoint( pos )
|
||||
candidate = undefined;
|
||||
dist = 2147483647;
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
curdis = DistanceSquared( level.waypoints[ i ].origin, pos );
|
||||
|
||||
@ -2252,14 +2252,14 @@ AStarSearch( start, goal, team, greedy_path )
|
||||
|
||||
while ( isDefined( bestNode ) )
|
||||
{
|
||||
if ( isdefined( team ) && isDefined( level.waypointUsage ) )
|
||||
if ( isdefined( team ) && isDefined( level.waypointusage ) )
|
||||
{
|
||||
if ( !isDefined( level.waypointUsage[ team ][ bestNode.index + "" ] ) )
|
||||
if ( !isDefined( level.waypointusage[ team ][ bestNode.index + "" ] ) )
|
||||
{
|
||||
level.waypointUsage[ team ][ bestNode.index + "" ] = 0;
|
||||
level.waypointusage[ team ][ bestNode.index + "" ] = 0;
|
||||
}
|
||||
|
||||
level.waypointUsage[ team ][ bestNode.index + "" ]++;
|
||||
level.waypointusage[ team ][ bestNode.index + "" ]++;
|
||||
}
|
||||
|
||||
// construct path
|
||||
@ -2279,13 +2279,13 @@ AStarSearch( start, goal, team, greedy_path )
|
||||
|
||||
penalty = 1;
|
||||
|
||||
if ( !greedy_path && isdefined( team ) && isDefined( level.waypointUsage ) )
|
||||
if ( !greedy_path && isdefined( team ) && isDefined( level.waypointusage ) )
|
||||
{
|
||||
temppen = 1;
|
||||
|
||||
if ( isDefined( level.waypointUsage[ team ][ child + "" ] ) )
|
||||
if ( isDefined( level.waypointusage[ team ][ child + "" ] ) )
|
||||
{
|
||||
temppen = level.waypointUsage[ team ][ child + "" ]; // consider how many bots are taking this path
|
||||
temppen = level.waypointusage[ team ][ child + "" ]; // consider how many bots are taking this path
|
||||
}
|
||||
|
||||
if ( temppen > 1 )
|
||||
@ -2445,14 +2445,14 @@ onUsePlantObjectFix( player )
|
||||
{
|
||||
level thread bombPlantedFix( self, player );
|
||||
|
||||
for ( i = 0; i < level.bombZones.size; i++ )
|
||||
for ( i = 0; i < level.bombzones.size; i++ )
|
||||
{
|
||||
if ( level.bombZones[ i ] == self )
|
||||
if ( level.bombzones[ i ] == self )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
level.bombZones[ i ] maps\mp\gametypes\_gameobjects::disableObject();
|
||||
level.bombzones[ i ] maps\mp\gametypes\_gameobjects::disableObject();
|
||||
}
|
||||
|
||||
player playsound( "mp_bomb_plant" );
|
||||
@ -2468,10 +2468,10 @@ onUsePlantObjectFix( player )
|
||||
|
||||
maps\mp\_utility::leaderDialog( "bomb_planted" );
|
||||
level thread maps\mp\_utility::teamPlayerCardSplash( "callout_bombplanted", player );
|
||||
level.bombOwner = player;
|
||||
level.bombowner = player;
|
||||
player thread maps\mp\gametypes\_hud_message::splashNotify( "plant", maps\mp\gametypes\_rank::getScoreInfoValue( "plant" ) );
|
||||
player thread maps\mp\gametypes\_rank::giveRankXP( "plant" );
|
||||
player.bombPlantedTime = gettime();
|
||||
player.bombplantedtime = gettime();
|
||||
maps\mp\gametypes\_gamescore::givePlayerScore( "plant", player );
|
||||
player thread maps\mp\_matchdata::logGameEvent( "plant", player.origin );
|
||||
}
|
||||
@ -2483,27 +2483,27 @@ onUsePlantObjectFix( player )
|
||||
bombPlantedFix( var_0, var_1 )
|
||||
{
|
||||
maps\mp\gametypes\_gamelogic::pauseTimer();
|
||||
level.bombPlanted = 1;
|
||||
level.bombplanted = 1;
|
||||
var_0.visuals[ 0 ] thread maps\mp\gametypes\_gamelogic::playTickingSound();
|
||||
level.tickingObject = var_0.visuals[ 0 ];
|
||||
level.timeLimitOverride = 1;
|
||||
setgameendtime( int( gettime() + level.bombTimer * 1000 ) );
|
||||
level.tickingobject = var_0.visuals[ 0 ];
|
||||
level.timelimitoverride = 1;
|
||||
setgameendtime( int( gettime() + level.bombtimer * 1000 ) );
|
||||
setdvar( "ui_bomb_timer", 1 );
|
||||
|
||||
if ( !level.multiBomb )
|
||||
if ( !level.multibomb )
|
||||
{
|
||||
level.sdBomb maps\mp\gametypes\_gameobjects::allowCarry( "none" );
|
||||
level.sdBomb maps\mp\gametypes\_gameobjects::setVisibleTeam( "none" );
|
||||
level.sdBomb maps\mp\gametypes\_gameobjects::setDropped();
|
||||
level.sdBombModel = level.sdBomb.visuals[ 0 ];
|
||||
level.sdbomb maps\mp\gametypes\_gameobjects::allowCarry( "none" );
|
||||
level.sdbomb maps\mp\gametypes\_gameobjects::setVisibleTeam( "none" );
|
||||
level.sdbomb maps\mp\gametypes\_gameobjects::setDropped();
|
||||
level.sdbombmodel = level.sdbomb.visuals[ 0 ];
|
||||
}
|
||||
else
|
||||
{
|
||||
for ( var_2 = 0; var_2 < level.players.size; var_2++ )
|
||||
{
|
||||
if ( isdefined( level.players[ var_2 ].carryIcon ) )
|
||||
if ( isdefined( level.players[ var_2 ].carryicon ) )
|
||||
{
|
||||
level.players[ var_2 ].carryIcon maps\mp\gametypes\_hud_util::destroyElem();
|
||||
level.players[ var_2 ].carryicon maps\mp\gametypes\_hud_util::destroyElem();
|
||||
}
|
||||
}
|
||||
|
||||
@ -2512,20 +2512,20 @@ bombPlantedFix( var_0, var_1 )
|
||||
var_5 = ( cos( var_4 ), sin( var_4 ), 0 );
|
||||
var_5 = vectornormalize( var_5 - var_3[ "normal" ] * vectordot( var_5, var_3[ "normal" ] ) );
|
||||
var_6 = vectortoangles( var_5 );
|
||||
level.sdBombModel = spawn( "script_model", var_3[ "position" ] );
|
||||
level.sdBombModel.angles = var_6;
|
||||
level.sdBombModel setmodel( "prop_suitcase_bomb" );
|
||||
level.sdbombmodel = spawn( "script_model", var_3[ "position" ] );
|
||||
level.sdbombmodel.angles = var_6;
|
||||
level.sdbombmodel setmodel( "prop_suitcase_bomb" );
|
||||
}
|
||||
|
||||
var_0 maps\mp\gametypes\_gameobjects::allowUse( "none" );
|
||||
var_0 maps\mp\gametypes\_gameobjects::setVisibleTeam( "none" );
|
||||
var_7 = var_0 maps\mp\gametypes\_gameobjects::getLabel();
|
||||
var_8 = var_0.bombDefuseTrig;
|
||||
var_8.origin = level.sdBombModel.origin;
|
||||
var_8 = var_0.bombdefusetrig;
|
||||
var_8.origin = level.sdbombmodel.origin;
|
||||
var_9 = [];
|
||||
defuseObject = maps\mp\gametypes\_gameobjects::createUseObject( game[ "defenders" ], var_8, var_9, ( 0, 0, 32 ) );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::allowUse( "friendly" );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setUseTime( level.defuseTime );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setUseTime( level.defusetime );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setUseText( &"MP_DEFUSING_EXPLOSIVE" );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setUseHintText( &"PLATFORM_HOLD_TO_DEFUSE_EXPLOSIVES" );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setVisibleTeam( "any" );
|
||||
@ -2534,25 +2534,25 @@ bombPlantedFix( var_0, var_1 )
|
||||
defuseObject maps\mp\gametypes\_gameobjects::set3DIcon( "friendly", "waypoint_defuse" + var_7 );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::set3DIcon( "enemy", "waypoint_defend" + var_7 );
|
||||
defuseObject.label = var_7;
|
||||
defuseObject.onBeginUse = maps\mp\gametypes\sd::onBeginUse;
|
||||
defuseObject.onEndUse = maps\mp\gametypes\sd::onEndUse;
|
||||
defuseObject.onUse = maps\mp\gametypes\sd::onUseDefuseObject;
|
||||
defuseObject.useWeapon = "briefcase_bomb_defuse_mp";
|
||||
defuseObject.onbeginuse = maps\mp\gametypes\sd::onBeginUse;
|
||||
defuseObject.onenduse = maps\mp\gametypes\sd::onEndUse;
|
||||
defuseObject.onuse = maps\mp\gametypes\sd::onUseDefuseObject;
|
||||
defuseObject.useweapon = "briefcase_bomb_defuse_mp";
|
||||
|
||||
level.defuseObject = defuseObject;
|
||||
level.defuseobject = defuseObject;
|
||||
|
||||
maps\mp\gametypes\sd::BombTimerWait();
|
||||
setdvar( "ui_bomb_timer", 0 );
|
||||
var_0.visuals[ 0 ] maps\mp\gametypes\_gamelogic::stopTickingSound();
|
||||
|
||||
if ( level.gameEnded || level.bombDefused )
|
||||
if ( level.gameended || level.bombdefused )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.bombexploded = 1;
|
||||
var_11 = level.sdBombModel.origin;
|
||||
level.sdBombModel hide();
|
||||
var_11 = level.sdbombmodel.origin;
|
||||
level.sdbombmodel hide();
|
||||
|
||||
if ( isdefined( var_1 ) )
|
||||
{
|
||||
@ -2572,14 +2572,14 @@ bombPlantedFix( var_0, var_1 )
|
||||
earthquake( 0.75, 2.0, var_11, 2000 );
|
||||
thread maps\mp\_utility::playSoundinSpace( "exp_suitcase_bomb_main", var_11 );
|
||||
|
||||
if ( isdefined( var_0.exploderIndex ) )
|
||||
if ( isdefined( var_0.exploderindex ) )
|
||||
{
|
||||
common_scripts\utility::exploder( var_0.exploderIndex );
|
||||
common_scripts\utility::exploder( var_0.exploderindex );
|
||||
}
|
||||
|
||||
for ( var_2 = 0; var_2 < level.bombZones.size; var_2++ )
|
||||
for ( var_2 = 0; var_2 < level.bombzones.size; var_2++ )
|
||||
{
|
||||
level.bombZones[ var_2 ] maps\mp\gametypes\_gameobjects::disableObject();
|
||||
level.bombzones[ var_2 ] maps\mp\gametypes\_gameobjects::disableObject();
|
||||
}
|
||||
|
||||
defuseObject maps\mp\gametypes\_gameobjects::disableObject();
|
||||
@ -2596,7 +2596,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
self endon( "death" );
|
||||
|
||||
self takeallweapons();
|
||||
self.changingWeapon = undefined;
|
||||
self.changingweapon = undefined;
|
||||
teamName = "none";
|
||||
|
||||
if ( !isdefined( setPrimarySpawnWeapon ) )
|
||||
@ -2706,7 +2706,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
if ( loadoutSecondary != "none" && !maps\mp\gametypes\_class::isValidSecondary( loadoutSecondary, loadoutPerk2, 0 ) )
|
||||
{
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, 10, 1 );
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, 10, 1 );
|
||||
loadoutSecondaryAttachment = "none";
|
||||
loadoutSecondaryAttachment2 = "none";
|
||||
loadoutSecondaryBuff = "specialty_null";
|
||||
@ -2741,14 +2741,14 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
if ( getmatchrulesdata( "defaultClasses", teamName, classIndex, "juggernaut" ) )
|
||||
{
|
||||
self thread recipeClassApplyJuggernaut( isJuggernaut() );
|
||||
self.isJuggernaut = true;
|
||||
self.isjuggernaut = true;
|
||||
self.juggmovespeedscaler = 0.7;
|
||||
}
|
||||
else if ( isJuggernaut() )
|
||||
{
|
||||
self notify( "lost_juggernaut" );
|
||||
self.isJuggernaut = false;
|
||||
self.moveSpeedScaler = 1;
|
||||
self.isjuggernaut = false;
|
||||
self.movespeedscaler = 1;
|
||||
}
|
||||
}
|
||||
else if ( issubstr( class, "custom" ) )
|
||||
@ -2827,7 +2827,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
if ( loadoutSecondary != "none" && !maps\mp\gametypes\_class::isValidSecondary( loadoutSecondary, loadoutPerk2, 0 ) )
|
||||
{
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, 10, 1 );
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, 10, 1 );
|
||||
loadoutSecondaryAttachment = "none";
|
||||
loadoutSecondaryAttachment2 = "none";
|
||||
loadoutSecondaryBuff = "specialty_null";
|
||||
@ -2835,16 +2835,16 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
loadoutSecondaryReticle = "none";
|
||||
}
|
||||
|
||||
if ( level.killstreakRewards && isdefined( gamemodeLoadout[ "loadoutStreakType" ] ) && gamemodeLoadout[ "loadoutStreakType" ] != "specialty_null" )
|
||||
if ( level.killstreakrewards && isdefined( gamemodeLoadout[ "loadoutStreakType" ] ) && gamemodeLoadout[ "loadoutStreakType" ] != "specialty_null" )
|
||||
{
|
||||
loadoutStreakType = gamemodeLoadout[ "loadoutStreakType" ];
|
||||
loadoutKillstreak1 = gamemodeLoadout[ "loadoutKillstreak1" ];
|
||||
loadoutKillstreak2 = gamemodeLoadout[ "loadoutKillstreak2" ];
|
||||
loadoutKillstreak3 = gamemodeLoadout[ "loadoutKillstreak3" ];
|
||||
}
|
||||
else if ( level.killstreakRewards && isdefined( self.streakType ) )
|
||||
else if ( level.killstreakrewards && isdefined( self.streaktype ) )
|
||||
{
|
||||
loadoutStreakType = maps\mp\gametypes\_class::getLoadoutStreakTypeFromStreakType( self.streakType );
|
||||
loadoutStreakType = maps\mp\gametypes\_class::getLoadoutStreakTypeFromStreakType( self.streaktype );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2858,16 +2858,16 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
if ( gamemodeLoadout[ "loadoutJuggernaut" ] )
|
||||
{
|
||||
self.health = self.maxHealth;
|
||||
self.health = self.maxhealth;
|
||||
self thread recipeClassApplyJuggernaut( isJuggernaut() );
|
||||
self.isJuggernaut = true;
|
||||
self.isjuggernaut = true;
|
||||
self.juggmovespeedscaler = 0.7;
|
||||
}
|
||||
else if ( isJuggernaut() )
|
||||
{
|
||||
self notify( "lost_juggernaut" );
|
||||
self.isJuggernaut = false;
|
||||
self.moveSpeedScaler = 1;
|
||||
self.isjuggernaut = false;
|
||||
self.movespeedscaler = 1;
|
||||
}
|
||||
}
|
||||
else if ( class == "juggernaut" )
|
||||
@ -2888,7 +2888,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
loadoutPerk1 = "specialty_scavenger";
|
||||
loadoutPerk2 = "specialty_quickdraw";
|
||||
loadoutPerk3 = "specialty_detectexplosive";
|
||||
loadoutStreakType = maps\mp\gametypes\_class::getLoadoutStreakTypeFromStreakType( self.streakType );
|
||||
loadoutStreakType = maps\mp\gametypes\_class::getLoadoutStreakTypeFromStreakType( self.streaktype );
|
||||
loadoutOffhand = "smoke_grenade_mp";
|
||||
loadoutDeathStreak = "specialty_null";
|
||||
}
|
||||
@ -2910,7 +2910,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
loadoutPerk1 = "specialty_scavenger";
|
||||
loadoutPerk2 = "specialty_coldblooded";
|
||||
loadoutPerk3 = "specialty_detectexplosive";
|
||||
loadoutStreakType = maps\mp\gametypes\_class::getLoadoutStreakTypeFromStreakType( self.streakType );
|
||||
loadoutStreakType = maps\mp\gametypes\_class::getLoadoutStreakTypeFromStreakType( self.streaktype );
|
||||
loadoutOffhand = "smoke_grenade_mp";
|
||||
loadoutDeathStreak = "specialty_null";
|
||||
}
|
||||
@ -2918,25 +2918,25 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
{
|
||||
class_num = maps\mp\gametypes\_class::getClassIndex( class );
|
||||
self.class_num = class_num;
|
||||
loadoutPrimary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, class_num, 0 );
|
||||
loadoutPrimaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 0, 0 );
|
||||
loadoutPrimaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 0, 1 );
|
||||
loadoutPrimaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classTableName, class_num, 0 );
|
||||
loadoutPrimaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classTableName, class_num, 0 );
|
||||
loadoutPrimaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classTableName, class_num, 0 );
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, class_num, 1 );
|
||||
loadoutSecondaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 1, 0 );
|
||||
loadoutSecondaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 1, 1 );
|
||||
loadoutSecondaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classTableName, class_num, 1 );
|
||||
loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classTableName, class_num, 1 );
|
||||
loadoutSecondaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classTableName, class_num, 1 );
|
||||
loadoutEquipment = maps\mp\gametypes\_class::table_getEquipment( level.classTableName, class_num, 0 );
|
||||
loadoutPerk1 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, class_num, 1 );
|
||||
loadoutPerk2 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, class_num, 2 );
|
||||
loadoutPerk3 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, class_num, 3 );
|
||||
loadoutStreakType = maps\mp\gametypes\_class::table_getPerk( level.classTableName, class_num, 5 );
|
||||
loadoutOffhand = maps\mp\gametypes\_class::table_getOffhand( level.classTableName, class_num );
|
||||
loadoutDeathStreak = maps\mp\gametypes\_class::table_getDeathstreak( level.classTableName, class_num );
|
||||
loadoutPrimary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, class_num, 0 );
|
||||
loadoutPrimaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 0, 0 );
|
||||
loadoutPrimaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 0, 1 );
|
||||
loadoutPrimaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classtablename, class_num, 0 );
|
||||
loadoutPrimaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classtablename, class_num, 0 );
|
||||
loadoutPrimaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classtablename, class_num, 0 );
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, class_num, 1 );
|
||||
loadoutSecondaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 1, 0 );
|
||||
loadoutSecondaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 1, 1 );
|
||||
loadoutSecondaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classtablename, class_num, 1 );
|
||||
loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classtablename, class_num, 1 );
|
||||
loadoutSecondaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classtablename, class_num, 1 );
|
||||
loadoutEquipment = maps\mp\gametypes\_class::table_getEquipment( level.classtablename, class_num, 0 );
|
||||
loadoutPerk1 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, class_num, 1 );
|
||||
loadoutPerk2 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, class_num, 2 );
|
||||
loadoutPerk3 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, class_num, 3 );
|
||||
loadoutStreakType = maps\mp\gametypes\_class::table_getPerk( level.classtablename, class_num, 5 );
|
||||
loadoutOffhand = maps\mp\gametypes\_class::table_getOffhand( level.classtablename, class_num );
|
||||
loadoutDeathStreak = maps\mp\gametypes\_class::table_getDeathstreak( level.classtablename, class_num );
|
||||
}
|
||||
|
||||
// stop default class op'ness
|
||||
@ -2991,37 +2991,37 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
{
|
||||
if ( !maps\mp\gametypes\_class::isValidPrimary( loadoutPrimary ) )
|
||||
{
|
||||
loadoutPrimary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, 10, 0 );
|
||||
loadoutPrimary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, 10, 0 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidAttachment( loadoutPrimaryAttachment ) )
|
||||
{
|
||||
loadoutPrimaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, 10, 0, 0 );
|
||||
loadoutPrimaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, 10, 0, 0 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidAttachment( loadoutPrimaryAttachment2 ) )
|
||||
{
|
||||
loadoutPrimaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, 10, 0, 1 );
|
||||
loadoutPrimaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, 10, 0, 1 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidWeaponBuff( loadoutPrimaryBuff, loadoutPrimary ) )
|
||||
{
|
||||
loadoutPrimaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classTableName, 10, 0 );
|
||||
loadoutPrimaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classtablename, 10, 0 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidCamo( loadoutPrimaryCamo ) )
|
||||
{
|
||||
loadoutPrimaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classTableName, 10, 0 );
|
||||
loadoutPrimaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classtablename, 10, 0 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidReticle( loadoutPrimaryReticle ) )
|
||||
{
|
||||
loadoutPrimaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classTableNum, 10, 0 );
|
||||
loadoutPrimaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classtablenum, 10, 0 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidSecondary( loadoutSecondary, loadoutPerk2 ) )
|
||||
{
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, 10, 1 );
|
||||
loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, 10, 1 );
|
||||
loadoutSecondaryAttachment = "none";
|
||||
loadoutSecondaryAttachment2 = "none";
|
||||
loadoutSecondaryBuff = "specialty_null";
|
||||
@ -3031,57 +3031,57 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidAttachment( loadoutSecondaryAttachment ) )
|
||||
{
|
||||
loadoutSecondaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, 10, 1, 0 );
|
||||
loadoutSecondaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, 10, 1, 0 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidAttachment( loadoutSecondaryAttachment2 ) )
|
||||
{
|
||||
loadoutSecondaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, 10, 1, 1 );
|
||||
loadoutSecondaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, 10, 1, 1 );
|
||||
}
|
||||
|
||||
if ( loadoutPerk2 == "specialty_twoprimaries" && !maps\mp\gametypes\_class::isValidWeaponBuff( loadoutSecondaryBuff, loadoutSecondary ) )
|
||||
{
|
||||
loadoutSecondaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classTableName, 10, 1 );
|
||||
loadoutSecondaryBuff = maps\mp\gametypes\_class::table_getWeaponBuff( level.classtablename, 10, 1 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidCamo( loadoutSecondaryCamo ) )
|
||||
{
|
||||
loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classTableName, 10, 1 );
|
||||
loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classtablename, 10, 1 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidReticle( loadoutSecondaryReticle ) )
|
||||
{
|
||||
loadoutSecondaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classTableName, 10, 1 );
|
||||
loadoutSecondaryReticle = maps\mp\gametypes\_class::table_getWeaponReticle( level.classtablename, 10, 1 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidEquipment( loadoutEquipment ) )
|
||||
{
|
||||
loadoutEquipment = maps\mp\gametypes\_class::table_getEquipment( level.classTableName, 10, 0 );
|
||||
loadoutEquipment = maps\mp\gametypes\_class::table_getEquipment( level.classtablename, 10, 0 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidPerk1( loadoutPerk1 ) )
|
||||
{
|
||||
loadoutPerk1 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, 10, 1 );
|
||||
loadoutPerk1 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, 10, 1 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidPerk2( loadoutPerk2 ) )
|
||||
{
|
||||
loadoutPerk2 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, 10, 2 );
|
||||
loadoutPerk2 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, 10, 2 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidPerk3( loadoutPerk3 ) )
|
||||
{
|
||||
loadoutPerk3 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, 10, 3 );
|
||||
loadoutPerk3 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, 10, 3 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidDeathStreak( loadoutDeathStreak ) )
|
||||
{
|
||||
loadoutDeathStreak = maps\mp\gametypes\_class::table_getDeathstreak( level.classTableName, 10 );
|
||||
loadoutDeathStreak = maps\mp\gametypes\_class::table_getDeathstreak( level.classtablename, 10 );
|
||||
}
|
||||
|
||||
if ( !maps\mp\gametypes\_class::isValidOffhand( loadoutOffhand ) )
|
||||
{
|
||||
loadoutOffhand = maps\mp\gametypes\_class::table_getOffhand( level.classTableName, 10 );
|
||||
loadoutOffhand = maps\mp\gametypes\_class::table_getOffhand( level.classtablename, 10 );
|
||||
}
|
||||
|
||||
if ( loadoutPrimaryAttachment2 != "none" && loadoutPrimaryBuff != "specialty_bling" )
|
||||
@ -3100,32 +3100,32 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
}
|
||||
}
|
||||
|
||||
self.loadoutPrimary = loadoutPrimary;
|
||||
self.loadoutPrimaryCamo = int( tablelookup( "mp/camoTable.csv", 1, loadoutPrimaryCamo, 0 ) );
|
||||
self.loadoutSecondary = loadoutSecondary;
|
||||
self.loadoutSecondaryCamo = int( tablelookup( "mp/camoTable.csv", 1, loadoutSecondaryCamo, 0 ) );
|
||||
self.loadoutprimary = loadoutPrimary;
|
||||
self.loadoutprimarycamo = int( tablelookup( "mp/camoTable.csv", 1, loadoutPrimaryCamo, 0 ) );
|
||||
self.loadoutsecondary = loadoutSecondary;
|
||||
self.loadoutsecondarycamo = int( tablelookup( "mp/camoTable.csv", 1, loadoutSecondaryCamo, 0 ) );
|
||||
|
||||
if ( !issubstr( loadoutPrimary, "iw5" ) )
|
||||
{
|
||||
self.loadoutPrimaryCamo = 0;
|
||||
self.loadoutprimarycamo = 0;
|
||||
}
|
||||
|
||||
if ( !issubstr( loadoutSecondary, "iw5" ) )
|
||||
{
|
||||
self.loadoutSecondaryCamo = 0;
|
||||
self.loadoutsecondarycamo = 0;
|
||||
}
|
||||
|
||||
self.loadoutPrimaryReticle = int( tablelookup( "mp/reticleTable.csv", 1, loadoutPrimaryReticle, 0 ) );
|
||||
self.loadoutSecondaryReticle = int( tablelookup( "mp/reticleTable.csv", 1, loadoutSecondaryReticle, 0 ) );
|
||||
self.loadoutprimaryreticle = int( tablelookup( "mp/reticleTable.csv", 1, loadoutPrimaryReticle, 0 ) );
|
||||
self.loadoutsecondaryreticle = int( tablelookup( "mp/reticleTable.csv", 1, loadoutSecondaryReticle, 0 ) );
|
||||
|
||||
if ( !issubstr( loadoutPrimary, "iw5" ) )
|
||||
{
|
||||
self.loadoutPrimaryReticle = 0;
|
||||
self.loadoutprimaryreticle = 0;
|
||||
}
|
||||
|
||||
if ( !issubstr( loadoutSecondary, "iw5" ) )
|
||||
{
|
||||
self.loadoutSecondaryReticle = 0;
|
||||
self.loadoutsecondaryreticle = 0;
|
||||
}
|
||||
|
||||
if ( loadoutSecondary == "none" )
|
||||
@ -3134,7 +3134,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
}
|
||||
else
|
||||
{
|
||||
secondaryName = maps\mp\gametypes\_class::buildWeaponName( loadoutSecondary, loadoutSecondaryAttachment, loadoutSecondaryAttachment2, self.loadoutSecondaryCamo, self.loadoutSecondaryReticle );
|
||||
secondaryName = maps\mp\gametypes\_class::buildWeaponName( loadoutSecondary, loadoutSecondaryAttachment, loadoutSecondaryAttachment2, self.loadoutsecondarycamo, self.loadoutsecondaryreticle );
|
||||
self _giveWeapon( secondaryName );
|
||||
weaponTokens = strtok( secondaryName, "_" );
|
||||
|
||||
@ -3172,7 +3172,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
self _clearPerks();
|
||||
self maps\mp\gametypes\_class::_detachAll();
|
||||
|
||||
if ( level.dieHardMode )
|
||||
if ( level.diehardmode )
|
||||
{
|
||||
self givePerk( "specialty_pistoldeath", false );
|
||||
}
|
||||
@ -3186,7 +3186,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
self.spawnperk = false;
|
||||
|
||||
if ( !self _hasPerk( "specialty_blindeye" ) && self.avoidKillstreakOnSpawnTimer > 0 )
|
||||
if ( !self _hasPerk( "specialty_blindeye" ) && self.avoidkillstreakonspawntimer > 0 )
|
||||
{
|
||||
self thread maps\mp\perks\_perks::giveBlindEyeAfterSpawn();
|
||||
}
|
||||
@ -3226,7 +3226,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
}
|
||||
}
|
||||
|
||||
if ( level.killstreakRewards && !isdefined( loadoutKillstreak1 ) && !isdefined( loadoutKillstreak2 ) && !isdefined( loadoutKillstreak3 ) )
|
||||
if ( level.killstreakrewards && !isdefined( loadoutKillstreak1 ) && !isdefined( loadoutKillstreak2 ) && !isdefined( loadoutKillstreak3 ) )
|
||||
{
|
||||
if ( isdefined( self.pers[ "copyCatLoadout" ] ) && self.pers[ "copyCatLoadout" ][ "inUse" ] && allowCopycat )
|
||||
{
|
||||
@ -3241,26 +3241,26 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
defaultKillstreak3 = undefined;
|
||||
playerData = undefined;
|
||||
|
||||
switch ( self.streakType )
|
||||
switch ( self.streaktype )
|
||||
{
|
||||
case "support":
|
||||
defaultKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 2, 1 );
|
||||
defaultKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 2, 2 );
|
||||
defaultKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 2, 3 );
|
||||
defaultKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 2, 1 );
|
||||
defaultKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 2, 2 );
|
||||
defaultKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 2, 3 );
|
||||
playerData = "defenseStreaks";
|
||||
break;
|
||||
|
||||
case "specialist":
|
||||
defaultKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 1, 1 );
|
||||
defaultKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 1, 2 );
|
||||
defaultKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 1, 3 );
|
||||
defaultKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 1, 1 );
|
||||
defaultKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 1, 2 );
|
||||
defaultKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 1, 3 );
|
||||
playerData = "specialistStreaks";
|
||||
break;
|
||||
|
||||
default:
|
||||
defaultKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 0, 1 );
|
||||
defaultKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 0, 2 );
|
||||
defaultKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 0, 3 );
|
||||
defaultKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 0, 1 );
|
||||
defaultKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 0, 2 );
|
||||
defaultKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 0, 3 );
|
||||
playerData = "assaultStreaks";
|
||||
break;
|
||||
}
|
||||
@ -3299,7 +3299,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
}
|
||||
}
|
||||
|
||||
if ( isGameModeClass && self.streakType == "specialist" )
|
||||
if ( isGameModeClass && self.streaktype == "specialist" )
|
||||
{
|
||||
self.pers[ "gamemodeLoadout" ][ "loadoutKillstreak1" ] = loadoutKillstreak1;
|
||||
self.pers[ "gamemodeLoadout" ][ "loadoutKillstreak2" ] = loadoutKillstreak2;
|
||||
@ -3348,14 +3348,14 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
if ( var_56 )
|
||||
{
|
||||
self.streakType = "assault";
|
||||
loadoutKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 0, 1 );
|
||||
loadoutKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 0, 2 );
|
||||
loadoutKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classTableName, 0, 3 );
|
||||
self.streaktype = "assault";
|
||||
loadoutKillstreak1 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 0, 1 );
|
||||
loadoutKillstreak2 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 0, 2 );
|
||||
loadoutKillstreak3 = maps\mp\gametypes\_class::table_getKillstreak( level.classtablename, 0, 3 );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( !level.killstreakRewards )
|
||||
else if ( !level.killstreakrewards )
|
||||
{
|
||||
loadoutKillstreak1 = "none";
|
||||
loadoutKillstreak2 = "none";
|
||||
@ -3364,9 +3364,9 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
self maps\mp\gametypes\_class::setKillstreaks( loadoutKillstreak1, loadoutKillstreak2, loadoutKillstreak3 );
|
||||
|
||||
if ( isdefined( self.lastClass ) && self.lastClass != self.class && !issubstr( self.class, "juggernaut" ) && !issubstr( self.lastClass, "juggernaut" ) && !issubstr( class, "juggernaut" ) )
|
||||
if ( isdefined( self.lastclass ) && self.lastclass != self.class && !issubstr( self.class, "juggernaut" ) && !issubstr( self.lastclass, "juggernaut" ) && !issubstr( class, "juggernaut" ) )
|
||||
{
|
||||
if ( wasOnlyRound() || self.lastClass != "" )
|
||||
if ( wasOnlyRound() || self.lastclass != "" )
|
||||
{
|
||||
streakNames = [];
|
||||
inc = 0;
|
||||
@ -3375,7 +3375,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
{
|
||||
for ( i = 5; i < self.pers[ "killstreaks" ].size; i++ )
|
||||
{
|
||||
streakNames[ inc ] = self.pers[ "killstreaks" ][ i ].streakName;
|
||||
streakNames[ inc ] = self.pers[ "killstreaks" ][ i ].streakname;
|
||||
inc++;
|
||||
}
|
||||
}
|
||||
@ -3384,9 +3384,9 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
{
|
||||
for ( i = 1; i < 4; i++ )
|
||||
{
|
||||
if ( isdefined( self.pers[ "killstreaks" ][ i ] ) && isdefined( self.pers[ "killstreaks" ][ i ].streakName ) && self.pers[ "killstreaks" ][ i ].available && !self.pers[ "killstreaks" ][ i ].isSpecialist )
|
||||
if ( isdefined( self.pers[ "killstreaks" ][ i ] ) && isdefined( self.pers[ "killstreaks" ][ i ].streakname ) && self.pers[ "killstreaks" ][ i ].available && !self.pers[ "killstreaks" ][ i ].isspecialist )
|
||||
{
|
||||
streakNames[ inc ] = self.pers[ "killstreaks" ][ i ].streakName;
|
||||
streakNames[ inc ] = self.pers[ "killstreaks" ][ i ].streakname;
|
||||
inc++;
|
||||
}
|
||||
}
|
||||
@ -3404,13 +3404,13 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
|
||||
if ( !issubstr( class, "juggernaut" ) )
|
||||
{
|
||||
if ( isdefined( self.lastClass ) && self.lastClass != "" && self.lastClass != self.class )
|
||||
if ( isdefined( self.lastclass ) && self.lastclass != "" && self.lastclass != self.class )
|
||||
{
|
||||
self incPlayerStat( "mostclasseschanged", 1 );
|
||||
}
|
||||
|
||||
self.pers[ "lastClass" ] = self.class;
|
||||
self.lastClass = self.class;
|
||||
self.lastclass = self.class;
|
||||
}
|
||||
|
||||
if ( isdefined( self.gamemode_chosenclass ) )
|
||||
@ -3418,11 +3418,11 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
self.pers[ "class" ] = self.gamemode_chosenclass;
|
||||
self.pers[ "lastClass" ] = self.gamemode_chosenclass;
|
||||
self.class = self.gamemode_chosenclass;
|
||||
self.lastClass = self.gamemode_chosenclass;
|
||||
self.lastclass = self.gamemode_chosenclass;
|
||||
self.gamemode_chosenclass = undefined;
|
||||
}
|
||||
|
||||
primaryName = maps\mp\gametypes\_class::buildWeaponName( loadoutPrimary, loadoutPrimaryAttachment, loadoutPrimaryAttachment2, self.loadoutPrimaryCamo, self.loadoutPrimaryReticle );
|
||||
primaryName = maps\mp\gametypes\_class::buildWeaponName( loadoutPrimary, loadoutPrimaryAttachment, loadoutPrimaryAttachment2, self.loadoutprimarycamo, self.loadoutprimaryreticle );
|
||||
self _giveWeapon( primaryName );
|
||||
self switchtoweapon( primaryName );
|
||||
weaponTokens = strtok( primaryName, "_" );
|
||||
@ -3448,7 +3448,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
self setplayerdata( "weaponRank", weaponName, curWeaponRank );
|
||||
}
|
||||
|
||||
if ( primaryName == "riotshield_mp" && level.inGracePeriod )
|
||||
if ( primaryName == "riotshield_mp" && level.ingraceperiod )
|
||||
{
|
||||
self notify( "weapon_change", "riotshield_mp" );
|
||||
}
|
||||
@ -3516,17 +3516,17 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary
|
||||
}
|
||||
|
||||
primaryWeapon = primaryName;
|
||||
self.primaryWeapon = primaryWeapon;
|
||||
self.secondaryWeapon = secondaryName;
|
||||
self.primaryweapon = primaryWeapon;
|
||||
self.secondaryweapon = secondaryName;
|
||||
|
||||
if ( var_7 )
|
||||
{
|
||||
self setweaponammoclip( self.primaryWeapon, 0 );
|
||||
self setweaponammostock( self.primaryWeapon, 0 );
|
||||
self setweaponammoclip( self.primaryweapon, 0 );
|
||||
self setweaponammostock( self.primaryweapon, 0 );
|
||||
}
|
||||
|
||||
self playerModelForWeapon( self.pers[ "primaryWeapon" ], getBaseWeaponName( secondaryName ) );
|
||||
self.isSniper = ( weaponclass( self.primaryWeapon ) == "sniper" );
|
||||
self.issniper = ( weaponclass( self.primaryweapon ) == "sniper" );
|
||||
self maps\mp\gametypes\_weapons::updateMoveSpeedScale();
|
||||
self maps\mp\perks\_perks::cac_selector();
|
||||
self notify( "changed_kit" );
|
||||
@ -3570,15 +3570,15 @@ loadoutAllPerks( loadoutEquipment, loadoutPerk1, loadoutPerk2, loadoutPerk3, loa
|
||||
loadoutSecondaryBuff = maps\mp\perks\_perks::validatePerk( undefined, loadoutSecondaryBuff );
|
||||
}
|
||||
|
||||
self.loadoutPerk1 = loadoutPerk1;
|
||||
self.loadoutPerk2 = loadoutPerk2;
|
||||
self.loadoutPerk3 = loadoutPerk3;
|
||||
self.loadoutPerkEquipment = loadoutEquipment;
|
||||
self.loadoutPrimaryBuff = loadoutPrimaryBuff;
|
||||
self.loadoutperk1 = loadoutPerk1;
|
||||
self.loadoutperk2 = loadoutPerk2;
|
||||
self.loadoutperk3 = loadoutPerk3;
|
||||
self.loadoutperkequipment = loadoutEquipment;
|
||||
self.loadoutprimarybuff = loadoutPrimaryBuff;
|
||||
|
||||
if ( loadoutPerk2 == "specialty_twoprimaries" )
|
||||
{
|
||||
self.loadoutSecondaryBuff = loadoutSecondaryBuff;
|
||||
self.loadoutsecondarybuff = loadoutSecondaryBuff;
|
||||
}
|
||||
|
||||
if ( loadoutEquipment != "specialty_null" )
|
||||
|
@ -45,7 +45,7 @@ watchPlayers()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( isDefined( player.menuInit ) && player.menuInit )
|
||||
if ( isDefined( player.menuinit ) && player.menuinit )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -58,17 +58,17 @@ watchPlayers()
|
||||
kill_menu()
|
||||
{
|
||||
self notify( "bots_kill_menu" );
|
||||
self.menuInit = undefined;
|
||||
self.menuinit = undefined;
|
||||
}
|
||||
|
||||
init_menu()
|
||||
{
|
||||
self.menuInit = true;
|
||||
self.menuinit = true;
|
||||
|
||||
self.menuOpen = false;
|
||||
self.menuopen = false;
|
||||
self.menu_player = undefined;
|
||||
self.SubMenu = "Main";
|
||||
self.Curs[ "Main" ][ "X" ] = 0;
|
||||
self.submenu = "Main";
|
||||
self.curs[ "Main" ][ "X" ] = 0;
|
||||
self AddOptions();
|
||||
|
||||
self thread watchPlayerOpenMenu();
|
||||
@ -87,46 +87,46 @@ watchDisconnect()
|
||||
{
|
||||
self waittill_either( "disconnect", "bots_kill_menu" );
|
||||
|
||||
if ( self.menuOpen )
|
||||
if ( self.menuopen )
|
||||
{
|
||||
if ( isDefined( self.MenuTextY ) )
|
||||
if ( isDefined( self.menutexty ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuTextY.size; i++ )
|
||||
for ( i = 0; i < self.menutexty.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuTextY[ i ] ) )
|
||||
if ( isDefined( self.menutexty[ i ] ) )
|
||||
{
|
||||
self.MenuTextY[ i ] destroy();
|
||||
self.menutexty[ i ] destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.MenuText ) )
|
||||
if ( isDefined( self.menutext ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuText.size; i++ )
|
||||
for ( i = 0; i < self.menutext.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuText[ i ] ) )
|
||||
if ( isDefined( self.menutext[ i ] ) )
|
||||
{
|
||||
self.MenuText[ i ] destroy();
|
||||
self.menutext[ i ] destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.Menu ) && isDefined( self.Menu[ "X" ] ) )
|
||||
if ( isDefined( self.menu ) && isDefined( self.menu[ "X" ] ) )
|
||||
{
|
||||
if ( isDefined( self.Menu[ "X" ][ "Shader" ] ) )
|
||||
if ( isDefined( self.menu[ "X" ][ "Shader" ] ) )
|
||||
{
|
||||
self.Menu[ "X" ][ "Shader" ] destroy();
|
||||
self.menu[ "X" ][ "Shader" ] destroy();
|
||||
}
|
||||
|
||||
if ( isDefined( self.Menu[ "X" ][ "Scroller" ] ) )
|
||||
if ( isDefined( self.menu[ "X" ][ "Scroller" ] ) )
|
||||
{
|
||||
self.Menu[ "X" ][ "Scroller" ] destroy();
|
||||
self.menu[ "X" ][ "Scroller" ] destroy();
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.menuVersionHud ) )
|
||||
if ( isDefined( self.menuversionhud ) )
|
||||
{
|
||||
self.menuVersionHud destroy();
|
||||
self.menuversionhud destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -152,16 +152,16 @@ watchPlayerOpenMenu()
|
||||
{
|
||||
self waittill( "bots_open_menu" );
|
||||
|
||||
if ( !self.menuOpen )
|
||||
if ( !self.menuopen )
|
||||
{
|
||||
self playLocalSound( "mouse_click" );
|
||||
self thread OpenSub( self.SubMenu );
|
||||
self thread OpenSub( self.submenu );
|
||||
}
|
||||
else
|
||||
{
|
||||
self playLocalSound( "mouse_click" );
|
||||
|
||||
if ( self.SubMenu != "Main" )
|
||||
if ( self.submenu != "Main" )
|
||||
{
|
||||
self ExitSub();
|
||||
}
|
||||
@ -169,7 +169,7 @@ watchPlayerOpenMenu()
|
||||
{
|
||||
self ExitMenu();
|
||||
|
||||
if ( !gameFlag( "prematch_done" ) || level.gameEnded )
|
||||
if ( !gameFlag( "prematch_done" ) || level.gameended )
|
||||
{
|
||||
self freezeControls( true );
|
||||
}
|
||||
@ -193,17 +193,17 @@ MenuSelect()
|
||||
{
|
||||
self waittill( "bots_select" );
|
||||
|
||||
if ( self.MenuOpen )
|
||||
if ( self.menuopen )
|
||||
{
|
||||
self playLocalSound( "mouse_click" );
|
||||
|
||||
if ( self.SubMenu == "Main" )
|
||||
if ( self.submenu == "Main" )
|
||||
{
|
||||
self thread [[ self.Option[ "Function" ][ self.SubMenu ][ self.Curs[ "Main" ][ "X" ] ] ]]( self.Option[ "Arg1" ][ self.SubMenu ][ self.Curs[ "Main" ][ "X" ] ], self.Option[ "Arg2" ][ self.SubMenu ][ self.Curs[ "Main" ][ "X" ] ] );
|
||||
self thread [[ self.option[ "Function" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ] ]]( self.option[ "Arg1" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ], self.option[ "Arg2" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ] );
|
||||
}
|
||||
else
|
||||
{
|
||||
self thread [[ self.Option[ "Function" ][ self.SubMenu ][ self.Curs[ self.SubMenu ][ "Y" ] ] ]]( self.Option[ "Arg1" ][ self.SubMenu ][ self.Curs[ self.SubMenu ][ "Y" ] ], self.Option[ "Arg2" ][ self.SubMenu ][ self.Curs[ self.SubMenu ][ "Y" ] ] );
|
||||
self thread [[ self.option[ "Function" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ] ]]( self.option[ "Arg1" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ], self.option[ "Arg2" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -220,14 +220,14 @@ LeftMenu()
|
||||
{
|
||||
self waittill( "bots_left" );
|
||||
|
||||
if ( self.MenuOpen && self.SubMenu == "Main" )
|
||||
if ( self.menuopen && self.submenu == "Main" )
|
||||
{
|
||||
self playLocalSound( "mouse_over" );
|
||||
self.Curs[ "Main" ][ "X" ]--;
|
||||
self.curs[ "Main" ][ "X" ]--;
|
||||
|
||||
if ( self.Curs[ "Main" ][ "X" ] < 0 )
|
||||
if ( self.curs[ "Main" ][ "X" ] < 0 )
|
||||
{
|
||||
self.Curs[ "Main" ][ "X" ] = self.Option[ "Name" ][ self.SubMenu ].size - 1;
|
||||
self.curs[ "Main" ][ "X" ] = self.option[ "Name" ][ self.submenu ].size - 1;
|
||||
}
|
||||
|
||||
self CursMove( "X" );
|
||||
@ -246,14 +246,14 @@ RightMenu()
|
||||
{
|
||||
self waittill( "bots_right" );
|
||||
|
||||
if ( self.MenuOpen && self.SubMenu == "Main" )
|
||||
if ( self.menuopen && self.submenu == "Main" )
|
||||
{
|
||||
self playLocalSound( "mouse_over" );
|
||||
self.Curs[ "Main" ][ "X" ]++;
|
||||
self.curs[ "Main" ][ "X" ]++;
|
||||
|
||||
if ( self.Curs[ "Main" ][ "X" ] > self.Option[ "Name" ][ self.SubMenu ].size - 1 )
|
||||
if ( self.curs[ "Main" ][ "X" ] > self.option[ "Name" ][ self.submenu ].size - 1 )
|
||||
{
|
||||
self.Curs[ "Main" ][ "X" ] = 0;
|
||||
self.curs[ "Main" ][ "X" ] = 0;
|
||||
}
|
||||
|
||||
self CursMove( "X" );
|
||||
@ -272,14 +272,14 @@ UpMenu()
|
||||
{
|
||||
self waittill( "bots_up" );
|
||||
|
||||
if ( self.MenuOpen && self.SubMenu != "Main" )
|
||||
if ( self.menuopen && self.submenu != "Main" )
|
||||
{
|
||||
self playLocalSound( "mouse_over" );
|
||||
self.Curs[ self.SubMenu ][ "Y" ]--;
|
||||
self.curs[ self.submenu ][ "Y" ]--;
|
||||
|
||||
if ( self.Curs[ self.SubMenu ][ "Y" ] < 0 )
|
||||
if ( self.curs[ self.submenu ][ "Y" ] < 0 )
|
||||
{
|
||||
self.Curs[ self.SubMenu ][ "Y" ] = self.Option[ "Name" ][ self.SubMenu ].size - 1;
|
||||
self.curs[ self.submenu ][ "Y" ] = self.option[ "Name" ][ self.submenu ].size - 1;
|
||||
}
|
||||
|
||||
self CursMove( "Y" );
|
||||
@ -298,14 +298,14 @@ DownMenu()
|
||||
{
|
||||
self waittill( "bots_down" );
|
||||
|
||||
if ( self.MenuOpen && self.SubMenu != "Main" )
|
||||
if ( self.menuopen && self.submenu != "Main" )
|
||||
{
|
||||
self playLocalSound( "mouse_over" );
|
||||
self.Curs[ self.SubMenu ][ "Y" ]++;
|
||||
self.curs[ self.submenu ][ "Y" ]++;
|
||||
|
||||
if ( self.Curs[ self.SubMenu ][ "Y" ] > self.Option[ "Name" ][ self.SubMenu ].size - 1 )
|
||||
if ( self.curs[ self.submenu ][ "Y" ] > self.option[ "Name" ][ self.submenu ].size - 1 )
|
||||
{
|
||||
self.Curs[ self.SubMenu ][ "Y" ] = 0;
|
||||
self.curs[ self.submenu ][ "Y" ] = 0;
|
||||
}
|
||||
|
||||
self CursMove( "Y" );
|
||||
@ -315,105 +315,105 @@ DownMenu()
|
||||
|
||||
OpenSub( menu, menu2 )
|
||||
{
|
||||
if ( menu != "Main" && ( !isDefined( self.Menu[ menu ] ) || !!isDefined( self.Menu[ menu ][ "FirstOpen" ] ) ) )
|
||||
if ( menu != "Main" && ( !isDefined( self.menu[ menu ] ) || !!isDefined( self.menu[ menu ][ "FirstOpen" ] ) ) )
|
||||
{
|
||||
self.Curs[ menu ][ "Y" ] = 0;
|
||||
self.Menu[ menu ][ "FirstOpen" ] = true;
|
||||
self.curs[ menu ][ "Y" ] = 0;
|
||||
self.menu[ menu ][ "FirstOpen" ] = true;
|
||||
}
|
||||
|
||||
logoldi = true;
|
||||
self.SubMenu = menu;
|
||||
self.submenu = menu;
|
||||
|
||||
if ( self.SubMenu == "Main" )
|
||||
if ( self.submenu == "Main" )
|
||||
{
|
||||
if ( isDefined( self.MenuText ) )
|
||||
if ( isDefined( self.menutext ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuText.size; i++ )
|
||||
for ( i = 0; i < self.menutext.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuText[ i ] ) )
|
||||
if ( isDefined( self.menutext[ i ] ) )
|
||||
{
|
||||
self.MenuText[ i ] destroy();
|
||||
self.menutext[ i ] destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.Menu ) && isDefined( self.Menu[ "X" ] ) )
|
||||
if ( isDefined( self.menu ) && isDefined( self.menu[ "X" ] ) )
|
||||
{
|
||||
if ( isDefined( self.Menu[ "X" ][ "Shader" ] ) )
|
||||
if ( isDefined( self.menu[ "X" ][ "Shader" ] ) )
|
||||
{
|
||||
self.Menu[ "X" ][ "Shader" ] destroy();
|
||||
self.menu[ "X" ][ "Shader" ] destroy();
|
||||
}
|
||||
|
||||
if ( isDefined( self.Menu[ "X" ][ "Scroller" ] ) )
|
||||
if ( isDefined( self.menu[ "X" ][ "Scroller" ] ) )
|
||||
{
|
||||
self.Menu[ "X" ][ "Scroller" ] destroy();
|
||||
self.menu[ "X" ][ "Scroller" ] destroy();
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.menuVersionHud ) )
|
||||
if ( isDefined( self.menuversionhud ) )
|
||||
{
|
||||
self.menuVersionHud destroy();
|
||||
self.menuversionhud destroy();
|
||||
}
|
||||
|
||||
for ( i = 0 ; i < self.Option[ "Name" ][ self.SubMenu ].size ; i++ )
|
||||
for ( i = 0 ; i < self.option[ "Name" ][ self.submenu ].size ; i++ )
|
||||
{
|
||||
self.MenuText[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.MenuText[ i ] setpoint( "CENTER", "CENTER", -300 + ( i * 100 ), -226 );
|
||||
self.MenuText[ i ] settext( self.Option[ "Name" ][ self.SubMenu ][ i ] );
|
||||
self.menutext[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.menutext[ i ] setpoint( "CENTER", "CENTER", -300 + ( i * 100 ), -226 );
|
||||
self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
|
||||
if ( logOldi )
|
||||
{
|
||||
self.oldi = i;
|
||||
}
|
||||
|
||||
if ( self.MenuText[ i ].x > 300 )
|
||||
if ( self.menutext[ i ].x > 300 )
|
||||
{
|
||||
logOldi = false;
|
||||
x = i - self.oldi;
|
||||
self.MenuText[ i ] setpoint( "CENTER", "CENTER", ( ( ( -300 ) - ( i * 100 ) ) + ( i * 100 ) ) + ( x * 100 ), -196 );
|
||||
self.menutext[ i ] setpoint( "CENTER", "CENTER", ( ( ( -300 ) - ( i * 100 ) ) + ( i * 100 ) ) + ( x * 100 ), -196 );
|
||||
}
|
||||
|
||||
self.MenuText[ i ].alpha = 1;
|
||||
self.MenuText[ i ].sort = 999;
|
||||
self.menutext[ i ].alpha = 1;
|
||||
self.menutext[ i ].sort = 999;
|
||||
}
|
||||
|
||||
if ( !logOldi )
|
||||
{
|
||||
self.Menu[ "X" ][ "Shader" ] = self createRectangle( "CENTER", "CENTER", 0, -225, 1000, 90, ( 0, 0, 0 ), -2, 1, "white" );
|
||||
self.menu[ "X" ][ "Shader" ] = self createRectangle( "CENTER", "CENTER", 0, -225, 1000, 90, ( 0, 0, 0 ), -2, 1, "white" );
|
||||
}
|
||||
else
|
||||
{
|
||||
self.Menu[ "X" ][ "Shader" ] = self createRectangle( "CENTER", "CENTER", 0, -225, 1000, 30, ( 0, 0, 0 ), -2, 1, "white" );
|
||||
self.menu[ "X" ][ "Shader" ] = self createRectangle( "CENTER", "CENTER", 0, -225, 1000, 30, ( 0, 0, 0 ), -2, 1, "white" );
|
||||
}
|
||||
|
||||
self.Menu[ "X" ][ "Scroller" ] = self createRectangle( "CENTER", "CENTER", self.MenuText[ self.Curs[ "Main" ][ "X" ] ].x, -225, 105, 22, ( 1, 0, 0 ), -1, 1, "white" );
|
||||
self.menu[ "X" ][ "Scroller" ] = self createRectangle( "CENTER", "CENTER", self.menutext[ self.curs[ "Main" ][ "X" ] ].x, -225, 105, 22, ( 1, 0, 0 ), -1, 1, "white" );
|
||||
|
||||
self CursMove( "X" );
|
||||
|
||||
self.menuVersionHud = initHudElem( "Bot Warfare " + level.bw_VERSION, 0, 0 );
|
||||
self.menuversionhud = initHudElem( "Bot Warfare " + level.bw_version, 0, 0 );
|
||||
|
||||
self.MenuOpen = true;
|
||||
self.menuopen = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( self.MenuTextY ) )
|
||||
if ( isDefined( self.menutexty ) )
|
||||
{
|
||||
for ( i = 0 ; i < self.MenuTextY.size ; i++ )
|
||||
for ( i = 0 ; i < self.menutexty.size ; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuTextY[ i ] ) )
|
||||
if ( isDefined( self.menutexty[ i ] ) )
|
||||
{
|
||||
self.MenuTextY[ i ] destroy();
|
||||
self.menutexty[ i ] destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for ( i = 0 ; i < self.Option[ "Name" ][ self.SubMenu ].size ; i++ )
|
||||
for ( i = 0 ; i < self.option[ "Name" ][ self.submenu ].size ; i++ )
|
||||
{
|
||||
self.MenuTextY[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.MenuTextY[ i ] setpoint( "CENTER", "CENTER", self.MenuText[ self.Curs[ "Main" ][ "X" ] ].x, -160 + ( i * 20 ) );
|
||||
self.MenuTextY[ i ] settext( self.Option[ "Name" ][ self.SubMenu ][ i ] );
|
||||
self.MenuTextY[ i ].alpha = 1;
|
||||
self.MenuTextY[ i ].sort = 999;
|
||||
self.menutexty[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.menutexty[ i ] setpoint( "CENTER", "CENTER", self.menutext[ self.curs[ "Main" ][ "X" ] ].x, -160 + ( i * 20 ) );
|
||||
self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
self.menutexty[ i ].alpha = 1;
|
||||
self.menutexty[ i ].sort = 999;
|
||||
}
|
||||
|
||||
self CursMove( "Y" );
|
||||
@ -424,20 +424,20 @@ CursMove( direction )
|
||||
{
|
||||
self notify( "scrolled" );
|
||||
|
||||
if ( self.SubMenu == "Main" )
|
||||
if ( self.submenu == "Main" )
|
||||
{
|
||||
self.Menu[ "X" ][ "Scroller" ].x = self.MenuText[ self.Curs[ "Main" ][ "X" ] ].x;
|
||||
self.Menu[ "X" ][ "Scroller" ].y = self.MenuText[ self.Curs[ "Main" ][ "X" ] ].y;
|
||||
self.menu[ "X" ][ "Scroller" ].x = self.menutext[ self.curs[ "Main" ][ "X" ] ].x;
|
||||
self.menu[ "X" ][ "Scroller" ].y = self.menutext[ self.curs[ "Main" ][ "X" ] ].y;
|
||||
|
||||
if ( isDefined( self.MenuText ) )
|
||||
if ( isDefined( self.menutext ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuText.size; i++ )
|
||||
for ( i = 0; i < self.menutext.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuText[ i ] ) )
|
||||
if ( isDefined( self.menutext[ i ] ) )
|
||||
{
|
||||
self.MenuText[ i ].fontscale = 1.5;
|
||||
self.MenuText[ i ].color = ( 1, 1, 1 );
|
||||
self.MenuText[ i ].glowAlpha = 0;
|
||||
self.menutext[ i ].fontscale = 1.5;
|
||||
self.menutext[ i ].color = ( 1, 1, 1 );
|
||||
self.menutext[ i ].glowalpha = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -446,28 +446,28 @@ CursMove( direction )
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( self.MenuTextY ) )
|
||||
if ( isDefined( self.menutexty ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuTextY.size; i++ )
|
||||
for ( i = 0; i < self.menutexty.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuTextY[ i ] ) )
|
||||
if ( isDefined( self.menutexty[ i ] ) )
|
||||
{
|
||||
self.MenuTextY[ i ].fontscale = 1.5;
|
||||
self.MenuTextY[ i ].color = ( 1, 1, 1 );
|
||||
self.MenuTextY[ i ].glowAlpha = 0;
|
||||
self.menutexty[ i ].fontscale = 1.5;
|
||||
self.menutexty[ i ].color = ( 1, 1, 1 );
|
||||
self.menutexty[ i ].glowalpha = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.MenuText ) )
|
||||
if ( isDefined( self.menutext ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuText.size; i++ )
|
||||
for ( i = 0; i < self.menutext.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuText[ i ] ) )
|
||||
if ( isDefined( self.menutext[ i ] ) )
|
||||
{
|
||||
self.MenuText[ i ].fontscale = 1.5;
|
||||
self.MenuText[ i ].color = ( 1, 1, 1 );
|
||||
self.MenuText[ i ].glowAlpha = 0;
|
||||
self.menutext[ i ].fontscale = 1.5;
|
||||
self.menutext[ i ].color = ( 1, 1, 1 );
|
||||
self.menutext[ i ].glowalpha = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -485,7 +485,7 @@ ShowOptionOn( variable )
|
||||
|
||||
for ( time = 0;; time += 0.05 )
|
||||
{
|
||||
if ( !self isOnGround() && isAlive( self ) && gameFlag( "prematch_done" ) && !level.gameEnded )
|
||||
if ( !self isOnGround() && isAlive( self ) && gameFlag( "prematch_done" ) && !level.gameended )
|
||||
{
|
||||
self freezecontrols( false );
|
||||
}
|
||||
@ -498,12 +498,12 @@ ShowOptionOn( variable )
|
||||
self setClientDvar( "sc_blur", "15" );
|
||||
self addOptions();
|
||||
|
||||
if ( self.SubMenu == "Main" )
|
||||
if ( self.submenu == "Main" )
|
||||
{
|
||||
if ( isDefined( self.Curs[ self.SubMenu ][ variable ] ) && isDefined( self.MenuText ) && isDefined( self.MenuText[ self.Curs[ self.SubMenu ][ variable ] ] ) )
|
||||
if ( isDefined( self.curs[ self.submenu ][ variable ] ) && isDefined( self.menutext ) && isDefined( self.menutext[ self.curs[ self.submenu ][ variable ] ] ) )
|
||||
{
|
||||
self.MenuText[ self.Curs[ self.SubMenu ][ variable ] ].fontscale = 2.0;
|
||||
// self.MenuText[ self.Curs[ self.SubMenu ][ variable ] ].color = (randomInt(256)/255, randomInt(256)/255, randomInt(256)/255);
|
||||
self.menutext[ self.curs[ self.submenu ][ variable ] ].fontscale = 2.0;
|
||||
// self.menutext[ self.curs[ self.submenu ][ variable ] ].color = (randomInt(256)/255, randomInt(256)/255, randomInt(256)/255);
|
||||
color = ( 6 / 255, 69 / 255, 173 + randomIntRange( -5, 5 ) / 255 );
|
||||
|
||||
if ( int( time * 4 ) % 2 )
|
||||
@ -511,26 +511,26 @@ ShowOptionOn( variable )
|
||||
color = ( 11 / 255, 0 / 255, 128 + randomIntRange( -10, 10 ) / 255 );
|
||||
}
|
||||
|
||||
self.MenuText[ self.Curs[ self.SubMenu ][ variable ] ].color = color;
|
||||
self.menutext[ self.curs[ self.submenu ][ variable ] ].color = color;
|
||||
}
|
||||
|
||||
if ( isDefined( self.MenuText ) )
|
||||
if ( isDefined( self.menutext ) )
|
||||
{
|
||||
for ( i = 0; i < self.Option[ "Name" ][ self.SubMenu ].size; i++ )
|
||||
for ( i = 0; i < self.option[ "Name" ][ self.submenu ].size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuText[ i ] ) )
|
||||
if ( isDefined( self.menutext[ i ] ) )
|
||||
{
|
||||
self.MenuText[ i ] settext( self.Option[ "Name" ][ self.SubMenu ][ i ] );
|
||||
self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( self.Curs[ self.SubMenu ][ variable ] ) && isDefined( self.MenuTextY ) && isDefined( self.MenuTextY[ self.Curs[ self.SubMenu ][ variable ] ] ) )
|
||||
if ( isDefined( self.curs[ self.submenu ][ variable ] ) && isDefined( self.menutexty ) && isDefined( self.menutexty[ self.curs[ self.submenu ][ variable ] ] ) )
|
||||
{
|
||||
self.MenuTextY[ self.Curs[ self.SubMenu ][ variable ] ].fontscale = 2.0;
|
||||
// self.MenuTextY[ self.Curs[ self.SubMenu ][ variable ] ].color = (randomInt(256)/255, randomInt(256)/255, randomInt(256)/255);
|
||||
self.menutexty[ self.curs[ self.submenu ][ variable ] ].fontscale = 2.0;
|
||||
// self.menutexty[ self.curs[ self.submenu ][ variable ] ].color = (randomInt(256)/255, randomInt(256)/255, randomInt(256)/255);
|
||||
color = ( 6 / 255, 69 / 255, 173 + randomIntRange( -5, 5 ) / 255 );
|
||||
|
||||
if ( int( time * 4 ) % 2 )
|
||||
@ -538,16 +538,16 @@ ShowOptionOn( variable )
|
||||
color = ( 11 / 255, 0 / 255, 128 + randomIntRange( -10, 10 ) / 255 );
|
||||
}
|
||||
|
||||
self.MenuTextY[ self.Curs[ self.SubMenu ][ variable ] ].color = color;
|
||||
self.menutexty[ self.curs[ self.submenu ][ variable ] ].color = color;
|
||||
}
|
||||
|
||||
if ( isDefined( self.MenuTextY ) )
|
||||
if ( isDefined( self.menutexty ) )
|
||||
{
|
||||
for ( i = 0; i < self.Option[ "Name" ][ self.SubMenu ].size; i++ )
|
||||
for ( i = 0; i < self.option[ "Name" ][ self.submenu ].size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuTextY[ i ] ) )
|
||||
if ( isDefined( self.menutexty[ i ] ) )
|
||||
{
|
||||
self.MenuTextY[ i ] settext( self.Option[ "Name" ][ self.SubMenu ][ i ] );
|
||||
self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -559,33 +559,33 @@ ShowOptionOn( variable )
|
||||
|
||||
AddMenu( menu, num, text, function, arg1, arg2 )
|
||||
{
|
||||
self.Option[ "Name" ][ menu ][ num ] = text;
|
||||
self.Option[ "Function" ][ menu ][ num ] = function;
|
||||
self.Option[ "Arg1" ][ menu ][ num ] = arg1;
|
||||
self.Option[ "Arg2" ][ menu ][ num ] = arg2;
|
||||
self.option[ "Name" ][ menu ][ num ] = text;
|
||||
self.option[ "Function" ][ menu ][ num ] = function;
|
||||
self.option[ "Arg1" ][ menu ][ num ] = arg1;
|
||||
self.option[ "Arg2" ][ menu ][ num ] = arg2;
|
||||
}
|
||||
|
||||
AddBack( menu, back )
|
||||
{
|
||||
self.Menu[ "Back" ][ menu ] = back;
|
||||
self.menu[ "Back" ][ menu ] = back;
|
||||
}
|
||||
|
||||
ExitSub()
|
||||
{
|
||||
if ( isDefined( self.MenuTextY ) )
|
||||
if ( isDefined( self.menutexty ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuTextY.size; i++ )
|
||||
for ( i = 0; i < self.menutexty.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuTextY[ i ] ) )
|
||||
if ( isDefined( self.menutexty[ i ] ) )
|
||||
{
|
||||
self.MenuTextY[ i ] destroy();
|
||||
self.menutexty[ i ] destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.SubMenu = self.Menu[ "Back" ][ self.Submenu ];
|
||||
self.submenu = self.menu[ "Back" ][ self.submenu ];
|
||||
|
||||
if ( self.SubMenu == "Main" )
|
||||
if ( self.submenu == "Main" )
|
||||
{
|
||||
self CursMove( "X" );
|
||||
}
|
||||
@ -597,36 +597,36 @@ ExitSub()
|
||||
|
||||
ExitMenu()
|
||||
{
|
||||
if ( isDefined( self.MenuText ) )
|
||||
if ( isDefined( self.menutext ) )
|
||||
{
|
||||
for ( i = 0; i < self.MenuText.size; i++ )
|
||||
for ( i = 0; i < self.menutext.size; i++ )
|
||||
{
|
||||
if ( isDefined( self.MenuText[ i ] ) )
|
||||
if ( isDefined( self.menutext[ i ] ) )
|
||||
{
|
||||
self.MenuText[ i ] destroy();
|
||||
self.menutext[ i ] destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.Menu ) && isDefined( self.Menu[ "X" ] ) )
|
||||
if ( isDefined( self.menu ) && isDefined( self.menu[ "X" ] ) )
|
||||
{
|
||||
if ( isDefined( self.Menu[ "X" ][ "Shader" ] ) )
|
||||
if ( isDefined( self.menu[ "X" ][ "Shader" ] ) )
|
||||
{
|
||||
self.Menu[ "X" ][ "Shader" ] destroy();
|
||||
self.menu[ "X" ][ "Shader" ] destroy();
|
||||
}
|
||||
|
||||
if ( isDefined( self.Menu[ "X" ][ "Scroller" ] ) )
|
||||
if ( isDefined( self.menu[ "X" ][ "Scroller" ] ) )
|
||||
{
|
||||
self.Menu[ "X" ][ "Scroller" ] destroy();
|
||||
self.menu[ "X" ][ "Scroller" ] destroy();
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.menuVersionHud ) )
|
||||
if ( isDefined( self.menuversionhud ) )
|
||||
{
|
||||
self.menuVersionHud destroy();
|
||||
self.menuversionhud destroy();
|
||||
}
|
||||
|
||||
self.MenuOpen = false;
|
||||
self.menuopen = false;
|
||||
self notify( "exit" );
|
||||
|
||||
self setClientDvar( "r_blur", "0" );
|
||||
@ -637,19 +637,19 @@ initHudElem( txt, xl, yl )
|
||||
{
|
||||
hud = NewClientHudElem( self );
|
||||
hud setText( txt );
|
||||
hud.alignX = "center";
|
||||
hud.alignY = "bottom";
|
||||
hud.horzAlign = "center";
|
||||
hud.vertAlign = "bottom";
|
||||
hud.alignx = "center";
|
||||
hud.aligny = "bottom";
|
||||
hud.horzalign = "center";
|
||||
hud.vertalign = "bottom";
|
||||
hud.x = xl;
|
||||
hud.y = yl;
|
||||
hud.foreground = true;
|
||||
hud.fontScale = 1;
|
||||
hud.fontscale = 1;
|
||||
hud.font = "objective";
|
||||
hud.alpha = 1;
|
||||
hud.glow = 0;
|
||||
hud.glowColor = ( 0, 0, 0 );
|
||||
hud.glowAlpha = 1;
|
||||
hud.glowcolor = ( 0, 0, 0 );
|
||||
hud.glowalpha = 1;
|
||||
hud.color = ( 1.0, 1.0, 1.0 );
|
||||
|
||||
return hud;
|
||||
@ -658,18 +658,18 @@ initHudElem( txt, xl, yl )
|
||||
createRectangle( align, relative, x, y, width, height, color, sort, alpha, shader )
|
||||
{
|
||||
barElemBG = newClientHudElem( self );
|
||||
barElemBG.elemType = "bar_";
|
||||
barElemBG.elemtype = "bar_";
|
||||
barElemBG.width = width;
|
||||
barElemBG.height = height;
|
||||
barElemBG.align = align;
|
||||
barElemBG.relative = relative;
|
||||
barElemBG.xOffset = 0;
|
||||
barElemBG.yOffset = 0;
|
||||
barElemBG.xoffset = 0;
|
||||
barElemBG.yoffset = 0;
|
||||
barElemBG.children = [];
|
||||
barElemBG.sort = sort;
|
||||
barElemBG.color = color;
|
||||
barElemBG.alpha = alpha;
|
||||
barElemBG setParent( level.uiParent );
|
||||
barElemBG setParent( level.uiparent );
|
||||
barElemBG setShader( shader, width, height );
|
||||
barElemBG.hidden = false;
|
||||
barElemBG setPoint( align, relative, x, y );
|
||||
|
@ -77,7 +77,7 @@ init()
|
||||
level.waypoints = [];
|
||||
}
|
||||
|
||||
level.waypointCount = 0;
|
||||
level.waypointcount = 0;
|
||||
|
||||
level waittill( "connected", player );
|
||||
player thread onPlayerSpawned();
|
||||
@ -99,8 +99,8 @@ StartDev()
|
||||
self endon( "disconnect" );
|
||||
self endon( "death" );
|
||||
|
||||
level.wpToLink = -1;
|
||||
level.autoLink = false;
|
||||
level.wptolink = -1;
|
||||
level.autolink = false;
|
||||
self.nearest = -1;
|
||||
|
||||
self takeAllWeapons();
|
||||
@ -239,7 +239,7 @@ clearWpLinks()
|
||||
return;
|
||||
}
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
level.waypoints[ i ].drawn_links = [];
|
||||
}
|
||||
@ -328,7 +328,7 @@ updateWaypointsStats()
|
||||
wait 0.05;
|
||||
intTimer += 50;
|
||||
|
||||
totalWpsHud setValue( level.waypointCount );
|
||||
totalWpsHud setValue( level.waypointcount );
|
||||
|
||||
closest = -1;
|
||||
myEye = self getEye();
|
||||
@ -341,7 +341,7 @@ updateWaypointsStats()
|
||||
clearWpLinks();
|
||||
}
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
if ( closest == -1 || closer( self.origin, level.waypoints[ i ].origin, level.waypoints[ closest ].origin ) )
|
||||
{
|
||||
@ -388,7 +388,7 @@ updateWaypointsStats()
|
||||
|
||||
type setText( buildTypeString( self.nearest ) );
|
||||
|
||||
wpToLink setValue( level.wpToLink );
|
||||
wpToLink setValue( level.wptolink );
|
||||
|
||||
infotext.x = infotext.x - 2;
|
||||
|
||||
@ -472,17 +472,17 @@ watchAutoLinkCommand()
|
||||
{
|
||||
self waittill( "[{+frag}]" );
|
||||
|
||||
if ( level.autoLink )
|
||||
if ( level.autolink )
|
||||
{
|
||||
self iPrintlnBold( "Auto link disabled" );
|
||||
level.autoLink = false;
|
||||
level.wpToLink = -1;
|
||||
level.autolink = false;
|
||||
level.wptolink = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
self iPrintlnBold( "Auto link enabled" );
|
||||
level.autoLink = true;
|
||||
level.wpToLink = self.nearest;
|
||||
level.autolink = true;
|
||||
level.wptolink = self.nearest;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -563,7 +563,7 @@ watchSaveWaypointsCommand()
|
||||
logprint( "\n\n" + mpnm + "()\n{\n/*" );
|
||||
logprint( "*/waypoints = [];\n/*" );
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
logprint( "*/waypoints[ " + i + " ] = spawnstruct();\n/*" );
|
||||
logprint( "*/waypoints[ " + i + " ].origin = " + level.waypoints[ i ].origin + ";\n/*" );
|
||||
@ -590,11 +590,11 @@ watchSaveWaypointsCommand()
|
||||
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
|
||||
|
||||
PrintLn( "********* Start Bot Warfare WPDump *********" );
|
||||
PrintLn( level.waypointCount );
|
||||
PrintLn( level.waypointcount );
|
||||
|
||||
BotBuiltinFileWrite( filename, level.waypointCount + "\n", "write" );
|
||||
BotBuiltinFileWrite( filename, level.waypointcount + "\n", "write" );
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
str = "";
|
||||
wp = level.waypoints[ i ];
|
||||
@ -654,17 +654,17 @@ LoadWaypoints()
|
||||
|
||||
checkForWarnings()
|
||||
{
|
||||
if ( level.waypointCount <= 0 )
|
||||
if ( level.waypointcount <= 0 )
|
||||
{
|
||||
self iprintln( "WARNING: waypointCount is " + level.waypointCount );
|
||||
self iprintln( "WARNING: waypointCount is " + level.waypointcount );
|
||||
}
|
||||
|
||||
if ( level.waypointCount != level.waypoints.size )
|
||||
if ( level.waypointcount != level.waypoints.size )
|
||||
{
|
||||
self iprintln( "WARNING: waypointCount is not " + level.waypoints.size );
|
||||
}
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
if ( !isDefined( level.waypoints[ i ] ) )
|
||||
{
|
||||
@ -719,9 +719,9 @@ checkForWarnings()
|
||||
|
||||
// check reachability, assume bidirectional graph
|
||||
|
||||
wpIdx = randomInt( level.waypointCount );
|
||||
wpIdx = randomInt( level.waypointcount );
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
if ( i % 5 == 0 )
|
||||
{
|
||||
@ -743,46 +743,46 @@ UnLinkWaypoint( nwp )
|
||||
{
|
||||
if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) )
|
||||
{
|
||||
self iprintln( "Waypoint Unlink Cancelled " + level.wpToLink );
|
||||
level.wpToLink = -1;
|
||||
self iprintln( "Waypoint Unlink Cancelled " + level.wptolink );
|
||||
level.wptolink = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if ( level.wpToLink == -1 || nwp == level.wpToLink )
|
||||
if ( level.wptolink == -1 || nwp == level.wptolink )
|
||||
{
|
||||
level.wpToLink = nwp;
|
||||
level.wptolink = nwp;
|
||||
self iprintln( "Waypoint Unlink Started " + nwp );
|
||||
return;
|
||||
}
|
||||
|
||||
level.waypoints[ nwp ].children = array_remove( level.waypoints[ nwp ].children, level.wpToLink );
|
||||
level.waypoints[ level.wpToLink ].children = array_remove( level.waypoints[ level.wpToLink ].children, nwp );
|
||||
level.waypoints[ nwp ].children = array_remove( level.waypoints[ nwp ].children, level.wptolink );
|
||||
level.waypoints[ level.wptolink ].children = array_remove( level.waypoints[ level.wptolink ].children, nwp );
|
||||
|
||||
self iprintln( "Waypoint " + nwp + " Broken to " + level.wpToLink );
|
||||
level.wpToLink = -1;
|
||||
self iprintln( "Waypoint " + nwp + " Broken to " + level.wptolink );
|
||||
level.wptolink = -1;
|
||||
}
|
||||
|
||||
LinkWaypoint( nwp )
|
||||
{
|
||||
if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) )
|
||||
{
|
||||
self iprintln( "Waypoint Link Cancelled " + level.wpToLink );
|
||||
level.wpToLink = -1;
|
||||
self iprintln( "Waypoint Link Cancelled " + level.wptolink );
|
||||
level.wptolink = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if ( level.wpToLink == -1 || nwp == level.wpToLink )
|
||||
if ( level.wptolink == -1 || nwp == level.wptolink )
|
||||
{
|
||||
level.wpToLink = nwp;
|
||||
level.wptolink = nwp;
|
||||
self iprintln( "Waypoint Link Started " + nwp );
|
||||
return;
|
||||
}
|
||||
|
||||
weGood = true;
|
||||
|
||||
for ( i = level.waypoints[ level.wpToLink ].children.size - 1; i >= 0; i-- )
|
||||
for ( i = level.waypoints[ level.wptolink ].children.size - 1; i >= 0; i-- )
|
||||
{
|
||||
child = level.waypoints[ level.wpToLink ].children[ i ];
|
||||
child = level.waypoints[ level.wptolink ].children[ i ];
|
||||
|
||||
if ( child == nwp )
|
||||
{
|
||||
@ -797,7 +797,7 @@ LinkWaypoint( nwp )
|
||||
{
|
||||
child = level.waypoints[ nwp ].children[ i ];
|
||||
|
||||
if ( child == level.wpToLink )
|
||||
if ( child == level.wptolink )
|
||||
{
|
||||
weGood = false;
|
||||
break;
|
||||
@ -807,16 +807,16 @@ LinkWaypoint( nwp )
|
||||
|
||||
if ( !weGood )
|
||||
{
|
||||
self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wpToLink + " already linked." );
|
||||
level.wpToLink = -1;
|
||||
self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wptolink + " already linked." );
|
||||
level.wptolink = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
level.waypoints[ level.wpToLink ].children[ level.waypoints[ level.wpToLink ].children.size ] = nwp;
|
||||
level.waypoints[ nwp ].children[ level.waypoints[ nwp ].children.size ] = level.wpToLink;
|
||||
level.waypoints[ level.wptolink ].children[ level.waypoints[ level.wptolink ].children.size ] = nwp;
|
||||
level.waypoints[ nwp ].children[ level.waypoints[ nwp ].children.size ] = level.wptolink;
|
||||
|
||||
self iprintln( "Waypoint " + nwp + " Linked to " + level.wpToLink );
|
||||
level.wpToLink = -1;
|
||||
self iprintln( "Waypoint " + nwp + " Linked to " + level.wptolink );
|
||||
level.wptolink = -1;
|
||||
}
|
||||
|
||||
DeleteWaypoint( nwp )
|
||||
@ -827,7 +827,7 @@ DeleteWaypoint( nwp )
|
||||
return;
|
||||
}
|
||||
|
||||
level.wpToLink = -1;
|
||||
level.wptolink = -1;
|
||||
|
||||
for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
|
||||
{
|
||||
@ -836,7 +836,7 @@ DeleteWaypoint( nwp )
|
||||
level.waypoints[ child ].children = array_remove( level.waypoints[ child ].children, nwp );
|
||||
}
|
||||
|
||||
for ( i = 0; i < level.waypointCount; i++ )
|
||||
for ( i = 0; i < level.waypointcount; i++ )
|
||||
{
|
||||
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
|
||||
{
|
||||
@ -847,11 +847,11 @@ DeleteWaypoint( nwp )
|
||||
}
|
||||
}
|
||||
|
||||
for ( entry = 0; entry < level.waypointCount; entry++ )
|
||||
for ( entry = 0; entry < level.waypointcount; entry++ )
|
||||
{
|
||||
if ( entry == nwp )
|
||||
{
|
||||
while ( entry < level.waypointCount - 1 )
|
||||
while ( entry < level.waypointcount - 1 )
|
||||
{
|
||||
level.waypoints[ entry ] = level.waypoints[ entry + 1 ];
|
||||
entry++;
|
||||
@ -862,74 +862,74 @@ DeleteWaypoint( nwp )
|
||||
}
|
||||
}
|
||||
|
||||
level.waypointCount--;
|
||||
level.waypointcount--;
|
||||
|
||||
self iprintln( "DelWp " + nwp );
|
||||
}
|
||||
|
||||
AddWaypoint()
|
||||
{
|
||||
level.waypoints[ level.waypointCount ] = spawnstruct();
|
||||
level.waypoints[ level.waypointcount ] = spawnstruct();
|
||||
|
||||
pos = self getOrigin();
|
||||
level.waypoints[ level.waypointCount ].origin = pos;
|
||||
level.waypoints[ level.waypointcount ].origin = pos;
|
||||
|
||||
if ( isDefined( self.javelinTargetPoint ) )
|
||||
if ( isDefined( self.javelintargetpoint ) )
|
||||
{
|
||||
level.waypoints[ level.waypointCount ].type = "javelin";
|
||||
level.waypoints[ level.waypointcount ].type = "javelin";
|
||||
}
|
||||
else if ( self AdsButtonPressed() )
|
||||
{
|
||||
level.waypoints[ level.waypointCount ].type = "climb";
|
||||
level.waypoints[ level.waypointcount ].type = "climb";
|
||||
}
|
||||
else if ( self AttackButtonPressed() && self UseButtonPressed() )
|
||||
{
|
||||
level.waypoints[ level.waypointCount ].type = "tube";
|
||||
level.waypoints[ level.waypointcount ].type = "tube";
|
||||
}
|
||||
else if ( self AttackButtonPressed() )
|
||||
{
|
||||
level.waypoints[ level.waypointCount ].type = "grenade";
|
||||
level.waypoints[ level.waypointcount ].type = "grenade";
|
||||
}
|
||||
else if ( self UseButtonPressed() )
|
||||
{
|
||||
level.waypoints[ level.waypointCount ].type = "claymore";
|
||||
level.waypoints[ level.waypointcount ].type = "claymore";
|
||||
}
|
||||
else
|
||||
{
|
||||
level.waypoints[ level.waypointCount ].type = self getStance();
|
||||
level.waypoints[ level.waypointcount ].type = self getStance();
|
||||
}
|
||||
|
||||
level.waypoints[ level.waypointCount ].angles = self getPlayerAngles();
|
||||
level.waypoints[ level.waypointcount ].angles = self getPlayerAngles();
|
||||
|
||||
level.waypoints[ level.waypointCount ].children = [];
|
||||
level.waypoints[ level.waypointcount ].children = [];
|
||||
|
||||
if ( level.waypoints[ level.waypointCount ].type == "javelin" )
|
||||
if ( level.waypoints[ level.waypointcount ].type == "javelin" )
|
||||
{
|
||||
level.waypoints[ level.waypointCount ].jav_point = self.javelinTargetPoint;
|
||||
level.waypoints[ level.waypointcount ].jav_point = self.javelintargetpoint;
|
||||
}
|
||||
|
||||
self iprintln( level.waypoints[ level.waypointCount ].type + " Waypoint " + level.waypointCount + " Added at " + pos );
|
||||
self iprintln( level.waypoints[ level.waypointcount ].type + " Waypoint " + level.waypointcount + " Added at " + pos );
|
||||
|
||||
if ( level.autoLink )
|
||||
if ( level.autolink )
|
||||
{
|
||||
if ( level.wpToLink == -1 )
|
||||
if ( level.wptolink == -1 )
|
||||
{
|
||||
level.wpToLink = level.waypointCount - 1;
|
||||
level.wptolink = level.waypointcount - 1;
|
||||
}
|
||||
|
||||
level.waypointCount++;
|
||||
self LinkWaypoint( level.waypointCount - 1 );
|
||||
level.waypointcount++;
|
||||
self LinkWaypoint( level.waypointcount - 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
level.waypointCount++;
|
||||
level.waypointcount++;
|
||||
}
|
||||
}
|
||||
|
||||
DeleteAllWaypoints()
|
||||
{
|
||||
level.waypoints = [];
|
||||
level.waypointCount = 0;
|
||||
level.waypointcount = 0;
|
||||
|
||||
self iprintln( "DelAllWps" );
|
||||
}
|
||||
@ -991,19 +991,19 @@ initHudElem( txt, xl, yl )
|
||||
{
|
||||
hud = NewClientHudElem( self );
|
||||
hud setText( txt );
|
||||
hud.alignX = "left";
|
||||
hud.alignY = "top";
|
||||
hud.horzAlign = "left";
|
||||
hud.vertAlign = "top";
|
||||
hud.alignx = "left";
|
||||
hud.aligny = "top";
|
||||
hud.horzalign = "left";
|
||||
hud.vertalign = "top";
|
||||
hud.x = xl;
|
||||
hud.y = yl;
|
||||
hud.foreground = true;
|
||||
hud.fontScale = 1;
|
||||
hud.fontscale = 1;
|
||||
hud.font = "objective";
|
||||
hud.alpha = 1;
|
||||
hud.glow = 0;
|
||||
hud.glowColor = ( 0, 0, 0 );
|
||||
hud.glowAlpha = 1;
|
||||
hud.glowcolor = ( 0, 0, 0 );
|
||||
hud.glowalpha = 1;
|
||||
hud.color = ( 1.0, 1.0, 1.0 );
|
||||
|
||||
self thread destroyOnDeath( hud );
|
||||
@ -1015,19 +1015,19 @@ initHudElem2()
|
||||
{
|
||||
infotext = NewHudElem();
|
||||
infotext setText( "^1[{+smoke}]-AddWp ^2[{+melee_zoom}]-LinkWp ^3[{+reload}]-UnLinkWp ^4[{+actionslot 3}]-DeleteWp ^5[{+actionslot 4}]-DelAllWps ^6[{+actionslot 5}]-LoadWPS ^7[{+actionslot 1}]-SaveWp" );
|
||||
infotext.alignX = "center";
|
||||
infotext.alignY = "bottom";
|
||||
infotext.horzAlign = "center";
|
||||
infotext.vertAlign = "bottom";
|
||||
infotext.alignx = "center";
|
||||
infotext.aligny = "bottom";
|
||||
infotext.horzalign = "center";
|
||||
infotext.vertalign = "bottom";
|
||||
infotext.x = -800;
|
||||
infotext.y = 25;
|
||||
infotext.foreground = true;
|
||||
infotext.fontScale = 1.35;
|
||||
infotext.fontscale = 1.35;
|
||||
infotext.font = "objective";
|
||||
infotext.alpha = 1;
|
||||
infotext.glow = 0;
|
||||
infotext.glowColor = ( 0, 0, 0 );
|
||||
infotext.glowAlpha = 1;
|
||||
infotext.glowcolor = ( 0, 0, 0 );
|
||||
infotext.glowalpha = 1;
|
||||
infotext.color = ( 1.0, 1.0, 1.0 );
|
||||
|
||||
self thread destroyOnDeath( infotext );
|
||||
@ -1038,10 +1038,10 @@ initHudElem2()
|
||||
initHudElem3()
|
||||
{
|
||||
bar = level createServerBar( ( 0.5, 0.5, 0.5 ), 1000, 25 );
|
||||
bar.alignX = "center";
|
||||
bar.alignY = "bottom";
|
||||
bar.horzAlign = "center";
|
||||
bar.vertAlign = "bottom";
|
||||
bar.alignx = "center";
|
||||
bar.aligny = "bottom";
|
||||
bar.horzalign = "center";
|
||||
bar.vertalign = "bottom";
|
||||
bar.y = 30;
|
||||
bar.foreground = true;
|
||||
|
||||
@ -1055,10 +1055,10 @@ initHudElem4()
|
||||
OptionsBG = NewClientHudElem( self );
|
||||
OptionsBG.x = 100;
|
||||
OptionsBG.y = 2;
|
||||
OptionsBG.alignX = "left";
|
||||
OptionsBG.alignY = "top";
|
||||
OptionsBG.horzAlign = "left";
|
||||
OptionsBG.vertAlign = "top";
|
||||
OptionsBG.alignx = "left";
|
||||
OptionsBG.aligny = "top";
|
||||
OptionsBG.horzalign = "left";
|
||||
OptionsBG.vertalign = "top";
|
||||
OptionsBG setshader( "black", 200, 60 );
|
||||
OptionsBG.alpha = 0.4;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user