mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-23 14:25:43 +00:00
gren combat
This commit is contained in:
parent
673e0a6c14
commit
f624cb65cf
@ -179,18 +179,37 @@ knife()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
Bot will hold the frag button for a time
|
||||
*/
|
||||
frag(time)
|
||||
botThrowGrenade(grenName)
|
||||
{
|
||||
}
|
||||
self endon("death");
|
||||
self endon("disconnect");
|
||||
|
||||
/*
|
||||
Bot will hold the 'smoke' button for a time.
|
||||
*/
|
||||
smoke(time)
|
||||
{
|
||||
if (self.bot.tryingtofrag)
|
||||
return "already nading";
|
||||
|
||||
if (!self getAmmoCount(grenName))
|
||||
return "no ammo";
|
||||
|
||||
curWeap = self GetCurrentWeapon();
|
||||
|
||||
self setSpawnWeapon(grenName);
|
||||
self.bot.tryingtofrag = true;
|
||||
|
||||
ret = "grenade_pullback";
|
||||
if (grenName != "throwingknife_mp")
|
||||
ret = self waittill_any_timeout( 5, "grenade_pullback" );
|
||||
|
||||
if (ret != "timeout")
|
||||
{
|
||||
ret = self waittill_any_timeout( 5, "grenade_fire", "weapon_change", "offhand_end" );
|
||||
wait 0.95;
|
||||
}
|
||||
|
||||
self.bot.tryingtofrag = false;
|
||||
|
||||
self setSpawnWeapon(curWeap);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -396,7 +415,7 @@ grenade_watch()
|
||||
self.bot.isfragging = true;
|
||||
self.bot.isfraggingafter = true;
|
||||
|
||||
self waittill_notify_or_timeout( "grenade_fire", 5 );
|
||||
self waittill_any_timeout( 5, "grenade_fire", "weapon_change", "offhand_end" );
|
||||
|
||||
self.bot.isfragging = false;
|
||||
self thread doFragAfterThread();
|
||||
@ -672,7 +691,7 @@ onWeaponChange()
|
||||
case "none":
|
||||
if(isDefined(self.lastDroppableWeapon) && self.lastDroppableWeapon != "none")
|
||||
self setSpawnWeapon(self.lastDroppableWeapon);
|
||||
break;//grenades
|
||||
break;
|
||||
case "ac130_105mm_mp":
|
||||
case "ac130_40mm_mp":
|
||||
case "ac130_25mm_mp":
|
||||
@ -1388,19 +1407,11 @@ aim()
|
||||
nade = self getValidGrenade();
|
||||
if(isDefined(nade) && rand <= self.pers["bots"]["behavior"]["nade"] && bulletTracePassed(myEye, myEye + (0, 0, 75), false, self) && bulletTracePassed(last_pos, last_pos + (0, 0, 100), false, target)) //bots_minGrenadeDistance
|
||||
{
|
||||
if(nade == "frag_grenade_mp")
|
||||
self thread frag(2.5);
|
||||
else
|
||||
self thread smoke(0.5);
|
||||
|
||||
self thread botThrowGrenade(nade);
|
||||
self notify("kill_goal");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
self stopNading();
|
||||
}
|
||||
}
|
||||
|
||||
if (!usingRemote)
|
||||
@ -1410,8 +1421,6 @@ aim()
|
||||
continue;
|
||||
}
|
||||
|
||||
self stopNading();
|
||||
|
||||
if(isplay)
|
||||
{
|
||||
aimpos = target getTagOrigin( "j_spineupper" ) + (0, 0, nadeAimOffset);
|
||||
@ -1458,7 +1467,6 @@ aim()
|
||||
}
|
||||
|
||||
self ads(false);
|
||||
self stopNading();
|
||||
|
||||
if (!isDefined(self.bot.script_aimpos))
|
||||
{
|
||||
@ -1514,15 +1522,6 @@ doSemiTime()
|
||||
self.bot.semi_time = false;
|
||||
}
|
||||
|
||||
/*
|
||||
Stop the bot from nading.
|
||||
*/
|
||||
stopNading()
|
||||
{
|
||||
if(self.bot.isfragging)
|
||||
self thread frag(0);
|
||||
}
|
||||
|
||||
/*
|
||||
Returns a random grenade in the bot's inventory.
|
||||
*/
|
||||
@ -1533,6 +1532,8 @@ getValidGrenade()
|
||||
grenadeTypes[grenadeTypes.size] = "smoke_grenade_mp";
|
||||
grenadeTypes[grenadeTypes.size] = "flash_grenade_mp";
|
||||
grenadeTypes[grenadeTypes.size] = "concussion_grenade_mp";
|
||||
grenadeTypes[grenadeTypes.size] = "semtex_mp";
|
||||
grenadeTypes[grenadeTypes.size] = "throwingknife_mp";
|
||||
|
||||
possibles = [];
|
||||
|
||||
@ -1558,6 +1559,9 @@ canFire(curweap)
|
||||
if(curweap == "none")
|
||||
return false;
|
||||
|
||||
if (self.bot.isreloading)
|
||||
return false;
|
||||
|
||||
if (curweap == "riotshield_mp")
|
||||
return false;
|
||||
|
||||
|
@ -44,6 +44,11 @@ pressFire(time)
|
||||
self fire(false);
|
||||
}
|
||||
|
||||
botThrowGrenade(gname)
|
||||
{
|
||||
return maps\mp\bots\_bot_internal::botThrowGrenade(gname);
|
||||
}
|
||||
|
||||
fire(what)
|
||||
{
|
||||
self.bot.fire_pressed = what;
|
||||
|
Loading…
x
Reference in New Issue
Block a user