This commit is contained in:
ineed bots 2024-05-09 15:02:44 -06:00
parent dc03e0fbb3
commit 25052b2891
2 changed files with 66 additions and 10 deletions

View File

@ -266,6 +266,8 @@ init()
level thread onPlayerConnect(); level thread onPlayerConnect();
level thread handleBots(); level thread handleBots();
level thread onPlayerChat(); level thread onPlayerChat();
array_thread( getentarray( "misc_turret", "classname" ), ::turret_monitoruse_watcher );
} }
/* /*
@ -1294,3 +1296,50 @@ onPlayerChat()
} }
} }
} }
/*
Monitors turret usage
*/
turret_monitoruse_watcher()
{
self endon( "death" );
for ( ;; )
{
self waittill ( "trigger", player );
player sayall( "OK" );
self monitor_player_turret( player );
player sayall( "DONE" );
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;
}
}

View File

@ -251,6 +251,13 @@ watchPickupGun()
continue; continue;
} }
// todo have bots use turrets instead of just kicking them off of it
if ( isdefined( self.turret ) )
{
self thread use( 0.5 );
continue;
}
weap = self getcurrentweapon(); weap = self getcurrentweapon();
if ( weap != "none" && self getammocount( weap ) ) if ( weap != "none" && self getammocount( weap ) )
@ -1162,8 +1169,8 @@ target_loop()
} }
canTargetPlayer = ( ( player checkTraceForBone( myEye, "j_head" ) || canTargetPlayer = ( ( player checkTraceForBone( myEye, "j_head" ) ||
player checkTraceForBone( myEye, "j_ankle_le" ) || player checkTraceForBone( myEye, "j_ankle_le" ) ||
player checkTraceForBone( myEye, "j_ankle_ri" ) ) player checkTraceForBone( myEye, "j_ankle_ri" ) )
&& ( SmokeTrace( myEye, player.origin, level.smokeradius ) || && ( SmokeTrace( myEye, player.origin, level.smokeradius ) ||
daDist < level.bots_maxknifedistance * 4 ) daDist < level.bots_maxknifedistance * 4 )