home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2004 July & August / Gamestar_64_2004-07-08_dvd.iso / Patche / ut2004-winpatch3204.exe / UT2004-Patch / System / UnrealGame.u / Bot_CTFSquadAI_ScriptText.TextBuffer < prev    next >
Unknown  |  2004-05-10  |  18.6 KB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 00 00 00 00 00 00 | 60 a9 02 63 6c 61 73 73 |........|`..class|
|00000010| 20 43 54 46 53 71 75 61 | 64 41 49 20 65 78 74 65 | CTFSqua|dAI exte|
|00000020| 6e 64 73 20 53 71 75 61 | 64 41 49 3b 0d 0a 0d 0a |nds Squa|dAI;....|
|00000030| 76 61 72 20 66 6c 6f 61 | 74 20 4c 61 73 74 53 65 |var floa|t LastSe|
|00000040| 65 46 6c 61 67 43 61 72 | 72 69 65 72 3b 0d 0a 76 |eFlagCar|rier;..v|
|00000050| 61 72 20 43 54 46 46 6c | 61 67 20 46 72 69 65 6e |ar CTFFl|ag Frien|
|00000060| 64 6c 79 46 6c 61 67 2c | 20 45 6e 65 6d 79 46 6c |dlyFlag,| EnemyFl|
|00000070| 61 67 3b 0d 0a 76 61 72 | 20 41 73 73 61 75 6c 74 |ag;..var| Assault|
|00000080| 50 61 74 68 20 52 65 74 | 75 72 6e 50 61 74 68 3b |Path Ret|urnPath;|
|00000090| 09 2f 2f 20 61 6c 74 65 | 72 6e 61 74 65 20 70 61 |.// alte|rnate pa|
|000000a0| 74 68 20 74 6f 20 75 73 | 65 20 62 79 20 66 6c 61 |th to us|e by fla|
|000000b0| 67 20 63 61 72 72 69 65 | 72 20 72 65 74 75 72 6e |g carrie|r return|
|000000c0| 69 6e 67 20 74 6f 20 62 | 61 73 65 0d 0a 76 61 72 |ing to b|ase..var|
|000000d0| 20 6e 61 6d 65 20 52 65 | 74 75 72 6e 50 61 74 68 | name Re|turnPath|
|000000e0| 54 61 67 3b 0d 0a 76 61 | 72 20 4e 61 76 69 67 61 |Tag;..va|r Naviga|
|000000f0| 74 69 6f 6e 50 6f 69 6e | 74 20 48 69 64 65 50 61 |tionPoin|t HidePa|
|00000100| 74 68 3b 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |th;....f|unction |
|00000110| 41 73 73 69 67 6e 43 6f | 6d 62 6f 28 42 6f 74 20 |AssignCo|mbo(Bot |
|00000120| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 47 65 74 |B)..{...|if ( Get|
|00000130| 4f 72 64 65 72 73 28 29 | 20 21 3d 20 27 41 74 74 |Orders()| != 'Att|
|00000140| 61 63 6b 27 20 29 0d 0a | 09 09 53 75 70 65 72 2e |ack' )..|..Super.|
|00000150| 41 73 73 69 67 6e 43 6f | 6d 62 6f 28 42 29 3b 0d |AssignCo|mbo(B);.|
|00000160| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 62 |.}....fu|nction b|
|00000170| 6f 6f 6c 20 41 6c 6c 6f | 77 44 65 74 6f 75 72 54 |ool Allo|wDetourT|
|00000180| 6f 28 42 6f 74 20 42 2c | 4e 61 76 69 67 61 74 69 |o(Bot B,|Navigati|
|00000190| 6f 6e 50 6f 69 6e 74 20 | 4e 29 0d 0a 7b 0d 0a 09 |onPoint |N)..{...|
|000001a0| 69 66 20 28 20 42 2e 50 | 6c 61 79 65 72 52 65 70 |if ( B.P|layerRep|
|000001b0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|000001c0| 46 6c 61 67 20 21 3d 20 | 45 6e 65 6d 79 46 6c 61 |Flag != |EnemyFla|
|000001d0| 67 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 74 72 |g )....r|eturn tr|
|000001e0| 75 65 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 28 42 2e |ue;.....|if ( (B.|
|000001f0| 52 6f 75 74 65 47 6f 61 | 6c 20 21 3d 20 46 72 69 |RouteGoa|l != Fri|
|00000200| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|00000210| 73 65 29 20 7c 7c 20 21 | 46 72 69 65 6e 64 6c 79 |se) || !|Friendly|
|00000220| 46 6c 61 67 2e 62 48 6f | 6d 65 20 29 0d 0a 09 09 |Flag.bHo|me )....|
|00000230| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 72 |return t|rue;...r|
|00000240| 65 74 75 72 6e 20 28 20 | 4e 2e 4c 61 73 74 44 65 |eturn ( |N.LastDe|
|00000250| 74 6f 75 72 57 65 69 67 | 68 74 20 2a 20 42 2e 52 |tourWeig|ht * B.R|
|00000260| 6f 75 74 65 44 69 73 74 | 20 3e 20 32 20 29 3b 0d |outeDist| > 2 );.|
|00000270| 0a 7d 0d 0a 0d 0a 2f 2a | 20 46 69 6e 64 50 61 74 |.}..../*| FindPat|
|00000280| 68 54 6f 4f 62 6a 65 63 | 74 69 76 65 28 29 0d 0a |hToObjec|tive()..|
|00000290| 52 65 74 75 72 6e 73 20 | 70 61 74 68 20 61 20 62 |Returns |path a b|
|000002a0| 6f 74 20 73 68 6f 75 6c | 64 20 75 73 65 20 6d 6f |ot shoul|d use mo|
|000002b0| 76 69 6e 67 20 74 6f 77 | 61 72 64 20 61 20 62 61 |ving tow|ard a ba|
|000002c0| 73 65 0d 0a 2a 2f 0d 0a | 66 75 6e 63 74 69 6f 6e |se..*/..|function|
|000002d0| 20 62 6f 6f 6c 20 46 69 | 6e 64 50 61 74 68 54 6f | bool Fi|ndPathTo|
|000002e0| 4f 62 6a 65 63 74 69 76 | 65 28 42 6f 74 20 42 2c |Objectiv|e(Bot B,|
|000002f0| 20 41 63 74 6f 72 20 4f | 29 0d 0a 7b 0d 0a 09 69 | Actor O|)..{...i|
|00000300| 66 20 28 20 28 56 65 68 | 69 63 6c 65 28 42 2e 50 |f ( (Veh|icle(B.P|
|00000310| 61 77 6e 29 20 21 3d 20 | 4e 6f 6e 65 29 20 26 26 |awn) != |None) &&|
|00000320| 20 28 28 43 54 46 46 6c | 61 67 28 4f 29 20 21 3d | ((CTFFl|ag(O) !=|
|00000330| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 43 54 46 42 61 | None) ||| (CTFBa|
|00000340| 73 65 28 4f 29 20 21 3d | 20 4e 6f 6e 65 29 29 0d |se(O) !=| None)).|
|00000350| 0a 09 09 26 26 20 28 56 | 53 69 7a 65 28 42 2e 50 |...&& (V|Size(B.P|
|00000360| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 20 2d 20 4f |awn.Loca|tion - O|
|00000370| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3c 20 31 30 30 |.Locatio|n) < 100|
|00000380| 30 29 20 26 26 20 42 2e | 4c 69 6e 65 4f 66 53 69 |0) && B.|LineOfSi|
|00000390| 67 68 74 54 6f 28 4f 29 | 20 29 0d 0a 09 7b 0d 0a |ghtTo(O)| )...{..|
|000003a0| 09 09 42 2e 46 6f 72 6d | 65 72 56 65 68 69 63 6c |..B.Form|erVehicl|
|000003b0| 65 20 3d 20 56 65 68 69 | 63 6c 65 28 42 2e 50 61 |e = Vehi|cle(B.Pa|
|000003c0| 77 6e 29 3b 0d 0a 09 09 | 56 65 68 69 63 6c 65 28 |wn);....|Vehicle(|
|000003d0| 42 2e 50 61 77 6e 29 2e | 54 65 61 6d 55 73 65 54 |B.Pawn).|TeamUseT|
|000003e0| 69 6d 65 20 3d 20 4c 65 | 76 65 6c 2e 54 69 6d 65 |ime = Le|vel.Time|
|000003f0| 53 65 63 6f 6e 64 73 20 | 2b 20 36 3b 0d 0a 09 09 |Seconds |+ 6;....|
|00000400| 56 65 68 69 63 6c 65 28 | 42 2e 50 61 77 6e 29 2e |Vehicle(|B.Pawn).|
|00000410| 4b 44 72 69 76 65 72 4c | 65 61 76 65 28 66 61 6c |KDriverL|eave(fal|
|00000420| 73 65 29 3b 0d 0a 09 09 | 69 66 20 28 20 28 56 65 |se);....|if ( (Ve|
|00000430| 68 69 63 6c 65 28 42 2e | 50 61 77 6e 29 20 3d 3d |hicle(B.|Pawn) ==|
|00000440| 20 4e 6f 6e 65 29 20 26 | 26 20 28 42 2e 50 61 77 | None) &|& (B.Paw|
|00000450| 6e 2e 50 68 79 73 69 63 | 73 20 3d 3d 20 50 48 59 |n.Physic|s == PHY|
|00000460| 53 5f 46 61 6c 6c 69 6e | 67 29 20 26 26 20 42 2e |S_Fallin|g) && B.|
|00000470| 44 6f 57 61 69 74 46 6f | 72 4c 61 6e 64 69 6e 67 |DoWaitFo|rLanding|
|00000480| 28 29 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 42 2e |() )....|{.....B.|
|00000490| 50 61 77 6e 2e 56 65 6c | 6f 63 69 74 79 2e 5a 20 |Pawn.Vel|ocity.Z |
|000004a0| 3d 20 30 3b 0d 0a 09 09 | 09 72 65 74 75 72 6e 20 |= 0;....|.return |
|000004b0| 74 72 75 65 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |true;...|.}...}..|
|000004c0| 0d 0a 09 69 66 20 28 20 | 28 42 2e 50 6c 61 79 65 |...if ( |(B.Playe|
|000004d0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000004e0| 2e 48 61 73 46 6c 61 67 | 20 21 3d 20 45 6e 65 6d |.HasFlag| != Enem|
|000004f0| 79 46 6c 61 67 29 20 7c | 7c 20 28 4f 20 21 3d 20 |yFlag) ||| (O != |
|00000500| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6d |Friendly|Flag.Hom|
|00000510| 65 42 61 73 65 29 20 29 | 0d 0a 09 09 72 65 74 75 |eBase) )|....retu|
|00000520| 72 6e 20 53 75 70 65 72 | 2e 46 69 6e 64 50 61 74 |rn Super|.FindPat|
|00000530| 68 54 6f 4f 62 6a 65 63 | 74 69 76 65 28 42 2c 20 |hToObjec|tive(B, |
|00000540| 4f 29 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 42 2e 62 |O);.....|if ( B.b|
|00000550| 46 69 6e 61 6c 53 74 72 | 65 74 63 68 20 7c 7c 20 |FinalStr|etch || |
|00000560| 28 52 65 74 75 72 6e 50 | 61 74 68 20 3d 3d 20 4e |(ReturnP|ath == N|
|00000570| 6f 6e 65 29 20 7c 7c 20 | 28 28 4f 20 3d 3d 20 53 |one) || |((O == S|
|00000580| 71 75 61 64 4f 62 6a 65 | 63 74 69 76 65 29 20 26 |quadObje|ctive) &|
|00000590| 26 20 53 71 75 61 64 4f | 62 6a 65 63 74 69 76 65 |& SquadO|bjective|
|000005a0| 2e 42 6f 74 4e 65 61 72 | 4f 62 6a 65 63 74 69 76 |.BotNear|Objectiv|
|000005b0| 65 28 42 29 29 20 29 0d | 0a 09 09 72 65 74 75 72 |e(B)) ).|...retur|
|000005c0| 6e 20 42 2e 53 65 74 52 | 6f 75 74 65 54 6f 47 6f |n B.SetR|outeToGo|
|000005d0| 61 6c 28 4f 29 3b 0d 0a | 0d 0a 09 42 2e 4d 6f 76 |al(O);..|...B.Mov|
|000005e0| 65 54 61 72 67 65 74 20 | 3d 20 4e 6f 6e 65 3b 0d |eTarget |= None;.|
|000005f0| 0a 09 69 66 20 28 20 42 | 2e 41 63 74 6f 72 52 65 |..if ( B|.ActorRe|
|00000600| 61 63 68 61 62 6c 65 28 | 4f 29 20 29 0d 0a 09 7b |achable(|O) )...{|
|00000610| 0d 0a 09 09 69 66 20 28 | 20 28 56 65 68 69 63 6c |....if (| (Vehicl|
|00000620| 65 28 42 2e 50 61 77 6e | 29 20 21 3d 20 4e 6f 6e |e(B.Pawn|) != Non|
|00000630| 65 29 20 26 26 20 28 42 | 2e 50 61 77 6e 2e 4c 6f |e) && (B|.Pawn.Lo|
|00000640| 63 61 74 69 6f 6e 2e 5a | 20 2d 20 4f 2e 4c 6f 63 |cation.Z| - O.Loc|
|00000650| 61 74 69 6f 6e 2e 5a 20 | 3c 20 35 30 30 29 20 26 |ation.Z |< 500) &|
|00000660| 26 20 28 28 43 54 46 46 | 6c 61 67 28 4f 29 20 21 |& ((CTFF|lag(O) !|
|00000670| 3d 20 4e 6f 6e 65 29 20 | 7c 7c 20 28 43 54 46 42 |= None) ||| (CTFB|
|00000680| 61 73 65 28 4f 29 20 21 | 3d 20 4e 6f 6e 65 29 29 |ase(O) !|= None))|
|00000690| 20 29 0d 0a 09 09 09 56 | 65 68 69 63 6c 65 28 42 | ).....V|ehicle(B|
|000006a0| 2e 50 61 77 6e 29 2e 4b | 44 72 69 76 65 72 4c 65 |.Pawn).K|DriverLe|
|000006b0| 61 76 65 28 66 61 6c 73 | 65 29 3b 0d 0a 09 09 69 |ave(fals|e);....i|
|000006c0| 66 20 28 20 42 2e 50 61 | 77 6e 2e 52 65 61 63 68 |f ( B.Pa|wn.Reach|
|000006d0| 65 64 44 65 73 74 69 6e | 61 74 69 6f 6e 28 4f 29 |edDestin|ation(O)|
|000006e0| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 4f 2e 54 6f | )....{.|....O.To|
|000006f0| 75 63 68 28 42 2e 50 61 | 77 6e 29 3b 0d 0a 09 09 |uch(B.Pa|wn);....|
|00000700| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0a |.return |false;..|
|00000710| 09 09 7d 0d 0a 09 09 42 | 2e 52 6f 75 74 65 47 6f |..}....B|.RouteGo|
|00000720| 61 6c 20 3d 20 4f 3b 0d | 0a 09 09 42 2e 52 6f 75 |al = O;.|...B.Rou|
|00000730| 74 65 43 61 63 68 65 5b | 30 5d 20 3d 20 4e 6f 6e |teCache[|0] = Non|
|00000740| 65 3b 0d 0a 09 09 42 2e | 47 6f 61 6c 53 74 72 69 |e;....B.|GoalStri|
|00000750| 6e 67 20 3d 20 42 2e 47 | 6f 61 6c 53 74 72 69 6e |ng = B.G|oalStrin|
|00000760| 67 40 22 61 6c 6d 6f 73 | 74 20 61 74 20 22 24 4f |g@"almos|t at "$O|
|00000770| 3b 0d 0a 09 09 42 2e 4d | 6f 76 65 54 61 72 67 65 |;....B.M|oveTarge|
|00000780| 74 20 3d 20 4f 3b 0d 0a | 09 09 42 2e 62 46 69 6e |t = O;..|..B.bFin|
|00000790| 61 6c 53 74 72 65 74 63 | 68 20 3d 20 74 72 75 65 |alStretc|h = true|
|000007a0| 3b 0d 0a 09 09 42 2e 53 | 65 74 41 74 74 72 61 63 |;....B.S|etAttrac|
|000007b0| 74 69 6f 6e 53 74 61 74 | 65 28 29 3b 0d 0a 09 09 |tionStat|e();....|
|000007c0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 7d |return t|rue;...}|
|000007d0| 0d 0a 0d 0a 09 69 66 20 | 28 20 42 2e 50 61 77 6e |.....if |( B.Pawn|
|000007e0| 2e 52 65 61 63 68 65 64 | 44 65 73 74 69 6e 61 74 |.Reached|Destinat|
|000007f0| 69 6f 6e 28 52 65 74 75 | 72 6e 50 61 74 68 29 20 |ion(Retu|rnPath) |
|00000800| 29 0d 0a 09 7b 0d 0a 09 | 09 42 2e 47 6f 61 6c 53 |)...{...|.B.GoalS|
|00000810| 74 72 69 6e 67 20 3d 20 | 42 2e 47 6f 61 6c 53 74 |tring = |B.GoalSt|
|00000820| 72 69 6e 67 40 22 46 69 | 6e 64 20 70 61 74 68 20 |ring@"Fi|nd path |
|00000830| 74 6f 20 22 24 4f 24 22 | 20 6e 6f 77 20 6e 65 61 |to "$O$"| now nea|
|00000840| 72 20 22 24 52 65 74 75 | 72 6e 50 61 74 68 3b 0d |r "$Retu|rnPath;.|
|00000850| 0a 09 09 42 2e 4d 6f 76 | 65 54 61 72 67 65 74 20 |...B.Mov|eTarget |
|00000860| 3d 20 52 65 74 75 72 6e | 50 61 74 68 3b 0d 0a 09 |= Return|Path;...|
|00000870| 09 52 65 74 75 72 6e 50 | 61 74 68 20 3d 20 52 65 |.ReturnP|ath = Re|
|00000880| 74 75 72 6e 50 61 74 68 | 2e 46 69 6e 64 50 72 65 |turnPath|.FindPre|
|00000890| 76 69 6f 75 73 50 61 74 | 68 28 52 65 74 75 72 6e |viousPat|h(Return|
|000008a0| 50 61 74 68 54 61 67 29 | 3b 0d 0a 09 09 69 66 20 |PathTag)|;....if |
|000008b0| 28 20 52 65 74 75 72 6e | 50 61 74 68 20 3d 3d 20 |( Return|Path == |
|000008c0| 4e 6f 6e 65 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |None )..|..{.....|
|000008d0| 42 2e 62 46 69 6e 61 6c | 53 74 72 65 74 63 68 20 |B.bFinal|Stretch |
|000008e0| 3d 20 74 72 75 65 3b 0d | 0a 09 09 09 42 2e 46 69 |= true;.|....B.Fi|
|000008f0| 6e 64 42 65 73 74 50 61 | 74 68 54 6f 77 61 72 64 |ndBestPa|thToward|
|00000900| 28 4f 2c 74 72 75 65 2c | 74 72 75 65 29 3b 0d 0a |(O,true,|true);..|
|00000910| 09 09 7d 0d 0a 09 09 65 | 6c 73 65 0d 0a 09 09 09 |..}....e|lse.....|
|00000920| 42 2e 46 69 6e 64 42 65 | 73 74 50 61 74 68 54 6f |B.FindBe|stPathTo|
|00000930| 77 61 72 64 28 52 65 74 | 75 72 6e 50 61 74 68 2c |ward(Ret|urnPath,|
|00000940| 74 72 75 65 2c 74 72 75 | 65 29 3b 0d 0a 09 7d 0d |true,tru|e);...}.|
|00000950| 0a 09 65 6c 73 65 0d 0a | 09 7b 0d 0a 09 09 42 2e |..else..|.{....B.|
|00000960| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 42 2e 47 |GoalStri|ng = B.G|
|00000970| 6f 61 6c 53 74 72 69 6e | 67 40 22 46 69 6e 64 20 |oalStrin|g@"Find |
|00000980| 70 61 74 68 20 74 6f 20 | 22 24 4f 24 22 20 74 68 |path to |"$O$" th|
|00000990| 72 6f 75 67 68 20 22 24 | 52 65 74 75 72 6e 50 61 |rough "$|ReturnPa|
|000009a0| 74 68 3b 0d 0a 09 09 69 | 66 20 28 20 21 42 2e 46 |th;....i|f ( !B.F|
|000009b0| 69 6e 64 42 65 73 74 50 | 61 74 68 54 6f 77 61 72 |indBestP|athTowar|
|000009c0| 64 28 52 65 74 75 72 6e | 50 61 74 68 2c 74 72 75 |d(Return|Path,tru|
|000009d0| 65 2c 74 72 75 65 29 20 | 29 0d 0a 09 09 7b 0d 0a |e,true) |)....{..|
|000009e0| 09 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|000009f0| 3d 20 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 40 22 |= B.Goal|String@"|
|00000a00| 46 69 6e 64 20 70 61 74 | 68 20 74 6f 20 22 24 4f |Find pat|h to "$O|
|00000a10| 24 22 20 6e 6f 20 70 61 | 74 68 20 74 6f 20 52 65 |$" no pa|th to Re|
|00000a20| 74 75 72 6e 50 61 74 68 | 22 3b 0d 0a 09 09 09 69 |turnPath|";.....i|
|00000a30| 66 20 28 20 42 2e 62 53 | 6f 61 6b 69 6e 67 20 26 |f ( B.bS|oaking &|
|00000a40| 26 20 28 50 68 79 73 69 | 63 73 20 21 3d 20 50 48 |& (Physi|cs != PH|
|00000a50| 59 53 5f 46 61 6c 6c 69 | 6e 67 29 20 29 0d 0a 09 |YS_Falli|ng) )...|
|00000a60| 09 09 09 42 2e 53 6f 61 | 6b 53 74 6f 70 28 22 43 |...B.Soa|kStop("C|
|00000a70| 4f 55 4c 44 4e 27 54 20 | 46 49 4e 44 20 50 41 54 |OULDN'T |FIND PAT|
|00000a80| 48 20 54 4f 20 52 45 54 | 55 52 4e 50 41 54 48 20 |H TO RET|URNPATH |
|00000a90| 22 24 52 65 74 75 72 6e | 50 61 74 68 29 3b 0d 0a |"$Return|Path);..|
|00000aa0| 09 09 09 42 2e 46 69 6e | 64 42 65 73 74 50 61 74 |...B.Fin|dBestPat|
|00000ab0| 68 54 6f 77 61 72 64 28 | 4f 2c 74 72 75 65 2c 74 |hToward(|O,true,t|
|00000ac0| 72 75 65 29 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |rue);...|.}...}..|
|00000ad0| 09 72 65 74 75 72 6e 20 | 42 2e 53 74 61 72 74 4d |.return |B.StartM|
|00000ae0| 6f 76 65 54 6f 77 61 72 | 64 28 4f 29 3b 0d 0a 7d |oveTowar|d(O);..}|
|00000af0| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 62 6f 6f |....func|tion boo|
|00000b00| 6c 20 41 6c 6c 6f 77 54 | 72 61 6e 73 6c 6f 63 61 |l AllowT|ransloca|
|00000b10| 74 69 6f 6e 42 79 28 42 | 6f 74 20 42 29 0d 0a 7b |tionBy(B|ot B)..{|
|00000b20| 0d 0a 09 72 65 74 75 72 | 6e 20 28 20 42 2e 50 61 |...retur|n ( B.Pa|
|00000b30| 77 6e 20 21 3d 20 45 6e | 65 6d 79 46 6c 61 67 2e |wn != En|emyFlag.|
|00000b40| 48 6f 6c 64 65 72 20 29 | 3b 0d 0a 7d 0d 0a 0d 0a |Holder )|;..}....|
|00000b50| 2f 2a 20 47 6f 50 69 63 | 6b 75 70 46 6c 61 67 28 |/* GoPic|kupFlag(|
|00000b60| 29 0d 0a 68 61 76 65 20 | 62 6f 74 20 67 6f 20 70 |)..have |bot go p|
|00000b70| 69 63 6b 75 70 20 64 72 | 6f 70 70 65 64 20 66 72 |ickup dr|opped fr|
|00000b80| 69 65 6e 64 6c 79 20 66 | 6c 61 67 0d 0a 2a 2f 0d |iendly f|lag..*/.|
|00000b90| 0a 66 75 6e 63 74 69 6f | 6e 20 62 6f 6f 6c 20 47 |.functio|n bool G|
|00000ba0| 6f 50 69 63 6b 75 70 46 | 6c 61 67 28 42 6f 74 20 |oPickupF|lag(Bot |
|00000bb0| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 46 69 6e |B)..{...|if ( Fin|
|00000bc0| 64 50 61 74 68 54 6f 4f | 62 6a 65 63 74 69 76 65 |dPathToO|bjective|
|00000bd0| 28 42 2c 46 72 69 65 6e | 64 6c 79 46 6c 61 67 29 |(B,Frien|dlyFlag)|
|00000be0| 20 29 0d 0a 09 7b 0d 0a | 09 09 69 66 20 28 20 4c | )...{..|..if ( L|
|00000bf0| 65 76 65 6c 2e 54 69 6d | 65 53 65 63 6f 6e 64 73 |evel.Tim|eSeconds|
|00000c00| 20 2d 20 43 54 46 54 65 | 61 6d 41 49 28 54 65 61 | - CTFTe|amAI(Tea|
|00000c10| 6d 2e 41 49 29 2e 4c 61 | 73 74 47 6f 74 46 6c 61 |m.AI).La|stGotFla|
|00000c20| 67 20 3e 20 36 20 29 0d | 0a 09 09 7b 0d 0a 09 09 |g > 6 ).|...{....|
|00000c30| 09 43 54 46 54 65 61 6d | 41 49 28 54 65 61 6d 2e |.CTFTeam|AI(Team.|
|00000c40| 41 49 29 2e 4c 61 73 74 | 47 6f 74 46 6c 61 67 20 |AI).Last|GotFlag |
|00000c50| 3d 20 4c 65 76 65 6c 2e | 54 69 6d 65 53 65 63 6f |= Level.|TimeSeco|
|00000c60| 6e 64 73 3b 0d 0a 09 09 | 09 42 2e 53 65 6e 64 4d |nds;....|.B.SendM|
|00000c70| 65 73 73 61 67 65 28 4e | 6f 6e 65 2c 20 27 4f 54 |essage(N|one, 'OT|
|00000c80| 48 45 52 27 2c 20 42 2e | 47 65 74 4d 65 73 73 61 |HER', B.|GetMessa|
|00000c90| 67 65 49 6e 64 65 78 28 | 27 47 4f 54 4f 55 52 46 |geIndex(|'GOTOURF|
|00000ca0| 4c 41 47 27 29 2c 20 32 | 30 2c 20 27 54 45 41 4d |LAG'), 2|0, 'TEAM|
|00000cb0| 27 29 3b 0d 0a 09 09 7d | 0d 0a 09 09 42 2e 47 6f |');....}|....B.Go|
|00000cc0| 61 6c 53 74 72 69 6e 67 | 20 3d 20 22 50 69 63 6b |alString| = "Pick|
|00000cd0| 75 70 20 66 72 69 65 6e | 64 6c 79 20 66 6c 61 67 |up frien|dly flag|
|00000ce0| 22 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 74 72 75 |";....re|turn tru|
|00000cf0| 65 3b 0d 0a 09 7d 0d 0a | 09 72 65 74 75 72 6e 20 |e;...}..|.return |
|00000d00| 66 61 6c 73 65 3b 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |false;..|}....fun|
|00000d10| 63 74 69 6f 6e 20 61 63 | 74 6f 72 20 46 6f 72 6d |ction ac|tor Form|
|00000d20| 61 74 69 6f 6e 43 65 6e | 74 65 72 28 29 0d 0a 7b |ationCen|ter()..{|
|00000d30| 0d 0a 09 69 66 20 28 20 | 28 53 71 75 61 64 4f 62 |...if ( |(SquadOb|
|00000d40| 6a 65 63 74 69 76 65 20 | 21 3d 20 4e 6f 6e 65 29 |jective |!= None)|
|00000d50| 20 26 26 20 28 53 71 75 | 61 64 4f 62 6a 65 63 74 | && (Squ|adObject|
|00000d60| 69 76 65 2e 44 65 66 65 | 6e 64 65 72 54 65 61 6d |ive.Defe|nderTeam|
|00000d70| 49 6e 64 65 78 20 3d 3d | 20 54 65 61 6d 2e 54 65 |Index ==| Team.Te|
|00000d80| 61 6d 49 6e 64 65 78 29 | 20 29 0d 0a 09 09 72 65 |amIndex)| )....re|
|00000d90| 74 75 72 6e 20 53 71 75 | 61 64 4f 62 6a 65 63 74 |turn Squ|adObject|
|00000da0| 69 76 65 3b 0d 0a 09 69 | 66 20 28 20 28 45 6e 65 |ive;...i|f ( (Ene|
|00000db0| 6d 79 46 6c 61 67 2e 48 | 6f 6c 64 65 72 20 21 3d |myFlag.H|older !=|
|00000dc0| 20 4e 6f 6e 65 29 20 26 | 26 20 28 47 65 74 4f 72 | None) &|& (GetOr|
|00000dd0| 64 65 72 73 28 29 20 21 | 3d 20 27 44 65 66 65 6e |ders() !|= 'Defen|
|00000de0| 64 27 29 20 26 26 20 21 | 53 71 75 61 64 4c 65 61 |d') && !|SquadLea|
|00000df0| 64 65 72 2e 49 73 41 28 | 27 50 6c 61 79 65 72 43 |der.IsA(|'PlayerC|
|00000e00| 6f 6e 74 72 6f 6c 6c 65 | 72 27 29 20 29 0d 0a 09 |ontrolle|r') )...|
|00000e10| 09 72 65 74 75 72 6e 20 | 45 6e 65 6d 79 46 6c 61 |.return |EnemyFla|
|00000e20| 67 2e 48 6f 6c 64 65 72 | 3b 0d 0a 09 72 65 74 75 |g.Holder|;...retu|
|00000e30| 72 6e 20 53 71 75 61 64 | 4c 65 61 64 65 72 2e 50 |rn Squad|Leader.P|
|00000e40| 61 77 6e 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |awn;..}.|...funct|
|00000e50| 69 6f 6e 20 62 6f 6f 6c | 20 56 69 73 69 62 6c 65 |ion bool| Visible|
|00000e60| 54 6f 45 6e 65 6d 69 65 | 73 4f 66 28 41 63 74 6f |ToEnemie|sOf(Acto|
|00000e70| 72 20 41 2c 20 42 6f 74 | 20 42 29 0d 0a 7b 0d 0a |r A, Bot| B)..{..|
|00000e80| 09 69 66 20 28 20 28 42 | 2e 45 6e 65 6d 79 20 21 |.if ( (B|.Enemy !|
|00000e90| 3d 20 4e 6f 6e 65 29 20 | 26 26 20 46 61 73 74 54 |= None) |&& FastT|
|00000ea0| 72 61 63 65 28 41 2e 4c | 6f 63 61 74 69 6f 6e 2c |race(A.L|ocation,|
|00000eb0| 20 42 2e 45 6e 65 6d 79 | 2e 4c 6f 63 61 74 69 6f | B.Enemy|.Locatio|
|00000ec0| 6e 20 2b 20 42 2e 45 6e | 65 6d 79 2e 43 6f 6c 6c |n + B.En|emy.Coll|
|00000ed0| 69 73 69 6f 6e 48 65 69 | 67 68 74 20 2a 20 76 65 |isionHei|ght * ve|
|00000ee0| 63 74 28 30 2c 30 2c 31 | 29 29 20 29 0d 0a 09 09 |ct(0,0,1|)) )....|
|00000ef0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 72 |return t|rue;...r|
|00000f00| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 7d 0d |eturn fa|lse;..}.|
|00000f10| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 4e 61 76 69 |...funct|ion Navi|
|00000f20| 67 61 74 69 6f 6e 50 6f | 69 6e 74 20 46 69 6e 64 |gationPo|int Find|
|00000f30| 48 69 64 65 50 61 74 68 | 46 6f 72 28 42 6f 74 20 |HidePath|For(Bot |
|00000f40| 42 29 0d 0a 7b 0d 0a 09 | 6c 6f 63 61 6c 20 4e 61 |B)..{...|local Na|
|00000f50| 76 69 67 61 74 69 6f 6e | 50 6f 69 6e 74 20 4e 3b |vigation|Point N;|
|00000f60| 0d 0a 09 6c 6f 63 61 6c | 20 49 6e 76 65 6e 74 6f |...local| Invento|
|00000f70| 72 79 53 70 6f 74 20 42 | 65 73 74 3b 0d 0a 09 6c |rySpot B|est;...l|
|00000f80| 6f 63 61 6c 20 66 6c 6f | 61 74 20 4e 65 77 44 2c |ocal flo|at NewD,|
|00000f90| 20 42 65 73 74 44 3b 0d | 0a 09 6c 6f 63 61 6c 20 | BestD;.|..local |
|00000fa0| 69 6e 74 20 4d 79 54 65 | 61 6d 4e 75 6d 2c 20 45 |int MyTe|amNum, E|
|00000fb0| 6e 65 6d 79 54 65 61 6d | 4e 75 6d 3b 0d 0a 0d 0a |nemyTeam|Num;....|
|00000fc0| 09 4d 79 54 65 61 6d 4e | 75 6d 20 3d 20 54 65 61 |.MyTeamN|um = Tea|
|00000fd0| 6d 2e 54 65 61 6d 49 6e | 64 65 78 3b 0d 0a 09 69 |m.TeamIn|dex;...i|
|00000fe0| 66 20 28 20 4d 79 54 65 | 61 6d 4e 75 6d 20 3d 3d |f ( MyTe|amNum ==|
|00000ff0| 20 30 20 29 0d 0a 09 09 | 45 6e 65 6d 79 54 65 61 | 0 )....|EnemyTea|
|00001000| 6d 4e 75 6d 20 3d 20 31 | 3b 0d 0a 0d 0a 09 2f 2f |mNum = 1|;.....//|
|00001010| 20 6c 6f 6f 6b 20 66 6f | 72 20 6e 65 61 72 62 79 | look fo|r nearby|
|00001020| 20 69 6e 76 65 6e 74 6f | 72 79 0d 0a 09 2f 2f 20 | invento|ry...// |
|00001030| 73 74 61 79 20 61 77 61 | 79 20 66 72 6f 6d 20 65 |stay awa|y from e|
|00001040| 6e 65 6d 69 65 73 2c 20 | 61 6e 64 20 65 6e 65 6d |nemies, |and enem|
|00001050| 79 20 62 61 73 65 0d 0a | 09 2f 2f 20 64 6f 6e 27 |y base..|.// don'|
|00001060| 74 20 67 6f 20 74 6f 6f | 20 66 61 72 0d 0a 0d 0a |t go too| far....|
|00001070| 09 46 6f 72 20 28 20 4e | 3d 4c 65 76 65 6c 2e 4e |.For ( N|=Level.N|
|00001080| 61 76 69 67 61 74 69 6f | 6e 50 6f 69 6e 74 4c 69 |avigatio|nPointLi|
|00001090| 73 74 3b 20 4e 21 3d 4e | 6f 6e 65 3b 20 4e 3d 4e |st; N!=N|one; N=N|
|000010a0| 2e 4e 65 78 74 4e 61 76 | 69 67 61 74 69 6f 6e 50 |.NextNav|igationP|
|000010b0| 6f 69 6e 74 20 29 0d 0a | 09 09 69 66 20 28 20 28 |oint )..|..if ( (|
|000010c0| 49 6e 76 65 6e 74 6f 72 | 79 53 70 6f 74 28 4e 29 |Inventor|ySpot(N)|
|000010d0| 20 21 3d 20 4e 6f 6e 65 | 29 0d 0a 09 09 09 26 26 | != None|).....&&|
|000010e0| 20 28 4e 2e 42 61 73 65 | 56 69 73 69 62 6c 65 5b | (N.Base|Visible[|
|000010f0| 45 6e 65 6d 79 54 65 61 | 6d 4e 75 6d 5d 20 3d 3d |EnemyTea|mNum] ==|
|00001100| 20 30 29 0d 0a 09 09 09 | 26 26 20 28 4e 2e 42 61 | 0).....|&& (N.Ba|
|00001110| 73 65 44 69 73 74 5b 4d | 79 54 65 61 6d 4e 75 6d |seDist[M|yTeamNum|
|00001120| 5d 20 3c 20 46 4d 69 6e | 28 32 34 30 30 2c 30 2e |] < FMin|(2400,0.|
|00001130| 37 2a 4e 2e 42 61 73 65 | 44 69 73 74 5b 45 6e 65 |7*N.Base|Dist[Ene|
|00001140| 6d 79 54 65 61 6d 4e 75 | 6d 5d 29 29 20 29 0d 0a |myTeamNu|m])) )..|
|00001150| 09 09 7b 0d 0a 09 09 09 | 69 66 20 28 20 28 42 65 |..{.....|if ( (Be|
|00001160| 73 74 20 3d 3d 20 4e 6f | 6e 65 29 20 26 26 20 21 |st == No|ne) && !|
|00001170| 56 69 73 69 62 6c 65 54 | 6f 45 6e 65 6d 69 65 73 |VisibleT|oEnemies|
|00001180| 4f 66 28 4e 2c 42 29 20 | 29 0d 0a 09 09 09 7b 0d |Of(N,B) |).....{.|
|00001190| 0a 09 09 09 09 42 65 73 | 74 20 3d 20 49 6e 76 65 |.....Bes|t = Inve|
|000011a0| 6e 74 6f 72 79 53 70 6f | 74 28 4e 29 3b 0d 0a 09 |ntorySpo|t(N);...|
|000011b0| 09 09 09 69 66 20 28 20 | 28 42 65 73 74 2e 6d 61 |...if ( |(Best.ma|
|000011c0| 72 6b 65 64 49 74 65 6d | 20 21 3d 20 4e 6f 6e 65 |rkedItem| != None|
|000011d0| 29 20 26 26 20 42 65 73 | 74 2e 6d 61 72 6b 65 64 |) && Bes|t.marked|
|000011e0| 49 74 65 6d 2e 52 65 61 | 64 79 54 6f 50 69 63 6b |Item.Rea|dyToPick|
|000011f0| 75 70 28 33 29 20 29 0d | 0a 09 09 09 09 09 42 65 |up(3) ).|......Be|
|00001200| 73 74 44 20 3d 20 42 65 | 73 74 2e 6d 61 72 6b 65 |stD = Be|st.marke|
|00001210| 64 49 74 65 6d 2e 42 6f | 74 44 65 73 69 72 65 61 |dItem.Bo|tDesirea|
|00001220| 62 69 6c 69 74 79 28 42 | 2e 50 61 77 6e 29 3b 0d |bility(B|.Pawn);.|
|00001230| 0a 09 09 09 7d 0d 0a 09 | 09 09 65 6c 73 65 20 69 |....}...|..else i|
|00001240| 66 20 28 20 28 28 42 65 | 73 74 2e 6d 61 72 6b 65 |f ( ((Be|st.marke|
|00001250| 64 49 74 65 6d 20 3d 3d | 20 4e 6f 6e 65 29 20 7c |dItem ==| None) ||
|00001260| 7c 20 21 42 65 73 74 2e | 6d 61 72 6b 65 64 49 74 || !Best.|markedIt|
|00001270| 65 6d 2e 52 65 61 64 79 | 54 6f 50 69 63 6b 75 70 |em.Ready|ToPickup|
|00001280| 28 33 29 29 20 26 26 20 | 28 49 6e 76 65 6e 74 6f |(3)) && |(Invento|
|00001290| 72 79 53 70 6f 74 28 4e | 29 2e 6d 61 72 6b 65 64 |rySpot(N|).marked|
|000012a0| 49 74 65 6d 20 21 3d 20 | 4e 6f 6e 65 29 20 29 0d |Item != |None) ).|
|000012b0| 0a 09 09 09 7b 0d 0a 09 | 09 09 09 69 66 20 28 20 |....{...|...if ( |
|000012c0| 28 49 6e 76 65 6e 74 6f | 72 79 53 70 6f 74 28 4e |(Invento|rySpot(N|
|000012d0| 29 2e 6d 61 72 6b 65 64 | 49 74 65 6d 2e 52 65 61 |).marked|Item.Rea|
|000012e0| 64 79 54 6f 50 69 63 6b | 75 70 28 33 29 20 7c 7c |dyToPick|up(3) |||
|000012f0| 20 28 46 52 61 6e 64 28 | 29 20 3c 20 30 2e 35 29 | (FRand(|) < 0.5)|
|00001300| 29 0d 0a 09 09 09 09 09 | 26 26 20 21 56 69 73 69 |).......|&& !Visi|
|00001310| 62 6c 65 54 6f 45 6e 65 | 6d 69 65 73 4f 66 28 4e |bleToEne|miesOf(N|
|00001320| 2c 42 29 20 20 29 0d 0a | 09 09 09 09 7b 0d 0a 09 |,B) )..|....{...|
|00001330| 09 09 09 09 42 65 73 74 | 20 3d 20 49 6e 76 65 6e |....Best| = Inven|
|00001340| 74 6f 72 79 53 70 6f 74 | 28 4e 29 3b 0d 0a 09 09 |torySpot|(N);....|
|00001350| 09 09 09 42 65 73 74 44 | 20 3d 20 42 65 73 74 2e |...BestD| = Best.|
|00001360| 6d 61 72 6b 65 64 49 74 | 65 6d 2e 42 6f 74 44 65 |markedIt|em.BotDe|
|00001370| 73 69 72 65 61 62 69 6c | 69 74 79 28 42 2e 50 61 |sireabil|ity(B.Pa|
|00001380| 77 6e 29 3b 0d 0a 09 09 | 09 09 7d 0d 0a 09 09 09 |wn);....|..}.....|
|00001390| 7d 0d 0a 09 09 09 65 6c | 73 65 20 69 66 20 28 20 |}.....el|se if ( |
|000013a0| 28 49 6e 76 65 6e 74 6f | 72 79 53 70 6f 74 28 4e |(Invento|rySpot(N|
|000013b0| 29 2e 6d 61 72 6b 65 64 | 49 74 65 6d 20 21 3d 20 |).marked|Item != |
|000013c0| 4e 6f 6e 65 29 20 26 26 | 20 49 6e 76 65 6e 74 6f |None) &&| Invento|
|000013d0| 72 79 53 70 6f 74 28 4e | 29 2e 6d 61 72 6b 65 64 |rySpot(N|).marked|
|000013e0| 49 74 65 6d 2e 52 65 61 | 64 79 54 6f 50 69 63 6b |Item.Rea|dyToPick|
|000013f0| 75 70 28 33 29 20 29 0d | 0a 09 09 09 7b 0d 0a 09 |up(3) ).|....{...|
|00001400| 09 09 09 4e 65 77 44 20 | 3d 20 49 6e 76 65 6e 74 |...NewD |= Invent|
|00001410| 6f 72 79 53 70 6f 74 28 | 4e 29 2e 6d 61 72 6b 65 |orySpot(|N).marke|
|00001420| 64 49 74 65 6d 2e 42 6f | 74 44 65 73 69 72 65 61 |dItem.Bo|tDesirea|
|00001430| 62 69 6c 69 74 79 28 42 | 2e 50 61 77 6e 29 3b 0d |bility(B|.Pawn);.|
|00001440| 0a 09 09 09 09 69 66 20 | 28 20 28 4e 65 77 44 20 |.....if |( (NewD |
|00001450| 3e 20 42 65 73 74 44 29 | 20 26 26 20 21 56 69 73 |> BestD)| && !Vis|
|00001460| 69 62 6c 65 54 6f 45 6e | 65 6d 69 65 73 4f 66 28 |ibleToEn|emiesOf(|
|00001470| 4e 2c 42 29 20 29 0d 0a | 09 09 09 09 7b 0d 0a 09 |N,B) )..|....{...|
|00001480| 09 09 09 09 42 65 73 74 | 20 3d 20 49 6e 76 65 6e |....Best| = Inven|
|00001490| 74 6f 72 79 53 70 6f 74 | 28 4e 29 3b 0d 0a 09 09 |torySpot|(N);....|
|000014a0| 09 09 09 42 65 73 74 44 | 20 3d 20 4e 65 77 44 3b |...BestD| = NewD;|
|000014b0| 0d 0a 09 09 09 09 7d 0d | 0a 09 09 09 7d 0d 0a 09 |......}.|....}...|
|000014c0| 09 7d 0d 0a 09 72 65 74 | 75 72 6e 20 42 65 73 74 |.}...ret|urn Best|
|000014d0| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|000014e0| 20 62 6f 6f 6c 20 43 68 | 65 63 6b 56 65 68 69 63 | bool Ch|eckVehic|
|000014f0| 6c 65 28 42 6f 74 20 42 | 29 0d 0a 7b 0d 0a 09 69 |le(Bot B|)..{...i|
|00001500| 66 20 28 20 28 45 6e 65 | 6d 79 46 6c 61 67 2e 48 |f ( (Ene|myFlag.H|
|00001510| 6f 6c 64 65 72 20 3d 3d | 20 4e 6f 6e 65 29 20 26 |older ==| None) &|
|00001520| 26 20 28 56 53 69 7a 65 | 28 42 2e 50 61 77 6e 2e |& (VSize|(B.Pawn.|
|00001530| 4c 6f 63 61 74 69 6f 6e | 20 2d 20 45 6e 65 6d 79 |Location| - Enemy|
|00001540| 46 6c 61 67 2e 50 6f 73 | 69 74 69 6f 6e 28 29 2e |Flag.Pos|ition().|
|00001550| 4c 6f 63 61 74 69 6f 6e | 29 20 3c 20 31 36 30 30 |Location|) < 1600|
|00001560| 29 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 66 61 |) )....r|eturn fa|
|00001570| 6c 73 65 3b 0d 0a 09 69 | 66 20 28 20 28 42 2e 50 |lse;...i|f ( (B.P|
|00001580| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|00001590| 49 6e 66 6f 2e 48 61 73 | 46 6c 61 67 20 21 3d 20 |Info.Has|Flag != |
|000015a0| 4e 6f 6e 65 29 20 26 26 | 20 28 56 53 69 7a 65 28 |None) &&| (VSize(|
|000015b0| 42 2e 50 61 77 6e 2e 4c | 6f 63 61 74 69 6f 6e 20 |B.Pawn.L|ocation |
|000015c0| 2d 20 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 48 |- Friend|lyFlag.H|
|000015d0| 6f 6d 65 42 61 73 65 2e | 4c 6f 63 61 74 69 6f 6e |omeBase.|Location|
|000015e0| 29 20 3c 20 31 36 30 30 | 29 20 29 0d 0a 09 09 72 |) < 1600|) )....r|
|000015f0| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 0d 0a |eturn fa|lse;....|
|00001600| 09 72 65 74 75 72 6e 20 | 53 75 70 65 72 2e 43 68 |.return |Super.Ch|
|00001610| 65 63 6b 56 65 68 69 63 | 6c 65 28 42 29 3b 0d 0a |eckVehic|le(B);..|
|00001620| 7d 0d 0a 0d 0a 2f 2a 20 | 4f 72 64 65 72 73 46 6f |}..../* |OrdersFo|
|00001630| 72 46 6c 61 67 43 61 72 | 72 69 65 72 28 29 0d 0a |rFlagCar|rier()..|
|00001640| 54 65 6c 6c 20 62 6f 74 | 20 77 68 61 74 20 74 6f |Tell bot| what to|
|00001650| 20 64 6f 20 69 66 20 68 | 65 27 73 20 63 61 72 72 | do if h|e's carr|
|00001660| 79 69 6e 67 20 74 68 65 | 20 66 6c 61 67 0d 0a 2a |ying the| flag..*|
|00001670| 2f 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 62 6f 6f 6c |/..funct|ion bool|
|00001680| 20 4f 72 64 65 72 73 46 | 6f 72 46 6c 61 67 43 61 | OrdersF|orFlagCa|
|00001690| 72 72 69 65 72 28 42 6f | 74 20 42 29 0d 0a 7b 0d |rrier(Bo|t B)..{.|
|000016a0| 0a 09 69 66 20 28 20 43 | 68 65 63 6b 56 65 68 69 |..if ( C|heckVehi|
|000016b0| 63 6c 65 28 42 29 20 29 | 0d 0a 09 7b 0d 0a 09 09 |cle(B) )|...{....|
|000016c0| 42 2e 47 6f 61 6c 53 74 | 72 69 6e 67 20 3d 20 22 |B.GoalSt|ring = "|
|000016d0| 47 6f 20 74 6f 20 76 65 | 68 69 63 6c 65 22 3b 0d |Go to ve|hicle";.|
|000016e0| 0a 09 09 42 2e 53 65 74 | 41 74 74 72 61 63 74 69 |...B.Set|Attracti|
|000016f0| 6f 6e 53 74 61 74 65 28 | 29 3b 0d 0a 09 09 72 65 |onState(|);....re|
|00001700| 74 75 72 6e 20 74 72 75 | 65 3b 0d 0a 09 7d 0d 0a |turn tru|e;...}..|
|00001710| 0d 0a 09 69 66 20 28 20 | 42 2e 50 61 77 6e 2e 48 |...if ( |B.Pawn.H|
|00001720| 65 61 6c 74 68 20 3c 20 | 34 30 20 29 0d 0a 09 09 |ealth < |40 )....|
|00001730| 42 2e 54 72 79 43 6f 6d | 62 6f 28 22 78 47 61 6d |B.TryCom|bo("xGam|
|00001740| 65 2e 43 6f 6d 62 6f 44 | 65 66 65 6e 73 69 76 65 |e.ComboD|efensive|
|00001750| 22 29 3b 0d 0a 09 65 6c | 73 65 0d 0a 09 09 42 2e |");...el|se....B.|
|00001760| 54 72 79 43 6f 6d 62 6f | 28 22 78 47 61 6d 65 2e |TryCombo|("xGame.|
|00001770| 43 6f 6d 62 6f 53 70 65 | 65 64 22 29 3b 0d 0a 0d |ComboSpe|ed");...|
|00001780| 0a 09 2f 2f 20 70 69 63 | 6b 75 70 20 64 72 6f 70 |..// pic|kup drop|
|00001790| 70 65 64 20 66 6c 61 67 | 20 69 66 20 73 65 65 20 |ped flag| if see |
|000017a0| 69 74 20 6e 65 61 72 62 | 79 0d 0a 09 2f 2f 20 46 |it nearb|y...// F|
|000017b0| 49 58 4d 45 20 2d 20 64 | 6f 6e 27 74 20 75 73 65 |IXME - d|on't use|
|000017c0| 20 70 75 72 65 20 64 69 | 73 74 61 6e 63 65 20 2d | pure di|stance -|
|000017d0| 20 61 6c 73 6f 20 63 68 | 65 63 6b 20 64 69 73 74 | also ch|eck dist|
|000017e0| 61 6e 63 65 20 72 65 74 | 75 72 6e 65 64 20 66 72 |ance ret|urned fr|
|000017f0| 6f 6d 20 70 61 74 68 66 | 69 6e 64 69 6e 67 0d 0a |om pathf|inding..|
|00001800| 09 69 66 20 28 20 21 46 | 72 69 65 6e 64 6c 79 46 |.if ( !F|riendlyF|
|00001810| 6c 61 67 2e 62 48 6f 6d | 65 20 29 0d 0a 09 7b 0d |lag.bHom|e )...{.|
|00001820| 0a 09 09 2f 2f 20 69 66 | 20 6f 6e 65 2d 6f 6e 2d |...// if| one-on-|
|00001830| 6f 6e 65 20 63 74 66 2c | 20 74 68 65 6e 20 67 65 |one ctf,| then ge|
|00001840| 74 20 66 6c 61 67 20 62 | 61 63 6b 0d 0a 09 09 69 |t flag b|ack....i|
|00001850| 66 20 28 20 54 65 61 6d | 2e 53 69 7a 65 20 3d 3d |f ( Team|.Size ==|
|00001860| 20 31 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 2f 2f | 1 )....|{.....//|
|00001870| 20 6d 61 6b 65 20 73 75 | 72 65 20 68 65 61 6c 74 | make su|re healt|
|00001880| 68 65 64 2f 61 72 6d 6f | 72 65 64 2f 61 6d 6d 6f |hed/armo|red/ammo|
|00001890| 65 64 20 75 70 0d 0a 09 | 09 09 69 66 20 28 20 42 |ed up...|..if ( B|
|000018a0| 2e 4e 65 65 64 57 65 61 | 70 6f 6e 28 29 20 26 26 |.NeedWea|pon() &&|
|000018b0| 20 42 2e 46 69 6e 64 49 | 6e 76 65 6e 74 6f 72 79 | B.FindI|nventory|
|000018c0| 47 6f 61 6c 28 30 29 20 | 29 0d 0a 09 09 09 7b 0d |Goal(0) |).....{.|
|000018d0| 0a 09 09 09 09 42 2e 53 | 65 74 41 74 74 72 61 63 |.....B.S|etAttrac|
|000018e0| 74 69 6f 6e 53 74 61 74 | 65 28 29 3b 0d 0a 09 09 |tionStat|e();....|
|000018f0| 09 09 72 65 74 75 72 6e | 20 74 72 75 65 3b 0d 0a |..return| true;..|
|00001900| 09 09 09 7d 0d 0a 0d 0a | 09 09 09 69 66 20 28 20 |...}....|...if ( |
|00001910| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6c |Friendly|Flag.Hol|
|00001920| 64 65 72 20 3d 3d 20 4e | 6f 6e 65 20 29 0d 0a 09 |der == N|one )...|
|00001930| 09 09 7b 0d 0a 09 09 09 | 09 69 66 20 28 20 47 6f |..{.....|.if ( Go|
|00001940| 50 69 63 6b 75 70 46 6c | 61 67 28 42 29 20 29 0d |PickupFl|ag(B) ).|
|00001950| 0a 09 09 09 09 09 72 65 | 74 75 72 6e 20 74 72 75 |......re|turn tru|
|00001960| 65 3b 0d 0a 09 09 09 09 | 72 65 74 75 72 6e 20 66 |e;......|return f|
|00001970| 61 6c 73 65 3b 0d 0a 09 | 09 09 7d 0d 0a 09 09 09 |alse;...|..}.....|
|00001980| 65 6c 73 65 0d 0a 09 09 | 09 7b 0d 0a 09 09 09 09 |else....|.{......|
|00001990| 69 66 20 28 20 28 42 2e | 45 6e 65 6d 79 20 21 3d |if ( (B.|Enemy !=|
|000019a0| 20 4e 6f 6e 65 29 20 26 | 26 20 28 42 2e 45 6e 65 | None) &|& (B.Ene|
|000019b0| 6d 79 2e 50 6c 61 79 65 | 72 52 65 70 6c 69 63 61 |my.Playe|rReplica|
|000019c0| 74 69 6f 6e 49 6e 66 6f | 20 21 3d 20 4e 6f 6e 65 |tionInfo| != None|
|000019d0| 29 20 26 26 20 28 42 2e | 45 6e 65 6d 79 2e 50 6c |) && (B.|Enemy.Pl|
|000019e0| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|000019f0| 6e 66 6f 2e 48 61 73 46 | 6c 61 67 20 21 3d 20 46 |nfo.HasF|lag != F|
|00001a00| 72 69 65 6e 64 6c 79 46 | 6c 61 67 29 20 29 0d 0a |riendlyF|lag) )..|
|00001a10| 09 09 09 09 09 46 69 6e | 64 4e 65 77 45 6e 65 6d |.....Fin|dNewEnem|
|00001a20| 79 46 6f 72 28 42 2c 28 | 42 2e 45 6e 65 6d 79 20 |yFor(B,(|B.Enemy |
|00001a30| 21 3d 20 4e 6f 6e 65 29 | 20 26 26 20 42 2e 4c 69 |!= None)| && B.Li|
|00001a40| 6e 65 4f 66 53 69 67 68 | 74 54 6f 28 42 2e 45 6e |neOfSigh|tTo(B.En|
|00001a50| 65 6d 79 29 29 3b 0d 0a | 09 09 09 09 69 66 20 28 |emy));..|....if (|
|00001a60| 20 4c 65 76 65 6c 2e 54 | 69 6d 65 53 65 63 6f 6e | Level.T|imeSecon|
|00001a70| 64 73 20 2d 20 4c 61 73 | 74 53 65 65 46 6c 61 67 |ds - Las|tSeeFlag|
|00001a80| 43 61 72 72 69 65 72 20 | 3e 20 36 20 29 0d 0a 09 |Carrier |> 6 )...|
|00001a90| 09 09 09 09 4c 61 73 74 | 53 65 65 46 6c 61 67 43 |....Last|SeeFlagC|
|00001aa0| 61 72 72 69 65 72 20 3d | 20 4c 65 76 65 6c 2e 54 |arrier =| Level.T|
|00001ab0| 69 6d 65 53 65 63 6f 6e | 64 73 3b 0d 0a 09 09 09 |imeSecon|ds;.....|
|00001ac0| 09 42 2e 47 6f 61 6c 53 | 74 72 69 6e 67 20 3d 20 |.B.GoalS|tring = |
|00001ad0| 22 41 74 74 61 63 6b 20 | 65 6e 65 6d 79 20 66 6c |"Attack |enemy fl|
|00001ae0| 61 67 20 63 61 72 72 69 | 65 72 22 3b 0d 0a 09 09 |ag carri|er";....|
|00001af0| 09 09 69 66 20 28 20 42 | 2e 49 73 53 6e 69 70 69 |..if ( B|.IsSnipi|
|00001b00| 6e 67 28 29 20 29 0d 0a | 09 09 09 09 09 72 65 74 |ng() )..|.....ret|
|00001b10| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0a 09 09 09 09 |urn fals|e;......|
|00001b20| 42 2e 62 50 75 72 73 75 | 69 6e 67 46 6c 61 67 20 |B.bPursu|ingFlag |
|00001b30| 3d 20 74 72 75 65 3b 0d | 0a 09 09 09 09 72 65 74 |= true;.|.....ret|
|00001b40| 75 72 6e 20 28 20 54 72 | 79 54 6f 49 6e 74 65 72 |urn ( Tr|yToInter|
|00001b50| 63 65 70 74 28 42 2c 46 | 72 69 65 6e 64 6c 79 46 |cept(B,F|riendlyF|
|00001b60| 6c 61 67 2e 48 6f 6c 64 | 65 72 2c 45 6e 65 6d 79 |lag.Hold|er,Enemy|
|00001b70| 46 6c 61 67 2e 48 6f 6d | 65 62 61 73 65 29 20 29 |Flag.Hom|ebase) )|
|00001b80| 3b 0d 0a 09 09 09 7d 0d | 0a 09 09 7d 0d 0a 09 09 |;.....}.|...}....|
|00001b90| 2f 2f 20 6f 74 68 65 72 | 77 69 73 65 2c 20 6f 6e |// other|wise, on|
|00001ba0| 6c 79 20 67 65 74 20 69 | 66 20 63 6f 6e 76 65 6e |ly get i|f conven|
|00001bb0| 69 65 6e 74 0d 0a 09 09 | 69 66 20 28 20 28 46 72 |ient....|if ( (Fr|
|00001bc0| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6c 64 65 |iendlyFl|ag.Holde|
|00001bd0| 72 20 3d 3d 20 4e 6f 6e | 65 29 20 26 26 20 42 2e |r == Non|e) && B.|
|00001be0| 4c 69 6e 65 4f 66 53 69 | 67 68 74 54 6f 28 46 72 |LineOfSi|ghtTo(Fr|
|00001bf0| 69 65 6e 64 6c 79 46 6c | 61 67 2e 50 6f 73 69 74 |iendlyFl|ag.Posit|
|00001c00| 69 6f 6e 28 29 29 0d 0a | 09 09 09 26 26 20 28 56 |ion())..|...&& (V|
|00001c10| 53 69 7a 65 28 42 2e 50 | 61 77 6e 2e 4c 6f 63 61 |Size(B.P|awn.Loca|
|00001c20| 74 69 6f 6e 20 2d 20 46 | 72 69 65 6e 64 6c 79 46 |tion - F|riendlyF|
|00001c30| 6c 61 67 2e 4c 6f 63 61 | 74 69 6f 6e 29 20 3c 20 |lag.Loca|tion) < |
|00001c40| 31 35 30 30 2e 66 29 0d | 0a 09 09 09 26 26 20 47 |1500.f).|....&& G|
|00001c50| 6f 50 69 63 6b 75 70 46 | 6c 61 67 28 42 29 20 29 |oPickupF|lag(B) )|
|00001c60| 0d 0a 09 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |.....ret|urn true|
|00001c70| 3b 0d 0a 0d 0a 09 09 2f | 2f 20 6f 74 68 65 72 77 |;....../|/ otherw|
|00001c80| 69 73 65 2c 20 67 6f 20 | 68 69 64 65 0d 0a 09 09 |ise, go |hide....|
|00001c90| 69 66 20 28 20 48 69 64 | 65 50 61 74 68 20 21 3d |if ( Hid|ePath !=|
|00001ca0| 20 4e 6f 6e 65 20 29 0d | 0a 09 09 7b 0d 0a 09 09 | None ).|...{....|
|00001cb0| 09 69 66 20 28 20 42 2e | 50 61 77 6e 2e 52 65 61 |.if ( B.|Pawn.Rea|
|00001cc0| 63 68 65 64 44 65 73 74 | 69 6e 61 74 69 6f 6e 28 |chedDest|ination(|
|00001cd0| 48 69 64 65 50 61 74 68 | 29 20 29 0d 0a 09 09 09 |HidePath|) ).....|
|00001ce0| 7b 0d 0a 09 09 09 09 69 | 66 20 28 20 28 28 42 2e |{......i|f ( ((B.|
|00001cf0| 45 6e 65 6d 79 20 3d 3d | 20 4e 6f 6e 65 29 20 7c |Enemy ==| None) ||
|00001d00| 7c 20 28 4c 65 76 65 6c | 2e 54 69 6d 65 53 65 63 || (Level|.TimeSec|
|00001d10| 6f 6e 64 73 20 2d 20 42 | 2e 4c 61 73 74 53 65 65 |onds - B|.LastSee|
|00001d20| 6e 54 69 6d 65 20 3e 20 | 37 29 29 20 26 26 20 28 |nTime > |7)) && (|
|00001d30| 46 52 61 6e 64 28 29 20 | 3c 20 30 2e 37 29 20 29 |FRand() |< 0.7) )|
|00001d40| 0d 0a 09 09 09 09 7b 0d | 0a 09 09 09 09 09 48 69 |......{.|......Hi|
|00001d50| 64 65 50 61 74 68 20 3d | 20 4e 6f 6e 65 3b 0d 0a |dePath =| None;..|
|00001d60| 09 09 09 09 09 69 66 20 | 28 20 42 2e 45 6e 65 6d |.....if |( B.Enem|
|00001d70| 79 20 3d 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |y == Non|e ).....|
|00001d80| 09 09 09 42 2e 57 61 6e | 64 65 72 4f 72 43 61 6d |...B.Wan|derOrCam|
|00001d90| 70 28 74 72 75 65 29 3b | 0d 0a 09 09 09 09 09 65 |p(true);|.......e|
|00001da0| 6c 73 65 0d 0a 09 09 09 | 09 09 09 42 2e 44 6f 53 |lse.....|...B.DoS|
|00001db0| 74 61 6b 65 4f 75 74 28 | 29 3b 0d 0a 09 09 09 09 |takeOut(|);......|
|00001dc0| 09 72 65 74 75 72 6e 20 | 74 72 75 65 3b 0d 0a 09 |.return |true;...|
|00001dd0| 09 09 09 7d 0d 0a 09 09 | 09 7d 0d 0a 09 09 09 65 |...}....|.}.....e|
|00001de0| 6c 73 65 20 69 66 20 28 | 20 42 2e 53 65 74 52 6f |lse if (| B.SetRo|
|00001df0| 75 74 65 54 6f 47 6f 61 | 6c 28 48 69 64 65 50 61 |uteToGoa|l(HidePa|
|00001e00| 74 68 29 20 29 0d 0a 09 | 09 09 09 72 65 74 75 72 |th) )...|...retur|
|00001e10| 6e 20 74 72 75 65 3b 0d | 0a 09 09 7d 0d 0a 09 7d |n true;.|...}...}|
|00001e20| 0d 0a 09 48 69 64 65 50 | 61 74 68 20 3d 20 4e 6f |...HideP|ath = No|
|00001e30| 6e 65 3b 0d 0a 0d 0a 09 | 2f 2f 20 73 75 70 65 72 |ne;.....|// super|
|00001e40| 20 70 69 63 6b 75 70 73 | 20 69 66 20 6e 65 61 72 | pickups| if near|
|00001e50| 62 79 0d 0a 09 2f 2f 20 | 73 65 65 20 69 66 20 73 |by...// |see if s|
|00001e60| 68 6f 75 6c 64 20 67 65 | 74 20 73 75 70 65 72 77 |hould ge|t superw|
|00001e70| 65 61 70 6f 6e 2f 20 70 | 69 63 6b 75 70 0d 0a 09 |eapon/ p|ickup...|
|00001e80| 69 66 20 28 20 28 42 2e | 53 6b 69 6c 6c 20 3e 20 |if ( (B.|Skill > |
|00001e90| 32 29 20 26 26 20 28 56 | 65 68 69 63 6c 65 28 42 |2) && (V|ehicle(B|
|00001ea0| 2e 50 61 77 6e 29 20 3d | 3d 20 4e 6f 6e 65 29 20 |.Pawn) =|= None) |
|00001eb0| 29 0d 0a 09 7b 0d 0a 09 | 09 69 66 20 28 20 28 21 |)...{...|.if ( (!|
|00001ec0| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 62 48 6f |Friendly|Flag.bHo|
|00001ed0| 6d 65 20 7c 7c 20 28 56 | 53 69 7a 65 28 46 72 69 |me || (V|Size(Fri|
|00001ee0| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|00001ef0| 73 65 2e 4c 6f 63 61 74 | 69 6f 6e 20 2d 20 42 2e |se.Locat|ion - B.|
|00001f00| 50 61 77 6e 2e 4c 6f 63 | 61 74 69 6f 6e 29 20 3e |Pawn.Loc|ation) >|
|00001f10| 20 32 30 30 30 29 29 0d | 0a 09 09 09 09 26 26 20 | 2000)).|.....&& |
|00001f20| 54 65 61 6d 2e 41 49 2e | 53 75 70 65 72 50 69 63 |Team.AI.|SuperPic|
|00001f30| 6b 75 70 41 76 61 69 6c | 61 62 6c 65 28 42 29 0d |kupAvail|able(B).|
|00001f40| 0a 09 09 09 09 26 26 20 | 28 42 2e 50 61 77 6e 2e |.....&& |(B.Pawn.|
|00001f50| 41 6e 63 68 6f 72 20 21 | 3d 20 4e 6f 6e 65 29 20 |Anchor !|= None) |
|00001f60| 26 26 20 42 2e 50 61 77 | 6e 2e 52 65 61 63 68 65 |&& B.Paw|n.Reache|
|00001f70| 64 44 65 73 74 69 6e 61 | 74 69 6f 6e 28 42 2e 50 |dDestina|tion(B.P|
|00001f80| 61 77 6e 2e 41 6e 63 68 | 6f 72 29 0d 0a 09 09 09 |awn.Anch|or).....|
|00001f90| 09 26 26 20 42 2e 46 69 | 6e 64 53 75 70 65 72 50 |.&& B.Fi|ndSuperP|
|00001fa0| 69 63 6b 75 70 28 38 30 | 30 29 20 29 0d 0a 09 09 |ickup(80|0) )....|
|00001fb0| 7b 0d 0a 09 09 09 42 2e | 47 6f 61 6c 53 74 72 69 |{.....B.|GoalStri|
|00001fc0| 6e 67 20 3d 20 22 47 65 | 74 20 73 75 70 65 72 20 |ng = "Ge|t super |
|00001fd0| 70 69 63 6b 75 70 22 3b | 0d 0a 09 09 09 42 2e 53 |pickup";|.....B.S|
|00001fe0| 65 74 41 74 74 72 61 63 | 74 69 6f 6e 53 74 61 74 |etAttrac|tionStat|
|00001ff0| 65 28 29 3b 0d 0a 09 09 | 09 72 65 74 75 72 6e 20 |e();....|.return |
|00002000| 74 72 75 65 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |true;...|.}...}..|
|00002010| 0d 0a 09 69 66 20 28 20 | 28 42 2e 45 6e 65 6d 79 |...if ( |(B.Enemy|
|00002020| 20 21 3d 20 4e 6f 6e 65 | 29 20 26 26 20 28 42 2e | != None|) && (B.|
|00002030| 50 61 77 6e 2e 48 65 61 | 6c 74 68 20 3c 20 36 30 |Pawn.Hea|lth < 60|
|00002040| 20 29 29 0d 0a 09 09 42 | 2e 53 65 6e 64 4d 65 73 | ))....B|.SendMes|
|00002050| 73 61 67 65 28 4e 6f 6e | 65 2c 20 27 4f 54 48 45 |sage(Non|e, 'OTHE|
|00002060| 52 27 2c 20 42 2e 47 65 | 74 4d 65 73 73 61 67 65 |R', B.Ge|tMessage|
|00002070| 49 6e 64 65 78 28 27 4e | 45 45 44 42 41 43 4b 55 |Index('N|EEDBACKU|
|00002080| 50 27 29 2c 20 32 35 2c | 20 27 54 45 41 4d 27 29 |P'), 25,| 'TEAM')|
|00002090| 3b 0d 0a 09 42 2e 47 6f | 61 6c 53 74 72 69 6e 67 |;...B.Go|alString|
|000020a0| 20 3d 20 22 52 65 74 75 | 72 6e 20 74 6f 20 42 61 | = "Retu|rn to Ba|
|000020b0| 73 65 20 77 69 74 68 20 | 65 6e 65 6d 79 20 66 6c |se with |enemy fl|
|000020c0| 61 67 21 22 3b 0d 0a 09 | 69 66 20 28 20 21 46 69 |ag!";...|if ( !Fi|
|000020d0| 6e 64 50 61 74 68 54 6f | 4f 62 6a 65 63 74 69 76 |ndPathTo|Objectiv|
|000020e0| 65 28 42 2c 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |e(B,Frie|ndlyFlag|
|000020f0| 2e 48 6f 6d 65 42 61 73 | 65 29 20 29 0d 0a 09 7b |.HomeBas|e) )...{|
|00002100| 0d 0a 09 09 42 2e 47 6f | 61 6c 53 74 72 69 6e 67 |....B.Go|alString|
|00002110| 20 3d 20 22 4e 6f 20 70 | 61 74 68 20 74 6f 20 68 | = "No p|ath to h|
|00002120| 6f 6d 65 20 62 61 73 65 | 20 66 6f 72 20 66 6c 61 |ome base| for fla|
|00002130| 67 20 63 61 72 72 69 65 | 72 22 3b 0d 0a 09 09 2f |g carrie|r";..../|
|00002140| 2f 20 46 49 58 4d 45 20 | 2d 20 73 75 69 63 69 64 |/ FIXME |- suicid|
|00002150| 65 20 61 66 74 65 72 20 | 61 20 77 68 69 6c 65 0d |e after |a while.|
|00002160| 0a 09 09 72 65 74 75 72 | 6e 20 66 61 6c 73 65 3b |...retur|n false;|
|00002170| 0d 0a 09 7d 0d 0a 09 69 | 66 20 28 20 42 2e 4d 6f |...}...i|f ( B.Mo|
|00002180| 76 65 54 61 72 67 65 74 | 20 3d 3d 20 46 72 69 65 |veTarget| == Frie|
|00002190| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6d 65 42 61 73 |ndlyFlag|.HomeBas|
|000021a0| 65 20 29 0d 0a 09 7b 0d | 0a 09 09 42 2e 47 6f 61 |e )...{.|...B.Goa|
|000021b0| 6c 53 74 72 69 6e 67 20 | 3d 20 22 4e 65 61 72 20 |lString |= "Near |
|000021c0| 6d 79 20 42 61 73 65 20 | 77 69 74 68 20 65 6e 65 |my Base |with ene|
|000021d0| 6d 79 20 66 6c 61 67 21 | 22 3b 0d 0a 09 09 69 66 |my flag!|";....if|
|000021e0| 20 28 20 21 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | ( !Frie|ndlyFlag|
|000021f0| 2e 62 48 6f 6d 65 20 29 | 0d 0a 09 09 7b 0d 0a 09 |.bHome )|....{...|
|00002200| 09 09 42 2e 53 65 6e 64 | 4d 65 73 73 61 67 65 28 |..B.Send|Message(|
|00002210| 4e 6f 6e 65 2c 20 27 4f | 54 48 45 52 27 2c 20 42 |None, 'O|THER', B|
|00002220| 2e 47 65 74 4d 65 73 73 | 61 67 65 49 6e 64 65 78 |.GetMess|ageIndex|
|00002230| 28 27 4e 45 45 44 4f 55 | 52 46 4c 41 47 27 29 2c |('NEEDOU|RFLAG'),|
|00002240| 20 32 35 2c 20 27 54 45 | 41 4d 27 29 3b 0d 0a 09 | 25, 'TE|AM');...|
|00002250| 09 09 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 20 3d |..B.Goal|String =|
|00002260| 20 22 4e 45 45 44 20 4f | 55 52 20 46 4c 41 47 20 | "NEED O|UR FLAG |
|00002270| 42 41 43 4b 21 22 3b 0d | 0a 09 09 09 69 66 20 28 |BACK!";.|....if (|
|00002280| 20 42 2e 53 6b 69 6c 6c | 20 3e 20 31 20 29 0d 0a | B.Skill| > 1 )..|
|00002290| 09 09 09 09 48 69 64 65 | 50 61 74 68 20 3d 20 46 |....Hide|Path = F|
|000022a0| 69 6e 64 48 69 64 65 50 | 61 74 68 46 6f 72 28 42 |indHideP|athFor(B|
|000022b0| 29 3b 0d 0a 09 09 09 69 | 66 20 28 20 28 48 69 64 |);.....i|f ( (Hid|
|000022c0| 65 50 61 74 68 20 21 3d | 20 4e 6f 6e 65 29 20 26 |ePath !=| None) &|
|000022d0| 26 20 42 2e 53 65 74 52 | 6f 75 74 65 54 6f 47 6f |& B.SetR|outeToGo|
|000022e0| 61 6c 28 48 69 64 65 50 | 61 74 68 29 20 29 0d 0a |al(HideP|ath) )..|
|000022f0| 09 09 09 09 72 65 74 75 | 72 6e 20 74 72 75 65 3b |....retu|rn true;|
|00002300| 0d 0a 09 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |.....ret|urn fals|
|00002310| 65 3b 0d 0a 09 09 7d 0d | 0a 09 09 69 66 20 28 20 |e;....}.|...if ( |
|00002320| 56 53 69 7a 65 28 42 2e | 50 61 77 6e 2e 4c 6f 63 |VSize(B.|Pawn.Loc|
|00002330| 61 74 69 6f 6e 20 2d 20 | 46 72 69 65 6e 64 6c 79 |ation - |Friendly|
|00002340| 46 6c 61 67 2e 4c 6f 63 | 61 74 69 6f 6e 29 20 3c |Flag.Loc|ation) <|
|00002350| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00002360| 6d 65 42 61 73 65 2e 43 | 6f 6c 6c 69 73 69 6f 6e |meBase.C|ollision|
|00002370| 52 61 64 69 75 73 20 29 | 0d 0a 09 09 09 46 72 69 |Radius )|.....Fri|
|00002380| 65 6e 64 6c 79 46 6c 61 | 67 2e 54 6f 75 63 68 28 |endlyFla|g.Touch(|
|00002390| 42 2e 50 61 77 6e 29 3b | 0d 0a 09 7d 0d 0a 09 72 |B.Pawn);|...}...r|
|000023a0| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 7d 0d 0a |eturn tr|ue;..}..|
|000023b0| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 62 6f 6f 6c 20 |..functi|on bool |
|000023c0| 4d 75 73 74 4b 65 65 70 | 45 6e 65 6d 79 28 50 61 |MustKeep|Enemy(Pa|
|000023d0| 77 6e 20 45 29 0d 0a 7b | 0d 0a 09 69 66 20 28 20 |wn E)..{|...if ( |
|000023e0| 28 45 20 21 3d 20 4e 6f | 6e 65 29 20 26 26 20 28 |(E != No|ne) && (|
|000023f0| 45 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |E.Player|Replicat|
|00002400| 69 6f 6e 49 6e 66 6f 20 | 21 3d 20 4e 6f 6e 65 29 |ionInfo |!= None)|
|00002410| 20 26 26 20 28 45 2e 50 | 6c 61 79 65 72 52 65 70 | && (E.P|layerRep|
|00002420| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|00002430| 46 6c 61 67 20 3d 3d 20 | 46 72 69 65 6e 64 6c 79 |Flag == |Friendly|
|00002440| 46 6c 61 67 29 20 26 26 | 20 28 45 2e 48 65 61 6c |Flag) &&| (E.Heal|
|00002450| 74 68 20 3e 20 30 29 20 | 29 0d 0a 09 09 72 65 74 |th > 0) |)....ret|
|00002460| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 09 72 65 74 75 |urn true|;...retu|
|00002470| 72 6e 20 66 61 6c 73 65 | 3b 0d 0a 7d 0d 0a 0d 0a |rn false|;..}....|
|00002480| 66 75 6e 63 74 69 6f 6e | 20 62 6f 6f 6c 20 4e 65 |function| bool Ne|
|00002490| 61 72 45 6e 65 6d 79 42 | 61 73 65 28 42 6f 74 20 |arEnemyB|ase(Bot |
|000024a0| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 28 42 2e |B)..{...|if ( (B.|
|000024b0| 50 61 77 6e 2e 52 65 67 | 69 6f 6e 2e 5a 6f 6e 65 |Pawn.Reg|ion.Zone|
|000024c0| 20 3d 3d 20 45 6e 65 6d | 79 46 6c 61 67 2e 48 6f | == Enem|yFlag.Ho|
|000024d0| 6d 65 42 61 73 65 2e 52 | 65 67 69 6f 6e 2e 5a 6f |meBase.R|egion.Zo|
|000024e0| 6e 65 29 0d 0a 09 09 26 | 26 20 28 42 2e 50 61 77 |ne)....&|& (B.Paw|
|000024f0| 6e 2e 52 65 67 69 6f 6e | 2e 5a 6f 6e 65 20 21 3d |n.Region|.Zone !=|
|00002500| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00002510| 6d 65 42 61 73 65 2e 52 | 65 67 69 6f 6e 2e 5a 6f |meBase.R|egion.Zo|
|00002520| 6e 65 29 0d 0a 09 09 26 | 26 20 28 46 72 69 65 6e |ne)....&|& (Frien|
|00002530| 64 6c 79 46 6c 61 67 2e | 62 48 6f 6d 65 20 7c 7c |dlyFlag.|bHome |||
|00002540| 20 28 42 2e 50 61 77 6e | 2e 52 65 67 69 6f 6e 2e | (B.Pawn|.Region.|
|00002550| 5a 6f 6e 65 20 21 3d 20 | 46 72 69 65 6e 64 6c 79 |Zone != |Friendly|
|00002560| 46 6c 61 67 2e 50 6f 73 | 69 74 69 6f 6e 28 29 2e |Flag.Pos|ition().|
|00002570| 52 65 67 69 6f 6e 2e 5a | 6f 6e 65 29 29 20 29 0d |Region.Z|one)) ).|
|00002580| 0a 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00002590| 0a 0d 0a 09 72 65 74 75 | 72 6e 20 45 6e 65 6d 79 |....retu|rn Enemy|
|000025a0| 46 6c 61 67 2e 48 6f 6d | 65 62 61 73 65 2e 42 6f |Flag.Hom|ebase.Bo|
|000025b0| 74 4e 65 61 72 4f 62 6a | 65 63 74 69 76 65 28 42 |tNearObj|ective(B|
|000025c0| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|000025d0| 6e 20 62 6f 6f 6c 20 4e | 65 61 72 48 6f 6d 65 42 |n bool N|earHomeB|
|000025e0| 61 73 65 28 42 6f 74 20 | 42 29 0d 0a 7b 0d 0a 09 |ase(Bot |B)..{...|
|000025f0| 69 66 20 28 20 28 42 2e | 50 61 77 6e 2e 52 65 67 |if ( (B.|Pawn.Reg|
|00002600| 69 6f 6e 2e 5a 6f 6e 65 | 20 3d 3d 20 46 72 69 65 |ion.Zone| == Frie|
|00002610| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6d 65 42 61 73 |ndlyFlag|.HomeBas|
|00002620| 65 2e 52 65 67 69 6f 6e | 2e 5a 6f 6e 65 29 0d 0a |e.Region|.Zone)..|
|00002630| 09 09 26 26 20 28 42 2e | 50 61 77 6e 2e 52 65 67 |..&& (B.|Pawn.Reg|
|00002640| 69 6f 6e 2e 5a 6f 6e 65 | 20 21 3d 20 45 6e 65 6d |ion.Zone| != Enem|
|00002650| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 52 |yFlag.Ho|meBase.R|
|00002660| 65 67 69 6f 6e 2e 5a 6f | 6e 65 29 20 29 0d 0a 09 |egion.Zo|ne) )...|
|00002670| 09 72 65 74 75 72 6e 20 | 74 72 75 65 3b 0d 0a 0d |.return |true;...|
|00002680| 0a 09 69 66 20 28 20 21 | 46 72 69 65 6e 64 6c 79 |..if ( !|Friendly|
|00002690| 46 6c 61 67 2e 62 48 6f | 6d 65 0d 0a 09 09 26 26 |Flag.bHo|me....&&|
|000026a0| 20 28 42 2e 50 61 77 6e | 2e 52 65 67 69 6f 6e 2e | (B.Pawn|.Region.|
|000026b0| 5a 6f 6e 65 20 3d 3d 20 | 46 72 69 65 6e 64 6c 79 |Zone == |Friendly|
|000026c0| 46 6c 61 67 2e 50 6f 73 | 69 74 69 6f 6e 28 29 2e |Flag.Pos|ition().|
|000026d0| 52 65 67 69 6f 6e 2e 5a | 6f 6e 65 29 0d 0a 09 09 |Region.Z|one)....|
|000026e0| 26 26 20 28 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |&& (Frie|ndlyFlag|
|000026f0| 2e 48 6f 6d 65 42 61 73 | 65 2e 52 65 67 69 6f 6e |.HomeBas|e.Region|
|00002700| 2e 5a 6f 6e 65 20 21 3d | 20 45 6e 65 6d 79 46 6c |.Zone !=| EnemyFl|
|00002710| 61 67 2e 48 6f 6d 65 42 | 61 73 65 2e 52 65 67 69 |ag.HomeB|ase.Regi|
|00002720| 6f 6e 2e 5a 6f 6e 65 29 | 20 29 0d 0a 09 09 72 65 |on.Zone)| )....re|
|00002730| 74 75 72 6e 20 74 72 75 | 65 3b 0d 0a 0d 0a 09 72 |turn tru|e;.....r|
|00002740| 65 74 75 72 6e 20 46 72 | 69 65 6e 64 6c 79 46 6c |eturn Fr|iendlyFl|
|00002750| 61 67 2e 48 6f 6d 65 62 | 61 73 65 2e 42 6f 74 4e |ag.Homeb|ase.BotN|
|00002760| 65 61 72 4f 62 6a 65 63 | 74 69 76 65 28 42 29 3b |earObjec|tive(B);|
|00002770| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00002780| 62 6f 6f 6c 20 46 6c 61 | 67 4e 65 61 72 42 61 73 |bool Fla|gNearBas|
|00002790| 65 28 29 0d 0a 7b 0d 0a | 09 69 66 20 28 20 4c 65 |e()..{..|.if ( Le|
|000027a0| 76 65 6c 2e 54 69 6d 65 | 53 65 63 6f 6e 64 73 20 |vel.Time|Seconds |
|000027b0| 2d 20 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 54 |- Friend|lyFlag.T|
|000027c0| 61 6b 65 6e 54 69 6d 65 | 20 3c 20 46 72 69 65 6e |akenTime| < Frien|
|000027d0| 64 6c 79 46 6c 61 67 2e | 48 6f 6d 65 42 61 73 65 |dlyFlag.|HomeBase|
|000027e0| 2e 42 61 73 65 45 78 69 | 74 54 69 6d 65 20 29 0d |.BaseExi|tTime ).|
|000027f0| 0a 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00002800| 0a 0d 0a 09 69 66 20 28 | 20 28 46 72 69 65 6e 64 |....if (| (Friend|
|00002810| 6c 79 46 6c 61 67 2e 50 | 6f 73 69 74 69 6f 6e 28 |lyFlag.P|osition(|
|00002820| 29 2e 52 65 67 69 6f 6e | 2e 5a 6f 6e 65 20 3d 3d |).Region|.Zone ==|
|00002830| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00002840| 6d 65 42 61 73 65 2e 52 | 65 67 69 6f 6e 2e 5a 6f |meBase.R|egion.Zo|
|00002850| 6e 65 29 0d 0a 09 09 26 | 26 20 28 46 72 69 65 6e |ne)....&|& (Frien|
|00002860| 64 6c 79 46 6c 61 67 2e | 48 6f 6d 65 42 61 73 65 |dlyFlag.|HomeBase|
|00002870| 2e 52 65 67 69 6f 6e 2e | 5a 6f 6e 65 20 21 3d 20 |.Region.|Zone != |
|00002880| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |EnemyFla|g.HomeBa|
|00002890| 73 65 2e 52 65 67 69 6f | 6e 2e 5a 6f 6e 65 29 20 |se.Regio|n.Zone) |
|000028a0| 29 0d 0a 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |)....ret|urn true|
|000028b0| 3b 0d 0a 0d 0a 09 72 65 | 74 75 72 6e 20 28 20 56 |;.....re|turn ( V|
|000028c0| 53 69 7a 65 28 46 72 69 | 65 6e 64 6c 79 46 6c 61 |Size(Fri|endlyFla|
|000028d0| 67 2e 50 6f 73 69 74 69 | 6f 6e 28 29 2e 4c 6f 63 |g.Positi|on().Loc|
|000028e0| 61 74 69 6f 6e 20 2d 20 | 46 72 69 65 6e 64 6c 79 |ation - |Friendly|
|000028f0| 46 6c 61 67 2e 48 6f 6d | 65 42 61 73 65 2e 4c 6f |Flag.Hom|eBase.Lo|
|00002900| 63 61 74 69 6f 6e 29 20 | 3c 20 46 72 69 65 6e 64 |cation) |< Friend|
|00002910| 6c 79 46 6c 61 67 2e 48 | 6f 6d 65 42 61 73 65 2e |lyFlag.H|omeBase.|
|00002920| 42 61 73 65 52 61 64 69 | 75 73 20 29 3b 0d 0a 7d |BaseRadi|us );..}|
|00002930| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 62 6f 6f |....func|tion boo|
|00002940| 6c 20 4f 76 65 72 72 69 | 64 65 46 6f 6c 6c 6f 77 |l Overri|deFollow|
|00002950| 50 6c 61 79 65 72 28 42 | 6f 74 20 42 29 0d 0a 7b |Player(B|ot B)..{|
|00002960| 0d 0a 09 69 66 20 28 20 | 21 45 6e 65 6d 79 46 6c |...if ( |!EnemyFl|
|00002970| 61 67 2e 62 48 6f 6d 65 | 20 29 0d 0a 09 09 72 65 |ag.bHome| )....re|
|00002980| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 0a 09 09 0d |turn fal|se;.....|
|00002990| 0a 09 69 66 20 28 20 45 | 6e 65 6d 79 46 6c 61 67 |..if ( E|nemyFlag|
|000029a0| 2e 48 6f 6d 65 42 61 73 | 65 2e 42 6f 74 4e 65 61 |.HomeBas|e.BotNea|
|000029b0| 72 4f 62 6a 65 63 74 69 | 76 65 28 42 29 20 29 0d |rObjecti|ve(B) ).|
|000029c0| 0a 09 09 72 65 74 75 72 | 6e 20 45 6e 65 6d 79 46 |...retur|n EnemyF|
|000029d0| 6c 61 67 2e 48 6f 6d 65 | 42 61 73 65 2e 54 65 6c |lag.Home|Base.Tel|
|000029e0| 6c 42 6f 74 48 6f 77 54 | 6f 44 69 73 61 62 6c 65 |lBotHowT|oDisable|
|000029f0| 28 42 29 3b 0d 0a 09 72 | 65 74 75 72 6e 20 66 61 |(B);...r|eturn fa|
|00002a00| 6c 73 65 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |lse;..}.|...funct|
|00002a10| 69 6f 6e 20 62 6f 6f 6c | 20 43 68 65 63 6b 53 71 |ion bool| CheckSq|
|00002a20| 75 61 64 4f 62 6a 65 63 | 74 69 76 65 73 28 42 6f |uadObjec|tives(Bo|
|00002a30| 74 20 42 29 0d 0a 7b 0d | 0a 09 6c 6f 63 61 6c 20 |t B)..{.|..local |
|00002a40| 62 6f 6f 6c 20 62 53 65 | 65 46 6c 61 67 3b 0d 0a |bool bSe|eFlag;..|
|00002a50| 09 6c 6f 63 61 6c 20 61 | 63 74 6f 72 20 46 6c 61 |.local a|ctor Fla|
|00002a60| 67 43 61 72 72 69 65 72 | 54 61 72 67 65 74 3b 0d |gCarrier|Target;.|
|00002a70| 0a 09 6c 6f 63 61 6c 20 | 63 6f 6e 74 72 6f 6c 6c |..local |controll|
|00002a80| 65 72 20 46 6c 61 67 43 | 61 72 72 69 65 72 3b 0d |er FlagC|arrier;.|
|00002a90| 0a 0d 0a 09 69 66 20 28 | 20 42 2e 50 6c 61 79 65 |....if (| B.Playe|
|00002aa0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|00002ab0| 2e 48 61 73 46 6c 61 67 | 20 3d 3d 20 45 6e 65 6d |.HasFlag| == Enem|
|00002ac0| 79 46 6c 61 67 20 20 29 | 0d 0a 09 09 72 65 74 75 |yFlag )|....retu|
|00002ad0| 72 6e 20 4f 72 64 65 72 | 73 46 6f 72 46 6c 61 67 |rn Order|sForFlag|
|00002ae0| 43 61 72 72 69 65 72 28 | 42 29 3b 0d 0a 0d 0a 09 |Carrier(|B);.....|
|00002af0| 41 64 64 54 72 61 6e 73 | 69 65 6e 74 43 6f 73 74 |AddTrans|ientCost|
|00002b00| 73 28 42 2c 31 29 3b 0d | 0a 09 69 66 20 28 20 21 |s(B,1);.|..if ( !|
|00002b10| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 62 48 6f |Friendly|Flag.bHo|
|00002b20| 6d 65 20 20 29 0d 0a 09 | 7b 0d 0a 09 09 62 53 65 |me )...|{....bSe|
|00002b30| 65 46 6c 61 67 20 3d 20 | 42 2e 4c 69 6e 65 4f 66 |eFlag = |B.LineOf|
|00002b40| 53 69 67 68 74 54 6f 28 | 46 72 69 65 6e 64 6c 79 |SightTo(|Friendly|
|00002b50| 46 6c 61 67 2e 50 6f 73 | 69 74 69 6f 6e 28 29 29 |Flag.Pos|ition())|
|00002b60| 3b 0d 0a 09 09 69 66 20 | 28 20 54 65 61 6d 2e 53 |;....if |( Team.S|
|00002b70| 69 7a 65 20 3d 3d 20 31 | 20 29 0d 0a 09 09 7b 0d |ize == 1| )....{.|
|00002b80| 0a 09 09 09 69 66 20 28 | 20 42 2e 4e 65 65 64 57 |....if (| B.NeedW|
|00002b90| 65 61 70 6f 6e 28 29 20 | 26 26 20 42 2e 46 69 6e |eapon() |&& B.Fin|
|00002ba0| 64 49 6e 76 65 6e 74 6f | 72 79 47 6f 61 6c 28 30 |dInvento|ryGoal(0|
|00002bb0| 29 20 29 0d 0a 09 09 09 | 7b 0d 0a 09 09 09 09 42 |) ).....|{......B|
|00002bc0| 2e 53 65 74 41 74 74 72 | 61 63 74 69 6f 6e 53 74 |.SetAttr|actionSt|
|00002bd0| 61 74 65 28 29 3b 0d 0a | 09 09 09 09 72 65 74 75 |ate();..|....retu|
|00002be0| 72 6e 20 74 72 75 65 3b | 0d 0a 09 09 09 7d 0d 0a |rn true;|.....}..|
|00002bf0| 0d 0a 09 09 09 2f 2f 20 | 6b 65 65 70 20 61 74 74 |.....// |keep att|
|00002c00| 61 63 6b 69 6e 67 20 69 | 66 20 31 2d 30 6e 2d 31 |acking i|f 1-0n-1|
|00002c10| 0d 0a 09 09 09 69 66 20 | 28 20 28 46 72 69 65 6e |.....if |( (Frien|
|00002c20| 64 6c 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 20 21 |dlyFlag.|Holder !|
|00002c30| 3d 20 4e 6f 6e 65 29 20 | 7c 7c 20 28 56 53 69 7a |= None) ||| (VSiz|
|00002c40| 65 28 42 2e 50 61 77 6e | 2e 4c 6f 63 61 74 69 6f |e(B.Pawn|.Locatio|
|00002c50| 6e 20 2d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |n - Frie|ndlyFlag|
|00002c60| 2e 50 6f 73 69 74 69 6f | 6e 28 29 2e 4c 6f 63 61 |.Positio|n().Loca|
|00002c70| 74 69 6f 6e 29 20 3e 20 | 56 53 69 7a 65 28 42 2e |tion) > |VSize(B.|
|00002c80| 50 61 77 6e 2e 4c 6f 63 | 61 74 69 6f 6e 20 2d 20 |Pawn.Loc|ation - |
|00002c90| 45 6e 65 6d 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |EnemyFla|g.Positi|
|00002ca0| 6f 6e 28 29 2e 4c 6f 63 | 61 74 69 6f 6e 29 29 20 |on().Loc|ation)) |
|00002cb0| 29 0d 0a 09 09 09 09 72 | 65 74 75 72 6e 20 46 69 |)......r|eturn Fi|
|00002cc0| 6e 64 50 61 74 68 54 6f | 4f 62 6a 65 63 74 69 76 |ndPathTo|Objectiv|
|00002cd0| 65 28 42 2c 45 6e 65 6d | 79 46 6c 61 67 2e 50 6f |e(B,Enem|yFlag.Po|
|00002ce0| 73 69 74 69 6f 6e 28 29 | 29 3b 0d 0a 09 09 7d 0d |sition()|);....}.|
|00002cf0| 0a 09 09 69 66 20 28 20 | 62 53 65 65 46 6c 61 67 |...if ( |bSeeFlag|
|00002d00| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 69 66 20 28 | )....{.|....if (|
|00002d10| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00002d20| 6c 64 65 72 20 3d 3d 20 | 4e 6f 6e 65 20 29 0d 0a |lder == |None )..|
|00002d30| 09 09 09 7b 0d 0a 09 09 | 09 09 69 66 20 28 20 47 |...{....|..if ( G|
|00002d40| 6f 50 69 63 6b 75 70 46 | 6c 61 67 28 42 29 20 29 |oPickupF|lag(B) )|
|00002d50| 0d 0a 09 09 09 09 09 72 | 65 74 75 72 6e 20 74 72 |.......r|eturn tr|
|00002d60| 75 65 3b 0d 0a 09 09 09 | 7d 0d 0a 09 09 09 65 6c |ue;.....|}.....el|
|00002d70| 73 65 0d 0a 09 09 09 7b | 0d 0a 09 09 09 09 69 66 |se.....{|......if|
|00002d80| 20 28 20 28 42 2e 45 6e | 65 6d 79 2e 50 6c 61 79 | ( (B.En|emy.Play|
|00002d90| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00002da0| 6f 20 21 3d 20 4e 6f 6e | 65 29 20 26 26 20 28 42 |o != Non|e) && (B|
|00002db0| 2e 45 6e 65 6d 79 2e 50 | 6c 61 79 65 72 52 65 70 |.Enemy.P|layerRep|
|00002dc0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|00002dd0| 46 6c 61 67 20 21 3d 20 | 46 72 69 65 6e 64 6c 79 |Flag != |Friendly|
|00002de0| 46 6c 61 67 29 20 29 0d | 0a 09 09 09 09 09 46 69 |Flag) ).|......Fi|
|00002df0| 6e 64 4e 65 77 45 6e 65 | 6d 79 46 6f 72 28 42 2c |ndNewEne|myFor(B,|
|00002e00| 28 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 |(B.Enemy| != None|
|00002e10| 29 20 26 26 20 42 2e 4c | 69 6e 65 4f 66 53 69 67 |) && B.L|ineOfSig|
|00002e20| 68 74 54 6f 28 42 2e 45 | 6e 65 6d 79 29 29 3b 0d |htTo(B.E|nemy));.|
|00002e30| 0a 09 09 09 09 69 66 20 | 28 20 4c 65 76 65 6c 2e |.....if |( Level.|
|00002e40| 54 69 6d 65 53 65 63 6f | 6e 64 73 20 2d 20 4c 61 |TimeSeco|nds - La|
|00002e50| 73 74 53 65 65 46 6c 61 | 67 43 61 72 72 69 65 72 |stSeeFla|gCarrier|
|00002e60| 20 3e 20 36 20 29 0d 0a | 09 09 09 09 7b 0d 0a 09 | > 6 )..|....{...|
|00002e70| 09 09 09 09 4c 61 73 74 | 53 65 65 46 6c 61 67 43 |....Last|SeeFlagC|
|00002e80| 61 72 72 69 65 72 20 3d | 20 4c 65 76 65 6c 2e 54 |arrier =| Level.T|
|00002e90| 69 6d 65 53 65 63 6f 6e | 64 73 3b 0d 0a 09 09 09 |imeSecon|ds;.....|
|00002ea0| 09 09 42 2e 53 65 6e 64 | 4d 65 73 73 61 67 65 28 |..B.Send|Message(|
|00002eb0| 4e 6f 6e 65 2c 20 27 4f | 54 48 45 52 27 2c 20 42 |None, 'O|THER', B|
|00002ec0| 2e 47 65 74 4d 65 73 73 | 61 67 65 49 6e 64 65 78 |.GetMess|ageIndex|
|00002ed0| 28 27 45 4e 45 4d 59 46 | 4c 41 47 43 41 52 52 49 |('ENEMYF|LAGCARRI|
|00002ee0| 45 52 48 45 52 45 27 29 | 2c 20 31 30 2c 20 27 54 |ERHERE')|, 10, 'T|
|00002ef0| 45 41 4d 27 29 3b 0d 0a | 09 09 09 09 7d 0d 0a 09 |EAM');..|....}...|
|00002f00| 09 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|00002f10| 3d 20 22 41 74 74 61 63 | 6b 20 65 6e 65 6d 79 20 |= "Attac|k enemy |
|00002f20| 66 6c 61 67 20 63 61 72 | 72 69 65 72 22 3b 0d 0a |flag car|rier";..|
|00002f30| 09 09 09 09 69 66 20 28 | 20 42 2e 49 73 53 6e 69 |....if (| B.IsSni|
|00002f40| 70 69 6e 67 28 29 20 29 | 0d 0a 09 09 09 09 09 72 |ping() )|.......r|
|00002f50| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 09 09 |eturn fa|lse;....|
|00002f60| 09 09 42 2e 62 50 75 72 | 73 75 69 6e 67 46 6c 61 |..B.bPur|suingFla|
|00002f70| 67 20 3d 20 74 72 75 65 | 3b 0d 0a 09 09 09 09 72 |g = true|;......r|
|00002f80| 65 74 75 72 6e 20 28 20 | 54 72 79 54 6f 49 6e 74 |eturn ( |TryToInt|
|00002f90| 65 72 63 65 70 74 28 42 | 2c 46 72 69 65 6e 64 6c |ercept(B|,Friendl|
|00002fa0| 79 46 6c 61 67 2e 48 6f | 6c 64 65 72 2c 45 6e 65 |yFlag.Ho|lder,Ene|
|00002fb0| 6d 79 46 6c 61 67 2e 48 | 6f 6d 65 62 61 73 65 29 |myFlag.H|omebase)|
|00002fc0| 20 29 3b 0d 0a 09 09 09 | 7d 0d 0a 09 09 7d 0d 0a | );.....|}....}..|
|00002fd0| 0d 0a 09 09 69 66 20 28 | 20 47 65 74 4f 72 64 65 |....if (| GetOrde|
|00002fe0| 72 73 28 29 20 3d 3d 20 | 27 41 74 74 61 63 6b 27 |rs() == |'Attack'|
|00002ff0| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 2f 2f 20 62 | )....{.|....// b|
|00003000| 72 65 61 6b 20 6f 66 66 | 20 61 74 74 61 63 6b 20 |reak off| attack |
|00003010| 6f 6e 6c 79 20 69 66 20 | 6e 65 65 64 65 64 0d 0a |only if |needed..|
|00003020| 09 09 09 69 66 20 28 20 | 42 2e 62 50 75 72 73 75 |...if ( |B.bPursu|
|00003030| 69 6e 67 46 6c 61 67 20 | 7c 7c 20 62 53 65 65 46 |ingFlag ||| bSeeF|
|00003040| 6c 61 67 20 7c 7c 20 28 | 42 2e 4c 61 73 74 52 65 |lag || (|B.LastRe|
|00003050| 73 70 61 77 6e 54 69 6d | 65 20 3e 20 46 72 69 65 |spawnTim|e > Frie|
|00003060| 6e 64 6c 79 46 6c 61 67 | 2e 54 61 6b 65 6e 54 69 |ndlyFlag|.TakenTi|
|00003070| 6d 65 29 20 7c 7c 20 4e | 65 61 72 48 6f 6d 65 42 |me) || N|earHomeB|
|00003080| 61 73 65 28 42 29 0d 0a | 09 09 09 09 7c 7c 20 28 |ase(B)..|....|| (|
|00003090| 28 4c 65 76 65 6c 2e 54 | 69 6d 65 53 65 63 6f 6e |(Level.T|imeSecon|
|000030a0| 64 73 20 2d 20 46 72 69 | 65 6e 64 6c 79 46 6c 61 |ds - Fri|endlyFla|
|000030b0| 67 2e 54 61 6b 65 6e 54 | 69 6d 65 20 3e 20 46 72 |g.TakenT|ime > Fr|
|000030c0| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6d 65 42 |iendlyFl|ag.HomeB|
|000030d0| 61 73 65 2e 42 61 73 65 | 45 78 69 74 54 69 6d 65 |ase.Base|ExitTime|
|000030e0| 29 20 26 26 20 21 4e 65 | 61 72 45 6e 65 6d 79 42 |) && !Ne|arEnemyB|
|000030f0| 61 73 65 28 42 29 29 20 | 29 0d 0a 09 09 09 7b 0d |ase(B)) |).....{.|
|00003100| 0a 09 09 09 09 42 2e 62 | 50 75 72 73 75 69 6e 67 |.....B.b|Pursuing|
|00003110| 46 6c 61 67 20 3d 20 74 | 72 75 65 3b 0d 0a 09 09 |Flag = t|rue;....|
|00003120| 09 09 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 20 3d |..B.Goal|String =|
|00003130| 20 22 47 6f 20 61 66 74 | 65 72 20 65 6e 65 6d 79 | "Go aft|er enemy|
|00003140| 20 68 6f 6c 64 69 6e 67 | 20 66 6c 61 67 20 72 61 | holding| flag ra|
|00003150| 74 68 65 72 20 74 68 61 | 6e 20 61 74 74 61 63 6b |ther tha|n attack|
|00003160| 69 6e 67 22 3b 0d 0a 09 | 09 09 09 69 66 20 28 20 |ing";...|...if ( |
|00003170| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6c |Friendly|Flag.Hol|
|00003180| 64 65 72 20 21 3d 20 4e | 6f 6e 65 20 29 0d 0a 09 |der != N|one )...|
|00003190| 09 09 09 09 72 65 74 75 | 72 6e 20 54 72 79 54 6f |....retu|rn TryTo|
|000031a0| 49 6e 74 65 72 63 65 70 | 74 28 42 2c 46 72 69 65 |Intercep|t(B,Frie|
|000031b0| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6c 64 65 72 2c |ndlyFlag|.Holder,|
|000031c0| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6d 65 62 61 |EnemyFla|g.Homeba|
|000031d0| 73 65 29 3b 0d 0a 09 09 | 09 09 65 6c 73 65 20 69 |se);....|..else i|
|000031e0| 66 20 28 20 47 6f 50 69 | 63 6b 75 70 46 6c 61 67 |f ( GoPi|ckupFlag|
|000031f0| 28 42 29 20 29 0d 0a 09 | 09 09 09 09 72 65 74 75 |(B) )...|....retu|
|00003200| 72 6e 20 74 72 75 65 3b | 0d 0a 0d 0a 09 09 09 7d |rn true;|.......}|
|00003210| 0d 0a 09 09 09 65 6c 73 | 65 20 69 66 20 28 20 42 |.....els|e if ( B|
|00003220| 2e 62 52 65 61 63 68 65 | 64 47 61 74 68 65 72 50 |.bReache|dGatherP|
|00003230| 6f 69 6e 74 20 29 0d 0a | 09 09 09 09 42 2e 47 61 |oint )..|....B.Ga|
|00003240| 74 68 65 72 54 69 6d 65 | 20 3d 20 4c 65 76 65 6c |therTime| = Level|
|00003250| 2e 54 69 6d 65 53 65 63 | 6f 6e 64 73 20 2d 20 31 |.TimeSec|onds - 1|
|00003260| 30 3b 0d 0a 0d 0a 09 09 | 7d 0d 0a 09 09 65 6c 73 |0;......|}....els|
|00003270| 65 20 69 66 20 28 20 28 | 50 6c 61 79 65 72 43 6f |e if ( (|PlayerCo|
|00003280| 6e 74 72 6f 6c 6c 65 72 | 28 53 71 75 61 64 4c 65 |ntroller|(SquadLe|
|00003290| 61 64 65 72 29 20 3d 3d | 20 4e 6f 6e 65 29 20 26 |ader) ==| None) &|
|000032a0| 26 20 21 42 2e 49 73 53 | 6e 69 70 69 6e 67 28 29 |& !B.IsS|niping()|
|000032b0| 0d 0a 09 09 09 26 26 20 | 28 28 43 75 72 72 65 6e |.....&& |((Curren|
|000032c0| 74 4f 72 64 65 72 73 20 | 21 3d 20 27 44 65 66 65 |tOrders |!= 'Defe|
|000032d0| 6e 64 27 29 20 7c 7c 20 | 62 53 65 65 46 6c 61 67 |nd') || |bSeeFlag|
|000032e0| 20 7c 7c 20 28 42 2e 62 | 50 75 72 73 75 69 6e 67 | || (B.b|Pursuing|
|000032f0| 46 6c 61 67 20 26 26 20 | 46 6c 61 67 4e 65 61 72 |Flag && |FlagNear|
|00003300| 42 61 73 65 28 29 29 29 | 20 29 0d 0a 09 09 7b 0d |Base()))| )....{.|
|00003310| 0a 09 09 09 2f 2f 20 46 | 49 58 4d 45 20 2d 20 74 |....// F|IXME - t|
|00003320| 72 79 20 74 6f 20 6c 65 | 61 76 65 20 6f 6e 65 20 |ry to le|ave one |
|00003330| 64 65 66 65 6e 64 65 72 | 20 61 74 20 62 61 73 65 |defender| at base|
|00003340| 0d 0a 09 09 09 42 2e 62 | 50 75 72 73 75 69 6e 67 |.....B.b|Pursuing|
|00003350| 46 6c 61 67 20 3d 20 74 | 72 75 65 3b 0d 0a 09 09 |Flag = t|rue;....|
|00003360| 09 42 2e 47 6f 61 6c 53 | 74 72 69 6e 67 20 3d 20 |.B.GoalS|tring = |
|00003370| 22 47 6f 20 66 69 6e 64 | 20 6d 79 20 66 6c 61 67 |"Go find| my flag|
|00003380| 22 3b 0d 0a 09 09 09 69 | 66 20 28 20 46 72 69 65 |";.....i|f ( Frie|
|00003390| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6c 64 65 72 20 |ndlyFlag|.Holder |
|000033a0| 21 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 09 09 09 72 |!= None |)......r|
|000033b0| 65 74 75 72 6e 20 54 72 | 79 54 6f 49 6e 74 65 72 |eturn Tr|yToInter|
|000033c0| 63 65 70 74 28 42 2c 46 | 72 69 65 6e 64 6c 79 46 |cept(B,F|riendlyF|
|000033d0| 6c 61 67 2e 48 6f 6c 64 | 65 72 2c 45 6e 65 6d 79 |lag.Hold|er,Enemy|
|000033e0| 46 6c 61 67 2e 48 6f 6d | 65 62 61 73 65 29 3b 0d |Flag.Hom|ebase);.|
|000033f0| 0a 09 09 09 65 6c 73 65 | 20 69 66 20 28 20 47 6f |....else| if ( Go|
|00003400| 50 69 63 6b 75 70 46 6c | 61 67 28 42 29 20 29 0d |PickupFl|ag(B) ).|
|00003410| 0a 09 09 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |.....ret|urn true|
|00003420| 3b 0d 0a 09 09 7d 0d 0a | 09 7d 0d 0a 09 42 2e 62 |;....}..|.}...B.b|
|00003430| 50 75 72 73 75 69 6e 67 | 46 6c 61 67 20 3d 20 66 |Pursuing|Flag = f|
|00003440| 61 6c 73 65 3b 0d 0a 0d | 0a 09 69 66 20 28 20 28 |alse;...|..if ( (|
|00003450| 53 71 75 61 64 4f 62 6a | 65 63 74 69 76 65 20 3d |SquadObj|ective =|
|00003460| 3d 20 45 6e 65 6d 79 46 | 6c 61 67 2e 48 6f 6d 65 |= EnemyF|lag.Home|
|00003470| 62 61 73 65 29 20 26 26 | 20 28 42 2e 45 6e 65 6d |base) &&| (B.Enem|
|00003480| 79 20 21 3d 20 4e 6f 6e | 65 29 20 26 26 20 46 72 |y != Non|e) && Fr|
|00003490| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6d 65 62 |iendlyFl|ag.Homeb|
|000034a0| 61 73 65 2e 42 6f 74 4e | 65 61 72 4f 62 6a 65 63 |ase.BotN|earObjec|
|000034b0| 74 69 76 65 28 42 29 0d | 0a 09 09 26 26 20 28 4c |tive(B).|...&& (L|
|000034c0| 65 76 65 6c 2e 54 69 6d | 65 53 65 63 6f 6e 64 73 |evel.Tim|eSeconds|
|000034d0| 20 2d 20 42 2e 4c 61 73 | 74 53 65 65 6e 54 69 6d | - B.Las|tSeenTim|
|000034e0| 65 20 3c 20 33 29 20 29 | 0d 0a 09 7b 0d 0a 09 09 |e < 3) )|...{....|
|000034f0| 69 66 20 28 20 21 45 6e | 65 6d 79 46 6c 61 67 2e |if ( !En|emyFlag.|
|00003500| 62 48 6f 6d 65 20 26 26 | 20 28 45 6e 65 6d 79 46 |bHome &&| (EnemyF|
|00003510| 6c 61 67 2e 48 6f 6c 64 | 65 72 20 3d 3d 20 4e 6f |lag.Hold|er == No|
|00003520| 6e 65 20 29 20 26 26 20 | 42 2e 4c 69 6e 65 4f 66 |ne ) && |B.LineOf|
|00003530| 53 69 67 68 74 54 6f 28 | 45 6e 65 6d 79 46 6c 61 |SightTo(|EnemyFla|
|00003540| 67 2e 50 6f 73 69 74 69 | 6f 6e 28 29 29 20 29 0d |g.Positi|on()) ).|
|00003550| 0a 09 09 09 72 65 74 75 | 72 6e 20 46 69 6e 64 50 |....retu|rn FindP|
|00003560| 61 74 68 54 6f 4f 62 6a | 65 63 74 69 76 65 28 42 |athToObj|ective(B|
|00003570| 2c 45 6e 65 6d 79 46 6c | 61 67 2e 50 6f 73 69 74 |,EnemyFl|ag.Posit|
|00003580| 69 6f 6e 28 29 29 3b 0d | 0a 0d 0a 09 09 42 2e 53 |ion());.|.....B.S|
|00003590| 65 6e 64 4d 65 73 73 61 | 67 65 28 4e 6f 6e 65 2c |endMessa|ge(None,|
|000035a0| 20 27 4f 54 48 45 52 27 | 2c 20 42 2e 47 65 74 4d | 'OTHER'|, B.GetM|
|000035b0| 65 73 73 61 67 65 49 6e | 64 65 78 28 27 49 4e 43 |essageIn|dex('INC|
|000035c0| 4f 4d 49 4e 47 27 29 2c | 20 31 35 2c 20 27 54 45 |OMING'),| 15, 'TE|
|000035d0| 41 4d 27 29 3b 0d 0a 09 | 09 42 2e 47 6f 61 6c 53 |AM');...|.B.GoalS|
|000035e0| 74 72 69 6e 67 20 3d 20 | 22 49 6e 74 65 72 63 65 |tring = |"Interce|
|000035f0| 70 74 20 69 6e 63 6f 6d | 69 6e 67 20 65 6e 65 6d |pt incom|ing enem|
|00003600| 79 21 22 3b 0d 0a 09 09 | 72 65 74 75 72 6e 20 66 |y!";....|return f|
|00003610| 61 6c 73 65 3b 0d 0a 09 | 7d 0d 0a 0d 0a 09 69 66 |alse;...|}.....if|
|00003620| 20 28 20 45 6e 65 6d 79 | 46 6c 61 67 2e 48 6f 6c | ( Enemy|Flag.Hol|
|00003630| 64 65 72 20 3d 3d 20 4e | 6f 6e 65 20 29 0d 0a 09 |der == N|one )...|
|00003640| 7b 0d 0a 09 09 69 66 20 | 28 20 21 45 6e 65 6d 79 |{....if |( !Enemy|
|00003650| 46 6c 61 67 2e 62 48 6f | 6d 65 20 7c 7c 20 45 6e |Flag.bHo|me || En|
|00003660| 65 6d 79 46 6c 61 67 2e | 48 6f 6d 65 62 61 73 65 |emyFlag.|Homebase|
|00003670| 2e 42 6f 74 4e 65 61 72 | 4f 62 6a 65 63 74 69 76 |.BotNear|Objectiv|
|00003680| 65 28 42 29 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |e(B) )..|..{.....|
|00003690| 42 2e 47 6f 61 6c 53 74 | 72 69 6e 67 20 3d 20 22 |B.GoalSt|ring = "|
|000036a0| 4e 65 61 72 20 65 6e 65 | 6d 79 20 66 6c 61 67 21 |Near ene|my flag!|
|000036b0| 22 3b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 46 69 |";.....r|eturn Fi|
|000036c0| 6e 64 50 61 74 68 54 6f | 4f 62 6a 65 63 74 69 76 |ndPathTo|Objectiv|
|000036d0| 65 28 42 2c 45 6e 65 6d | 79 46 6c 61 67 2e 50 6f |e(B,Enem|yFlag.Po|
|000036e0| 73 69 74 69 6f 6e 28 29 | 29 3b 0d 0a 09 09 7d 0d |sition()|);....}.|
|000036f0| 0a 09 7d 0d 0a 09 65 6c | 73 65 20 69 66 20 28 20 |..}...el|se if ( |
|00003700| 28 47 65 74 4f 72 64 65 | 72 73 28 29 20 21 3d 20 |(GetOrde|rs() != |
|00003710| 27 44 65 66 65 6e 64 27 | 29 20 26 26 20 21 53 71 |'Defend'|) && !Sq|
|00003720| 75 61 64 4c 65 61 64 65 | 72 2e 49 73 41 28 27 50 |uadLeade|r.IsA('P|
|00003730| 6c 61 79 65 72 43 6f 6e | 74 72 6f 6c 6c 65 72 27 |layerCon|troller'|
|00003740| 29 20 29 0d 0a 09 7b 0d | 0a 09 09 2f 2f 20 6d 61 |) )...{.|...// ma|
|00003750| 6b 65 20 66 6c 61 67 20 | 63 61 72 72 69 65 72 20 |ke flag |carrier |
|00003760| 73 71 75 61 64 20 6c 65 | 61 64 65 72 20 69 66 20 |squad le|ader if |
|00003770| 6f 6e 20 73 61 6d 65 20 | 73 71 75 61 64 0d 0a 09 |on same |squad...|
|00003780| 09 46 6c 61 67 43 61 72 | 72 69 65 72 20 3d 20 45 |.FlagCar|rier = E|
|00003790| 6e 65 6d 79 46 6c 61 67 | 2e 48 6f 6c 64 65 72 2e |nemyFlag|.Holder.|
|000037a0| 43 6f 6e 74 72 6f 6c 6c | 65 72 3b 0d 0a 09 09 69 |Controll|er;....i|
|000037b0| 66 20 28 20 28 53 71 75 | 61 64 4c 65 61 64 65 72 |f ( (Squ|adLeader|
|000037c0| 20 21 3d 20 46 6c 61 67 | 43 61 72 72 69 65 72 29 | != Flag|Carrier)|
|000037d0| 20 26 26 20 49 73 4f 6e | 53 71 75 61 64 28 46 6c | && IsOn|Squad(Fl|
|000037e0| 61 67 43 61 72 72 69 65 | 72 29 20 29 0d 0a 09 09 |agCarrie|r) )....|
|000037f0| 09 53 65 74 4c 65 61 64 | 65 72 28 46 6c 61 67 43 |.SetLead|er(FlagC|
|00003800| 61 72 72 69 65 72 29 3b | 0d 0a 0d 0a 09 09 69 66 |arrier);|......if|
|00003810| 20 28 20 28 42 2e 45 6e | 65 6d 79 20 21 3d 20 4e | ( (B.En|emy != N|
|00003820| 6f 6e 65 29 20 26 26 20 | 42 2e 45 6e 65 6d 79 2e |one) && |B.Enemy.|
|00003830| 4c 69 6e 65 4f 66 53 69 | 67 68 74 54 6f 28 46 6c |LineOfSi|ghtTo(Fl|
|00003840| 61 67 43 61 72 72 69 65 | 72 2e 50 61 77 6e 29 20 |agCarrie|r.Pawn) |
|00003850| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 42 2e 47 6f 61 |)....{..|...B.Goa|
|00003860| 6c 53 74 72 69 6e 67 20 | 3d 20 22 46 69 67 68 74 |lString |= "Fight|
|00003870| 20 65 6e 65 6d 79 20 74 | 68 72 65 61 74 65 6e 69 | enemy t|hreateni|
|00003880| 6e 67 20 66 6c 61 67 20 | 63 61 72 72 69 65 72 22 |ng flag |carrier"|
|00003890| 3b 0d 0a 09 09 09 42 2e | 46 69 67 68 74 45 6e 65 |;.....B.|FightEne|
|000038a0| 6d 79 28 74 72 75 65 2c | 30 29 3b 0d 0a 09 09 09 |my(true,|0);.....|
|000038b0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 09 |return t|rue;....|
|000038c0| 7d 0d 0a 0d 0a 09 09 69 | 66 20 28 20 28 28 46 6c |}......i|f ( ((Fl|
|000038d0| 61 67 43 61 72 72 69 65 | 72 2e 4d 6f 76 65 54 61 |agCarrie|r.MoveTa|
|000038e0| 72 67 65 74 20 3d 3d 20 | 46 72 69 65 6e 64 6c 79 |rget == |Friendly|
|000038f0| 46 6c 61 67 2e 48 6f 6d | 65 42 61 73 65 29 0d 0a |Flag.Hom|eBase)..|
|00003900| 09 09 09 7c 7c 20 28 46 | 6c 61 67 43 61 72 72 69 |...|| (F|lagCarri|
|00003910| 65 72 2e 52 6f 75 74 65 | 43 61 63 68 65 5b 31 5d |er.Route|Cache[1]|
|00003920| 20 3d 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | == Frie|ndlyFlag|
|00003930| 2e 48 6f 6d 65 42 61 73 | 65 29 29 0d 0a 09 09 09 |.HomeBas|e)).....|
|00003940| 26 26 20 28 42 2e 45 6e | 65 6d 79 20 21 3d 20 4e |&& (B.En|emy != N|
|00003950| 6f 6e 65 29 0d 0a 09 09 | 09 26 26 20 42 2e 4c 69 |one)....|.&& B.Li|
|00003960| 6e 65 4f 66 53 69 67 68 | 74 54 6f 28 46 72 69 65 |neOfSigh|tTo(Frie|
|00003970| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6d 65 42 61 73 |ndlyFlag|.HomeBas|
|00003980| 65 29 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 42 2e |e) )....|{.....B.|
|00003990| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 22 46 69 |GoalStri|ng = "Fi|
|000039a0| 67 68 74 20 65 6e 65 6d | 79 20 77 68 69 6c 65 20 |ght enem|y while |
|000039b0| 77 61 69 74 69 6e 67 20 | 66 6f 72 20 66 6c 61 67 |waiting |for flag|
|000039c0| 20 63 61 72 72 69 65 72 | 20 74 6f 20 73 63 6f 72 | carrier| to scor|
|000039d0| 65 22 3b 0d 0a 09 09 09 | 69 66 20 28 20 42 2e 4c |e";.....|if ( B.L|
|000039e0| 6f 73 74 43 6f 6e 74 61 | 63 74 28 37 29 20 29 0d |ostConta|ct(7) ).|
|000039f0| 0a 09 09 09 09 42 2e 4c | 6f 73 65 45 6e 65 6d 79 |.....B.L|oseEnemy|
|00003a00| 28 29 3b 0d 0a 09 09 09 | 69 66 20 28 20 42 2e 45 |();.....|if ( B.E|
|00003a10| 6e 65 6d 79 20 21 3d 20 | 4e 6f 6e 65 20 29 0d 0a |nemy != |None )..|
|00003a20| 09 09 09 7b 0d 0a 09 09 | 09 09 42 2e 46 69 67 68 |...{....|..B.Figh|
|00003a30| 74 45 6e 65 6d 79 28 66 | 61 6c 73 65 2c 30 29 3b |tEnemy(f|alse,0);|
|00003a40| 0d 0a 09 09 09 09 72 65 | 74 75 72 6e 20 74 72 75 |......re|turn tru|
|00003a50| 65 3b 0d 0a 09 09 09 7d | 0d 0a 09 09 7d 0d 0a 0d |e;.....}|....}...|
|00003a60| 0a 09 09 69 66 20 28 20 | 28 41 49 43 6f 6e 74 72 |...if ( |(AIContr|
|00003a70| 6f 6c 6c 65 72 28 46 6c | 61 67 43 61 72 72 69 65 |oller(Fl|agCarrie|
|00003a80| 72 29 20 21 3d 20 4e 6f | 6e 65 29 20 26 26 20 28 |r) != No|ne) && (|
|00003a90| 46 6c 61 67 43 61 72 72 | 69 65 72 2e 4d 6f 76 65 |FlagCarr|ier.Move|
|00003aa0| 54 61 72 67 65 74 20 21 | 3d 20 4e 6f 6e 65 29 0d |Target !|= None).|
|00003ab0| 0a 09 09 09 26 26 20 28 | 46 6c 61 67 43 61 72 72 |....&& (|FlagCarr|
|00003ac0| 69 65 72 2e 49 6e 4c 61 | 74 65 6e 74 45 78 65 63 |ier.InLa|tentExec|
|00003ad0| 75 74 69 6f 6e 28 46 6c | 61 67 43 61 72 72 69 65 |ution(Fl|agCarrie|
|00003ae0| 72 2e 4c 41 54 45 4e 54 | 5f 4d 4f 56 45 54 4f 57 |r.LATENT|_MOVETOW|
|00003af0| 41 52 44 29 29 20 29 0d | 0a 09 09 7b 0d 0a 09 09 |ARD)) ).|...{....|
|00003b00| 09 69 66 20 28 20 28 46 | 6c 61 67 43 61 72 72 69 |.if ( (F|lagCarri|
|00003b10| 65 72 2e 52 6f 75 74 65 | 43 61 63 68 65 5b 30 5d |er.Route|Cache[0]|
|00003b20| 20 3d 3d 20 46 6c 61 67 | 43 61 72 72 69 65 72 2e | == Flag|Carrier.|
|00003b30| 4d 6f 76 65 54 61 72 67 | 65 74 29 0d 0a 09 09 09 |MoveTarg|et).....|
|00003b40| 09 26 26 20 28 46 6c 61 | 67 43 61 72 72 69 65 72 |.&& (Fla|gCarrier|
|00003b50| 2e 52 6f 75 74 65 43 61 | 63 68 65 5b 31 5d 20 21 |.RouteCa|che[1] !|
|00003b60| 3d 20 4e 6f 6e 65 29 20 | 29 0d 0a 09 09 09 09 46 |= None) |)......F|
|00003b70| 6c 61 67 43 61 72 72 69 | 65 72 54 61 72 67 65 74 |lagCarri|erTarget|
|00003b80| 20 3d 20 46 6c 61 67 43 | 61 72 72 69 65 72 2e 52 | = FlagC|arrier.R|
|00003b90| 6f 75 74 65 43 61 63 68 | 65 5b 31 5d 3b 0d 0a 09 |outeCach|e[1];...|
|00003ba0| 09 09 65 6c 73 65 0d 0a | 09 09 09 09 46 6c 61 67 |..else..|....Flag|
|00003bb0| 43 61 72 72 69 65 72 54 | 61 72 67 65 74 20 3d 20 |CarrierT|arget = |
|00003bc0| 46 6c 61 67 43 61 72 72 | 69 65 72 2e 4d 6f 76 65 |FlagCarr|ier.Move|
|00003bd0| 54 61 72 67 65 74 3b 0d | 0a 09 09 7d 0d 0a 09 09 |Target;.|...}....|
|00003be0| 65 6c 73 65 0d 0a 09 09 | 09 46 6c 61 67 43 61 72 |else....|.FlagCar|
|00003bf0| 72 69 65 72 54 61 72 67 | 65 74 20 3d 20 46 6c 61 |rierTarg|et = Fla|
|00003c00| 67 43 61 72 72 69 65 72 | 2e 50 61 77 6e 3b 0d 0a |gCarrier|.Pawn;..|
|00003c10| 09 09 46 69 6e 64 50 61 | 74 68 54 6f 4f 62 6a 65 |..FindPa|thToObje|
|00003c20| 63 74 69 76 65 28 42 2c | 46 6c 61 67 43 61 72 72 |ctive(B,|FlagCarr|
|00003c30| 69 65 72 54 61 72 67 65 | 74 29 3b 0d 0a 09 09 69 |ierTarge|t);....i|
|00003c40| 66 20 28 20 28 42 2e 4d | 6f 76 65 54 61 72 67 65 |f ( (B.M|oveTarge|
|00003c50| 74 20 3d 3d 20 46 6c 61 | 67 43 61 72 72 69 65 72 |t == Fla|gCarrier|
|00003c60| 54 61 72 67 65 74 29 20 | 7c 7c 20 28 42 2e 4d 6f |Target) ||| (B.Mo|
|00003c70| 76 65 54 61 72 67 65 74 | 20 3d 3d 20 46 6c 61 67 |veTarget| == Flag|
|00003c80| 43 61 72 72 69 65 72 2e | 4d 6f 76 65 54 61 72 67 |Carrier.|MoveTarg|
|00003c90| 65 74 29 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 69 |et) )...|.{.....i|
|00003ca0| 66 20 28 20 42 2e 45 6e | 65 6d 79 20 21 3d 20 4e |f ( B.En|emy != N|
|00003cb0| 6f 6e 65 20 29 0d 0a 09 | 09 09 7b 0d 0a 09 09 09 |one )...|..{.....|
|00003cc0| 09 42 2e 47 6f 61 6c 53 | 74 72 69 6e 67 20 3d 20 |.B.GoalS|tring = |
|00003cd0| 22 46 69 67 68 74 20 65 | 6e 65 6d 79 20 77 68 69 |"Fight e|nemy whi|
|00003ce0| 6c 65 20 77 61 69 74 69 | 6e 67 20 66 6f 72 20 66 |le waiti|ng for f|
|00003cf0| 6c 61 67 20 63 61 72 72 | 69 65 72 22 3b 0d 0a 09 |lag carr|ier";...|
|00003d00| 09 09 09 69 66 20 28 20 | 42 2e 4c 6f 73 74 43 6f |...if ( |B.LostCo|
|00003d10| 6e 74 61 63 74 28 37 29 | 20 29 0d 0a 09 09 09 09 |ntact(7)| )......|
|00003d20| 09 42 2e 4c 6f 73 65 45 | 6e 65 6d 79 28 29 3b 0d |.B.LoseE|nemy();.|
|00003d30| 0a 09 09 09 09 69 66 20 | 28 20 42 2e 45 6e 65 6d |.....if |( B.Enem|
|00003d40| 79 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |y != Non|e ).....|
|00003d50| 09 7b 0d 0a 09 09 09 09 | 09 42 2e 46 69 67 68 74 |.{......|.B.Fight|
|00003d60| 45 6e 65 6d 79 28 66 61 | 6c 73 65 2c 30 29 3b 0d |Enemy(fa|lse,0);.|
|00003d70| 0a 09 09 09 09 09 72 65 | 74 75 72 6e 20 74 72 75 |......re|turn tru|
|00003d80| 65 3b 0d 0a 09 09 09 09 | 7d 0d 0a 09 09 09 7d 0d |e;......|}.....}.|
|00003d90| 0a 09 09 09 69 66 20 28 | 20 21 42 2e 62 49 6e 69 |....if (| !B.bIni|
|00003da0| 74 4c 69 66 65 4d 65 73 | 73 61 67 65 20 29 0d 0a |tLifeMes|sage )..|
|00003db0| 09 09 09 7b 0d 0a 09 09 | 09 09 42 2e 62 49 6e 69 |...{....|..B.bIni|
|00003dc0| 74 4c 69 66 65 4d 65 73 | 73 61 67 65 20 3d 20 74 |tLifeMes|sage = t|
|00003dd0| 72 75 65 3b 0d 0a 09 09 | 09 09 42 2e 53 65 6e 64 |rue;....|..B.Send|
|00003de0| 4d 65 73 73 61 67 65 28 | 45 6e 65 6d 79 46 6c 61 |Message(|EnemyFla|
|00003df0| 67 2e 48 6f 6c 64 65 72 | 2e 50 6c 61 79 65 72 52 |g.Holder|.PlayerR|
|00003e00| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2c 20 |eplicati|onInfo, |
|00003e10| 27 4f 54 48 45 52 27 2c | 20 42 2e 47 65 74 4d 65 |'OTHER',| B.GetMe|
|00003e20| 73 73 61 67 65 49 6e 64 | 65 78 28 27 47 4f 54 59 |ssageInd|ex('GOTY|
|00003e30| 4f 55 52 42 41 43 4b 27 | 29 2c 20 31 30 2c 20 27 |OURBACK'|), 10, '|
|00003e40| 54 45 41 4d 27 29 3b 0d | 0a 09 09 09 7d 0d 0a 09 |TEAM');.|....}...|
|00003e50| 09 09 69 66 20 28 20 28 | 42 2e 4d 6f 76 65 54 61 |..if ( (|B.MoveTa|
|00003e60| 72 67 65 74 20 3d 3d 20 | 46 6c 61 67 43 61 72 72 |rget == |FlagCarr|
|00003e70| 69 65 72 2e 50 61 77 6e | 29 0d 0a 09 09 09 09 26 |ier.Pawn|)......&|
|00003e80| 26 20 28 28 56 53 69 7a | 65 28 42 2e 50 61 77 6e |& ((VSiz|e(B.Pawn|
|00003e90| 2e 4c 6f 63 61 74 69 6f | 6e 20 2d 20 46 6c 61 67 |.Locatio|n - Flag|
|00003ea0| 43 61 72 72 69 65 72 2e | 50 61 77 6e 2e 4c 6f 63 |Carrier.|Pawn.Loc|
|00003eb0| 61 74 69 6f 6e 29 20 3c | 20 32 35 30 29 20 7c 7c |ation) <| 250) |||
|00003ec0| 20 28 46 6c 61 67 43 61 | 72 72 69 65 72 2e 50 61 | (FlagCa|rrier.Pa|
|00003ed0| 77 6e 2e 41 63 63 65 6c | 65 72 61 74 69 6f 6e 20 |wn.Accel|eration |
|00003ee0| 3d 3d 20 76 65 63 74 28 | 30 2c 30 2c 30 29 29 29 |== vect(|0,0,0)))|
|00003ef0| 20 29 0d 0a 09 09 09 09 | 72 65 74 75 72 6e 20 66 | )......|return f|
|00003f00| 61 6c 73 65 3b 0d 0a 09 | 09 09 69 66 20 28 20 42 |alse;...|..if ( B|
|00003f10| 2e 50 61 77 6e 2e 52 65 | 61 63 68 65 64 44 65 73 |.Pawn.Re|achedDes|
|00003f20| 74 69 6e 61 74 69 6f 6e | 28 46 6c 61 67 43 61 72 |tination|(FlagCar|
|00003f30| 72 69 65 72 54 61 72 67 | 65 74 29 20 7c 7c 20 28 |rierTarg|et) || (|
|00003f40| 46 6c 61 67 43 61 72 72 | 69 65 72 2e 50 61 77 6e |FlagCarr|ier.Pawn|
|00003f50| 2e 41 63 63 65 6c 65 72 | 61 74 69 6f 6e 20 3d 3d |.Acceler|ation ==|
|00003f60| 20 76 65 63 74 28 30 2c | 30 2c 30 29 29 0d 0a 09 | vect(0,|0,0))...|
|00003f70| 09 09 09 7c 7c 20 28 46 | 6c 61 67 43 61 72 72 69 |...|| (F|lagCarri|
|00003f80| 65 72 2e 4d 6f 76 65 54 | 61 72 67 65 74 20 3d 3d |er.MoveT|arget ==|
|00003f90| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00003fa0| 6d 65 42 61 73 65 29 20 | 7c 7c 20 28 46 6c 61 67 |meBase) ||| (Flag|
|00003fb0| 43 61 72 72 69 65 72 2e | 52 6f 75 74 65 43 61 63 |Carrier.|RouteCac|
|00003fc0| 68 65 5b 31 5d 20 3d 3d | 20 46 72 69 65 6e 64 6c |he[1] ==| Friendl|
|00003fd0| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 29 20 |yFlag.Ho|meBase) |
|00003fe0| 29 0d 0a 09 09 09 7b 0d | 0a 09 09 09 09 42 2e 57 |).....{.|.....B.W|
|00003ff0| 61 6e 64 65 72 4f 72 43 | 61 6d 70 28 74 72 75 65 |anderOrC|amp(true|
|00004000| 29 3b 0d 0a 09 09 09 09 | 42 2e 47 6f 61 6c 53 74 |);......|B.GoalSt|
|00004010| 72 69 6e 67 20 3d 20 22 | 42 61 63 6b 20 75 70 20 |ring = "|Back up |
|00004020| 74 68 65 20 66 6c 61 67 | 20 63 61 72 72 69 65 72 |the flag| carrier|
|00004030| 21 22 3b 0d 0a 09 09 09 | 09 72 65 74 75 72 6e 20 |!";.....|.return |
|00004040| 74 72 75 65 3b 0d 0a 09 | 09 09 7d 0d 0a 09 09 7d |true;...|..}....}|
|00004050| 0d 0a 0d 0a 09 09 42 2e | 47 6f 61 6c 53 74 72 69 |......B.|GoalStri|
|00004060| 6e 67 20 3d 20 22 46 69 | 6e 64 20 74 68 65 20 66 |ng = "Fi|nd the f|
|00004070| 6c 61 67 20 63 61 72 72 | 69 65 72 20 2d 20 6d 6f |lag carr|ier - mo|
|00004080| 76 65 20 74 6f 20 22 24 | 42 2e 4d 6f 76 65 54 61 |ve to "$|B.MoveTa|
|00004090| 72 67 65 74 3b 0d 0a 09 | 09 72 65 74 75 72 6e 20 |rget;...|.return |
|000040a0| 28 20 42 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 21 |( B.Move|Target !|
|000040b0| 3d 20 4e 6f 6e 65 20 29 | 3b 0d 0a 09 7d 0d 0a 09 |= None )|;...}...|
|000040c0| 72 65 74 75 72 6e 20 53 | 75 70 65 72 2e 43 68 65 |return S|uper.Che|
|000040d0| 63 6b 53 71 75 61 64 4f | 62 6a 65 63 74 69 76 65 |ckSquadO|bjective|
|000040e0| 73 28 42 29 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |s(B);..}|....func|
|000040f0| 74 69 6f 6e 20 45 6e 65 | 6d 79 46 6c 61 67 54 61 |tion Ene|myFlagTa|
|00004100| 6b 65 6e 42 79 28 43 6f | 6e 74 72 6f 6c 6c 65 72 |kenBy(Co|ntroller|
|00004110| 20 43 29 0d 0a 7b 0d 0a | 09 6c 6f 63 61 6c 20 42 | C)..{..|.local B|
|00004120| 6f 74 20 4d 3b 0d 0a 09 | 6c 6f 63 61 6c 20 41 73 |ot M;...|local As|
|00004130| 73 61 75 6c 74 50 61 74 | 68 20 4c 69 73 74 5b 31 |saultPat|h List[1|
|00004140| 36 5d 3b 0d 0a 09 6c 6f | 63 61 6c 20 69 6e 74 20 |6];...lo|cal int |
|00004150| 69 2c 6e 75 6d 3b 0d 0a | 09 6c 6f 63 61 6c 20 41 |i,num;..|.local A|
|00004160| 73 73 61 75 6c 74 50 61 | 74 68 20 41 3b 0d 0a 09 |ssaultPa|th A;...|
|00004170| 6c 6f 63 61 6c 20 66 6c | 6f 61 74 20 73 75 6d 2c |local fl|oat sum,|
|00004180| 72 3b 0d 0a 0d 0a 09 69 | 66 20 28 20 42 6f 74 28 |r;.....i|f ( Bot(|
|00004190| 43 29 20 21 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 7b |C) != No|ne )...{|
|000041a0| 0d 0a 09 09 52 65 74 75 | 72 6e 50 61 74 68 20 3d |....Retu|rnPath =|
|000041b0| 20 4e 6f 6e 65 3b 0d 0a | 09 09 52 65 74 75 72 6e | None;..|..Return|
|000041c0| 50 61 74 68 54 61 67 20 | 3d 20 27 27 3b 0d 0a 09 |PathTag |= '';...|
|000041d0| 09 69 66 20 28 20 45 6e | 65 6d 79 46 6c 61 67 2e |.if ( En|emyFlag.|
|000041e0| 49 73 48 6f 6d 65 28 29 | 20 29 0d 0a 09 09 7b 0d |IsHome()| )....{.|
|000041f0| 0a 09 09 09 69 66 20 28 | 20 46 52 61 6e 64 28 29 |....if (| FRand()|
|00004200| 20 3c 20 30 2e 32 20 29 | 0d 0a 09 09 09 7b 0d 0a | < 0.2 )|.....{..|
|00004210| 09 09 09 09 42 6f 74 28 | 43 29 2e 62 46 69 6e 61 |....Bot(|C).bFina|
|00004220| 6c 53 74 72 65 74 63 68 | 20 3d 20 74 72 75 65 3b |lStretch| = true;|
|00004230| 0d 0a 09 09 09 09 72 65 | 74 75 72 6e 3b 0d 0a 09 |......re|turn;...|
|00004240| 09 09 7d 0d 0a 09 09 09 | 42 6f 74 28 43 29 2e 62 |..}.....|Bot(C).b|
|00004250| 46 69 6e 61 6c 53 74 72 | 65 74 63 68 20 3d 20 66 |FinalStr|etch = f|
|00004260| 61 6c 73 65 3b 0d 0a 09 | 09 09 2f 2f 20 73 65 74 |alse;...|..// set|
|00004270| 20 72 65 74 75 72 6e 20 | 70 61 74 68 0d 0a 09 09 | return |path....|
|00004280| 09 66 6f 72 20 28 20 41 | 3d 45 6e 65 6d 79 46 6c |.for ( A|=EnemyFl|
|00004290| 61 67 2e 48 6f 6d 65 42 | 61 73 65 2e 41 6c 74 65 |ag.HomeB|ase.Alte|
|000042a0| 72 6e 61 74 65 50 61 74 | 68 73 3b 20 41 21 3d 4e |rnatePat|hs; A!=N|
|000042b0| 6f 6e 65 3b 20 41 3d 41 | 2e 4e 65 78 74 50 61 74 |one; A=A|.NextPat|
|000042c0| 68 20 29 0d 0a 09 09 09 | 7b 0d 0a 09 09 09 09 69 |h ).....|{......i|
|000042d0| 66 20 28 20 41 2e 62 45 | 6e 61 62 6c 65 64 20 26 |f ( A.bE|nabled &|
|000042e0| 26 20 41 2e 62 4c 61 73 | 74 50 61 74 68 20 26 26 |& A.bLas|tPath &&|
|000042f0| 20 21 41 2e 62 4e 6f 52 | 65 74 75 72 6e 20 29 0d | !A.bNoR|eturn ).|
|00004300| 0a 09 09 09 09 7b 0d 0a | 09 09 09 09 09 4c 69 73 |.....{..|.....Lis|
|00004310| 74 5b 6e 75 6d 5d 20 3d | 20 41 3b 0d 0a 09 09 09 |t[num] =| A;.....|
|00004320| 09 09 6e 75 6d 2b 2b 3b | 0d 0a 09 09 09 09 09 69 |..num++;|.......i|
|00004330| 66 20 28 20 6e 75 6d 20 | 3e 20 31 35 20 29 0d 0a |f ( num |> 15 )..|
|00004340| 09 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 0a 09 09 |......br|eak;....|
|00004350| 09 09 7d 0d 0a 09 09 09 | 7d 0d 0a 09 09 09 69 66 |..}.....|}.....if|
|00004360| 20 28 20 6e 75 6d 20 3e | 20 30 20 29 0d 0a 09 09 | ( num >| 0 )....|
|00004370| 09 7b 0d 0a 09 09 09 09 | 66 6f 72 20 28 20 69 3d |.{......|for ( i=|
|00004380| 30 3b 20 69 3c 6e 75 6d | 3b 20 69 2b 2b 20 29 0d |0; i<num|; i++ ).|
|00004390| 0a 09 09 09 09 09 73 75 | 6d 20 2b 3d 20 4c 69 73 |......su|m += Lis|
|000043a0| 74 5b 69 5d 2e 50 72 69 | 6f 72 69 74 79 3b 0d 0a |t[i].Pri|ority;..|
|000043b0| 09 09 09 09 72 20 3d 20 | 46 52 61 6e 64 28 29 20 |....r = |FRand() |
|000043c0| 2a 20 73 75 6d 3b 0d 0a | 09 09 09 09 73 75 6d 20 |* sum;..|....sum |
|000043d0| 3d 20 30 3b 0d 0a 09 09 | 09 09 66 6f 72 20 28 20 |= 0;....|..for ( |
|000043e0| 69 3d 30 3b 20 69 3c 6e | 75 6d 3b 20 69 2b 2b 20 |i=0; i<n|um; i++ |
|000043f0| 29 0d 0a 09 09 09 09 7b | 0d 0a 09 09 09 09 09 73 |)......{|.......s|
|00004400| 75 6d 20 2b 3d 20 4c 69 | 73 74 5b 69 5d 2e 50 72 |um += Li|st[i].Pr|
|00004410| 69 6f 72 69 74 79 3b 0d | 0a 09 09 09 09 09 69 66 |iority;.|......if|
|00004420| 20 28 20 72 20 3c 3d 20 | 73 75 6d 20 29 0d 0a 09 | ( r <= |sum )...|
|00004430| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 09 52 65 74 |....{...|.....Ret|
|00004440| 75 72 6e 50 61 74 68 20 | 3d 20 4c 69 73 74 5b 69 |urnPath |= List[i|
|00004450| 5d 3b 0d 0a 09 09 09 09 | 09 09 52 65 74 75 72 6e |];......|..Return|
|00004460| 50 61 74 68 54 61 67 20 | 3d 20 4c 69 73 74 5b 69 |PathTag |= List[i|
|00004470| 5d 2e 50 69 63 6b 54 61 | 67 28 29 3b 0d 0a 09 09 |].PickTa|g();....|
|00004480| 09 09 09 09 72 65 74 75 | 72 6e 3b 0d 0a 09 09 09 |....retu|rn;.....|
|00004490| 09 09 7d 0d 0a 09 09 09 | 09 7d 0d 0a 09 09 09 09 |..}.....|.}......|
|000044a0| 52 65 74 75 72 6e 50 61 | 74 68 20 3d 20 4c 69 73 |ReturnPa|th = Lis|
|000044b0| 74 5b 30 5d 3b 0d 0a 09 | 09 09 09 52 65 74 75 72 |t[0];...|...Retur|
|000044c0| 6e 50 61 74 68 54 61 67 | 20 3d 20 4c 69 73 74 5b |nPathTag| = List[|
|000044d0| 30 5d 2e 50 69 63 6b 54 | 61 67 28 29 3b 0d 0a 09 |0].PickT|ag();...|
|000044e0| 09 09 7d 0d 0a 09 09 7d | 0d 0a 09 09 65 6c 73 65 |..}....}|....else|
|000044f0| 0d 0a 09 09 09 42 6f 74 | 28 43 29 2e 62 46 69 6e |.....Bot|(C).bFin|
|00004500| 61 6c 53 74 72 65 74 63 | 68 20 3d 20 74 72 75 65 |alStretc|h = true|
|00004510| 3b 0d 0a 09 7d 0d 0a 0d | 0a 09 69 66 20 28 20 28 |;...}...|..if ( (|
|00004520| 50 6c 61 79 65 72 43 6f | 6e 74 72 6f 6c 6c 65 72 |PlayerCo|ntroller|
|00004530| 28 53 71 75 61 64 4c 65 | 61 64 65 72 29 20 3d 3d |(SquadLe|ader) ==|
|00004540| 20 4e 6f 6e 65 29 20 26 | 26 20 28 53 71 75 61 64 | None) &|& (Squad|
|00004550| 4c 65 61 64 65 72 20 21 | 3d 20 43 29 20 29 0d 0a |Leader !|= C) )..|
|00004560| 09 09 53 65 74 4c 65 61 | 64 65 72 28 43 29 3b 0d |..SetLea|der(C);.|
|00004570| 0a 0d 0a 09 66 6f 72 09 | 28 20 4d 3d 53 71 75 61 |....for.|( M=Squa|
|00004580| 64 4d 65 6d 62 65 72 73 | 3b 20 4d 21 3d 4e 6f 6e |dMembers|; M!=Non|
|00004590| 65 3b 20 4d 3d 4d 2e 4e | 65 78 74 53 71 75 61 64 |e; M=M.N|extSquad|
|000045a0| 4d 65 6d 62 65 72 20 29 | 0d 0a 09 09 69 66 20 28 |Member )|....if (|
|000045b0| 20 28 4d 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 3d | (M.Move|Target =|
|000045c0| 3d 20 45 6e 65 6d 79 46 | 6c 61 67 29 20 7c 7c 20 |= EnemyF|lag) || |
|000045d0| 28 4d 2e 4d 6f 76 65 54 | 61 72 67 65 74 20 3d 3d |(M.MoveT|arget ==|
|000045e0| 20 45 6e 65 6d 79 46 6c | 61 67 2e 48 6f 6d 65 42 | EnemyFl|ag.HomeB|
|000045f0| 61 73 65 29 20 29 0d 0a | 09 09 09 4d 2e 4d 6f 76 |ase) )..|...M.Mov|
|00004600| 65 54 69 6d 65 72 20 3d | 20 46 4d 69 6e 28 4d 2e |eTimer =| FMin(M.|
|00004610| 4d 6f 76 65 54 69 6d 65 | 72 2c 30 2e 30 35 20 2b |MoveTime|r,0.05 +|
|00004620| 20 30 2e 31 35 20 2a 20 | 46 52 61 6e 64 28 29 29 | 0.15 * |FRand())|
|00004630| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|00004640| 20 62 6f 6f 6c 20 41 6c | 6c 6f 77 54 61 75 6e 74 | bool Al|lowTaunt|
|00004650| 28 42 6f 74 20 42 29 0d | 0a 7b 0d 0a 09 72 65 74 |(Bot B).|.{...ret|
|00004660| 75 72 6e 20 28 20 28 46 | 52 61 6e 64 28 29 20 3c |urn ( (F|Rand() <|
|00004670| 20 30 2e 35 29 20 26 26 | 20 28 50 72 69 6f 72 69 | 0.5) &&| (Priori|
|00004680| 74 79 4f 62 6a 65 63 74 | 69 76 65 28 42 29 20 3c |tyObject|ive(B) <|
|00004690| 20 31 29 29 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 | 1));..}|....func|
|000046a0| 74 69 6f 6e 20 62 6f 6f | 6c 20 53 68 6f 75 6c 64 |tion boo|l Should|
|000046b0| 44 65 66 65 72 54 6f 28 | 43 6f 6e 74 72 6f 6c 6c |DeferTo(|Controll|
|000046c0| 65 72 20 43 29 0d 0a 7b | 0d 0a 09 69 66 20 28 20 |er C)..{|...if ( |
|000046d0| 43 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |C.Player|Replicat|
|000046e0| 69 6f 6e 49 6e 66 6f 2e | 48 61 73 46 6c 61 67 20 |ionInfo.|HasFlag |
|000046f0| 21 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 09 72 65 74 |!= None |)....ret|
|00004700| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 09 72 65 74 75 |urn true|;...retu|
|00004710| 72 6e 20 53 75 70 65 72 | 2e 53 68 6f 75 6c 64 44 |rn Super|.ShouldD|
|00004720| 65 66 65 72 54 6f 28 43 | 29 3b 0d 0a 7d 0d 0a 0d |eferTo(C|);..}...|
|00004730| 0a 66 75 6e 63 74 69 6f | 6e 20 62 79 74 65 20 50 |.functio|n byte P|
|00004740| 72 69 6f 72 69 74 79 4f | 62 6a 65 63 74 69 76 65 |riorityO|bjective|
|00004750| 28 42 6f 74 20 42 29 0d | 0a 7b 0d 0a 09 69 66 20 |(Bot B).|.{...if |
|00004760| 28 20 42 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |( B.Play|erReplic|
|00004770| 61 74 69 6f 6e 49 6e 66 | 6f 2e 48 61 73 46 6c 61 |ationInf|o.HasFla|
|00004780| 67 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 7b 0d |g != Non|e )...{.|
|00004790| 0a 09 09 69 66 20 28 20 | 46 72 69 65 6e 64 6c 79 |...if ( |Friendly|
|000047a0| 46 6c 61 67 2e 48 6f 6d | 65 42 61 73 65 2e 42 6f |Flag.Hom|eBase.Bo|
|000047b0| 74 4e 65 61 72 4f 62 6a | 65 63 74 69 76 65 28 42 |tNearObj|ective(B|
|000047c0| 29 20 29 0d 0a 09 09 09 | 72 65 74 75 72 6e 20 32 |) ).....|return 2|
|000047d0| 35 35 3b 0d 0a 09 09 72 | 65 74 75 72 6e 20 32 3b |55;....r|eturn 2;|
|000047e0| 0d 0a 09 7d 0d 0a 0d 0a | 09 69 66 20 28 20 46 72 |...}....|.if ( Fr|
|000047f0| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6c 64 65 |iendlyFl|ag.Holde|
|00004800| 72 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 72 |r != Non|e )....r|
|00004810| 65 74 75 72 6e 20 31 3b | 0d 0a 0d 0a 09 72 65 74 |eturn 1;|.....ret|
|00004820| 75 72 6e 20 30 3b 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |urn 0;..|}....fun|
|00004830| 63 74 69 6f 6e 20 66 6c | 6f 61 74 20 4d 6f 64 69 |ction fl|oat Modi|
|00004840| 66 79 54 68 72 65 61 74 | 28 66 6c 6f 61 74 20 63 |fyThreat|(float c|
|00004850| 75 72 72 65 6e 74 2c 20 | 50 61 77 6e 20 4e 65 77 |urrent, |Pawn New|
|00004860| 54 68 72 65 61 74 2c 20 | 62 6f 6f 6c 20 62 54 68 |Threat, |bool bTh|
|00004870| 72 65 61 74 56 69 73 69 | 62 6c 65 2c 20 42 6f 74 |reatVisi|ble, Bot|
|00004880| 20 42 29 0d 0a 7b 0d 0a | 09 69 66 20 28 20 28 4e | B)..{..|.if ( (N|
|00004890| 65 77 54 68 72 65 61 74 | 2e 50 6c 61 79 65 72 52 |ewThreat|.PlayerR|
|000048a0| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 20 21 |eplicati|onInfo !|
|000048b0| 3d 20 4e 6f 6e 65 29 0d | 0a 09 09 26 26 20 28 4e |= None).|...&& (N|
|000048c0| 65 77 54 68 72 65 61 74 | 2e 50 6c 61 79 65 72 52 |ewThreat|.PlayerR|
|000048d0| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2e 48 |eplicati|onInfo.H|
|000048e0| 61 73 46 6c 61 67 20 21 | 3d 20 4e 6f 6e 65 29 0d |asFlag !|= None).|
|000048f0| 0a 09 09 26 26 20 62 54 | 68 72 65 61 74 56 69 73 |...&& bT|hreatVis|
|00004900| 69 62 6c 65 20 29 0d 0a | 09 7b 0d 0a 09 09 69 66 |ible )..|.{....if|
|00004910| 20 28 20 28 56 53 69 7a | 65 28 42 2e 50 61 77 6e | ( (VSiz|e(B.Pawn|
|00004920| 2e 4c 6f 63 61 74 69 6f | 6e 20 2d 20 4e 65 77 54 |.Locatio|n - NewT|
|00004930| 68 72 65 61 74 2e 4c 6f | 63 61 74 69 6f 6e 29 20 |hreat.Lo|cation) |
|00004940| 3c 20 31 35 30 30 29 20 | 7c 7c 20 28 42 2e 50 61 |< 1500) ||| (B.Pa|
|00004950| 77 6e 2e 57 65 61 70 6f | 6e 20 21 3d 20 4e 6f 6e |wn.Weapo|n != Non|
|00004960| 65 20 26 26 20 42 2e 50 | 61 77 6e 2e 57 65 61 70 |e && B.P|awn.Weap|
|00004970| 6f 6e 2e 62 53 6e 69 70 | 69 6e 67 29 0d 0a 09 09 |on.bSnip|ing)....|
|00004980| 09 7c 7c 20 28 56 53 69 | 7a 65 28 4e 65 77 54 68 |.|| (VSi|ze(NewTh|
|00004990| 72 65 61 74 2e 4c 6f 63 | 61 74 69 6f 6e 20 2d 20 |reat.Loc|ation - |
|000049a0| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |EnemyFla|g.HomeBa|
|000049b0| 73 65 2e 4c 6f 63 61 74 | 69 6f 6e 29 20 3c 20 32 |se.Locat|ion) < 2|
|000049c0| 30 30 30 29 20 29 0d 0a | 09 09 09 72 65 74 75 72 |000) )..|...retur|
|000049d0| 6e 20 63 75 72 72 65 6e | 74 20 2b 20 36 3b 0d 0a |n curren|t + 6;..|
|000049e0| 09 09 65 6c 73 65 0d 0a | 09 09 09 72 65 74 75 72 |..else..|...retur|
|000049f0| 6e 20 63 75 72 72 65 6e | 74 20 2b 20 31 2e 35 3b |n curren|t + 1.5;|
|00004a00| 0d 0a 09 7d 0d 0a 09 65 | 6c 73 65 20 69 66 20 28 |...}...e|lse if (|
|00004a10| 20 4e 65 77 54 68 72 65 | 61 74 2e 49 73 48 75 6d | NewThre|at.IsHum|
|00004a20| 61 6e 43 6f 6e 74 72 6f | 6c 6c 65 64 28 29 20 29 |anContro|lled() )|
|00004a30| 0d 0a 09 09 72 65 74 75 | 72 6e 20 63 75 72 72 65 |....retu|rn curre|
|00004a40| 6e 74 20 2b 20 30 2e 35 | 3b 0d 0a 09 65 6c 73 65 |nt + 0.5|;...else|
|00004a50| 0d 0a 09 09 72 65 74 75 | 72 6e 20 63 75 72 72 65 |....retu|rn curre|
|00004a60| 6e 74 3b 0d 0a 7d 0d 0a | 0d 0a 00 |nt;..}..|... |
+--------+-------------------------+-------------------------+--------+--------+