airdrop test

This commit is contained in:
Your Name 2020-08-14 16:02:56 -06:00
parent a43849dcb3
commit e143a65941
3 changed files with 112 additions and 20 deletions

View File

@ -1669,6 +1669,11 @@ aim()
} }
} }
} }
else
{
if (self canAds(dist, curweap))
self thread pressAds();
}
if (!usingRemote) if (!usingRemote)
self thread bot_lookat(last_pos + (0, 0, self getEyeHeight() + nadeAimOffset), aimspeed); self thread bot_lookat(last_pos + (0, 0, self getEyeHeight() + nadeAimOffset), aimspeed);
@ -2293,7 +2298,7 @@ botThrowGrenade(grenName)
if (isDefined(self.lastStand) && !self _hasPerk("specialty_laststandoffhand") && (!isDefined(self.inFinalStand) || !self.inFinalStand)) if (isDefined(self.lastStand) && !self _hasPerk("specialty_laststandoffhand") && (!isDefined(self.inFinalStand) || !self.inFinalStand))
return "laststand"; return "laststand";
if (level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.isfrozen) if (level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.isfrozen || self.bot.climbing)
return "can't move"; return "can't move";
curWeap = self GetCurrentWeapon(); curWeap = self GetCurrentWeapon();

View File

@ -1019,6 +1019,13 @@ bot_killstreak_think()
self endon("death"); self endon("death");
level endon("game_ended"); level endon("game_ended");
if (randomInt(2))
self maps\mp\killstreaks\_killstreaks::tryGiveKillstreak("airdrop");
else if (randomInt(2))
self maps\mp\killstreaks\_killstreaks::tryGiveKillstreak("airdrop_sentry_minigun");
else
self maps\mp\killstreaks\_killstreaks::tryGiveKillstreak("airdrop_mega");
for (;;) for (;;)
{ {
wait randomIntRange(1, 3); wait randomIntRange(1, 3);
@ -1042,6 +1049,9 @@ bot_killstreak_think()
if (!isWeaponDroppable(curWeap)) if (!isWeaponDroppable(curWeap))
continue; continue;
if (self isEMPed())
continue;
streakName = self.pers["killstreaks"][0].streakName; streakName = self.pers["killstreaks"][0].streakName;
ksWeap = maps\mp\killstreaks\_killstreaks::getKillstreakWeapon( streakName ); ksWeap = maps\mp\killstreaks\_killstreaks::getKillstreakWeapon( streakName );
@ -1055,14 +1065,80 @@ bot_killstreak_think()
} }
else else
{ {
// airdrop_mega if (streakName == "airdrop_mega" || streakName == "airdrop_sentry_minigun" || streakName == "airdrop")
// airdrop_sentry_minigun {
// airdrop if (self.bot_lock_goal || self HasScriptGoal())
// case "harrier_airstrike": continue;
// case "stealth_airstrike":
// case "precision_airstrike": if (streakName != "airdrop_mega" && level.littleBirds > 2)
continue;
if(!bulletTracePassed(self.origin, self.origin+(0,0,2048), false, self) && self.pers["bots"]["skill"]["base"] > 3)
continue;
myEye = self GetEye();
angles = self GetPlayerAngles();
forwardTrace = bulletTrace(myEye, myEye + AnglesToForward(angles)*256, false, self);
if (Distance(self.origin, forwardTrace["position"]) < 96)
continue;
if (!bulletTracePassed(forwardTrace["position"], forwardTrace["position"]+(0,0,2048), false, self) && self.pers["bots"]["skill"]["base"] > 3)
continue;
self SetScriptGoal(self.origin, 16);
self throwBotGrenade(ksWeap);
self waittill_any_timeout( 1, "bad_path" );
self ClearScriptGoal();
}
else
{
if (streakName == "harrier_airstrike" && level.planes > 1)
continue;
if (streakName == "nuke" && isDefined( level.nukeIncoming ))
continue;
location = undefined;
directionYaw = undefined;
switch (streakName) switch (streakName)
{ {
case "harrier_airstrike":
case "stealth_airstrike":
case "precision_airstrike":
players = [];
for(i = level.players.size - 1; i >= 0; i--)
{
player = level.players[i];
if(player == self)
continue;
if(!isDefined(player.team))
continue;
if(level.teamBased && self.team == player.team)
continue;
if(player.sessionstate != "playing")
continue;
if(!isReallyAlive(player))
continue;
if(player _hasPerk("specialty_coldblooded"))
continue;
if(!bulletTracePassed(player.origin, player.origin+(0,0,512), false, player) && self.pers["bots"]["skill"]["base"] > 3)
continue;
players[players.size] = player;
}
target = random(players);
if(isDefined(target))
location = target.origin + (randomIntRange((8-self.pers["bots"]["skill"]["base"])*-75, (8-self.pers["bots"]["skill"]["base"])*75), randomIntRange((8-self.pers["bots"]["skill"]["base"])*-75, (8-self.pers["bots"]["skill"]["base"])*75), 0);
else if(self.pers["bots"]["skill"]["base"] <= 3)
location = self.origin + (randomIntRange(-512, 512), randomIntRange(-512, 512), 0);
directionYaw = randomInt(360);
case "helicopter": case "helicopter":
case "helicopter_flares": case "helicopter_flares":
case "uav": case "uav":
@ -1072,6 +1148,11 @@ bot_killstreak_think()
self BotFreezeControls(true); self BotFreezeControls(true);
self setSpawnWeapon(ksWeap); self setSpawnWeapon(ksWeap);
wait 1; wait 1;
if (isDefined(location))
{
self notify( "confirm_location", location, directionYaw );
wait 1;
}
self setSpawnWeapon(curWeap); self setSpawnWeapon(curWeap);
self BotFreezeControls(false); self BotFreezeControls(false);
break; break;
@ -1079,3 +1160,4 @@ bot_killstreak_think()
} }
} }
} }
}

View File

@ -36,6 +36,11 @@ throwBotGrenade(gname)
return self maps\mp\bots\_bot_internal::botThrowGrenade(gname); return self maps\mp\bots\_bot_internal::botThrowGrenade(gname);
} }
botIsClimbing()
{
return self.bot.climbing;
}
BotGetTargetRandom() BotGetTargetRandom()
{ {
if (!isDefined(self.bot.target)) if (!isDefined(self.bot.target))