1 #using scripts\shared\array_shared;
2 #using scripts\shared\callbacks_shared;
3 #using scripts\shared\math_shared;
4 #using scripts\shared\system_shared;
5 #using scripts\shared\util_shared;
7 #insert scripts\shared\shared.gsh;
9 #insert scripts\mp\bots\_bot.gsh;
11 #using scripts\mp\bots\_bot;
12 #using scripts\mp\bots\_bot_combat;
13 #using scripts\shared\bots\_bot;
14 #using scripts\shared\bots\_bot_combat;
15 #using scripts\shared\bots\bot_traversals;
16 #using scripts\shared\bots\bot_buttons;
19 #using scripts\mp\teams\_teams;
20 #using scripts\mp\_util;
24 #define IDLE_TACO_RADIUS 1024
25 #define COMBAT_TACO_RADIUS 256
26 #define DEPOSIT_NUM 10
46 if ( isdefined(
self.targetHub ) )
48 if (
self.carriedTacos == 0 ||
self.targetHub.interactTeam ==
"none" )
50 self.targetHub = undefined;
51 self BotSetGoal(
self.origin );
56 if ( isdefined(
self.targetTaco ) )
58 if (
self.targetTaco.interactTeam ==
"none" ||
self.targetTaco.DropTime !=
self.targetTacoDropTime )
60 self.targetTaco = undefined;
61 self BotSetGoal(
self.origin );
77 if ( isdefined(
self.targetHub ) )
87 foreach( hub
in level.cleanDepositHubs )
89 if ( hub.interactTeam ==
"any" )
92 self.targetTaco = undefined;
112 if ( !isdefined( bestTaco ) )
117 self.targetTaco = bestTaco;
118 self.targetTacoDropTime = bestTaco.dropTime;
128 radiusSq = radius * radius;
131 bestTaco = undefined;
132 bestTacoDistSq = undefined;
134 foreach ( taco
in level.tacos )
136 if ( taco.interactTeam ==
"none" || !IsPointOnNavMesh( taco.origin ,
self ) )
141 tacoDistSq = Distance2DSquared(
self.origin, taco.origin );
143 if ( taco.attacker !=
self && tacoDistSq > radiusSq )
148 if ( !isdefined( bestTaco ) || tacoDistSq < bestTacoDistSq )
151 bestTacoDistSq = tacoDistSq;
160 if ( isdefined(
self.targetHub ) )
162 if ( !
self BotGoalSet() )
172 if ( isdefined(
self.targetTaco ) )
174 tacoDistSq = Distance2DSquared(
self.origin,
self.targetTaco.origin );
175 if ( tacoDistSq > radiusSq )
177 self.targetTaco = undefined;