diff --git a/userraw/maps/mp/bots/_bot_internal.gsc b/userraw/maps/mp/bots/_bot_internal.gsc index 12ce221..ac06738 100644 --- a/userraw/maps/mp/bots/_bot_internal.gsc +++ b/userraw/maps/mp/bots/_bot_internal.gsc @@ -1070,6 +1070,10 @@ onLastStand() if (!self inFinalStand() && !self IsUsingRemote()) { + while (self.bot.knifing || self.bot.tryingtofrag || self.disabledWeapon) + wait 0.05; + waittillframeend; + pistol = undefined; weaponsList = self GetWeaponsListPrimaries(); foreach ( weapon in weaponsList ) @@ -1213,6 +1217,9 @@ grenade_danager() { wait 1; + if (self inLastStand() && !self _hasPerk("specialty_laststandoffhand") && !self inFinalStand()) + continue; + if (self.bot.isfrozen || level.gameEnded || !gameFlag( "prematch_done" )) continue; diff --git a/userraw/maps/mp/bots/_bot_utility.gsc b/userraw/maps/mp/bots/_bot_utility.gsc index 3013bf5..88dbe55 100644 --- a/userraw/maps/mp/bots/_bot_utility.gsc +++ b/userraw/maps/mp/bots/_bot_utility.gsc @@ -117,6 +117,24 @@ getValidGrenade() return random(possibles); } +botChangeWeapon(weapon) +{ + self endon("death"); + self endon("disconnect"); + + if (level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.isfrozen || self IsUsingRemote()) + return; + + if(self isDefusing() || self isPlanting()) + return; + + if (self.bot.knifing || self.bot.isfraggingafter) + return; + + if (self.disabledWeapon) + return; +} + throwBotGrenade(gname, gtime) { return self maps\mp\bots\_bot_internal::botThrowGrenade(gname, gtime);