mirror of
https://github.com/ineedbots/iw3_bot_warfare.git
synced 2025-04-22 18:25:44 +00:00
turret
This commit is contained in:
parent
dc03e0fbb3
commit
25052b2891
@ -266,6 +266,8 @@ init()
|
||||
level thread onPlayerConnect();
|
||||
level thread handleBots();
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -251,6 +251,13 @@ 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;
|
||||
}
|
||||
|
||||
weap = self getcurrentweapon();
|
||||
|
||||
if ( weap != "none" && self getammocount( weap ) )
|
||||
@ -1162,8 +1169,8 @@ target_loop()
|
||||
}
|
||||
|
||||
canTargetPlayer = ( ( player checkTraceForBone( myEye, "j_head" ) ||
|
||||
player checkTraceForBone( myEye, "j_ankle_le" ) ||
|
||||
player checkTraceForBone( myEye, "j_ankle_ri" ) )
|
||||
player checkTraceForBone( myEye, "j_ankle_le" ) ||
|
||||
player checkTraceForBone( myEye, "j_ankle_ri" ) )
|
||||
|
||||
&& ( SmokeTrace( myEye, player.origin, level.smokeradius ) ||
|
||||
daDist < level.bots_maxknifedistance * 4 )
|
||||
|
Loading…
x
Reference in New Issue
Block a user