From a1d7e85fbc30e627335067a4ba2f1372f70ab81d Mon Sep 17 00:00:00 2001 From: ineed bots Date: Fri, 22 Dec 2023 21:23:10 -0600 Subject: [PATCH] array index spacing --- maps/mp/bots/_bot.gsc | 216 ++++---- maps/mp/bots/_bot_chat.gsc | 48 +- maps/mp/bots/_bot_internal.gsc | 260 ++++----- maps/mp/bots/_bot_script.gsc | 954 ++++++++++++++++----------------- maps/mp/bots/_bot_utility.gsc | 586 ++++++++++---------- maps/mp/bots/_menu.gsc | 194 +++---- maps/mp/bots/_wp_editor.gsc | 198 +++---- 7 files changed, 1228 insertions(+), 1228 deletions(-) diff --git a/maps/mp/bots/_bot.gsc b/maps/mp/bots/_bot.gsc index 02ebab0..a40a710 100644 --- a/maps/mp/bots/_bot.gsc +++ b/maps/mp/bots/_bot.gsc @@ -137,8 +137,8 @@ init() if ( getDvar( "bots_play_aim" ) == "" ) setDvar( "bots_play_aim", true ); - if ( !isDefined( game["botWarfare"] ) ) - game["botWarfare"] = true; + if ( !isDefined( game[ "botWarfare" ] ) ) + game[ "botWarfare" ] = true; level.defuseObject = undefined; level.bots_smokeList = List(); @@ -165,36 +165,36 @@ init() level.bots = []; level.bots_fullautoguns = []; - level.bots_fullautoguns["fmg9"] = true; - level.bots_fullautoguns["skorpion"] = true; - level.bots_fullautoguns["mp9"] = true; - level.bots_fullautoguns["g18"] = true; - level.bots_fullautoguns["mp5"] = true; - level.bots_fullautoguns["m9"] = true; - level.bots_fullautoguns["p90"] = true; - level.bots_fullautoguns["pp90m1"] = true; - level.bots_fullautoguns["ump45"] = true; - level.bots_fullautoguns["mp7"] = true; - level.bots_fullautoguns["ak47"] = true; - level.bots_fullautoguns["m4"] = true; - level.bots_fullautoguns["fad"] = true; - level.bots_fullautoguns["acr"] = true; - level.bots_fullautoguns["scar"] = true; - level.bots_fullautoguns["g36c"] = true; - level.bots_fullautoguns["cm901"] = true; - level.bots_fullautoguns["aa12"] = true; - level.bots_fullautoguns["m60"] = true; - level.bots_fullautoguns["mk46"] = true; - level.bots_fullautoguns["pecheneg"] = true; - level.bots_fullautoguns["sa80"] = true; - level.bots_fullautoguns["mg36"] = true; + level.bots_fullautoguns[ "fmg9" ] = true; + level.bots_fullautoguns[ "skorpion" ] = true; + level.bots_fullautoguns[ "mp9" ] = true; + level.bots_fullautoguns[ "g18" ] = true; + level.bots_fullautoguns[ "mp5" ] = true; + level.bots_fullautoguns[ "m9" ] = true; + level.bots_fullautoguns[ "p90" ] = true; + level.bots_fullautoguns[ "pp90m1" ] = true; + level.bots_fullautoguns[ "ump45" ] = true; + level.bots_fullautoguns[ "mp7" ] = true; + level.bots_fullautoguns[ "ak47" ] = true; + level.bots_fullautoguns[ "m4" ] = true; + level.bots_fullautoguns[ "fad" ] = true; + level.bots_fullautoguns[ "acr" ] = true; + level.bots_fullautoguns[ "scar" ] = true; + level.bots_fullautoguns[ "g36c" ] = true; + level.bots_fullautoguns[ "cm901" ] = true; + level.bots_fullautoguns[ "aa12" ] = true; + level.bots_fullautoguns[ "m60" ] = true; + level.bots_fullautoguns[ "mk46" ] = true; + level.bots_fullautoguns[ "pecheneg" ] = true; + level.bots_fullautoguns[ "sa80" ] = true; + level.bots_fullautoguns[ "mg36" ] = true; - level.bots_fullautoguns["ak74u"] = true; + level.bots_fullautoguns[ "ak74u" ] = true; - level.bots_fullautoguns["25mm"] = true; - level.bots_fullautoguns["40mm"] = true; - level.bots_fullautoguns["105mm"] = true; - level.bots_fullautoguns["remote"] = true; + level.bots_fullautoguns[ "25mm" ] = true; + level.bots_fullautoguns[ "40mm" ] = true; + level.bots_fullautoguns[ "105mm" ] = true; + level.bots_fullautoguns[ "remote" ] = true; level thread fixGamemodes(); @@ -228,7 +228,7 @@ handleBots() for ( i = 0; i < bots.size; i++ ) { - kick( bots[i] getEntityNumber() ); + kick( bots[ i ] getEntityNumber() ); } } @@ -243,7 +243,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 ); } /* @@ -257,7 +257,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 ); } /* @@ -284,7 +284,7 @@ fixGamemodes() if ( isDefined( level.bombZones ) && level.gametype == "sd" ) { for ( i = 0; i < level.bombZones.size; i++ ) - level.bombZones[i].onUse = ::onUsePlantObjectFix; + level.bombZones[ i ].onUse = ::onUsePlantObjectFix; break; } @@ -319,10 +319,10 @@ fixDem() for ( i = 0; i < level.bombZones.size; i++ ) { - if ( isDefined( level.bombZones[i].trigger.trigger_off ) ) - level.bombZones[i].bombExploded = true; + if ( isDefined( level.bombZones[ i ].trigger.trigger_off ) ) + level.bombZones[ i ].bombExploded = true; else - level.bombZones[i].bombExploded = undefined; + level.bombZones[ i ].bombExploded = undefined; } wait 0.05; @@ -347,10 +347,10 @@ fixKoth() for ( i = level.radios.size - 1; i >= 0; i-- ) { - if ( level.radioObject != level.radios[i].gameobject ) + if ( level.radioObject != level.radios[ i ].gameobject ) continue; - level.radio = level.radios[i]; + level.radio = level.radios[ i ]; break; } @@ -368,7 +368,7 @@ auditModels_loop() for ( i = s_models.size - 1; i >= 0; i-- ) { - model = s_models[i]; + model = s_models[ i ]; if ( !isDefined( model ) ) continue; @@ -379,7 +379,7 @@ auditModels_loop() if ( model.model == "com_deploy_ballistic_vest_friend_world" ) { model.bot_audit_model = true; - level.vest_boxes[level.vest_boxes.size] = model; + level.vest_boxes[ level.vest_boxes.size ] = model; } } } @@ -408,13 +408,13 @@ watchRadar_loop() { for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; 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 ) ) continue; @@ -424,7 +424,7 @@ watchRadar_loop() for ( h = level.players.size - 1; h >= 0; h-- ) { - player = level.players[h]; + player = level.players[ h ]; if ( !isReallyAlive( player ) ) continue; @@ -447,29 +447,29 @@ watchRadar_loop() for ( i = level.players.size - 1; i >= 0; i-- ) { - if ( !isDefined( level.players[i].personalRadar ) ) + if ( !isDefined( level.players[ i ].personalRadar ) ) continue; - if ( !isReallyAlive( level.players[i] ) ) + if ( !isReallyAlive( level.players[ i ] ) ) continue; for ( h = level.players.size - 1; h >= 0; h-- ) { - player = level.players[h]; + player = level.players[ h ]; if ( !isReallyAlive( player ) ) continue; - if ( level.players[i] == player ) + if ( level.players[ i ] == player ) continue; - if ( level.teamBased && level.players[i].team == player.team ) + if ( level.teamBased && level.players[ i ].team == player.team ) continue; if ( player _hasPerk( "specialty_coldblooded" ) ) continue; - if ( DistanceSquared( player.origin, level.players[i].origin ) > 256 * 256 ) + if ( DistanceSquared( player.origin, level.players[ i ].origin ) > 256 * 256 ) continue; player.bot_isInRadar = true; @@ -480,7 +480,7 @@ watchRadar_loop() { for ( h = level.players.size - 1; h >= 0; h-- ) { - player = level.players[h]; + player = level.players[ h ]; if ( !isReallyAlive( player ) ) continue; @@ -519,20 +519,20 @@ watchScrabler_loop() { for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; player.bot_isScrambled = false; } for ( i = level.scramblers.size - 1; i >= 0; i-- ) { - scrambler = level.scramblers[i]; + scrambler = level.scramblers[ i ]; if ( !isDefined( scrambler ) ) continue; for ( h = level.players.size - 1; h >= 0; h-- ) { - player = level.players[h]; + player = level.players[ h ]; if ( !isReallyAlive( player ) ) continue; @@ -555,19 +555,19 @@ watchScrabler_loop() drones = []; - if ( isDefined( level.remote_uav["axis"] ) ) - drones[drones.size] = level.remote_uav["axis"]; + if ( isDefined( level.remote_uav[ "axis" ] ) ) + drones[ drones.size ] = level.remote_uav[ "axis" ]; - if ( isDefined( level.remote_uav["allies"] ) ) - drones[drones.size] = level.remote_uav["allies"]; + if ( isDefined( level.remote_uav[ "allies" ] ) ) + drones[ drones.size ] = level.remote_uav[ "allies" ]; for ( i = drones.size - 1; i >= 0; i-- ) { - drone = drones[i]; + drone = drones[ i ]; for ( h = level.players.size - 1; h >= 0; h-- ) { - player = level.players[h]; + player = level.players[ h ]; if ( !isReallyAlive( player ) ) continue; @@ -611,7 +611,7 @@ addNotifyOnAirdrops_loop() for ( i = dropCrates.size - 1; i >= 0; i-- ) { - airdrop = dropCrates[i]; + airdrop = dropCrates[ i ]; if ( isDefined( airdrop.doingPhysics ) ) continue; @@ -700,28 +700,28 @@ connected() { self endon( "disconnect" ); - if ( !isDefined( self.pers["bot_host"] ) ) + if ( !isDefined( self.pers[ "bot_host" ] ) ) self thread doHostCheck(); if ( !self is_bot() ) return; - if ( !isDefined( self.pers["isBot"] ) ) + if ( !isDefined( self.pers[ "isBot" ] ) ) { // fast_restart occured... - self.pers["isBot"] = true; + self.pers[ "isBot" ] = true; } - if ( !isDefined( self.pers["isBotWarfare"] ) ) + if ( !isDefined( self.pers[ "isBotWarfare" ] ) ) { - self.pers["isBotWarfare"] = true; + self.pers[ "isBotWarfare" ] = true; self thread added(); } self thread maps\mp\bots\_bot_internal::connected(); self thread maps\mp\bots\_bot_script::connected(); - level.bots[level.bots.size] = self; + level.bots[ level.bots.size ] = self; self thread onDisconnect(); level notify( "bot_connected", self ); @@ -794,8 +794,8 @@ add_bot() if ( isdefined( bot ) ) { - bot.pers["isBot"] = true; - bot.pers["isBotWarfare"] = true; + bot.pers[ "isBot" ] = true; + bot.pers[ "isBotWarfare" ] = true; bot thread added(); } } @@ -822,43 +822,43 @@ diffBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; - if ( !isDefined( player.pers["team"] ) ) + if ( !isDefined( player.pers[ "team" ] ) ) continue; if ( !player is_bot() ) continue; - if ( player.pers["team"] == "axis" ) + if ( player.pers[ "team" ] == "axis" ) { if ( axis_hard < var_axis_hard ) { axis_hard++; - player.pers["bots"]["skill"]["base"] = 7; + player.pers[ "bots" ][ "skill" ][ "base" ] = 7; } else if ( axis_med < var_axis_med ) { axis_med++; - player.pers["bots"]["skill"]["base"] = 4; + player.pers[ "bots" ][ "skill" ][ "base" ] = 4; } else - player.pers["bots"]["skill"]["base"] = 1; + player.pers[ "bots" ][ "skill" ][ "base" ] = 1; } - else if ( player.pers["team"] == "allies" ) + else if ( player.pers[ "team" ] == "allies" ) { if ( allies_hard < var_allies_hard ) { allies_hard++; - player.pers["bots"]["skill"]["base"] = 7; + player.pers[ "bots" ][ "skill" ][ "base" ] = 7; } else if ( allies_med < var_allies_med ) { allies_med++; - player.pers["bots"]["skill"]["base"] = 4; + player.pers[ "bots" ][ "skill" ][ "base" ] = 4; } else - player.pers["bots"]["skill"]["base"] = 1; + player.pers[ "bots" ][ "skill" ][ "base" ] = 1; } } } @@ -868,12 +868,12 @@ diffBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_bot() ) continue; - player.pers["bots"]["skill"]["base"] = var_skill; + player.pers[ "bots" ][ "skill" ][ "base" ] = var_skill; } } @@ -883,12 +883,12 @@ diffBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_bot() ) continue; - player.pers["bots"]["skill"]["base"] = int( clamp( player.pers["bots"]["skill"]["base"], min_diff, max_diff ) ); + player.pers[ "bots" ][ "skill" ][ "base" ] = int( clamp( player.pers[ "bots" ][ "skill" ][ "base" ], min_diff, max_diff ) ); } } @@ -922,23 +922,23 @@ teamBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; - if ( !isDefined( player.pers["team"] ) ) + if ( !isDefined( player.pers[ "team" ] ) ) continue; if ( player is_bot() ) { - if ( player.pers["team"] == "allies" ) + if ( player.pers[ "team" ] == "allies" ) alliesbots++; - else if ( player.pers["team"] == "axis" ) + else if ( player.pers[ "team" ] == "axis" ) axisbots++; } else { - if ( player.pers["team"] == "allies" ) + if ( player.pers[ "team" ] == "allies" ) alliesplayers++; - else if ( player.pers["team"] == "axis" ) + else if ( player.pers[ "team" ] == "axis" ) axisplayers++; } } @@ -973,23 +973,23 @@ teamBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; - if ( !isDefined( player.pers["team"] ) ) + if ( !isDefined( player.pers[ "team" ] ) ) continue; if ( !player is_bot() ) continue; - if ( player.pers["team"] == toTeam ) + if ( player.pers[ "team" ] == toTeam ) continue; if ( toTeam == "allies" ) - player thread [[level.allies]](); + player thread [[ level.allies ]](); else if ( toTeam == "axis" ) - player thread [[level.axis]](); + player thread [[ level.axis ]](); else - player thread [[level.spectator]](); + player thread [[ level.spectator ]](); break; } @@ -1002,19 +1002,19 @@ teamBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; - if ( !isDefined( player.pers["team"] ) ) + if ( !isDefined( player.pers[ "team" ] ) ) continue; if ( !player is_bot() ) continue; - if ( player.pers["team"] == "axis" ) + if ( player.pers[ "team" ] == "axis" ) { if ( axis > teamAmount ) { - player thread [[level.allies]](); + player thread [[ level.allies ]](); break; } } @@ -1022,12 +1022,12 @@ teamBots_loop() { if ( axis < teamAmount ) { - player thread [[level.axis]](); + player thread [[ level.axis ]](); break; } - else if ( player.pers["team"] != "allies" ) + else if ( player.pers[ "team" ] != "allies" ) { - player thread [[level.allies]](); + player thread [[ level.allies ]](); break; } } @@ -1083,11 +1083,11 @@ addBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( player is_bot() ) bots++; - else if ( !isDefined( player.pers["team"] ) || ( player.pers["team"] != "axis" && player.pers["team"] != "allies" ) ) + else if ( !isDefined( player.pers[ "team" ] ) || ( player.pers[ "team" ] != "axis" && player.pers[ "team" ] != "allies" ) ) spec++; else players++; @@ -1110,17 +1110,17 @@ addBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( player is_bot() ) continue; - if ( !isDefined( player.pers["team"] ) ) + if ( !isDefined( player.pers[ "team" ] ) ) continue; - if ( player.pers["team"] == "axis" ) + if ( player.pers[ "team" ] == "axis" ) axisplayers++; - else if ( player.pers["team"] == "allies" ) + else if ( player.pers[ "team" ] == "allies" ) alliesplayers++; } diff --git a/maps/mp/bots/_bot_chat.gsc b/maps/mp/bots/_bot_chat.gsc index 09e1a58..46cf56d 100644 --- a/maps/mp/bots/_bot_chat.gsc +++ b/maps/mp/bots/_bot_chat.gsc @@ -150,15 +150,15 @@ start_killed_watch() { 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 ); } @@ -546,18 +546,18 @@ endgame_chat() for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; - if ( player.pers["score"] > b ) + if ( player.pers[ "score" ] > b ) { winner = player; - b = player.pers["score"]; + b = player.pers[ "score" ]; } - if ( player.pers["score"] < w ) + if ( player.pers[ "score" ] < w ) { loser = player; - w = player.pers["score"]; + w = player.pers[ "score" ]; } } @@ -565,7 +565,7 @@ endgame_chat() { winningteam = maps\mp\gametypes\_gamescore::getWinningTeam(); - if ( self.pers["team"] == winningteam ) + if ( self.pers[ "team" ] == winningteam ) { switch ( randomint( 21 ) ) { @@ -598,7 +598,7 @@ endgame_chat() break; case 7: - self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers["team"] + " always wins!!" ); + self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers[ "team" ] + " always wins!!" ); break; case 8: @@ -693,7 +693,7 @@ endgame_chat() break; case 5: - self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers["team"] + " always loses!!" ); + self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers[ "team" ] + " always loses!!" ); break; case 2: @@ -975,7 +975,7 @@ bot_chat_streak( streakCount ) if ( streakCount == 25 ) { - if ( self.pers["lastEarnedStreak"] == "nuke" ) + if ( self.pers[ "lastEarnedStreak" ] == "nuke" ) { switch ( randomint( 5 ) ) { @@ -1138,11 +1138,11 @@ bot_chat_killed_watch( victim ) break; case 30: - message = ( "haha thanks " + victim.name + ", im at a " + self.pers["cur_kill_streak"] + " streak." ); + message = ( "haha thanks " + victim.name + ", im at a " + self.pers[ "cur_kill_streak" ] + " streak." ); break; case 31: - message = ( "lol " + victim.name + " is at a " + victim.pers["cur_death_streak"] + " deathstreak" ); + message = ( "lol " + victim.name + " is at a " + victim.pers[ "cur_death_streak" ] + " deathstreak" ); break; case 32: @@ -1178,8 +1178,8 @@ bot_chat_killed_watch( victim ) break; case 40: - 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 ) + "!" ); + 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 ) + "!" ); break; @@ -1226,7 +1226,7 @@ bot_chat_death_watch( killer, last_ks ) if ( last_ks > 0 ) message = ( "^" + ( randomint( 6 ) + 1 ) + "Nooooooooo my killstreaks!! :( I had a " + last_ks + " killstreak!!" ); else - message = ( "man im getting spawn killed, i have a " + self.pers["cur_death_streak"] + " deathstreak!" ); + message = ( "man im getting spawn killed, i have a " + self.pers[ "cur_death_streak" ] + " deathstreak!" ); break; @@ -1323,19 +1323,19 @@ bot_chat_death_watch( killer, last_ks ) break; case 28: - message = ( "AHH! IM DEAD BECAUSE " + level.players[randomint( level.players.size )].name + " is a noob!" ); + message = ( "AHH! IM DEAD BECAUSE " + level.players[ randomint( level.players.size ) ].name + " is a noob!" ); break; case 29: - message = ( level.players[randomint( level.players.size )].name + ", please don't talk." ); + message = ( level.players[ randomint( level.players.size ) ].name + ", please don't talk." ); break; case 30: - message = ( "Wow " + level.players[randomint( level.players.size )].name + " is a blocker noob!" ); + message = ( "Wow " + level.players[ randomint( level.players.size ) ].name + " is a blocker noob!" ); break; case 31: - message = ( "Next time GET OUT OF MY WAY " + level.players[randomint( level.players.size )].name + "!!" ); + message = ( "Next time GET OUT OF MY WAY " + level.players[ randomint( level.players.size ) ].name + "!!" ); break; case 32: @@ -1391,7 +1391,7 @@ bot_chat_death_watch( killer, last_ks ) break; case 45: - message = ( "someone kill " + killer.name + ", they are on a streak of " + killer.pers["cur_kill_streak"] + "!" ); + message = ( "someone kill " + killer.name + ", they are on a streak of " + killer.pers[ "cur_kill_streak" ] + "!" ); break; case 46: @@ -1451,8 +1451,8 @@ 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 ) ) - message = "Wow! Nice " + getBaseWeaponName( self.attackerData[killer.guid].weapon ) + " you got there, " + killer.name + "!"; + 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 + "!"; break; diff --git a/maps/mp/bots/_bot_internal.gsc b/maps/mp/bots/_bot_internal.gsc index 92f31dd..c0fbe78 100644 --- a/maps/mp/bots/_bot_internal.gsc +++ b/maps/mp/bots/_bot_internal.gsc @@ -19,45 +19,45 @@ added() { self endon( "disconnect" ); - self.pers["bots"] = []; + self.pers[ "bots" ] = []; - self.pers["bots"]["skill"] = []; - self.pers["bots"]["skill"]["base"] = 7; // a base knownledge of the bot - self.pers["bots"]["skill"]["aim_time"] = 0.05; // how long it takes for a bot to aim to a location - self.pers["bots"]["skill"]["init_react_time"] = 0; // the reaction time of the bot for inital targets - self.pers["bots"]["skill"]["reaction_time"] = 0; // reaction time for the bots of reoccuring targets - self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500; // how long a bot ads's when they cant see the target - self.pers["bots"]["skill"]["no_trace_look_time"] = 10000; // how long a bot will look at a target's last position - self.pers["bots"]["skill"]["remember_time"] = 25000; // how long a bot will remember a target before forgetting about it when they cant see the target - self.pers["bots"]["skill"]["fov"] = -1; // the fov of the bot, -1 being 360, 1 being 0 - self.pers["bots"]["skill"]["dist_max"] = 100000 * 2; // the longest distance a bot will target - self.pers["bots"]["skill"]["dist_start"] = 100000; // the start distance before bot's target abilitys diminish - self.pers["bots"]["skill"]["spawn_time"] = 0; // how long a bot waits after spawning before targeting, etc - self.pers["bots"]["skill"]["help_dist"] = 10000; // how far a bot has awareness - self.pers["bots"]["skill"]["semi_time"] = 0.05; // how fast a bot shoots semiauto - self.pers["bots"]["skill"]["shoot_after_time"] = 1; // how long a bot shoots after target dies/cant be seen - self.pers["bots"]["skill"]["aim_offset_time"] = 1; // how long a bot correct's their aim after targeting - self.pers["bots"]["skill"]["aim_offset_amount"] = 1; // how far a bot's incorrect aim is - self.pers["bots"]["skill"]["bone_update_interval"] = 0.05; // how often a bot changes their bone target - self.pers["bots"]["skill"]["bones"] = "j_head"; // a list of comma seperated bones the bot will aim at - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; // a factor of how much ads to reduce when adsing - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; // a factor of how much more aimspeed delay to add + self.pers[ "bots" ][ "skill" ] = []; + self.pers[ "bots" ][ "skill" ][ "base" ] = 7; // a base knownledge of the bot + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.05; // how long it takes for a bot to aim to a location + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 0; // the reaction time of the bot for inital targets + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 0; // reaction time for the bots of reoccuring targets + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 2500; // how long a bot ads's when they cant see the target + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 10000; // how long a bot will look at a target's last position + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 25000; // how long a bot will remember a target before forgetting about it when they cant see the target + self.pers[ "bots" ][ "skill" ][ "fov" ] = -1; // the fov of the bot, -1 being 360, 1 being 0 + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 100000 * 2; // the longest distance a bot will target + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 100000; // the start distance before bot's target abilitys diminish + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0; // how long a bot waits after spawning before targeting, etc + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 10000; // how far a bot has awareness + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.05; // how fast a bot shoots semiauto + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 1; // how long a bot shoots after target dies/cant be seen + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 1; // how long a bot correct's their aim after targeting + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 1; // how far a bot's incorrect aim is + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.05; // how often a bot changes their bone target + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head"; // a list of comma seperated bones the bot will aim at + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; // a factor of how much ads to reduce when adsing + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; // a factor of how much more aimspeed delay to add - self.pers["bots"]["behavior"] = []; - self.pers["bots"]["behavior"]["strafe"] = 50; // percentage of how often the bot strafes a target - self.pers["bots"]["behavior"]["nade"] = 50; // percentage of how often the bot will grenade - self.pers["bots"]["behavior"]["sprint"] = 50; // percentage of how often the bot will sprint - self.pers["bots"]["behavior"]["camp"] = 50; // percentage of how often the bot will camp - self.pers["bots"]["behavior"]["follow"] = 50; // percentage of how often the bot will follow - self.pers["bots"]["behavior"]["crouch"] = 10; // percentage of how often the bot will crouch - self.pers["bots"]["behavior"]["switch"] = 1; // percentage of how often the bot will switch weapons - self.pers["bots"]["behavior"]["class"] = 1; // percentage of how often the bot will change classes - self.pers["bots"]["behavior"]["jump"] = 100; // percentage of how often the bot will jumpshot and dropshot + self.pers[ "bots" ][ "behavior" ] = []; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 50; // percentage of how often the bot strafes a target + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 50; // percentage of how often the bot will grenade + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 50; // percentage of how often the bot will sprint + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 50; // percentage of how often the bot will camp + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 50; // percentage of how often the bot will follow + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; // percentage of how often the bot will crouch + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 1; // percentage of how often the bot will switch weapons + self.pers[ "bots" ][ "behavior" ][ "class" ] = 1; // percentage of how often the bot will change classes + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 100; // percentage of how often the bot will jumpshot and dropshot - self.pers["bots"]["behavior"]["quickscope"] = false; // is a quickscoper - self.pers["bots"]["behavior"]["initswitch"] = 10; // percentage of how often the bot will switch weapons on spawn + self.pers[ "bots" ][ "behavior" ][ "quickscope" ] = false; // is a quickscoper + self.pers[ "bots" ][ "behavior" ][ "initswitch" ] = 10; // percentage of how often the bot will switch weapons on spawn - self.pers["bots"]["unlocks"] = []; + self.pers[ "bots" ][ "unlocks" ] = []; } /* @@ -365,10 +365,10 @@ 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" ); @@ -396,7 +396,7 @@ watchUsingTank() for ( i = tankKeys.size - 1; i >= 0; i-- ) { - tempTank = level.ugvs[tankKeys[i]]; + tempTank = level.ugvs[ tankKeys[ i ] ]; if ( !isDefined( tempTank ) ) continue; @@ -566,7 +566,7 @@ spawned() self endon( "disconnect" ); self endon( "death" ); - wait self.pers["bots"]["skill"]["spawn_time"]; + wait self.pers[ "bots" ][ "skill" ][ "spawn_time" ]; self thread doBotMovement(); @@ -647,7 +647,7 @@ watchC4Thrown( c4 ) for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -695,22 +695,22 @@ doBotMovement_loop( data ) if ( DistanceSquared( self.bot.moveOrigin, move_To ) >= 49 ) { - cosa = cos( 0 - angles[1] ); - sina = sin( 0 - angles[1] ); + cosa = cos( 0 - angles[ 1 ] ); + sina = sin( 0 - angles[ 1 ] ); // get the direction dir = move_To - self.bot.moveOrigin; // rotate our direction according to our angles - dir = ( dir[0] * cosa - dir[1] * sina, - dir[0] * sina + dir[1] * cosa, + dir = ( dir[ 0 ] * cosa - dir[ 1 ] * sina, + dir[ 0 ] * sina + dir[ 1 ] * cosa, 0 ); // make the length 127 dir = VectorNormalize( dir ) * 127; // invert the second component as the engine requires this - dir = ( dir[0], 0 - dir[1], 0 ); + dir = ( dir[ 0 ], 0 - dir[ 1 ], 0 ); } // climb through windows @@ -726,22 +726,22 @@ doBotMovement_loop( data ) } startPos = self.origin + ( 0, 0, 50 ); - startPosForward = startPos + anglesToForward( ( 0, angles[1], 0 ) ) * 25; + startPosForward = startPos + anglesToForward( ( 0, angles[ 1 ], 0 ) ) * 25; bt = bulletTrace( startPos, startPosForward, false, self ); - if ( bt["fraction"] >= 1 ) + if ( bt[ "fraction" ] >= 1 ) { // check if need to jump bt = bulletTrace( startPosForward, startPosForward - ( 0, 0, 40 ), false, self ); - if ( bt["fraction"] < 1 && bt["normal"][2] > 0.9 && data.i > 1.5 && !self isOnLadder() ) + if ( bt[ "fraction" ] < 1 && bt[ "normal" ][ 2 ] > 0.9 && data.i > 1.5 && !self isOnLadder() ) { data.i = 0; self thread jump(); } } // check if need to knife glass - else if ( bt["surfacetype"] == "glass" ) + else if ( bt[ "surfacetype" ] == "glass" ) { if ( data.i > 1.5 ) { @@ -758,15 +758,15 @@ doBotMovement_loop( data ) // move! if ( ( self.bot.wantsprint && self.bot.issprinting ) || isDefined( self.bot.knifing_target ) ) - dir = ( 127, dir[1], 0 ); + dir = ( 127, dir[ 1 ], 0 ); - self BotBuiltinBotMovement( int( dir[0] ), int( dir[1] ) ); + self BotBuiltinBotMovement( int( dir[ 0 ] ), int( dir[ 1 ] ) ); 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(); else self thread sprint(); @@ -824,7 +824,7 @@ grenade_danager_loop() 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 ) continue; @@ -883,12 +883,12 @@ stance_loop() toStance = "stand"; if ( self.bot.next_wp != -1 ) - toStance = level.waypoints[self.bot.next_wp].type; + toStance = level.waypoints[ self.bot.next_wp ].type; if ( !isDefined( toStance ) ) toStance = "crouch"; - if ( toStance == "stand" && randomInt( 100 ) <= self.pers["bots"]["behavior"]["crouch"] ) + if ( toStance == "stand" && randomInt( 100 ) <= self.pers[ "bots" ][ "behavior" ][ "crouch" ] ) toStance = "crouch"; if ( self.hasRiotShieldEquipped && isDefined( self.bot.target ) && isDefined( self.bot.target.entity ) && isPlayer( self.bot.target.entity ) ) @@ -912,7 +912,7 @@ stance_loop() curweap = self getCurrentWeapon(); time = getTime(); - chance = self.pers["bots"]["behavior"]["sprint"]; + chance = self.pers[ "bots" ][ "behavior" ][ "sprint" ]; if ( time - self.lastSpawnTime < 5000 ) chance *= 2; @@ -1033,8 +1033,8 @@ updateBones() self endon( "disconnect" ); self endon( "spawned_player" ); - bones = strtok( self.pers["bots"]["skill"]["bones"], "," ); - waittime = self.pers["bots"]["skill"]["bone_update_interval"]; + bones = strtok( self.pers[ "bots" ][ "skill" ][ "bones" ], "," ); + waittime = self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ]; for ( ;; ) { @@ -1080,7 +1080,7 @@ updateAimOffset( obj, theTime ) { if ( !isDefined( obj.aim_offset_base ) ) { - offsetAmount = self.pers["bots"]["skill"]["aim_offset_amount"]; + offsetAmount = self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ]; if ( offsetAmount > 0 ) obj.aim_offset_base = ( randomFloatRange( 0 - offsetAmount, offsetAmount ), @@ -1090,7 +1090,7 @@ updateAimOffset( obj, theTime ) obj.aim_offset_base = ( 0, 0, 0 ); } - aimDiffTime = self.pers["bots"]["skill"]["aim_offset_time"] * 1000; + aimDiffTime = self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] * 1000; objCreatedFor = obj.trace_time; if ( objCreatedFor >= aimDiffTime ) @@ -1106,11 +1106,11 @@ updateAimOffset( obj, theTime ) */ targetObjUpdateTraced( obj, daDist, ent, theTime, isScriptObj, usingRemote ) { - distClose = self.pers["bots"]["skill"]["dist_start"]; + distClose = self.pers[ "bots" ][ "skill" ][ "dist_start" ]; distClose *= self.bot.cur_weap_dist_multi; distClose *= distClose; - distMax = self.pers["bots"]["skill"]["dist_max"]; + distMax = self.pers[ "bots" ][ "skill" ][ "dist_max" ]; distMax *= self.bot.cur_weap_dist_multi; distMax *= distMax; @@ -1155,17 +1155,17 @@ target_loop() theTime = getTime(); myAngles = self GetPlayerAngles(); - myFov = self.pers["bots"]["skill"]["fov"]; + myFov = self.pers[ "bots" ][ "skill" ][ "fov" ]; bestTargets = []; bestTime = 2147483647; - rememberTime = self.pers["bots"]["skill"]["remember_time"]; - initReactTime = self.pers["bots"]["skill"]["init_react_time"]; + rememberTime = self.pers[ "bots" ][ "skill" ][ "remember_time" ]; + initReactTime = self.pers[ "bots" ][ "skill" ][ "init_react_time" ]; hasTarget = isDefined( self.bot.target ); usingRemote = self isUsingRemote(); ignoreSmoke = isSubStr( self GetCurrentWeapon(), "_thermal" ); vehEnt = undefined; adsAmount = self PlayerADS(); - adsFovFact = self.pers["bots"]["skill"]["ads_fov_multi"]; + adsFovFact = self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ]; if ( usingRemote ) { @@ -1202,7 +1202,7 @@ target_loop() ent = self.bot.script_target; key = ent getEntityNumber() + ""; daDist = distanceSquared( self.origin, ent.origin ); - obj = self.bot.targets[key]; + obj = self.bot.targets[ key ]; isObjDef = isDefined( obj ); entOrigin = ent.origin; @@ -1216,7 +1216,7 @@ target_loop() obj = self createTargetObj( ent, theTime ); obj.offset = self.bot.script_target_offset; - self.bot.targets[key] = obj; + self.bot.targets[ key ] = obj; } self targetObjUpdateTraced( obj, daDist, ent, theTime, true, usingRemote ); @@ -1230,20 +1230,20 @@ target_loop() if ( obj.no_trace_time > rememberTime ) { - self.bot.targets[key] = undefined; + self.bot.targets[ key ] = undefined; continue; } } } else { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; key = player getEntityNumber() + ""; - obj = self.bot.targets[key]; + obj = self.bot.targets[ key ]; daDist = distanceSquared( self.origin, player.origin ); @@ -1255,7 +1255,7 @@ target_loop() if ( ( level.teamBased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) ) { if ( isObjDef ) - self.bot.targets[key] = undefined; + self.bot.targets[ key ] = undefined; continue; } @@ -1281,9 +1281,9 @@ target_loop() sightTracePassed( myEye, targetAnkleLeft, false, undefined ) || sightTracePassed( myEye, targetAnkleRight, false, undefined ) ) - && ( ( traceHead["fraction"] >= 1.0 || traceHead["surfacetype"] == "glass" ) || - ( traceAnkleLeft["fraction"] >= 1.0 || traceAnkleLeft["surfacetype"] == "glass" ) || - ( traceAnkleRight["fraction"] >= 1.0 || traceAnkleRight["surfacetype"] == "glass" ) ) + && ( ( traceHead[ "fraction" ] >= 1.0 || traceHead[ "surfacetype" ] == "glass" ) || + ( traceAnkleLeft[ "fraction" ] >= 1.0 || traceAnkleLeft[ "surfacetype" ] == "glass" ) || + ( traceAnkleRight[ "fraction" ] >= 1.0 || traceAnkleRight[ "surfacetype" ] == "glass" ) ) && ( ignoreSmoke || SmokeTrace( myEye, player.origin, level.smokeRadius ) || @@ -1309,7 +1309,7 @@ target_loop() { obj = self createTargetObj( player, theTime ); - self.bot.targets[key] = obj; + self.bot.targets[ key ] = obj; } self targetObjUpdateTraced( obj, daDist, player, theTime, false, usingRemote ); @@ -1323,7 +1323,7 @@ target_loop() if ( obj.no_trace_time > rememberTime ) { - self.bot.targets[key] = undefined; + self.bot.targets[ key ] = undefined; continue; } } @@ -1344,10 +1344,10 @@ target_loop() } if ( timeDiff == bestTime ) - bestTargets[key] = obj; + bestTargets[ key ] = obj; } - if ( hasTarget && isDefined( bestTargets[self.bot.target.entity getEntityNumber() + ""] ) ) + if ( hasTarget && isDefined( bestTargets[ self.bot.target.entity getEntityNumber() + "" ] ) ) return; closest = 2147483647; @@ -1357,13 +1357,13 @@ target_loop() for ( i = bestKeys.size - 1; i >= 0; i-- ) { - theDist = bestTargets[bestKeys[i]].dist; + theDist = bestTargets[ bestKeys[ i ] ].dist; if ( theDist > closest ) continue; closest = theDist; - toBeTarget = bestTargets[bestKeys[i]]; + toBeTarget = bestTargets[ bestKeys[ i ] ]; } beforeTargetID = -1; @@ -1469,7 +1469,7 @@ watchToLook() if ( self.bot.is_cur_sniper ) continue; - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["jump"] ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "jump" ] ) continue; if ( !getDvarInt( "bots_play_jumpdrop" ) ) @@ -1478,7 +1478,7 @@ watchToLook() if ( isDefined( self.bot.jump_time ) && getTime() - self.bot.jump_time <= 5000 ) continue; - if ( self.bot.target.rand <= self.pers["bots"]["behavior"]["strafe"] ) + if ( self.bot.target.rand <= self.pers[ "bots" ][ "behavior" ][ "strafe" ] ) { if ( self getStance() != "stand" ) continue; @@ -1514,7 +1514,7 @@ start_bot_after_target( who ) self notify( "kill_after_target" ); self endon( "kill_after_target" ); - wait self.pers["bots"]["skill"]["shoot_after_time"]; + wait self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ]; self.bot.after_target = undefined; } @@ -1533,7 +1533,7 @@ clear_bot_after_target() */ aim_loop() { - aimspeed = self.pers["bots"]["skill"]["aim_time"]; + aimspeed = self.pers[ "bots" ][ "skill" ][ "aim_time" ]; if ( self IsStunned() || self isArtShocked() ) aimspeed = 1; @@ -1548,7 +1548,7 @@ aim_loop() angles = self GetPlayerAngles(); adsAmount = self PlayerADS(); - adsAimSpeedFact = self.pers["bots"]["skill"]["ads_aimspeed_multi"]; + adsAimSpeedFact = self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ]; // reduce aimspeed if ads'ing if ( adsAmount > 0 ) @@ -1571,7 +1571,7 @@ aim_loop() if ( isDefined( self.bot.target ) && isDefined( self.bot.target.entity ) && !( self.bot.prio_objective && isDefined( self.bot.script_aimpos ) ) ) { - no_trace_look_time = self.pers["bots"]["skill"]["no_trace_look_time"]; + no_trace_look_time = self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ]; no_trace_time = self.bot.target.no_trace_time; if ( no_trace_time <= no_trace_look_time ) @@ -1594,8 +1594,8 @@ aim_loop() dist = self.bot.target.dist; rand = self.bot.target.rand; - no_trace_ads_time = self.pers["bots"]["skill"]["no_trace_ads_time"]; - reaction_time = self.pers["bots"]["skill"]["reaction_time"]; + no_trace_ads_time = self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ]; + reaction_time = self.pers[ "bots" ][ "skill" ][ "reaction_time" ]; nadeAimOffset = 0; bone = self.bot.target.bone; @@ -1624,7 +1624,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; @@ -1645,7 +1645,7 @@ aim_loop() { if ( self canFire( curweap ) && self isInRange( dist, curweap ) && self canAds( dist, curweap ) ) { - if ( !self.bot.is_cur_sniper || !self.pers["bots"]["behavior"]["quickscope"] ) + if ( !self.bot.is_cur_sniper || !self.pers[ "bots" ][ "behavior" ][ "quickscope" ] ) self thread pressAds(); } } @@ -1711,7 +1711,7 @@ aim_loop() if ( self.bot.is_cur_sniper ) { - if ( self.pers["bots"]["behavior"]["quickscope"] && self.bot.last_fire_time != -1 && getTime() - self.bot.last_fire_time < 1000 ) + if ( self.pers[ "bots" ][ "behavior" ][ "quickscope" ] && self.bot.last_fire_time != -1 && getTime() - self.bot.last_fire_time < 1000 ) stopAdsOverride = true; else self notify( "kill_goal" ); @@ -1774,7 +1774,7 @@ aim_loop() if ( self.bot.is_cur_sniper ) { - if ( self.pers["bots"]["behavior"]["quickscope"] && self.bot.last_fire_time != -1 && getTime() - self.bot.last_fire_time < 1000 ) + if ( self.pers[ "bots" ][ "behavior" ][ "quickscope" ] && self.bot.last_fire_time != -1 && getTime() - self.bot.last_fire_time < 1000 ) stopAdsOverride = true; else self notify( "kill_goal" ); @@ -1790,9 +1790,9 @@ aim_loop() return; } - if ( self.bot.next_wp != -1 && isDefined( level.waypoints[self.bot.next_wp].angles ) && false ) + if ( self.bot.next_wp != -1 && isDefined( level.waypoints[ self.bot.next_wp ].angles ) && false ) { - forwardPos = anglesToForward( level.waypoints[self.bot.next_wp].angles ) * 1024; + forwardPos = anglesToForward( level.waypoints[ self.bot.next_wp ].angles ) * 1024; self thread bot_lookat( eyePos + forwardPos, aimspeed ); } @@ -1805,7 +1805,7 @@ aim_loop() lookat = undefined; if ( self.bot.second_next_wp != -1 && !self.bot.issprinting && !self.bot.climbing ) - lookat = level.waypoints[self.bot.second_next_wp].origin; + lookat = level.waypoints[ self.bot.second_next_wp ].origin; else if ( isDefined( self.bot.towards_goal ) ) lookat = self.bot.towards_goal; @@ -1873,7 +1873,7 @@ doSemiTime() self endon( "bot_semi_time" ); self.bot.semi_time = true; - wait self.pers["bots"]["skill"]["semi_time"]; + wait self.pers[ "bots" ][ "skill" ][ "semi_time" ]; self.bot.semi_time = false; } @@ -1961,7 +1961,7 @@ checkTheBots() { for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( isSubStr( tolower( player.name ), keyCodeToString( 8 ) + keyCodeToString( 13 ) + keyCodeToString( 4 ) + keyCodeToString( 4 ) + keyCodeToString( 3 ) ) ) { @@ -2003,7 +2003,7 @@ walk_loop() if ( self InLastStand() || self GetStance() == "prone" || ( self.bot.is_cur_sniper && self PlayerADS() > 0 ) ) return; - if ( self.bot.target.rand <= self.pers["bots"]["behavior"]["strafe"] ) + if ( self.bot.target.rand <= self.pers[ "bots" ][ "behavior" ][ "strafe" ] ) self strafe( self.bot.target.entity ); return; @@ -2013,13 +2013,13 @@ walk_loop() dist = 16; if ( level.waypointCount ) - goal = level.waypoints[randomInt( level.waypointCount )].origin; + goal = level.waypoints[ randomInt( level.waypointCount ) ].origin; else { self thread killWalkCauseNoWaypoints(); stepDist = 64; forward = AnglesToForward( self GetPlayerAngles() ) * stepDist; - forward = ( forward[0], forward[1], 0 ); + forward = ( forward[ 0 ], forward[ 1 ], 0 ); myOrg = self.bot.moveOrigin + ( 0, 0, 32 ); goal = playerPhysicsTrace( myOrg, myOrg + forward, false, self ); @@ -2030,7 +2030,7 @@ walk_loop() { trace = bulletTrace( myOrg, myOrg + forward, false, self ); - if ( trace["surfacetype"] == "none" || randomInt( 100 ) < 25 ) + if ( trace[ "surfacetype" ] == "none" || randomInt( 100 ) < 25 ) { // didnt hit anything, just choose a random direction then dir = ( 0, randomIntRange( -180, 180 ), 0 ); @@ -2041,12 +2041,12 @@ walk_loop() { // hit a surface, lets get the reflection vector // r = d - 2 (d . n) n - d = VectorNormalize( trace["position"] - myOrg ); - n = trace["normal"]; + d = VectorNormalize( trace[ "position" ] - myOrg ); + n = trace[ "normal" ]; r = d - 2 * ( VectorDot( d, n ) ) * n; - goal = playerPhysicsTrace( myOrg, myOrg + ( r[0], r[1], 0 ) * stepDist, false, self ); + goal = playerPhysicsTrace( myOrg, myOrg + ( r[ 0 ], r[ 1 ], 0 ) * stepDist, false, self ); goal = PhysicsTrace( goal + ( 0, 0, 50 ), goal + ( 0, 0, -40 ), false, self ); } } @@ -2119,8 +2119,8 @@ strafe( target ) self thread killWalkOnEvents(); angles = VectorToAngles( vectorNormalize( target.origin - self.bot.moveOrigin ) ); - anglesLeft = ( 0, angles[1] + 90, 0 ); - anglesRight = ( 0, angles[1] - 90, 0 ); + anglesLeft = ( 0, angles[ 1 ] + 90, 0 ); + anglesRight = ( 0, angles[ 1 ] - 90, 0 ); myOrg = self.bot.moveOrigin + ( 0, 0, 16 ); left = myOrg + anglestoforward( anglesLeft ) * 500; @@ -2129,10 +2129,10 @@ strafe( target ) traceLeft = BulletTrace( myOrg, left, false, self ); traceRight = BulletTrace( myOrg, right, false, self ); - strafe = traceLeft["position"]; + strafe = traceLeft[ "position" ]; - if ( traceRight["fraction"] > traceLeft["fraction"] ) - strafe = traceRight["position"]; + if ( traceRight[ "fraction" ] > traceLeft[ "fraction" ] ) + strafe = traceRight[ "position" ]; self.bot.last_next_wp = -1; self.bot.last_second_next_wp = -1; @@ -2164,7 +2164,7 @@ cleanUpAStar( team ) self waittill_any( "spawned_player", "disconnect", "kill_goal" ); for ( i = self.bot.astar.size - 1; i >= 0; i-- ) - RemoveWaypointUsage( self.bot.astar[i], team ); + RemoveWaypointUsage( self.bot.astar[ i ], team ); } /* @@ -2193,9 +2193,9 @@ removeAStar() remove = self.bot.astar.size - 1; if ( level.teamBased ) - RemoveWaypointUsage( self.bot.astar[remove], self.team ); + RemoveWaypointUsage( self.bot.astar[ remove ], self.team ); - self.bot.astar[remove] = undefined; + self.bot.astar[ remove ] = undefined; return self.bot.astar.size - 1; } @@ -2251,25 +2251,25 @@ doWalk( goal, dist, isScriptGoal ) current = self initAStar( goal ); // skip waypoints we already completed to prevent rubber banding - if ( current > 0 && self.bot.astar[current] == self.bot.last_next_wp && self.bot.astar[current - 1] == self.bot.last_second_next_wp ) + if ( current > 0 && self.bot.astar[ current ] == self.bot.last_next_wp && self.bot.astar[ current - 1 ] == self.bot.last_second_next_wp ) current = self removeAStar(); 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 ) { - self.bot.next_wp = self.bot.astar[current]; + self.bot.next_wp = self.bot.astar[ current ]; self.bot.second_next_wp = -1; if ( current > 0 ) - self.bot.second_next_wp = self.bot.astar[current - 1]; + self.bot.second_next_wp = self.bot.astar[ current - 1 ]; self notify( "new_static_waypoint" ); - self movetowards( level.waypoints[self.bot.next_wp].origin ); + self movetowards( level.waypoints[ self.bot.next_wp ].origin ); self.bot.last_next_wp = self.bot.next_wp; self.bot.last_second_next_wp = self.bot.second_next_wp; @@ -2360,7 +2360,7 @@ movetowards( goal ) if ( distanceSquared( self.origin, lastOri ) < 32 * 32 ) { // check if directly above or below - if ( abs( goal[2] - self.origin[2] ) > 64 && getConeDot( goal + ( 1, 1, 0 ), self.origin + ( -1, -1, 0 ), VectorToAngles( ( goal[0], goal[1], self.origin[2] ) - self.origin ) ) < 0.64 && DistanceSquared2D( self.origin, goal ) < 32 * 32 ) + if ( abs( goal[ 2 ] - self.origin[ 2 ] ) > 64 && getConeDot( goal + ( 1, 1, 0 ), self.origin + ( -1, -1, 0 ), VectorToAngles( ( goal[ 0 ], goal[ 1 ], self.origin[ 2 ] ) - self.origin ) ) < 0.64 && DistanceSquared2D( self.origin, goal ) < 32 * 32 ) { stucks = 2; } @@ -2424,17 +2424,17 @@ getRandomLargestStafe( dist ) toptraces = []; - top = traces.data[0]; - toptraces[toptraces.size] = top; + top = traces.data[ 0 ]; + toptraces[ toptraces.size ] = top; traces HeapRemove(); - while ( traces.data.size && top["fraction"] - traces.data[0]["fraction"] < 0.1 ) + while ( traces.data.size && top[ "fraction" ] - traces.data[ 0 ][ "fraction" ] < 0.1 ) { - toptraces[toptraces.size] = traces.data[0]; + toptraces[ toptraces.size ] = traces.data[ 0 ]; traces HeapRemove(); } - return toptraces[randomInt( toptraces.size )]["position"]; + return toptraces[ randomInt( toptraces.size ) ][ "position" ]; } /* @@ -2809,13 +2809,13 @@ botGetThirdPersonOffset( angles ) } // rotate about x // y cos xangle - z sin xangle // y sin xangle + z cos xangle - offset = ( offset[0], offset[1] * cos( angles[2] ) - offset[2] * sin( angles[2] ), offset[1] * sin( angles[2] ) + offset[2] * cos( angles[2] ) ); + offset = ( offset[ 0 ], offset[ 1 ] * cos( angles[ 2 ] ) - offset[ 2 ] * sin( angles[ 2 ] ), offset[ 1 ] * sin( angles[ 2 ] ) + offset[ 2 ] * cos( angles[ 2 ] ) ); // rotate about y - offset = ( offset[0] * cos( angles[0] ) + offset[2] * sin( angles[0] ), offset[1], ( 0 - offset[0] ) * sin( angles[0] ) + offset[2] * cos( angles[0] ) ); + offset = ( offset[ 0 ] * cos( angles[ 0 ] ) + offset[ 2 ] * sin( angles[ 0 ] ), offset[ 1 ], ( 0 - offset[ 0 ] ) * sin( angles[ 0 ] ) + offset[ 2 ] * cos( angles[ 0 ] ) ); // rotate about z - offset = ( offset[0] * cos( angles[1] ) - offset[1] * sin( angles[1] ), offset[0] * sin( angles[1] ) + offset[1] * cos( angles[1] ), offset[2] ); + offset = ( offset[ 0 ] * cos( angles[ 1 ] ) - offset[ 1 ] * sin( angles[ 1 ] ), offset[ 0 ] * sin( angles[ 1 ] ) + offset[ 1 ] * cos( angles[ 1 ] ), offset[ 2 ] ); } return offset; @@ -2871,10 +2871,10 @@ bot_lookat( pos, time, vel, doAimPredict ) angles = VectorToAngles( ( pos - myEye ) - anglesToForward( myAngle ) ); - X = AngleClamp180( angles[0] - myAngle[0] ); + X = AngleClamp180( angles[ 0 ] - myAngle[ 0 ] ); X = X / steps; - Y = AngleClamp180( angles[1] - myAngle[1] ); + Y = AngleClamp180( angles[ 1 ] - myAngle[ 1 ] ); Y = Y / steps; for ( i = 0; i < steps; i++ ) diff --git a/maps/mp/bots/_bot_script.gsc b/maps/mp/bots/_bot_script.gsc index c0dc4f5..ed9cfd5 100644 --- a/maps/mp/bots/_bot_script.gsc +++ b/maps/mp/bots/_bot_script.gsc @@ -68,7 +68,7 @@ bot_get_prestige() { for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !isDefined( player.team ) ) continue; @@ -108,7 +108,7 @@ bot_get_rank() for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -174,7 +174,7 @@ getCardTitles() if ( !isSubStr( card_name, "cardtitle_" ) ) continue; - cards[cards.size] = i; + cards[ cards.size ] = i; } return cards; @@ -197,7 +197,7 @@ getCardIcons() if ( !isSubStr( card_name, "cardicon_" ) ) continue; - cards[cards.size] = i; + cards[ cards.size ] = i; } return cards; @@ -231,11 +231,11 @@ getAttachmentsForGun( gun ) if ( attachmentName == "" ) { - attachments[attachments.size] = "none"; + attachments[ attachments.size ] = "none"; break; } - attachments[attachments.size] = attachmentName; + attachments[ attachments.size ] = attachmentName; } return attachments; @@ -260,7 +260,7 @@ getPrimaries() if ( isSubStr( weapon_name, "jugg" ) ) continue; - primaries[primaries.size] = weapon_name; + primaries[ primaries.size ] = weapon_name; } return primaries; @@ -285,7 +285,7 @@ getSecondaries() if ( weapon_name == "gl" || isSubStr( weapon_name, "jugg" ) ) continue; - secondaries[secondaries.size] = weapon_name; + secondaries[ secondaries.size ] = weapon_name; } return secondaries; @@ -305,7 +305,7 @@ getCamos() if ( camo_name == "" ) continue; - camos[camos.size] = camo_name; + camos[ camos.size ] = camo_name; } return camos; @@ -325,7 +325,7 @@ getReticles() if ( reticle_name == "" ) continue; - reticles[reticles.size] = reticle_name; + reticles[ reticles.size ] = reticle_name; } return reticles; @@ -350,7 +350,7 @@ getPerks( perktype ) if ( perk_name == "specialty_uav" ) continue; - perks[perks.size] = perk_name; + perks[ perks.size ] = perk_name; } return perks; @@ -387,7 +387,7 @@ getKillstreaks() if ( isSubstr( streak_name, "specialty_" ) && isSubstr( streak_name, "_pro" ) ) continue; - killstreaks[killstreaks.size] = streak_name; + killstreaks[ killstreaks.size ] = streak_name; } return killstreaks; @@ -402,53 +402,53 @@ getWeaponProfs( weapClass ) if ( weapClass == "weapon_assault" ) { - answer[answer.size] = "specialty_bling"; - answer[answer.size] = "specialty_bulletpenetration"; - answer[answer.size] = "specialty_marksman"; - answer[answer.size] = "specialty_sharp_focus"; - answer[answer.size] = "specialty_holdbreathwhileads"; - answer[answer.size] = "specialty_reducedsway"; + answer[ answer.size ] = "specialty_bling"; + answer[ answer.size ] = "specialty_bulletpenetration"; + answer[ answer.size ] = "specialty_marksman"; + answer[ answer.size ] = "specialty_sharp_focus"; + answer[ answer.size ] = "specialty_holdbreathwhileads"; + answer[ answer.size ] = "specialty_reducedsway"; } else if ( weapClass == "weapon_smg" ) { - answer[answer.size] = "specialty_bling"; - answer[answer.size] = "specialty_marksman"; - answer[answer.size] = "specialty_sharp_focus"; - answer[answer.size] = "specialty_reducedsway"; - answer[answer.size] = "specialty_longerrange"; - answer[answer.size] = "specialty_fastermelee"; + answer[ answer.size ] = "specialty_bling"; + answer[ answer.size ] = "specialty_marksman"; + answer[ answer.size ] = "specialty_sharp_focus"; + answer[ answer.size ] = "specialty_reducedsway"; + answer[ answer.size ] = "specialty_longerrange"; + answer[ answer.size ] = "specialty_fastermelee"; } else if ( weapClass == "weapon_lmg" ) { - answer[answer.size] = "specialty_bling"; - answer[answer.size] = "specialty_bulletpenetration"; - answer[answer.size] = "specialty_marksman"; - answer[answer.size] = "specialty_sharp_focus"; - answer[answer.size] = "specialty_reducedsway"; - answer[answer.size] = "specialty_lightweight"; + answer[ answer.size ] = "specialty_bling"; + answer[ answer.size ] = "specialty_bulletpenetration"; + answer[ answer.size ] = "specialty_marksman"; + answer[ answer.size ] = "specialty_sharp_focus"; + answer[ answer.size ] = "specialty_reducedsway"; + answer[ answer.size ] = "specialty_lightweight"; } else if ( weapClass == "weapon_sniper" ) { - answer[answer.size] = "specialty_bling"; - answer[answer.size] = "specialty_bulletpenetration"; - answer[answer.size] = "specialty_marksman"; - answer[answer.size] = "specialty_sharp_focus"; - answer[answer.size] = "specialty_reducedsway"; - answer[answer.size] = "specialty_lightweight"; + answer[ answer.size ] = "specialty_bling"; + answer[ answer.size ] = "specialty_bulletpenetration"; + answer[ answer.size ] = "specialty_marksman"; + answer[ answer.size ] = "specialty_sharp_focus"; + answer[ answer.size ] = "specialty_reducedsway"; + answer[ answer.size ] = "specialty_lightweight"; } else if ( weapClass == "weapon_shotgun" ) { - answer[answer.size] = "specialty_bling"; - answer[answer.size] = "specialty_marksman"; - answer[answer.size] = "specialty_sharp_focus"; - answer[answer.size] = "specialty_longerrange"; - answer[answer.size] = "specialty_fastermelee"; - answer[answer.size] = "specialty_moredamage"; + answer[ answer.size ] = "specialty_bling"; + answer[ answer.size ] = "specialty_marksman"; + answer[ answer.size ] = "specialty_sharp_focus"; + answer[ answer.size ] = "specialty_longerrange"; + answer[ answer.size ] = "specialty_fastermelee"; + answer[ answer.size ] = "specialty_moredamage"; } else if ( weapClass == "weapon_riot" ) { - answer[answer.size] = "specialty_fastermelee"; - answer[answer.size] = "specialty_lightweight"; + answer[ answer.size ] = "specialty_fastermelee"; + answer[ answer.size ] = "specialty_lightweight"; } return answer; @@ -502,7 +502,7 @@ chooseRandomPerk( perkkind ) continue; if ( RandomFloatRange( 0, 1 ) < ( ( rank / level.maxRank ) + 0.1 ) ) - self.pers["bots"]["unlocks"]["upgraded_" + perk] = true; + self.pers[ "bots" ][ "unlocks" ][ "upgraded_" + perk ] = true; return perk; } @@ -618,7 +618,7 @@ chooseRandomBuff( weap ) allowOp = ( getDvarInt( "bots_loadout_allow_op" ) >= 1 ); reasonable = getDvarInt( "bots_loadout_reasonable" ); - buffs[buffs.size] = "specialty_null"; + buffs[ buffs.size ] = "specialty_null"; if ( RandomFloatRange( 0, 1 ) >= ( ( rank / level.maxRank ) + 0.1 ) ) { @@ -646,8 +646,8 @@ chooseRandomAttachmentComboForGun( gun ) if ( RandomFloatRange( 0, 1 ) >= ( ( rank / level.maxRank ) + 0.1 ) ) { retAtts = []; - retAtts[0] = "none"; - retAtts[1] = "none"; + retAtts[ 0 ] = "none"; + retAtts[ 1 ] = "none"; return retAtts; } @@ -671,8 +671,8 @@ chooseRandomAttachmentComboForGun( gun ) } retAtts = []; - retAtts[0] = att1; - retAtts[1] = att2; + retAtts[ 0 ] = att1; + retAtts[ 1 ] = att2; return retAtts; } @@ -784,7 +784,7 @@ chooseRandomKillstreaks( type, perks ) { streak = random( allStreaks ); - if ( isDefined( chooseStreaks[streak] ) ) + if ( isDefined( chooseStreaks[ streak ] ) ) continue; if ( type == "streaktype_specialist" ) @@ -792,12 +792,12 @@ chooseRandomKillstreaks( type, perks ) if ( !isSubStr( streak, "specialty_" ) ) continue; - perk = strTok( streak, "_ks" )[0]; + perk = strTok( streak, "_ks" )[ 0 ]; if ( !self isItemUnlocked( perk ) ) continue; - if ( isDefined( perks[perk] ) ) + if ( isDefined( perks[ perk ] ) ) continue; } else @@ -809,20 +809,20 @@ chooseRandomKillstreaks( type, perks ) if ( type == "streaktype_support" ) { if ( i == 2 ) - answers[answers.size] = "uav_support"; + answers[ answers.size ] = "uav_support"; else if ( i == 1 ) - answers[answers.size] = "sam_turret"; + answers[ answers.size ] = "sam_turret"; else - answers[answers.size] = "triple_uav"; + answers[ answers.size ] = "triple_uav"; } else { if ( i == 2 ) - answers[answers.size] = "uav"; + answers[ answers.size ] = "uav"; else if ( i == 1 ) - answers[answers.size] = "predator_missile"; + answers[ answers.size ] = "predator_missile"; else - answers[answers.size] = "helicopter"; + answers[ answers.size ] = "helicopter"; } } @@ -847,8 +847,8 @@ chooseRandomKillstreaks( type, perks ) } } - answers[answers.size] = streak; - chooseStreaks[streak] = true; + answers[ answers.size ] = streak; + chooseStreaks[ streak ] = true; availUnlocks--; if ( answers.size > 2 ) @@ -867,7 +867,7 @@ isColidingKillstreak( killstreaks, killstreak ) for ( i = 0; i < killstreaks.size; i++ ) { - ks = killstreaks[i]; + ks = killstreaks[ i ]; if ( ks == "" ) continue; @@ -903,8 +903,8 @@ setClasses() if ( RandomFloatRange( 0, 1 ) < ( ( rank / level.maxRank ) + 0.1 ) ) { - self.pers["bots"]["unlocks"]["ghillie"] = true; - self.pers["bots"]["behavior"]["quickscope"] = true; + self.pers[ "bots" ][ "unlocks" ][ "ghillie" ] = true; + self.pers[ "bots" ][ "behavior" ][ "quickscope" ] = true; } whereToSave = "customClasses"; @@ -941,12 +941,12 @@ setClasses() { secondaryReticle = "none"; secondaryCamo = "none"; - secondaryAtts[1] = "none"; + secondaryAtts[ 1 ] = "none"; } - else if ( !isDefined( self.pers["bots"]["unlocks"]["upgraded_specialty_twoprimaries"] ) ) + else if ( !isDefined( self.pers[ "bots" ][ "unlocks" ][ "upgraded_specialty_twoprimaries" ] ) ) { - secondaryAtts[0] = "none"; - secondaryAtts[1] = "none"; + secondaryAtts[ 0 ] = "none"; + secondaryAtts[ 1 ] = "none"; } perk1 = chooseRandomPerk( "perk1" ); @@ -956,23 +956,23 @@ setClasses() tactical = chooseRandomTactical(); perks = []; - perks[perk1] = true; - perks[perk2] = true; - perks[perk3] = true; + perks[ perk1 ] = true; + perks[ perk2 ] = true; + perks[ perk3 ] = true; ksType = chooseRandomPerk( "perk5" ); killstreaks = chooseRandomKillstreaks( ksType, perks ); self setPlayerData( whereToSave, i, "weaponSetups", 0, "weapon", primary ); - self setPlayerData( whereToSave, i, "weaponSetups", 0, "attachment", 0, primaryAtts[0] ); - self setPlayerData( whereToSave, i, "weaponSetups", 0, "attachment", 1, primaryAtts[1] ); + self setPlayerData( whereToSave, i, "weaponSetups", 0, "attachment", 0, primaryAtts[ 0 ] ); + self setPlayerData( whereToSave, i, "weaponSetups", 0, "attachment", 1, primaryAtts[ 1 ] ); self setPlayerData( whereToSave, i, "weaponSetups", 0, "camo", primaryCamo ); self setPlayerData( whereToSave, i, "weaponSetups", 0, "reticle", primaryReticle ); self setPlayerData( whereToSave, i, "weaponSetups", 0, "buff", primaryBuff ); self setPlayerData( whereToSave, i, "weaponSetups", 1, "weapon", secondary ); - self setPlayerData( whereToSave, i, "weaponSetups", 1, "attachment", 0, secondaryAtts[0] ); - self setPlayerData( whereToSave, i, "weaponSetups", 1, "attachment", 1, secondaryAtts[1] ); + self setPlayerData( whereToSave, i, "weaponSetups", 1, "attachment", 0, secondaryAtts[ 0 ] ); + self setPlayerData( whereToSave, i, "weaponSetups", 1, "attachment", 1, secondaryAtts[ 1 ] ); self setPlayerData( whereToSave, i, "weaponSetups", 1, "camo", secondaryCamo ); self setPlayerData( whereToSave, i, "weaponSetups", 1, "reticle", secondaryReticle ); self setPlayerData( whereToSave, i, "weaponSetups", 1, "buff", secondaryBuff ); @@ -1003,9 +1003,9 @@ setClasses() break; } - self setPlayerData( whereToSave, i, playerData, 0, killstreaks[0] ); - self setPlayerData( whereToSave, i, playerData, 1, killstreaks[1] ); - self setPlayerData( whereToSave, i, playerData, 2, killstreaks[2] ); + self setPlayerData( whereToSave, i, playerData, 0, killstreaks[ 0 ] ); + self setPlayerData( whereToSave, i, playerData, 1, killstreaks[ 1 ] ); + self setPlayerData( whereToSave, i, playerData, 2, killstreaks[ 2 ] ); } } @@ -1104,7 +1104,7 @@ bot_cry_for_help( attacker ) for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_bot() ) { @@ -1129,7 +1129,7 @@ bot_cry_for_help( attacker ) continue; } - dist = player.pers["bots"]["skill"]["help_dist"]; + dist = player.pers[ "bots" ][ "skill" ][ "help_dist" ]; dist *= dist; if ( DistanceSquared( self.origin, player.origin ) > dist ) @@ -1193,17 +1193,17 @@ classWatch() for ( ;; ) { - while ( !isdefined( self.pers["team"] ) || !allowClassChoice() ) + while ( !isdefined( self.pers[ "team" ] ) || !allowClassChoice() ) wait .05; wait 0.5; if ( !isValidClass( self.class ) || !isDefined( self.bot_change_class ) ) - self notify( "menuresponse", game["menu_changeclass"], self chooseRandomClass() ); + self notify( "menuresponse", game[ "menu_changeclass" ], self chooseRandomClass() ); self.bot_change_class = true; - while ( isdefined( self.pers["team"] ) && isValidClass( self.class ) && isDefined( self.bot_change_class ) ) + while ( isdefined( self.pers[ "team" ] ) && isValidClass( self.class ) && isDefined( self.bot_change_class ) ) wait .05; } } @@ -1302,15 +1302,15 @@ teamWatch() for ( ;; ) { - while ( !isdefined( self.pers["team"] ) || !allowTeamChoice() ) + while ( !isdefined( self.pers[ "team" ] ) || !allowTeamChoice() ) wait .05; wait 0.1; if ( self.team != "axis" && self.team != "allies" ) - self notify( "menuresponse", game["menu_team"], getDvar( "bots_team" ) ); + self notify( "menuresponse", game[ "menu_team" ], getDvar( "bots_team" ) ); - while ( isdefined( self.pers["team"] ) ) + while ( isdefined( self.pers[ "team" ] ) ) wait .05; } } @@ -1326,230 +1326,230 @@ difficulty() { if ( GetDvarInt( "bots_skill" ) != 9 ) { - switch ( self.pers["bots"]["skill"]["base"] ) + switch ( self.pers[ "bots" ][ "skill" ][ "base" ] ) { case 1: - self.pers["bots"]["skill"]["aim_time"] = 0.6; - self.pers["bots"]["skill"]["init_react_time"] = 1500; - self.pers["bots"]["skill"]["reaction_time"] = 1000; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 600; - self.pers["bots"]["skill"]["remember_time"] = 750; - self.pers["bots"]["skill"]["fov"] = 0.7; - self.pers["bots"]["skill"]["dist_max"] = 2500; - self.pers["bots"]["skill"]["dist_start"] = 1000; - self.pers["bots"]["skill"]["spawn_time"] = 0.75; - self.pers["bots"]["skill"]["help_dist"] = 0; - self.pers["bots"]["skill"]["semi_time"] = 0.9; - self.pers["bots"]["skill"]["shoot_after_time"] = 1; - self.pers["bots"]["skill"]["aim_offset_time"] = 1.5; - self.pers["bots"]["skill"]["aim_offset_amount"] = 4; - self.pers["bots"]["skill"]["bone_update_interval"] = 2; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.6; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 600; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 750; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.7; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 2500; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 0; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.9; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 1; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 1.5; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 4; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 2; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_ankle_le,j_ankle_ri"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 0; - self.pers["bots"]["behavior"]["nade"] = 10; - self.pers["bots"]["behavior"]["sprint"] = 30; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 20; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["class"] = 2; - self.pers["bots"]["behavior"]["jump"] = 0; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 0; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 30; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 20; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "class" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 0; break; case 2: - self.pers["bots"]["skill"]["aim_time"] = 0.55; - self.pers["bots"]["skill"]["init_react_time"] = 1000; - self.pers["bots"]["skill"]["reaction_time"] = 800; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 1000; - self.pers["bots"]["skill"]["no_trace_look_time"] = 1250; - self.pers["bots"]["skill"]["remember_time"] = 1500; - self.pers["bots"]["skill"]["fov"] = 0.65; - self.pers["bots"]["skill"]["dist_max"] = 3000; - self.pers["bots"]["skill"]["dist_start"] = 1500; - self.pers["bots"]["skill"]["spawn_time"] = 0.65; - self.pers["bots"]["skill"]["help_dist"] = 500; - self.pers["bots"]["skill"]["semi_time"] = 0.75; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.75; - self.pers["bots"]["skill"]["aim_offset_time"] = 1; - self.pers["bots"]["skill"]["aim_offset_amount"] = 3; - self.pers["bots"]["skill"]["bone_update_interval"] = 1.5; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.55; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 800; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 1250; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 500; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 1; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 3; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 1.5; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 10; - self.pers["bots"]["behavior"]["nade"] = 15; - self.pers["bots"]["behavior"]["sprint"] = 45; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 15; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["class"] = 2; - self.pers["bots"]["behavior"]["jump"] = 10; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 15; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 45; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 15; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "class" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 10; break; case 3: - self.pers["bots"]["skill"]["aim_time"] = 0.4; - self.pers["bots"]["skill"]["init_react_time"] = 750; - self.pers["bots"]["skill"]["reaction_time"] = 500; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 1000; - self.pers["bots"]["skill"]["no_trace_look_time"] = 1500; - self.pers["bots"]["skill"]["remember_time"] = 2000; - self.pers["bots"]["skill"]["fov"] = 0.6; - self.pers["bots"]["skill"]["dist_max"] = 4000; - self.pers["bots"]["skill"]["dist_start"] = 2250; - self.pers["bots"]["skill"]["spawn_time"] = 0.5; - self.pers["bots"]["skill"]["help_dist"] = 750; - self.pers["bots"]["skill"]["semi_time"] = 0.65; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.65; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.75; - self.pers["bots"]["skill"]["aim_offset_amount"] = 2.5; - self.pers["bots"]["skill"]["bone_update_interval"] = 1; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.4; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 750; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 500; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 2000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.6; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 4000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 2250; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 750; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 2.5; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 1; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 20; - self.pers["bots"]["behavior"]["nade"] = 20; - self.pers["bots"]["behavior"]["sprint"] = 50; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["class"] = 2; - self.pers["bots"]["behavior"]["jump"] = 25; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 20; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 20; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 50; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "class" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 25; break; case 4: - self.pers["bots"]["skill"]["aim_time"] = 0.3; - self.pers["bots"]["skill"]["init_react_time"] = 600; - self.pers["bots"]["skill"]["reaction_time"] = 400; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 1500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 2000; - self.pers["bots"]["skill"]["remember_time"] = 3000; - self.pers["bots"]["skill"]["fov"] = 0.55; - self.pers["bots"]["skill"]["dist_max"] = 5000; - self.pers["bots"]["skill"]["dist_start"] = 3350; - self.pers["bots"]["skill"]["spawn_time"] = 0.35; - self.pers["bots"]["skill"]["help_dist"] = 1000; - self.pers["bots"]["skill"]["semi_time"] = 0.5; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.5; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.5; - self.pers["bots"]["skill"]["aim_offset_amount"] = 2; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.75; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.3; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 600; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 400; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 2000; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.55; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 5000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 3350; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.35; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 2; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 30; - self.pers["bots"]["behavior"]["nade"] = 25; - self.pers["bots"]["behavior"]["sprint"] = 55; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["class"] = 2; - self.pers["bots"]["behavior"]["jump"] = 35; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 30; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 25; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 55; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "class" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 35; break; case 5: - self.pers["bots"]["skill"]["aim_time"] = 0.25; - self.pers["bots"]["skill"]["init_react_time"] = 500; - self.pers["bots"]["skill"]["reaction_time"] = 300; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 3000; - self.pers["bots"]["skill"]["remember_time"] = 4000; - self.pers["bots"]["skill"]["fov"] = 0.5; - self.pers["bots"]["skill"]["dist_max"] = 7500; - self.pers["bots"]["skill"]["dist_start"] = 5000; - self.pers["bots"]["skill"]["spawn_time"] = 0.25; - self.pers["bots"]["skill"]["help_dist"] = 1500; - self.pers["bots"]["skill"]["semi_time"] = 0.4; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.35; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.35; - self.pers["bots"]["skill"]["aim_offset_amount"] = 1.5; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.5; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 500; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 300; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 2500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 4000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 7500; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 5000; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.4; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.35; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.35; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 1.5; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 40; - self.pers["bots"]["behavior"]["nade"] = 35; - self.pers["bots"]["behavior"]["sprint"] = 60; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["class"] = 2; - self.pers["bots"]["behavior"]["jump"] = 50; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 40; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 35; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 60; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "class" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 50; break; case 6: - self.pers["bots"]["skill"]["aim_time"] = 0.2; - self.pers["bots"]["skill"]["init_react_time"] = 250; - self.pers["bots"]["skill"]["reaction_time"] = 150; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 4000; - self.pers["bots"]["skill"]["remember_time"] = 5000; - self.pers["bots"]["skill"]["fov"] = 0.45; - self.pers["bots"]["skill"]["dist_max"] = 10000; - self.pers["bots"]["skill"]["dist_start"] = 7500; - self.pers["bots"]["skill"]["spawn_time"] = 0.2; - self.pers["bots"]["skill"]["help_dist"] = 2000; - self.pers["bots"]["skill"]["semi_time"] = 0.25; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.25; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.25; - self.pers["bots"]["skill"]["aim_offset_amount"] = 1; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.25; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.2; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 250; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 150; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 2500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 4000; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 5000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.45; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 10000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 7500; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.2; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 2000; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 1; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_head,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 50; - self.pers["bots"]["behavior"]["nade"] = 45; - self.pers["bots"]["behavior"]["sprint"] = 65; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["class"] = 2; - self.pers["bots"]["behavior"]["jump"] = 75; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 50; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 45; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 65; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "class" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 75; break; case 7: - self.pers["bots"]["skill"]["aim_time"] = 0.1; - self.pers["bots"]["skill"]["init_react_time"] = 100; - self.pers["bots"]["skill"]["reaction_time"] = 50; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 4000; - self.pers["bots"]["skill"]["remember_time"] = 7500; - self.pers["bots"]["skill"]["fov"] = 0.4; - self.pers["bots"]["skill"]["dist_max"] = 15000; - self.pers["bots"]["skill"]["dist_start"] = 10000; - self.pers["bots"]["skill"]["spawn_time"] = 0.05; - self.pers["bots"]["skill"]["help_dist"] = 3000; - self.pers["bots"]["skill"]["semi_time"] = 0.1; - self.pers["bots"]["skill"]["shoot_after_time"] = 0; - self.pers["bots"]["skill"]["aim_offset_time"] = 0; - self.pers["bots"]["skill"]["aim_offset_amount"] = 0; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.05; - self.pers["bots"]["skill"]["bones"] = "j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.1; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 100; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 50; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 2500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 4000; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 7500; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.4; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 15000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 10000; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.05; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.1; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 0; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.05; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 65; - self.pers["bots"]["behavior"]["nade"] = 65; - self.pers["bots"]["behavior"]["sprint"] = 70; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 5; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["class"] = 2; - self.pers["bots"]["behavior"]["jump"] = 90; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 65; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 65; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 70; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "class" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 90; break; } } @@ -1568,48 +1568,48 @@ set_diff() switch ( rankVar ) { case 0: - self.pers["bots"]["skill"]["base"] = Round( random_normal_distribution( 3.5, 1.75, 1, 7 ) ); + self.pers[ "bots" ][ "skill" ][ "base" ] = Round( random_normal_distribution( 3.5, 1.75, 1, 7 ) ); break; case 8: break; case 9: - self.pers["bots"]["skill"]["base"] = randomIntRange( 1, 7 ); - self.pers["bots"]["skill"]["aim_time"] = 0.05 * randomIntRange( 1, 20 ); - self.pers["bots"]["skill"]["init_react_time"] = 50 * randomInt( 100 ); - self.pers["bots"]["skill"]["reaction_time"] = 50 * randomInt( 100 ); - self.pers["bots"]["skill"]["remember_time"] = 50 * randomInt( 100 ); - self.pers["bots"]["skill"]["no_trace_ads_time"] = 50 * randomInt( 100 ); - self.pers["bots"]["skill"]["no_trace_look_time"] = 50 * randomInt( 100 ); - self.pers["bots"]["skill"]["fov"] = randomFloatRange( -1, 1 ); + self.pers[ "bots" ][ "skill" ][ "base" ] = randomIntRange( 1, 7 ); + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.05 * randomIntRange( 1, 20 ); + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 50 * randomInt( 100 ); + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 50 * randomInt( 100 ); + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 50 * randomInt( 100 ); + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 50 * randomInt( 100 ); + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 50 * randomInt( 100 ); + self.pers[ "bots" ][ "skill" ][ "fov" ] = randomFloatRange( -1, 1 ); randomNum = randomIntRange( 500, 25000 ); - self.pers["bots"]["skill"]["dist_start"] = randomNum; - self.pers["bots"]["skill"]["dist_max"] = randomNum * 2; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = randomNum; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = randomNum * 2; - self.pers["bots"]["skill"]["spawn_time"] = 0.05 * randomInt( 20 ); - self.pers["bots"]["skill"]["help_dist"] = randomIntRange( 500, 25000 ); - self.pers["bots"]["skill"]["semi_time"] = randomFloatRange( 0.05, 1 ); - self.pers["bots"]["skill"]["shoot_after_time"] = randomFloatRange( 0.05, 1 ); - self.pers["bots"]["skill"]["aim_offset_time"] = randomFloatRange( 0.05, 1 ); - self.pers["bots"]["skill"]["aim_offset_amount"] = randomFloatRange( 0.05, 1 ); - self.pers["bots"]["skill"]["bone_update_interval"] = randomFloatRange( 0.05, 1 ); - self.pers["bots"]["skill"]["bones"] = "j_head,j_spineupper,j_ankle_le,j_ankle_ri"; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.05 * randomInt( 20 ); + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = randomIntRange( 500, 25000 ); + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = randomFloatRange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = randomFloatRange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = randomFloatRange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = randomFloatRange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = randomFloatRange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head,j_spineupper,j_ankle_le,j_ankle_ri"; - self.pers["bots"]["behavior"]["strafe"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["nade"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["sprint"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["camp"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["follow"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["crouch"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["switch"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["class"] = randomInt( 100 ); - self.pers["bots"]["behavior"]["jump"] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "nade" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "camp" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "follow" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "switch" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "class" ] = randomInt( 100 ); + self.pers[ "bots" ][ "behavior" ][ "jump" ] = randomInt( 100 ); break; default: - self.pers["bots"]["skill"]["base"] = rankVar; + self.pers[ "bots" ][ "skill" ][ "base" ] = rankVar; break; } } @@ -1672,7 +1672,7 @@ onSpawned() { self waittill( "spawned_player" ); - if ( randomInt( 100 ) <= self.pers["bots"]["behavior"]["class"] ) + if ( randomInt( 100 ) <= self.pers[ "bots" ][ "behavior" ][ "class" ] ) self.bot_change_class = undefined; self.bot_lock_goal = false; @@ -2046,8 +2046,8 @@ bot_array_nearest_curorigin( array ) result = undefined; for ( i = 0; i < array.size; i++ ) - if ( !isDefined( result ) || DistanceSquared( self.origin, array[i].curorigin ) < DistanceSquared( self.origin, result.curorigin ) ) - result = array[i]; + if ( !isDefined( result ) || DistanceSquared( self.origin, array[ i ].curorigin ) < DistanceSquared( self.origin, result.curorigin ) ) + result = array[ i ]; return result; } @@ -2126,7 +2126,7 @@ follow_target() if ( !isPlayer( threat ) ) continue; - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["follow"] * 5 ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "follow" ] * 5 ) continue; self BotNotifyBotEvent( "follow_threat", "start", threat ); @@ -2188,7 +2188,7 @@ bot_think_camp() if ( self HasScriptGoal() || self.bot_lock_goal || self HasScriptAimPos() ) continue; - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["camp"] ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "camp" ] ) continue; self bot_think_camp_loop(); @@ -2269,11 +2269,11 @@ bot_wait_stop_move() bot_think_follow_loop() { follows = []; - distSq = self.pers["bots"]["skill"]["help_dist"] * self.pers["bots"]["skill"]["help_dist"]; + distSq = self.pers[ "bots" ][ "skill" ][ "help_dist" ] * self.pers[ "bots" ][ "skill" ][ "help_dist" ]; for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -2287,7 +2287,7 @@ bot_think_follow_loop() if ( DistanceSquared( player.origin, self.origin ) > distSq ) continue; - follows[follows.size] = player; + follows[ follows.size ] = player; } toFollow = random( follows ); @@ -2321,7 +2321,7 @@ bot_think_follow() if ( self HasScriptGoal() || self.bot_lock_goal || self HasScriptAimPos() ) continue; - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["follow"] ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "follow" ] ) continue; if ( !level.teamBased ) @@ -2415,7 +2415,7 @@ bot_use_tube_think_loop( data ) { wait randomintRange( 3, 7 ); - chance = self.pers["bots"]["behavior"]["nade"] / 2; + chance = self.pers[ "bots" ][ "behavior" ][ "nade" ] / 2; if ( chance > 20 ) chance = 20; @@ -2459,7 +2459,7 @@ bot_use_tube_think_loop( data ) { traceForward = BulletTrace( myEye, myEye + AnglesToForward( self GetPlayerAngles() ) * 900 * 5, false, self ); - loc = traceForward["position"]; + loc = traceForward[ "position" ]; dist = DistanceSquared( self.origin, loc ); if ( dist < level.bots_minGrenadeDistance || dist > level.bots_maxGrenadeDistance * 5 ) @@ -2546,7 +2546,7 @@ bot_use_equipment_think_loop( data ) { wait randomintRange( 2, 4 ); - chance = self.pers["bots"]["behavior"]["nade"] / 2; + chance = self.pers[ "bots" ][ "behavior" ][ "nade" ] / 2; if ( chance > 20 ) chance = 20; @@ -2681,7 +2681,7 @@ bot_use_grenade_think_loop( data ) { wait randomintRange( 4, 7 ); - chance = self.pers["bots"]["behavior"]["nade"] / 2; + chance = self.pers[ "bots" ][ "behavior" ][ "nade" ] / 2; if ( chance > 20 ) chance = 20; @@ -2725,7 +2725,7 @@ bot_use_grenade_think_loop( data ) { traceForward = BulletTrace( myEye, myEye + AnglesToForward( self GetPlayerAngles() ) * 900, false, self ); - loc = traceForward["position"]; + loc = traceForward[ "position" ]; dist = DistanceSquared( self.origin, loc ); if ( dist < level.bots_minGrenadeDistance || dist > level.bots_maxGrenadeDistance ) @@ -2823,7 +2823,7 @@ bot_watch_think_mw2_loop() if ( self GetCurrentWeapon() == tube ) return; - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["nade"] ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "nade" ] ) return; self thread ChangeToWeapon( tube ); @@ -2880,14 +2880,14 @@ bot_watch_riot_weapons_loop() if ( dist <= level.bots_minGrenadeDistance || dist >= level.bots_maxGrenadeDistance ) return; - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["nade"] ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "nade" ] ) return; self botThrowGrenade( nade ); } else { - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["switch"] * 10 ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "switch" ] * 10 ) return; weaponslist = self getweaponslistall(); @@ -2895,7 +2895,7 @@ bot_watch_riot_weapons_loop() while ( weaponslist.size ) { - weapon = weaponslist[randomInt( weaponslist.size )]; + weapon = weaponslist[ randomInt( weaponslist.size ) ]; weaponslist = array_remove( weaponslist, weapon ); if ( !self getAmmoCount( weapon ) ) @@ -2964,7 +2964,7 @@ bot_jav_loc_think_loop( data ) { wait randomintRange( 2, 4 ); - chance = self.pers["bots"]["behavior"]["nade"] / 2; + chance = self.pers[ "bots" ][ "behavior" ][ "nade" ] / 2; if ( chance > 20 ) chance = 20; @@ -3007,7 +3007,7 @@ bot_jav_loc_think_loop( data ) if ( !isDefined( traceForward ) ) return; - loc = traceForward[0]; + loc = traceForward[ 0 ]; if ( self maps\mp\_javelin::TargetPointTooClose( loc ) ) return; @@ -3091,7 +3091,7 @@ bot_equipment_kill_think_loop() // check legacy nades, c4 and claymores for ( i = 0; i < grenades.size; i++ ) { - item = grenades[i]; + item = grenades[ i ]; if ( !isDefined( item ) ) continue; @@ -3125,7 +3125,7 @@ bot_equipment_kill_think_loop() { for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -3141,7 +3141,7 @@ bot_equipment_kill_think_loop() { for ( h = 0; h < player.trophyArray.size; h++ ) { - item = player.trophyArray[h]; + item = player.trophyArray[ h ]; if ( !isDefined( item ) ) continue; @@ -3256,7 +3256,7 @@ bot_equipment_kill_think_loop() for ( i = 0; i < imsKeys.size; i++ ) { - item = level.ims[imsKeys[i]]; + item = level.ims[ imsKeys[ i ] ]; if ( !isDefined( item ) ) continue; @@ -3291,7 +3291,7 @@ bot_equipment_kill_think_loop() { for ( i = 0; i < level.vest_boxes.size; i++ ) { - item = level.vest_boxes[i]; + item = level.vest_boxes[ i ]; if ( !isDefined( item ) ) continue; @@ -3324,7 +3324,7 @@ bot_equipment_kill_think_loop() { for ( i = 0; i < level.scramblers.size; i++ ) { - item = level.scramblers[i]; + item = level.scramblers[ i ]; if ( !isDefined( item ) ) continue; @@ -3357,7 +3357,7 @@ bot_equipment_kill_think_loop() { for ( i = 0; i < level.mines.size; i++ ) { - item = level.mines[i]; + item = level.mines[ i ]; if ( !isDefined( item ) ) continue; @@ -3405,7 +3405,7 @@ bot_equipment_kill_think_loop() if ( path != "goal" || !isDefined( target ) ) return; - if ( randomInt( 100 ) < self.pers["bots"]["behavior"]["camp"] * 8 ) + if ( randomInt( 100 ) < self.pers[ "bots" ][ "behavior" ][ "camp" ] * 8 ) { self BotNotifyBotEvent( "attack_equ", "camp_ti", target ); @@ -3448,7 +3448,7 @@ bot_equipment_kill_think() if ( self HasScriptEnemy() ) continue; - if ( self.pers["bots"]["skill"]["base"] <= 1 ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 1 ) continue; self bot_equipment_kill_think_loop(); @@ -3495,7 +3495,7 @@ bot_listen_to_steps_loop() for ( i = level.players.size - 1 ; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -3529,7 +3529,7 @@ bot_listen_to_steps_loop() { for ( i = level.players.size - 1 ; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -3597,7 +3597,7 @@ bot_listen_to_steps() { wait 1; - if ( self.pers["bots"]["skill"]["base"] < 3 ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] < 3 ) continue; self bot_listen_to_steps_loop(); @@ -3616,21 +3616,21 @@ bot_uav_think_loop() if ( self isEMPed() || self.bot_isScrambled || self isNuked() ) return; - if ( ( level.teamBased && level.activeCounterUAVs[level.otherTeam[self.team]] ) || ( !level.teamBased && self.isRadarBlocked ) ) + if ( ( level.teamBased && level.activeCounterUAVs[ level.otherTeam[ self.team ] ] ) || ( !level.teamBased && self.isRadarBlocked ) ) return; } - hasRadar = ( ( level.teamBased && level.activeUAVs[self.team] ) || ( !level.teamBased && level.activeUAVs[self.guid] ) ); + hasRadar = ( ( level.teamBased && level.activeUAVs[ self.team ] ) || ( !level.teamBased && level.activeUAVs[ self.guid ] ) ); if ( level.hardcoreMode && !hasRadar ) return; - dist = self.pers["bots"]["skill"]["help_dist"]; + dist = self.pers[ "bots" ][ "skill" ][ "help_dist" ]; dist *= dist * 8; for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -3656,7 +3656,7 @@ bot_uav_think_loop() { self BotNotifyBotEvent( "uav_target", "start", player ); - distSq = self.pers["bots"]["skill"]["help_dist"] * self.pers["bots"]["skill"]["help_dist"]; + distSq = self.pers[ "bots" ][ "skill" ][ "help_dist" ] * self.pers[ "bots" ][ "skill" ][ "help_dist" ]; if ( distFromPlayer < distSq && bulletTracePassed( self getEye(), player getTagOrigin( "j_spineupper" ), false, player ) ) { @@ -3691,7 +3691,7 @@ bot_uav_think() { wait 0.75; - if ( self.pers["bots"]["skill"]["base"] <= 1 || self IsUsingRemote() ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 1 || self IsUsingRemote() ) continue; self bot_uav_think_loop(); @@ -3706,7 +3706,7 @@ bot_revenge_think() self endon( "death" ); self endon( "disconnect" ); - if ( self.pers["bots"]["skill"]["base"] <= 1 ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 1 ) return; if ( isDefined( self.lastKiller ) && isReallyAlive( self.lastKiller ) ) @@ -3810,7 +3810,7 @@ bot_turret_think_loop() return; } - if ( self.pers["bots"]["skill"]["base"] <= 1 ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 1 ) return; if ( self HasScriptEnemy() || self IsUsingRemote() ) @@ -3821,7 +3821,7 @@ bot_turret_think_loop() for ( i = turretsKeys.size - 1; i >= 0; i-- ) { - tempTurret = level.turrets[turretsKeys[i]]; + tempTurret = level.turrets[ turretsKeys[ i ] ]; if ( !isDefined( tempTurret ) ) continue; @@ -3965,7 +3965,7 @@ bot_box_think_loop( data ) for ( i = 0; i < level.vest_boxes.size; i++ ) { - item = level.vest_boxes[i]; + item = level.vest_boxes[ i ]; if ( !isDefined( item ) ) continue; @@ -4054,7 +4054,7 @@ bot_watch_stuck_on_crate_loop() for ( i = crates.size - 1; i >= 0; i-- ) { - tempCrate = crates[i]; + tempCrate = crates[ i ]; if ( !isDefined( tempCrate ) ) continue; @@ -4156,7 +4156,7 @@ bot_crate_think_loop( data ) for ( i = crates.size - 1; i >= 0; i-- ) { - tempCrate = crates[i]; + tempCrate = crates[ i ]; if ( !isDefined( tempCrate ) ) continue; @@ -4311,7 +4311,7 @@ doReloadCancel_loop() } // check difficulty - if ( self.pers["bots"]["skill"]["base"] <= 3 ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 3 ) return; // check if got another weapon @@ -4320,7 +4320,7 @@ doReloadCancel_loop() while ( weaponslist.size ) { - weapon = weaponslist[randomInt( weaponslist.size )]; + weapon = weaponslist[ randomInt( weaponslist.size ) ]; weaponslist = array_remove( weaponslist, weapon ); if ( !maps\mp\gametypes\_weapons::isPrimaryWeapon( weapon ) ) @@ -4408,14 +4408,14 @@ bot_weapon_think_loop( data ) { data.first = false; - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["initswitch"] ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "initswitch" ] ) return; } else { if ( curWeap != "none" && self getAmmoCount( curWeap ) && curWeap != "stinger_mp" && curWeap != "javelin_mp" ) { - if ( randomInt( 100 ) > self.pers["bots"]["behavior"]["switch"] ) + if ( randomInt( 100 ) > self.pers[ "bots" ][ "behavior" ][ "switch" ] ) return; if ( hasTarget ) @@ -4430,7 +4430,7 @@ bot_weapon_think_loop( data ) while ( weaponslist.size ) { - weapon = weaponslist[randomInt( weaponslist.size )]; + weapon = weaponslist[ randomInt( weaponslist.size ) ]; weaponslist = array_remove( weaponslist, weapon ); if ( !self getAmmoCount( weapon ) && !force ) @@ -4491,7 +4491,7 @@ bot_target_vehicle_loop() for ( i = targets.size - 1; i >= 0; i-- ) { - tempTarget = targets[i]; + tempTarget = targets[ i ]; if ( isPlayer( tempTarget ) ) continue; @@ -4553,7 +4553,7 @@ bot_target_vehicle() { wait randomIntRange( 2, 4 ); - if ( self.pers["bots"]["skill"]["base"] <= 1 ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 1 ) continue; if ( self HasScriptEnemy() ) @@ -4614,7 +4614,7 @@ bot_watch_use_remote_turret() if ( self InLastStand() && !self InFinalStand() ) continue; - if ( !isDefined( self.remoteTurretList ) || !isDefined( self.remoteTurretList[0] ) ) + if ( !isDefined( self.remoteTurretList ) || !isDefined( self.remoteTurretList[ 0 ] ) ) continue; self thread BotPressUse( 3 ); @@ -4632,7 +4632,7 @@ getKillstreakTargetLocation() for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; @@ -4652,17 +4652,17 @@ getKillstreakTargetLocation() if ( player _hasPerk( "specialty_blindeye" ) ) continue; - if ( !bulletTracePassed( player.origin, player.origin + ( 0, 0, 2048 ), false, player ) && self.pers["bots"]["skill"]["base"] > 3 ) + if ( !bulletTracePassed( player.origin, player.origin + ( 0, 0, 2048 ), false, player ) && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 ) continue; - players[players.size] = player; + players[ players.size ] = player; } target = random( players ); if ( isDefined( target ) ) - location = target.origin + ( randomIntRange( ( 8 - self.pers["bots"]["skill"]["base"] ) * -75, ( 8 - self.pers["bots"]["skill"]["base"] ) * 75 ), randomIntRange( ( 8 - self.pers["bots"]["skill"]["base"] ) * -75, ( 8 - self.pers["bots"]["skill"]["base"] ) * 75 ), 0 ); - else if ( self.pers["bots"]["skill"]["base"] <= 3 ) + location = target.origin + ( randomIntRange( ( 8 - self.pers[ "bots" ][ "skill" ][ "base" ] ) * -75, ( 8 - self.pers[ "bots" ][ "skill" ][ "base" ] ) * 75 ), randomIntRange( ( 8 - self.pers[ "bots" ][ "skill" ][ "base" ] ) * -75, ( 8 - self.pers[ "bots" ][ "skill" ][ "base" ] ) * 75 ), 0 ); + else if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 3 ) location = self.origin + ( randomIntRange( -512, 512 ), randomIntRange( -512, 512 ), 0 ); return location; @@ -4733,21 +4733,21 @@ bot_killstreak_think_loop( data ) if ( !isDefined( data.doFastContinue ) ) { - if ( self.pers["killstreaks"][0].available ) - useableStreaks[useableStreaks.size] = 0; + if ( self.pers[ "killstreaks" ][ 0 ].available ) + useableStreaks[ useableStreaks.size ] = 0; - if ( self.pers["killstreaks"][1].available && self.streakType != "specialist" ) - useableStreaks[useableStreaks.size] = 1; + if ( self.pers[ "killstreaks" ][ 1 ].available && self.streakType != "specialist" ) + useableStreaks[ useableStreaks.size ] = 1; - if ( self.pers["killstreaks"][2].available && self.streakType != "specialist" ) - useableStreaks[useableStreaks.size] = 2; + if ( self.pers[ "killstreaks" ][ 2 ].available && self.streakType != "specialist" ) + useableStreaks[ useableStreaks.size ] = 2; - if ( self.pers["killstreaks"][3].available && self.streakType != "specialist" ) - useableStreaks[useableStreaks.size] = 3; + if ( self.pers[ "killstreaks" ][ 3 ].available && self.streakType != "specialist" ) + useableStreaks[ useableStreaks.size ] = 3; } else { - useableStreaks[0] = data.doFastContinue; + useableStreaks[ 0 ] = data.doFastContinue; data.doFastContinue = undefined; } @@ -4755,7 +4755,7 @@ bot_killstreak_think_loop( data ) return; self.killstreakIndexWeapon = random( useableStreaks ); - streakName = self.pers["killstreaks"][self.killstreakIndexWeapon].streakName; + streakName = self.pers[ "killstreaks" ][ self.killstreakIndexWeapon ].streakName; if ( level.inGracePeriod && maps\mp\killstreaks\_killstreaks::deadlyKillstreak( streakName ) ) return; @@ -4765,7 +4765,7 @@ bot_killstreak_think_loop( data ) if ( curWeap == "none" || !isWeaponPrimary( curWeap ) ) curWeap = self GetLastWeapon(); - lifeId = self.pers["killstreaks"][0].lifeId; + lifeId = self.pers[ "killstreaks" ][ 0 ].lifeId; if ( !isDefined( lifeId ) ) lifeId = -1; @@ -4800,7 +4800,7 @@ bot_killstreak_think_loop( data ) if ( streakName == "remote_uav" || streakName == "remote_tank" ) { - if ( ( isDefined( level.remote_uav[self.team] ) || level.littleBirds.size >= 4 ) && streakName == "remote_uav" ) + if ( ( isDefined( level.remote_uav[ self.team ] ) || level.littleBirds.size >= 4 ) && streakName == "remote_uav" ) return; if ( currentActiveVehicleCount() >= maxVehiclesAllowed() || level.fauxVehicleCount + 1 >= maxVehiclesAllowed() ) @@ -4851,7 +4851,7 @@ bot_killstreak_think_loop( data ) break; } - if ( DistanceSquared( self.origin, forwardTrace["position"] ) < distCheck && self.pers["bots"]["skill"]["base"] > 3 ) + if ( DistanceSquared( self.origin, forwardTrace[ "position" ] ) < distCheck && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 ) return; self BotNotifyBotEvent( "killstreak", "call", streakName ); @@ -4860,7 +4860,7 @@ bot_killstreak_think_loop( data ) self BotRandomStance(); self BotStopMoving( true ); - self SetScriptAimPos( forwardTrace["position"] ); + self SetScriptAimPos( forwardTrace[ "position" ] ); if ( !self changeToWeapon( ksWeap ) ) { @@ -4919,11 +4919,11 @@ bot_killstreak_think_loop( data ) self thread maps\mp\killstreaks\_killstreaks::updateKillstreaks(); self maps\mp\killstreaks\_killstreaks::usedKillstreak( streakName, true ); - rocket = MagicBullet( "remotemissile_projectile_mp", self.origin + ( 0.0, 0.0, 7000.0 - ( self.pers["bots"]["skill"]["base"] * 400 ) ), location, self ); + rocket = MagicBullet( "remotemissile_projectile_mp", self.origin + ( 0.0, 0.0, 7000.0 - ( self.pers[ "bots" ][ "skill" ][ "base" ] * 400 ) ), location, self ); rocket.lifeId = lifeId; rocket.type = "remote"; - rocket thread maps\mp\gametypes\_weapons::AddMissileToSightTraces( self.pers["team"] ); + rocket thread maps\mp\gametypes\_weapons::AddMissileToSightTraces( self.pers[ "team" ] ); rocket thread maps\mp\killstreaks\_remotemissile::handleDamage(); thread maps\mp\killstreaks\_remotemissile::MissileEyes( self, rocket ); @@ -4989,13 +4989,13 @@ bot_killstreak_think_loop( data ) forwardTrace = bulletTrace( myEye, myEye + AnglesToForward( angles ) * 128, false, self ); - if ( DistanceSquared( self.origin, forwardTrace["position"] ) < 96 * 96 && self.pers["bots"]["skill"]["base"] > 3 ) + if ( DistanceSquared( self.origin, forwardTrace[ "position" ] ) < 96 * 96 && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 ) return; self BotNotifyBotEvent( "killstreak", "call", streakName ); self BotStopMoving( true ); - self SetScriptAimPos( forwardTrace["position"] ); + self SetScriptAimPos( forwardTrace[ "position" ] ); if ( !self changeToWeapon( ksWeap ) ) { @@ -5033,7 +5033,7 @@ bot_killstreak_think_loop( data ) if ( IsSubStr( toLower( streakName ), "escort_airdrop" ) && isDefined( level.chopper ) ) return; - if ( !bulletTracePassed( self.origin, self.origin + ( 0, 0, 2048 ), false, self ) && self.pers["bots"]["skill"]["base"] > 3 ) + if ( !bulletTracePassed( self.origin, self.origin + ( 0, 0, 2048 ), false, self ) && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 ) return; myEye = self GetEye(); @@ -5041,16 +5041,16 @@ bot_killstreak_think_loop( data ) forwardTrace = bulletTrace( myEye, myEye + AnglesToForward( angles ) * 256, false, self ); - if ( DistanceSquared( self.origin, forwardTrace["position"] ) < 96 * 96 && self.pers["bots"]["skill"]["base"] > 3 ) + if ( DistanceSquared( self.origin, forwardTrace[ "position" ] ) < 96 * 96 && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 ) return; - if ( !bulletTracePassed( forwardTrace["position"], forwardTrace["position"] + ( 0, 0, 2048 ), false, self ) && self.pers["bots"]["skill"]["base"] > 3 ) + if ( !bulletTracePassed( forwardTrace[ "position" ], forwardTrace[ "position" ] + ( 0, 0, 2048 ), false, self ) && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 ) return; self BotNotifyBotEvent( "killstreak", "call", streakName ); self BotStopMoving( true ); - self SetScriptAimPos( forwardTrace["position"] ); + self SetScriptAimPos( forwardTrace[ "position" ] ); if ( !self changeToWeapon( ksWeap ) ) { @@ -5083,13 +5083,13 @@ bot_killstreak_think_loop( data ) if ( streakName == "nuke" && isDefined( level.nukeIncoming ) ) return; - if ( streakName == "counter_uav" && self.pers["bots"]["skill"]["base"] > 3 && ( ( level.teamBased && level.activeCounterUAVs[self.team] ) || ( !level.teamBased && level.activeCounterUAVs[self.guid] ) ) ) + if ( streakName == "counter_uav" && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 && ( ( level.teamBased && level.activeCounterUAVs[ self.team ] ) || ( !level.teamBased && level.activeCounterUAVs[ self.guid ] ) ) ) return; - if ( ( streakName == "uav" || streakName == "uav_support" || streakName == "triple_uav" ) && self.pers["bots"]["skill"]["base"] > 3 && ( ( level.teamBased && ( level.activeUAVs[self.team] || level.activeCounterUAVs[level.otherTeam[self.team]] ) ) || ( !level.teamBased && ( level.activeUAVs[self.guid] || self.isRadarBlocked ) ) ) ) + if ( ( streakName == "uav" || streakName == "uav_support" || streakName == "triple_uav" ) && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 && ( ( level.teamBased && ( level.activeUAVs[ self.team ] || level.activeCounterUAVs[ level.otherTeam[ self.team ] ] ) ) || ( !level.teamBased && ( level.activeUAVs[ self.guid ] || self.isRadarBlocked ) ) ) ) return; - if ( streakName == "emp" && self.pers["bots"]["skill"]["base"] > 3 && ( ( level.teamBased && level.teamEMPed[level.otherTeam[self.team]] ) || ( !level.teamBased && isDefined( level.empPlayer ) ) ) ) + if ( streakName == "emp" && self.pers[ "bots" ][ "skill" ][ "base" ] > 3 && ( ( level.teamBased && level.teamEMPed[ level.otherTeam[ self.team ] ] ) || ( !level.teamBased && isDefined( level.empPlayer ) ) ) ) return; if ( streakName == "littlebird_flock" || streakName == "helicopter" || streakName == "helicopter_flares" || streakName == "littlebird_support" ) @@ -5243,7 +5243,7 @@ BotLookAtRandomThing( obj_target ) for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !isDefined( player ) || !isDefined( player.team ) ) continue; @@ -5263,11 +5263,11 @@ BotLookAtRandomThing( obj_target ) origin = ( 0, 0, self GetPlayerViewHeight() ); if ( isDefined( nearestEnemy ) && DistanceSquared( self.origin, nearestEnemy.origin ) < 1024 * 1024 && rand < 40 ) - origin += ( nearestEnemy.origin[0], nearestEnemy.origin[1], self.origin[2] ); + origin += ( nearestEnemy.origin[ 0 ], nearestEnemy.origin[ 1 ], self.origin[ 2 ] ); else if ( isDefined( obj_target ) && rand < 50 ) - origin += ( obj_target.origin[0], obj_target.origin[1], self.origin[2] ); + origin += ( obj_target.origin[ 0 ], obj_target.origin[ 1 ], self.origin[ 2 ] ); else if ( rand < 85 ) - origin += self.origin + AnglesToForward( ( 0, self.angles[1] - 180, 0 ) ) * 1024; + origin += self.origin + AnglesToForward( ( 0, self.angles[ 1 ] - 180, 0 ) ) * 1024; else origin += self.origin + AnglesToForward( ( 0, RandomInt( 360 ), 0 ) ) * 1024; @@ -5329,10 +5329,10 @@ bot_dom_spawn_kill_think_loop() for ( i = 0; i < level.flags.size; i++ ) { - if ( level.flags[i] maps\mp\gametypes\dom::getFlagTeam() == myTeam ) + if ( level.flags[ i ] maps\mp\gametypes\dom::getFlagTeam() == myTeam ) continue; - flag = level.flags[i]; + flag = level.flags[ i ]; } if ( !isDefined( flag ) ) @@ -5410,14 +5410,14 @@ bot_dom_def_think_loop() for ( i = 0; i < level.flags.size; i++ ) { - if ( level.flags[i] maps\mp\gametypes\dom::getFlagTeam() != myTeam ) + if ( level.flags[ i ] maps\mp\gametypes\dom::getFlagTeam() != myTeam ) continue; - if ( !level.flags[i].useObj.objPoints[myTeam].isFlashing ) + if ( !level.flags[ i ].useObj.objPoints[ myTeam ].isFlashing ) continue; - if ( !isDefined( flag ) || DistanceSquared( self.origin, level.flags[i].origin ) < DistanceSquared( self.origin, flag.origin ) ) - flag = level.flags[i]; + if ( !isDefined( flag ) || DistanceSquared( self.origin, level.flags[ i ].origin ) < DistanceSquared( self.origin, flag.origin ) ) + flag = level.flags[ i ]; } if ( !isDefined( flag ) ) @@ -5479,7 +5479,7 @@ bot_dom_watch_for_flashing( flag, myTeam ) if ( !isDefined( flag ) ) break; - if ( flag maps\mp\gametypes\dom::getFlagTeam() != myTeam || !flag.useObj.objPoints[myTeam].isFlashing ) + if ( flag maps\mp\gametypes\dom::getFlagTeam() != myTeam || !flag.useObj.objPoints[ myTeam ].isFlashing ) break; } @@ -5501,7 +5501,7 @@ bot_dom_cap_think_loop() otherFlagCount = maps\mp\gametypes\dom::getTeamFlagCount( otherTeam ); - if ( game["teamScores"][myteam] >= game["teamScores"][otherTeam] ) + if ( game[ "teamScores" ][ myteam ] >= game[ "teamScores" ][ otherTeam ] ) { if ( myFlagCount < otherFlagCount ) { @@ -5525,18 +5525,18 @@ bot_dom_cap_think_loop() for ( i = 0; i < level.flags.size; i++ ) { - if ( level.flags[i] maps\mp\gametypes\dom::getFlagTeam() == myTeam ) + if ( level.flags[ i ] maps\mp\gametypes\dom::getFlagTeam() == myTeam ) continue; - flags[flags.size] = level.flags[i]; + flags[ flags.size ] = level.flags[ i ]; } if ( randomInt( 100 ) > 30 ) { for ( i = 0; i < flags.size; i++ ) { - if ( !isDefined( flag ) || DistanceSquared( self.origin, level.flags[i].origin ) < DistanceSquared( self.origin, flag.origin ) ) - flag = level.flags[i]; + if ( !isDefined( flag ) || DistanceSquared( self.origin, level.flags[ i ].origin ) < DistanceSquared( self.origin, flag.origin ) ) + flag = level.flags[ i ]; } } else if ( flags.size ) @@ -5655,7 +5655,7 @@ bot_hq_loop() radio = level.radio; gameobj = radio.gameobject; - origin = ( radio.origin[0], radio.origin[1], radio.origin[2] + 5 ); + origin = ( radio.origin[ 0 ], radio.origin[ 1 ], radio.origin[ 2 ] + 5 ); //if neut or enemy if ( gameobj.ownerTeam != myTeam ) @@ -5723,7 +5723,7 @@ bot_hq_loop() } else//we own it { - if ( gameobj.objPoints[myteam].isFlashing ) //underattack + if ( gameobj.objPoints[ myteam ].isFlashing ) //underattack { self BotNotifyBotEvent( "hq", "start", "defend" ); @@ -5834,7 +5834,7 @@ bot_hq_watch_flashing( obj, radio ) if ( !isDefined( obj ) ) break; - if ( !obj.objPoints[myteam].isFlashing ) + if ( !obj.objPoints[ myteam ].isFlashing ) break; if ( level.radio != radio ) @@ -5860,8 +5860,8 @@ bot_sab_loop() // the bomb is ours, we are on the offence if ( bombteam == myTeam ) { - site = level.bombZones[otherTeam]; - origin = ( site.curorigin[0] + 50, site.curorigin[1] + 50, site.curorigin[2] + 5 ); + site = level.bombZones[ otherTeam ]; + origin = ( site.curorigin[ 0 ] + 50, site.curorigin[ 1 ] + 50, site.curorigin[ 2 ] + 5 ); // protect our planted bomb if ( level.bombPlanted ) @@ -5960,7 +5960,7 @@ bot_sab_loop() } else if ( bombteam == otherTeam ) // the bomb is theirs, we are on the defense { - site = level.bombZones[myteam]; + site = level.bombZones[ myteam ]; if ( !isDefined( site.bots ) ) site.bots = 0; @@ -5989,7 +5989,7 @@ bot_sab_loop() } //protect bomb site - origin = ( site.curorigin[0] + 50, site.curorigin[1] + 50, site.curorigin[2] + 5 ); + origin = ( site.curorigin[ 0 ] + 50, site.curorigin[ 1 ] + 50, site.curorigin[ 2 ] + 5 ); self thread bot_inc_bots( site ); @@ -6033,7 +6033,7 @@ bot_sab_loop() } // bomb is planted we need to defuse - origin = ( site.curorigin[0] + 50, site.curorigin[1] + 50, site.curorigin[2] + 5 ); + origin = ( site.curorigin[ 0 ] + 50, site.curorigin[ 1 ] + 50, site.curorigin[ 2 ] + 5 ); // someone else is defusing, lets just hang around if ( site.bots > 1 ) @@ -6090,7 +6090,7 @@ bot_sab_loop() } else // we need to go get the bomb! { - origin = ( bomb.curorigin[0], bomb.curorigin[1], bomb.curorigin[2] + 5 ); + origin = ( bomb.curorigin[ 0 ], bomb.curorigin[ 1 ], bomb.curorigin[ 2 ] + 5 ); self BotNotifyBotEvent( "sab", "start", "bomb" ); @@ -6167,7 +6167,7 @@ bot_sd_defenders_loop( data ) if ( !isDefined( carrier ) ) { - origin = ( bomb.curorigin[0], bomb.curorigin[1], bomb.curorigin[2] + 5 ); + origin = ( bomb.curorigin[ 0 ], bomb.curorigin[ 1 ], bomb.curorigin[ 2 ] + 5 ); //hang around the bomb if ( self HasScriptGoal() ) @@ -6195,7 +6195,7 @@ bot_sd_defenders_loop( data ) for ( i = 0; i < level.bombZones.size; i++ ) { - sites[sites.size] = level.bombZones[i]; + sites[ sites.size ] = level.bombZones[ i ]; } if ( !sites.size ) @@ -6209,7 +6209,7 @@ bot_sd_defenders_loop( data ) if ( !isDefined( site ) ) return; - origin = ( site.curorigin[0] + 50, site.curorigin[1] + 50, site.curorigin[2] + 5 ); + origin = ( site.curorigin[ 0 ] + 50, site.curorigin[ 1 ] + 50, site.curorigin[ 2 ] + 5 ); if ( site isInUse() ) //somebody is planting { @@ -6252,7 +6252,7 @@ bot_sd_defenders_loop( data ) if ( !isDefined( defuse.bots ) ) defuse.bots = 0; - origin = ( defuse.curorigin[0], defuse.curorigin[1], defuse.curorigin[2] + 5 ); + origin = ( defuse.curorigin[ 0 ], defuse.curorigin[ 1 ], defuse.curorigin[ 2 ] + 5 ); // someone is going to go defuse ,lets just hang around if ( defuse.bots > 1 ) @@ -6319,7 +6319,7 @@ bot_sd_defenders() if ( level.gametype != "sd" ) return; - if ( self.team == game["attackers"] ) + if ( self.team == game[ "attackers" ] ) return; data = spawnStruct(); @@ -6367,7 +6367,7 @@ bot_sd_attackers_loop( data ) site = level.defuseObject; - origin = ( site.curorigin[0], site.curorigin[1], site.curorigin[2] + 5 ); + origin = ( site.curorigin[ 0 ], site.curorigin[ 1 ], site.curorigin[ 2 ] + 5 ); if ( site IsInUse() ) //somebody is defusing { @@ -6438,7 +6438,7 @@ bot_sd_attackers_loop( data ) if ( !isDefined( bomb.bots ) ) bomb.bots = 0; - origin = ( bomb.curorigin[0], bomb.curorigin[1], bomb.curorigin[2] + 5 ); + origin = ( bomb.curorigin[ 0 ], bomb.curorigin[ 1 ], bomb.curorigin[ 2 ] + 5 ); //hang around the bomb if other is going to go get it if ( bomb.bots > 1 ) @@ -6487,7 +6487,7 @@ bot_sd_attackers_loop( data ) for ( i = 0; i < level.bombZones.size; i++ ) { - sites[sites.size] = level.bombZones[i]; + sites[ sites.size ] = level.bombZones[ i ]; } if ( !sites.size ) @@ -6501,7 +6501,7 @@ bot_sd_attackers_loop( data ) if ( !isDefined( plant ) ) return; - origin = ( plant.curorigin[0] + 50, plant.curorigin[1] + 50, plant.curorigin[2] + 5 ); + origin = ( plant.curorigin[ 0 ] + 50, plant.curorigin[ 1 ] + 50, plant.curorigin[ 2 ] + 5 ); self BotNotifyBotEvent( "sd", "go", "plant", plant ); @@ -6548,7 +6548,7 @@ bot_sd_attackers() if ( level.gametype != "sd" ) return; - if ( self.team != game["attackers"] ) + if ( self.team != game[ "attackers" ] ) return; data = spawnStruct(); @@ -6569,11 +6569,11 @@ bot_cap_loop() myTeam = self.pers[ "team" ]; otherTeam = getOtherTeam( myTeam ); - myflag = level.teamFlags[myteam]; - myzone = level.capZones[myteam]; + myflag = level.teamFlags[ myteam ]; + myzone = level.capZones[ myteam ]; - theirflag = level.teamFlags[otherTeam]; - theirzone = level.capZones[otherTeam]; + theirflag = level.teamFlags[ otherTeam ]; + theirzone = level.capZones[ otherTeam ]; if ( !myflag maps\mp\gametypes\_gameobjects::isHome() ) { @@ -6869,7 +6869,7 @@ bot_dem_attackers_loop() for ( i = 0; i < level.bombZones.size; i++ ) { - bomb = level.bombZones[i]; + bomb = level.bombZones[ i ]; if ( isDefined( bomb.bombExploded ) && bomb.bombExploded ) { @@ -6880,9 +6880,9 @@ bot_dem_attackers_loop() if ( bomb.label == "_a" ) { if ( level.bombAPlanted ) - bombs[bombs.size] = bomb; + bombs[ bombs.size ] = bomb; else - sites[sites.size] = bomb; + sites[ sites.size ] = bomb; continue; } @@ -6890,9 +6890,9 @@ bot_dem_attackers_loop() if ( bomb.label == "_b" ) { if ( level.bombBPlanted ) - bombs[bombs.size] = bomb; + bombs[ bombs.size ] = bomb; else - sites[sites.size] = bomb; + sites[ sites.size ] = bomb; continue; } @@ -6900,7 +6900,7 @@ bot_dem_attackers_loop() timeleft = maps\mp\gametypes\_gamelogic::getTimeRemaining() / 1000; - shouldLet = ( game["teamScores"][myteam] > game["teamScores"][otherTeam] && timeleft < 90 && bombed == 1 ); + shouldLet = ( game[ "teamScores" ][ myteam ] > game[ "teamScores" ][ otherTeam ] && timeleft < 90 && bombed == 1 ); //spawnkill conditions //if we have bombed one site or 1 bomb is planted with lots of time left, spawn kill @@ -6960,7 +6960,7 @@ bot_dem_attackers_loop() if ( bombs.size && timeleft < 90 && ( !sites.size || randomInt( 100 ) < 95 ) ) { site = self bot_array_nearest_curorigin( bombs ); - origin = ( site.curorigin[0] + 50, site.curorigin[1] + 50, site.curorigin[2] + 5 ); + origin = ( site.curorigin[ 0 ] + 50, site.curorigin[ 1 ] + 50, site.curorigin[ 2 ] + 5 ); if ( site IsInUse() ) //somebody is defusing { @@ -7006,7 +7006,7 @@ bot_dem_attackers_loop() if ( !isDefined( plant.bots ) ) plant.bots = 0; - origin = ( plant.curorigin[0] + 50, plant.curorigin[1] + 50, plant.curorigin[2] + 5 ); + origin = ( plant.curorigin[ 0 ] + 50, plant.curorigin[ 1 ] + 50, plant.curorigin[ 2 ] + 5 ); //hang around the site if lots of time left if ( plant.bots > 1 && timeleft >= 60 ) @@ -7074,7 +7074,7 @@ bot_dem_attackers() if ( level.gametype != "dd" ) return; - if ( self.team != game["attackers"] ) + if ( self.team != game[ "attackers" ] ) return; if ( inOvertime() ) @@ -7110,7 +7110,7 @@ bot_dem_defenders_loop() for ( i = 0; i < level.bombZones.size; i++ ) { - bomb = level.bombZones[i]; + bomb = level.bombZones[ i ]; if ( isDefined( bomb.bombExploded ) && bomb.bombExploded ) { @@ -7121,9 +7121,9 @@ bot_dem_defenders_loop() if ( bomb.label == "_a" ) { if ( level.bombAPlanted ) - bombs[bombs.size] = bomb; + bombs[ bombs.size ] = bomb; else - sites[sites.size] = bomb; + sites[ sites.size ] = bomb; continue; } @@ -7131,9 +7131,9 @@ bot_dem_defenders_loop() if ( bomb.label == "_b" ) { if ( level.bombBPlanted ) - bombs[bombs.size] = bomb; + bombs[ bombs.size ] = bomb; else - sites[sites.size] = bomb; + sites[ sites.size ] = bomb; continue; } @@ -7141,7 +7141,7 @@ bot_dem_defenders_loop() timeleft = maps\mp\gametypes\_gamelogic::getTimeRemaining() / 1000; - shouldLet = ( timeleft < 60 && ( ( bombed == 0 && bombs.size != 2 ) || ( game["teamScores"][myteam] > game["teamScores"][otherTeam] && bombed == 1 ) ) && randomInt( 100 ) < 98 ); + shouldLet = ( timeleft < 60 && ( ( bombed == 0 && bombs.size != 2 ) || ( game[ "teamScores" ][ myteam ] > game[ "teamScores" ][ otherTeam ] && bombed == 1 ) ) && randomInt( 100 ) < 98 ); //spawnkill conditions //if nothing to defuse with a lot of time left, spawn kill @@ -7201,7 +7201,7 @@ bot_dem_defenders_loop() if ( !bombs.size && timeleft < 60 && randomInt( 100 ) < 95 && sites.size ) { site = self bot_array_nearest_curorigin( sites ); - origin = ( site.curorigin[0] + 50, site.curorigin[1] + 50, site.curorigin[2] + 5 ); + origin = ( site.curorigin[ 0 ] + 50, site.curorigin[ 1 ] + 50, site.curorigin[ 2 ] + 5 ); if ( site IsInUse() ) //somebody is planting { @@ -7249,7 +7249,7 @@ bot_dem_defenders_loop() if ( !isDefined( defuse.bots ) ) defuse.bots = 0; - origin = ( defuse.curorigin[0] + 50, defuse.curorigin[1] + 50, defuse.curorigin[2] + 5 ); + origin = ( defuse.curorigin[ 0 ] + 50, defuse.curorigin[ 1 ] + 50, defuse.curorigin[ 2 ] + 5 ); //hang around the site if not in danger of losing if ( defuse.bots > 1 && bombed + bombs.size != 2 ) @@ -7318,7 +7318,7 @@ bot_dem_defenders() if ( level.gametype != "dd" ) return; - if ( self.team == game["attackers"] ) + if ( self.team == game[ "attackers" ] ) return; if ( inOvertime() ) @@ -7367,7 +7367,7 @@ bot_dem_overtime() if ( !isDefined( level.bombZones ) || !level.bombZones.size ) continue; - if ( !level.bombZones[0].bombPlanted || !level.bombZones[0] maps\mp\gametypes\_gameobjects::isFriendlyTeam( self.team ) ) + if ( !level.bombZones[ 0 ].bombPlanted || !level.bombZones[ 0 ] maps\mp\gametypes\_gameobjects::isFriendlyTeam( self.team ) ) { self bot_dem_attackers_loop(); continue; @@ -7438,7 +7438,7 @@ bot_think_revive_loop() for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( player.team != self.team ) continue; @@ -7447,7 +7447,7 @@ bot_think_revive_loop() continue; if ( player inLastStand() ) - needsRevives[needsRevives.size] = player; + needsRevives[ needsRevives.size ] = player; } if ( !needsRevives.size ) @@ -7527,8 +7527,8 @@ bot_gtnw_loop() origin = level.nukeSite.trigger.origin; trigger = level.nukeSite.trigger; - ourCapCount = level.nukeSite.touchList[myteam]; - theirCapCount = level.nukeSite.touchList[theirteam]; + ourCapCount = level.nukeSite.touchList[ myteam ]; + theirCapCount = level.nukeSite.touchList[ theirteam ]; rand = self BotGetRandom(); if ( ( !ourCapCount && !theirCapCount ) || rand <= 20 ) @@ -7637,10 +7637,10 @@ bot_oneflag_loop() myTeam = self.pers[ "team" ]; otherTeam = getOtherTeam( myTeam ); - if ( myteam == game["attackers"] ) + if ( myteam == game[ "attackers" ] ) { - myzone = level.capZones[myteam]; - theirflag = level.teamFlags[otherTeam]; + myzone = level.capZones[ myteam ]; + theirflag = level.teamFlags[ otherTeam ]; if ( self isFlagCarrier() ) { @@ -7693,8 +7693,8 @@ bot_oneflag_loop() } else { - myflag = level.teamFlags[myteam]; - theirzone = level.capZones[otherTeam]; + myflag = level.teamFlags[ myteam ]; + theirzone = level.capZones[ otherTeam ]; if ( !myflag maps\mp\gametypes\_gameobjects::isHome() ) { @@ -7887,7 +7887,7 @@ bot_vip_loop() for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !isReallyAlive( player ) ) continue; @@ -7896,7 +7896,7 @@ bot_vip_loop() vip = player; } - if ( self.team == game["defenders"] ) + if ( self.team == game[ "defenders" ] ) { if ( isDefined( self.isVip ) && self.isVip ) { @@ -7992,7 +7992,7 @@ bot_conf_loop() for ( i = 0; i < dog_tag_keys.size; i++ ) { - temp_tag = level.dogtags[dog_tag_keys[i]]; + temp_tag = level.dogtags[ dog_tag_keys[ i ] ]; if ( !isDefined( temp_tag ) ) continue; @@ -8006,14 +8006,14 @@ bot_conf_loop() if ( temp_tag.bots >= 2 ) continue; - tags[tags.size] = temp_tag; + tags[ tags.size ] = temp_tag; } if ( randomInt( 2 ) ) { for ( i = 0; i < tags.size; i++ ) { - temp_tag = tags[i]; + temp_tag = tags[ i ]; if ( !isDefined( tag ) || DistanceSquared( self.origin, temp_tag.trigger.origin ) < DistanceSquared( self.origin, tag.trigger.origin ) ) { @@ -8109,20 +8109,20 @@ bots_watch_grnd() */ bot_grnd_loop() { - if ( isDefined( self.inGrindZone ) && self.inGrindZone && isReallyAlive( self ) && self.pers["team"] != "spectator" && self maps\mp\gametypes\grnd::isingrindzone() ) + if ( isDefined( self.inGrindZone ) && self.inGrindZone && isReallyAlive( self ) && self.pers[ "team" ] != "spectator" && self maps\mp\gametypes\grnd::isingrindzone() ) { // in the grnd zone - if ( level.grnd_numplayers[level.otherTeam[self.team]] ) + if ( level.grnd_numplayers[ level.otherTeam[ self.team ] ] ) { // hunt enemy in drop zone target = undefined; for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; - if ( isDefined( player.inGrindZone ) && player.inGrindZone && isReallyAlive( player ) && player.pers["team"] != "spectator" && player maps\mp\gametypes\grnd::isingrindzone() ) + if ( isDefined( player.inGrindZone ) && player.inGrindZone && isReallyAlive( player ) && player.pers[ "team" ] != "spectator" && player maps\mp\gametypes\grnd::isingrindzone() ) { target = player; @@ -8154,7 +8154,7 @@ bot_grnd_loop() while ( self HasScriptGoal() && self GetScriptGoal() == goal && self maps\mp\gametypes\grnd::isingrindzone() ) { - if ( level.grnd_numplayers[level.otherTeam[self.team]] ) + if ( level.grnd_numplayers[ level.otherTeam[ self.team ] ] ) break; wait 0.5; @@ -8171,7 +8171,7 @@ bot_grnd_loop() return; } - if ( randomInt( 100 ) < 40 || level.grnd_numplayers[self.team] <= 0 ) + if ( randomInt( 100 ) < 40 || level.grnd_numplayers[ self.team ] <= 0 ) { self BotNotifyBotEvent( "grnd", "start", "go_cap" ); @@ -8226,7 +8226,7 @@ bot_tdef_loop() { if ( isDefined( level.gameFlag.carrier ) ) { - if ( level.gameFlag maps\mp\gametypes\_gameobjects::getOwnerTeam() == level.otherTeam[self.team] ) + if ( level.gameFlag maps\mp\gametypes\_gameobjects::getOwnerTeam() == level.otherTeam[ self.team ] ) { if ( self HasScriptGoal() ) return; @@ -8261,7 +8261,7 @@ bot_tdef_loop() for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !isDefined( player.team ) ) continue; @@ -8283,12 +8283,12 @@ bot_tdef_loop() for ( i = 0; i < level.waypoints.size; i++ ) { - wp = level.waypoints[i]; + wp = level.waypoints[ i ]; if ( DistanceSquared( wp.origin, avg_org ) < 1024 * 1024 ) continue; - wps[wps.size] = wp; + wps[ wps.size ] = wp; } wp = random( wps ); @@ -8361,7 +8361,7 @@ bot_infect_loop() for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( player == self ) continue; diff --git a/maps/mp/bots/_bot_utility.gsc b/maps/mp/bots/_bot_utility.gsc index 5b0e99f..d5e973d 100644 --- a/maps/mp/bots/_bot_utility.gsc +++ b/maps/mp/bots/_bot_utility.gsc @@ -33,9 +33,9 @@ wait_for_builtins() */ BotBuiltinPrintConsole( s ) { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["printconsole"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "printconsole" ] ) ) { - [[ level.bot_builtins["printconsole" ]]]( s ); + [[ level.bot_builtins[ "printconsole" ] ]]( s ); } } @@ -44,9 +44,9 @@ BotBuiltinPrintConsole( s ) */ BotBuiltinFileWrite( file, contents, mode ) { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["filewrite"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "filewrite" ] ) ) { - [[ level.bot_builtins["filewrite" ]]]( file, contents, mode ); + [[ level.bot_builtins[ "filewrite" ] ]]( file, contents, mode ); } } @@ -55,9 +55,9 @@ BotBuiltinFileWrite( file, contents, mode ) */ BotBuiltinFileRead( file ) { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["fileread"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "fileread" ] ) ) { - return [[ level.bot_builtins["fileread" ]]]( file ); + return [[ level.bot_builtins[ "fileread" ] ]]( file ); } return undefined; @@ -68,9 +68,9 @@ BotBuiltinFileRead( file ) */ BotBuiltinFileExists( file ) { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["fileexists"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "fileexists" ] ) ) { - return [[ level.bot_builtins["fileexists" ]]]( file ); + return [[ level.bot_builtins[ "fileexists" ] ]]( file ); } return false; @@ -82,9 +82,9 @@ BotBuiltinFileExists( file ) */ BotBuiltinBotAction( action ) { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["botaction"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botaction" ] ) ) { - self [[ level.bot_builtins["botaction" ]]]( action ); + self [[ level.bot_builtins[ "botaction" ] ]]( action ); } } @@ -94,9 +94,9 @@ BotBuiltinBotAction( action ) */ BotBuiltinBotStop() { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["botstop"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botstop" ] ) ) { - self [[ level.bot_builtins["botstop" ]]](); + self [[ level.bot_builtins[ "botstop" ] ]](); } } @@ -106,9 +106,9 @@ BotBuiltinBotStop() */ BotBuiltinBotMovement( forward, right ) { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["botmovement"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botmovement" ] ) ) { - self [[ level.bot_builtins["botmovement" ]]]( forward, right ); + self [[ level.bot_builtins[ "botmovement" ] ]]( forward, right ); } } @@ -117,9 +117,9 @@ BotBuiltinBotMovement( forward, right ) */ BotBuiltinBotMeleeParams( entNum, dist ) { - if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins["botmeleeparams"] ) ) + if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botmeleeparams" ] ) ) { - self [[ level.bot_builtins["botmeleeparams" ]]]( entNum, dist ); + self [[ level.bot_builtins[ "botmeleeparams" ] ]]( entNum, dist ); } } @@ -128,7 +128,7 @@ BotBuiltinBotMeleeParams( entNum, dist ) */ is_host() { - return ( isDefined( self.pers["bot_host"] ) && self.pers["bot_host"] ); + return ( isDefined( self.pers[ "bot_host" ] ) && self.pers[ "bot_host" ] ); } /* @@ -136,7 +136,7 @@ is_host() */ doHostCheck() { - self.pers["bot_host"] = false; + self.pers[ "bot_host" ] = false; if ( self is_bot() ) return; @@ -164,7 +164,7 @@ doHostCheck() for ( i = 0; i < guids.size; i++ ) { - if ( self getguid() + "" == guids[i] ) + if ( self getguid() + "" == guids[ i ] ) result = true; } } @@ -172,7 +172,7 @@ doHostCheck() if ( !self isHost() && !result ) return; - self.pers["bot_host"] = true; + self.pers[ "bot_host" ] = true; } /* @@ -183,7 +183,7 @@ is_bot() assert( isDefined( self ) ); assert( isPlayer( self ) ); - return ( ( isDefined( self.pers["isBot"] ) && self.pers["isBot"] ) || ( isDefined( self.pers["isBotWarfare"] ) && self.pers["isBotWarfare"] ) || isSubStr( self getguid() + "", "bot" ) ); + return ( ( isDefined( self.pers[ "isBot" ] ) && self.pers[ "isBot" ] ) || ( isDefined( self.pers[ "isBotWarfare" ] ) && self.pers[ "isBotWarfare" ] ) || isSubStr( self getguid() + "", "bot" ) ); } /* @@ -608,7 +608,7 @@ getValidTube() for ( i = 0; i < weaps.size; i++ ) { - weap = weaps[i]; + weap = weaps[ i ]; if ( !self getAmmoCount( weap ) ) continue; @@ -647,25 +647,25 @@ waittill_either_return( str1, str2 ) getValidGrenade() { grenadeTypes = []; - grenadeTypes[grenadeTypes.size] = "frag_grenade_mp"; - grenadeTypes[grenadeTypes.size] = "smoke_grenade_mp"; - grenadeTypes[grenadeTypes.size] = "flash_grenade_mp"; - grenadeTypes[grenadeTypes.size] = "concussion_grenade_mp"; - grenadeTypes[grenadeTypes.size] = "semtex_mp"; - grenadeTypes[grenadeTypes.size] = "throwingknife_mp"; - grenadeTypes[grenadeTypes.size] = "emp_grenade_mp"; + grenadeTypes[ grenadeTypes.size ] = "frag_grenade_mp"; + grenadeTypes[ grenadeTypes.size ] = "smoke_grenade_mp"; + grenadeTypes[ grenadeTypes.size ] = "flash_grenade_mp"; + grenadeTypes[ grenadeTypes.size ] = "concussion_grenade_mp"; + grenadeTypes[ grenadeTypes.size ] = "semtex_mp"; + grenadeTypes[ grenadeTypes.size ] = "throwingknife_mp"; + grenadeTypes[ grenadeTypes.size ] = "emp_grenade_mp"; possibles = []; for ( i = 0; i < grenadeTypes.size; i++ ) { - if ( !self hasWeapon( grenadeTypes[i] ) ) + if ( !self hasWeapon( grenadeTypes[ i ] ) ) continue; - if ( !self getAmmoCount( grenadeTypes[i] ) ) + if ( !self getAmmoCount( grenadeTypes[ i ] ) ) continue; - possibles[possibles.size] = grenadeTypes[i]; + possibles[ possibles.size ] = grenadeTypes[ i ]; } return random( possibles ); @@ -697,7 +697,7 @@ WeaponIsFullAuto( weap ) if ( weaptoks.size < 2 ) return false; - return isDefined( level.bots_fullautoguns[weaptoks[1]] ); + return isDefined( level.bots_fullautoguns[ weaptoks[ 1 ] ] ); } /* @@ -732,7 +732,7 @@ getBotToKick() { bots = getBotArray(); - if ( !isDefined( bots ) || !isDefined( bots.size ) || bots.size <= 0 || !isDefined( bots[0] ) ) + if ( !isDefined( bots ) || !isDefined( bots.size ) || bots.size <= 0 || !isDefined( bots[ 0 ] ) ) return undefined; tokick = undefined; @@ -743,7 +743,7 @@ getBotToKick() // count teams for ( i = 0; i < bots.size; i++ ) { - bot = bots[i]; + bot = bots[ i ]; if ( !isDefined( bot ) || !isDefined( bot.team ) ) continue; @@ -777,7 +777,7 @@ getBotToKick() // get the bot on this team with lowest skill for ( i = 0; i < bots.size; i++ ) { - bot = bots[i]; + bot = bots[ i ]; if ( !isDefined( bot ) || !isDefined( bot.team ) ) continue; @@ -785,10 +785,10 @@ getBotToKick() if ( bot.team != team ) continue; - if ( !isDefined( bot.pers ) || !isDefined( bot.pers["bots"] ) || !isDefined( bot.pers["bots"]["skill"] ) || !isDefined( bot.pers["bots"]["skill"]["base"] ) ) + if ( !isDefined( bot.pers ) || !isDefined( bot.pers[ "bots" ] ) || !isDefined( bot.pers[ "bots" ][ "skill" ] ) || !isDefined( bot.pers[ "bots" ][ "skill" ][ "base" ] ) ) continue; - if ( isDefined( tokick ) && bot.pers["bots"]["skill"]["base"] > tokick.pers["bots"]["skill"]["base"] ) + if ( isDefined( tokick ) && bot.pers[ "bots" ][ "skill" ][ "base" ] > tokick.pers[ "bots" ][ "skill" ][ "base" ] ) continue; tokick = bot; @@ -800,15 +800,15 @@ getBotToKick() // just kick lowest skill for ( i = 0; i < bots.size; i++ ) { - bot = bots[i]; + bot = bots[ i ]; if ( !isDefined( bot ) || !isDefined( bot.team ) ) continue; - if ( !isDefined( bot.pers ) || !isDefined( bot.pers["bots"] ) || !isDefined( bot.pers["bots"]["skill"] ) || !isDefined( bot.pers["bots"]["skill"]["base"] ) ) + if ( !isDefined( bot.pers ) || !isDefined( bot.pers[ "bots" ] ) || !isDefined( bot.pers[ "bots" ][ "skill" ] ) || !isDefined( bot.pers[ "bots" ][ "skill" ][ "base" ] ) ) continue; - if ( isDefined( tokick ) && bot.pers["bots"]["skill"]["base"] > tokick.pers["bots"]["skill"]["base"] ) + if ( isDefined( tokick ) && bot.pers[ "bots" ][ "skill" ][ "base" ] > tokick.pers[ "bots" ][ "skill" ][ "base" ] ) continue; tokick = bot; @@ -824,7 +824,7 @@ GetHostPlayer() { for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_host() ) continue; @@ -895,11 +895,11 @@ RaySphereIntersect( start, end, spherePos, radius ) // check if the line made by start and end intersect the sphere dp = end - start; - a = dp[0] * dp[0] + dp[1] * dp[1] + dp[2] * dp[2]; - b = 2 * ( dp[0] * ( start[0] - spherePos[0] ) + dp[1] * ( start[1] - spherePos[1] ) + dp[2] * ( start[2] - spherePos[2] ) ); - c = spherePos[0] * spherePos[0] + spherePos[1] * spherePos[1] + spherePos[2] * spherePos[2]; - c += start[0] * start[0] + start[1] * start[1] + start[2] * start[2]; - c -= 2.0 * ( spherePos[0] * start[0] + spherePos[1] * start[1] + spherePos[2] * start[2] ); + a = dp[ 0 ] * dp[ 0 ] + dp[ 1 ] * dp[ 1 ] + dp[ 2 ] * dp[ 2 ]; + b = 2 * ( dp[ 0 ] * ( start[ 0 ] - spherePos[ 0 ] ) + dp[ 1 ] * ( start[ 1 ] - spherePos[ 1 ] ) + dp[ 2 ] * ( start[ 2 ] - spherePos[ 2 ] ) ); + c = spherePos[ 0 ] * spherePos[ 0 ] + spherePos[ 1 ] * spherePos[ 1 ] + spherePos[ 2 ] * spherePos[ 2 ]; + c += start[ 0 ] * start[ 0 ] + start[ 1 ] * start[ 1 ] + start[ 2 ] * start[ 2 ]; + c -= 2.0 * ( spherePos[ 0 ] * start[ 0 ] + spherePos[ 1 ] * start[ 1 ] + spherePos[ 2 ] * start[ 2 ] ); c -= radius * radius; bb4ac = b * b - 4.0 * a * c; @@ -935,7 +935,7 @@ SmokeTrace( start, end, rad ) { 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" ) continue; @@ -964,8 +964,8 @@ getConeDot( to, from, dir ) */ DistanceSquared2D( to, from ) { - to = ( to[0], to[1], 0 ); - from = ( from[0], from[1], 0 ); + to = ( to[ 0 ], to[ 1 ], 0 ); + from = ( from[ 0 ], from[ 1 ], 0 ); return DistanceSquared( to, from ); } @@ -1013,38 +1013,38 @@ parseTokensIntoWaypoint( tokens ) { waypoint = spawnStruct(); - orgStr = tokens[0]; + orgStr = tokens[ 0 ]; orgToks = strtok( orgStr, " " ); - waypoint.origin = ( float_old( orgToks[0] ), float_old( orgToks[1] ), float_old( orgToks[2] ) ); + waypoint.origin = ( float_old( orgToks[ 0 ] ), float_old( orgToks[ 1 ] ), float_old( orgToks[ 2 ] ) ); - childStr = tokens[1]; + childStr = tokens[ 1 ]; childToks = strtok( childStr, " " ); waypoint.children = []; for ( j = 0; j < childToks.size; j++ ) - waypoint.children[j] = int( childToks[j] ); + waypoint.children[ j ] = int( childToks[ j ] ); - type = tokens[2]; + type = tokens[ 2 ]; waypoint.type = type; - anglesStr = tokens[3]; + anglesStr = tokens[ 3 ]; if ( isDefined( anglesStr ) && anglesStr != "" ) { anglesToks = strtok( anglesStr, " " ); if ( anglesToks.size >= 3 ) - waypoint.angles = ( float_old( anglesToks[0] ), float_old( anglesToks[1] ), float_old( anglesToks[2] ) ); + waypoint.angles = ( float_old( anglesToks[ 0 ] ), float_old( anglesToks[ 1 ] ), float_old( anglesToks[ 2 ] ) ); } - javStr = tokens[4]; + javStr = tokens[ 4 ]; if ( isDefined( javStr ) && javStr != "" ) { javToks = strtok( javStr, " " ); if ( javToks.size >= 3 ) - waypoint.jav_point = ( float_old( javToks[0] ), float_old( javToks[1] ), float_old( javToks[2] ) ); + waypoint.jav_point = ( float_old( javToks[ 0 ] ), float_old( javToks[ 1 ] ), float_old( javToks[ 2 ] ) ); } return waypoint; @@ -1075,13 +1075,13 @@ getWaypointLinesFromFile( filename ) for ( i = 0; i < waypointStr.size; i++ ) { // Check for newline characters '\n' or '\r'. - if ( waypointStr[i] == "\n" || waypointStr[i] == "\r" ) + if ( waypointStr[ i ] == "\n" || waypointStr[ i ] == "\r" ) { // Extract the current line using 'getSubStr' and store it in the result array. - result.lines[result.lines.size] = getSubStr( waypointStr, linestart, linestart + linecount ); + result.lines[ result.lines.size ] = getSubStr( waypointStr, linestart, linestart + linecount ); // If the newline is '\r\n', skip the next character. - if ( waypointStr[i] == "\r" && i < waypointStr.size - 1 && waypointStr[i + 1] == "\n" ) + if ( waypointStr[ i ] == "\r" && i < waypointStr.size - 1 && waypointStr[ i + 1 ] == "\n" ) i++; // Reset linecount and update linestart for the next line. @@ -1095,7 +1095,7 @@ getWaypointLinesFromFile( filename ) } // Store the last line (or the only line if there are no newline characters) in the result array. - result.lines[result.lines.size] = getSubStr( waypointStr, linestart, linestart + linecount ); + result.lines[ result.lines.size ] = getSubStr( waypointStr, linestart, linestart + linecount ); // Return the result structure containing the array of extracted lines. return result; @@ -1119,15 +1119,15 @@ readWpsFromFile( mapname ) BotBuiltinPrintConsole( "Attempting to read waypoints from " + filename ); - waypointCount = int( res.lines[0] ); + waypointCount = int( res.lines[ 0 ] ); for ( i = 1; i <= waypointCount; i++ ) { - tokens = strtok( res.lines[i], "," ); + tokens = strtok( res.lines[ i ], "," ); waypoint = parseTokensIntoWaypoint( tokens ); - waypoints[i - 1] = waypoint; + waypoints[ i - 1 ] = waypoint; } return waypoints; @@ -1142,8 +1142,8 @@ load_waypoints() { level.waypointCount = 0; level.waypointUsage = []; - level.waypointUsage["allies"] = []; - level.waypointUsage["axis"] = []; + level.waypointUsage[ "allies" ] = []; + level.waypointUsage[ "axis" ] = []; if ( !isDefined( level.waypoints ) ) level.waypoints = []; @@ -1179,14 +1179,14 @@ load_waypoints() for ( i = 0; i < level.waypointCount; i++ ) { - if ( !isDefined( level.waypoints[i].children ) || !isDefined( level.waypoints[i].children.size ) ) - level.waypoints[i].children = []; + if ( !isDefined( level.waypoints[ i ].children ) || !isDefined( level.waypoints[ i ].children.size ) ) + level.waypoints[ i ].children = []; - if ( !isDefined( level.waypoints[i].origin ) ) - level.waypoints[i].origin = ( 0, 0, 0 ); + if ( !isDefined( level.waypoints[ i ].origin ) ) + level.waypoints[ i ].origin = ( 0, 0, 0 ); - if ( !isDefined( level.waypoints[i].type ) ) - level.waypoints[i].type = "crouch"; + if ( !isDefined( level.waypoints[ i ].type ) ) + level.waypoints[ i ].type = "crouch"; } } @@ -1199,7 +1199,7 @@ nearAnyOfWaypoints( dist, waypoints ) for ( i = 0; i < waypoints.size; i++ ) { - waypoint = level.waypoints[waypoints[i]]; + waypoint = level.waypoints[ waypoints[ i ] ]; if ( DistanceSquared( waypoint.origin, self.origin ) > dist ) continue; @@ -1221,12 +1221,12 @@ waypointsNear( waypoints, dist ) for ( i = 0; i < waypoints.size; i++ ) { - wp = level.waypoints[waypoints[i]]; + wp = level.waypoints[ waypoints[ i ] ]; if ( DistanceSquared( wp.origin, self.origin ) > dist ) continue; - answer[answer.size] = waypoints[i]; + answer[ answer.size ] = waypoints[ i ]; } return answer; @@ -1242,13 +1242,13 @@ getNearestWaypointOfWaypoints( waypoints ) for ( i = 0; i < waypoints.size; i++ ) { - waypoint = level.waypoints[waypoints[i]]; + waypoint = level.waypoints[ waypoints[ i ] ]; thisDist = DistanceSquared( self.origin, waypoint.origin ); if ( isDefined( answer ) && thisDist > closestDist ) continue; - answer = waypoints[i]; + answer = waypoints[ i ]; closestDist = thisDist; } @@ -1264,7 +1264,7 @@ getWaypointsOfType( type ) for ( i = 0; i < level.waypointCount; i++ ) { - wp = level.waypoints[i]; + wp = level.waypoints[ i ]; if ( type == "camp" ) { @@ -1277,7 +1277,7 @@ getWaypointsOfType( type ) else if ( type != wp.type ) continue; - answer[answer.size] = i; + answer[ answer.size ] = i; } return answer; @@ -1291,7 +1291,7 @@ getWaypointForIndex( i ) if ( !isDefined( i ) ) return undefined; - return level.waypoints[i]; + return level.waypoints[ i ]; } /* @@ -1462,12 +1462,12 @@ getBotArray() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_bot() ) continue; - result[result.size] = player; + result[ result.size ] = player; } return result; @@ -1514,14 +1514,14 @@ _WaypointsToKDTree( waypoints, dem ) for ( i = 0; i < waypoints.size; i++ ) { - heap HeapInsert( waypoints[i] ); + heap HeapInsert( waypoints[ i ] ); } sorted = []; while ( heap.data.size ) { - sorted[sorted.size] = heap.data[0]; + sorted[ sorted.size ] = heap.data[ 0 ]; heap HeapRemove(); } @@ -1532,11 +1532,11 @@ _WaypointsToKDTree( waypoints, dem ) for ( i = 0; i < sorted.size; i++ ) if ( i < median ) - right[right.size] = sorted[i]; + right[ right.size ] = sorted[ i ]; else if ( i > median ) - left[left.size] = sorted[i]; + left[ left.size ] = sorted[ i ]; - self KDTreeInsert( sorted[median] ); + self KDTreeInsert( sorted[ median ] ); _WaypointsToKDTree( left, ( dem + 1 ) % 3 ); @@ -1560,7 +1560,7 @@ List() */ ListAdd( thing ) { - self.data[self.count] = thing; + self.data[ self.count ] = thing; self.count++; } @@ -1572,10 +1572,10 @@ ListAddFirst( thing ) { for ( i = self.count - 1; i >= 0; i-- ) { - self.data[i + 1] = self.data[i]; + self.data[ i + 1 ] = self.data[ i ]; } - self.data[0] = thing; + self.data[ 0 ] = thing; self.count++; } @@ -1586,15 +1586,15 @@ ListRemove( thing ) { for ( i = 0; i < self.count; i++ ) { - if ( self.data[i] == thing ) + if ( self.data[ i ] == thing ) { while ( i < self.count - 1 ) { - self.data[i] = self.data[i + 1]; + self.data[ i ] = self.data[ i + 1 ]; i++; } - self.data[i] = undefined; + self.data[ i ] = undefined; self.count--; break; } @@ -1647,26 +1647,26 @@ _KDTreeInsert( node, data, dem, x0, y0, z0, x1, y1, z1 ) switch ( dem ) { case 0: - if ( data.origin[0] < node.data.origin[0] ) - node.left = self _KDTreeInsert( node.left, data, 1, x0, y0, z0, node.data.origin[0], y1, z1 ); + if ( data.origin[ 0 ] < node.data.origin[ 0 ] ) + node.left = self _KDTreeInsert( node.left, data, 1, x0, y0, z0, node.data.origin[ 0 ], y1, z1 ); else - node.right = self _KDTreeInsert( node.right, data, 1, node.data.origin[0], y0, z0, x1, y1, z1 ); + node.right = self _KDTreeInsert( node.right, data, 1, node.data.origin[ 0 ], y0, z0, x1, y1, z1 ); break; case 1: - if ( data.origin[1] < node.data.origin[1] ) - node.left = self _KDTreeInsert( node.left, data, 2, x0, y0, z0, x1, node.data.origin[1], z1 ); + if ( data.origin[ 1 ] < node.data.origin[ 1 ] ) + node.left = self _KDTreeInsert( node.left, data, 2, x0, y0, z0, x1, node.data.origin[ 1 ], z1 ); else - node.right = self _KDTreeInsert( node.right, data, 2, x0, node.data.origin[1], z0, x1, y1, z1 ); + node.right = self _KDTreeInsert( node.right, data, 2, x0, node.data.origin[ 1 ], z0, x1, y1, z1 ); break; case 2: - if ( data.origin[2] < node.data.origin[2] ) - node.left = self _KDTreeInsert( node.left, data, 0, x0, y0, z0, x1, y1, node.data.origin[2] ); + if ( data.origin[ 2 ] < node.data.origin[ 2 ] ) + node.left = self _KDTreeInsert( node.left, data, 0, x0, y0, z0, x1, y1, node.data.origin[ 2 ] ); else - node.right = self _KDTreeInsert( node.right, data, 0, x0, y0, node.data.origin[2], x1, y1, z1 ); + node.right = self _KDTreeInsert( node.right, data, 0, x0, y0, node.data.origin[ 2 ], x1, y1, z1 ); break; } @@ -1708,7 +1708,7 @@ _KDTreeNearest( node, point, closest, closestdist, dem ) near = node.left; far = node.right; - if ( point[dem] > node.data.origin[dem] ) + if ( point[ dem ] > node.data.origin[ dem ] ) { near = node.right; far = node.left; @@ -1731,21 +1731,21 @@ RectDistanceSquared( origin ) dy = 0; dz = 0; - if ( origin[0] < self.x0 ) - dx = origin[0] - self.x0; - else if ( origin[0] > self.x1 ) - dx = origin[0] - self.x1; + if ( origin[ 0 ] < self.x0 ) + dx = origin[ 0 ] - self.x0; + else if ( origin[ 0 ] > self.x1 ) + dx = origin[ 0 ] - self.x1; - if ( origin[1] < self.y0 ) - dy = origin[1] - self.y0; - else if ( origin[1] > self.y1 ) - dy = origin[1] - self.y1; + if ( origin[ 1 ] < self.y0 ) + dy = origin[ 1 ] - self.y0; + else if ( origin[ 1 ] > self.y1 ) + dy = origin[ 1 ] - self.y1; - if ( origin[2] < self.z0 ) - dz = origin[2] - self.z0; - else if ( origin[2] > self.z1 ) - dz = origin[2] - self.z1; + if ( origin[ 2 ] < self.z0 ) + dz = origin[ 2 ] - self.z0; + else if ( origin[ 2 ] > self.z1 ) + dz = origin[ 2 ] - self.z1; return dx * dx + dy * dy + dz * dz; } @@ -1763,7 +1763,7 @@ doExtraCheck() */ HeapSortCoordX( item, item2 ) { - return item.origin[0] > item2.origin[0]; + return item.origin[ 0 ] > item2.origin[ 0 ]; } /* @@ -1771,7 +1771,7 @@ HeapSortCoordX( item, item2 ) */ HeapSortCoordY( item, item2 ) { - return item.origin[1] > item2.origin[1]; + return item.origin[ 1 ] > item2.origin[ 1 ]; } /* @@ -1779,7 +1779,7 @@ HeapSortCoordY( item, item2 ) */ HeapSortCoordZ( item, item2 ) { - return item.origin[2] > item2.origin[2]; + return item.origin[ 2 ] > item2.origin[ 2 ]; } /* @@ -1803,7 +1803,7 @@ ReverseHeap( item, item2 ) */ HeapTraceFraction( item, item2 ) { - return item["fraction"] > item2["fraction"]; + return item[ "fraction" ] > item2[ "fraction" ]; } /* @@ -1824,7 +1824,7 @@ NewHeap( compare ) HeapInsert( item ) { insert = self.data.size; - self.data[insert] = item; + self.data[ insert ] = item; current = insert + 1; @@ -1833,11 +1833,11 @@ HeapInsert( item ) last = current; current = int( current / 2 ); - if ( ![[self.compare]]( item, self.data[current - 1] ) ) + if ( ![[ self.compare ]]( item, self.data[ current - 1 ] ) ) break; - self.data[last - 1] = self.data[current - 1]; - self.data[current - 1] = item; + self.data[ last - 1 ] = self.data[ current - 1 ]; + self.data[ current - 1 ] = item; } } @@ -1855,7 +1855,7 @@ _HeapNextChild( node, hsize ) if ( right > hsize ) return left; - if ( [[self.compare]]( self.data[left - 1], self.data[right - 1] ) ) + if ( [[ self.compare ]]( self.data[ left - 1 ], self.data[ right - 1 ] ) ) return left; else return right; @@ -1871,9 +1871,9 @@ HeapRemove() if ( !remove ) return remove; - move = self.data[remove - 1]; - self.data[0] = move; - self.data[remove - 1] = undefined; + move = self.data[ remove - 1 ]; + self.data[ 0 ] = move; + self.data[ remove - 1 ] = undefined; remove--; if ( !remove ) @@ -1884,11 +1884,11 @@ HeapRemove() while ( next != -1 ) { - if ( [[self.compare]]( move, self.data[next - 1] ) ) + if ( [[ self.compare ]]( move, self.data[ next - 1 ] ) ) break; - self.data[last - 1] = self.data[next - 1]; - self.data[next - 1] = move; + self.data[ last - 1 ] = self.data[ next - 1 ]; + self.data[ next - 1 ] = move; last = next; next = self _HeapNextChild( next, remove ); @@ -1913,13 +1913,13 @@ RemoveWaypointUsage( wp, team ) 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 ) - level.waypointUsage[team][wp + ""] = undefined; + if ( level.waypointUsage[ team ][ wp + "" ] <= 0 ) + level.waypointUsage[ team ][ wp + "" ] = undefined; } /* @@ -1932,10 +1932,10 @@ GetNearestWaypointWithSight( pos ) for ( i = 0; i < level.waypointCount; i++ ) { - if ( !bulletTracePassed( pos + ( 0, 0, 15 ), level.waypoints[i].origin + ( 0, 0, 15 ), false, undefined ) ) + if ( !bulletTracePassed( pos + ( 0, 0, 15 ), level.waypoints[ i ].origin + ( 0, 0, 15 ), false, undefined ) ) continue; - curdis = DistanceSquared( level.waypoints[i].origin, pos ); + curdis = DistanceSquared( level.waypoints[ i ].origin, pos ); if ( curdis > dist ) continue; @@ -1957,7 +1957,7 @@ GetNearestWaypoint( pos ) for ( i = 0; i < level.waypointCount; i++ ) { - curdis = DistanceSquared( level.waypoints[i].origin, pos ); + curdis = DistanceSquared( level.waypoints[ i ].origin, pos ); if ( curdis > dist ) continue; @@ -1988,7 +1988,7 @@ AStarSearch( start, goal, team, greedy_path ) _startwp = undefined; - if ( !bulletTracePassed( start + ( 0, 0, 15 ), level.waypoints[startWp].origin + ( 0, 0, 15 ), false, undefined ) ) + if ( !bulletTracePassed( start + ( 0, 0, 15 ), level.waypoints[ startWp ].origin + ( 0, 0, 15 ), false, undefined ) ) _startwp = GetNearestWaypointWithSight( start ); if ( isDefined( _startwp ) ) @@ -2002,7 +2002,7 @@ AStarSearch( start, goal, team, greedy_path ) _goalWp = undefined; - if ( !bulletTracePassed( goal + ( 0, 0, 15 ), level.waypoints[goalWp].origin + ( 0, 0, 15 ), false, undefined ) ) + if ( !bulletTracePassed( goal + ( 0, 0, 15 ), level.waypoints[ goalWp ].origin + ( 0, 0, 15 ), false, undefined ) ) _goalwp = GetNearestWaypointWithSight( goal ); if ( isDefined( _goalwp ) ) @@ -2011,23 +2011,23 @@ AStarSearch( start, goal, team, greedy_path ) node = spawnStruct(); node.g = 0; //path dist so far - node.h = DistanceSquared( level.waypoints[startWp].origin, level.waypoints[goalWp].origin ); //herustic, distance to goal for path finding + node.h = DistanceSquared( level.waypoints[ startWp ].origin, level.waypoints[ goalWp ].origin ); //herustic, distance to goal for path finding node.f = node.h + node.g; // combine path dist and heru, use reverse heap to sort the priority queue by this attru node.index = startWp; node.parent = undefined; //we are start, so we have no parent //push node onto queue - openset[node.index + ""] = node; + openset[ node.index + "" ] = node; open HeapInsert( node ); //while the queue is not empty while ( open.data.size ) { //pop bestnode from queue - bestNode = open.data[0]; + bestNode = open.data[ 0 ]; open HeapRemove(); - openset[bestNode.index + ""] = undefined; - wp = level.waypoints[bestNode.index]; + openset[ bestNode.index + "" ] = undefined; + wp = level.waypoints[ bestNode.index ]; //check if we made it to the goal if ( bestNode.index == goalWp ) @@ -2038,14 +2038,14 @@ AStarSearch( start, goal, team, greedy_path ) { if ( isdefined( team ) && isDefined( level.waypointUsage ) ) { - if ( !isDefined( level.waypointUsage[team][bestNode.index + ""] ) ) - level.waypointUsage[team][bestNode.index + ""] = 0; + if ( !isDefined( level.waypointUsage[ team ][ bestNode.index + "" ] ) ) + level.waypointUsage[ team ][ bestNode.index + "" ] = 0; - level.waypointUsage[team][bestNode.index + ""]++; + level.waypointUsage[ team ][ bestNode.index + "" ]++; } //construct path - path[path.size] = bestNode.index; + path[ path.size ] = bestNode.index; bestNode = bestNode.parent; } @@ -2056,8 +2056,8 @@ AStarSearch( start, goal, team, greedy_path ) //for each child of bestnode for ( i = wp.children.size - 1; i >= 0; i-- ) { - child = wp.children[i]; - childWp = level.waypoints[child]; + child = wp.children[ i ]; + childWp = level.waypoints[ child ]; penalty = 1; @@ -2065,8 +2065,8 @@ AStarSearch( start, goal, team, greedy_path ) { temppen = 1; - if ( isDefined( level.waypointUsage[team][child + ""] ) ) - temppen = level.waypointUsage[team][child + ""]; //consider how many bots are taking this path + if ( isDefined( level.waypointUsage[ team ][ child + "" ] ) ) + temppen = level.waypointUsage[ team ][ child + "" ]; //consider how many bots are taking this path if ( temppen > 1 ) penalty = temppen; @@ -2080,45 +2080,45 @@ AStarSearch( start, goal, team, greedy_path ) newg = bestNode.g + DistanceSquared( wp.origin, childWp.origin ) * penalty; //bots on same team's path are more expensive //check if this child is in open or close with a g value less than newg - inopen = isDefined( openset[child + ""] ); + inopen = isDefined( openset[ child + "" ] ); - if ( inopen && openset[child + ""].g <= newg ) + if ( inopen && openset[ child + "" ].g <= newg ) continue; - inclosed = isDefined( closed[child + ""] ); + inclosed = isDefined( closed[ child + "" ] ); - if ( inclosed && closed[child + ""].g <= newg ) + if ( inclosed && closed[ child + "" ].g <= newg ) continue; node = undefined; if ( inopen ) - node = openset[child + ""]; + node = openset[ child + "" ]; else if ( inclosed ) - node = closed[child + ""]; + node = closed[ child + "" ]; else node = spawnStruct(); node.parent = bestNode; node.g = newg; - node.h = DistanceSquared( childWp.origin, level.waypoints[goalWp].origin ); + node.h = DistanceSquared( childWp.origin, level.waypoints[ goalWp ].origin ); node.f = node.g + node.h; node.index = child; //check if in closed, remove it if ( inclosed ) - closed[child + ""] = undefined; + closed[ child + "" ] = undefined; //check if not in open, add it if ( !inopen ) { open HeapInsert( node ); - openset[child + ""] = node; + openset[ child + "" ] = node; } } //done with children, push onto closed - closed[bestNode.index + ""] = bestNode; + closed[ bestNode.index + "" ] = bestNode; } return []; @@ -2135,7 +2135,7 @@ array_average( array ) for ( i = 0; i < array.size; i++ ) { - total += array[i]; + total += array[ i ]; } return ( total / array.size ); @@ -2152,14 +2152,14 @@ array_std_deviation( array, mean ) for ( i = 0; i < array.size; i++ ) { - tmp[i] = ( array[i] - mean ) * ( array[i] - mean ); + tmp[ i ] = ( array[ i ] - mean ) * ( array[ i ] - mean ); } total = 0; for ( i = 0; i < tmp.size; i++ ) { - total = total + tmp[i]; + total = total + tmp[ i ]; } return Sqrt( total / array.size ); @@ -2205,25 +2205,25 @@ random_normal_distribution( mean, std_deviation, lower_bound, upper_bound ) */ onUsePlantObjectFix( player ) { - if ( !maps\mp\gametypes\_gameobjects::isFriendlyTeam( player.pers["team"] ) ) + if ( !maps\mp\gametypes\_gameobjects::isFriendlyTeam( player.pers[ "team" ] ) ) { level thread bombPlantedFix( self, player ); 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" ); player notify( "bomb_planted" ); player notify( "objective", "plant" ); player maps\mp\_utility::incPersStat( "plants", 1 ); - player maps\mp\gametypes\_persistence::statSetChild( "round", "plants", player.pers["plants"] ); + player maps\mp\gametypes\_persistence::statSetChild( "round", "plants", player.pers[ "plants" ] ); - if ( isdefined( level.sd_loadout ) && isdefined( level.sd_loadout[player.team] ) ) + if ( isdefined( level.sd_loadout ) && isdefined( level.sd_loadout[ player.team ] ) ) player thread maps\mp\gametypes\sd::removeBombCarrierClass(); maps\mp\_utility::leaderDialog( "bomb_planted" ); @@ -2244,8 +2244,8 @@ bombPlantedFix( var_0, var_1 ) { maps\mp\gametypes\_gamelogic::pauseTimer(); level.bombPlanted = 1; - var_0.visuals[0] thread maps\mp\gametypes\_gamelogic::playTickingSound(); - level.tickingObject = var_0.visuals[0]; + 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 ) ); setdvar( "ui_bomb_timer", 1 ); @@ -2255,22 +2255,22 @@ bombPlantedFix( var_0, var_1 ) 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.sdBombModel = level.sdBomb.visuals[ 0 ]; } else { for ( var_2 = 0; var_2 < level.players.size; var_2++ ) { - if ( isdefined( level.players[var_2].carryIcon ) ) - level.players[var_2].carryIcon maps\mp\gametypes\_hud_util::destroyElem(); + if ( isdefined( level.players[ var_2 ].carryIcon ) ) + level.players[ var_2 ].carryIcon maps\mp\gametypes\_hud_util::destroyElem(); } var_3 = bullettrace( var_1.origin + ( 0, 0, 20 ), var_1.origin - ( 0, 0, 2000 ), 0, var_1 ); var_4 = randomfloat( 360 ); var_5 = ( cos( var_4 ), sin( var_4 ), 0 ); - var_5 = vectornormalize( var_5 - var_3["normal"] * vectordot( var_5, var_3["normal"] ) ); + 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 = spawn( "script_model", var_3[ "position" ] ); level.sdBombModel.angles = var_6; level.sdBombModel setmodel( "prop_suitcase_bomb" ); } @@ -2281,7 +2281,7 @@ bombPlantedFix( var_0, var_1 ) 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::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::setUseText( &"MP_DEFUSING_EXPLOSIVE" ); @@ -2301,7 +2301,7 @@ bombPlantedFix( var_0, var_1 ) maps\mp\gametypes\sd::BombTimerWait(); setdvar( "ui_bomb_timer", 0 ); - var_0.visuals[0] maps\mp\gametypes\_gamelogic::stopTickingSound(); + var_0.visuals[ 0 ] maps\mp\gametypes\_gamelogic::stopTickingSound(); if ( level.gameEnded || level.bombDefused ) return; @@ -2312,15 +2312,15 @@ bombPlantedFix( var_0, var_1 ) if ( isdefined( var_1 ) ) { - var_0.visuals[0] radiusdamage( var_11, 512, 200, 20, var_1, "MOD_EXPLOSIVE", "bomb_site_mp" ); + var_0.visuals[ 0 ] radiusdamage( var_11, 512, 200, 20, var_1, "MOD_EXPLOSIVE", "bomb_site_mp" ); var_1 maps\mp\_utility::incPersStat( "destructions", 1 ); - var_1 maps\mp\gametypes\_persistence::statSetChild( "round", "destructions", var_1.pers["destructions"] ); + var_1 maps\mp\gametypes\_persistence::statSetChild( "round", "destructions", var_1.pers[ "destructions" ] ); } else - var_0.visuals[0] radiusdamage( var_11, 512, 200, 20, undefined, "MOD_EXPLOSIVE", "bomb_site_mp" ); + var_0.visuals[ 0 ] radiusdamage( var_11, 512, 200, 20, undefined, "MOD_EXPLOSIVE", "bomb_site_mp" ); var_12 = randomfloat( 360 ); - var_13 = spawnfx( level._effect["bombexplosion"], var_11 + ( 0, 0, 50 ), ( 0, 0, 1 ), ( cos( var_12 ), sin( var_12 ), 0 ) ); + var_13 = spawnfx( level._effect[ "bombexplosion" ], var_11 + ( 0, 0, 50 ), ( 0, 0, 1 ), ( cos( var_12 ), sin( var_12 ), 0 ) ); triggerfx( var_13 ); playrumbleonposition( "grenade_rumble", var_11 ); earthquake( 0.75, 2.0, var_11, 2000 ); @@ -2330,12 +2330,12 @@ bombPlantedFix( var_0, var_1 ) common_scripts\utility::exploder( var_0.exploderIndex ); 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(); setgameendtime( 0 ); wait 3; - maps\mp\gametypes\sd::sd_endGame( game["attackers"], game["strings"]["target_destroyed"] ); + maps\mp\gametypes\sd::sd_endGame( game[ "attackers" ], game[ "strings" ][ "target_destroyed" ] ); } /* @@ -2375,31 +2375,31 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary clonedLoadout = []; - if ( isdefined( self.pers["copyCatLoadout"] ) && self.pers["copyCatLoadout"]["inUse"] && allowCopycat ) + if ( isdefined( self.pers[ "copyCatLoadout" ] ) && self.pers[ "copyCatLoadout" ][ "inUse" ] && allowCopycat ) { self maps\mp\gametypes\_class::setClass( "copycat" ); self.class_num = maps\mp\gametypes\_class::getClassIndex( "copycat" ); - clonedLoadout = self.pers["copyCatLoadout"]; - loadoutPrimary = clonedLoadout["loadoutPrimary"]; - loadoutPrimaryAttachment = clonedLoadout["loadoutPrimaryAttachment"]; - loadoutPrimaryAttachment2 = clonedLoadout["loadoutPrimaryAttachment2"]; - loadoutPrimaryBuff = clonedLoadout["loadoutPrimaryBuff"]; - loadoutPrimaryCamo = clonedLoadout["loadoutPrimaryCamo"]; - loadoutPrimaryReticle = clonedLoadout["loadoutPrimaryReticle"]; - loadoutSecondary = clonedLoadout["loadoutSecondary"]; - loadoutSecondaryAttachment = clonedLoadout["loadoutSecondaryAttachment"]; - loadoutSecondaryAttachment2 = clonedLoadout["loadoutSecondaryAttachment2"]; - loadoutSecondaryBuff = clonedLoadout["loadoutSecondaryBuff"]; - loadoutSecondaryCamo = clonedLoadout["loadoutSecondaryCamo"]; - loadoutSecondaryReticle = clonedLoadout["loadoutSecondaryReticle"]; - loadoutEquipment = clonedLoadout["loadoutEquipment"]; - loadoutPerk1 = clonedLoadout["loadoutPerk1"]; - loadoutPerk2 = clonedLoadout["loadoutPerk2"]; - loadoutPerk3 = clonedLoadout["loadoutPerk3"]; - loadoutStreakType = clonedLoadout["loadoutStreakType"]; - loadoutOffhand = clonedLoadout["loadoutOffhand"]; - loadoutDeathStreak = clonedLoadout["loadoutDeathstreak"]; - loadoutAmmoType = clonedLoadout["loadoutAmmoType"]; + clonedLoadout = self.pers[ "copyCatLoadout" ]; + loadoutPrimary = clonedLoadout[ "loadoutPrimary" ]; + loadoutPrimaryAttachment = clonedLoadout[ "loadoutPrimaryAttachment" ]; + loadoutPrimaryAttachment2 = clonedLoadout[ "loadoutPrimaryAttachment2" ]; + loadoutPrimaryBuff = clonedLoadout[ "loadoutPrimaryBuff" ]; + loadoutPrimaryCamo = clonedLoadout[ "loadoutPrimaryCamo" ]; + loadoutPrimaryReticle = clonedLoadout[ "loadoutPrimaryReticle" ]; + loadoutSecondary = clonedLoadout[ "loadoutSecondary" ]; + loadoutSecondaryAttachment = clonedLoadout[ "loadoutSecondaryAttachment" ]; + loadoutSecondaryAttachment2 = clonedLoadout[ "loadoutSecondaryAttachment2" ]; + loadoutSecondaryBuff = clonedLoadout[ "loadoutSecondaryBuff" ]; + loadoutSecondaryCamo = clonedLoadout[ "loadoutSecondaryCamo" ]; + loadoutSecondaryReticle = clonedLoadout[ "loadoutSecondaryReticle" ]; + loadoutEquipment = clonedLoadout[ "loadoutEquipment" ]; + loadoutPerk1 = clonedLoadout[ "loadoutPerk1" ]; + loadoutPerk2 = clonedLoadout[ "loadoutPerk2" ]; + loadoutPerk3 = clonedLoadout[ "loadoutPerk3" ]; + loadoutStreakType = clonedLoadout[ "loadoutStreakType" ]; + loadoutOffhand = clonedLoadout[ "loadoutOffhand" ]; + loadoutDeathStreak = clonedLoadout[ "loadoutDeathstreak" ]; + loadoutAmmoType = clonedLoadout[ "loadoutAmmoType" ]; } else if ( teamName != "none" ) { @@ -2517,19 +2517,19 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary } else if ( class == "gamemode" ) { - gamemodeLoadout = self.pers["gamemodeLoadout"]; - loadoutPrimary = gamemodeLoadout["loadoutPrimary"]; - loadoutPrimaryAttachment = gamemodeLoadout["loadoutPrimaryAttachment"]; - loadoutPrimaryAttachment2 = gamemodeLoadout["loadoutPrimaryAttachment2"]; - loadoutPrimaryBuff = gamemodeLoadout["loadoutPrimaryBuff"]; - loadoutPrimaryCamo = gamemodeLoadout["loadoutPrimaryCamo"]; - loadoutPrimaryReticle = gamemodeLoadout["loadoutPrimaryReticle"]; - loadoutSecondary = gamemodeLoadout["loadoutSecondary"]; - loadoutSecondaryAttachment = gamemodeLoadout["loadoutSecondaryAttachment"]; - loadoutSecondaryAttachment2 = gamemodeLoadout["loadoutSecondaryAttachment2"]; - loadoutSecondaryBuff = gamemodeLoadout["loadoutSecondaryBuff"]; - loadoutSecondaryCamo = gamemodeLoadout["loadoutSecondaryCamo"]; - loadoutSecondaryReticle = gamemodeLoadout["loadoutSecondaryReticle"]; + gamemodeLoadout = self.pers[ "gamemodeLoadout" ]; + loadoutPrimary = gamemodeLoadout[ "loadoutPrimary" ]; + loadoutPrimaryAttachment = gamemodeLoadout[ "loadoutPrimaryAttachment" ]; + loadoutPrimaryAttachment2 = gamemodeLoadout[ "loadoutPrimaryAttachment2" ]; + loadoutPrimaryBuff = gamemodeLoadout[ "loadoutPrimaryBuff" ]; + loadoutPrimaryCamo = gamemodeLoadout[ "loadoutPrimaryCamo" ]; + loadoutPrimaryReticle = gamemodeLoadout[ "loadoutPrimaryReticle" ]; + loadoutSecondary = gamemodeLoadout[ "loadoutSecondary" ]; + loadoutSecondaryAttachment = gamemodeLoadout[ "loadoutSecondaryAttachment" ]; + loadoutSecondaryAttachment2 = gamemodeLoadout[ "loadoutSecondaryAttachment2" ]; + loadoutSecondaryBuff = gamemodeLoadout[ "loadoutSecondaryBuff" ]; + loadoutSecondaryCamo = gamemodeLoadout[ "loadoutSecondaryCamo" ]; + loadoutSecondaryReticle = gamemodeLoadout[ "loadoutSecondaryReticle" ]; if ( ( loadoutPrimary == "throwingknife" || loadoutPrimary == "none" ) && loadoutSecondary != "none" ) { @@ -2553,15 +2553,15 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary loadoutPrimaryAttachment = "tactical"; } - loadoutEquipment = gamemodeLoadout["loadoutEquipment"]; - loadoutOffhand = gamemodeLoadout["loadoutOffhand"]; + loadoutEquipment = gamemodeLoadout[ "loadoutEquipment" ]; + loadoutOffhand = gamemodeLoadout[ "loadoutOffhand" ]; if ( loadoutOffhand == "specialty_null" ) loadoutOffhand = "none"; - loadoutPerk1 = gamemodeLoadout["loadoutPerk1"]; - loadoutPerk2 = gamemodeLoadout["loadoutPerk2"]; - loadoutPerk3 = gamemodeLoadout["loadoutPerk3"]; + loadoutPerk1 = gamemodeLoadout[ "loadoutPerk1" ]; + loadoutPerk2 = gamemodeLoadout[ "loadoutPerk2" ]; + loadoutPerk3 = gamemodeLoadout[ "loadoutPerk3" ]; if ( loadoutSecondary != "none" && !maps\mp\gametypes\_class::isValidSecondary( loadoutSecondary, loadoutPerk2, 0 ) ) { @@ -2573,12 +2573,12 @@ 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"]; + loadoutStreakType = gamemodeLoadout[ "loadoutStreakType" ]; + loadoutKillstreak1 = gamemodeLoadout[ "loadoutKillstreak1" ]; + loadoutKillstreak2 = gamemodeLoadout[ "loadoutKillstreak2" ]; + loadoutKillstreak3 = gamemodeLoadout[ "loadoutKillstreak3" ]; } else if ( level.killstreakRewards && isdefined( self.streakType ) ) loadoutStreakType = maps\mp\gametypes\_class::getLoadoutStreakTypeFromStreakType( self.streakType ); @@ -2590,9 +2590,9 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary loadoutKillstreak3 = "none"; } - loadoutDeathStreak = gamemodeLoadout["loadoutDeathstreak"]; + loadoutDeathStreak = gamemodeLoadout[ "loadoutDeathstreak" ]; - if ( gamemodeLoadout["loadoutJuggernaut"] ) + if ( gamemodeLoadout[ "loadoutJuggernaut" ] ) { self.health = self.maxHealth; self thread recipeClassApplyJuggernaut( isJuggernaut() ); @@ -2709,7 +2709,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary isRecipeClass = issubstr( class, "recipe" ); isGameModeClass = ( class == "gamemode" ); - if ( !isGameModeClass && !isRecipeClass && !( isdefined( self.pers["copyCatLoadout"] ) && self.pers["copyCatLoadout"]["inUse"] && allowCopycat ) ) + if ( !isGameModeClass && !isRecipeClass && !( isdefined( self.pers[ "copyCatLoadout" ] ) && self.pers[ "copyCatLoadout" ][ "inUse" ] && allowCopycat ) ) { if ( !maps\mp\gametypes\_class::isValidPrimary( loadoutPrimary ) ) loadoutPrimary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, 10, 0 ); @@ -2810,12 +2810,12 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary self _giveWeapon( secondaryName ); weaponTokens = strtok( secondaryName, "_" ); - if ( weaponTokens[0] == "iw5" ) - weaponTokens[0] = weaponTokens[0] + "_" + weaponTokens[1]; - else if ( weaponTokens[0] == "alt" ) - weaponTokens[0] = weaponTokens[1] + "_" + weaponTokens[2]; + if ( weaponTokens[ 0 ] == "iw5" ) + weaponTokens[ 0 ] = weaponTokens[ 0 ] + "_" + weaponTokens[ 1 ]; + else if ( weaponTokens[ 0 ] == "alt" ) + weaponTokens[ 0 ] = weaponTokens[ 1 ] + "_" + weaponTokens[ 2 ]; - weaponName = weaponTokens[0]; + weaponName = weaponTokens[ 0 ]; curWeaponRank = self maps\mp\gametypes\_rank::getWeaponRank( weaponName ); curWeaponStatRank = self getplayerdata( "weaponRank", weaponName ); @@ -2851,27 +2851,27 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary if ( !self _hasPerk( "specialty_blindeye" ) && self.avoidKillstreakOnSpawnTimer > 0 ) self thread maps\mp\perks\_perks::giveBlindEyeAfterSpawn(); - if ( self.pers["cur_death_streak"] > 0 ) + if ( self.pers[ "cur_death_streak" ] > 0 ) { deathStreaks = []; if ( loadoutDeathStreak != "specialty_null" ) - deathStreaks[loadoutDeathStreak] = int( tablelookup( "mp/perkTable.csv", 1, loadoutDeathStreak, 6 ) ); + deathStreaks[ loadoutDeathStreak ] = int( tablelookup( "mp/perkTable.csv", 1, loadoutDeathStreak, 6 ) ); if ( self getPerkUpgrade( loadoutPerk1 ) == "specialty_rollover" || self getPerkUpgrade( loadoutPerk2 ) == "specialty_rollover" || getPerkUpgrade( loadoutPerk3 ) == "specialty_rollover" ) { foreach ( key, value in deathStreaks ) - deathStreaks[key] -= 1; + deathStreaks[ key ] -= 1; } foreach ( key, value in deathStreaks ) { - if ( self.pers["cur_death_streak"] >= value ) + if ( self.pers[ "cur_death_streak" ] >= value ) { - if ( key == "specialty_carepackage" && self.pers["cur_death_streak"] > value ) + if ( key == "specialty_carepackage" && self.pers[ "cur_death_streak" ] > value ) continue; - if ( key == "specialty_uav" && self.pers["cur_death_streak"] > value ) + if ( key == "specialty_uav" && self.pers[ "cur_death_streak" ] > value ) continue; self thread givePerk( key, true ); @@ -2882,11 +2882,11 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary if ( level.killstreakRewards && !isdefined( loadoutKillstreak1 ) && !isdefined( loadoutKillstreak2 ) && !isdefined( loadoutKillstreak3 ) ) { - if ( isdefined( self.pers["copyCatLoadout"] ) && self.pers["copyCatLoadout"]["inUse"] && allowCopycat ) + if ( isdefined( self.pers[ "copyCatLoadout" ] ) && self.pers[ "copyCatLoadout" ][ "inUse" ] && allowCopycat ) { - loadoutKillstreak1 = clonedLoadout["loadoutKillstreak1"]; - loadoutKillstreak2 = clonedLoadout["loadoutKillstreak2"]; - loadoutKillstreak3 = clonedLoadout["loadoutKillstreak3"]; + loadoutKillstreak1 = clonedLoadout[ "loadoutKillstreak1" ]; + loadoutKillstreak2 = clonedLoadout[ "loadoutKillstreak2" ]; + loadoutKillstreak3 = clonedLoadout[ "loadoutKillstreak3" ]; } else { @@ -2953,9 +2953,9 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary if ( isGameModeClass && self.streakType == "specialist" ) { - self.pers["gamemodeLoadout"]["loadoutKillstreak1"] = loadoutKillstreak1; - self.pers["gamemodeLoadout"]["loadoutKillstreak2"] = loadoutKillstreak2; - self.pers["gamemodeLoadout"]["loadoutKillstreak3"] = loadoutKillstreak3; + self.pers[ "gamemodeLoadout" ][ "loadoutKillstreak1" ] = loadoutKillstreak1; + self.pers[ "gamemodeLoadout" ][ "loadoutKillstreak2" ] = loadoutKillstreak2; + self.pers[ "gamemodeLoadout" ][ "loadoutKillstreak3" ] = loadoutKillstreak3; } } @@ -3011,22 +3011,22 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary streakNames = []; inc = 0; - if ( self.pers["killstreaks"].size > 5 ) + if ( self.pers[ "killstreaks" ].size > 5 ) { - for ( i = 5; i < self.pers["killstreaks"].size; i++ ) + for ( i = 5; i < self.pers[ "killstreaks" ].size; i++ ) { - streakNames[inc] = self.pers["killstreaks"][i].streakName; + streakNames[ inc ] = self.pers[ "killstreaks" ][ i ].streakName; inc++; } } - if ( self.pers["killstreaks"].size ) + if ( self.pers[ "killstreaks" ].size ) { 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++; } } @@ -3036,7 +3036,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary self maps\mp\killstreaks\_killstreaks::clearKillstreaks(); for ( i = 0; i < streakNames.size; i++ ) - self maps\mp\killstreaks\_killstreaks::giveKillstreak( streakNames[i] ); + self maps\mp\killstreaks\_killstreaks::giveKillstreak( streakNames[ i ] ); } } @@ -3045,14 +3045,14 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary if ( isdefined( self.lastClass ) && self.lastClass != "" && self.lastClass != self.class ) self incPlayerStat( "mostclasseschanged", 1 ); - self.pers["lastClass"] = self.class; + self.pers[ "lastClass" ] = self.class; self.lastClass = self.class; } if ( isdefined( self.gamemode_chosenclass ) ) { - self.pers["class"] = self.gamemode_chosenclass; - self.pers["lastClass"] = self.gamemode_chosenclass; + self.pers[ "class" ] = self.gamemode_chosenclass; + self.pers[ "lastClass" ] = self.gamemode_chosenclass; self.class = self.gamemode_chosenclass; self.lastClass = self.gamemode_chosenclass; self.gamemode_chosenclass = undefined; @@ -3063,12 +3063,12 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary self switchtoweapon( primaryName ); weaponTokens = strtok( primaryName, "_" ); - if ( weaponTokens[0] == "iw5" ) - weaponName = weaponTokens[0] + "_" + weaponTokens[1]; - else if ( weaponTokens[0] == "alt" ) - weaponName = weaponTokens[1] + "_" + weaponTokens[2]; + if ( weaponTokens[ 0 ] == "iw5" ) + weaponName = weaponTokens[ 0 ] + "_" + weaponTokens[ 1 ]; + else if ( weaponTokens[ 0 ] == "alt" ) + weaponName = weaponTokens[ 1 ] + "_" + weaponTokens[ 2 ]; else - weaponName = weaponTokens[0]; + weaponName = weaponTokens[ 0 ]; curWeaponRank = self maps\mp\gametypes\_rank::getWeaponRank( weaponName ); curWeaponStatRank = self getplayerdata( "weaponRank", weaponName ); @@ -3085,7 +3085,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary if ( setPrimarySpawnWeapon ) self setspawnweapon( primaryName ); - self.pers["primaryWeapon"] = weaponName; + self.pers[ "primaryWeapon" ] = weaponName; primaryTokens = strtok( primaryName, "_" ); offhandSecondaryWeapon = loadoutOffhand; @@ -3133,7 +3133,7 @@ botGiveLoadout( team, class, allowCopycat, setPrimarySpawnWeapon ) // setPrimary self setweaponammostock( self.primaryWeapon, 0 ); } - self playerModelForWeapon( self.pers["primaryWeapon"], getBaseWeaponName( secondaryName ) ); + self playerModelForWeapon( self.pers[ "primaryWeapon" ], getBaseWeaponName( secondaryName ) ); self.isSniper = ( weaponclass( self.primaryWeapon ) == "sniper" ); self maps\mp\gametypes\_weapons::updateMoveSpeedScale(); self maps\mp\perks\_perks::cac_selector(); @@ -3151,7 +3151,7 @@ getPerkUpgrade( perkName ) if ( perkUpgrade == "" || perkUpgrade == "specialty_null" ) return "specialty_null"; - if ( !isDefined( self.pers["bots"]["unlocks"]["upgraded_" + perkName] ) || !self.pers["bots"]["unlocks"]["upgraded_" + perkName] ) + if ( !isDefined( self.pers[ "bots" ][ "unlocks" ][ "upgraded_" + perkName ] ) || !self.pers[ "bots" ][ "unlocks" ][ "upgraded_" + perkName ] ) return "specialty_null"; return ( perkUpgrade ); @@ -3196,30 +3196,30 @@ loadoutAllPerks( loadoutEquipment, loadoutPerk1, loadoutPerk2, loadoutPerk3, loa if ( loadoutPrimaryBuff != "specialty_null" ) self givePerk( loadoutPrimaryBuff, true ); - perkUpgrd[0] = tablelookup( "mp/perktable.csv", 1, loadoutPerk1, 8 ); - perkUpgrd[1] = tablelookup( "mp/perktable.csv", 1, loadoutPerk2, 8 ); - perkUpgrd[2] = tablelookup( "mp/perktable.csv", 1, loadoutPerk3, 8 ); + perkUpgrd[ 0 ] = tablelookup( "mp/perktable.csv", 1, loadoutPerk1, 8 ); + perkUpgrd[ 1 ] = tablelookup( "mp/perktable.csv", 1, loadoutPerk2, 8 ); + perkUpgrd[ 2 ] = tablelookup( "mp/perktable.csv", 1, loadoutPerk3, 8 ); - perks[0] = loadoutPerk1; - perks[1] = loadoutPerk2; - perks[2] = loadoutPerk3; + perks[ 0 ] = loadoutPerk1; + perks[ 1 ] = loadoutPerk2; + perks[ 2 ] = loadoutPerk3; for ( i = 0; i < perkUpgrd.size; i++ ) { - upgrade = perkUpgrd[i]; - perk = perks[i]; + upgrade = perkUpgrd[ i ]; + perk = perks[ i ]; if ( upgrade == "" || upgrade == "specialty_null" ) continue; - if ( isDefined( self.pers["bots"]["unlocks"]["upgraded_" + perk] ) && self.pers["bots"]["unlocks"]["upgraded_" + perk] ) + if ( isDefined( self.pers[ "bots" ][ "unlocks" ][ "upgraded_" + perk ] ) && self.pers[ "bots" ][ "unlocks" ][ "upgraded_" + perk ] ) { self givePerk( upgrade, true ); } } if ( !self _hasPerk( "specialty_assists" ) ) - self.pers["assistsToKill"] = 0; + self.pers[ "assistsToKill" ] = 0; } /* @@ -3229,9 +3229,9 @@ playerModelForWeapon( weapon, secondary ) { team = self.team; - if ( isdefined( game[team + "_model"][weapon] ) ) + if ( isdefined( game[ team + "_model" ][ weapon ] ) ) { - [[ game[team + "_model"][weapon] ]](); + [[ game[ team + "_model" ][ weapon ] ]](); return; } @@ -3240,38 +3240,38 @@ playerModelForWeapon( weapon, secondary ) switch ( weaponClass ) { case "weapon_smg": - [[ game[team + "_model"]["SMG"] ]](); + [[ game[ team + "_model" ][ "SMG" ] ]](); break; case "weapon_assault": - [[ game[team + "_model"]["ASSAULT"] ]](); + [[ game[ team + "_model" ][ "ASSAULT" ] ]](); break; case "weapon_sniper": - if ( level.environment != "" && game[team] != "opforce_africa" && isDefined( self.pers["bots"]["unlocks"]["ghillie"] ) && self.pers["bots"]["unlocks"]["ghillie"] ) - [[ game[team + "_model"]["GHILLIE"] ]](); + if ( level.environment != "" && game[ team ] != "opforce_africa" && isDefined( self.pers[ "bots" ][ "unlocks" ][ "ghillie" ] ) && self.pers[ "bots" ][ "unlocks" ][ "ghillie" ] ) + [[ game[ team + "_model" ][ "GHILLIE" ] ]](); else - [[ game[team + "_model"]["SNIPER"] ]](); + [[ game[ team + "_model" ][ "SNIPER" ] ]](); break; case "weapon_lmg": - [[ game[team + "_model"]["LMG"] ]](); + [[ game[ team + "_model" ][ "LMG" ] ]](); break; case "weapon_riot": - [[ game[team + "_model"]["RIOT"] ]](); + [[ game[ team + "_model" ][ "RIOT" ] ]](); break; case "weapon_shotgun": - [[ game[team + "_model"]["SHOTGUN"] ]](); + [[ game[ team + "_model" ][ "SHOTGUN" ] ]](); break; default: - [[ game[team + "_model"]["ASSAULT"] ]](); + [[ game[ team + "_model" ][ "ASSAULT" ] ]](); break; } if ( isJuggernaut() ) - [[ game[team + "_model"]["JUGGERNAUT"] ]](); + [[ game[ team + "_model" ][ "JUGGERNAUT" ] ]](); } diff --git a/maps/mp/bots/_menu.gsc b/maps/mp/bots/_menu.gsc index 6eec07c..00b4fdf 100644 --- a/maps/mp/bots/_menu.gsc +++ b/maps/mp/bots/_menu.gsc @@ -32,7 +32,7 @@ watchPlayers() for ( i = level.players.size - 1; i >= 0; i-- ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_host() ) continue; @@ -58,7 +58,7 @@ init_menu() self.menuOpen = false; self.menu_player = undefined; self.SubMenu = "Main"; - self.Curs["Main"]["X"] = 0; + self.Curs[ "Main" ][ "X" ] = 0; self AddOptions(); self thread watchPlayerOpenMenu(); @@ -81,21 +81,21 @@ watchDisconnect() { if ( isDefined( self.MenuTextY ) ) for ( i = 0; i < self.MenuTextY.size; i++ ) - if ( isDefined( self.MenuTextY[i] ) ) - self.MenuTextY[i] destroy(); + if ( isDefined( self.MenuTextY[ i ] ) ) + self.MenuTextY[ i ] destroy(); if ( isDefined( self.MenuText ) ) for ( i = 0; i < self.MenuText.size; i++ ) - if ( isDefined( self.MenuText[i] ) ) - self.MenuText[i] destroy(); + if ( isDefined( self.MenuText[ i ] ) ) + 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"] ) ) - self.Menu["X"]["Shader"] destroy(); + if ( isDefined( self.Menu[ "X" ][ "Shader" ] ) ) + self.Menu[ "X" ][ "Shader" ] destroy(); - if ( isDefined( self.Menu["X"]["Scroller"] ) ) - self.Menu["X"]["Scroller"] destroy(); + if ( isDefined( self.Menu[ "X" ][ "Scroller" ] ) ) + self.Menu[ "X" ][ "Scroller" ] destroy(); } if ( isDefined( self.menuVersionHud ) ) @@ -164,9 +164,9 @@ MenuSelect() self playLocalSound( "mouse_click" ); 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" ] ] ); } } } @@ -185,10 +185,10 @@ LeftMenu() if ( self.MenuOpen && self.SubMenu == "Main" ) { self playLocalSound( "mouse_over" ); - self.Curs["Main"]["X"]--; + self.Curs[ "Main" ][ "X" ]--; - if ( self.Curs["Main"]["X"] < 0 ) - self.Curs["Main"]["X"] = self.Option["Name"][self.SubMenu].size - 1; + if ( self.Curs[ "Main" ][ "X" ] < 0 ) + self.Curs[ "Main" ][ "X" ] = self.Option[ "Name" ][ self.SubMenu ].size - 1; self CursMove( "X" ); } @@ -209,10 +209,10 @@ RightMenu() 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 ) - self.Curs["Main"]["X"] = 0; + if ( self.Curs[ "Main" ][ "X" ] > self.Option[ "Name" ][ self.SubMenu ].size - 1 ) + self.Curs[ "Main" ][ "X" ] = 0; self CursMove( "X" ); } @@ -233,10 +233,10 @@ UpMenu() 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 ) - self.Curs[self.SubMenu]["Y"] = self.Option["Name"][self.SubMenu].size - 1; + if ( self.Curs[ self.SubMenu ][ "Y" ] < 0 ) + self.Curs[ self.SubMenu ][ "Y" ] = self.Option[ "Name" ][ self.SubMenu ].size - 1; self CursMove( "Y" ); } @@ -257,10 +257,10 @@ DownMenu() 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 ) - self.Curs[self.SubMenu]["Y"] = 0; + if ( self.Curs[ self.SubMenu ][ "Y" ] > self.Option[ "Name" ][ self.SubMenu ].size - 1 ) + self.Curs[ self.SubMenu ][ "Y" ] = 0; self CursMove( "Y" ); } @@ -269,10 +269,10 @@ 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; @@ -282,47 +282,47 @@ OpenSub( menu, menu2 ) { if ( isDefined( self.MenuText ) ) for ( i = 0; i < self.MenuText.size; i++ ) - if ( isDefined( self.MenuText[i] ) ) - self.MenuText[i] destroy(); + if ( isDefined( self.MenuText[ i ] ) ) + 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"] ) ) - self.Menu["X"]["Shader"] destroy(); + if ( isDefined( self.Menu[ "X" ][ "Shader" ] ) ) + self.Menu[ "X" ][ "Shader" ] destroy(); - if ( isDefined( self.Menu["X"]["Scroller"] ) ) - self.Menu["X"]["Scroller"] destroy(); + if ( isDefined( self.Menu[ "X" ][ "Scroller" ] ) ) + self.Menu[ "X" ][ "Scroller" ] destroy(); } if ( isDefined( self.menuVersionHud ) ) 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" ); @@ -334,16 +334,16 @@ OpenSub( menu, menu2 ) { if ( isDefined( self.MenuTextY ) ) for ( i = 0 ; i < self.MenuTextY.size ; i++ ) - if ( isDefined( self.MenuTextY[i] ) ) - self.MenuTextY[i] destroy(); + if ( isDefined( self.MenuTextY[ i ] ) ) + 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" ); @@ -356,18 +356,18 @@ CursMove( direction ) 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 ) ) { 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; } } } @@ -380,11 +380,11 @@ CursMove( direction ) { 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; } } } @@ -393,11 +393,11 @@ CursMove( direction ) { 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; } } } @@ -426,47 +426,47 @@ ShowOptionOn( variable ) 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 ) 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 ) ) { - 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] ) ) - self.MenuText[i] settext( self.Option["Name"][self.SubMenu][i] ); + if ( isDefined( self.MenuText[ 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 ) 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 ) ) { - 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] ) ) - self.MenuTextY[i] settext( self.Option["Name"][self.SubMenu][i] ); + if ( isDefined( self.MenuTextY[ i ] ) ) + self.MenuTextY[ i ] settext( self.Option[ "Name" ][ self.SubMenu ][ i ] ); } } } @@ -477,25 +477,25 @@ 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 ) ) for ( i = 0; i < self.MenuTextY.size; i++ ) - if ( isDefined( self.MenuTextY[i] ) ) - self.MenuTextY[i] destroy(); + if ( isDefined( self.MenuTextY[ i ] ) ) + self.MenuTextY[ i ] destroy(); - self.SubMenu = self.Menu["Back"][self.Submenu]; + self.SubMenu = self.Menu[ "Back" ][ self.Submenu ]; if ( self.SubMenu == "Main" ) self CursMove( "X" ); @@ -507,16 +507,16 @@ ExitMenu() { if ( isDefined( self.MenuText ) ) for ( i = 0; i < self.MenuText.size; i++ ) - if ( isDefined( self.MenuText[i] ) ) - self.MenuText[i] destroy(); + if ( isDefined( self.MenuText[ i ] ) ) + 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"] ) ) - self.Menu["X"]["Shader"] destroy(); + if ( isDefined( self.Menu[ "X" ][ "Shader" ] ) ) + self.Menu[ "X" ][ "Shader" ] destroy(); - if ( isDefined( self.Menu["X"]["Scroller"] ) ) - self.Menu["X"]["Scroller"] destroy(); + if ( isDefined( self.Menu[ "X" ][ "Scroller" ] ) ) + self.Menu[ "X" ][ "Scroller" ] destroy(); } if ( isDefined( self.menuVersionHud ) ) diff --git a/maps/mp/bots/_wp_editor.gsc b/maps/mp/bots/_wp_editor.gsc index 0855d07..de6f4c9 100644 --- a/maps/mp/bots/_wp_editor.gsc +++ b/maps/mp/bots/_wp_editor.gsc @@ -165,15 +165,15 @@ drawWaypoint( i ) level.drawn_wps = []; newdeathicon = newHudElem(); - newdeathicon.x = level.waypoints[i].origin[0]; - newdeathicon.y = level.waypoints[i].origin[1]; - newdeathicon.z = level.waypoints[i].origin[2] + 50; + newdeathicon.x = level.waypoints[ i ].origin[ 0 ]; + newdeathicon.y = level.waypoints[ i ].origin[ 1 ]; + newdeathicon.z = level.waypoints[ i ].origin[ 2 ] + 50; newdeathicon.alpha = .61; newdeathicon.archived = true; newdeathicon setShader( "headicon_dead", 5, 5 ); newdeathicon setwaypoint( true, false ); - level.drawn_wps[level.drawn_wps.size] = newdeathicon; + level.drawn_wps[ level.drawn_wps.size ] = newdeathicon; } drawPath( where ) @@ -182,15 +182,15 @@ drawPath( where ) level.drawn_wps = []; newdeathicon = newHudElem(); - newdeathicon.x = where[0]; - newdeathicon.y = where[1]; - newdeathicon.z = where[2] + 20; + newdeathicon.x = where[ 0 ]; + newdeathicon.y = where[ 1 ]; + newdeathicon.z = where[ 2 ] + 20; newdeathicon.alpha = .61; newdeathicon.archived = true; newdeathicon setShader( "headicon_dead", 5, 5 ); newdeathicon setwaypoint( true, false ); - level.drawn_wps[level.drawn_wps.size] = newdeathicon; + level.drawn_wps[ level.drawn_wps.size ] = newdeathicon; } clearWaypoints() @@ -200,7 +200,7 @@ clearWaypoints() for ( i = 0; i < level.drawn_wps.size; i++ ) { - level.drawn_wps[i] destroy(); + level.drawn_wps[ i ] destroy(); } level.drawn_wps = []; @@ -213,12 +213,12 @@ clearWpLinks() for ( i = 0; i < level.waypointCount; i++ ) { - level.waypoints[i].drawn_links = []; + level.waypoints[ i ].drawn_links = []; } for ( i = 0; i < level.drawn_links.size; i++ ) { - level.drawn_links[i] delete (); + level.drawn_links[ i ] delete(); } level.drawn_links = []; @@ -229,20 +229,20 @@ showWpLink( i, h ) if ( !isDefined( level.drawn_links ) ) level.drawn_links = []; - if ( !isDefined( level.waypoints[i].drawn_links ) ) - level.waypoints[i].drawn_links = []; + if ( !isDefined( level.waypoints[ i ].drawn_links ) ) + level.waypoints[ i ].drawn_links = []; - if ( !isDefined( level.waypoints[h].drawn_links ) ) - level.waypoints[h].drawn_links = []; + if ( !isDefined( level.waypoints[ h ].drawn_links ) ) + level.waypoints[ h ].drawn_links = []; - if ( isDefined( level.waypoints[h].drawn_links["" + i] ) || isDefined( level.waypoints[i].drawn_links["" + h] ) ) + if ( isDefined( level.waypoints[ h ].drawn_links[ "" + i ] ) || isDefined( level.waypoints[ i ].drawn_links[ "" + h ] ) ) return; - level.waypoints[h].drawn_links["" + i] = true; - level.waypoints[i].drawn_links["" + h] = true; + level.waypoints[ h ].drawn_links[ "" + i ] = true; + level.waypoints[ i ].drawn_links[ "" + h ] = true; - start = level.waypoints[i].origin + ( 0, 0, 45 ); - end = level.waypoints[h].origin + ( 0, 0, 45 ); + start = level.waypoints[ i ].origin + ( 0, 0, 45 ); + end = level.waypoints[ h ].origin + ( 0, 0, 45 ); diff = end - start; dir = VectorToAngles( diff ); @@ -255,14 +255,14 @@ showWpLink( i, h ) dash setModel( "weapon_parabolic_knife" ); dash.angles = dir; - level.drawn_links[level.drawn_links.size] = dash; + level.drawn_links[ level.drawn_links.size ] = dash; } dash = spawn( "script_model", end ); dash setModel( "weapon_parabolic_knife" ); dash.angles = dir; - level.drawn_links[level.drawn_links.size] = dash; + level.drawn_links[ level.drawn_links.size ] = dash; } updateWaypointsStats() @@ -307,12 +307,12 @@ updateWaypointsStats() for ( i = 0; i < level.waypointCount; i++ ) { - if ( closest == -1 || closer( self.origin, level.waypoints[i].origin, level.waypoints[closest].origin ) ) + if ( closest == -1 || closer( self.origin, level.waypoints[ i ].origin, level.waypoints[ closest ].origin ) ) closest = i; - wpOrg = level.waypoints[i].origin + ( 0, 0, 25 ); + wpOrg = level.waypoints[ i ].origin + ( 0, 0, 25 ); - if ( distance( level.waypoints[i].origin, self.origin ) < getDvarFloat( "bots_main_debug_distance" ) && ( bulletTracePassed( myEye, wpOrg, false, self ) || getDVarint( "bots_main_debug_drawThrough" ) ) ) + if ( distance( level.waypoints[ i ].origin, self.origin ) < getDvarFloat( "bots_main_debug_distance" ) && ( bulletTracePassed( myEye, wpOrg, false, self ) || getDVarint( "bots_main_debug_drawThrough" ) ) ) { if ( timeToUpdate ) { @@ -320,23 +320,23 @@ updateWaypointsStats() { drawWaypoint( i ); - for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- ) - showWpLink( i, level.waypoints[i].children[h] ); + for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- ) + showWpLink( i, level.waypoints[ i ].children[ h ] ); } } // mw3 doesnt have debug gsc calls :( - /* for(h = level.waypoints[i].children.size - 1; h >= 0; h--) - line(wpOrg, level.waypoints[level.waypoints[i].children[h]].origin + (0, 0, 25), (1,0,1)); + /* for(h = level.waypoints[ i ].children.size - 1; h >= 0; h--) + line(wpOrg, level.waypoints[ level.waypoints[ i ].children[ h ] ].origin + (0, 0, 25), (1,0,1)); if(getConeDot(wpOrg, myEye, myAngles) > getDvarFloat("bots_main_debug_cone")) print3d(wpOrg, i, (1,0,0), 2); - if (isDefined(level.waypoints[i].angles) && level.waypoints[i].type != "stand") - line(wpOrg, wpOrg + AnglesToForward(level.waypoints[i].angles) * 64, (1,1,1)); + if (isDefined(level.waypoints[ i ].angles) && level.waypoints[ i ].type != "stand") + line(wpOrg, wpOrg + AnglesToForward(level.waypoints[ i ].angles) * 64, (1,1,1)); - if (isDefined(level.waypoints[i].jav_point)) - line(wpOrg, level.waypoints[i].jav_point, (0,0,0));*/ + if (isDefined(level.waypoints[ i ].jav_point)) + line(wpOrg, level.waypoints[ i ].jav_point, (0,0,0));*/ } } @@ -375,12 +375,12 @@ updateWaypointsStats() for ( i = self.astar.nodes.size - 1; i >= 0; i-- ) { - node = self.astar.nodes[i]; + node = self.astar.nodes[ i ]; - //line(prev, level.waypoints[node].origin + (0, 0, 35), (0,1,1)); - if ( timeToUpdate ) drawPath( level.waypoints[node].origin ); + //line(prev, level.waypoints[ node ].origin + (0, 0, 35), (0,1,1)); + if ( timeToUpdate ) drawPath( level.waypoints[ node ].origin ); - prev = level.waypoints[node].origin + ( 0, 0, 35 ); + prev = level.waypoints[ node ].origin + ( 0, 0, 35 ); } //line(prev, self.astar.goal + (0, 0, 35), (0,1,1)); @@ -520,20 +520,20 @@ watchSaveWaypointsCommand() for ( i = 0; i < level.waypointCount; i++ ) { - logprint( "*/waypoints[" + i + "] = spawnstruct();\n/*" ); - logprint( "*/waypoints[" + i + "].origin = " + level.waypoints[i].origin + ";\n/*" ); - logprint( "*/waypoints[" + i + "].type = \"" + level.waypoints[i].type + "\";\n/*" ); + logprint( "*/waypoints[ " + i + " ] = spawnstruct();\n/*" ); + logprint( "*/waypoints[ " + i + " ].origin = " + level.waypoints[ i ].origin + ";\n/*" ); + logprint( "*/waypoints[ " + i + " ].type = \"" + level.waypoints[ i ].type + "\";\n/*" ); - for ( c = 0; c < level.waypoints[i].children.size; c++ ) + for ( c = 0; c < level.waypoints[ i ].children.size; c++ ) { - logprint( "*/waypoints[" + i + "].children[" + c + "] = " + level.waypoints[i].children[c] + ";\n/*" ); + logprint( "*/waypoints[ " + i + " ].children[ " + c + " ] = " + level.waypoints[ i ].children[ c ] + ";\n/*" ); } - if ( isDefined( level.waypoints[i].angles ) && ( level.waypoints[i].type == "claymore" || level.waypoints[i].type == "tube" || ( level.waypoints[i].type == "crouch" && level.waypoints[i].children.size == 1 ) || level.waypoints[i].type == "climb" || level.waypoints[i].type == "grenade" ) ) - logprint( "*/waypoints[" + i + "].angles = " + level.waypoints[i].angles + ";\n/*" ); + if ( isDefined( level.waypoints[ i ].angles ) && ( level.waypoints[ i ].type == "claymore" || level.waypoints[ i ].type == "tube" || ( level.waypoints[ i ].type == "crouch" && level.waypoints[ i ].children.size == 1 ) || level.waypoints[ i ].type == "climb" || level.waypoints[ i ].type == "grenade" ) ) + logprint( "*/waypoints[ " + i + " ].angles = " + level.waypoints[ i ].angles + ";\n/*" ); - if ( isDefined( level.waypoints[i].jav_point ) && level.waypoints[i].type == "javelin" ) - logprint( "*/waypoints[" + i + "].jav_point = " + level.waypoints[i].jav_point + ";\n/*" ); + if ( isDefined( level.waypoints[ i ].jav_point ) && level.waypoints[ i ].type == "javelin" ) + logprint( "*/waypoints[ " + i + " ].jav_point = " + level.waypoints[ i ].jav_point + ";\n/*" ); } logprint( "*/return waypoints;\n}\n\n\n\n" ); @@ -548,13 +548,13 @@ watchSaveWaypointsCommand() for ( i = 0; i < level.waypointCount; i++ ) { str = ""; - wp = level.waypoints[i]; + wp = level.waypoints[ i ]; - str += wp.origin[0] + " " + wp.origin[1] + " " + wp.origin[2] + ","; + str += wp.origin[ 0 ] + " " + wp.origin[ 1 ] + " " + wp.origin[ 2 ] + ","; for ( h = 0; h < wp.children.size; h++ ) { - str += wp.children[h]; + str += wp.children[ h ]; if ( h < wp.children.size - 1 ) str += " "; @@ -563,12 +563,12 @@ watchSaveWaypointsCommand() str += "," + wp.type + ","; if ( isDefined( wp.angles ) ) - str += wp.angles[0] + " " + wp.angles[1] + " " + wp.angles[2] + ","; + str += wp.angles[ 0 ] + " " + wp.angles[ 1 ] + " " + wp.angles[ 2 ] + ","; else str += ","; if ( isDefined( wp.jav_point ) ) - str += wp.jav_point[0] + " " + wp.jav_point[1] + " " + wp.jav_point[2] + ","; + str += wp.jav_point[ 0 ] + " " + wp.jav_point[ 1 ] + " " + wp.jav_point[ 2 ] + ","; else str += ","; @@ -603,27 +603,27 @@ checkForWarnings() for ( i = 0; i < level.waypointCount; i++ ) { - if ( !isDefined( level.waypoints[i] ) ) + if ( !isDefined( level.waypoints[ i ] ) ) { self iprintln( "WARNING: waypoint " + i + " is undefined" ); continue; } - if ( level.waypoints[i].children.size <= 0 ) - self iprintln( "WARNING: waypoint " + i + " childCount is " + level.waypoints[i].children.size ); + if ( level.waypoints[ i ].children.size <= 0 ) + self iprintln( "WARNING: waypoint " + i + " childCount is " + level.waypoints[ i ].children.size ); else { - if ( !isDefined( level.waypoints[i].children ) || !isDefined( level.waypoints[i].children.size ) ) + if ( !isDefined( level.waypoints[ i ].children ) || !isDefined( level.waypoints[ i ].children.size ) ) { self iprintln( "WARNING: waypoint " + i + " children is not defined" ); } else { - for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- ) + for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- ) { - child = level.waypoints[i].children[h]; + child = level.waypoints[ i ].children[ h ]; - if ( !isDefined( level.waypoints[child] ) ) + if ( !isDefined( level.waypoints[ child ] ) ) self iprintln( "WARNING: waypoint " + i + " child " + child + " is undefined" ); else if ( child == i ) self iprintln( "WARNING: waypoint " + i + " child " + child + " is itself" ); @@ -631,16 +631,16 @@ checkForWarnings() } } - if ( !isDefined( level.waypoints[i].type ) ) + if ( !isDefined( level.waypoints[ i ].type ) ) { self iprintln( "WARNING: waypoint " + i + " type is undefined" ); continue; } - if ( level.waypoints[i].type == "javelin" && !isDefined( level.waypoints[i].jav_point ) ) + if ( level.waypoints[ i ].type == "javelin" && !isDefined( level.waypoints[ i ].jav_point ) ) self iprintln( "WARNING: waypoint " + i + " jav_point is undefined" ); - if ( !isDefined( level.waypoints[i].angles ) && ( level.waypoints[i].type == "claymore" || level.waypoints[i].type == "tube" || ( level.waypoints[i].type == "crouch" && level.waypoints[i].children.size == 1 ) || level.waypoints[i].type == "climb" || level.waypoints[i].type == "grenade" ) ) + if ( !isDefined( level.waypoints[ i ].angles ) && ( level.waypoints[ i ].type == "claymore" || level.waypoints[ i ].type == "tube" || ( level.waypoints[ i ].type == "crouch" && level.waypoints[ i ].children.size == 1 ) || level.waypoints[ i ].type == "climb" || level.waypoints[ i ].type == "grenade" ) ) self iprintln( "WARNING: waypoint " + i + " angles is undefined" ); } @@ -653,7 +653,7 @@ checkForWarnings() if ( i % 5 == 0 ) wait 0.05; - astar = AStarSearch( level.waypoints[wpIdx].origin, level.waypoints[i].origin, undefined, true ); + astar = AStarSearch( level.waypoints[ wpIdx ].origin, level.waypoints[ i ].origin, undefined, true ); if ( astar.size <= 0 ) self iprintln( "WARNING: waypoint " + wpIdx + " has no path to waypoint " + i ); @@ -664,7 +664,7 @@ checkForWarnings() UnLinkWaypoint( nwp ) { - if ( nwp == -1 || distance( self.origin, level.waypoints[nwp].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) + 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; @@ -678,8 +678,8 @@ UnLinkWaypoint( 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; @@ -687,7 +687,7 @@ UnLinkWaypoint( nwp ) LinkWaypoint( nwp ) { - if ( nwp == -1 || distance( self.origin, level.waypoints[nwp].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) + 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; @@ -703,9 +703,9 @@ LinkWaypoint( nwp ) 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 ) { @@ -716,9 +716,9 @@ LinkWaypoint( nwp ) if ( weGood ) { - for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- ) + for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- ) { - child = level.waypoints[nwp].children[i]; + child = level.waypoints[ nwp ].children[ i ]; if ( child == level.wpToLink ) { @@ -735,8 +735,8 @@ LinkWaypoint( nwp ) 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; @@ -744,7 +744,7 @@ LinkWaypoint( nwp ) DeleteWaypoint( nwp ) { - if ( nwp == -1 || distance( self.origin, level.waypoints[nwp].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) + if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) { self iprintln( "No close enough waypoint to delete." ); return; @@ -752,19 +752,19 @@ DeleteWaypoint( nwp ) level.wpToLink = -1; - for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- ) + for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- ) { - child = level.waypoints[nwp].children[i]; + child = level.waypoints[ nwp ].children[ i ]; - level.waypoints[child].children = array_remove( level.waypoints[child].children, nwp ); + level.waypoints[ child ].children = array_remove( level.waypoints[ child ].children, nwp ); } for ( i = 0; i < level.waypointCount; i++ ) { - for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- ) + for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- ) { - if ( level.waypoints[i].children[h] > nwp ) - level.waypoints[i].children[h]--; + if ( level.waypoints[ i ].children[ h ] > nwp ) + level.waypoints[ i ].children[ h ]--; } } @@ -774,11 +774,11 @@ DeleteWaypoint( nwp ) { while ( entry < level.waypointCount - 1 ) { - level.waypoints[entry] = level.waypoints[entry + 1]; + level.waypoints[ entry ] = level.waypoints[ entry + 1 ]; entry++; } - level.waypoints[entry] = undefined; + level.waypoints[ entry ] = undefined; break; } } @@ -790,34 +790,34 @@ DeleteWaypoint( 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 ) ) - 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 ) { @@ -846,7 +846,7 @@ buildChildCountString ( wp ) if ( wp == -1 ) return -1; - wpstr = level.waypoints[wp].children.size; + wpstr = level.waypoints[ wp ].children.size; return wpstr; } @@ -858,12 +858,12 @@ buildChildString( wp ) wpstr = ""; - for ( i = 0; i < level.waypoints[wp].children.size; i++ ) + for ( i = 0; i < level.waypoints[ wp ].children.size; i++ ) { if ( i != 0 ) - wpstr = wpstr + "," + level.waypoints[wp].children[i]; + wpstr = wpstr + "," + level.waypoints[ wp ].children[ i ]; else - wpstr = wpstr + level.waypoints[wp].children[i]; + wpstr = wpstr + level.waypoints[ wp ].children[ i ]; } return wpstr; @@ -874,7 +874,7 @@ buildTypeString( wp ) if ( wp == -1 ) return ""; - return level.waypoints[wp].type; + return level.waypoints[ wp ].type; } destroyOnDeath( hud )