mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-05-10 22:24:50 +00:00
bot_target_vehicle
This commit is contained in:
parent
92ea42ecfe
commit
368cd02831
@ -316,9 +316,7 @@ bot_spawn()
|
||||
|
||||
if (getDvarInt("bots_play_target_other"))
|
||||
{
|
||||
/*
|
||||
self thread bot_target_vehicle();
|
||||
*/
|
||||
self thread bot_equipment_kill_think();
|
||||
self thread bot_turret_think();
|
||||
self thread bot_dogs_think();
|
||||
@ -1592,6 +1590,175 @@ getLockonAmmo()
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/*
|
||||
Bot attacks the vehicle
|
||||
*/
|
||||
bot_vehicle_attack( enemy )
|
||||
{
|
||||
wait_time = RandomIntRange( 7, 10 );
|
||||
|
||||
for ( i = 0; i < wait_time; i++ )
|
||||
{
|
||||
wait( 1 );
|
||||
|
||||
if ( !IsDefined( enemy ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !IsAlive( enemy ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !IsDefined( enemy.targetname ) || enemy.targetname != "rcbomb" )
|
||||
{
|
||||
if ( !self getRocketAmmo() )
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !BulletTracePassed( self.origin, enemy.origin, false, enemy ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Bot attacks the plane
|
||||
*/
|
||||
bot_plane_attack(enemy)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
Bots think to kill vehicles
|
||||
*/
|
||||
bot_target_vehicle()
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
level endon ( "game_ended" );
|
||||
|
||||
myteam = self.pers[ "team" ];
|
||||
|
||||
for (;;)
|
||||
{
|
||||
wait( 1 );
|
||||
|
||||
if(isDefined(self GetThreat()) || self IsRemoteControlling() || self UseButtonPressed())
|
||||
continue;
|
||||
|
||||
airborne_enemies = GetEntArray( "script_vehicle", "classname" );
|
||||
target = undefined;
|
||||
for ( i = 0; i < airborne_enemies.size; i++ )
|
||||
{
|
||||
enemy = airborne_enemies[i];
|
||||
|
||||
if ( !IsDefined( enemy ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !IsAlive( enemy ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased )
|
||||
{
|
||||
if ( enemy.team == myteam )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( enemy.owner == self )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !IsDefined( enemy.targetname ) || enemy.targetname != "rcbomb" )
|
||||
{
|
||||
if ( !self getRocketAmmo() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !BulletTracePassed( self.origin, enemy.origin, false, enemy ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
target = enemy;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!isDefined(target))
|
||||
{
|
||||
if(isDefined(self getLockonAmmo()))
|
||||
{
|
||||
for(i = 0; i < level.bot_planes.size; i++)
|
||||
{
|
||||
enemy = level.bot_planes[i];
|
||||
|
||||
if ( !IsDefined( enemy ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !IsAlive( enemy ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased )
|
||||
{
|
||||
if ( enemy.team == myteam )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( enemy.owner == self )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !BulletTracePassed( self getEye(), enemy.origin, false, enemy ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
target = enemy;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!isDefined(target))
|
||||
{
|
||||
wait( RandomIntRange( 3, 5 ) );
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isDefined(target.bot_plane))
|
||||
{
|
||||
self bot_plane_attack(target);
|
||||
self freeze_player_controls(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
self SetScriptEnemy( target );
|
||||
self bot_vehicle_attack( target );
|
||||
self ClearScriptEnemy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Bot uses their equipment
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user