pickup guns

This commit is contained in:
ineed bots 2022-04-25 11:15:23 -06:00
parent 234e095efe
commit d98a0dbce9

View File

@ -577,10 +577,32 @@ spawned()
self thread walk();
self thread watchHoldBreath();
self thread watchGrenadeFire();
self thread watchPickupGun();
self notify( "bot_spawned" );
}
/*
watchPickupGun
*/
watchPickupGun()
{
self endon( "disconnect" );
self endon( "death" );
for ( ;; )
{
wait 1;
weap = self GetCurrentWeapon();
if ( weap != "none" && self GetAmmoCount( weap ) )
continue;
self thread use( 0.5 );
}
}
/*
Watches when the bot fires a grenade
*/
@ -810,6 +832,7 @@ grenade_danager_loop()
if ( !bulletTracePassed( myEye, frag.origin, false, frag.grenade ) )
continue;
self BotNotifyBotEvent( "throwback", "stop", frag );
self thread frag();
break;
}
@ -1577,8 +1600,13 @@ aim_loop()
if ( self.bot.isfraggingafter || self.bot.issmokingafter )
nadeAimOffset = dist / 3000;
else if ( curweap != "none" && weaponClass( curweap ) == "grenade" )
nadeAimOffset = dist / 16000;
else if ( curweap != "none" && ( weaponClass( curweap ) == "grenade" || curweap == "throwingknife_mp" ) )
{
if ( 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 ) )
{
@ -1711,8 +1739,13 @@ aim_loop()
if ( self.bot.isfraggingafter || self.bot.issmokingafter )
nadeAimOffset = dist / 3000;
else if ( curweap != "none" && weaponClass( curweap ) == "grenade" )
nadeAimOffset = dist / 16000;
else if ( curweap != "none" && ( weaponClass( curweap ) == "grenade" || curweap == "throwingknife_mp" ) )
{
if ( getWeaponClass( curweap ) == "weapon_projectile" )
nadeAimOffset = dist / 16000;
else
nadeAimOffset = dist / 3000;
}
aimpos = last_pos + ( 0, 0, self getEyeHeight() + nadeAimOffset );
@ -1865,6 +1898,9 @@ canAds( dist, curweap )
if ( curweap == "none" || curweap == "c4death_mp" )
return false;
if ( curweap == "c4_mp" )
return RandomInt( 2 );
if ( !getDvarInt( "bots_play_ads" ) )
return false;