mirror of
https://github.com/ineedbots/iw5_bot_warfare.git
synced 2025-04-25 15:19:14 +00:00
Bots play tdef and crouch with riot
This commit is contained in:
parent
da1deb6550
commit
1cfea049f1
@ -394,23 +394,6 @@ auditModels()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Does our flag have a radar?
|
||||
*/
|
||||
flag_has_radar()
|
||||
{
|
||||
if ( !isDefined( level.gameFlag ) || !isDefined( level.gameFlag.currentCarrier ) )
|
||||
return false;
|
||||
|
||||
if ( level.gameFlag.currentCarrier != self )
|
||||
return false;
|
||||
|
||||
if ( !isDefined( level.gameFlag.portable_radar ) )
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
Loop
|
||||
*/
|
||||
@ -457,7 +440,7 @@ watchRadar_loop()
|
||||
|
||||
for ( i = level.players.size - 1; i >= 0; i-- )
|
||||
{
|
||||
if ( !isDefined( level.players[i].personalRadar ) && !level.players[i] flag_has_radar() )
|
||||
if ( !isDefined( level.players[i].personalRadar ) )
|
||||
continue;
|
||||
|
||||
if ( !isReallyAlive( level.players[i] ) )
|
||||
@ -485,6 +468,28 @@ watchRadar_loop()
|
||||
player.bot_isInRadar = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( level.gameFlag ) && isDefined( level.gameFlag.carrier ) && isDefined( level.gameFlag.portable_radar ) )
|
||||
{
|
||||
for ( h = level.players.size - 1; h >= 0; h-- )
|
||||
{
|
||||
player = level.players[h];
|
||||
|
||||
if ( !isReallyAlive( player ) )
|
||||
continue;
|
||||
|
||||
if ( level.teamBased && level.gameFlag.carrier.team != player.team )
|
||||
continue;
|
||||
|
||||
if ( player _hasPerk( "specialty_coldblooded" ) )
|
||||
continue;
|
||||
|
||||
if ( DistanceSquared( player.origin, level.gameFlag.carrier.origin ) > 256 * 256 )
|
||||
continue;
|
||||
|
||||
player.bot_isInRadar = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1781,6 +1781,7 @@ start_bot_threads()
|
||||
|
||||
self thread bot_conf();
|
||||
self thread bot_grnd();
|
||||
self thread bot_tdef();
|
||||
}
|
||||
}
|
||||
|
||||
@ -2830,6 +2831,8 @@ bot_watch_riot_weapons_loop()
|
||||
dist = DistanceSquared( threat.origin, self.origin );
|
||||
curWeap = self GetCurrentWeapon();
|
||||
|
||||
self BotCrouch();
|
||||
|
||||
if ( randomInt( 2 ) )
|
||||
{
|
||||
nade = self getValidGrenade();
|
||||
@ -7818,3 +7821,72 @@ bot_grnd()
|
||||
self bot_grnd_loop();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Loop
|
||||
*/
|
||||
bot_tdef_loop()
|
||||
{
|
||||
if ( isDefined( level.gameFlag.carrier ) )
|
||||
{
|
||||
if ( level.gameFlag maps\mp\gametypes\_gameobjects::getOwnerTeam() == level.otherTeam[self.team] )
|
||||
{
|
||||
// go kill
|
||||
self SetScriptGoal( level.gameFlag.carrier.origin, 64 );
|
||||
self thread bot_escort_obj( level.gameFlag, level.gameFlag.carrier );
|
||||
|
||||
if ( self waittill_any_return( "goal", "bad_path", "new_goal" ) != "new_goal" )
|
||||
self ClearScriptGoal();
|
||||
}
|
||||
else if ( level.gameFlag.carrier != self )
|
||||
{
|
||||
// go protect
|
||||
if ( self HasScriptGoal() )
|
||||
return;
|
||||
|
||||
if ( DistanceSquared( level.gameFlag.carrier.origin, self.origin ) <= 1024 * 1024 )
|
||||
return;
|
||||
|
||||
self SetScriptGoal( level.gameFlag.carrier.origin, 256 );
|
||||
self thread bot_escort_obj( level.gameFlag, level.gameFlag.carrier );
|
||||
|
||||
if ( self waittill_any_return( "goal", "bad_path", "new_goal" ) != "new_goal" )
|
||||
self ClearScriptGoal();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//go get it
|
||||
self bot_cap_get_flag( level.gameFlag );
|
||||
}
|
||||
|
||||
/*
|
||||
Bots play groundzone
|
||||
*/
|
||||
bot_tdef()
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
level endon( "game_ended" );
|
||||
|
||||
if ( level.gametype != "tdef" )
|
||||
return;
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
wait( randomintrange( 1, 3 ) );
|
||||
|
||||
if ( self IsUsingRemote() || self.bot_lock_goal )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !isdefined( level.gameFlag ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
self bot_tdef_loop();
|
||||
}
|
||||
}
|
||||
|
@ -120,6 +120,14 @@ BotPressAttack( time )
|
||||
self maps\mp\bots\_bot_internal::pressFire( time );
|
||||
}
|
||||
|
||||
/*
|
||||
Bot will crouch
|
||||
*/
|
||||
BotCrouch()
|
||||
{
|
||||
self maps\mp\bots\_bot_internal::crouch();
|
||||
}
|
||||
|
||||
/*
|
||||
Returns a random number thats different everytime it changes target
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user