mirror of
https://github.com/ineedbots/t4_bot_warfare.git
synced 2025-05-14 15:44:51 +00:00
Compare commits
3 Commits
c5b7dd0c19
...
1477323917
Author | SHA1 | Date | |
---|---|---|---|
|
1477323917 | ||
|
9e19374125 | ||
|
7766d8b888 |
@ -264,6 +264,8 @@ init()
|
||||
level thread onPlayerConnect();
|
||||
level thread handleBots();
|
||||
level thread onPlayerChat();
|
||||
|
||||
array_thread( getentarray( "misc_turret", "classname" ), ::turret_monitoruse_watcher );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1248,3 +1250,47 @@ onPlayerChat()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Monitors turret usage
|
||||
*/
|
||||
turret_monitoruse_watcher()
|
||||
{
|
||||
self endon( "death" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill ( "trigger", player );
|
||||
|
||||
self monitor_player_turret( player );
|
||||
|
||||
self.owner = undefined;
|
||||
|
||||
if ( isdefined( player ) )
|
||||
{
|
||||
player.turret = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
While player uses turret
|
||||
*/
|
||||
monitor_player_turret( player )
|
||||
{
|
||||
player endon( "death" );
|
||||
player endon( "disconnect" );
|
||||
|
||||
player.turret = self;
|
||||
self.owner = player;
|
||||
|
||||
while ( isdefined( player ) && player usebuttonpressed() )
|
||||
{
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
while ( isdefined( player ) && !player usebuttonpressed() )
|
||||
{
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
|
@ -369,6 +369,20 @@ watchPickupGun()
|
||||
continue;
|
||||
}
|
||||
|
||||
// todo have bots use turrets instead of just kicking them off of it
|
||||
if ( isdefined( self.turret ) )
|
||||
{
|
||||
self thread use( 0.5 );
|
||||
continue;
|
||||
}
|
||||
|
||||
// todo have bots use vehicles properly
|
||||
if ( self isinvehicle() )
|
||||
{
|
||||
self thread use( 0.5 );
|
||||
continue;
|
||||
}
|
||||
|
||||
weap = self getcurrentweapon();
|
||||
|
||||
if ( weap != "none" && self getammocount( weap ) )
|
||||
|
@ -3292,6 +3292,7 @@ bot_target_vehicle_loop()
|
||||
myEye = self getEyePos();
|
||||
target = undefined;
|
||||
myAngles = self getplayerangles();
|
||||
hasRocket = self getammocount( "bazooka_mp" );
|
||||
|
||||
for ( i = 0; i < level.players.size; i++ )
|
||||
{
|
||||
@ -3324,7 +3325,7 @@ bot_target_vehicle_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( getConeDot( vehicle.origin, self.origin, myAngles ) < 0.6 && !hasRecon )
|
||||
if ( getConeDot( vehicle.origin, self.origin, myAngles ) < 0.6 && !hasRecon && !hasRocket )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -3356,18 +3357,13 @@ bot_target_vehicle()
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
wait( randomintrange( 1, 3 ) );
|
||||
wait( randomintrange( 1, 3 ) * 0.5 );
|
||||
|
||||
if ( self HasScriptEnemy() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 1 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !isdefined( level.vehicles_list ) )
|
||||
{
|
||||
continue;
|
||||
@ -3384,7 +3380,7 @@ bot_vehicle_attack( target )
|
||||
{
|
||||
target endon( "death" );
|
||||
|
||||
wait_time = randomintrange( 14, 20 );
|
||||
wait_time = randomintrange( 14, 20 ) * 2;
|
||||
|
||||
for ( i = 0; i < wait_time; i++ )
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user