mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-23 22:35:43 +00:00
gtnw
This commit is contained in:
parent
339c6ed864
commit
91a7d462e1
@ -6451,6 +6451,82 @@ bot_think_revive()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Bots play the Global thermonuclear warfare
|
||||||
|
*/
|
||||||
|
bot_gtnw_loop()
|
||||||
|
{
|
||||||
|
myteam = self.team;
|
||||||
|
theirteam = getOtherTeam( myteam );
|
||||||
|
origin = level.nukeSite.trigger.origin;
|
||||||
|
trigger = level.nukeSite.trigger;
|
||||||
|
|
||||||
|
ourCapCount = level.nukeSite.touchList[myteam];
|
||||||
|
theirCapCount = level.nukeSite.touchList[theirteam];
|
||||||
|
rand = self BotGetRandom();
|
||||||
|
|
||||||
|
if ( ( !ourCapCount && !theirCapCount ) || rand <= 20 )
|
||||||
|
{
|
||||||
|
// go cap the obj
|
||||||
|
self.bot_lock_goal = true;
|
||||||
|
self SetScriptGoal( origin, 64 );
|
||||||
|
self thread bots_watch_touch_obj( trigger );
|
||||||
|
|
||||||
|
ret = self waittill_any_return( "goal", "bad_path", "new_goal" );
|
||||||
|
|
||||||
|
if ( ret != "new_goal" )
|
||||||
|
self ClearScriptGoal();
|
||||||
|
|
||||||
|
if ( ret != "goal" || !self isTouching( trigger ) )
|
||||||
|
{
|
||||||
|
self.bot_lock_goal = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
self SetScriptGoal( self.origin, 64 );
|
||||||
|
|
||||||
|
while ( self isTouching( trigger ) )
|
||||||
|
{
|
||||||
|
cur = level.nukeSite.curProgress;
|
||||||
|
wait 0.5;
|
||||||
|
|
||||||
|
if ( cur == level.nukeSite.curProgress )
|
||||||
|
break;//no prog made, enemy must be capping
|
||||||
|
}
|
||||||
|
|
||||||
|
self ClearScriptGoal();
|
||||||
|
self.bot_lock_goal = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( theirCapCount )
|
||||||
|
{
|
||||||
|
// kill capturtour
|
||||||
|
self.bot_lock_goal = true;
|
||||||
|
|
||||||
|
self SetScriptGoal( origin, 64 );
|
||||||
|
self thread bots_watch_touch_obj( trigger );
|
||||||
|
|
||||||
|
if ( self waittill_any_return( "goal", "bad_path", "new_goal" ) != "new_goal" )
|
||||||
|
self ClearScriptGoal();
|
||||||
|
|
||||||
|
self.bot_lock_goal = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//else hang around the site
|
||||||
|
if ( DistanceSquared( origin, self.origin ) <= 1024 * 1024 )
|
||||||
|
return;
|
||||||
|
|
||||||
|
self.bot_lock_goal = true;
|
||||||
|
self SetScriptGoal( origin, 256 );
|
||||||
|
|
||||||
|
if ( self waittill_any_return( "goal", "bad_path", "new_goal" ) != "new_goal" )
|
||||||
|
self ClearScriptGoal();
|
||||||
|
|
||||||
|
self.bot_lock_goal = false;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Bots play the Global thermonuclear warfare
|
Bots play the Global thermonuclear warfare
|
||||||
*/
|
*/
|
||||||
@ -6472,10 +6548,10 @@ bot_gtnw()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !isDefined( level.nukeSite ) )
|
if ( !isDefined( level.nukeSite ) || !isDefined( level.nukeSite.trigger ) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
self bot_gtnw_loop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user