From 37da9c0a31cd4766e59ecb1517f0f3c0e4eab7a8 Mon Sep 17 00:00:00 2001 From: ineed bots Date: Fri, 22 Dec 2023 02:03:27 -0600 Subject: [PATCH] field names lowercased --- maps/mp/bots/_bot.gsc | 100 +- maps/mp/bots/_bot_chat.gsc | 42 +- maps/mp/bots/_bot_internal.gsc | 94 +- maps/mp/bots/_bot_script.gsc | 380 ++--- maps/mp/bots/_bot_utility.gsc | 200 +-- maps/mp/bots/_menu.gsc | 2692 ++++++++++++++++---------------- maps/mp/bots/_wp_editor.gsc | 180 +-- 7 files changed, 1844 insertions(+), 1844 deletions(-) diff --git a/maps/mp/bots/_bot.gsc b/maps/mp/bots/_bot.gsc index 6a1b560..3b4214e 100644 --- a/maps/mp/bots/_bot.gsc +++ b/maps/mp/bots/_bot.gsc @@ -15,7 +15,7 @@ */ init() { - level.bw_VERSION = "2.1.0"; + level.bw_version = "2.1.0"; if ( getDvar( "bots_main" ) == "" ) { @@ -220,27 +220,27 @@ init() game[ "botWarfare" ] = true; } - level.defuseObject = undefined; - level.bots_smokeList = List(); - level.bots_fragList = List(); + level.defuseobject = undefined; + level.bots_smokelist = List(); + level.bots_fraglist = List(); - level.bots_minSprintDistance = 315; - level.bots_minSprintDistance *= level.bots_minSprintDistance; - level.bots_minGrenadeDistance = 256; - level.bots_minGrenadeDistance *= level.bots_minGrenadeDistance; - level.bots_maxGrenadeDistance = 1024; - level.bots_maxGrenadeDistance *= level.bots_maxGrenadeDistance; - level.bots_maxKnifeDistance = 128; - level.bots_maxKnifeDistance *= level.bots_maxKnifeDistance; - level.bots_goalDistance = 27.5; - level.bots_goalDistance *= level.bots_goalDistance; - level.bots_noADSDistance = 200; - level.bots_noADSDistance *= level.bots_noADSDistance; - level.bots_maxShotgunDistance = 500; - level.bots_maxShotgunDistance *= level.bots_maxShotgunDistance; - level.bots_listenDist = 100; + level.bots_minsprintdistance = 315; + level.bots_minsprintdistance *= level.bots_minsprintdistance; + level.bots_mingrenadedistance = 256; + level.bots_mingrenadedistance *= level.bots_mingrenadedistance; + level.bots_maxgrenadedistance = 1024; + level.bots_maxgrenadedistance *= level.bots_maxgrenadedistance; + level.bots_maxknifedistance = 128; + level.bots_maxknifedistance *= level.bots_maxknifedistance; + level.bots_goaldistance = 27.5; + level.bots_goaldistance *= level.bots_goaldistance; + level.bots_noadsdistance = 200; + level.bots_noadsdistance *= level.bots_noadsdistance; + level.bots_maxshotgundistance = 500; + level.bots_maxshotgundistance *= level.bots_maxshotgundistance; + level.bots_listendist = 100; - level.smokeRadius = 255; + level.smokeradius = 255; level.bots = []; @@ -322,7 +322,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 ); } /* @@ -336,7 +336,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 ); } /* @@ -346,11 +346,11 @@ hook_callbacks() { level waittill( "prematch_over" ); // iw4madmin waits this long for some reason... wait 0.05; // so we need to be one frame after it sets up its callbacks. - level.prevCallbackPlayerDamage = level.callbackPlayerDamage; - level.callbackPlayerDamage = ::onPlayerDamage; + level.prevcallbackplayerdamage = level.callbackplayerdamage; + level.callbackplayerdamage = ::onPlayerDamage; - level.prevCallbackPlayerKilled = level.callbackPlayerKilled; - level.callbackPlayerKilled = ::onPlayerKilled; + level.prevcallbackplayerkilled = level.callbackplayerkilled; + level.callbackplayerkilled = ::onPlayerKilled; } /* @@ -360,11 +360,11 @@ fixGamemodes() { for ( i = 0; i < 19; i++ ) { - if ( isDefined( level.bombZones ) && level.gametype == "sd" ) + if ( isDefined( level.bombzones ) && level.gametype == "sd" ) { - for ( i = 0; i < level.bombZones.size; i++ ) + for ( i = 0; i < level.bombzones.size; i++ ) { - level.bombZones[ i ].onUse = ::onUsePlantObjectFix; + level.bombzones[ i ].onuse = ::onUsePlantObjectFix; } break; @@ -377,7 +377,7 @@ fixGamemodes() break; } - if ( isDefined( level.bombZones ) && level.gametype == "dd" ) + if ( isDefined( level.bombzones ) && level.gametype == "dd" ) { level thread fixDem(); @@ -395,20 +395,20 @@ fixDem() { for ( ;; ) { - level.bombAPlanted = level.aPlanted; - level.bombBPlanted = level.bPlanted; + level.bombaplanted = level.aplanted; + level.bombbplanted = level.bplanted; - for ( i = 0; i < level.bombZones.size; i++ ) + for ( i = 0; i < level.bombzones.size; i++ ) { - bombzone = level.bombZones[ i ]; + bombzone = level.bombzones[ i ]; if ( isDefined( bombzone.trigger.trigger_off ) ) { - bombzone.bombExploded = true; + bombzone.bombexploded = true; } else { - bombzone.bombExploded = undefined; + bombzone.bombexploded = undefined; } } @@ -427,14 +427,14 @@ fixKoth() { wait 0.05; - if ( !isDefined( level.radioObject ) ) + if ( !isDefined( level.radioobject ) ) { continue; } for ( i = level.radios.size - 1; i >= 0; i-- ) { - if ( level.radioObject != level.radios[ i ].gameobject ) + if ( level.radioobject != level.radios[ i ].gameobject ) { continue; } @@ -443,7 +443,7 @@ fixKoth() break; } - while ( isDefined( level.radioObject ) && level.radio.gameobject == level.radioObject ) + while ( isDefined( level.radioobject ) && level.radio.gameobject == level.radioobject ) { wait 0.05; } @@ -461,12 +461,12 @@ addNotifyOnAirdrops_loop() { airdrop = dropCrates[ i ]; - if ( isDefined( airdrop.doingPhysics ) ) + if ( isDefined( airdrop.doingphysics ) ) { continue; } - airdrop.doingPhysics = true; + airdrop.doingphysics = true; airdrop thread doNotifyOnAirdrop(); } } @@ -491,7 +491,7 @@ doNotifyOnAirdrop() self endon( "death" ); self waittill( "physics_finished" ); - self.doingPhysics = false; + self.doingphysics = false; if ( isDefined( self.owner ) ) { @@ -525,7 +525,7 @@ onPlayerConnect() { level waittill( "connected", player ); - player.bot_isScrambled = false; + player.bot_isscrambled = false; player thread onGrenadeFire(); player thread onWeaponFired(); @@ -542,7 +542,7 @@ watchScrabler_loop() for ( i = level.players.size - 1; i >= 0; i-- ) { player = level.players[ i ]; - player.bot_isScrambled = false; + player.bot_isscrambled = false; } for ( i = level.players.size - 1; i >= 0; i-- ) @@ -568,7 +568,7 @@ watchScrabler_loop() continue; } - if ( level.teamBased && player2.team == player.team ) + if ( level.teambased && player2.team == player.team ) { continue; } @@ -578,7 +578,7 @@ watchScrabler_loop() continue; } - player2.bot_isScrambled = true; + player2.bot_isscrambled = true; } } } @@ -1222,7 +1222,7 @@ AddToFragList( who ) grenade thread thinkFrag(); - level.bots_fragList ListAdd( grenade ); + level.bots_fraglist ListAdd( grenade ); } /* @@ -1239,7 +1239,7 @@ thinkFrag() wait 0.05; } - level.bots_fragList ListRemove( self ); + level.bots_fraglist ListRemove( self ); } /* @@ -1254,7 +1254,7 @@ AddToSmokeList() grenade thread thinkSmoke(); - level.bots_smokeList ListAdd( grenade ); + level.bots_smokelist ListAdd( grenade ); } /* @@ -1272,7 +1272,7 @@ thinkSmoke() self.state = "smoking"; wait 11.5; - level.bots_smokeList ListRemove( self ); + level.bots_smokelist ListRemove( self ); } /* diff --git a/maps/mp/bots/_bot_chat.gsc b/maps/mp/bots/_bot_chat.gsc index 6982dcd..e97c6b3 100644 --- a/maps/mp/bots/_bot_chat.gsc +++ b/maps/mp/bots/_bot_chat.gsc @@ -87,14 +87,14 @@ start_onnuke_call() for ( ;; ) { - while ( !isDefined( level.nukeIncoming ) && !isDefined( level.moabIncoming ) ) + while ( !isDefined( level.nukeincoming ) && !isDefined( level.moabincoming ) ) { wait 0.05 + randomInt( 4 ); } self thread bot_onnukecall_watch(); - wait level.nukeTimer + 5; + wait level.nuketimer + 5; } } @@ -109,9 +109,9 @@ start_death_watch() { self waittill( "death" ); - self thread bot_chat_death_watch( self.lastAttacker, self.bots_lastKS ); + self thread bot_chat_death_watch( self.lastattacker, self.bots_lastks ); - self.bots_lastKS = 0; + self.bots_lastks = 0; } } @@ -155,23 +155,23 @@ start_killed_watch() { self endon( "disconnect" ); - self.bots_lastKS = 0; + self.bots_lastks = 0; for ( ;; ) { self waittill( "killed_enemy" ); - if ( self.bots_lastKS < self.pers[ "cur_kill_streak" ] ) + if ( self.bots_lastks < self.pers[ "cur_kill_streak" ] ) { - for ( i = self.bots_lastKS + 1; i <= self.pers[ "cur_kill_streak" ]; i++ ) + for ( i = self.bots_lastks + 1; i <= self.pers[ "cur_kill_streak" ]; i++ ) { self thread bot_chat_streak( i ); } } - self.bots_lastKS = self.pers[ "cur_kill_streak" ]; + self.bots_lastks = self.pers[ "cur_kill_streak" ]; - self thread bot_chat_killed_watch( self.lastKilledPlayer ); + self thread bot_chat_killed_watch( self.lastkilledplayer ); } } @@ -587,7 +587,7 @@ endgame_chat() } } - if ( level.teamBased ) + if ( level.teambased ) { winningteam = maps\mp\gametypes\_gamescore::getWinningTeam(); @@ -1019,7 +1019,7 @@ bot_onnukecall_watch() switch ( randomint( 4 ) ) { case 0: - if ( level.nukeInfo.player != self ) + if ( level.nukeinfo.player != self ) { self BotDoChat( 30, "Wow who got a nuke?" ); } @@ -1031,9 +1031,9 @@ bot_onnukecall_watch() break; case 1: - if ( level.nukeInfo.player != self ) + if ( level.nukeinfo.player != self ) { - self BotDoChat( 30, "lol " + level.nukeInfo.player.name + " is a hacker" ); + self BotDoChat( 30, "lol " + level.nukeinfo.player.name + " is a hacker" ); } else { @@ -1047,7 +1047,7 @@ bot_onnukecall_watch() break; case 3: - if ( level.nukeInfo.team != self.team ) + if ( level.nukeinfo.team != self.team ) { self BotDoChat( 30, "man my team sucks ):" ); } @@ -1285,9 +1285,9 @@ bot_chat_killed_watch( victim ) break; case 40: - if ( isDefined( victim.attackerData ) && isDefined( victim.attackerData[ self.guid ] ) && isDefined( victim.attackerData[ self.guid ].weapon ) ) + if ( isDefined( victim.attackerdata ) && isDefined( victim.attackerdata[ self.guid ] ) && isDefined( victim.attackerdata[ self.guid ].weapon ) ) { - message = ( "Man, I sure love my " + getBaseWeaponName( victim.attackerData[ self.guid ].weapon ) + "!" ); + message = ( "Man, I sure love my " + getBaseWeaponName( victim.attackerdata[ self.guid ].weapon ) + "!" ); } break; @@ -1566,9 +1566,9 @@ bot_chat_death_watch( killer, last_ks ) break; case 60: - if ( isDefined( self.attackerData ) && isDefined( self.attackerData[ killer.guid ] ) && isDefined( self.attackerData[ killer.guid ].weapon ) ) + if ( isDefined( self.attackerdata ) && isDefined( self.attackerdata[ killer.guid ] ) && isDefined( self.attackerdata[ killer.guid ].weapon ) ) { - message = "Wow! Nice " + getBaseWeaponName( self.attackerData[ killer.guid ].weapon ) + " you got there, " + killer.name + "!"; + message = "Wow! Nice " + getBaseWeaponName( self.attackerdata[ killer.guid ].weapon ) + " you got there, " + killer.name + "!"; } break; @@ -2001,7 +2001,7 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g ) break; case 5: - self BotDoChat( 10, ":3 i got my " + aircare.crateType ); + self BotDoChat( 10, ":3 i got my " + aircare.cratetype ); break; } } @@ -2026,7 +2026,7 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g ) break; case 4: - self BotDoChat( 10, "hahaah jajaja i took your " + aircare.crateType ); + self BotDoChat( 10, "hahaah jajaja i took your " + aircare.cratetype ); break; } } @@ -2053,7 +2053,7 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g ) break; case 4: - self BotDoChat( 10, "Wow! there goes my " + aircare.crateType + "!" ); + self BotDoChat( 10, "Wow! there goes my " + aircare.cratetype + "!" ); break; } diff --git a/maps/mp/bots/_bot_internal.gsc b/maps/mp/bots/_bot_internal.gsc index 48b9443..d09ef8f 100644 --- a/maps/mp/bots/_bot_internal.gsc +++ b/maps/mp/bots/_bot_internal.gsc @@ -112,7 +112,7 @@ resetBotVars() self.bot.second_next_wp = -1; self.bot.towards_goal = undefined; self.bot.astar = []; - self.bot.moveTo = self.origin; + self.bot.moveto = self.origin; self.bot.stop_move = false; self.bot.greedy_path = false; self.bot.climbing = false; @@ -363,7 +363,7 @@ watchUsingRemote() self watchUsingMinigun(); } - if ( isDefined( level.ac130Player ) && level.ac130player == self ) + if ( isDefined( level.ac130player ) && level.ac130player == self ) { self thread watchAc130Weapon(); self watchUsingAc130(); @@ -406,7 +406,7 @@ watchAc130Weapon() self endon( "disconnect" ); self endon( "spawned_player" ); - while ( isDefined( level.ac130Player ) && level.ac130player == self ) + while ( isDefined( level.ac130player ) && level.ac130player == self ) { curWeap = self GetCurrentWeapon(); @@ -431,7 +431,7 @@ watchUsingAc130() { self endon( "ac130player_removed" ); - while ( isDefined( level.ac130Player ) && level.ac130player == self ) + while ( isDefined( level.ac130player ) && level.ac130player == self ) { self switchToWeapon( "ac130_105mm_mp" ); wait 1 + randomInt( 2 ); @@ -546,7 +546,7 @@ watchC4Thrown( c4 ) continue; } - if ( ( level.teamBased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) ) + if ( ( level.teambased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) ) { continue; } @@ -585,7 +585,7 @@ watchC4Thrown( c4 ) */ doBotMovement_loop( data ) { - move_To = self.bot.moveTo; + move_To = self.bot.moveto; angles = self GetPlayerAngles(); dir = ( 0, 0, 0 ); @@ -612,12 +612,12 @@ doBotMovement_loop( data ) // climb through windows if ( self isMantling() ) { - data.wasMantling = true; + data.wasmantling = true; self crouch(); } - else if ( data.wasMantling ) + else if ( data.wasmantling ) { - data.wasMantling = false; + data.wasmantling = false; self stand(); } @@ -672,7 +672,7 @@ doBotMovement() self endon( "death" ); data = spawnStruct(); - data.wasMantling = false; + data.wasmantling = false; for ( data.i = 0; true; data.i += 0.05 ) { @@ -711,11 +711,11 @@ grenade_danager_loop() { myEye = self getEye(); - for ( i = level.bots_fragList.count - 1; i >= 0; i-- ) + for ( i = level.bots_fraglist.count - 1; i >= 0; i-- ) { - frag = level.bots_fragList.data[ i ]; + frag = level.bots_fraglist.data[ i ]; - if ( level.teamBased && frag.team == self.team ) + if ( level.teambased && frag.team == self.team ) { continue; } @@ -758,7 +758,7 @@ grenade_danager() continue; } - if ( self.bot.isfrozen || level.gameEnded || !gameFlag( "prematch_done" ) ) + if ( self.bot.isfrozen || level.gameended || !gameFlag( "prematch_done" ) ) { continue; } @@ -804,7 +804,7 @@ stance_loop() toStance = "crouch"; } - if ( self.hasRiotShieldEquipped && isDefined( self.bot.target ) && isDefined( self.bot.target.entity ) && isPlayer( self.bot.target.entity ) ) + if ( self.hasriotshieldequipped && isDefined( self.bot.target ) && isDefined( self.bot.target.entity ) && isPlayer( self.bot.target.entity ) ) { toStance = "crouch"; } @@ -835,7 +835,7 @@ stance_loop() chance = self.pers[ "bots" ][ "behavior" ][ "sprint" ]; - if ( getTime() - self.lastSpawnTime < 5000 ) + if ( getTime() - self.lastspawntime < 5000 ) { chance *= 2; } @@ -865,7 +865,7 @@ stance_loop() return; } - if ( !isDefined( self.bot.towards_goal ) || DistanceSquared( self.origin, physicsTrace( self getEye(), self getEye() + anglesToForward( self getPlayerAngles() ) * 1024, false, undefined ) ) < level.bots_minSprintDistance || getConeDot( self.bot.towards_goal, self.origin, self GetPlayerAngles() ) < 0.75 ) + if ( !isDefined( self.bot.towards_goal ) || DistanceSquared( self.origin, physicsTrace( self getEye(), self getEye() + anglesToForward( self getPlayerAngles() ) * 1024, false, undefined ) ) < level.bots_minsprintdistance || getConeDot( self.bot.towards_goal, self.origin, self GetPlayerAngles() ) < 0.75 ) { return; } @@ -941,7 +941,7 @@ reload_thread() wait 2.5; - if ( self.bot.isfrozen || level.gameEnded || !gameFlag( "prematch_done" ) ) + if ( self.bot.isfrozen || level.gameended || !gameFlag( "prematch_done" ) ) { return; } @@ -1130,7 +1130,7 @@ target_loop() { if ( isDefined( level.ac130player ) && level.ac130player == self ) { - vehEnt = level.ac130.planeModel; + vehEnt = level.ac130.planemodel; } if ( isDefined( level.chopper ) && isDefined( level.chopper.gunner ) && level.chopper.gunner == self ) @@ -1176,7 +1176,7 @@ target_loop() entOrigin += self.bot.script_target_offset; } - if ( ignoreSmoke || ( SmokeTrace( myEye, entOrigin, level.smokeRadius ) ) && bulletTracePassed( myEye, entOrigin, false, ent ) ) + if ( ignoreSmoke || ( SmokeTrace( myEye, entOrigin, level.smokeradius ) ) && bulletTracePassed( myEye, entOrigin, false, ent ) ) { if ( !isObjDef ) { @@ -1225,7 +1225,7 @@ target_loop() isObjDef = isDefined( obj ); - if ( ( level.teamBased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) ) + if ( ( level.teambased && self.team == player.team ) || player.sessionstate != "playing" || !isReallyAlive( player ) ) { if ( isObjDef ) { @@ -1261,8 +1261,8 @@ target_loop() ( traceAnkleRight[ "fraction" ] >= 1.0 || traceAnkleRight[ "surfacetype" ] == "glass" ) ) && ( ignoreSmoke || - SmokeTrace( myEye, player.origin, level.smokeRadius ) || - daDist < level.bots_maxKnifeDistance * 4 ) + SmokeTrace( myEye, player.origin, level.smokeradius ) || + daDist < level.bots_maxknifedistance * 4 ) && ( getConeDot( player.origin, self.origin, myAngles ) >= myFov || ( isObjDef && obj.trace_time ) ) ); @@ -1460,12 +1460,12 @@ watchToLook() continue; } - if ( self.bot.target.dist > level.bots_maxShotgunDistance * 2 ) + if ( self.bot.target.dist > level.bots_maxshotgundistance * 2 ) { continue; } - if ( self.bot.target.dist <= level.bots_maxKnifeDistance ) + if ( self.bot.target.dist <= level.bots_maxknifedistance ) { continue; } @@ -1512,7 +1512,7 @@ watchToLook() } else { - if ( getConeDot( self.bot.target.last_seen_pos, self.origin, self getPlayerAngles() ) < 0.8 || self.bot.target.dist <= level.bots_noADSDistance ) + if ( getConeDot( self.bot.target.last_seen_pos, self.origin, self getPlayerAngles() ) < 0.8 || self.bot.target.dist <= level.bots_noadsdistance ) { continue; } @@ -1661,7 +1661,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; @@ -1750,7 +1750,7 @@ aim_loop() } } - knifeDist = level.bots_maxKnifeDistance; + knifeDist = level.bots_maxknifedistance; if ( self _hasPerk( "specialty_extendedmelee" ) ) { @@ -1793,14 +1793,14 @@ aim_loop() } } - if ( curweap == "at4_mp" && entIsVehicle( self.bot.target.entity ) && ( !IsDefined( self.stingerStage ) || self.stingerStage != 2 ) ) + if ( curweap == "at4_mp" && entIsVehicle( self.bot.target.entity ) && ( !IsDefined( self.stingerstage ) || self.stingerstage != 2 ) ) { return; } if ( trace_time > reaction_time ) { - if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.99 || dist < level.bots_maxKnifeDistance ) && getDvarInt( "bots_play_fire" ) ) + if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.99 || dist < level.bots_maxknifedistance ) && getDvarInt( "bots_play_fire" ) ) { self botFire( curweap ); } @@ -1878,7 +1878,7 @@ aim_loop() } } - if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.95 || dist < level.bots_maxKnifeDistance ) && getDvarInt( "bots_play_fire" ) ) + if ( ( !canADS || adsAmount >= 1.0 || self InLastStand() || self GetStance() == "prone" ) && ( conedot > 0.95 || dist < level.bots_maxknifedistance ) && getDvarInt( "bots_play_fire" ) ) { self botFire( curweap ); } @@ -1933,7 +1933,7 @@ aim() return; } - if ( !gameFlag( "prematch_done" ) || level.gameEnded || self.bot.isfrozen || self maps\mp\_flashgrenades::isFlashbanged() ) + if ( !gameFlag( "prematch_done" ) || level.gameended || self.bot.isfrozen || self maps\mp\_flashgrenades::isFlashbanged() ) { continue; } @@ -2037,7 +2037,7 @@ canAds( dist, curweap ) return false; } - far = level.bots_noADSDistance; + far = level.bots_noadsdistance; if ( self _hasPerk( "specialty_bulletaccuracy" ) ) { @@ -2086,12 +2086,12 @@ isInRange( dist, curweap ) return true; } - if ( ( weapclass == "spread" || self.bot.is_cur_akimbo ) && dist > level.bots_maxShotgunDistance ) + if ( ( weapclass == "spread" || self.bot.is_cur_akimbo ) && dist > level.bots_maxshotgundistance ) { return false; } - if ( curweap == "riotshield_mp" && dist > level.bots_maxKnifeDistance ) + if ( curweap == "riotshield_mp" && dist > level.bots_maxknifedistance ) { return false; } @@ -2167,9 +2167,9 @@ walk_loop() dist = 16; - if ( level.waypointCount ) + if ( level.waypointcount ) { - goal = level.waypoints[ randomInt( level.waypointCount ) ].origin; + goal = level.waypoints[ randomInt( level.waypointcount ) ].origin; } else { @@ -2253,7 +2253,7 @@ walk() continue; } - if ( level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.isfrozen || self.bot.stop_move ) + if ( level.gameended || !gameFlag( "prematch_done" ) || self.bot.isfrozen || self.bot.stop_move ) { continue; } @@ -2345,7 +2345,7 @@ initAStar( goal ) { team = undefined; - if ( level.teamBased ) + if ( level.teambased ) { team = self.team; } @@ -2367,7 +2367,7 @@ removeAStar() { remove = self.bot.astar.size - 1; - if ( level.teamBased ) + if ( level.teambased ) { RemoveWaypointUsage( self.bot.astar[ remove ], self.team ); } @@ -2505,11 +2505,11 @@ movetowards( goal ) if ( self.bot.issprinting ) { - tempGoalDist = level.bots_goalDistance * 2; + tempGoalDist = level.bots_goaldistance * 2; } else { - tempGoalDist = level.bots_goalDistance; + tempGoalDist = level.bots_goaldistance; } while ( distanceSquared( self.origin, goal ) > tempGoalDist ) @@ -2578,11 +2578,11 @@ movetowards( goal ) if ( self.bot.issprinting ) { - tempGoalDist = level.bots_goalDistance * 2; + tempGoalDist = level.bots_goaldistance * 2; } else { - tempGoalDist = level.bots_goalDistance; + tempGoalDist = level.bots_goaldistance; } if ( stucks >= 2 ) @@ -2988,7 +2988,7 @@ crouch() */ prone() { - if ( self IsUsingRemote() || self.hasRiotShieldEquipped ) + if ( self IsUsingRemote() || self.hasriotshieldequipped ) { return; } @@ -3002,7 +3002,7 @@ prone() */ botSetMoveTo( where ) { - self.bot.moveTo = where; + self.bot.moveto = where; } /* @@ -3055,7 +3055,7 @@ bot_lookat( pos, time, vel, doAimPredict ) self endon( "spawned_player" ); level endon ( "game_ended" ); - if ( level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.isfrozen || !getDvarInt( "bots_play_aim" ) ) + if ( level.gameended || !gameFlag( "prematch_done" ) || self.bot.isfrozen || !getDvarInt( "bots_play_aim" ) ) { return; } diff --git a/maps/mp/bots/_bot_script.gsc b/maps/mp/bots/_bot_script.gsc index ce20637..6da174a 100644 --- a/maps/mp/bots/_bot_script.gsc +++ b/maps/mp/bots/_bot_script.gsc @@ -40,8 +40,8 @@ connected() { self endon( "disconnect" ); - self.killerLocation = undefined; - self.lastKiller = undefined; + self.killerlocation = undefined; + self.lastkiller = undefined; self.bot_change_class = true; self thread difficulty(); @@ -57,7 +57,7 @@ connected() self thread onKillcam(); wait 0.1; - self.challengeData = []; + self.challengedata = []; } /* @@ -140,7 +140,7 @@ bot_get_rank() if ( !human_ranks.size ) { - human_ranks[ human_ranks.size ] = Round( random_normal_distribution( 45, 20, 0, level.maxRank ) ); + human_ranks[ human_ranks.size ] = Round( random_normal_distribution( 45, 20, 0, level.maxrank ) ); } human_avg = array_average( human_ranks ); @@ -157,15 +157,15 @@ bot_get_rank() avg = array_average( ranks ); s = array_std_deviation( ranks, avg ); - rank = Round( random_normal_distribution( avg, s, 0, level.maxRank ) ); + rank = Round( random_normal_distribution( avg, s, 0, level.maxrank ) ); } else if ( rank_dvar == 0 ) { - rank = Round( random_normal_distribution( 45, 20, 0, level.maxRank ) ); + rank = Round( random_normal_distribution( 45, 20, 0, level.maxrank ) ); } else { - rank = Round( random_normal_distribution( rank_dvar, 5, 0, level.maxRank ) ); + rank = Round( random_normal_distribution( rank_dvar, 5, 0, level.maxrank ) ); } return maps\mp\gametypes\_rank::getRankInfoMinXP( rank ); @@ -591,7 +591,7 @@ chooseRandomPerk( perkkind, primary, primaryAtts ) continue; } - if ( RandomFloatRange( 0, 1 ) < ( ( rank / level.maxRank ) + 0.1 ) ) + if ( RandomFloatRange( 0, 1 ) < ( ( rank / level.maxrank ) + 0.1 ) ) { self.pers[ "bots" ][ "unlocks" ][ "upgraded_" + perk ] = true; } @@ -751,7 +751,7 @@ chooseRandomAttachmentComboForGun( gun ) allowOp = ( getDvarInt( "bots_loadout_allow_op" ) >= 1 ); reasonable = getDvarInt( "bots_loadout_reasonable" ); - if ( RandomFloatRange( 0, 1 ) >= ( ( rank / level.maxRank ) + 0.1 ) ) + if ( RandomFloatRange( 0, 1 ) >= ( ( rank / level.maxrank ) + 0.1 ) ) { retAtts = []; retAtts[ 0 ] = "none"; @@ -863,7 +863,7 @@ setClasses() rank = self maps\mp\gametypes\_rank::getRankForXp( self getPlayerData( "experience" ) ); - if ( RandomFloatRange( 0, 1 ) < ( ( rank / level.maxRank ) + 0.1 ) ) + if ( RandomFloatRange( 0, 1 ) < ( ( rank / level.maxrank ) + 0.1 ) ) { self.pers[ "bots" ][ "unlocks" ][ "ghillie" ] = true; self.pers[ "bots" ][ "behavior" ][ "quickscope" ] = true; @@ -1084,8 +1084,8 @@ setKillstreaks() */ onKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration ) { - self.killerLocation = undefined; - self.lastKiller = undefined; + self.killerlocation = undefined; + self.lastkiller = undefined; if ( !IsDefined( self ) || !isDefined( self.team ) ) { @@ -1112,7 +1112,7 @@ onKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, return; } - if ( level.teamBased && eAttacker.team == self.team ) + if ( level.teambased && eAttacker.team == self.team ) { return; } @@ -1127,8 +1127,8 @@ onKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, return; } - self.killerLocation = eAttacker.origin; - self.lastKiller = eAttacker; + self.killerlocation = eAttacker.origin; + self.lastkiller = eAttacker; } /* @@ -1166,7 +1166,7 @@ onDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoin return; } - if ( level.teamBased && eAttacker.team == self.team ) + if ( level.teambased && eAttacker.team == self.team ) { return; } @@ -1194,7 +1194,7 @@ onDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoin */ bot_cry_for_help( attacker ) { - if ( !level.teamBased ) + if ( !level.teambased ) { return; } @@ -1719,7 +1719,7 @@ onDeath() { self waittill( "death" ); - self.wantSafeSpawn = true; + self.wantsafespawn = true; } } @@ -2047,7 +2047,7 @@ bot_go_plant( plant ) { wait 1; - if ( level.bombPlanted ) + if ( level.bombplanted ) { break; } @@ -2058,7 +2058,7 @@ bot_go_plant( plant ) } } - if ( level.bombPlanted ) + if ( level.bombplanted ) { self notify( "bad_path" ); } @@ -2084,7 +2084,7 @@ bot_go_defuse( plant ) { wait 1; - if ( !level.bombPlanted ) + if ( !level.bombplanted ) { break; } @@ -2095,7 +2095,7 @@ bot_go_defuse( plant ) } } - if ( !level.bombPlanted ) + if ( !level.bombplanted ) { self notify( "bad_path" ); } @@ -2531,7 +2531,7 @@ bot_think_follow() continue; } - if ( !level.teamBased ) + if ( !level.teambased ) { continue; } @@ -2738,9 +2738,9 @@ bot_perk_think() */ bot_use_tube_think_loop( data ) { - if ( data.doFastContinue ) + if ( data.dofastcontinue ) { - data.doFastContinue = false; + data.dofastcontinue = false; } else { @@ -2811,7 +2811,7 @@ bot_use_tube_think_loop( data ) loc = traceForward[ "position" ]; dist = DistanceSquared( self.origin, loc ); - if ( dist < level.bots_minGrenadeDistance || dist > level.bots_maxGrenadeDistance * 5 ) + if ( dist < level.bots_mingrenadedistance || dist > level.bots_maxgrenadedistance * 5 ) { return; } @@ -2846,7 +2846,7 @@ bot_use_tube_think_loop( data ) return; } - data.doFastContinue = true; + data.dofastcontinue = true; return; } } @@ -2888,7 +2888,7 @@ bot_use_tube_think() level endon( "game_ended" ); data = spawnStruct(); - data.doFastContinue = false; + data.dofastcontinue = false; for ( ;; ) { @@ -2901,9 +2901,9 @@ bot_use_tube_think() */ bot_use_equipment_think_loop( data ) { - if ( data.doFastContinue ) + if ( data.dofastcontinue ) { - data.doFastContinue = false; + data.dofastcontinue = false; } else { @@ -3008,7 +3008,7 @@ bot_use_equipment_think_loop( data ) return; } - data.doFastContinue = true; + data.dofastcontinue = true; return; } } @@ -3045,7 +3045,7 @@ bot_use_equipment_think() level endon( "game_ended" ); data = spawnStruct(); - data.doFastContinue = false; + data.dofastcontinue = false; for ( ;; ) { @@ -3058,9 +3058,9 @@ bot_use_equipment_think() */ bot_use_grenade_think_loop( data ) { - if ( data.doFastContinue ) + if ( data.dofastcontinue ) { - data.doFastContinue = false; + data.dofastcontinue = false; } else { @@ -3131,7 +3131,7 @@ bot_use_grenade_think_loop( data ) loc = traceForward[ "position" ]; dist = DistanceSquared( self.origin, loc ); - if ( dist < level.bots_minGrenadeDistance || dist > level.bots_maxGrenadeDistance ) + if ( dist < level.bots_mingrenadedistance || dist > level.bots_maxgrenadedistance ) { return; } @@ -3166,7 +3166,7 @@ bot_use_grenade_think_loop( data ) return; } - data.doFastContinue = true; + data.dofastcontinue = true; return; } } @@ -3210,7 +3210,7 @@ bot_use_grenade_think() level endon( "game_ended" ); data = spawnStruct(); - data.doFastContinue = false; + data.dofastcontinue = false; for ( ;; ) { @@ -3316,7 +3316,7 @@ bot_watch_riot_weapons_loop() return; } - if ( dist <= level.bots_minGrenadeDistance || dist >= level.bots_maxGrenadeDistance ) + if ( dist <= level.bots_mingrenadedistance || dist >= level.bots_maxgrenadedistance ) { return; } @@ -3409,7 +3409,7 @@ bot_watch_riot_weapons() continue; } - if ( !self.hasRiotShieldEquipped ) + if ( !self.hasriotshieldequipped ) { continue; } @@ -3423,9 +3423,9 @@ bot_watch_riot_weapons() */ bot_jav_loc_think_loop( data ) { - if ( data.doFastContinue ) + if ( data.dofastcontinue ) { - data.doFastContinue = false; + data.dofastcontinue = false; } else { @@ -3529,7 +3529,7 @@ bot_jav_loc_think_loop( data ) return; } - data.doFastContinue = true; + data.dofastcontinue = true; return; } } @@ -3566,7 +3566,7 @@ bot_jav_loc_think() level endon( "game_ended" ); data = spawnStruct(); - data.doFastContinue = false; + data.dofastcontinue = false; for ( ;; ) { @@ -3601,7 +3601,7 @@ bot_equipment_kill_think_loop() continue; } - if ( IsDefined( item.owner ) && ( ( level.teamBased && item.owner.team == self.team ) || item.owner == self ) ) + if ( IsDefined( item.owner ) && ( ( level.teambased && item.owner.team == self.team ) || item.owner == self ) ) { continue; } @@ -3646,12 +3646,12 @@ bot_equipment_kill_think_loop() continue; } - if ( level.teamBased && player.team == myteam ) + if ( level.teambased && player.team == myteam ) { continue; } - ti = player.setSpawnPoint; + ti = player.setspawnpoint; if ( !isDefined( ti ) ) { @@ -3691,7 +3691,7 @@ bot_equipment_kill_think_loop() return; } - if ( isDefined( target.enemyTrigger ) && !self HasScriptGoal() && !self.bot_lock_goal ) + if ( isDefined( target.enemytrigger ) && !self HasScriptGoal() && !self.bot_lock_goal ) { self BotNotifyBotEvent( "attack_equ", "go_ti", target ); @@ -3788,7 +3788,7 @@ bot_equipment_attack( equ ) */ bot_listen_to_steps_loop() { - dist = level.bots_listenDist; + dist = level.bots_listendist; if ( self _hasPerk( "specialty_selectivehearing" ) ) { @@ -3808,7 +3808,7 @@ bot_listen_to_steps_loop() continue; } - if ( level.teamBased && self.team == player.team ) + if ( level.teambased && self.team == player.team ) { continue; } @@ -3856,7 +3856,7 @@ bot_listen_to_steps_loop() continue; } - if ( level.teamBased && self.team == player.team ) + if ( level.teambased && self.team == player.team ) { continue; } @@ -3945,9 +3945,9 @@ bot_listen_to_steps() */ bot_uav_think_loop() { - 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 ) + if ( level.hardcoremode && !hasRadar ) { return; } @@ -4037,7 +4037,7 @@ bot_uav_think() continue; } - if ( self isEMPed() || self.bot_isScrambled ) + if ( self isEMPed() || self.bot_isscrambled ) { continue; } @@ -4047,7 +4047,7 @@ bot_uav_think() continue; } - 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 ) ) { continue; } @@ -4069,20 +4069,20 @@ bot_revenge_think() return; } - if ( isDefined( self.lastKiller ) && isReallyAlive( self.lastKiller ) ) + if ( isDefined( self.lastkiller ) && isReallyAlive( self.lastkiller ) ) { - if ( bulletTracePassed( self getEye(), self.lastKiller getTagOrigin( "j_spineupper" ), false, self.lastKiller ) ) + if ( bulletTracePassed( self getEye(), self.lastkiller getTagOrigin( "j_spineupper" ), false, self.lastkiller ) ) { - self setAttacker( self.lastKiller ); + self setAttacker( self.lastkiller ); } } - if ( !isDefined( self.killerLocation ) ) + if ( !isDefined( self.killerlocation ) ) { return; } - loc = self.killerLocation; + loc = self.killerlocation; for ( ;; ) { @@ -4098,7 +4098,7 @@ bot_revenge_think() return; } - self BotNotifyBotEvent( "revenge", "start", loc, self.lastKiller ); + self BotNotifyBotEvent( "revenge", "start", loc, self.lastkiller ); self SetScriptGoal( loc, 64 ); @@ -4107,7 +4107,7 @@ bot_revenge_think() self ClearScriptGoal(); } - self BotNotifyBotEvent( "revenge", "stop", loc, self.lastKiller ); + self BotNotifyBotEvent( "revenge", "stop", loc, self.lastkiller ); } } @@ -4136,7 +4136,7 @@ turret_death_monitor( turret ) break; } - if ( isDefined( turret.carriedBy ) ) + if ( isDefined( turret.carriedby ) ) { break; } @@ -4166,7 +4166,7 @@ bot_turret_attack( enemy ) return; } - if ( isDefined( enemy.carriedBy ) ) + if ( isDefined( enemy.carriedby ) ) { return; } @@ -4217,7 +4217,7 @@ bot_turret_think_loop() continue; } - if ( isDefined( tempTurret.carriedBy ) ) + if ( isDefined( tempTurret.carriedby ) ) { continue; } @@ -4227,7 +4227,7 @@ bot_turret_think_loop() continue; } - if ( level.teamBased && tempTurret.team == myteam ) + if ( level.teambased && tempTurret.team == myteam ) { continue; } @@ -4356,7 +4356,7 @@ bot_watch_stuck_on_crate_loop() continue; } - if ( !isDefined( tempCrate.doingPhysics ) || tempCrate.doingPhysics ) + if ( !isDefined( tempCrate.doingphysics ) || tempCrate.doingphysics ) { continue; } @@ -4474,7 +4474,7 @@ bot_crate_think_loop( data ) continue; } - if ( !isDefined( tempCrate.doingPhysics ) || tempCrate.doingPhysics ) + if ( !isDefined( tempCrate.doingphysics ) || tempCrate.doingphysics ) { continue; } @@ -4500,7 +4500,7 @@ bot_crate_think_loop( data ) } else { - if ( maps\mp\killstreaks\_killstreaks::getStreakCost( crate.crateType ) > maps\mp\killstreaks\_killstreaks::getStreakCost( tempCrate.crateType ) ) + if ( maps\mp\killstreaks\_killstreaks::getStreakCost( crate.cratetype ) > maps\mp\killstreaks\_killstreaks::getStreakCost( tempCrate.cratetype ) ) { continue; } @@ -4982,7 +4982,7 @@ getKillstreakTargetLocation() continue; } - if ( level.teamBased && self.team == player.team ) + if ( level.teambased && self.team == player.team ) { continue; } @@ -5036,7 +5036,7 @@ clear_remote_on_death( isac130 ) if ( isDefined( isac130 ) && isac130 ) { - level.ac130InUse = false; + level.ac130inuse = false; } if ( isDefined( self ) ) @@ -5064,7 +5064,7 @@ isAnyEnemyPlanes() continue; } - if ( level.teamBased && plane.team == self.team ) + if ( level.teambased && plane.team == self.team ) { continue; } @@ -5085,9 +5085,9 @@ isAnyEnemyPlanes() */ bot_killstreak_think_loop( data ) { - if ( data.doFastContinue ) + if ( data.dofastcontinue ) { - data.doFastContinue = false; + data.dofastcontinue = false; } else { @@ -5130,7 +5130,7 @@ bot_killstreak_think_loop( data ) } - if ( isDefined( self.isCarrying ) && self.isCarrying ) + if ( isDefined( self.iscarrying ) && self.iscarrying ) { self notify( "place_sentry" ); } @@ -5143,9 +5143,9 @@ bot_killstreak_think_loop( data ) } - streakName = self.pers[ "killstreaks" ][ 0 ].streakName; + streakName = self.pers[ "killstreaks" ][ 0 ].streakname; - if ( level.inGracePeriod && maps\mp\killstreaks\_killstreaks::deadlyKillstreak( streakName ) ) + if ( level.ingraceperiod && maps\mp\killstreaks\_killstreaks::deadlyKillstreak( streakName ) ) { return; } @@ -5157,7 +5157,7 @@ bot_killstreak_think_loop( data ) curWeap = self GetLastWeapon(); } - lifeId = self.pers[ "killstreaks" ][ 0 ].lifeId; + lifeId = self.pers[ "killstreaks" ][ 0 ].lifeid; if ( !isDefined( lifeId ) ) { @@ -5191,7 +5191,7 @@ bot_killstreak_think_loop( data ) self ClearScriptGoal(); } - data.doFastContinue = true; + data.dofastcontinue = true; return; } } @@ -5279,7 +5279,7 @@ bot_killstreak_think_loop( data ) self maps\mp\killstreaks\_killstreaks::giveOwnedKillstreakItem(); 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.lifeid = lifeId; rocket.type = "remote"; rocket thread maps\mp\gametypes\_weapons::AddMissileToSightTraces( self.pers[ "team" ] ); @@ -5293,7 +5293,7 @@ bot_killstreak_think_loop( data ) } else if ( streakName == "ac130" ) { - if ( isDefined( level.ac130player ) || level.ac130InUse ) + if ( isDefined( level.ac130player ) || level.ac130inuse ) { return; } @@ -5333,7 +5333,7 @@ bot_killstreak_think_loop( data ) return; } - if ( streakName != "airdrop_mega" && level.littleBirds > 2 ) + if ( streakName != "airdrop_mega" && level.littlebirds > 2 ) { return; } @@ -5398,22 +5398,22 @@ bot_killstreak_think_loop( data ) return; } - if ( streakName == "nuke" && isDefined( level.nukeIncoming ) ) + 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" && 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" && 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; } @@ -5476,7 +5476,7 @@ bot_killstreak_think() level endon( "game_ended" ); data = spawnStruct(); - data.doFastContinue = false; + data.dofastcontinue = false; for ( ;; ) { @@ -5568,7 +5568,7 @@ BotLookAtRandomThing( obj_target ) continue; } - if ( level.teamBased && self.team == player.team ) + if ( level.teambased && self.team == player.team ) { continue; } @@ -5770,7 +5770,7 @@ bot_dom_def_think_loop() continue; } - if ( !level.flags[ i ].useObj.objPoints[ myTeam ].isFlashing ) + if ( !level.flags[ i ].useobj.objpoints[ myTeam ].isflashing ) { continue; } @@ -5852,7 +5852,7 @@ bot_dom_watch_for_flashing( flag, myTeam ) 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; } @@ -5962,10 +5962,10 @@ bot_dom_cap_think_loop() while ( flag maps\mp\gametypes\dom::getFlagTeam() != myTeam && self isTouching( flag ) ) { - cur = flag.useObj.curProgress; + cur = flag.useobj.curprogress; wait 0.5; - if ( flag.useObj.curProgress == cur ) + if ( flag.useobj.curprogress == cur ) { break; // some enemy is near us, kill him } @@ -6065,9 +6065,9 @@ bot_hq_loop() origin = ( radio.origin[ 0 ], radio.origin[ 1 ], radio.origin[ 2 ] + 5 ); // if neut or enemy - if ( gameobj.ownerTeam != myTeam ) + if ( gameobj.ownerteam != myTeam ) { - if ( gameobj.interactTeam == "none" ) // wait for it to become active + if ( gameobj.interactteam == "none" ) // wait for it to become active { if ( self HasScriptGoal() ) { @@ -6120,12 +6120,12 @@ bot_hq_loop() self SetScriptGoal( self.origin, 64 ); - while ( self isTouching( gameobj.trigger ) && gameobj.ownerTeam != myTeam && level.radio == radio ) + while ( self isTouching( gameobj.trigger ) && gameobj.ownerteam != myTeam && level.radio == radio ) { - cur = gameobj.curProgress; + cur = gameobj.curprogress; wait 0.5; - if ( cur == gameobj.curProgress ) + if ( cur == gameobj.curprogress ) { break; // no prog made, enemy must be capping } @@ -6140,7 +6140,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" ); @@ -6277,7 +6277,7 @@ bot_hq_watch_flashing( obj, radio ) break; } - if ( !obj.objPoints[ myteam ].isFlashing ) + if ( !obj.objpoints[ myteam ].isflashing ) { break; } @@ -6299,19 +6299,19 @@ bot_sab_loop() myTeam = self.pers[ "team" ]; otherTeam = getOtherTeam( myTeam ); - bomb = level.sabBomb; - bombteam = bomb.ownerTeam; + bomb = level.sabbomb; + bombteam = bomb.ownerteam; carrier = bomb.carrier; timeleft = maps\mp\gametypes\_gamelogic::getTimeRemaining() / 1000; // the bomb is ours, we are on the offence if ( bombteam == myTeam ) { - site = level.bombZones[ otherTeam ]; + site = level.bombzones[ otherTeam ]; origin = ( site.curorigin[ 0 ] + 50, site.curorigin[ 1 ] + 50, site.curorigin[ 2 ] + 5 ); // protect our planted bomb - if ( level.bombPlanted ) + if ( level.bombplanted ) { // kill defuser if ( site isInUse() ) // somebody is defusing our bomb we planted @@ -6400,7 +6400,7 @@ bot_sab_loop() self ClearScriptGoal(); } - if ( event != "goal" || level.bombPlanted || !self isTouching( site.trigger ) || site IsInUse() || self inLastStand() || self HasThreat() ) + if ( event != "goal" || level.bombplanted || !self isTouching( site.trigger ) || site IsInUse() || self inLastStand() || self HasThreat() ) { self.bot_lock_goal = false; return; @@ -6412,7 +6412,7 @@ bot_sab_loop() self SetScriptGoal( self.origin, 64 ); self bot_wait_stop_move(); - waitTime = ( site.useTime / 1000 ) + 2.5; + waitTime = ( site.usetime / 1000 ) + 2.5; self thread BotPressUse( waitTime ); wait waitTime; @@ -6423,7 +6423,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 ) ) { @@ -6431,7 +6431,7 @@ bot_sab_loop() } // protect our site from planters - if ( !level.bombPlanted ) + if ( !level.bombplanted ) { // kill bomb carrier if ( site.bots > 2 || randomInt( 100 ) < 45 ) @@ -6550,7 +6550,7 @@ bot_sab_loop() self ClearScriptGoal(); } - if ( event != "goal" || !level.bombPlanted || site IsInUse() || !self isTouching( site.trigger ) || self InLastStand() || self HasThreat() ) + if ( event != "goal" || !level.bombplanted || site IsInUse() || !self isTouching( site.trigger ) || self InLastStand() || self HasThreat() ) { self.bot_lock_goal = false; return; @@ -6562,7 +6562,7 @@ bot_sab_loop() self SetScriptGoal( self.origin, 64 ); self bot_wait_stop_move(); - waitTime = ( site.useTime / 1000 ) + 2.5; + waitTime = ( site.usetime / 1000 ) + 2.5; self thread BotPressUse( waitTime ); wait waitTime; @@ -6617,12 +6617,12 @@ bot_sab() continue; } - if ( !isDefined( level.sabBomb ) ) + if ( !isDefined( level.sabbomb ) ) { continue; } - if ( !isDefined( level.bombZones ) || !level.bombZones.size ) + if ( !isDefined( level.bombzones ) || !level.bombzones.size ) { continue; } @@ -6645,7 +6645,7 @@ bot_sd_defenders_loop( data ) otherTeam = getOtherTeam( myTeam ); // bomb not planted, lets protect our sites - if ( !level.bombPlanted ) + if ( !level.bombplanted ) { timeleft = maps\mp\gametypes\_gamelogic::getTimeRemaining() / 1000; @@ -6655,10 +6655,10 @@ bot_sd_defenders_loop( data ) } // check for a bomb carrier, and camp the bomb - if ( !level.multiBomb && isDefined( level.sdBomb ) ) + if ( !level.multibomb && isDefined( level.sdbomb ) ) { - bomb = level.sdBomb; - carrier = level.sdBomb.carrier; + bomb = level.sdbomb; + carrier = level.sdbomb.carrier; if ( !isDefined( carrier ) ) { @@ -6689,16 +6689,16 @@ bot_sd_defenders_loop( data ) } // pick a site to protect - if ( !isDefined( level.bombZones ) || !level.bombZones.size ) + if ( !isDefined( level.bombzones ) || !level.bombzones.size ) { return; } sites = []; - for ( i = 0; i < level.bombZones.size; i++ ) + for ( i = 0; i < level.bombzones.size; i++ ) { - sites[ sites.size ] = level.bombZones[ i ]; + sites[ sites.size ] = level.bombzones[ i ]; } if ( !sites.size ) @@ -6761,12 +6761,12 @@ bot_sd_defenders_loop( data ) } // bomb is planted, we need to defuse - if ( !isDefined( level.defuseObject ) ) + if ( !isDefined( level.defuseobject ) ) { return; } - defuse = level.defuseObject; + defuse = level.defuseobject; if ( !isDefined( defuse.bots ) ) { @@ -6814,7 +6814,7 @@ bot_sd_defenders_loop( data ) self ClearScriptGoal(); } - if ( event != "goal" || !level.bombPlanted || defuse isInUse() || !self isTouching( defuse.trigger ) || self InLastStand() || self HasThreat() ) + if ( event != "goal" || !level.bombplanted || defuse isInUse() || !self isTouching( defuse.trigger ) || self InLastStand() || self HasThreat() ) { self.bot_lock_goal = false; return; @@ -6826,7 +6826,7 @@ bot_sd_defenders_loop( data ) self SetScriptGoal( self.origin, 64 ); self bot_wait_stop_move(); - waitTime = ( defuse.useTime / 1000 ) + 2.5; + waitTime = ( defuse.usetime / 1000 ) + 2.5; self thread BotPressUse( waitTime ); wait waitTime; @@ -6899,14 +6899,14 @@ bot_sd_attackers_loop( data ) otherTeam = getOtherTeam( myTeam ); // bomb planted - if ( level.bombPlanted ) + if ( level.bombplanted ) { - if ( !isDefined( level.defuseObject ) ) + if ( !isDefined( level.defuseobject ) ) { return; } - site = level.defuseObject; + site = level.defuseobject; origin = ( site.curorigin[ 0 ], site.curorigin[ 1 ], site.curorigin[ 2 ] + 5 ); @@ -6953,15 +6953,15 @@ bot_sd_attackers_loop( data ) timepassed = getTimePassed() / 1000; // dont have a bomb - if ( !self IsBombCarrier() && !level.multiBomb ) + if ( !self IsBombCarrier() && !level.multibomb ) { - if ( !isDefined( level.sdBomb ) ) + if ( !isDefined( level.sdbomb ) ) { return; } - bomb = level.sdBomb; - carrier = level.sdBomb.carrier; + bomb = level.sdbomb; + carrier = level.sdbomb.carrier; // bomb is picked up if ( isDefined( carrier ) ) @@ -7047,16 +7047,16 @@ bot_sd_attackers_loop( data ) return; } - if ( !isDefined( level.bombZones ) || !level.bombZones.size ) + if ( !isDefined( level.bombzones ) || !level.bombzones.size ) { return; } sites = []; - for ( i = 0; i < level.bombZones.size; i++ ) + for ( i = 0; i < level.bombzones.size; i++ ) { - sites[ sites.size ] = level.bombZones[ i ]; + sites[ sites.size ] = level.bombzones[ i ]; } if ( !sites.size ) @@ -7093,7 +7093,7 @@ bot_sd_attackers_loop( data ) self ClearScriptGoal(); } - if ( event != "goal" || level.bombPlanted || plant.visibleTeam == "none" || !self isTouching( plant.trigger ) || self InLastStand() || self HasThreat() || plant IsInUse() ) + if ( event != "goal" || level.bombplanted || plant.visibleteam == "none" || !self isTouching( plant.trigger ) || self InLastStand() || self HasThreat() || plant IsInUse() ) { self.bot_lock_goal = false; return; @@ -7105,7 +7105,7 @@ bot_sd_attackers_loop( data ) self SetScriptGoal( self.origin, 64 ); self bot_wait_stop_move(); - waitTime = ( plant.useTime / 1000 ) + 2.5; + waitTime = ( plant.usetime / 1000 ) + 2.5; self thread BotPressUse( waitTime ); wait waitTime; @@ -7152,11 +7152,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() ) { @@ -7338,12 +7338,12 @@ bot_cap() continue; } - if ( !isDefined( level.capZones ) ) + if ( !isDefined( level.capzones ) ) { continue; } - if ( !isDefined( level.teamFlags ) ) + if ( !isDefined( level.teamflags ) ) { continue; } @@ -7399,10 +7399,10 @@ bot_cap_get_flag( flag ) while ( curCarrier == flag getCarrierEntNum() && self isTouching( flag.trigger ) ) { - cur = flag.curProgress; + cur = flag.curprogress; wait 0.5; - if ( flag.curProgress == cur ) + if ( flag.curprogress == cur ) { break; // some enemy is near us, kill him } @@ -7429,7 +7429,7 @@ bot_dem_go_plant( plant ) { wait 0.5; - if ( ( plant.label == "_b" && level.bombBPlanted ) || ( plant.label == "_a" && level.bombAPlanted ) ) + if ( ( plant.label == "_b" && level.bombbplanted ) || ( plant.label == "_a" && level.bombaplanted ) ) { break; } @@ -7440,7 +7440,7 @@ bot_dem_go_plant( plant ) } } - if ( ( plant.label == "_b" && level.bombBPlanted ) || ( plant.label == "_a" && level.bombAPlanted ) ) + if ( ( plant.label == "_b" && level.bombbplanted ) || ( plant.label == "_a" && level.bombaplanted ) ) { self notify( "bad_path" ); } @@ -7462,14 +7462,14 @@ bot_dem_attack_spawnkill() self endon( "bad_path" ); self endon( "new_goal" ); - l1 = level.bombAPlanted; - l2 = level.bombBPlanted; + l1 = level.bombaplanted; + l2 = level.bombbplanted; for ( ;; ) { wait 0.5; - if ( l1 != level.bombAPlanted || l2 != level.bombBPlanted ) + if ( l1 != level.bombaplanted || l2 != level.bombbplanted ) { break; } @@ -7490,11 +7490,11 @@ bot_dem_attackers_loop() sites = []; // sites to bomb at bombed = 0; // exploded sites - for ( i = 0; i < level.bombZones.size; i++ ) + for ( i = 0; i < level.bombzones.size; i++ ) { - bomb = level.bombZones[ i ]; + bomb = level.bombzones[ i ]; - if ( isDefined( bomb.bombExploded ) && bomb.bombExploded ) + if ( isDefined( bomb.bombexploded ) && bomb.bombexploded ) { bombed++; continue; @@ -7502,7 +7502,7 @@ bot_dem_attackers_loop() if ( bomb.label == "_a" ) { - if ( level.bombAPlanted ) + if ( level.bombaplanted ) { bombs[ bombs.size ] = bomb; } @@ -7516,7 +7516,7 @@ bot_dem_attackers_loop() if ( bomb.label == "_b" ) { - if ( level.bombBPlanted ) + if ( level.bombbplanted ) { bombs[ bombs.size ] = bomb; } @@ -7704,7 +7704,7 @@ bot_dem_attackers_loop() self ClearScriptGoal(); } - if ( event != "goal" || ( plant.label == "_b" && level.bombBPlanted ) || ( plant.label == "_a" && level.bombAPlanted ) || plant IsInUse() || !self isTouching( plant.trigger ) || self InLastStand() || self HasThreat() ) + if ( event != "goal" || ( plant.label == "_b" && level.bombbplanted ) || ( plant.label == "_a" && level.bombaplanted ) || plant IsInUse() || !self isTouching( plant.trigger ) || self InLastStand() || self HasThreat() ) { self.bot_lock_goal = false; return; @@ -7716,7 +7716,7 @@ bot_dem_attackers_loop() self SetScriptGoal( self.origin, 64 ); self bot_wait_stop_move(); - waitTime = ( plant.useTime / 1000 ) + 2.5; + waitTime = ( plant.usetime / 1000 ) + 2.5; self thread BotPressUse( waitTime ); wait waitTime; @@ -7755,7 +7755,7 @@ bot_dem_attackers() continue; } - if ( !isDefined( level.bombZones ) || !level.bombZones.size ) + if ( !isDefined( level.bombzones ) || !level.bombzones.size ) { continue; } @@ -7776,11 +7776,11 @@ bot_dem_defenders_loop() sites = []; // sites to bomb at bombed = 0; // exploded sites - for ( i = 0; i < level.bombZones.size; i++ ) + for ( i = 0; i < level.bombzones.size; i++ ) { - bomb = level.bombZones[ i ]; + bomb = level.bombzones[ i ]; - if ( isDefined( bomb.bombExploded ) && bomb.bombExploded ) + if ( isDefined( bomb.bombexploded ) && bomb.bombexploded ) { bombed++; continue; @@ -7788,7 +7788,7 @@ bot_dem_defenders_loop() if ( bomb.label == "_a" ) { - if ( level.bombAPlanted ) + if ( level.bombaplanted ) { bombs[ bombs.size ] = bomb; } @@ -7802,7 +7802,7 @@ bot_dem_defenders_loop() if ( bomb.label == "_b" ) { - if ( level.bombBPlanted ) + if ( level.bombbplanted ) { bombs[ bombs.size ] = bomb; } @@ -7993,7 +7993,7 @@ bot_dem_defenders_loop() self ClearScriptGoal(); } - if ( event != "goal" || ( defuse.label == "_b" && !level.bombBPlanted ) || ( defuse.label == "_a" && !level.bombAPlanted ) || defuse IsInUse() || !self isTouching( defuse.trigger ) || self InLastStand() || self HasThreat() ) + if ( event != "goal" || ( defuse.label == "_b" && !level.bombbplanted ) || ( defuse.label == "_a" && !level.bombaplanted ) || defuse IsInUse() || !self isTouching( defuse.trigger ) || self InLastStand() || self HasThreat() ) { self.bot_lock_goal = false; return; @@ -8005,7 +8005,7 @@ bot_dem_defenders_loop() self SetScriptGoal( self.origin, 64 ); self bot_wait_stop_move(); - waitTime = ( defuse.useTime / 1000 ) + 2.5; + waitTime = ( defuse.usetime / 1000 ) + 2.5; self thread BotPressUse( waitTime ); wait waitTime; @@ -8044,7 +8044,7 @@ bot_dem_defenders() continue; } - if ( !isDefined( level.bombZones ) || !level.bombZones.size ) + if ( !isDefined( level.bombzones ) || !level.bombzones.size ) { continue; } @@ -8074,13 +8074,13 @@ bot_dem_go_defuse( defuse ) break; } - if ( ( defuse.label == "_b" && !level.bombBPlanted ) || ( defuse.label == "_a" && !level.bombAPlanted ) ) + if ( ( defuse.label == "_b" && !level.bombbplanted ) || ( defuse.label == "_a" && !level.bombaplanted ) ) { break; } } - if ( ( defuse.label == "_b" && !level.bombBPlanted ) || ( defuse.label == "_a" && !level.bombAPlanted ) ) + if ( ( defuse.label == "_b" && !level.bombbplanted ) || ( defuse.label == "_a" && !level.bombaplanted ) ) { self notify( "bad_path" ); } @@ -8106,7 +8106,7 @@ bot_dem_defend_spawnkill() { wait 0.5; - if ( level.bombBPlanted || level.bombAPlanted ) + if ( level.bombbplanted || level.bombaplanted ) { break; } @@ -8192,7 +8192,7 @@ bot_think_revive() self endon( "disconnect" ); level endon( "game_ended" ); - if ( !level.dieHardMode || !level.teamBased ) + if ( !level.diehardmode || !level.teambased ) { return; } @@ -8232,11 +8232,11 @@ bot_gtnw_loop() { myteam = self.team; theirteam = getOtherTeam( myteam ); - origin = level.nukeSite.trigger.origin; - trigger = level.nukeSite.trigger; + 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 ) @@ -8267,10 +8267,10 @@ bot_gtnw_loop() while ( self isTouching( trigger ) ) { - cur = level.nukeSite.curProgress; + cur = level.nukesite.curprogress; wait 0.5; - if ( cur == level.nukeSite.curProgress ) + if ( cur == level.nukesite.curprogress ) { break; // no prog made, enemy must be capping } @@ -8342,7 +8342,7 @@ bot_gtnw() continue; } - if ( !isDefined( level.nukeSite ) || !isDefined( level.nukeSite.trigger ) ) + if ( !isDefined( level.nukesite ) || !isDefined( level.nukesite.trigger ) ) { continue; } @@ -8361,8 +8361,8 @@ bot_oneflag_loop() if ( myteam == game[ "attackers" ] ) { - myzone = level.capZones[ myteam ]; - theirflag = level.teamFlags[ otherTeam ]; + myzone = level.capzones[ myteam ]; + theirflag = level.teamflags[ otherTeam ]; if ( self isFlagCarrier() ) { @@ -8423,8 +8423,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() ) { @@ -8540,7 +8540,7 @@ bot_oneflag() continue; } - if ( !isDefined( level.capZones ) || !isDefined( level.teamFlags ) ) + if ( !isDefined( level.capzones ) || !isDefined( level.teamflags ) ) { continue; } @@ -8554,7 +8554,7 @@ bot_oneflag() */ bot_arena_loop() { - flag = level.arenaFlag; + flag = level.arenaflag; myTeam = self.team; self BotNotifyBotEvent( "arena", "go", "cap" ); @@ -8579,12 +8579,12 @@ bot_arena_loop() self SetScriptGoal( self.origin, 64 ); - while ( self isTouching( flag.trigger ) && flag.ownerTeam != myTeam ) + while ( self isTouching( flag.trigger ) && flag.ownerteam != myTeam ) { - cur = flag.curProgress; + cur = flag.curprogress; wait 0.5; - if ( cur == flag.curProgress ) + if ( cur == flag.curprogress ) { break; // no prog made, enemy must be capping } @@ -8621,7 +8621,7 @@ bot_arena() continue; } - if ( !isDefined( level.arenaFlag ) ) + if ( !isDefined( level.arenaflag ) ) { continue; } @@ -8652,7 +8652,7 @@ bot_vip_loop() continue; } - if ( isDefined( player.isVip ) && player.isVip ) + if ( isDefined( player.isvip ) && player.isvip ) { vip = player; } @@ -8660,15 +8660,15 @@ bot_vip_loop() if ( self.team == game[ "defenders" ] ) { - if ( isDefined( self.isVip ) && self.isVip ) + if ( isDefined( self.isvip ) && self.isvip ) { - if ( isDefined( level.extractionZone ) && !isDefined( level.extractionTime ) ) + if ( isDefined( level.extractionzone ) && !isDefined( level.extractiontime ) ) { // go to extraction zone self BotNotifyBotEvent( "vip", "start", "cap" ); self.bot_lock_goal = true; - self SetScriptGoal( level.extractionZone.trigger.origin, 32 ); + self SetScriptGoal( level.extractionzone.trigger.origin, 32 ); evt = self waittill_any_return( "goal", "bad_path", "new_goal" ); @@ -8702,15 +8702,15 @@ bot_vip_loop() } else { - if ( isDefined( level.extractionZone ) && !isDefined( level.extractionTime ) && self BotGetRandom() < 65 ) + if ( isDefined( level.extractionzone ) && !isDefined( level.extractiontime ) && self BotGetRandom() < 65 ) { // camp the extraction zone - if ( DistanceSquared( level.extractionZone.trigger.origin, self.origin ) <= 1024 * 1024 ) + if ( DistanceSquared( level.extractionzone.trigger.origin, self.origin ) <= 1024 * 1024 ) { return; } - self SetScriptGoal( level.extractionZone.trigger.origin, 256 ); + self SetScriptGoal( level.extractionzone.trigger.origin, 256 ); if ( self waittill_any_return( "goal", "bad_path", "new_goal" ) != "new_goal" ) { diff --git a/maps/mp/bots/_bot_utility.gsc b/maps/mp/bots/_bot_utility.gsc index 8db82e1..a93e13f 100644 --- a/maps/mp/bots/_bot_utility.gsc +++ b/maps/mp/bots/_bot_utility.gsc @@ -553,7 +553,7 @@ HasThreat() */ IsDefusing() { - return ( isDefined( self.isDefusing ) && self.isDefusing ); + return ( isDefined( self.isdefusing ) && self.isdefusing ); } /* @@ -561,7 +561,7 @@ IsDefusing() */ isPlanting() { - return ( isDefined( self.isPlanting ) && self.isPlanting ); + return ( isDefined( self.isplanting ) && self.isplanting ); } /* @@ -569,7 +569,7 @@ isPlanting() */ isBombCarrier() { - return ( isDefined( self.isBombCarrier ) && self.isBombCarrier ); + return ( isDefined( self.isbombcarrier ) && self.isbombcarrier ); } /* @@ -577,7 +577,7 @@ isBombCarrier() */ isInUse() { - return ( isDefined( self.inUse ) && self.inUse ); + return ( isDefined( self.inuse ) && self.inuse ); } /* @@ -585,7 +585,7 @@ isInUse() */ inLastStand() { - return ( isDefined( self.lastStand ) && self.lastStand ); + return ( isDefined( self.laststand ) && self.laststand ); } /* @@ -593,7 +593,7 @@ inLastStand() */ isBeingRevived() { - return ( isDefined( self.beingRevived ) && self.beingRevived ); + return ( isDefined( self.beingrevived ) && self.beingrevived ); } /* @@ -601,7 +601,7 @@ isBeingRevived() */ inFinalStand() { - return ( isDefined( self.inFinalStand ) && self.inFinalStand ); + return ( isDefined( self.infinalstand ) && self.infinalstand ); } /* @@ -609,7 +609,7 @@ inFinalStand() */ isFlagCarrier() { - return ( isDefined( self.carryFlag ) && self.carryFlag ); + return ( isDefined( self.carryflag ) && self.carryflag ); } /* @@ -617,7 +617,7 @@ isFlagCarrier() */ IsStunned() { - return ( isdefined( self.concussionEndTime ) && self.concussionEndTime > gettime() ); + return ( isdefined( self.concussionendtime ) && self.concussionendtime > gettime() ); } /* @@ -625,7 +625,7 @@ IsStunned() */ isArtShocked() { - return ( isDefined( self.beingArtilleryShellshocked ) && self.beingArtilleryShellshocked ); + return ( isDefined( self.beingartilleryshellshocked ) && self.beingartilleryshellshocked ); } /* @@ -658,7 +658,7 @@ getValidTube() */ allowClassChoiceUtil() { - entry = tableLookup( "mp/gametypesTable.csv", 0, level.gameType, 4 ); + entry = tableLookup( "mp/gametypesTable.csv", 0, level.gametype, 4 ); if ( !isDefined( entry ) || entry == "" ) { @@ -673,7 +673,7 @@ allowClassChoiceUtil() */ allowTeamChoiceUtil() { - entry = tableLookup( "mp/gametypesTable.csv", 0, level.gameType, 5 ); + entry = tableLookup( "mp/gametypesTable.csv", 0, level.gametype, 5 ); if ( !isDefined( entry ) || entry == "" ) { @@ -1053,9 +1053,9 @@ RaySphereIntersect( start, end, spherePos, radius ) */ SmokeTrace( start, end, rad ) { - for ( i = level.bots_smokeList.count - 1; i >= 0; i-- ) + for ( i = level.bots_smokelist.count - 1; i >= 0; i-- ) { - nade = level.bots_smokeList.data[ i ]; + nade = level.bots_smokelist.data[ i ]; if ( nade.state != "smoking" ) { @@ -1282,10 +1282,10 @@ readWpsFromFile( mapname ) */ load_waypoints() { - level.waypointCount = 0; - level.waypointUsage = []; - level.waypointUsage[ "allies" ] = []; - level.waypointUsage[ "axis" ] = []; + level.waypointcount = 0; + level.waypointusage = []; + level.waypointusage[ "allies" ] = []; + level.waypointusage[ "axis" ] = []; if ( !isDefined( level.waypoints ) ) { @@ -1321,9 +1321,9 @@ load_waypoints() BotBuiltinPrintConsole( "No waypoints loaded!" ); } - level.waypointCount = level.waypoints.size; + level.waypointcount = level.waypoints.size; - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { if ( !isDefined( level.waypoints[ i ].children ) || !isDefined( level.waypoints[ i ].children.size ) ) { @@ -1340,7 +1340,7 @@ load_waypoints() level.waypoints[ i ].type = "crouch"; } - level.waypoints[ i ].childCount = undefined; + level.waypoints[ i ].childcount = undefined; } } @@ -1422,7 +1422,7 @@ getWaypointsOfType( type ) { answer = []; - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { wp = level.waypoints[ i ]; @@ -2425,21 +2425,21 @@ ReverseHeapAStar( item, item2 ) */ RemoveWaypointUsage( wp, team ) { - if ( !isDefined( level.waypointUsage ) ) + if ( !isDefined( level.waypointusage ) ) { return; } - if ( !isDefined( level.waypointUsage[ team ][ wp + "" ] ) ) + if ( !isDefined( level.waypointusage[ team ][ wp + "" ] ) ) { return; } - level.waypointUsage[ team ][ wp + "" ]--; + level.waypointusage[ team ][ wp + "" ]--; - if ( level.waypointUsage[ team ][ wp + "" ] <= 0 ) + if ( level.waypointusage[ team ][ wp + "" ] <= 0 ) { - level.waypointUsage[ team ][ wp + "" ] = undefined; + level.waypointusage[ team ][ wp + "" ] = undefined; } } @@ -2451,7 +2451,7 @@ GetNearestWaypointWithSight( pos ) candidate = undefined; dist = 2147483647; - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { if ( !bulletTracePassed( pos + ( 0, 0, 15 ), level.waypoints[ i ].origin + ( 0, 0, 15 ), false, undefined ) ) { @@ -2480,7 +2480,7 @@ GetNearestWaypoint( pos ) candidate = undefined; dist = 2147483647; - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { curdis = DistanceSquared( level.waypoints[ i ].origin, pos ); @@ -2575,14 +2575,14 @@ AStarSearch( start, goal, team, greedy_path ) while ( isDefined( bestNode ) ) { - if ( isdefined( team ) && isDefined( level.waypointUsage ) ) + if ( isdefined( team ) && isDefined( level.waypointusage ) ) { - if ( !isDefined( level.waypointUsage[ team ][ bestNode.index + "" ] ) ) + if ( !isDefined( level.waypointusage[ team ][ bestNode.index + "" ] ) ) { - level.waypointUsage[ team ][ bestNode.index + "" ] = 0; + level.waypointusage[ team ][ bestNode.index + "" ] = 0; } - level.waypointUsage[ team ][ bestNode.index + "" ]++; + level.waypointusage[ team ][ bestNode.index + "" ]++; } // construct path @@ -2602,13 +2602,13 @@ AStarSearch( start, goal, team, greedy_path ) penalty = 1; - if ( !greedy_path && isdefined( team ) && isDefined( level.waypointUsage ) ) + if ( !greedy_path && isdefined( team ) && isDefined( level.waypointusage ) ) { temppen = 1; - if ( isDefined( level.waypointUsage[ team ][ child + "" ] ) ) + if ( isDefined( level.waypointusage[ team ][ child + "" ] ) ) { - temppen = level.waypointUsage[ team ][ child + "" ]; // consider how many bots are taking this path + temppen = level.waypointusage[ team ][ child + "" ]; // consider how many bots are taking this path } if ( temppen > 1 ) @@ -2771,30 +2771,30 @@ onUsePlantObjectFix( player ) // player logString( "bomb planted: " + self.label ); // disable all bomb zones except this one - for ( index = 0; index < level.bombZones.size; index++ ) + for ( index = 0; index < level.bombzones.size; index++ ) { - if ( level.bombZones[ index ] == self ) + if ( level.bombzones[ index ] == self ) { continue; } - level.bombZones[ index ] maps\mp\gametypes\_gameobjects::disableObject(); + level.bombzones[ index ] maps\mp\gametypes\_gameobjects::disableObject(); } player playSound( "mp_bomb_plant" ); player notify ( "bomb_planted" ); - // if ( !level.hardcoreMode ) + // if ( !level.hardcoremode ) // iPrintLn( &"MP_EXPLOSIVES_PLANTED_BY", player ); leaderDialog( "bomb_planted" ); level thread teamPlayerCardSplash( "callout_bombplanted", player ); - level.bombOwner = player; + level.bombowner = player; player thread maps\mp\gametypes\_hud_message::SplashNotify( "plant", maps\mp\gametypes\_rank::getScoreInfoValue( "plant" ) ); player thread maps\mp\gametypes\_rank::giveRankXP( "plant" ); - player.bombPlantedTime = getTime(); + player.bombplantedtime = getTime(); maps\mp\gametypes\_gamescore::givePlayerScore( "plant", player ); player incPlayerStat( "bombsplanted", 1 ); player thread maps\mp\_matchdata::logGameEvent( "plant", player.origin ); @@ -2807,30 +2807,30 @@ onUsePlantObjectFix( player ) bombPlantedFix( destroyedObj, player ) { maps\mp\gametypes\_gamelogic::pauseTimer(); - level.bombPlanted = true; + level.bombplanted = true; destroyedObj.visuals[ 0 ] thread maps\mp\gametypes\_gamelogic::playTickingSound(); - level.tickingObject = destroyedObj.visuals[ 0 ]; + level.tickingobject = destroyedObj.visuals[ 0 ]; - level.timeLimitOverride = true; - setGameEndTime( int( gettime() + ( level.bombTimer * 1000 ) ) ); + level.timelimitoverride = true; + setGameEndTime( int( gettime() + ( level.bombtimer * 1000 ) ) ); setDvar( "ui_bomb_timer", 1 ); - if ( !level.multiBomb ) + if ( !level.multibomb ) { - level.sdBomb maps\mp\gametypes\_gameobjects::allowCarry( "none" ); - level.sdBomb maps\mp\gametypes\_gameobjects::setVisibleTeam( "none" ); - level.sdBomb maps\mp\gametypes\_gameobjects::setDropped(); - level.sdBombModel = level.sdBomb.visuals[ 0 ]; + level.sdbomb maps\mp\gametypes\_gameobjects::allowCarry( "none" ); + level.sdbomb maps\mp\gametypes\_gameobjects::setVisibleTeam( "none" ); + level.sdbomb maps\mp\gametypes\_gameobjects::setDropped(); + level.sdbombmodel = level.sdbomb.visuals[ 0 ]; } else { for ( index = 0; index < level.players.size; index++ ) { - if ( isDefined( level.players[ index ].carryIcon ) ) + if ( isDefined( level.players[ index ].carryicon ) ) { - level.players[ index ].carryIcon destroyElem(); + level.players[ index ].carryicon destroyElem(); } } @@ -2841,9 +2841,9 @@ bombPlantedFix( destroyedObj, player ) forward = vectornormalize( forward - common_scripts\utility::vector_multiply( trace[ "normal" ], vectordot( forward, trace[ "normal" ] ) ) ); dropAngles = vectortoangles( forward ); - level.sdBombModel = spawn( "script_model", trace[ "position" ] ); - level.sdBombModel.angles = dropAngles; - level.sdBombModel setModel( "prop_suitcase_bomb" ); + level.sdbombmodel = spawn( "script_model", trace[ "position" ] ); + level.sdbombmodel.angles = dropAngles; + level.sdbombmodel setModel( "prop_suitcase_bomb" ); } destroyedObj maps\mp\gametypes\_gameobjects::allowUse( "none" ); @@ -2857,12 +2857,12 @@ bombPlantedFix( destroyedObj, player ) label = destroyedObj maps\mp\gametypes\_gameobjects::getLabel(); // create a new object to defuse with. - trigger = destroyedObj.bombDefuseTrig; - trigger.origin = level.sdBombModel.origin; + trigger = destroyedObj.bombdefusetrig; + trigger.origin = level.sdbombmodel.origin; visuals = []; defuseObject = maps\mp\gametypes\_gameobjects::createUseObject( game[ "defenders" ], trigger, visuals, ( 0, 0, 32 ) ); defuseObject maps\mp\gametypes\_gameobjects::allowUse( "friendly" ); - defuseObject maps\mp\gametypes\_gameobjects::setUseTime( level.defuseTime ); + defuseObject maps\mp\gametypes\_gameobjects::setUseTime( level.defusetime ); defuseObject maps\mp\gametypes\_gameobjects::setUseText( &"MP_DEFUSING_EXPLOSIVE" ); defuseObject maps\mp\gametypes\_gameobjects::setUseHintText( &"PLATFORM_HOLD_TO_DEFUSE_EXPLOSIVES" ); defuseObject maps\mp\gametypes\_gameobjects::setVisibleTeam( "any" ); @@ -2871,27 +2871,27 @@ bombPlantedFix( destroyedObj, player ) defuseObject maps\mp\gametypes\_gameobjects::set3DIcon( "friendly", "waypoint_defuse" + label ); defuseObject maps\mp\gametypes\_gameobjects::set3DIcon( "enemy", "waypoint_defend" + label ); defuseObject.label = label; - defuseObject.onBeginUse = maps\mp\gametypes\sd::onBeginUse; - defuseObject.onEndUse = maps\mp\gametypes\sd::onEndUse; - defuseObject.onUse = maps\mp\gametypes\sd::onUseDefuseObject; - defuseObject.useWeapon = "briefcase_bomb_defuse_mp"; + defuseObject.onbeginuse = maps\mp\gametypes\sd::onBeginUse; + defuseObject.onenduse = maps\mp\gametypes\sd::onEndUse; + defuseObject.onuse = maps\mp\gametypes\sd::onUseDefuseObject; + defuseObject.useweapon = "briefcase_bomb_defuse_mp"; - level.defuseObject = defuseObject; + level.defuseobject = defuseObject; maps\mp\gametypes\sd::BombTimerWait(); setDvar( "ui_bomb_timer", 0 ); destroyedObj.visuals[ 0 ] maps\mp\gametypes\_gamelogic::stopTickingSound(); - if ( level.gameEnded || level.bombDefused ) + if ( level.gameended || level.bombdefused ) { return; } - level.bombExploded = true; + level.bombexploded = true; - explosionOrigin = level.sdBombModel.origin; - level.sdBombModel hide(); + explosionOrigin = level.sdbombmodel.origin; + level.sdbombmodel hide(); if ( isdefined( player ) ) { @@ -2912,14 +2912,14 @@ bombPlantedFix( destroyedObj, player ) thread playSoundinSpace( "exp_suitcase_bomb_main", explosionOrigin ); - if ( isDefined( destroyedObj.exploderIndex ) ) + if ( isDefined( destroyedObj.exploderindex ) ) { - exploder( destroyedObj.exploderIndex ); + exploder( destroyedObj.exploderindex ); } - for ( index = 0; index < level.bombZones.size; index++ ) + for ( index = 0; index < level.bombzones.size; index++ ) { - level.bombZones[ index ] maps\mp\gametypes\_gameobjects::disableObject(); + level.bombzones[ index ] maps\mp\gametypes\_gameobjects::disableObject(); } defuseObject maps\mp\gametypes\_gameobjects::disableObject(); @@ -3001,21 +3001,21 @@ botGiveLoadout( team, class, allowCopycat ) class_num = maps\mp\gametypes\_class::getClassIndex( class ); self.class_num = class_num; - loadoutPrimary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, class_num, 0 ); - loadoutPrimaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 0, 0 ); - loadoutPrimaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 0, 1 ); - loadoutPrimaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classTableName, class_num, 0 ); - loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classTableName, class_num, 1 ); - loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, class_num, 1 ); - loadoutSecondaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 1, 0 ); - loadoutSecondaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classTableName, class_num, 1, 1 );; - loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classTableName, class_num, 1 ); - loadoutEquipment = maps\mp\gametypes\_class::table_getEquipment( level.classTableName, class_num, 0 ); - loadoutPerk1 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, class_num, 1 ); - loadoutPerk2 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, class_num, 2 ); - loadoutPerk3 = maps\mp\gametypes\_class::table_getPerk( level.classTableName, class_num, 3 ); - loadoutOffhand = maps\mp\gametypes\_class::table_getOffhand( level.classTableName, class_num ); - loadoutDeathstreak = maps\mp\gametypes\_class::table_getDeathstreak( level.classTableName, class_num ); + loadoutPrimary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, class_num, 0 ); + loadoutPrimaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 0, 0 ); + loadoutPrimaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 0, 1 ); + loadoutPrimaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classtablename, class_num, 0 ); + loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classtablename, class_num, 1 ); + loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, class_num, 1 ); + loadoutSecondaryAttachment = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 1, 0 ); + loadoutSecondaryAttachment2 = maps\mp\gametypes\_class::table_getWeaponAttachment( level.classtablename, class_num, 1, 1 );; + loadoutSecondaryCamo = maps\mp\gametypes\_class::table_getWeaponCamo( level.classtablename, class_num, 1 ); + loadoutEquipment = maps\mp\gametypes\_class::table_getEquipment( level.classtablename, class_num, 0 ); + loadoutPerk1 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, class_num, 1 ); + loadoutPerk2 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, class_num, 2 ); + loadoutPerk3 = maps\mp\gametypes\_class::table_getPerk( level.classtablename, class_num, 3 ); + loadoutOffhand = maps\mp\gametypes\_class::table_getOffhand( level.classtablename, class_num ); + loadoutDeathstreak = maps\mp\gametypes\_class::table_getDeathstreak( level.classtablename, class_num ); } if ( loadoutPerk1 != "specialty_bling" ) @@ -3026,7 +3026,7 @@ botGiveLoadout( team, class, allowCopycat ) if ( loadoutPerk1 != "specialty_onemanarmy" && loadoutSecondary == "onemanarmy" ) { - loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classTableName, 10, 1 ); + loadoutSecondary = maps\mp\gametypes\_class::table_getWeapon( level.classtablename, 10, 1 ); } // loadoutSecondaryCamo = "none"; @@ -3065,7 +3065,7 @@ botGiveLoadout( team, class, allowCopycat ) } - if ( level.killstreakRewards ) + if ( level.killstreakrewards ) { if ( getDvarInt( "scr_classic" ) == 1 ) { @@ -3090,10 +3090,10 @@ botGiveLoadout( team, class, allowCopycat ) secondaryName = maps\mp\gametypes\_class::buildWeaponName( loadoutSecondary, loadoutSecondaryAttachment, loadoutSecondaryAttachment2 ); self _giveWeapon( secondaryName, int( tableLookup( "mp/camoTable.csv", 1, loadoutSecondaryCamo, 0 ) ) ); - self.loadoutPrimaryCamo = int( tableLookup( "mp/camoTable.csv", 1, loadoutPrimaryCamo, 0 ) ); - self.loadoutPrimary = loadoutPrimary; - self.loadoutSecondary = loadoutSecondary; - self.loadoutSecondaryCamo = int( tableLookup( "mp/camoTable.csv", 1, loadoutSecondaryCamo, 0 ) ); + self.loadoutprimarycamo = int( tableLookup( "mp/camoTable.csv", 1, loadoutPrimaryCamo, 0 ) ); + self.loadoutprimary = loadoutPrimary; + self.loadoutsecondary = loadoutSecondary; + self.loadoutsecondarycamo = int( tableLookup( "mp/camoTable.csv", 1, loadoutSecondaryCamo, 0 ) ); self SetOffhandPrimaryClass( "other" ); @@ -3109,13 +3109,13 @@ botGiveLoadout( team, class, allowCopycat ) // these special case giving pistol death have to come before // perk loadout to ensure player perk icons arent overwritten - if ( level.dieHardMode ) + if ( level.diehardmode ) { self maps\mp\perks\_perks::givePerk( "specialty_pistoldeath" ); } // only give the deathstreak for the initial spawn for this life. - if ( loadoutDeathStreak != "specialty_null" && ( getTime() - self.spawnTime ) < 0.1 ) + if ( loadoutDeathStreak != "specialty_null" && ( getTime() - self.spawntime ) < 0.1 ) { deathVal = int( tableLookup( "mp/perkTable.csv", 1, loadoutDeathStreak, 6 ) ); @@ -3146,10 +3146,10 @@ botGiveLoadout( team, class, allowCopycat ) // Primary Weapon primaryName = maps\mp\gametypes\_class::buildWeaponName( loadoutPrimary, loadoutPrimaryAttachment, loadoutPrimaryAttachment2 ); - self _giveWeapon( primaryName, self.loadoutPrimaryCamo ); + self _giveWeapon( primaryName, self.loadoutprimarycamo ); // fix changing from a riotshield class to a riotshield class during grace period not giving a shield - if ( primaryName == "riotshield_mp" && level.inGracePeriod ) + if ( primaryName == "riotshield_mp" && level.ingraceperiod ) { self notify ( "weapon_change", "riotshield_mp" ); } @@ -3198,12 +3198,12 @@ botGiveLoadout( team, class, allowCopycat ) } primaryWeapon = primaryName; - self.primaryWeapon = primaryWeapon; - self.secondaryWeapon = secondaryName; + self.primaryweapon = primaryWeapon; + self.secondaryweapon = secondaryName; self botPlayerModelForWeapon( self.pers[ "primaryWeapon" ], getBaseWeaponName( secondaryName ) ); - self.isSniper = ( weaponClass( self.primaryWeapon ) == "sniper" ); + self.issniper = ( weaponClass( self.primaryweapon ) == "sniper" ); self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" ); diff --git a/maps/mp/bots/_menu.gsc b/maps/mp/bots/_menu.gsc index 7407bd2..46e37ec 100644 --- a/maps/mp/bots/_menu.gsc +++ b/maps/mp/bots/_menu.gsc @@ -1,1346 +1,1346 @@ -/* - _menu - Author: INeedGames - Date: 09/26/2020 - The ingame menu. -*/ - -#include common_scripts\utility; -#include maps\mp\_utility; -#include maps\mp\gametypes\_hud_util; -#include maps\mp\bots\_bot_utility; - -init() -{ - if ( getDvar( "bots_main_menu" ) == "" ) - { - setDvar( "bots_main_menu", true ); - } - - if ( !getDvarInt( "bots_main_menu" ) ) - { - return; - } - - thread watchPlayers(); -} - -watchPlayers() -{ - for ( ;; ) - { - wait 1; - - if ( !getDvarInt( "bots_main_menu" ) ) - { - return; - } - - for ( i = level.players.size - 1; i >= 0; i-- ) - { - player = level.players[ i ]; - - if ( !player is_host() ) - { - continue; - } - - if ( isDefined( player.menuInit ) && player.menuInit ) - { - continue; - } - - player thread init_menu(); - } - } -} - -kill_menu() -{ - self notify( "bots_kill_menu" ); - self.menuInit = undefined; -} - -init_menu() -{ - self.menuInit = true; - - self.menuOpen = false; - self.menu_player = undefined; - self.SubMenu = "Main"; - self.Curs[ "Main" ][ "X" ] = 0; - self AddOptions(); - - self thread watchPlayerOpenMenu(); - self thread MenuSelect(); - self thread RightMenu(); - self thread LeftMenu(); - self thread UpMenu(); - self thread DownMenu(); - - self thread watchDisconnect(); - - self thread doGreetings(); -} - -watchDisconnect() -{ - self waittill_either( "disconnect", "bots_kill_menu" ); - - if ( self.menuOpen ) - { - if ( isDefined( self.MenuTextY ) ) - { - for ( i = 0; i < self.MenuTextY.size; i++ ) - { - 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.Menu ) && isDefined( self.Menu[ "X" ] ) ) - { - 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.menuVersionHud ) ) - { - self.menuVersionHud destroy(); - } - } -} - -doGreetings() -{ - self endon ( "disconnect" ); - self endon ( "bots_kill_menu" ); - wait 1; - self iPrintln( "Welcome to Bot Warfare " + self.name + "!" ); - wait 5; - self iPrintln( "Press [{+actionslot 2}] to open menu!" ); -} - -watchPlayerOpenMenu() -{ - self endon ( "disconnect" ); - self endon ( "bots_kill_menu" ); - - self notifyOnPlayerCommand( "bots_open_menu", "+actionslot 2" ); - - for ( ;; ) - { - self waittill( "bots_open_menu" ); - - if ( !self.menuOpen ) - { - self playLocalSound( "mouse_click" ); - self thread OpenSub( self.SubMenu ); - } - else - { - self playLocalSound( "mouse_click" ); - - if ( self.SubMenu != "Main" ) - { - self ExitSub(); - } - else - { - self ExitMenu(); - - if ( !gameFlag( "prematch_done" ) || level.gameEnded ) - { - self freezeControls( true ); - } - else - { - self freezecontrols( false ); - } - } - } - } -} - -MenuSelect() -{ - self endon ( "disconnect" ); - self endon ( "bots_kill_menu" ); - - self notifyOnPlayerCommand( "bots_select", "+gostand" ); - - for ( ;; ) - { - self waittill( "bots_select" ); - - if ( self.MenuOpen ) - { - 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" ] ] ); - } - 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" ] ] ); - } - } - } -} - -LeftMenu() -{ - self endon ( "disconnect" ); - self endon ( "bots_kill_menu" ); - - self notifyOnPlayerCommand( "bots_left", "+moveleft" ); - - for ( ;; ) - { - self waittill( "bots_left" ); - - if ( self.MenuOpen && self.SubMenu == "Main" ) - { - self playLocalSound( "mouse_over" ); - self.Curs[ "Main" ][ "X" ]--; - - if ( self.Curs[ "Main" ][ "X" ] < 0 ) - { - self.Curs[ "Main" ][ "X" ] = self.Option[ "Name" ][ self.SubMenu ].size - 1; - } - - self CursMove( "X" ); - } - } -} - -RightMenu() -{ - self endon ( "disconnect" ); - self endon ( "bots_kill_menu" ); - - self notifyOnPlayerCommand( "bots_right", "+moveright" ); - - for ( ;; ) - { - self waittill( "bots_right" ); - - if ( self.MenuOpen && self.SubMenu == "Main" ) - { - self playLocalSound( "mouse_over" ); - self.Curs[ "Main" ][ "X" ]++; - - if ( self.Curs[ "Main" ][ "X" ] > self.Option[ "Name" ][ self.SubMenu ].size - 1 ) - { - self.Curs[ "Main" ][ "X" ] = 0; - } - - self CursMove( "X" ); - } - } -} - -UpMenu() -{ - self endon ( "disconnect" ); - self endon ( "bots_kill_menu" ); - - self notifyOnPlayerCommand( "bots_up", "+forward" ); - - for ( ;; ) - { - self waittill( "bots_up" ); - - if ( self.MenuOpen && self.SubMenu != "Main" ) - { - self playLocalSound( "mouse_over" ); - self.Curs[ self.SubMenu ][ "Y" ]--; - - if ( self.Curs[ self.SubMenu ][ "Y" ] < 0 ) - { - self.Curs[ self.SubMenu ][ "Y" ] = self.Option[ "Name" ][ self.SubMenu ].size - 1; - } - - self CursMove( "Y" ); - } - } -} - -DownMenu() -{ - self endon ( "disconnect" ); - self endon ( "bots_kill_menu" ); - - self notifyOnPlayerCommand( "bots_down", "+back" ); - - for ( ;; ) - { - self waittill( "bots_down" ); - - if ( self.MenuOpen && self.SubMenu != "Main" ) - { - self playLocalSound( "mouse_over" ); - self.Curs[ self.SubMenu ][ "Y" ]++; - - if ( self.Curs[ self.SubMenu ][ "Y" ] > self.Option[ "Name" ][ self.SubMenu ].size - 1 ) - { - self.Curs[ self.SubMenu ][ "Y" ] = 0; - } - - self CursMove( "Y" ); - } - } -} - -OpenSub( menu, menu2 ) -{ - if ( menu != "Main" && ( !isDefined( self.Menu[ menu ] ) || !!isDefined( self.Menu[ menu ][ "FirstOpen" ] ) ) ) - { - self.Curs[ menu ][ "Y" ] = 0; - self.Menu[ menu ][ "FirstOpen" ] = true; - } - - logoldi = true; - self.SubMenu = menu; - - if ( self.SubMenu == "Main" ) - { - if ( isDefined( self.MenuText ) ) - { - for ( i = 0; i < self.MenuText.size; i++ ) - { - if ( isDefined( self.MenuText[ i ] ) ) - { - self.MenuText[ i ] destroy(); - } - } - } - - if ( isDefined( self.Menu ) && isDefined( self.Menu[ "X" ] ) ) - { - 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.menuVersionHud ) ) - { - self.menuVersionHud destroy(); - } - - 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 ] ); - - if ( logOldi ) - { - self.oldi = i; - } - - 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 ].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" ); - } - else - { - 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 CursMove( "X" ); - - self.menuVersionHud = initHudElem( "Bot Warfare " + level.bw_VERSION, 0, 0 ); - - self.MenuOpen = true; - } - else - { - if ( isDefined( self.MenuTextY ) ) - { - for ( i = 0 ; i < self.MenuTextY.size ; i++ ) - { - if ( isDefined( self.MenuTextY[ i ] ) ) - { - self.MenuTextY[ i ] destroy(); - } - } - } - - 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 CursMove( "Y" ); - } -} - -CursMove( direction ) -{ - self notify( "scrolled" ); - - 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; - - if ( isDefined( self.MenuText ) ) - { - for ( i = 0; i < self.MenuText.size; 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 thread ShowOptionOn( direction ); - } - else - { - if ( isDefined( self.MenuTextY ) ) - { - for ( i = 0; i < self.MenuTextY.size; i++ ) - { - if ( isDefined( self.MenuTextY[ i ] ) ) - { - self.MenuTextY[ i ].fontscale = 1.5; - self.MenuTextY[ i ].color = ( 1, 1, 1 ); - self.MenuTextY[ i ].glowAlpha = 0; - } - } - } - - if ( isDefined( self.MenuText ) ) - { - for ( i = 0; i < self.MenuText.size; 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 thread ShowOptionOn( direction ); - } -} - -ShowOptionOn( variable ) -{ - self endon( "scrolled" ); - self endon( "disconnect" ); - self endon( "exit" ); - self endon( "bots_kill_menu" ); - - for ( time = 0;; time += 0.05 ) - { - if ( !self isOnGround() && isAlive( self ) && gameFlag( "prematch_done" ) && !level.gameEnded ) - { - self freezecontrols( false ); - } - else - { - self freezecontrols( true ); - } - - self setClientDvar( "r_blur", "5" ); - self setClientDvar( "sc_blur", "15" ); - self addOptions(); - - if ( self.SubMenu == "Main" ) - { - 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); - 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; - } - - if ( isDefined( self.MenuText ) ) - { - 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 ] ); - } - } - } - } - else - { - 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); - 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; - } - - if ( isDefined( self.MenuTextY ) ) - { - 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 ] ); - } - } - } - } - - wait 0.05; - } -} - -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; -} - -AddBack( 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(); - } - } - } - - self.SubMenu = self.Menu[ "Back" ][ self.Submenu ]; - - if ( self.SubMenu == "Main" ) - { - self CursMove( "X" ); - } - else - { - self CursMove( "Y" ); - } -} - -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.Menu ) && isDefined( self.Menu[ "X" ] ) ) - { - 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.menuVersionHud ) ) - { - self.menuVersionHud destroy(); - } - - self.MenuOpen = false; - self notify( "exit" ); - - self setClientDvar( "r_blur", "0" ); - self setClientDvar( "sc_blur", "2" ); -} - -initHudElem( txt, xl, yl ) -{ - hud = NewClientHudElem( self ); - hud setText( txt ); - hud.alignX = "center"; - hud.alignY = "bottom"; - hud.horzAlign = "center"; - hud.vertAlign = "bottom"; - hud.x = xl; - hud.y = yl; - hud.foreground = true; - hud.fontScale = 1; - hud.font = "objective"; - hud.alpha = 1; - hud.glow = 0; - hud.glowColor = ( 0, 0, 0 ); - hud.glowAlpha = 1; - hud.color = ( 1.0, 1.0, 1.0 ); - - return hud; -} - -createRectangle( align, relative, x, y, width, height, color, sort, alpha, shader ) -{ - barElemBG = newClientHudElem( self ); - barElemBG.elemType = "bar_"; - barElemBG.width = width; - barElemBG.height = height; - barElemBG.align = align; - barElemBG.relative = relative; - barElemBG.xOffset = 0; - barElemBG.yOffset = 0; - barElemBG.children = []; - barElemBG.sort = sort; - barElemBG.color = color; - barElemBG.alpha = alpha; - barElemBG setParent( level.uiParent ); - barElemBG setShader( shader, width, height ); - barElemBG.hidden = false; - barElemBG setPoint( align, relative, x, y ); - return barElemBG; -} - -AddOptions() -{ - self AddMenu( "Main", 0, "Manage bots", ::OpenSub, "man_bots", "" ); - self AddBack( "man_bots", "Main" ); - - _temp = ""; - _tempDvar = getDvarInt( "bots_manage_add" ); - self AddMenu( "man_bots", 0, "Add 1 bot", ::man_bots, "add", 1 + _tempDvar ); - self AddMenu( "man_bots", 1, "Add 3 bot", ::man_bots, "add", 3 + _tempDvar ); - self AddMenu( "man_bots", 2, "Add 7 bot", ::man_bots, "add", 7 + _tempDvar ); - self AddMenu( "man_bots", 3, "Add 11 bot", ::man_bots, "add", 11 + _tempDvar ); - self AddMenu( "man_bots", 4, "Add 17 bot", ::man_bots, "add", 17 + _tempDvar ); - self AddMenu( "man_bots", 5, "Kick a bot", ::man_bots, "kick", 1 ); - self AddMenu( "man_bots", 6, "Kick all bots", ::man_bots, "kick", getBotArray().size ); - - _tempDvar = getDvarInt( "bots_manage_fill_kick" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "man_bots", 7, "Toggle auto bot kicking: " + _temp, ::man_bots, "autokick", _tempDvar ); - - _tempDvar = getDvarInt( "bots_manage_fill_mode" ); - - switch ( _tempDvar ) - { - case 0: - _temp = "everyone"; - break; - - case 1: - _temp = "just bots"; - break; - - case 2: - _temp = "everyone, adjust to map"; - break; - - case 3: - _temp = "just bots, adjust to map"; - break; - - case 4: - _temp = "bots used as team balance"; - break; - - default: - _temp = "out of range"; - break; - } - - self AddMenu( "man_bots", 8, "Change bot_fill_mode: " + _temp, ::man_bots, "fillmode", _tempDvar ); - - _tempDvar = getDvarInt( "bots_manage_fill" ); - self AddMenu( "man_bots", 9, "Increase bots to keep in-game: " + _tempDvar, ::man_bots, "fillup", _tempDvar ); - self AddMenu( "man_bots", 10, "Decrease bots to keep in-game: " + _tempDvar, ::man_bots, "filldown", _tempDvar ); - - _tempDvar = getDvarInt( "bots_manage_fill_spec" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "man_bots", 11, "Count players for fill on spectator: " + _temp, ::man_bots, "fillspec", _tempDvar ); - - // - - self AddMenu( "Main", 1, "Teams and difficulty", ::OpenSub, "man_team", "" ); - self AddBack( "man_team", "Main" ); - - _tempDvar = getdvar( "bots_team" ); - self AddMenu( "man_team", 0, "Change bot team: " + _tempDvar, ::bot_teams, "team", _tempDvar ); - - _tempDvar = getDvarInt( "bots_team_amount" ); - self AddMenu( "man_team", 1, "Increase bots to be on axis team: " + _tempDvar, ::bot_teams, "teamup", _tempDvar ); - self AddMenu( "man_team", 2, "Decrease bots to be on axis team: " + _tempDvar, ::bot_teams, "teamdown", _tempDvar ); - - _tempDvar = getDvarInt( "bots_team_force" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "man_team", 3, "Toggle forcing bots on team: " + _temp, ::bot_teams, "teamforce", _tempDvar ); - - _tempDvar = getDvarInt( "bots_team_mode" ); - - if ( _tempDvar ) - { - _temp = "only bots"; - } - else - { - _temp = "everyone"; - } - - self AddMenu( "man_team", 4, "Toggle bot_team_bot: " + _temp, ::bot_teams, "teammode", _tempDvar ); - - _tempDvar = getdvarint( "bots_skill" ); - - switch ( _tempDvar ) - { - case 0: - _temp = "random for all"; - break; - - case 1: - _temp = "too easy"; - break; - - case 2: - _temp = "easy"; - break; - - case 3: - _temp = "easy-medium"; - break; - - case 4: - _temp = "medium"; - break; - - case 5: - _temp = "hard"; - break; - - case 6: - _temp = "very hard"; - break; - - case 7: - _temp = "hardest"; - break; - - case 8: - _temp = "custom"; - break; - - case 9: - _temp = "complete random"; - break; - - default: - _temp = "out of range"; - break; - } - - self AddMenu( "man_team", 5, "Change bot difficulty: " + _temp, ::bot_teams, "skill", _tempDvar ); - - _tempDvar = getDvarInt( "bots_skill_axis_hard" ); - self AddMenu( "man_team", 6, "Increase amount of hard bots on axis team: " + _tempDvar, ::bot_teams, "axishardup", _tempDvar ); - self AddMenu( "man_team", 7, "Decrease amount of hard bots on axis team: " + _tempDvar, ::bot_teams, "axisharddown", _tempDvar ); - - _tempDvar = getDvarInt( "bots_skill_axis_med" ); - self AddMenu( "man_team", 8, "Increase amount of med bots on axis team: " + _tempDvar, ::bot_teams, "axismedup", _tempDvar ); - self AddMenu( "man_team", 9, "Decrease amount of med bots on axis team: " + _tempDvar, ::bot_teams, "axismeddown", _tempDvar ); - - _tempDvar = getDvarInt( "bots_skill_allies_hard" ); - self AddMenu( "man_team", 10, "Increase amount of hard bots on allies team: " + _tempDvar, ::bot_teams, "allieshardup", _tempDvar ); - self AddMenu( "man_team", 11, "Decrease amount of hard bots on allies team: " + _tempDvar, ::bot_teams, "alliesharddown", _tempDvar ); - - _tempDvar = getDvarInt( "bots_skill_allies_med" ); - self AddMenu( "man_team", 12, "Increase amount of med bots on allies team: " + _tempDvar, ::bot_teams, "alliesmedup", _tempDvar ); - self AddMenu( "man_team", 13, "Decrease amount of med bots on allies team: " + _tempDvar, ::bot_teams, "alliesmeddown", _tempDvar ); - - // - - self AddMenu( "Main", 2, "Bot settings", ::OpenSub, "set1", "" ); - self AddBack( "set1", "Main" ); - - _tempDvar = getDvarInt( "bots_loadout_reasonable" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 0, "Bots use only good class setups: " + _temp, ::bot_func, "reasonable", _tempDvar ); - - _tempDvar = getDvarInt( "bots_loadout_allow_op" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 1, "Bots can use op and annoying class setups: " + _temp, ::bot_func, "op", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_move" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 2, "Bots can move: " + _temp, ::bot_func, "move", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_knife" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 3, "Bots can knife: " + _temp, ::bot_func, "knife", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_fire" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 4, "Bots can fire: " + _temp, ::bot_func, "fire", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_nade" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 5, "Bots can nade: " + _temp, ::bot_func, "nade", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_take_carepackages" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 6, "Bots can take carepackages: " + _temp, ::bot_func, "care", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_obj" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 7, "Bots play the objective: " + _temp, ::bot_func, "obj", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_camp" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 8, "Bots can camp: " + _temp, ::bot_func, "camp", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_jumpdrop" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 9, "Bots can jump and dropshot: " + _temp, ::bot_func, "jump", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_target_other" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 10, "Bots can target other script objects: " + _temp, ::bot_func, "targetother", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_killstreak" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 11, "Bots can use killstreaks: " + _temp, ::bot_func, "killstreak", _tempDvar ); - - _tempDvar = getDvarInt( "bots_play_ads" ); - - if ( _tempDvar ) - { - _temp = "true"; - } - else - { - _temp = "false"; - } - - self AddMenu( "set1", 12, "Bots can ads: " + _temp, ::bot_func, "ads", _tempDvar ); -} - -bot_func( a, b ) -{ - switch ( a ) - { - case "reasonable": - setDvar( "bots_loadout_reasonable", !b ); - self iPrintln( "Bots using reasonable setups: " + !b ); - break; - - case "op": - setDvar( "bots_loadout_allow_op", !b ); - self iPrintln( "Bots using op setups: " + !b ); - break; - - case "move": - setDvar( "bots_play_move", !b ); - self iPrintln( "Bots move: " + !b ); - break; - - case "knife": - setDvar( "bots_play_knife", !b ); - self iPrintln( "Bots knife: " + !b ); - break; - - case "fire": - setDvar( "bots_play_fire", !b ); - self iPrintln( "Bots fire: " + !b ); - break; - - case "nade": - setDvar( "bots_play_nade", !b ); - self iPrintln( "Bots nade: " + !b ); - break; - - case "care": - setDvar( "bots_play_take_carepackages", !b ); - self iPrintln( "Bots take carepackages: " + !b ); - break; - - case "obj": - setDvar( "bots_play_obj", !b ); - self iPrintln( "Bots play the obj: " + !b ); - break; - - case "camp": - setDvar( "bots_play_camp", !b ); - self iPrintln( "Bots camp: " + !b ); - break; - - case "jump": - setDvar( "bots_play_jumpdrop", !b ); - self iPrintln( "Bots jump: " + !b ); - break; - - case "targetother": - setDvar( "bots_play_target_other", !b ); - self iPrintln( "Bots target other: " + !b ); - break; - - case "killstreak": - setDvar( "bots_play_killstreak", !b ); - self iPrintln( "Bots use killstreaks: " + !b ); - break; - - case "ads": - setDvar( "bots_play_ads", !b ); - self iPrintln( "Bots ads: " + !b ); - break; - } -} - -bot_teams( a, b ) -{ - switch ( a ) - { - case "team": - switch ( b ) - { - case "autoassign": - setdvar( "bots_team", "allies" ); - self iPrintlnBold( "Changed bot team to allies." ); - break; - - case "allies": - setdvar( "bots_team", "axis" ); - self iPrintlnBold( "Changed bot team to axis." ); - break; - - case "axis": - setdvar( "bots_team", "custom" ); - self iPrintlnBold( "Changed bot team to custom." ); - break; - - default: - setdvar( "bots_team", "autoassign" ); - self iPrintlnBold( "Changed bot team to autoassign." ); - break; - } - - break; - - case "teamup": - setdvar( "bots_team_amount", b + 1 ); - self iPrintln( ( b + 1 ) + " bot(s) will try to be on axis team." ); - break; - - case "teamdown": - setdvar( "bots_team_amount", b - 1 ); - self iPrintln( ( b - 1 ) + " bot(s) will try to be on axis team." ); - break; - - case "teamforce": - setDvar( "bots_team_force", !b ); - self iPrintln( "Forcing bots to team: " + !b ); - break; - - case "teammode": - setDvar( "bots_team_mode", !b ); - self iPrintln( "Only count bots on team: " + !b ); - break; - - case "skill": - switch ( b ) - { - case 0: - self iPrintlnBold( "Changed bot skill to easy." ); - setDvar( "bots_skill", 1 ); - break; - - case 1: - self iPrintlnBold( "Changed bot skill to easy-med." ); - setDvar( "bots_skill", 2 ); - break; - - case 2: - self iPrintlnBold( "Changed bot skill to medium." ); - setDvar( "bots_skill", 3 ); - break; - - case 3: - self iPrintlnBold( "Changed bot skill to med-hard." ); - setDvar( "bots_skill", 4 ); - break; - - case 4: - self iPrintlnBold( "Changed bot skill to hard." ); - setDvar( "bots_skill", 5 ); - break; - - case 5: - self iPrintlnBold( "Changed bot skill to very hard." ); - setDvar( "bots_skill", 6 ); - break; - - case 6: - self iPrintlnBold( "Changed bot skill to hardest." ); - setDvar( "bots_skill", 7 ); - break; - - case 7: - self iPrintlnBold( "Changed bot skill to custom. Base is easy." ); - setDvar( "bots_skill", 8 ); - break; - - case 8: - self iPrintlnBold( "Changed bot skill to complete random. Takes effect at restart." ); - setDvar( "bots_skill", 9 ); - break; - - default: - self iPrintlnBold( "Changed bot skill to random. Takes effect at restart." ); - setDvar( "bots_skill", 0 ); - break; - } - - break; - - case "axishardup": - setdvar( "bots_skill_axis_hard", ( b + 1 ) ); - self iPrintln( ( ( b + 1 ) ) + " hard bots will be on axis team." ); - break; - - case "axisharddown": - setdvar( "bots_skill_axis_hard", ( b - 1 ) ); - self iPrintln( ( ( b - 1 ) ) + " hard bots will be on axis team." ); - break; - - case "axismedup": - setdvar( "bots_skill_axis_med", ( b + 1 ) ); - self iPrintln( ( ( b + 1 ) ) + " med bots will be on axis team." ); - break; - - case "axismeddown": - setdvar( "bots_skill_axis_med", ( b - 1 ) ); - self iPrintln( ( ( b - 1 ) ) + " med bots will be on axis team." ); - break; - - case "allieshardup": - setdvar( "bots_skill_allies_hard", ( b + 1 ) ); - self iPrintln( ( ( b + 1 ) ) + " hard bots will be on allies team." ); - break; - - case "alliesharddown": - setdvar( "bots_skill_allies_hard", ( b - 1 ) ); - self iPrintln( ( ( b - 1 ) ) + " hard bots will be on allies team." ); - break; - - case "alliesmedup": - setdvar( "bots_skill_allies_med", ( b + 1 ) ); - self iPrintln( ( ( b + 1 ) ) + " med bots will be on allies team." ); - break; - - case "alliesmeddown": - setdvar( "bots_skill_allies_med", ( b - 1 ) ); - self iPrintln( ( ( b - 1 ) ) + " med bots will be on allies team." ); - break; - } -} - -man_bots( a, b ) -{ - switch ( a ) - { - case "add": - setdvar( "bots_manage_add", b ); - - if ( b == 1 ) - { - self iPrintln( "Adding " + b + " bot." ); - } - else - { - self iPrintln( "Adding " + b + " bots." ); - } - - break; - - case "kick": - result = false; - - for ( i = 0; i < b; i++ ) - { - tempBot = random( getBotArray() ); - - if ( isDefined( tempBot ) ) - { - kick( tempBot getEntityNumber(), "EXE_PLAYERKICKED" ); - result = true; - } - - wait 0.25; - } - - if ( !result ) - { - self iPrintln( "No bots to kick" ); - } - - break; - - case "autokick": - setDvar( "bots_manage_fill_kick", !b ); - self iPrintln( "Kicking bots when bots_fill is exceeded: " + !b ); - break; - - case "fillmode": - switch ( b ) - { - case 0: - setdvar( "bots_manage_fill_mode", 1 ); - self iPrintln( "bot_fill will now count only bots." ); - break; - - case 1: - setdvar( "bots_manage_fill_mode", 2 ); - self iPrintln( "bot_fill will now count everyone, adjusting to map." ); - break; - - case 2: - setdvar( "bots_manage_fill_mode", 3 ); - self iPrintln( "bot_fill will now count only bots, adjusting to map." ); - break; - - case 3: - setdvar( "bots_manage_fill_mode", 4 ); - self iPrintln( "bot_fill will now use bots as team balance." ); - break; - - default: - setdvar( "bots_manage_fill_mode", 0 ); - self iPrintln( "bot_fill will now count everyone." ); - break; - } - - break; - - case "fillup": - setdvar( "bots_manage_fill", b + 1 ); - self iPrintln( "Increased to maintain " + ( b + 1 ) + " bot(s)." ); - break; - - case "filldown": - setdvar( "bots_manage_fill", b - 1 ); - self iPrintln( "Decreased to maintain " + ( b - 1 ) + " bot(s)." ); - break; - - case "fillspec": - setDvar( "bots_manage_fill_spec", !b ); - self iPrintln( "Count players on spectator for bots_fill: " + !b ); - break; - } -} +/* + _menu + Author: INeedGames + Date: 09/26/2020 + The ingame menu. +*/ + +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\gametypes\_hud_util; +#include maps\mp\bots\_bot_utility; + +init() +{ + if ( getDvar( "bots_main_menu" ) == "" ) + { + setDvar( "bots_main_menu", true ); + } + + if ( !getDvarInt( "bots_main_menu" ) ) + { + return; + } + + thread watchPlayers(); +} + +watchPlayers() +{ + for ( ;; ) + { + wait 1; + + if ( !getDvarInt( "bots_main_menu" ) ) + { + return; + } + + for ( i = level.players.size - 1; i >= 0; i-- ) + { + player = level.players[ i ]; + + if ( !player is_host() ) + { + continue; + } + + if ( isDefined( player.menuinit ) && player.menuinit ) + { + continue; + } + + player thread init_menu(); + } + } +} + +kill_menu() +{ + self notify( "bots_kill_menu" ); + self.menuinit = undefined; +} + +init_menu() +{ + self.menuinit = true; + + self.menuopen = false; + self.menu_player = undefined; + self.submenu = "Main"; + self.curs[ "Main" ][ "X" ] = 0; + self AddOptions(); + + self thread watchPlayerOpenMenu(); + self thread MenuSelect(); + self thread RightMenu(); + self thread LeftMenu(); + self thread UpMenu(); + self thread DownMenu(); + + self thread watchDisconnect(); + + self thread doGreetings(); +} + +watchDisconnect() +{ + self waittill_either( "disconnect", "bots_kill_menu" ); + + if ( self.menuopen ) + { + if ( isDefined( self.menutexty ) ) + { + for ( i = 0; i < self.menutexty.size; i++ ) + { + 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.menu ) && isDefined( self.menu[ "X" ] ) ) + { + 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.menuversionhud ) ) + { + self.menuversionhud destroy(); + } + } +} + +doGreetings() +{ + self endon ( "disconnect" ); + self endon ( "bots_kill_menu" ); + wait 1; + self iPrintln( "Welcome to Bot Warfare " + self.name + "!" ); + wait 5; + self iPrintln( "Press [{+actionslot 2}] to open menu!" ); +} + +watchPlayerOpenMenu() +{ + self endon ( "disconnect" ); + self endon ( "bots_kill_menu" ); + + self notifyOnPlayerCommand( "bots_open_menu", "+actionslot 2" ); + + for ( ;; ) + { + self waittill( "bots_open_menu" ); + + if ( !self.menuopen ) + { + self playLocalSound( "mouse_click" ); + self thread OpenSub( self.submenu ); + } + else + { + self playLocalSound( "mouse_click" ); + + if ( self.submenu != "Main" ) + { + self ExitSub(); + } + else + { + self ExitMenu(); + + if ( !gameFlag( "prematch_done" ) || level.gameended ) + { + self freezeControls( true ); + } + else + { + self freezecontrols( false ); + } + } + } + } +} + +MenuSelect() +{ + self endon ( "disconnect" ); + self endon ( "bots_kill_menu" ); + + self notifyOnPlayerCommand( "bots_select", "+gostand" ); + + for ( ;; ) + { + self waittill( "bots_select" ); + + if ( self.menuopen ) + { + 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" ] ] ); + } + 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" ] ] ); + } + } + } +} + +LeftMenu() +{ + self endon ( "disconnect" ); + self endon ( "bots_kill_menu" ); + + self notifyOnPlayerCommand( "bots_left", "+moveleft" ); + + for ( ;; ) + { + self waittill( "bots_left" ); + + if ( self.menuopen && self.submenu == "Main" ) + { + self playLocalSound( "mouse_over" ); + self.curs[ "Main" ][ "X" ]--; + + if ( self.curs[ "Main" ][ "X" ] < 0 ) + { + self.curs[ "Main" ][ "X" ] = self.option[ "Name" ][ self.submenu ].size - 1; + } + + self CursMove( "X" ); + } + } +} + +RightMenu() +{ + self endon ( "disconnect" ); + self endon ( "bots_kill_menu" ); + + self notifyOnPlayerCommand( "bots_right", "+moveright" ); + + for ( ;; ) + { + self waittill( "bots_right" ); + + if ( self.menuopen && self.submenu == "Main" ) + { + self playLocalSound( "mouse_over" ); + self.curs[ "Main" ][ "X" ]++; + + if ( self.curs[ "Main" ][ "X" ] > self.option[ "Name" ][ self.submenu ].size - 1 ) + { + self.curs[ "Main" ][ "X" ] = 0; + } + + self CursMove( "X" ); + } + } +} + +UpMenu() +{ + self endon ( "disconnect" ); + self endon ( "bots_kill_menu" ); + + self notifyOnPlayerCommand( "bots_up", "+forward" ); + + for ( ;; ) + { + self waittill( "bots_up" ); + + if ( self.menuopen && self.submenu != "Main" ) + { + self playLocalSound( "mouse_over" ); + self.curs[ self.submenu ][ "Y" ]--; + + if ( self.curs[ self.submenu ][ "Y" ] < 0 ) + { + self.curs[ self.submenu ][ "Y" ] = self.option[ "Name" ][ self.submenu ].size - 1; + } + + self CursMove( "Y" ); + } + } +} + +DownMenu() +{ + self endon ( "disconnect" ); + self endon ( "bots_kill_menu" ); + + self notifyOnPlayerCommand( "bots_down", "+back" ); + + for ( ;; ) + { + self waittill( "bots_down" ); + + if ( self.menuopen && self.submenu != "Main" ) + { + self playLocalSound( "mouse_over" ); + self.curs[ self.submenu ][ "Y" ]++; + + if ( self.curs[ self.submenu ][ "Y" ] > self.option[ "Name" ][ self.submenu ].size - 1 ) + { + self.curs[ self.submenu ][ "Y" ] = 0; + } + + self CursMove( "Y" ); + } + } +} + +OpenSub( menu, menu2 ) +{ + if ( menu != "Main" && ( !isDefined( self.menu[ menu ] ) || !!isDefined( self.menu[ menu ][ "FirstOpen" ] ) ) ) + { + self.curs[ menu ][ "Y" ] = 0; + self.menu[ menu ][ "FirstOpen" ] = true; + } + + logoldi = true; + self.submenu = menu; + + if ( self.submenu == "Main" ) + { + if ( isDefined( self.menutext ) ) + { + for ( i = 0; i < self.menutext.size; i++ ) + { + if ( isDefined( self.menutext[ i ] ) ) + { + self.menutext[ i ] destroy(); + } + } + } + + if ( isDefined( self.menu ) && isDefined( self.menu[ "X" ] ) ) + { + 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.menuversionhud ) ) + { + self.menuversionhud destroy(); + } + + 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 ] ); + + if ( logOldi ) + { + self.oldi = i; + } + + 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 ].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" ); + } + else + { + 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 CursMove( "X" ); + + self.menuversionhud = initHudElem( "Bot Warfare " + level.bw_version, 0, 0 ); + + self.menuopen = true; + } + else + { + if ( isDefined( self.menutexty ) ) + { + for ( i = 0 ; i < self.menutexty.size ; i++ ) + { + if ( isDefined( self.menutexty[ i ] ) ) + { + self.menutexty[ i ] destroy(); + } + } + } + + 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 CursMove( "Y" ); + } +} + +CursMove( direction ) +{ + self notify( "scrolled" ); + + 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; + + if ( isDefined( self.menutext ) ) + { + for ( i = 0; i < self.menutext.size; 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 thread ShowOptionOn( direction ); + } + else + { + if ( isDefined( self.menutexty ) ) + { + for ( i = 0; i < self.menutexty.size; i++ ) + { + if ( isDefined( self.menutexty[ i ] ) ) + { + self.menutexty[ i ].fontscale = 1.5; + self.menutexty[ i ].color = ( 1, 1, 1 ); + self.menutexty[ i ].glowalpha = 0; + } + } + } + + if ( isDefined( self.menutext ) ) + { + for ( i = 0; i < self.menutext.size; 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 thread ShowOptionOn( direction ); + } +} + +ShowOptionOn( variable ) +{ + self endon( "scrolled" ); + self endon( "disconnect" ); + self endon( "exit" ); + self endon( "bots_kill_menu" ); + + for ( time = 0;; time += 0.05 ) + { + if ( !self isOnGround() && isAlive( self ) && gameFlag( "prematch_done" ) && !level.gameended ) + { + self freezecontrols( false ); + } + else + { + self freezecontrols( true ); + } + + self setClientDvar( "r_blur", "5" ); + self setClientDvar( "sc_blur", "15" ); + self addOptions(); + + if ( self.submenu == "Main" ) + { + 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); + 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; + } + + if ( isDefined( self.menutext ) ) + { + 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 ] ); + } + } + } + } + else + { + 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); + 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; + } + + if ( isDefined( self.menutexty ) ) + { + 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 ] ); + } + } + } + } + + wait 0.05; + } +} + +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; +} + +AddBack( 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(); + } + } + } + + self.submenu = self.menu[ "Back" ][ self.submenu ]; + + if ( self.submenu == "Main" ) + { + self CursMove( "X" ); + } + else + { + self CursMove( "Y" ); + } +} + +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.menu ) && isDefined( self.menu[ "X" ] ) ) + { + 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.menuversionhud ) ) + { + self.menuversionhud destroy(); + } + + self.menuopen = false; + self notify( "exit" ); + + self setClientDvar( "r_blur", "0" ); + self setClientDvar( "sc_blur", "2" ); +} + +initHudElem( txt, xl, yl ) +{ + hud = NewClientHudElem( self ); + hud setText( txt ); + hud.alignx = "center"; + hud.aligny = "bottom"; + hud.horzalign = "center"; + hud.vertalign = "bottom"; + hud.x = xl; + hud.y = yl; + hud.foreground = true; + hud.fontscale = 1; + hud.font = "objective"; + hud.alpha = 1; + hud.glow = 0; + hud.glowcolor = ( 0, 0, 0 ); + hud.glowalpha = 1; + hud.color = ( 1.0, 1.0, 1.0 ); + + return hud; +} + +createRectangle( align, relative, x, y, width, height, color, sort, alpha, shader ) +{ + barElemBG = newClientHudElem( self ); + barElemBG.elemtype = "bar_"; + barElemBG.width = width; + barElemBG.height = height; + barElemBG.align = align; + barElemBG.relative = relative; + barElemBG.xoffset = 0; + barElemBG.yoffset = 0; + barElemBG.children = []; + barElemBG.sort = sort; + barElemBG.color = color; + barElemBG.alpha = alpha; + barElemBG setParent( level.uiparent ); + barElemBG setShader( shader, width, height ); + barElemBG.hidden = false; + barElemBG setPoint( align, relative, x, y ); + return barElemBG; +} + +AddOptions() +{ + self AddMenu( "Main", 0, "Manage bots", ::OpenSub, "man_bots", "" ); + self AddBack( "man_bots", "Main" ); + + _temp = ""; + _tempDvar = getDvarInt( "bots_manage_add" ); + self AddMenu( "man_bots", 0, "Add 1 bot", ::man_bots, "add", 1 + _tempDvar ); + self AddMenu( "man_bots", 1, "Add 3 bot", ::man_bots, "add", 3 + _tempDvar ); + self AddMenu( "man_bots", 2, "Add 7 bot", ::man_bots, "add", 7 + _tempDvar ); + self AddMenu( "man_bots", 3, "Add 11 bot", ::man_bots, "add", 11 + _tempDvar ); + self AddMenu( "man_bots", 4, "Add 17 bot", ::man_bots, "add", 17 + _tempDvar ); + self AddMenu( "man_bots", 5, "Kick a bot", ::man_bots, "kick", 1 ); + self AddMenu( "man_bots", 6, "Kick all bots", ::man_bots, "kick", getBotArray().size ); + + _tempDvar = getDvarInt( "bots_manage_fill_kick" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "man_bots", 7, "Toggle auto bot kicking: " + _temp, ::man_bots, "autokick", _tempDvar ); + + _tempDvar = getDvarInt( "bots_manage_fill_mode" ); + + switch ( _tempDvar ) + { + case 0: + _temp = "everyone"; + break; + + case 1: + _temp = "just bots"; + break; + + case 2: + _temp = "everyone, adjust to map"; + break; + + case 3: + _temp = "just bots, adjust to map"; + break; + + case 4: + _temp = "bots used as team balance"; + break; + + default: + _temp = "out of range"; + break; + } + + self AddMenu( "man_bots", 8, "Change bot_fill_mode: " + _temp, ::man_bots, "fillmode", _tempDvar ); + + _tempDvar = getDvarInt( "bots_manage_fill" ); + self AddMenu( "man_bots", 9, "Increase bots to keep in-game: " + _tempDvar, ::man_bots, "fillup", _tempDvar ); + self AddMenu( "man_bots", 10, "Decrease bots to keep in-game: " + _tempDvar, ::man_bots, "filldown", _tempDvar ); + + _tempDvar = getDvarInt( "bots_manage_fill_spec" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "man_bots", 11, "Count players for fill on spectator: " + _temp, ::man_bots, "fillspec", _tempDvar ); + + // + + self AddMenu( "Main", 1, "Teams and difficulty", ::OpenSub, "man_team", "" ); + self AddBack( "man_team", "Main" ); + + _tempDvar = getdvar( "bots_team" ); + self AddMenu( "man_team", 0, "Change bot team: " + _tempDvar, ::bot_teams, "team", _tempDvar ); + + _tempDvar = getDvarInt( "bots_team_amount" ); + self AddMenu( "man_team", 1, "Increase bots to be on axis team: " + _tempDvar, ::bot_teams, "teamup", _tempDvar ); + self AddMenu( "man_team", 2, "Decrease bots to be on axis team: " + _tempDvar, ::bot_teams, "teamdown", _tempDvar ); + + _tempDvar = getDvarInt( "bots_team_force" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "man_team", 3, "Toggle forcing bots on team: " + _temp, ::bot_teams, "teamforce", _tempDvar ); + + _tempDvar = getDvarInt( "bots_team_mode" ); + + if ( _tempDvar ) + { + _temp = "only bots"; + } + else + { + _temp = "everyone"; + } + + self AddMenu( "man_team", 4, "Toggle bot_team_bot: " + _temp, ::bot_teams, "teammode", _tempDvar ); + + _tempDvar = getdvarint( "bots_skill" ); + + switch ( _tempDvar ) + { + case 0: + _temp = "random for all"; + break; + + case 1: + _temp = "too easy"; + break; + + case 2: + _temp = "easy"; + break; + + case 3: + _temp = "easy-medium"; + break; + + case 4: + _temp = "medium"; + break; + + case 5: + _temp = "hard"; + break; + + case 6: + _temp = "very hard"; + break; + + case 7: + _temp = "hardest"; + break; + + case 8: + _temp = "custom"; + break; + + case 9: + _temp = "complete random"; + break; + + default: + _temp = "out of range"; + break; + } + + self AddMenu( "man_team", 5, "Change bot difficulty: " + _temp, ::bot_teams, "skill", _tempDvar ); + + _tempDvar = getDvarInt( "bots_skill_axis_hard" ); + self AddMenu( "man_team", 6, "Increase amount of hard bots on axis team: " + _tempDvar, ::bot_teams, "axishardup", _tempDvar ); + self AddMenu( "man_team", 7, "Decrease amount of hard bots on axis team: " + _tempDvar, ::bot_teams, "axisharddown", _tempDvar ); + + _tempDvar = getDvarInt( "bots_skill_axis_med" ); + self AddMenu( "man_team", 8, "Increase amount of med bots on axis team: " + _tempDvar, ::bot_teams, "axismedup", _tempDvar ); + self AddMenu( "man_team", 9, "Decrease amount of med bots on axis team: " + _tempDvar, ::bot_teams, "axismeddown", _tempDvar ); + + _tempDvar = getDvarInt( "bots_skill_allies_hard" ); + self AddMenu( "man_team", 10, "Increase amount of hard bots on allies team: " + _tempDvar, ::bot_teams, "allieshardup", _tempDvar ); + self AddMenu( "man_team", 11, "Decrease amount of hard bots on allies team: " + _tempDvar, ::bot_teams, "alliesharddown", _tempDvar ); + + _tempDvar = getDvarInt( "bots_skill_allies_med" ); + self AddMenu( "man_team", 12, "Increase amount of med bots on allies team: " + _tempDvar, ::bot_teams, "alliesmedup", _tempDvar ); + self AddMenu( "man_team", 13, "Decrease amount of med bots on allies team: " + _tempDvar, ::bot_teams, "alliesmeddown", _tempDvar ); + + // + + self AddMenu( "Main", 2, "Bot settings", ::OpenSub, "set1", "" ); + self AddBack( "set1", "Main" ); + + _tempDvar = getDvarInt( "bots_loadout_reasonable" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 0, "Bots use only good class setups: " + _temp, ::bot_func, "reasonable", _tempDvar ); + + _tempDvar = getDvarInt( "bots_loadout_allow_op" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 1, "Bots can use op and annoying class setups: " + _temp, ::bot_func, "op", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_move" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 2, "Bots can move: " + _temp, ::bot_func, "move", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_knife" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 3, "Bots can knife: " + _temp, ::bot_func, "knife", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_fire" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 4, "Bots can fire: " + _temp, ::bot_func, "fire", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_nade" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 5, "Bots can nade: " + _temp, ::bot_func, "nade", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_take_carepackages" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 6, "Bots can take carepackages: " + _temp, ::bot_func, "care", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_obj" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 7, "Bots play the objective: " + _temp, ::bot_func, "obj", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_camp" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 8, "Bots can camp: " + _temp, ::bot_func, "camp", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_jumpdrop" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 9, "Bots can jump and dropshot: " + _temp, ::bot_func, "jump", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_target_other" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 10, "Bots can target other script objects: " + _temp, ::bot_func, "targetother", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_killstreak" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 11, "Bots can use killstreaks: " + _temp, ::bot_func, "killstreak", _tempDvar ); + + _tempDvar = getDvarInt( "bots_play_ads" ); + + if ( _tempDvar ) + { + _temp = "true"; + } + else + { + _temp = "false"; + } + + self AddMenu( "set1", 12, "Bots can ads: " + _temp, ::bot_func, "ads", _tempDvar ); +} + +bot_func( a, b ) +{ + switch ( a ) + { + case "reasonable": + setDvar( "bots_loadout_reasonable", !b ); + self iPrintln( "Bots using reasonable setups: " + !b ); + break; + + case "op": + setDvar( "bots_loadout_allow_op", !b ); + self iPrintln( "Bots using op setups: " + !b ); + break; + + case "move": + setDvar( "bots_play_move", !b ); + self iPrintln( "Bots move: " + !b ); + break; + + case "knife": + setDvar( "bots_play_knife", !b ); + self iPrintln( "Bots knife: " + !b ); + break; + + case "fire": + setDvar( "bots_play_fire", !b ); + self iPrintln( "Bots fire: " + !b ); + break; + + case "nade": + setDvar( "bots_play_nade", !b ); + self iPrintln( "Bots nade: " + !b ); + break; + + case "care": + setDvar( "bots_play_take_carepackages", !b ); + self iPrintln( "Bots take carepackages: " + !b ); + break; + + case "obj": + setDvar( "bots_play_obj", !b ); + self iPrintln( "Bots play the obj: " + !b ); + break; + + case "camp": + setDvar( "bots_play_camp", !b ); + self iPrintln( "Bots camp: " + !b ); + break; + + case "jump": + setDvar( "bots_play_jumpdrop", !b ); + self iPrintln( "Bots jump: " + !b ); + break; + + case "targetother": + setDvar( "bots_play_target_other", !b ); + self iPrintln( "Bots target other: " + !b ); + break; + + case "killstreak": + setDvar( "bots_play_killstreak", !b ); + self iPrintln( "Bots use killstreaks: " + !b ); + break; + + case "ads": + setDvar( "bots_play_ads", !b ); + self iPrintln( "Bots ads: " + !b ); + break; + } +} + +bot_teams( a, b ) +{ + switch ( a ) + { + case "team": + switch ( b ) + { + case "autoassign": + setdvar( "bots_team", "allies" ); + self iPrintlnBold( "Changed bot team to allies." ); + break; + + case "allies": + setdvar( "bots_team", "axis" ); + self iPrintlnBold( "Changed bot team to axis." ); + break; + + case "axis": + setdvar( "bots_team", "custom" ); + self iPrintlnBold( "Changed bot team to custom." ); + break; + + default: + setdvar( "bots_team", "autoassign" ); + self iPrintlnBold( "Changed bot team to autoassign." ); + break; + } + + break; + + case "teamup": + setdvar( "bots_team_amount", b + 1 ); + self iPrintln( ( b + 1 ) + " bot(s) will try to be on axis team." ); + break; + + case "teamdown": + setdvar( "bots_team_amount", b - 1 ); + self iPrintln( ( b - 1 ) + " bot(s) will try to be on axis team." ); + break; + + case "teamforce": + setDvar( "bots_team_force", !b ); + self iPrintln( "Forcing bots to team: " + !b ); + break; + + case "teammode": + setDvar( "bots_team_mode", !b ); + self iPrintln( "Only count bots on team: " + !b ); + break; + + case "skill": + switch ( b ) + { + case 0: + self iPrintlnBold( "Changed bot skill to easy." ); + setDvar( "bots_skill", 1 ); + break; + + case 1: + self iPrintlnBold( "Changed bot skill to easy-med." ); + setDvar( "bots_skill", 2 ); + break; + + case 2: + self iPrintlnBold( "Changed bot skill to medium." ); + setDvar( "bots_skill", 3 ); + break; + + case 3: + self iPrintlnBold( "Changed bot skill to med-hard." ); + setDvar( "bots_skill", 4 ); + break; + + case 4: + self iPrintlnBold( "Changed bot skill to hard." ); + setDvar( "bots_skill", 5 ); + break; + + case 5: + self iPrintlnBold( "Changed bot skill to very hard." ); + setDvar( "bots_skill", 6 ); + break; + + case 6: + self iPrintlnBold( "Changed bot skill to hardest." ); + setDvar( "bots_skill", 7 ); + break; + + case 7: + self iPrintlnBold( "Changed bot skill to custom. Base is easy." ); + setDvar( "bots_skill", 8 ); + break; + + case 8: + self iPrintlnBold( "Changed bot skill to complete random. Takes effect at restart." ); + setDvar( "bots_skill", 9 ); + break; + + default: + self iPrintlnBold( "Changed bot skill to random. Takes effect at restart." ); + setDvar( "bots_skill", 0 ); + break; + } + + break; + + case "axishardup": + setdvar( "bots_skill_axis_hard", ( b + 1 ) ); + self iPrintln( ( ( b + 1 ) ) + " hard bots will be on axis team." ); + break; + + case "axisharddown": + setdvar( "bots_skill_axis_hard", ( b - 1 ) ); + self iPrintln( ( ( b - 1 ) ) + " hard bots will be on axis team." ); + break; + + case "axismedup": + setdvar( "bots_skill_axis_med", ( b + 1 ) ); + self iPrintln( ( ( b + 1 ) ) + " med bots will be on axis team." ); + break; + + case "axismeddown": + setdvar( "bots_skill_axis_med", ( b - 1 ) ); + self iPrintln( ( ( b - 1 ) ) + " med bots will be on axis team." ); + break; + + case "allieshardup": + setdvar( "bots_skill_allies_hard", ( b + 1 ) ); + self iPrintln( ( ( b + 1 ) ) + " hard bots will be on allies team." ); + break; + + case "alliesharddown": + setdvar( "bots_skill_allies_hard", ( b - 1 ) ); + self iPrintln( ( ( b - 1 ) ) + " hard bots will be on allies team." ); + break; + + case "alliesmedup": + setdvar( "bots_skill_allies_med", ( b + 1 ) ); + self iPrintln( ( ( b + 1 ) ) + " med bots will be on allies team." ); + break; + + case "alliesmeddown": + setdvar( "bots_skill_allies_med", ( b - 1 ) ); + self iPrintln( ( ( b - 1 ) ) + " med bots will be on allies team." ); + break; + } +} + +man_bots( a, b ) +{ + switch ( a ) + { + case "add": + setdvar( "bots_manage_add", b ); + + if ( b == 1 ) + { + self iPrintln( "Adding " + b + " bot." ); + } + else + { + self iPrintln( "Adding " + b + " bots." ); + } + + break; + + case "kick": + result = false; + + for ( i = 0; i < b; i++ ) + { + tempBot = random( getBotArray() ); + + if ( isDefined( tempBot ) ) + { + kick( tempBot getEntityNumber(), "EXE_PLAYERKICKED" ); + result = true; + } + + wait 0.25; + } + + if ( !result ) + { + self iPrintln( "No bots to kick" ); + } + + break; + + case "autokick": + setDvar( "bots_manage_fill_kick", !b ); + self iPrintln( "Kicking bots when bots_fill is exceeded: " + !b ); + break; + + case "fillmode": + switch ( b ) + { + case 0: + setdvar( "bots_manage_fill_mode", 1 ); + self iPrintln( "bot_fill will now count only bots." ); + break; + + case 1: + setdvar( "bots_manage_fill_mode", 2 ); + self iPrintln( "bot_fill will now count everyone, adjusting to map." ); + break; + + case 2: + setdvar( "bots_manage_fill_mode", 3 ); + self iPrintln( "bot_fill will now count only bots, adjusting to map." ); + break; + + case 3: + setdvar( "bots_manage_fill_mode", 4 ); + self iPrintln( "bot_fill will now use bots as team balance." ); + break; + + default: + setdvar( "bots_manage_fill_mode", 0 ); + self iPrintln( "bot_fill will now count everyone." ); + break; + } + + break; + + case "fillup": + setdvar( "bots_manage_fill", b + 1 ); + self iPrintln( "Increased to maintain " + ( b + 1 ) + " bot(s)." ); + break; + + case "filldown": + setdvar( "bots_manage_fill", b - 1 ); + self iPrintln( "Decreased to maintain " + ( b - 1 ) + " bot(s)." ); + break; + + case "fillspec": + setDvar( "bots_manage_fill_spec", !b ); + self iPrintln( "Count players on spectator for bots_fill: " + !b ); + break; + } +} diff --git a/maps/mp/bots/_wp_editor.gsc b/maps/mp/bots/_wp_editor.gsc index 695667b..f321f4c 100644 --- a/maps/mp/bots/_wp_editor.gsc +++ b/maps/mp/bots/_wp_editor.gsc @@ -62,7 +62,7 @@ init() setDvar( "player_sustainAmmo", 1 ); level.waypoints = []; - level.waypointCount = 0; + level.waypointcount = 0; level waittill( "connected", player ); player thread onPlayerSpawned(); @@ -84,8 +84,8 @@ StartDev() self endon( "disconnect" ); self endon( "death" ); - level.wpToLink = -1; - level.autoLink = false; + level.wptolink = -1; + level.autolink = false; self.nearest = -1; self takeAllWeapons(); @@ -187,13 +187,13 @@ updateWaypointsStats() { wait 0.05; - totalWpsHud setText( level.waypointCount ); + totalWpsHud setText( level.waypointcount ); closest = -1; myEye = self getEye(); myAngles = self GetPlayerAngles(); - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { if ( closest == -1 || closer( self.origin, level.waypoints[ i ].origin, level.waypoints[ closest ].origin ) ) { @@ -234,7 +234,7 @@ updateWaypointsStats() type setText( buildTypeString( self.nearest ) ); - wpToLink setText( level.wpToLink ); + wpToLink setText( level.wptolink ); infotext.x = infotext.x - 2; @@ -309,17 +309,17 @@ watchAutoLinkCommand() { self waittill( "[{+frag}]" ); - if ( level.autoLink ) + if ( level.autolink ) { self iPrintlnBold( "Auto link disabled" ); - level.autoLink = false; - level.wpToLink = -1; + level.autolink = false; + level.wptolink = -1; } else { self iPrintlnBold( "Auto link enabled" ); - level.autoLink = true; - level.wpToLink = self.nearest; + level.autolink = true; + level.wptolink = self.nearest; } } } @@ -400,7 +400,7 @@ watchSaveWaypointsCommand() logprint( "\n\n" + mpnm + "()\n{\n/*" ); logprint( "*/waypoints = [];\n/*" ); - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { logprint( "*/waypoints[ " + i + " ] = spawnstruct();\n/*" ); logprint( "*/waypoints[ " + i + " ].origin = " + level.waypoints[ i ].origin + ";\n/*" ); @@ -427,11 +427,11 @@ watchSaveWaypointsCommand() filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv"; PrintLn( "********* Start Bot Warfare WPDump *********" ); - PrintLn( level.waypointCount ); + PrintLn( level.waypointcount ); - BotBuiltinFileWrite( filename, level.waypointCount + "\n", "write" ); + BotBuiltinFileWrite( filename, level.waypointcount + "\n", "write" ); - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { str = ""; wp = level.waypoints[ i ]; @@ -491,17 +491,17 @@ LoadWaypoints() checkForWarnings() { - if ( level.waypointCount <= 0 ) + if ( level.waypointcount <= 0 ) { - self iprintln( "WARNING: waypointCount is " + level.waypointCount ); + self iprintln( "WARNING: waypointCount is " + level.waypointcount ); } - if ( level.waypointCount != level.waypoints.size ) + if ( level.waypointcount != level.waypoints.size ) { self iprintln( "WARNING: waypointCount is not " + level.waypoints.size ); } - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { if ( !isDefined( level.waypoints[ i ] ) ) { @@ -556,9 +556,9 @@ checkForWarnings() // check reachability, assume bidirectional graph - wpIdx = randomInt( level.waypointCount ); + wpIdx = randomInt( level.waypointcount ); - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { if ( i % 5 == 0 ) { @@ -580,46 +580,46 @@ UnLinkWaypoint( nwp ) { if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) { - self iprintln( "Waypoint Unlink Cancelled " + level.wpToLink ); - level.wpToLink = -1; + self iprintln( "Waypoint Unlink Cancelled " + level.wptolink ); + level.wptolink = -1; return; } - if ( level.wpToLink == -1 || nwp == level.wpToLink ) + if ( level.wptolink == -1 || nwp == level.wptolink ) { - level.wpToLink = nwp; + level.wptolink = nwp; self iprintln( "Waypoint Unlink Started " + nwp ); return; } - level.waypoints[ nwp ].children = array_remove( level.waypoints[ nwp ].children, level.wpToLink ); - level.waypoints[ level.wpToLink ].children = array_remove( level.waypoints[ level.wpToLink ].children, nwp ); + level.waypoints[ nwp ].children = array_remove( level.waypoints[ nwp ].children, level.wptolink ); + level.waypoints[ level.wptolink ].children = array_remove( level.waypoints[ level.wptolink ].children, nwp ); - self iprintln( "Waypoint " + nwp + " Broken to " + level.wpToLink ); - level.wpToLink = -1; + self iprintln( "Waypoint " + nwp + " Broken to " + level.wptolink ); + level.wptolink = -1; } LinkWaypoint( nwp ) { if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) { - self iprintln( "Waypoint Link Cancelled " + level.wpToLink ); - level.wpToLink = -1; + self iprintln( "Waypoint Link Cancelled " + level.wptolink ); + level.wptolink = -1; return; } - if ( level.wpToLink == -1 || nwp == level.wpToLink ) + if ( level.wptolink == -1 || nwp == level.wptolink ) { - level.wpToLink = nwp; + level.wptolink = nwp; self iprintln( "Waypoint Link Started " + nwp ); return; } weGood = true; - for ( i = level.waypoints[ level.wpToLink ].children.size - 1; i >= 0; i-- ) + for ( i = level.waypoints[ level.wptolink ].children.size - 1; i >= 0; i-- ) { - child = level.waypoints[ level.wpToLink ].children[ i ]; + child = level.waypoints[ level.wptolink ].children[ i ]; if ( child == nwp ) { @@ -634,7 +634,7 @@ LinkWaypoint( nwp ) { child = level.waypoints[ nwp ].children[ i ]; - if ( child == level.wpToLink ) + if ( child == level.wptolink ) { weGood = false; break; @@ -644,16 +644,16 @@ LinkWaypoint( nwp ) if ( !weGood ) { - self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wpToLink + " already linked." ); - level.wpToLink = -1; + self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wptolink + " already linked." ); + level.wptolink = -1; return; } - level.waypoints[ level.wpToLink ].children[ level.waypoints[ level.wpToLink ].children.size ] = nwp; - level.waypoints[ nwp ].children[ level.waypoints[ nwp ].children.size ] = level.wpToLink; + level.waypoints[ level.wptolink ].children[ level.waypoints[ level.wptolink ].children.size ] = nwp; + level.waypoints[ nwp ].children[ level.waypoints[ nwp ].children.size ] = level.wptolink; - self iprintln( "Waypoint " + nwp + " Linked to " + level.wpToLink ); - level.wpToLink = -1; + self iprintln( "Waypoint " + nwp + " Linked to " + level.wptolink ); + level.wptolink = -1; } DeleteWaypoint( nwp ) @@ -664,7 +664,7 @@ DeleteWaypoint( nwp ) return; } - level.wpToLink = -1; + level.wptolink = -1; for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- ) { @@ -673,7 +673,7 @@ DeleteWaypoint( nwp ) level.waypoints[ child ].children = array_remove( level.waypoints[ child ].children, nwp ); } - for ( i = 0; i < level.waypointCount; i++ ) + for ( i = 0; i < level.waypointcount; i++ ) { for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- ) { @@ -684,11 +684,11 @@ DeleteWaypoint( nwp ) } } - for ( entry = 0; entry < level.waypointCount; entry++ ) + for ( entry = 0; entry < level.waypointcount; entry++ ) { if ( entry == nwp ) { - while ( entry < level.waypointCount - 1 ) + while ( entry < level.waypointcount - 1 ) { level.waypoints[ entry ] = level.waypoints[ entry + 1 ]; entry++; @@ -699,74 +699,74 @@ DeleteWaypoint( nwp ) } } - level.waypointCount--; + level.waypointcount--; self iprintln( "DelWp " + nwp ); } AddWaypoint() { - level.waypoints[ level.waypointCount ] = spawnstruct(); + level.waypoints[ level.waypointcount ] = spawnstruct(); pos = self getOrigin(); - level.waypoints[ level.waypointCount ].origin = pos; + level.waypoints[ level.waypointcount ].origin = pos; - if ( isDefined( self.javelinTargetPoint ) ) + if ( isDefined( self.javelintargetpoint ) ) { - level.waypoints[ level.waypointCount ].type = "javelin"; + level.waypoints[ level.waypointcount ].type = "javelin"; } else if ( self AdsButtonPressed() ) { - level.waypoints[ level.waypointCount ].type = "climb"; + level.waypoints[ level.waypointcount ].type = "climb"; } else if ( self AttackButtonPressed() && self UseButtonPressed() ) { - level.waypoints[ level.waypointCount ].type = "tube"; + level.waypoints[ level.waypointcount ].type = "tube"; } else if ( self AttackButtonPressed() ) { - level.waypoints[ level.waypointCount ].type = "grenade"; + level.waypoints[ level.waypointcount ].type = "grenade"; } else if ( self UseButtonPressed() ) { - level.waypoints[ level.waypointCount ].type = "claymore"; + level.waypoints[ level.waypointcount ].type = "claymore"; } else { - level.waypoints[ level.waypointCount ].type = self getStance(); + level.waypoints[ level.waypointcount ].type = self getStance(); } - level.waypoints[ level.waypointCount ].angles = self getPlayerAngles(); + level.waypoints[ level.waypointcount ].angles = self getPlayerAngles(); - level.waypoints[ level.waypointCount ].children = []; + level.waypoints[ level.waypointcount ].children = []; - if ( level.waypoints[ level.waypointCount ].type == "javelin" ) + if ( level.waypoints[ level.waypointcount ].type == "javelin" ) { - level.waypoints[ level.waypointCount ].jav_point = self.javelinTargetPoint; + level.waypoints[ level.waypointcount ].jav_point = self.javelintargetpoint; } - self iprintln( level.waypoints[ level.waypointCount ].type + " Waypoint " + level.waypointCount + " Added at " + pos ); + self iprintln( level.waypoints[ level.waypointcount ].type + " Waypoint " + level.waypointcount + " Added at " + pos ); - if ( level.autoLink ) + if ( level.autolink ) { - if ( level.wpToLink == -1 ) + if ( level.wptolink == -1 ) { - level.wpToLink = level.waypointCount - 1; + level.wptolink = level.waypointcount - 1; } - level.waypointCount++; - self LinkWaypoint( level.waypointCount - 1 ); + level.waypointcount++; + self LinkWaypoint( level.waypointcount - 1 ); } else { - level.waypointCount++; + level.waypointcount++; } } DeleteAllWaypoints() { level.waypoints = []; - level.waypointCount = 0; + level.waypointcount = 0; self iprintln( "DelAllWps" ); } @@ -828,19 +828,19 @@ initHudElem( txt, xl, yl ) { hud = NewClientHudElem( self ); hud setText( txt ); - hud.alignX = "left"; - hud.alignY = "top"; - hud.horzAlign = "left"; - hud.vertAlign = "top"; + hud.alignx = "left"; + hud.aligny = "top"; + hud.horzalign = "left"; + hud.vertalign = "top"; hud.x = xl; hud.y = yl; hud.foreground = true; - hud.fontScale = 1; + hud.fontscale = 1; hud.font = "objective"; hud.alpha = 1; hud.glow = 0; - hud.glowColor = ( 0, 0, 0 ); - hud.glowAlpha = 1; + hud.glowcolor = ( 0, 0, 0 ); + hud.glowalpha = 1; hud.color = ( 1.0, 1.0, 1.0 ); self thread destroyOnDeath( hud ); @@ -852,19 +852,19 @@ initHudElem2() { infotext = NewHudElem(); infotext setText( "^1[{+smoke}]-AddWp ^2[{+melee}]-LinkWp ^3[{+reload}]-UnLinkWp ^4[{+actionslot 3}]-DeleteWp ^5[{+actionslot 4}]-DelAllWps ^6[{+actionslot 2}]-LoadWPS ^7[{+actionslot 1}]-SaveWp" ); - infotext.alignX = "center"; - infotext.alignY = "bottom"; - infotext.horzAlign = "center"; - infotext.vertAlign = "bottom"; + infotext.alignx = "center"; + infotext.aligny = "bottom"; + infotext.horzalign = "center"; + infotext.vertalign = "bottom"; infotext.x = -800; infotext.y = 25; infotext.foreground = true; - infotext.fontScale = 1.35; + infotext.fontscale = 1.35; infotext.font = "objective"; infotext.alpha = 1; infotext.glow = 0; - infotext.glowColor = ( 0, 0, 0 ); - infotext.glowAlpha = 1; + infotext.glowcolor = ( 0, 0, 0 ); + infotext.glowalpha = 1; infotext.color = ( 1.0, 1.0, 1.0 ); self thread destroyOnDeath( infotext ); @@ -875,10 +875,10 @@ initHudElem2() initHudElem3() { bar = level createServerBar( ( 0.5, 0.5, 0.5 ), 1000, 25 ); - bar.alignX = "center"; - bar.alignY = "bottom"; - bar.horzAlign = "center"; - bar.vertAlign = "bottom"; + bar.alignx = "center"; + bar.aligny = "bottom"; + bar.horzalign = "center"; + bar.vertalign = "bottom"; bar.y = 30; bar.foreground = true; @@ -892,10 +892,10 @@ initHudElem4() OptionsBG = NewClientHudElem( self ); OptionsBG.x = 100; OptionsBG.y = 2; - OptionsBG.alignX = "left"; - OptionsBG.alignY = "top"; - OptionsBG.horzAlign = "left"; - OptionsBG.vertAlign = "top"; + OptionsBG.alignx = "left"; + OptionsBG.aligny = "top"; + OptionsBG.horzalign = "left"; + OptionsBG.vertalign = "top"; OptionsBG setshader( "black", 200, 60 ); OptionsBG.alpha = 0.4;