mirror of
https://github.com/ineedbots/t4_bot_warfare.git
synced 2025-04-22 07:55:43 +00:00
bots target vehicle
This commit is contained in:
parent
e257c40c57
commit
6c21a85af7
@ -2346,6 +2346,66 @@ bot_target_vehicle()
|
||||
|
||||
if(self HasScriptEnemy())
|
||||
continue;
|
||||
|
||||
if(self.pers["bots"]["skill"]["base"] <= 1)
|
||||
continue;
|
||||
|
||||
if (!IsDefined( level.vehicles_list ))
|
||||
continue;
|
||||
|
||||
hasRecon = self hasPerk("specialty_reconnaissance");
|
||||
myEye = self GetEyePos();
|
||||
target = undefined;
|
||||
myAngles = self GetPlayerAngles();
|
||||
|
||||
for(i = 0; i < level.players.size; i++)
|
||||
{
|
||||
player = level.players[i];
|
||||
vehicle = player GetVehicleOccupied();
|
||||
if(!isDefined(vehicle))
|
||||
continue;
|
||||
if(player == self)
|
||||
continue;
|
||||
if(level.teamBased && self.pers["team"] == player.pers["team"])
|
||||
continue;
|
||||
|
||||
if(!bulletTracePassed(myEye, vehicle.origin + (0.0, 0.0, 5.0), false, vehicle))
|
||||
continue;
|
||||
if(getConeDot(vehicle.origin, self.origin, myAngles) < 0.6 && !hasRecon)
|
||||
continue;
|
||||
|
||||
target = vehicle;
|
||||
}
|
||||
|
||||
if (!isDefined(target))
|
||||
continue;
|
||||
|
||||
self SetScriptEnemy( target, (0, 0, 5) );
|
||||
self bot_vehicle_attack(target);
|
||||
self ClearScriptEnemy();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
How long to target a vehicle
|
||||
*/
|
||||
bot_vehicle_attack(target)
|
||||
{
|
||||
target endon("death");
|
||||
|
||||
wait_time = RandomIntRange( 14, 20 );
|
||||
|
||||
for ( i = 0; i < wait_time; i++ )
|
||||
{
|
||||
wait( 0.5 );
|
||||
|
||||
if ( !IsDefined( target ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!target GetVehOccupants().size)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2359,7 +2419,7 @@ bot_kill_dog_think()
|
||||
|
||||
for(;;)
|
||||
{
|
||||
wait( RandomIntRange( 1, 3 ) );
|
||||
wait( 1 );
|
||||
|
||||
if(self HasScriptEnemy())
|
||||
continue;
|
||||
@ -2371,6 +2431,9 @@ bot_kill_dog_think()
|
||||
continue;
|
||||
|
||||
hasRecon = self hasPerk("specialty_reconnaissance");
|
||||
myEye = self GetEyePos();
|
||||
targetDog = undefined;
|
||||
myAngles = self GetPlayerAngles();
|
||||
for(i = 0; i < level.dogs.size; i++)
|
||||
{
|
||||
dog = level.dogs[i];
|
||||
@ -2381,7 +2444,45 @@ bot_kill_dog_think()
|
||||
continue;
|
||||
if(level.teamBased && dog.aiteam == self.pers["team"])
|
||||
continue;
|
||||
|
||||
if(getConeDot(dog.origin, self.origin, myAngles) < 0.6 && !hasRecon)
|
||||
continue;
|
||||
|
||||
if(!bulletTracePassed(myEye, dog.origin+(0, 0, 5), false, dog))
|
||||
continue;
|
||||
|
||||
targetDog = dog;
|
||||
}
|
||||
|
||||
if (!isDefined(targetDog))
|
||||
continue;
|
||||
|
||||
self SetScriptEnemy( targetDog, (0, 0, 5) );
|
||||
self bot_dog_attack(targetDog);
|
||||
self ClearScriptEnemy();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
How long to target a dog
|
||||
*/
|
||||
bot_dog_attack(dog)
|
||||
{
|
||||
dog endon("death");
|
||||
|
||||
wait_time = RandomIntRange( 14, 20 );
|
||||
|
||||
for ( i = 0; i < wait_time; i++ )
|
||||
{
|
||||
wait( 0.5 );
|
||||
|
||||
if ( !IsDefined( dog ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!bulletTracePassed(self GetEyePos(), dog.origin+(0, 0, 5), false, dog))
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user