diff --git a/main_shared/maps/mp/bots/_bot_internal.gsc b/main_shared/maps/mp/bots/_bot_internal.gsc index e829b3b..5ea8f7c 100644 --- a/main_shared/maps/mp/bots/_bot_internal.gsc +++ b/main_shared/maps/mp/bots/_bot_internal.gsc @@ -47,6 +47,7 @@ added() self.pers["bots"]["behavior"]["jump"] = 100; // percentage of how often the bot will jumpshot and dropshot self.pers["bots"]["behavior"]["quickscope"] = false; // is a quickscoper + self.pers["bots"]["behavior"]["initswitch"] = 10; // percentage of how often the bot will switch weapons on spawn } /* diff --git a/main_shared/maps/mp/bots/_bot_script.gsc b/main_shared/maps/mp/bots/_bot_script.gsc index 9c6130a..7d3ec3f 100644 --- a/main_shared/maps/mp/bots/_bot_script.gsc +++ b/main_shared/maps/mp/bots/_bot_script.gsc @@ -2154,7 +2154,7 @@ doReloadCancel() for (;;) { - self waittill("reload"); + ret = self waittill_any_return("reload", "weapon_change"); if(self BotIsFrozen()) continue; @@ -2166,10 +2166,17 @@ doReloadCancel() continue; curWeap = self GetCurrentWeapon(); - // check single reloads - if (self GetWeaponAmmoClip(curWeap) < WeaponClipSize(curWeap)) + + if (!maps\mp\gametypes\_weapons::isSideArm( weapon ) && !maps\mp\gametypes\_weapons::isPrimaryWeapon( weapon )) continue; + if (ret == "reload") + { + // check single reloads + if (self GetWeaponAmmoClip(curWeap) < WeaponClipSize(curWeap)) + continue; + } + // check difficulty if (self.pers["bots"]["skill"]["base"] <= 3) continue; @@ -2200,6 +2207,7 @@ doReloadCancel() self BotChangeToWeapon(weap); wait 0.25; self BotChangeToWeapon(curWeap); + wait 2; } } @@ -2211,6 +2219,8 @@ bot_weapon_think() self endon("death"); self endon("disconnect"); level endon("game_ended"); + + first = true; for(;;) { @@ -2237,13 +2247,23 @@ bot_weapon_think() } } - if(curWeap != "none" && self getAmmoCount(curWeap) && curWeap != "c4_mp") + if (first) { - if(randomInt(100) > self.pers["bots"]["behavior"]["switch"]) + first = false; + + if(randomInt(100) > self.pers["bots"]["behavior"]["initswitch"]) continue; + } + else + { + if(curWeap != "none" && self getAmmoCount(curWeap) && curWeap != "c4_mp") + { + if(randomInt(100) > self.pers["bots"]["behavior"]["switch"]) + continue; - if(hasTarget) - continue; + if(hasTarget) + continue; + } } weaponslist = self getweaponslist();