From 86477e579f0d4c825155e3671367d393b88c2192 Mon Sep 17 00:00:00 2001 From: ineed bots Date: Sun, 24 Apr 2022 23:48:26 -0600 Subject: [PATCH] pickup --- main_shared/maps/mp/bots/_bot_internal.gsc | 38 ++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/main_shared/maps/mp/bots/_bot_internal.gsc b/main_shared/maps/mp/bots/_bot_internal.gsc index a413d22..17bb271 100644 --- a/main_shared/maps/mp/bots/_bot_internal.gsc +++ b/main_shared/maps/mp/bots/_bot_internal.gsc @@ -325,10 +325,30 @@ spawned() self thread watchHoldBreath(); self thread onNewEnemy(); self thread watchGrenadeFire(); + self thread watchPickupGun(); self notify( "bot_spawned" ); } +/* + watchPickupGun +*/ +watchPickupGun() +{ + self endon( "disconnect" ); + self endon( "death" ); + + for ( ;; ) + { + wait 1; + + if ( self GetAmmoCount( self GetCurrentWeapon() ) ) + continue; + + self thread use( 0.5 ); + } +} + /* Watches when the bot fires a grenade */ @@ -749,6 +769,7 @@ watch_grenade( grenade ) if ( self.bot.isfraggingafter || self.bot.issmokingafter ) continue; + self BotNotifyBotEvent( "throwback", "stop", grenade ); self thread frag(); } } @@ -1322,7 +1343,12 @@ aim_loop() if ( self.bot.isfraggingafter || self.bot.issmokingafter ) nadeAimOffset = dist / 3000; else if ( curweap != "none" && weaponClass( curweap ) == "grenade" ) - nadeAimOffset = dist / 16000; + { + if ( maps\mp\gametypes\_missions::getWeaponClass( curweap ) == "weapon_projectile" ) + nadeAimOffset = dist / 16000; + else + nadeAimOffset = dist / 3000; + } if ( no_trace_time && ( !isDefined( self.bot.after_target ) || self.bot.after_target != target ) ) { @@ -1451,7 +1477,12 @@ aim_loop() if ( self.bot.isfraggingafter || self.bot.issmokingafter ) nadeAimOffset = dist / 3000; else if ( curweap != "none" && weaponClass( curweap ) == "grenade" ) - nadeAimOffset = dist / 16000; + { + if ( maps\mp\gametypes\_missions::getWeaponClass( curweap ) == "weapon_projectile" ) + nadeAimOffset = dist / 16000; + else + nadeAimOffset = dist / 3000; + } aimpos = last_pos + ( 0, 0, self getEyeHeight() + nadeAimOffset ); conedot = getConeDot( aimpos, eyePos, angles ); @@ -1582,6 +1613,9 @@ canAds( dist, curweap ) if ( curweap == "none" ) return false; + if ( curweap == "satchel_charge_mp" ) + return RandomInt( 2 ); + if ( !getDvarInt( "bots_play_ads" ) ) return false;