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_BombingRunSquadAI_ScriptText.TextBuffer < prev    next >
Unknown  |  2004-05-10  |  14.0 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 | 57 e0 01 63 6c 61 73 73 |........|W..class|
|00000010| 20 42 6f 6d 62 69 6e 67 | 52 75 6e 53 71 75 61 64 | Bombing|RunSquad|
|00000020| 41 49 20 65 78 74 65 6e | 64 73 20 53 71 75 61 64 |AI exten|ds Squad|
|00000030| 41 49 3b 0d 0a 0d 0a 76 | 61 72 20 66 6c 6f 61 74 |AI;....v|ar float|
|00000040| 20 4c 61 73 74 53 65 65 | 46 6c 61 67 43 61 72 72 | LastSee|FlagCarr|
|00000050| 69 65 72 3b 0d 0a 76 61 | 72 20 47 61 6d 65 4f 62 |ier;..va|r GameOb|
|00000060| 6a 65 63 74 20 42 6f 6d | 62 3b 0d 0a 76 61 72 20 |ject Bom|b;..var |
|00000070| 47 61 6d 65 4f 62 6a 65 | 63 74 69 76 65 20 45 6e |GameObje|ctive En|
|00000080| 65 6d 79 42 61 73 65 2c | 20 48 6f 6d 65 42 61 73 |emyBase,| HomeBas|
|00000090| 65 2c 20 42 6f 6d 62 42 | 61 73 65 3b 0d 0a 76 61 |e, BombB|ase;..va|
|000000a0| 72 20 66 6c 6f 61 74 20 | 53 63 6f 72 69 6e 67 52 |r float |ScoringR|
|000000b0| 61 6e 64 3b 0d 0a 76 61 | 72 20 63 6c 61 73 73 3c |and;..va|r class<|
|000000c0| 53 68 6f 6f 74 53 70 6f | 74 3e 20 53 68 6f 6f 74 |ShootSpo|t> Shoot|
|000000d0| 53 70 6f 74 43 6c 61 73 | 73 5b 32 5d 3b 0d 0a 76 |SpotClas|s[2];..v|
|000000e0| 61 72 20 62 6f 74 20 53 | 65 6c 66 50 61 73 73 65 |ar bot S|elfPasse|
|000000f0| 72 2c 20 50 61 73 73 54 | 61 72 67 65 74 3b 0d 0a |r, PassT|arget;..|
|00000100| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 41 73 73 69 67 |..functi|on Assig|
|00000110| 6e 43 6f 6d 62 6f 28 42 | 6f 74 20 42 29 0d 0a 7b |nCombo(B|ot B)..{|
|00000120| 0d 0a 09 69 66 20 28 20 | 47 65 74 4f 72 64 65 72 |...if ( |GetOrder|
|00000130| 73 28 29 20 21 3d 20 27 | 41 74 74 61 63 6b 27 20 |s() != '|Attack' |
|00000140| 29 0d 0a 09 09 53 75 70 | 65 72 2e 41 73 73 69 67 |)....Sup|er.Assig|
|00000150| 6e 43 6f 6d 62 6f 28 42 | 29 3b 0d 0a 7d 0d 0a 0d |nCombo(B|);..}...|
|00000160| 0a 66 75 6e 63 74 69 6f | 6e 20 62 6f 6f 6c 20 41 |.functio|n bool A|
|00000170| 6c 6c 6f 77 44 65 74 6f | 75 72 54 6f 28 42 6f 74 |llowDeto|urTo(Bot|
|00000180| 20 42 2c 4e 61 76 69 67 | 61 74 69 6f 6e 50 6f 69 | B,Navig|ationPoi|
|00000190| 6e 74 20 4e 29 0d 0a 7b | 0d 0a 09 69 66 20 28 20 |nt N)..{|...if ( |
|000001a0| 42 2e 50 61 77 6e 20 21 | 3d 20 42 6f 6d 62 2e 48 |B.Pawn !|= Bomb.H|
|000001b0| 6f 6c 64 65 72 20 29 0d | 0a 09 09 72 65 74 75 72 |older ).|...retur|
|000001c0| 6e 20 74 72 75 65 3b 0d | 0a 0d 0a 09 72 65 74 75 |n true;.|....retu|
|000001d0| 72 6e 20 28 20 4e 2e 4c | 61 73 74 44 65 74 6f 75 |rn ( N.L|astDetou|
|000001e0| 72 57 65 69 67 68 74 20 | 2a 20 42 2e 52 6f 75 74 |rWeight |* B.Rout|
|000001f0| 65 44 69 73 74 20 3e 20 | 33 20 29 3b 0d 0a 7d 0d |eDist > |3 );..}.|
|00000200| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 62 6f 6f 6c |...funct|ion bool|
|00000210| 20 41 6c 6c 6f 77 54 72 | 61 6e 73 6c 6f 63 61 74 | AllowTr|anslocat|
|00000220| 69 6f 6e 42 79 28 42 6f | 74 20 42 29 0d 0a 7b 0d |ionBy(Bo|t B)..{.|
|00000230| 0a 09 72 65 74 75 72 6e | 20 28 20 42 2e 50 61 77 |..return| ( B.Paw|
|00000240| 6e 20 21 3d 20 42 6f 6d | 62 2e 48 6f 6c 64 65 72 |n != Bom|b.Holder|
|00000250| 20 29 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 | );..}..|..functi|
|00000260| 6f 6e 20 62 6f 6f 6c 20 | 41 6c 6c 6f 77 49 6d 70 |on bool |AllowImp|
|00000270| 61 63 74 4a 75 6d 70 42 | 79 28 42 6f 74 20 42 29 |actJumpB|y(Bot B)|
|00000280| 0d 0a 7b 0d 0a 09 72 65 | 74 75 72 6e 20 28 20 42 |..{...re|turn ( B|
|00000290| 2e 50 61 77 6e 20 21 3d | 20 42 6f 6d 62 2e 48 6f |.Pawn !=| Bomb.Ho|
|000002a0| 6c 64 65 72 20 29 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |lder );.|.}....fu|
|000002b0| 6e 63 74 69 6f 6e 20 61 | 63 74 6f 72 20 53 65 74 |nction a|ctor Set|
|000002c0| 46 61 63 69 6e 67 41 63 | 74 6f 72 28 42 6f 74 20 |FacingAc|tor(Bot |
|000002d0| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 42 2e 50 |B)..{...|if ( B.P|
|000002e0| 61 77 6e 20 21 3d 20 42 | 6f 6d 62 2e 48 6f 6c 64 |awn != B|omb.Hold|
|000002f0| 65 72 20 29 0d 0a 09 09 | 72 65 74 75 72 6e 20 4e |er )....|return N|
|00000300| 6f 6e 65 3b 0d 0a 0d 0a | 09 69 66 20 28 20 28 42 |one;....|.if ( (B|
|00000310| 2e 45 6e 65 6d 79 20 3d | 3d 20 4e 6f 6e 65 29 20 |.Enemy =|= None) |
|00000320| 7c 7c 20 28 42 2e 53 6b | 69 6c 6c 20 3c 20 34 29 ||| (B.Sk|ill < 4)|
|00000330| 0d 0a 09 09 7c 7c 20 28 | 56 53 69 7a 65 28 45 6e |....|| (|VSize(En|
|00000340| 65 6d 79 42 61 73 65 2e | 4c 6f 63 61 74 69 6f 6e |emyBase.|Location|
|00000350| 20 2d 20 42 2e 50 61 77 | 6e 2e 4c 6f 63 61 74 69 | - B.Paw|n.Locati|
|00000360| 6f 6e 29 20 3e 20 32 35 | 30 30 29 20 29 0d 0a 09 |on) > 25|00) )...|
|00000370| 09 72 65 74 75 72 6e 20 | 42 2e 4d 6f 76 65 74 61 |.return |B.Moveta|
|00000380| 72 67 65 74 3b 0d 0a 09 | 69 66 20 28 20 53 68 6f |rget;...|if ( Sho|
|00000390| 6f 74 53 70 6f 74 28 42 | 2e 4d 6f 76 65 54 61 72 |otSpot(B|.MoveTar|
|000003a0| 67 65 74 29 20 21 3d 20 | 4e 6f 6e 65 20 29 0d 0a |get) != |None )..|
|000003b0| 09 09 72 65 74 75 72 6e | 20 45 6e 65 6d 79 42 61 |..return| EnemyBa|
|000003c0| 73 65 3b 0d 0a 09 72 65 | 74 75 72 6e 20 42 2e 4d |se;...re|turn B.M|
|000003d0| 6f 76 65 54 61 72 67 65 | 74 3b 0d 0a 7d 0d 0a 0d |oveTarge|t;..}...|
|000003e0| 0a 2f 2a 20 47 6f 50 69 | 63 6b 75 70 42 6f 6d 62 |./* GoPi|ckupBomb|
|000003f0| 28 29 0d 0a 68 61 76 65 | 20 62 6f 74 20 67 6f 20 |()..have| bot go |
|00000400| 70 69 63 6b 75 70 20 64 | 72 6f 70 70 65 64 20 62 |pickup d|ropped b|
|00000410| 6f 6d 62 0d 0a 2a 2f 0d | 0a 66 75 6e 63 74 69 6f |omb..*/.|.functio|
|00000420| 6e 20 62 6f 6f 6c 20 47 | 6f 50 69 63 6b 75 70 42 |n bool G|oPickupB|
|00000430| 6f 6d 62 28 42 6f 74 20 | 42 29 0d 0a 7b 0d 0a 09 |omb(Bot |B)..{...|
|00000440| 69 66 20 28 20 21 42 6f | 6d 62 2e 43 61 6e 42 65 |if ( !Bo|mb.CanBe|
|00000450| 50 69 63 6b 65 64 55 70 | 42 79 28 42 2e 50 61 77 |PickedUp|By(B.Paw|
|00000460| 6e 29 20 29 0d 0a 09 09 | 72 65 74 75 72 6e 20 66 |n) )....|return f|
|00000470| 61 6c 73 65 3b 0d 0a 0d | 0a 09 69 66 20 28 20 42 |alse;...|..if ( B|
|00000480| 2e 50 61 77 6e 2e 54 6f | 75 63 68 69 6e 67 41 63 |.Pawn.To|uchingAc|
|00000490| 74 6f 72 28 42 6f 6d 62 | 29 20 29 0d 0a 09 7b 0d |tor(Bomb|) )...{.|
|000004a0| 0a 09 09 42 6f 6d 62 2e | 54 6f 75 63 68 28 42 2e |...Bomb.|Touch(B.|
|000004b0| 50 61 77 6e 29 3b 0d 0a | 09 09 72 65 74 75 72 6e |Pawn);..|..return|
|000004c0| 20 66 61 6c 73 65 3b 0d | 0a 09 7d 0d 0a 09 69 66 | false;.|..}...if|
|000004d0| 20 28 20 46 69 6e 64 50 | 61 74 68 54 6f 4f 62 6a | ( FindP|athToObj|
|000004e0| 65 63 74 69 76 65 28 42 | 2c 42 6f 6d 62 2e 50 6f |ective(B|,Bomb.Po|
|000004f0| 73 69 74 69 6f 6e 28 29 | 29 20 29 0d 0a 09 7b 0d |sition()|) )...{.|
|00000500| 0a 09 09 69 66 20 28 20 | 4c 65 76 65 6c 2e 54 69 |...if ( |Level.Ti|
|00000510| 6d 65 53 65 63 6f 6e 64 | 73 20 2d 20 42 6f 6d 62 |meSecond|s - Bomb|
|00000520| 69 6e 67 52 75 6e 54 65 | 61 6d 41 49 28 54 65 61 |ingRunTe|amAI(Tea|
|00000530| 6d 2e 41 49 29 2e 4c 61 | 73 74 47 6f 74 46 6c 61 |m.AI).La|stGotFla|
|00000540| 67 20 3e 20 31 35 20 29 | 0d 0a 09 09 7b 0d 0a 09 |g > 15 )|....{...|
|00000550| 09 09 42 6f 6d 62 69 6e | 67 52 75 6e 54 65 61 6d |..Bombin|gRunTeam|
|00000560| 41 49 28 54 65 61 6d 2e | 41 49 29 2e 4c 61 73 74 |AI(Team.|AI).Last|
|00000570| 47 6f 74 46 6c 61 67 20 | 3d 20 4c 65 76 65 6c 2e |GotFlag |= Level.|
|00000580| 54 69 6d 65 53 65 63 6f | 6e 64 73 3b 0d 0a 09 09 |TimeSeco|nds;....|
|00000590| 09 42 2e 53 65 6e 64 4d | 65 73 73 61 67 65 28 4e |.B.SendM|essage(N|
|000005a0| 6f 6e 65 2c 20 27 4f 54 | 48 45 52 27 2c 20 42 2e |one, 'OT|HER', B.|
|000005b0| 47 65 74 4d 65 73 73 61 | 67 65 49 6e 64 65 78 28 |GetMessa|geIndex(|
|000005c0| 27 47 4f 54 45 4e 45 4d | 59 46 4c 41 47 27 29 2c |'GOTENEM|YFLAG'),|
|000005d0| 20 32 30 2c 20 27 54 45 | 41 4d 27 29 3b 0d 0a 09 | 20, 'TE|AM');...|
|000005e0| 09 7d 0d 0a 09 09 42 2e | 47 6f 61 6c 53 74 72 69 |.}....B.|GoalStri|
|000005f0| 6e 67 20 3d 20 22 50 69 | 63 6b 20 75 70 20 62 6f |ng = "Pi|ck up bo|
|00000600| 6d 62 22 3b 0d 0a 09 09 | 72 65 74 75 72 6e 20 74 |mb";....|return t|
|00000610| 72 75 65 3b 0d 0a 09 7d | 0d 0a 09 72 65 74 75 72 |rue;...}|...retur|
|00000620| 6e 20 66 61 6c 73 65 3b | 0d 0a 7d 0d 0a 0d 0a 66 |n false;|..}....f|
|00000630| 75 6e 63 74 69 6f 6e 20 | 61 63 74 6f 72 20 46 6f |unction |actor Fo|
|00000640| 72 6d 61 74 69 6f 6e 43 | 65 6e 74 65 72 28 29 0d |rmationC|enter().|
|00000650| 0a 7b 0d 0a 09 69 66 20 | 28 20 28 53 71 75 61 64 |.{...if |( (Squad|
|00000660| 4f 62 6a 65 63 74 69 76 | 65 20 21 3d 20 4e 6f 6e |Objectiv|e != Non|
|00000670| 65 29 20 26 26 20 28 53 | 71 75 61 64 4f 62 6a 65 |e) && (S|quadObje|
|00000680| 63 74 69 76 65 2e 44 65 | 66 65 6e 64 65 72 54 65 |ctive.De|fenderTe|
|00000690| 61 6d 49 6e 64 65 78 20 | 3d 3d 20 54 65 61 6d 2e |amIndex |== Team.|
|000006a0| 54 65 61 6d 49 6e 64 65 | 78 29 20 29 0d 0a 09 09 |TeamInde|x) )....|
|000006b0| 72 65 74 75 72 6e 20 53 | 71 75 61 64 4f 62 6a 65 |return S|quadObje|
|000006c0| 63 74 69 76 65 3b 0d 0a | 09 69 66 20 28 20 28 42 |ctive;..|.if ( (B|
|000006d0| 6f 6d 62 2e 48 6f 6c 64 | 65 72 20 21 3d 20 4e 6f |omb.Hold|er != No|
|000006e0| 6e 65 29 20 26 26 20 28 | 47 65 74 4f 72 64 65 72 |ne) && (|GetOrder|
|000006f0| 73 28 29 20 21 3d 20 27 | 44 65 66 65 6e 64 27 29 |s() != '|Defend')|
|00000700| 20 26 26 20 21 53 71 75 | 61 64 4c 65 61 64 65 72 | && !Squ|adLeader|
|00000710| 2e 49 73 41 28 27 50 6c | 61 79 65 72 43 6f 6e 74 |.IsA('Pl|ayerCont|
|00000720| 72 6f 6c 6c 65 72 27 29 | 20 29 0d 0a 09 09 72 65 |roller')| )....re|
|00000730| 74 75 72 6e 20 42 6f 6d | 62 2e 48 6f 6c 64 65 72 |turn Bom|b.Holder|
|00000740| 3b 0d 0a 09 72 65 74 75 | 72 6e 20 53 71 75 61 64 |;...retu|rn Squad|
|00000750| 4c 65 61 64 65 72 2e 50 | 61 77 6e 3b 0d 0a 7d 0d |Leader.P|awn;..}.|
|00000760| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 62 6f 6f 6c |...funct|ion bool|
|00000770| 20 50 72 65 66 65 72 53 | 68 6f 6f 74 53 63 6f 72 | PreferS|hootScor|
|00000780| 65 28 42 6f 74 20 42 29 | 0d 0a 7b 0d 0a 09 6c 6f |e(Bot B)|..{...lo|
|00000790| 63 61 6c 20 54 65 61 6d | 49 6e 66 6f 20 45 6e 65 |cal Team|Info Ene|
|000007a0| 6d 79 54 65 61 6d 3b 0d | 0a 09 6c 6f 63 61 6c 20 |myTeam;.|..local |
|000007b0| 62 6f 6f 6c 20 62 4e 65 | 65 64 54 6f 75 63 68 44 |bool bNe|edTouchD|
|000007c0| 6f 77 6e 3b 0d 0a 09 6c | 6f 63 61 6c 20 44 65 61 |own;...l|ocal Dea|
|000007d0| 74 68 4d 61 74 63 68 20 | 47 3b 0d 0a 0d 0a 09 69 |thMatch |G;.....i|
|000007e0| 66 20 28 20 21 45 6e 65 | 6d 79 42 61 73 65 2e 62 |f ( !Ene|myBase.b|
|000007f0| 48 61 73 53 68 6f 6f 74 | 53 70 6f 74 73 20 29 0d |HasShoot|Spots ).|
|00000800| 0a 09 09 72 65 74 75 72 | 6e 20 66 61 6c 73 65 3b |...retur|n false;|
|00000810| 0d 0a 09 69 66 20 28 20 | 28 42 2e 45 6e 65 6d 79 |...if ( |(B.Enemy|
|00000820| 20 3d 3d 20 4e 6f 6e 65 | 29 20 7c 7c 20 28 4c 65 | == None|) || (Le|
|00000830| 76 65 6c 2e 54 69 6d 65 | 53 65 63 6f 6e 64 73 20 |vel.Time|Seconds |
|00000840| 2d 20 42 2e 4c 61 73 74 | 53 65 65 6e 54 69 6d 65 |- B.Last|SeenTime|
|00000850| 20 3e 20 34 29 20 29 0d | 0a 09 09 72 65 74 75 72 | > 4) ).|...retur|
|00000860| 6e 20 66 61 6c 73 65 3b | 0d 0a 09 69 66 20 28 20 |n false;|...if ( |
|00000870| 54 65 61 6d 20 3d 3d 20 | 4c 65 76 65 6c 2e 47 52 |Team == |Level.GR|
|00000880| 49 2e 54 65 61 6d 73 5b | 30 5d 20 29 0d 0a 09 09 |I.Teams[|0] )....|
|00000890| 45 6e 65 6d 79 54 65 61 | 6d 20 3d 20 4c 65 76 65 |EnemyTea|m = Leve|
|000008a0| 6c 2e 47 52 49 2e 54 65 | 61 6d 73 5b 31 5d 3b 0d |l.GRI.Te|ams[1];.|
|000008b0| 0a 09 65 6c 73 65 0d 0a | 09 09 45 6e 65 6d 79 54 |..else..|..EnemyT|
|000008c0| 65 61 6d 20 3d 20 4c 65 | 76 65 6c 2e 47 52 49 2e |eam = Le|vel.GRI.|
|000008d0| 54 65 61 6d 73 5b 30 5d | 3b 0d 0a 0d 0a 09 47 20 |Teams[0]|;.....G |
|000008e0| 3d 20 44 65 61 74 68 4d | 61 74 63 68 28 4c 65 76 |= DeathM|atch(Lev|
|000008f0| 65 6c 2e 47 61 6d 65 29 | 3b 0d 0a 09 69 66 20 28 |el.Game)|;...if (|
|00000900| 20 28 47 2e 47 6f 61 6c | 53 63 6f 72 65 20 3e 20 | (G.Goal|Score > |
|00000910| 30 29 20 26 26 20 28 54 | 65 61 6d 2e 53 63 6f 72 |0) && (T|eam.Scor|
|00000920| 65 20 3e 20 47 2e 47 6f | 61 6c 53 63 6f 72 65 20 |e > G.Go|alScore |
|00000930| 2d 20 37 29 20 26 26 20 | 28 54 65 61 6d 2e 53 63 |- 7) && |(Team.Sc|
|00000940| 6f 72 65 20 3c 20 47 2e | 47 6f 61 6c 53 63 6f 72 |ore < G.|GoalScor|
|00000950| 65 20 2d 20 33 29 20 29 | 0d 0a 09 09 62 4e 65 65 |e - 3) )|....bNee|
|00000960| 64 54 6f 75 63 68 44 6f | 77 6e 20 3d 20 74 72 75 |dTouchDo|wn = tru|
|00000970| 65 3b 0d 0a 09 65 6c 73 | 65 20 69 66 20 28 20 54 |e;...els|e if ( T|
|00000980| 65 61 6d 2e 53 63 6f 72 | 65 20 3e 20 45 6e 65 6d |eam.Scor|e > Enem|
|00000990| 79 54 65 61 6d 2e 53 63 | 6f 72 65 20 29 0d 0a 09 |yTeam.Sc|ore )...|
|000009a0| 09 62 4e 65 65 64 54 6f | 75 63 68 44 6f 77 6e 20 |.bNeedTo|uchDown |
|000009b0| 3d 20 28 20 54 65 61 6d | 2e 53 63 6f 72 65 20 3c |= ( Team|.Score <|
|000009c0| 20 45 6e 65 6d 79 54 65 | 61 6d 2e 53 63 6f 72 65 | EnemyTe|am.Score|
|000009d0| 20 2b 20 33 20 29 3b 0d | 0a 09 65 6c 73 65 0d 0a | + 3 );.|..else..|
|000009e0| 09 09 62 4e 65 65 64 54 | 6f 75 63 68 44 6f 77 6e |..bNeedT|ouchDown|
|000009f0| 20 3d 20 28 20 45 6e 65 | 6d 79 54 65 61 6d 2e 53 | = ( Ene|myTeam.S|
|00000a00| 63 6f 72 65 20 3e 20 54 | 65 61 6d 2e 53 63 6f 72 |core > T|eam.Scor|
|00000a10| 65 20 2b 20 33 20 29 3b | 0d 0a 0d 0a 09 69 66 20 |e + 3 );|.....if |
|00000a20| 28 20 62 4e 65 65 64 54 | 6f 75 63 68 44 6f 77 6e |( bNeedT|ouchDown|
|00000a30| 20 29 0d 0a 09 7b 0d 0a | 09 09 69 66 20 28 20 28 | )...{..|..if ( (|
|00000a40| 47 2e 54 69 6d 65 4c 69 | 6d 69 74 20 3e 20 30 29 |G.TimeLi|mit > 0)|
|00000a50| 20 26 26 20 28 47 2e 52 | 65 6d 61 69 6e 69 6e 67 | && (G.R|emaining|
|00000a60| 54 69 6d 65 20 3c 20 39 | 30 29 20 29 0d 0a 09 09 |Time < 9|0) )....|
|00000a70| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0a |.return |false;..|
|00000a80| 09 09 72 65 74 75 72 6e | 20 28 20 45 6e 65 6d 79 |..return| ( Enemy|
|00000a90| 42 61 73 65 2e 47 65 74 | 44 69 66 66 69 63 75 6c |Base.Get|Difficul|
|00000aa0| 74 79 28 29 20 3c 20 53 | 63 6f 72 69 6e 67 52 61 |ty() < S|coringRa|
|00000ab0| 6e 64 20 2b 20 30 2e 33 | 20 29 3b 0d 0a 09 7d 0d |nd + 0.3| );...}.|
|00000ac0| 0a 09 69 66 20 28 20 42 | 2e 50 61 77 6e 2e 57 65 |..if ( B|.Pawn.We|
|00000ad0| 61 70 6f 6e 2e 49 73 41 | 28 27 53 75 70 65 72 53 |apon.IsA|('SuperS|
|00000ae0| 68 6f 63 6b 52 69 66 6c | 65 27 29 20 26 26 20 28 |hockRifl|e') && (|
|00000af0| 46 52 61 6e 64 28 29 20 | 3c 20 30 2e 35 29 20 29 |FRand() |< 0.5) )|
|00000b00| 0d 0a 09 09 72 65 74 75 | 72 6e 20 74 72 75 65 3b |....retu|rn true;|
|00000b10| 0d 0a 0d 0a 09 69 66 20 | 28 20 42 2e 50 61 77 6e |.....if |( B.Pawn|
|00000b20| 2e 48 65 61 6c 74 68 20 | 3c 20 33 30 20 29 0d 0a |.Health |< 30 )..|
|00000b30| 09 09 72 65 74 75 72 6e | 20 28 20 45 6e 65 6d 79 |..return| ( Enemy|
|00000b40| 42 61 73 65 2e 47 65 74 | 44 69 66 66 69 63 75 6c |Base.Get|Difficul|
|00000b50| 74 79 28 29 20 3c 20 53 | 63 6f 72 69 6e 67 52 61 |ty() < S|coringRa|
|00000b60| 6e 64 20 2d 20 30 2e 33 | 20 29 3b 0d 0a 0d 0a 09 |nd - 0.3| );.....|
|00000b70| 72 65 74 75 72 6e 20 28 | 20 45 6e 65 6d 79 42 61 |return (| EnemyBa|
|00000b80| 73 65 2e 47 65 74 44 69 | 66 66 69 63 75 6c 74 79 |se.GetDi|fficulty|
|00000b90| 28 29 20 3c 20 53 63 6f | 72 69 6e 67 52 61 6e 64 |() < Sco|ringRand|
|00000ba0| 20 29 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 | );..}..|..functi|
|00000bb0| 6f 6e 20 62 6f 6f 6c 20 | 54 72 79 50 61 73 73 54 |on bool |TryPassT|
|00000bc0| 6f 28 76 65 63 74 6f 72 | 20 56 2c 20 42 6f 74 20 |o(vector| V, Bot |
|00000bd0| 43 61 72 72 69 65 72 42 | 6f 74 2c 20 50 61 77 6e |CarrierB|ot, Pawn|
|00000be0| 20 52 65 63 69 70 69 65 | 6e 74 29 0d 0a 7b 0d 0a | Recipie|nt)..{..|
|00000bf0| 09 6c 6f 63 61 6c 20 50 | 61 77 6e 20 43 61 72 72 |.local P|awn Carr|
|00000c00| 69 65 72 3b 0d 0a 0d 0a | 09 43 61 72 72 69 65 72 |ier;....|.Carrier|
|00000c10| 20 3d 20 43 61 72 72 69 | 65 72 42 6f 74 2e 50 61 | = Carri|erBot.Pa|
|00000c20| 77 6e 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 28 28 52 |wn;.....|if ( ((R|
|00000c30| 65 63 69 70 69 65 6e 74 | 2e 48 65 61 6c 74 68 20 |ecipient|.Health |
|00000c40| 2b 20 52 65 63 69 70 69 | 65 6e 74 2e 53 68 69 65 |+ Recipi|ent.Shie|
|00000c50| 6c 64 53 74 72 65 6e 67 | 74 68 20 3e 3d 20 46 4d |ldStreng|th >= FM|
|00000c60| 69 6e 28 36 30 2c 43 61 | 72 72 69 65 72 2e 48 65 |in(60,Ca|rrier.He|
|00000c70| 61 6c 74 68 29 29 0d 0a | 09 09 09 09 09 7c 7c 20 |alth))..|.....|| |
|00000c80| 52 65 63 69 70 69 65 6e | 74 2e 49 6e 43 75 72 72 |Recipien|t.InCurr|
|00000c90| 65 6e 74 43 6f 6d 62 6f | 28 29 20 7c 7c 20 28 52 |entCombo|() || (R|
|00000ca0| 65 63 69 70 69 65 6e 74 | 2e 43 6f 6e 74 72 6f 6c |ecipient|.Control|
|00000cb0| 6c 65 72 2e 41 64 72 65 | 6e 61 6c 69 6e 65 20 3d |ler.Adre|naline =|
|00000cc0| 3d 20 52 65 63 69 70 69 | 65 6e 74 2e 43 6f 6e 74 |= Recipi|ent.Cont|
|00000cd0| 72 6f 6c 6c 65 72 2e 41 | 64 72 65 6e 61 6c 69 6e |roller.A|drenalin|
|00000ce0| 65 4d 61 78 29 29 0d 0a | 09 09 09 09 26 26 20 28 |eMax))..|....&& (|
|00000cf0| 56 53 69 7a 65 28 52 65 | 63 69 70 69 65 6e 74 2e |VSize(Re|cipient.|
|00000d00| 4c 6f 63 61 74 69 6f 6e | 20 2d 20 43 61 72 72 69 |Location| - Carri|
|00000d10| 65 72 2e 4c 6f 63 61 74 | 69 6f 6e 29 20 3c 20 33 |er.Locat|ion) < 3|
|00000d20| 35 30 30 29 0d 0a 09 09 | 09 09 26 26 20 28 28 56 |500)....|..&& ((V|
|00000d30| 20 44 6f 74 20 4e 6f 72 | 6d 61 6c 28 52 65 63 69 | Dot Nor|mal(Reci|
|00000d40| 70 69 65 6e 74 2e 4c 6f | 63 61 74 69 6f 6e 20 2d |pient.Lo|cation -|
|00000d50| 20 43 61 72 72 69 65 72 | 2e 4c 6f 63 61 74 69 6f | Carrier|.Locatio|
|00000d60| 6e 29 29 20 3e 20 30 2e | 35 29 0d 0a 09 09 09 09 |n)) > 0.|5)......|
|00000d70| 26 26 20 28 52 65 63 69 | 70 69 65 6e 74 2e 49 73 |&& (Reci|pient.Is|
|00000d80| 48 75 6d 61 6e 43 6f 6e | 74 72 6f 6c 6c 65 64 28 |HumanCon|trolled(|
|00000d90| 29 0d 0a 09 09 09 09 09 | 7c 7c 20 28 43 61 72 72 |).......||| (Carr|
|00000da0| 69 65 72 42 6f 74 2e 46 | 6f 63 75 73 20 3d 3d 20 |ierBot.F|ocus == |
|00000db0| 43 61 72 72 69 65 72 42 | 6f 74 2e 4d 6f 76 65 54 |CarrierB|ot.MoveT|
|00000dc0| 61 72 67 65 74 29 0d 0a | 09 09 09 09 09 7c 7c 20 |arget)..|.....|| |
|00000dd0| 28 52 65 63 69 70 69 65 | 6e 74 2e 43 6f 6e 74 72 |(Recipie|nt.Contr|
|00000de0| 6f 6c 6c 65 72 2e 4d 6f | 76 65 54 61 72 67 65 74 |oller.Mo|veTarget|
|00000df0| 20 3d 3d 20 43 61 72 72 | 69 65 72 42 6f 74 2e 52 | == Carr|ierBot.R|
|00000e00| 6f 75 74 65 43 61 63 68 | 65 5b 30 5d 29 0d 0a 09 |outeCach|e[0])...|
|00000e10| 09 09 09 09 7c 7c 20 28 | 52 65 63 69 70 69 65 6e |....|| (|Recipien|
|00000e20| 74 2e 43 6f 6e 74 72 6f | 6c 6c 65 72 2e 4d 6f 76 |t.Contro|ller.Mov|
|00000e30| 65 54 61 72 67 65 74 20 | 3d 3d 20 43 61 72 72 69 |eTarget |== Carri|
|00000e40| 65 72 42 6f 74 2e 52 6f | 75 74 65 43 61 63 68 65 |erBot.Ro|uteCache|
|00000e50| 5b 31 5d 29 0d 0a 09 09 | 09 09 09 7c 7c 20 28 52 |[1])....|...|| (R|
|00000e60| 65 63 69 70 69 65 6e 74 | 2e 43 6f 6e 74 72 6f 6c |ecipient|.Control|
|00000e70| 6c 65 72 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 3d |ler.Move|Target =|
|00000e80| 3d 20 43 61 72 72 69 65 | 72 42 6f 74 2e 52 6f 75 |= Carrie|rBot.Rou|
|00000e90| 74 65 43 61 63 68 65 5b | 32 5d 29 29 0d 0a 09 09 |teCache[|2]))....|
|00000ea0| 09 09 26 26 20 43 61 72 | 72 69 65 72 2e 4c 69 6e |..&& Car|rier.Lin|
|00000eb0| 65 4f 66 53 69 67 68 74 | 54 6f 28 52 65 63 69 70 |eOfSight|To(Recip|
|00000ec0| 69 65 6e 74 29 20 29 0d | 0a 09 7b 0d 0a 09 09 50 |ient) ).|..{....P|
|00000ed0| 61 73 73 54 61 72 67 65 | 74 20 3d 20 42 6f 74 28 |assTarge|t = Bot(|
|00000ee0| 52 65 63 69 70 69 65 6e | 74 2e 43 6f 6e 74 72 6f |Recipien|t.Contro|
|00000ef0| 6c 6c 65 72 29 3b 0d 0a | 09 09 43 61 72 72 69 65 |ller);..|..Carrie|
|00000f00| 72 2e 57 65 61 70 6f 6e | 2e 53 65 74 41 49 54 61 |r.Weapon|.SetAITa|
|00000f10| 72 67 65 74 28 52 65 63 | 69 70 69 65 6e 74 29 3b |rget(Rec|ipient);|
|00000f20| 0d 0a 09 09 43 61 72 72 | 69 65 72 42 6f 74 2e 62 |....Carr|ierBot.b|
|00000f30| 50 6c 61 6e 6e 65 64 53 | 68 6f 74 20 3d 20 74 72 |PlannedS|hot = tr|
|00000f40| 75 65 3b 0d 0a 09 09 43 | 61 72 72 69 65 72 42 6f |ue;....C|arrierBo|
|00000f50| 74 2e 54 61 72 67 65 74 | 20 3d 20 52 65 63 69 70 |t.Target| = Recip|
|00000f60| 69 65 6e 74 3b 0d 0a 09 | 09 43 61 72 72 69 65 72 |ient;...|.Carrier|
|00000f70| 2e 57 65 61 70 6f 6e 2e | 42 6f 74 46 69 72 65 28 |.Weapon.|BotFire(|
|00000f80| 66 61 6c 73 65 29 3b 0d | 0a 09 09 72 65 74 75 72 |false);.|...retur|
|00000f90| 6e 20 74 72 75 65 3b 0d | 0a 09 7d 0d 0a 09 72 65 |n true;.|..}...re|
|00000fa0| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 0a 7d 0d 0a |turn fal|se;..}..|
|00000fb0| 0d 0a 2f 2a 20 4f 72 64 | 65 72 73 46 6f 72 42 6f |../* Ord|ersForBo|
|00000fc0| 6d 62 43 61 72 72 69 65 | 72 28 29 0d 0a 54 65 6c |mbCarrie|r()..Tel|
|00000fd0| 6c 20 62 6f 74 20 77 68 | 61 74 20 74 6f 20 64 6f |l bot wh|at to do|
|00000fe0| 20 69 66 20 68 65 27 73 | 20 63 61 72 72 79 69 6e | if he's| carryin|
|00000ff0| 67 20 74 68 65 20 66 6c | 61 67 0d 0a 2a 2f 0d 0a |g the fl|ag..*/..|
|00001000| 66 75 6e 63 74 69 6f 6e | 20 62 6f 6f 6c 20 4f 72 |function| bool Or|
|00001010| 64 65 72 73 46 6f 72 42 | 6f 6d 62 43 61 72 72 69 |dersForB|ombCarri|
|00001020| 65 72 28 42 6f 74 20 42 | 29 0d 0a 7b 0d 0a 09 6c |er(Bot B|)..{...l|
|00001030| 6f 63 61 6c 20 62 6f 74 | 20 53 3b 0d 0a 09 6c 6f |ocal bot| S;...lo|
|00001040| 63 61 6c 20 76 65 63 74 | 6f 72 20 56 3b 0d 0a 09 |cal vect|or V;...|
|00001050| 6c 6f 63 61 6c 20 63 6f | 6e 74 72 6f 6c 6c 65 72 |local co|ntroller|
|00001060| 20 43 3b 0d 0a 09 6c 6f | 63 61 6c 20 50 6c 61 79 | C;...lo|cal Play|
|00001070| 65 72 43 6f 6e 74 72 6f | 6c 6c 65 72 20 50 43 3b |erContro|ller PC;|
|00001080| 0d 0a 09 6c 6f 63 61 6c | 20 62 6f 6f 6c 20 62 50 |...local| bool bP|
|00001090| 61 73 73 69 6e 67 2c 20 | 62 43 61 6e 50 61 73 73 |assing, |bCanPass|
|000010a0| 2c 20 62 53 65 6c 66 50 | 61 73 73 3b 0d 0a 0d 0a |, bSelfP|ass;....|
|000010b0| 09 42 2e 54 72 79 43 6f | 6d 62 6f 28 22 78 47 61 |.B.TryCo|mbo("xGa|
|000010c0| 6d 65 2e 43 6f 6d 62 6f | 53 70 65 65 64 22 29 3b |me.Combo|Speed");|
|000010d0| 0d 0a 0d 0a 09 69 66 20 | 28 20 28 42 2e 45 6e 65 |.....if |( (B.Ene|
|000010e0| 6d 79 20 21 3d 20 4e 6f | 6e 65 29 20 26 26 20 28 |my != No|ne) && (|
|000010f0| 42 2e 50 61 77 6e 2e 48 | 65 61 6c 74 68 20 3c 20 |B.Pawn.H|ealth < |
|00001100| 36 30 20 29 29 0d 0a 09 | 09 42 2e 53 65 6e 64 4d |60 ))...|.B.SendM|
|00001110| 65 73 73 61 67 65 28 4e | 6f 6e 65 2c 20 27 4f 54 |essage(N|one, 'OT|
|00001120| 48 45 52 27 2c 20 42 2e | 47 65 74 4d 65 73 73 61 |HER', B.|GetMessa|
|00001130| 67 65 49 6e 64 65 78 28 | 27 4e 45 45 44 42 41 43 |geIndex(|'NEEDBAC|
|00001140| 4b 55 50 27 29 2c 20 32 | 35 2c 20 27 54 45 41 4d |KUP'), 2|5, 'TEAM|
|00001150| 27 29 3b 0d 0a 0d 0a 09 | 42 2e 62 50 6c 61 6e 6e |');.....|B.bPlann|
|00001160| 65 64 53 68 6f 74 20 3d | 20 66 61 6c 73 65 3b 0d |edShot =| false;.|
|00001170| 0a 09 53 65 6c 66 50 61 | 73 73 65 72 20 3d 20 4e |..SelfPa|sser = N|
|00001180| 6f 6e 65 3b 0d 0a 09 50 | 61 73 73 54 61 72 67 65 |one;...P|assTarge|
|00001190| 74 20 3d 20 4e 6f 6e 65 | 3b 0d 0a 0d 0a 09 2f 2f |t = None|;.....//|
|000011a0| 20 64 65 63 69 64 65 20 | 77 68 65 74 68 65 72 20 | decide |whether |
|000011b0| 74 6f 20 70 61 73 73 20 | 62 61 6c 6c 0d 0a 09 69 |to pass |ball...i|
|000011c0| 66 20 28 20 28 56 53 69 | 7a 65 28 42 2e 50 61 77 |f ( (VSi|ze(B.Paw|
|000011d0| 6e 2e 4c 6f 63 61 74 69 | 6f 6e 20 2d 20 45 6e 65 |n.Locati|on - Ene|
|000011e0| 6d 79 42 61 73 65 2e 4c | 6f 63 61 74 69 6f 6e 29 |myBase.L|ocation)|
|000011f0| 20 3e 20 33 30 30 30 29 | 0d 0a 09 09 26 26 20 28 | > 3000)|....&& (|
|00001200| 56 53 69 7a 65 28 42 2e | 50 61 77 6e 2e 4c 6f 63 |VSize(B.|Pawn.Loc|
|00001210| 61 74 69 6f 6e 20 2d 20 | 48 6f 6d 65 42 61 73 65 |ation - |HomeBase|
|00001220| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3e 20 33 30 30 |.Locatio|n) > 300|
|00001230| 30 29 0d 0a 09 09 26 26 | 20 21 42 2e 50 61 77 6e |0)....&&| !B.Pawn|
|00001240| 2e 49 6e 43 75 72 72 65 | 6e 74 43 6f 6d 62 6f 28 |.InCurre|ntCombo(|
|00001250| 29 20 29 0d 0a 09 09 09 | 62 43 61 6e 50 61 73 73 |) ).....|bCanPass|
|00001260| 20 3d 20 74 72 75 65 3b | 0d 0a 0d 0a 09 62 53 65 | = true;|.....bSe|
|00001270| 6c 66 50 61 73 73 20 3d | 20 47 61 6d 65 4f 62 6a |lfPass =| GameObj|
|00001280| 65 63 74 28 42 2e 50 6c | 61 79 65 72 52 65 70 6c |ect(B.Pl|ayerRepl|
|00001290| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 48 61 73 46 |icationI|nfo.HasF|
|000012a0| 6c 61 67 29 2e 43 61 6e | 42 65 54 68 72 6f 77 6e |lag).Can|BeThrown|
|000012b0| 42 79 28 42 2e 50 61 77 | 6e 29 0d 0a 09 09 09 09 |By(B.Paw|n)......|
|000012c0| 26 26 20 62 43 61 6e 50 | 61 73 73 20 26 26 20 28 |&& bCanP|ass && (|
|000012d0| 42 2e 54 72 61 6e 73 6c | 6f 63 46 72 65 71 20 3c |B.Transl|ocFreq <|
|000012e0| 20 4c 65 76 65 6c 2e 54 | 69 6d 65 53 65 63 6f 6e | Level.T|imeSecon|
|000012f0| 64 73 20 2b 20 31 32 29 | 20 26 26 20 28 42 2e 53 |ds + 12)| && (B.S|
|00001300| 6b 69 6c 6c 20 2b 20 42 | 2e 54 61 63 74 69 63 73 |kill + B|.Tactics|
|00001310| 20 3e 20 33 20 2b 20 34 | 2a 46 52 61 6e 64 28 29 | > 3 + 4|*FRand()|
|00001320| 29 0d 0a 09 09 09 09 26 | 26 20 28 28 42 2e 45 6e |)......&|& ((B.En|
|00001330| 65 6d 79 20 3d 3d 20 4e | 6f 6e 65 29 20 7c 7c 20 |emy == N|one) || |
|00001340| 28 56 53 69 7a 65 28 42 | 2e 50 61 77 6e 2e 4c 6f |(VSize(B|.Pawn.Lo|
|00001350| 63 61 74 69 6f 6e 20 2d | 20 48 6f 6d 65 42 61 73 |cation -| HomeBas|
|00001360| 65 2e 4c 6f 63 61 74 69 | 6f 6e 29 20 3e 20 35 30 |e.Locati|on) > 50|
|00001370| 30 30 29 29 3b 0d 0a 0d | 0a 09 69 66 20 28 20 62 |00));...|..if ( b|
|00001380| 43 61 6e 50 61 73 73 20 | 29 0d 0a 09 7b 0d 0a 09 |CanPass |)...{...|
|00001390| 09 2f 2f 20 63 68 65 63 | 6b 20 66 6f 72 20 6e 65 |.// chec|k for ne|
|000013a0| 61 72 62 79 20 74 65 61 | 6d 6d 61 74 65 20 74 6f |arby tea|mmate to|
|000013b0| 20 70 61 73 73 20 74 6f | 0d 0a 09 09 2f 2f 20 66 | pass to|....// f|
|000013c0| 69 72 73 74 20 63 68 65 | 63 6b 20 66 6f 72 20 68 |irst che|ck for h|
|000013d0| 75 6d 61 6e 20 70 6c 61 | 79 65 72 0d 0a 09 09 56 |uman pla|yer....V|
|000013e0| 20 3d 20 76 65 63 74 6f | 72 28 42 2e 50 61 77 6e | = vecto|r(B.Pawn|
|000013f0| 2e 52 6f 74 61 74 69 6f | 6e 29 3b 0d 0a 09 09 66 |.Rotatio|n);....f|
|00001400| 6f 72 20 28 20 43 3d 4c | 65 76 65 6c 2e 43 6f 6e |or ( C=L|evel.Con|
|00001410| 74 72 6f 6c 6c 65 72 4c | 69 73 74 3b 20 43 21 3d |trollerL|ist; C!=|
|00001420| 4e 6f 6e 65 3b 20 43 3d | 43 2e 4e 65 78 74 43 6f |None; C=|C.NextCo|
|00001430| 6e 74 72 6f 6c 6c 65 72 | 20 29 0d 0a 09 09 7b 0d |ntroller| )....{.|
|00001440| 0a 09 09 09 50 43 20 3d | 20 50 6c 61 79 65 72 43 |....PC =| PlayerC|
|00001450| 6f 6e 74 72 6f 6c 6c 65 | 72 28 43 29 3b 0d 0a 09 |ontrolle|r(C);...|
|00001460| 09 09 69 66 20 28 20 28 | 50 43 20 21 3d 20 4e 6f |..if ( (|PC != No|
|00001470| 6e 65 29 20 26 26 20 42 | 2e 53 61 6d 65 54 65 61 |ne) && B|.SameTea|
|00001480| 6d 41 73 28 50 43 29 20 | 26 26 20 28 50 43 2e 50 |mAs(PC) |&& (PC.P|
|00001490| 61 77 6e 20 21 3d 20 4e | 6f 6e 65 29 20 26 26 20 |awn != N|one) && |
|000014a0| 54 72 79 50 61 73 73 54 | 6f 28 56 2c 42 2c 50 43 |TryPassT|o(V,B,PC|
|000014b0| 2e 50 61 77 6e 29 20 29 | 0d 0a 09 09 09 7b 0d 0a |.Pawn) )|.....{..|
|000014c0| 09 09 09 09 62 43 61 6e | 50 61 73 73 20 3d 20 66 |....bCan|Pass = f|
|000014d0| 61 6c 73 65 3b 09 09 2f | 2f 20 73 6f 20 64 6f 6e |alse;../|/ so don|
|000014e0| 27 74 20 74 72 79 20 74 | 6f 20 70 61 73 73 20 74 |'t try t|o pass t|
|000014f0| 6f 20 62 6f 74 20 73 71 | 75 61 64 6d 61 74 65 0d |o bot sq|uadmate.|
|00001500| 0a 09 09 09 09 62 50 61 | 73 73 69 6e 67 20 3d 20 |.....bPa|ssing = |
|00001510| 74 72 75 65 3b 0d 0a 09 | 09 09 09 62 72 65 61 6b |true;...|...break|
|00001520| 3b 0d 0a 09 09 09 7d 0d | 0a 09 09 09 65 6c 73 65 |;.....}.|....else|
|00001530| 0d 0a 09 09 09 09 50 43 | 20 3d 20 4e 6f 6e 65 3b |......PC| = None;|
|00001540| 0d 0a 09 09 7d 0d 0a 09 | 09 69 66 20 28 20 62 43 |....}...|.if ( bC|
|00001550| 61 6e 50 61 73 73 20 29 | 0d 0a 09 09 7b 0d 0a 09 |anPass )|....{...|
|00001560| 09 09 66 6f 72 20 28 20 | 53 3d 53 71 75 61 64 4d |..for ( |S=SquadM|
|00001570| 65 6d 62 65 72 73 3b 20 | 53 21 3d 4e 6f 6e 65 3b |embers; |S!=None;|
|00001580| 20 53 3d 53 2e 4e 65 78 | 74 53 71 75 61 64 4d 65 | S=S.Nex|tSquadMe|
|00001590| 6d 62 65 72 20 29 0d 0a | 09 09 09 7b 0d 0a 09 09 |mber )..|...{....|
|000015a0| 09 09 69 66 20 28 20 28 | 53 2e 50 61 77 6e 20 21 |..if ( (|S.Pawn !|
|000015b0| 3d 20 4e 6f 6e 65 29 0d | 0a 09 09 09 09 09 26 26 |= None).|......&&|
|000015c0| 20 28 28 53 2e 50 61 77 | 6e 2e 50 68 79 73 69 63 | ((S.Paw|n.Physic|
|000015d0| 73 20 21 3d 20 50 48 59 | 53 5f 46 61 6c 6c 69 6e |s != PHY|S_Fallin|
|000015e0| 67 29 20 7c 7c 20 28 53 | 2e 50 61 77 6e 2e 50 68 |g) || (S|.Pawn.Ph|
|000015f0| 79 73 69 63 73 56 6f 6c | 75 6d 65 2e 47 72 61 76 |ysicsVol|ume.Grav|
|00001600| 69 74 79 2e 5a 20 3c 20 | 2d 39 30 30 29 29 0d 0a |ity.Z < |-900))..|
|00001610| 09 09 09 09 09 26 26 20 | 54 72 79 50 61 73 73 54 |.....&& |TryPassT|
|00001620| 6f 28 56 2c 42 2c 53 2e | 50 61 77 6e 29 20 29 0d |o(V,B,S.|Pawn) ).|
|00001630| 0a 09 09 09 09 7b 0d 0a | 09 09 09 09 09 62 50 61 |.....{..|.....bPa|
|00001640| 73 73 69 6e 67 20 3d 20 | 74 72 75 65 3b 0d 0a 09 |ssing = |true;...|
|00001650| 09 09 09 09 62 72 65 61 | 6b 3b 0d 0a 09 09 09 09 |....brea|k;......|
|00001660| 7d 0d 0a 09 09 09 7d 0d | 0a 09 09 7d 0d 0a 09 7d |}.....}.|...}...}|
|00001670| 0d 0a 0d 0a 09 69 66 20 | 28 20 21 62 50 61 73 73 |.....if |( !bPass|
|00001680| 69 6e 67 20 26 26 20 50 | 72 65 66 65 72 53 68 6f |ing && P|referSho|
|00001690| 6f 74 53 63 6f 72 65 28 | 42 29 20 29 0d 0a 09 7b |otScore(|B) )...{|
|000016a0| 0d 0a 09 09 69 66 20 28 | 20 28 53 68 6f 6f 74 53 |....if (| (ShootS|
|000016b0| 70 6f 74 28 42 2e 50 61 | 77 6e 2e 41 6e 63 68 6f |pot(B.Pa|wn.Ancho|
|000016c0| 72 29 20 21 3d 20 4e 6f | 6e 65 29 20 26 26 20 42 |r) != No|ne) && B|
|000016d0| 2e 50 61 77 6e 2e 52 65 | 61 63 68 65 64 44 65 73 |.Pawn.Re|achedDes|
|000016e0| 74 69 6e 61 74 69 6f 6e | 28 42 2e 50 61 77 6e 2e |tination|(B.Pawn.|
|000016f0| 41 6e 63 68 6f 72 29 20 | 29 0d 0a 09 09 7b 0d 0a |Anchor) |)....{..|
|00001700| 09 09 09 42 2e 62 50 6c | 61 6e 6e 65 64 53 68 6f |...B.bPl|annedSho|
|00001710| 74 20 3d 20 74 72 75 65 | 3b 0d 0a 09 09 09 42 2e |t = true|;.....B.|
|00001720| 50 61 77 6e 2e 57 65 61 | 70 6f 6e 2e 53 65 74 41 |Pawn.Wea|pon.SetA|
|00001730| 49 54 61 72 67 65 74 28 | 45 6e 65 6d 79 42 61 73 |ITarget(|EnemyBas|
|00001740| 65 29 3b 0d 0a 09 09 09 | 42 2e 44 6f 52 61 6e 67 |e);.....|B.DoRang|
|00001750| 65 64 41 74 74 61 63 6b | 4f 6e 28 45 6e 65 6d 79 |edAttack|On(Enemy|
|00001760| 42 61 73 65 29 3b 0d 0a | 09 09 09 72 65 74 75 72 |Base);..|...retur|
|00001770| 6e 20 74 72 75 65 3b 0d | 0a 09 09 7d 0d 0a 09 09 |n true;.|...}....|
|00001780| 69 66 20 28 20 41 6c 74 | 65 72 6e 61 74 65 50 61 |if ( Alt|ernatePa|
|00001790| 74 68 20 3d 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 09 |th == No|ne )....|
|000017a0| 7b 0d 0a 09 09 09 42 2e | 4d 6f 76 65 54 61 72 67 |{.....B.|MoveTarg|
|000017b0| 65 74 20 3d 20 42 2e 46 | 69 6e 64 50 61 74 68 54 |et = B.F|indPathT|
|000017c0| 6f 77 61 72 64 4e 65 61 | 72 65 73 74 28 53 68 6f |owardNea|rest(Sho|
|000017d0| 6f 74 53 70 6f 74 43 6c | 61 73 73 5b 54 65 61 6d |otSpotCl|ass[Team|
|000017e0| 2e 54 65 61 6d 49 6e 64 | 65 78 5d 2c 66 61 6c 73 |.TeamInd|ex],fals|
|000017f0| 65 29 3b 0d 0a 09 09 09 | 69 66 20 28 20 42 2e 4d |e);.....|if ( B.M|
|00001800| 6f 76 65 54 61 72 67 65 | 74 20 21 3d 20 4e 6f 6e |oveTarge|t != Non|
|00001810| 65 20 29 0d 0a 09 09 09 | 7b 0d 0a 09 09 09 09 69 |e ).....|{......i|
|00001820| 66 20 28 20 62 53 65 6c | 66 50 61 73 73 20 29 0d |f ( bSel|fPass ).|
|00001830| 0a 09 09 09 09 09 50 61 | 73 73 54 6f 53 65 6c 66 |......Pa|ssToSelf|
|00001840| 28 42 29 3b 0d 0a 09 09 | 09 09 42 2e 47 6f 61 6c |(B);....|..B.Goal|
|00001850| 53 74 72 69 6e 67 20 3d | 20 22 4d 6f 76 65 20 74 |String =| "Move t|
|00001860| 6f 20 73 68 6f 6f 74 20 | 73 70 6f 74 20 22 24 42 |o shoot |spot "$B|
|00001870| 2e 52 6f 75 74 65 47 6f | 61 6c 3b 0d 0a 09 09 09 |.RouteGo|al;.....|
|00001880| 09 42 2e 53 65 74 41 74 | 74 72 61 63 74 69 6f 6e |.B.SetAt|traction|
|00001890| 53 74 61 74 65 28 29 3b | 0d 0a 09 09 09 09 72 65 |State();|......re|
|000018a0| 74 75 72 6e 20 74 72 75 | 65 3b 0d 0a 09 09 09 7d |turn tru|e;.....}|
|000018b0| 0d 0a 09 09 09 69 66 20 | 28 20 42 2e 62 53 6f 61 |.....if |( B.bSoa|
|000018c0| 6b 69 6e 67 20 29 0d 0a | 09 09 09 09 42 2e 53 6f |king )..|....B.So|
|000018d0| 61 6b 53 74 6f 70 28 22 | 4e 4f 20 50 41 54 48 20 |akStop("|NO PATH |
|000018e0| 54 4f 20 53 48 4f 4f 54 | 53 50 4f 54 22 29 3b 0d |TO SHOOT|SPOT");.|
|000018f0| 0a 09 09 7d 0d 0a 09 7d | 0d 0a 09 69 66 20 28 20 |...}...}|...if ( |
|00001900| 21 46 69 6e 64 50 61 74 | 68 54 6f 4f 62 6a 65 63 |!FindPat|hToObjec|
|00001910| 74 69 76 65 28 42 2c 45 | 6e 65 6d 79 42 61 73 65 |tive(B,E|nemyBase|
|00001920| 29 20 29 0d 0a 09 7b 0d | 0a 09 09 42 2e 47 6f 61 |) )...{.|...B.Goa|
|00001930| 6c 53 74 72 69 6e 67 20 | 3d 20 22 4e 6f 20 70 61 |lString |= "No pa|
|00001940| 74 68 20 74 6f 20 65 6e | 65 6d 79 20 62 61 73 65 |th to en|emy base|
|00001950| 20 66 6f 72 20 62 6f 6d | 62 20 63 61 72 72 69 65 | for bom|b carrie|
|00001960| 72 22 3b 0d 0a 09 09 72 | 65 74 75 72 6e 20 66 61 |r";....r|eturn fa|
|00001970| 6c 73 65 3b 0d 0a 09 7d | 0d 0a 09 69 66 20 28 20 |lse;...}|...if ( |
|00001980| 42 2e 4d 6f 76 65 54 61 | 72 67 65 74 20 3d 3d 20 |B.MoveTa|rget == |
|00001990| 45 6e 65 6d 79 42 61 73 | 65 20 29 0d 0a 09 7b 0d |EnemyBas|e )...{.|
|000019a0| 0a 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|000019b0| 3d 20 22 4e 65 61 72 20 | 65 6e 65 6d 79 20 42 61 |= "Near |enemy Ba|
|000019c0| 73 65 20 77 69 74 68 20 | 62 6f 6d 62 21 22 3b 0d |se with |bomb!";.|
|000019d0| 0a 09 09 69 66 20 28 20 | 42 2e 50 61 77 6e 2e 52 |...if ( |B.Pawn.R|
|000019e0| 65 61 63 68 65 64 44 65 | 73 74 69 6e 61 74 69 6f |eachedDe|stinatio|
|000019f0| 6e 28 45 6e 65 6d 79 42 | 61 73 65 29 20 29 0d 0a |n(EnemyB|ase) )..|
|00001a00| 09 09 09 45 6e 65 6d 79 | 42 61 73 65 2e 54 6f 75 |...Enemy|Base.Tou|
|00001a10| 63 68 28 42 2e 50 61 77 | 6e 29 3b 0d 0a 09 7d 0d |ch(B.Paw|n);...}.|
|00001a20| 0a 09 65 6c 73 65 20 69 | 66 20 28 20 62 50 61 73 |..else i|f ( bPas|
|00001a30| 73 69 6e 67 20 29 0d 0a | 09 09 42 2e 62 52 65 63 |sing )..|..B.bRec|
|00001a40| 6f 6d 6d 65 6e 64 46 61 | 73 74 4d 6f 76 65 20 3d |ommendFa|stMove =|
|00001a50| 20 74 72 75 65 3b 0d 0a | 09 65 6c 73 65 20 69 66 | true;..|.else if|
|00001a60| 20 28 20 62 53 65 6c 66 | 50 61 73 73 20 29 0d 0a | ( bSelf|Pass )..|
|00001a70| 09 09 50 61 73 73 54 6f | 53 65 6c 66 28 42 29 3b |..PassTo|Self(B);|
|00001a80| 0d 0a 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00001a90| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 50 |.}....fu|nction P|
|00001aa0| 61 73 73 54 6f 53 65 6c | 66 28 20 42 6f 74 20 42 |assToSel|f( Bot B|
|00001ab0| 20 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 28 42 2e | )..{...|if ( (B.|
|00001ac0| 50 61 77 6e 2e 50 68 79 | 73 69 63 73 56 6f 6c 75 |Pawn.Phy|sicsVolu|
|00001ad0| 6d 65 2e 47 72 61 76 69 | 74 79 2e 5a 20 3d 3d 20 |me.Gravi|ty.Z == |
|00001ae0| 42 2e 50 61 77 6e 2e 50 | 68 79 73 69 63 73 56 6f |B.Pawn.P|hysicsVo|
|00001af0| 6c 75 6d 65 2e 44 65 66 | 61 75 6c 74 2e 47 72 61 |lume.Def|ault.Gra|
|00001b00| 76 69 74 79 2e 5a 29 0d | 0a 09 09 26 26 20 28 42 |vity.Z).|...&& (B|
|00001b10| 2e 4d 6f 76 65 54 61 72 | 67 65 74 2e 4c 6f 63 61 |.MoveTar|get.Loca|
|00001b20| 74 69 6f 6e 2e 5a 20 3c | 3d 20 42 2e 50 61 77 6e |tion.Z <|= B.Pawn|
|00001b30| 2e 4c 6f 63 61 74 69 6f | 6e 2e 5a 20 2b 20 42 2e |.Locatio|n.Z + B.|
|00001b40| 50 61 77 6e 2e 43 6f 6c | 6c 69 73 69 6f 6e 48 65 |Pawn.Col|lisionHe|
|00001b50| 69 67 68 74 20 2b 20 4d | 41 58 53 54 45 50 48 45 |ight + M|AXSTEPHE|
|00001b60| 49 47 48 54 29 0d 0a 09 | 09 26 26 20 28 56 53 69 |IGHT)...|.&& (VSi|
|00001b70| 7a 65 28 42 2e 4d 6f 76 | 65 54 61 72 67 65 74 2e |ze(B.Mov|eTarget.|
|00001b80| 4c 6f 63 61 74 69 6f 6e | 20 2d 20 42 2e 50 61 77 |Location| - B.Paw|
|00001b90| 6e 2e 4c 6f 63 61 74 69 | 6f 6e 29 20 3e 20 35 30 |n.Locati|on) > 50|
|00001ba0| 30 29 0d 0a 09 09 26 26 | 20 28 28 76 65 63 74 6f |0)....&&| ((vecto|
|00001bb0| 72 28 42 2e 50 61 77 6e | 2e 52 6f 74 61 74 69 6f |r(B.Pawn|.Rotatio|
|00001bc0| 6e 29 20 44 6f 74 20 4e | 6f 72 6d 61 6c 28 42 2e |n) Dot N|ormal(B.|
|00001bd0| 4d 6f 76 65 54 61 72 67 | 65 74 2e 4c 6f 63 61 74 |MoveTarg|et.Locat|
|00001be0| 69 6f 6e 20 2d 20 42 2e | 50 61 77 6e 2e 4c 6f 63 |ion - B.|Pawn.Loc|
|00001bf0| 61 74 69 6f 6e 29 29 20 | 3e 20 30 2e 37 29 20 29 |ation)) |> 0.7) )|
|00001c00| 0d 0a 09 7b 0d 0a 09 09 | 53 65 6c 66 50 61 73 73 |...{....|SelfPass|
|00001c10| 65 72 20 3d 20 42 3b 0d | 0a 09 09 42 2e 50 61 77 |er = B;.|...B.Paw|
|00001c20| 6e 2e 57 65 61 70 6f 6e | 2e 53 65 74 41 49 54 61 |n.Weapon|.SetAITa|
|00001c30| 72 67 65 74 28 42 2e 4d | 6f 76 65 74 61 72 67 65 |rget(B.M|ovetarge|
|00001c40| 74 29 3b 0d 0a 09 09 42 | 2e 62 50 6c 61 6e 6e 65 |t);....B|.bPlanne|
|00001c50| 64 53 68 6f 74 20 3d 20 | 74 72 75 65 3b 0d 0a 09 |dShot = |true;...|
|00001c60| 09 42 2e 54 61 72 67 65 | 74 20 3d 20 42 2e 4d 6f |.B.Targe|t = B.Mo|
|00001c70| 76 65 74 61 72 67 65 74 | 3b 0d 0a 09 09 42 2e 50 |vetarget|;....B.P|
|00001c80| 61 77 6e 2e 57 65 61 70 | 6f 6e 2e 42 6f 74 46 69 |awn.Weap|on.BotFi|
|00001c90| 72 65 28 66 61 6c 73 65 | 29 3b 0d 0a 09 7d 0d 0a |re(false|);...}..|
|00001ca0| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 62 6f |}....fun|ction bo|
|00001cb0| 6f 6c 20 4d 75 73 74 4b | 65 65 70 45 6e 65 6d 79 |ol MustK|eepEnemy|
|00001cc0| 28 50 61 77 6e 20 45 29 | 0d 0a 7b 0d 0a 09 69 66 |(Pawn E)|..{...if|
|00001cd0| 20 28 20 28 45 20 3d 3d | 20 42 6f 6d 62 2e 48 6f | ( (E ==| Bomb.Ho|
|00001ce0| 6c 64 65 72 29 20 26 26 | 20 28 45 20 21 3d 20 4e |lder) &&| (E != N|
|00001cf0| 6f 6e 65 29 20 26 26 20 | 28 45 2e 48 65 61 6c 74 |one) && |(E.Healt|
|00001d00| 68 20 3e 20 30 29 20 29 | 0d 0a 09 09 72 65 74 75 |h > 0) )|....retu|
|00001d10| 72 6e 20 74 72 75 65 3b | 0d 0a 09 72 65 74 75 72 |rn true;|...retur|
|00001d20| 6e 20 66 61 6c 73 65 3b | 0d 0a 7d 0d 0a 0d 0a 66 |n false;|..}....f|
|00001d30| 75 6e 63 74 69 6f 6e 20 | 62 6f 6f 6c 20 4f 76 65 |unction |bool Ove|
|00001d40| 72 72 69 64 65 46 6f 6c | 6c 6f 77 50 6c 61 79 65 |rrideFol|lowPlaye|
|00001d50| 72 28 42 6f 74 20 42 29 | 0d 0a 7b 0d 0a 09 69 66 |r(Bot B)|..{...if|
|00001d60| 20 28 20 21 42 6f 6d 62 | 2e 62 48 6f 6d 65 20 29 | ( !Bomb|.bHome )|
|00001d70| 0d 0a 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |....retu|rn false|
|00001d80| 3b 0d 0a 09 09 0d 0a 09 | 69 66 20 28 20 42 6f 6d |;.......|if ( Bom|
|00001d90| 62 2e 48 6f 6d 65 42 61 | 73 65 2e 42 6f 74 4e 65 |b.HomeBa|se.BotNe|
|00001da0| 61 72 4f 62 6a 65 63 74 | 69 76 65 28 42 29 20 29 |arObject|ive(B) )|
|00001db0| 0d 0a 09 09 72 65 74 75 | 72 6e 20 42 6f 6d 62 2e |....retu|rn Bomb.|
|00001dc0| 48 6f 6d 65 42 61 73 65 | 2e 54 65 6c 6c 42 6f 74 |HomeBase|.TellBot|
|00001dd0| 48 6f 77 54 6f 44 69 73 | 61 62 6c 65 28 42 29 3b |HowToDis|able(B);|
|00001de0| 0d 0a 09 72 65 74 75 72 | 6e 20 66 61 6c 73 65 3b |...retur|n false;|
|00001df0| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00001e00| 62 6f 6f 6c 20 43 68 65 | 63 6b 53 71 75 61 64 4f |bool Che|ckSquadO|
|00001e10| 62 6a 65 63 74 69 76 65 | 73 28 42 6f 74 20 42 29 |bjective|s(Bot B)|
|00001e20| 0d 0a 7b 0d 0a 09 6c 6f | 63 61 6c 20 62 6f 6f 6c |..{...lo|cal bool|
|00001e30| 20 62 53 65 65 42 6f 6d | 62 2c 20 62 4f 6e 42 6f | bSeeBom|b, bOnBo|
|00001e40| 6d 62 48 6f 6c 64 65 72 | 54 65 61 6d 3b 0d 0a 09 |mbHolder|Team;...|
|00001e50| 6c 6f 63 61 6c 20 61 63 | 74 6f 72 20 42 6f 6d 62 |local ac|tor Bomb|
|00001e60| 50 6f 73 69 74 69 6f 6e | 3b 0d 0a 09 6c 6f 63 61 |Position|;...loca|
|00001e70| 6c 20 61 63 74 6f 72 20 | 42 6f 6d 62 43 61 72 72 |l actor |BombCarr|
|00001e80| 69 65 72 54 61 72 67 65 | 74 3b 0d 0a 09 6c 6f 63 |ierTarge|t;...loc|
|00001e90| 61 6c 20 63 6f 6e 74 72 | 6f 6c 6c 65 72 20 42 6f |al contr|oller Bo|
|00001ea0| 6d 62 43 61 72 72 69 65 | 72 3b 0d 0a 0d 0a 09 42 |mbCarrie|r;.....B|
|00001eb0| 2e 62 52 65 63 6f 6d 6d | 65 6e 64 46 61 73 74 4d |.bRecomm|endFastM|
|00001ec0| 6f 76 65 20 3d 20 66 61 | 6c 73 65 3b 0d 0a 09 69 |ove = fa|lse;...i|
|00001ed0| 66 20 28 20 42 6f 6d 62 | 2e 48 6f 6c 64 65 72 20 |f ( Bomb|.Holder |
|00001ee0| 3d 3d 20 42 2e 50 61 77 | 6e 20 29 0d 0a 09 09 72 |== B.Paw|n )....r|
|00001ef0| 65 74 75 72 6e 20 4f 72 | 64 65 72 73 46 6f 72 42 |eturn Or|dersForB|
|00001f00| 6f 6d 62 43 61 72 72 69 | 65 72 28 42 29 3b 0d 0a |ombCarri|er(B);..|
|00001f10| 09 65 6c 73 65 20 69 66 | 20 28 20 42 6f 6d 62 2e |.else if| ( Bomb.|
|00001f20| 48 6f 6c 64 65 72 20 3d | 3d 20 4e 6f 6e 65 20 29 |Holder =|= None )|
|00001f30| 0d 0a 09 09 53 63 6f 72 | 69 6e 67 52 61 6e 64 20 |....Scor|ingRand |
|00001f40| 3d 20 46 52 61 6e 64 28 | 29 3b 0d 0a 0d 0a 09 69 |= FRand(|);.....i|
|00001f50| 66 20 28 20 42 6f 6d 62 | 2e 62 48 6f 6d 65 20 29 |f ( Bomb|.bHome )|
|00001f60| 0d 0a 09 7b 0d 0a 09 09 | 50 61 73 73 54 61 72 67 |...{....|PassTarg|
|00001f70| 65 74 20 3d 20 4e 6f 6e | 65 3b 0d 0a 09 09 53 65 |et = Non|e;....Se|
|00001f80| 6c 66 50 61 73 73 65 72 | 20 3d 20 4e 6f 6e 65 3b |lfPasser| = None;|
|00001f90| 0d 0a 09 7d 0d 0a 09 65 | 6c 73 65 20 69 66 20 28 |...}...e|lse if (|
|00001fa0| 20 42 6f 6d 62 2e 48 6f | 6c 64 65 72 20 21 3d 20 | Bomb.Ho|lder != |
|00001fb0| 4e 6f 6e 65 20 29 0d 0a | 09 7b 0d 0a 09 09 50 61 |None )..|.{....Pa|
|00001fc0| 73 73 54 61 72 67 65 74 | 20 3d 20 4e 6f 6e 65 3b |ssTarget| = None;|
|00001fd0| 0d 0a 09 09 53 65 6c 66 | 50 61 73 73 65 72 20 3d |....Self|Passer =|
|00001fe0| 20 4e 6f 6e 65 3b 0d 0a | 09 09 62 4f 6e 42 6f 6d | None;..|..bOnBom|
|00001ff0| 62 48 6f 6c 64 65 72 54 | 65 61 6d 20 3d 20 42 2e |bHolderT|eam = B.|
|00002000| 53 61 6d 65 54 65 61 6d | 41 73 28 42 6f 6d 62 2e |SameTeam|As(Bomb.|
|00002010| 48 6f 6c 64 65 72 2e 43 | 6f 6e 74 72 6f 6c 6c 65 |Holder.C|ontrolle|
|00002020| 72 29 3b 0d 0a 09 7d 0d | 0a 0d 0a 09 69 66 20 28 |r);...}.|....if (|
|00002030| 20 28 42 6f 6d 62 2e 62 | 48 6f 6d 65 20 7c 7c 20 | (Bomb.b|Home || |
|00002040| 62 4f 6e 42 6f 6d 62 48 | 6f 6c 64 65 72 54 65 61 |bOnBombH|olderTea|
|00002050| 6d 29 20 26 26 20 20 42 | 2e 4e 65 65 64 57 65 61 |m) && B|.NeedWea|
|00002060| 70 6f 6e 28 29 20 26 26 | 20 42 2e 46 69 6e 64 49 |pon() &&| B.FindI|
|00002070| 6e 76 65 6e 74 6f 72 79 | 47 6f 61 6c 28 30 29 20 |nventory|Goal(0) |
|00002080| 29 0d 0a 09 7b 0d 0a 09 | 09 42 2e 47 6f 61 6c 53 |)...{...|.B.GoalS|
|00002090| 74 72 69 6e 67 20 3d 20 | 22 4e 65 65 64 20 77 65 |tring = |"Need we|
|000020a0| 61 70 6f 6e 20 6f 72 20 | 61 6d 6d 6f 22 3b 0d 0a |apon or |ammo";..|
|000020b0| 09 09 42 2e 53 65 74 41 | 74 74 72 61 63 74 69 6f |..B.SetA|ttractio|
|000020c0| 6e 53 74 61 74 65 28 29 | 3b 0d 0a 09 09 72 65 74 |nState()|;....ret|
|000020d0| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 09 7d 0d 0a 09 |urn true|;...}...|
|000020e0| 42 6f 6d 62 50 6f 73 69 | 74 69 6f 6e 20 3d 20 42 |BombPosi|tion = B|
|000020f0| 6f 6d 62 2e 50 6f 73 69 | 74 69 6f 6e 28 29 3b 0d |omb.Posi|tion();.|
|00002100| 0a 09 62 53 65 65 42 6f | 6d 62 20 3d 20 42 2e 4c |..bSeeBo|mb = B.L|
|00002110| 69 6e 65 4f 66 53 69 67 | 68 74 54 6f 28 42 6f 6d |ineOfSig|htTo(Bom|
|00002120| 62 50 6f 73 69 74 69 6f | 6e 29 3b 0d 0a 09 69 66 |bPositio|n);...if|
|00002130| 20 28 20 21 62 53 65 65 | 42 6f 6d 62 20 26 26 20 | ( !bSee|Bomb && |
|00002140| 42 2e 4e 65 65 64 57 65 | 61 70 6f 6e 28 29 20 26 |B.NeedWe|apon() &|
|00002150| 26 20 42 2e 46 69 6e 64 | 49 6e 76 65 6e 74 6f 72 |& B.Find|Inventor|
|00002160| 79 47 6f 61 6c 28 30 29 | 20 29 0d 0a 09 7b 0d 0a |yGoal(0)| )...{..|
|00002170| 09 09 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 20 3d |..B.Goal|String =|
|00002180| 20 22 4e 65 65 64 20 77 | 65 61 70 6f 6e 20 6f 72 | "Need w|eapon or|
|00002190| 20 61 6d 6d 6f 22 3b 0d | 0a 09 09 42 2e 53 65 74 | ammo";.|...B.Set|
|000021a0| 41 74 74 72 61 63 74 69 | 6f 6e 53 74 61 74 65 28 |Attracti|onState(|
|000021b0| 29 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 74 72 75 |);....re|turn tru|
|000021c0| 65 3b 0d 0a 09 7d 0d 0a | 09 69 66 20 28 20 62 4f |e;...}..|.if ( bO|
|000021d0| 6e 42 6f 6d 62 48 6f 6c | 64 65 72 54 65 61 6d 20 |nBombHol|derTeam |
|000021e0| 26 26 20 28 47 65 74 4f | 72 64 65 72 73 28 29 20 |&& (GetO|rders() |
|000021f0| 21 3d 20 27 44 65 66 65 | 6e 64 27 29 0d 0a 09 09 |!= 'Defe|nd')....|
|00002200| 26 26 20 28 21 53 71 75 | 61 64 4c 65 61 64 65 72 |&& (!Squ|adLeader|
|00002210| 2e 49 73 41 28 27 50 6c | 61 79 65 72 43 6f 6e 74 |.IsA('Pl|ayerCont|
|00002220| 72 6f 6c 6c 65 72 27 29 | 0d 0a 09 09 09 7c 7c 20 |roller')|.....|| |
|00002230| 28 28 53 71 75 61 64 4c | 65 61 64 65 72 20 3d 3d |((SquadL|eader ==|
|00002240| 20 42 6f 6d 62 2e 48 6f | 6c 64 65 72 2e 43 6f 6e | Bomb.Ho|lder.Con|
|00002250| 74 72 6f 6c 6c 65 72 29 | 20 26 26 20 28 42 2e 47 |troller)| && (B.G|
|00002260| 65 74 4f 72 64 65 72 73 | 28 29 20 3d 3d 27 46 6f |etOrders|() =='Fo|
|00002270| 6c 6c 6f 77 27 29 29 29 | 20 29 0d 0a 09 7b 0d 0a |llow')))| )...{..|
|00002280| 09 09 2f 2f 20 6d 61 6b | 65 20 62 6f 6d 62 20 63 |..// mak|e bomb c|
|00002290| 61 72 72 69 65 72 20 73 | 71 75 61 64 20 6c 65 61 |arrier s|quad lea|
|000022a0| 64 65 72 20 69 66 20 6f | 6e 20 73 61 6d 65 20 73 |der if o|n same s|
|000022b0| 71 75 61 64 0d 0a 09 09 | 42 6f 6d 62 43 61 72 72 |quad....|BombCarr|
|000022c0| 69 65 72 20 3d 20 42 6f | 6d 62 2e 48 6f 6c 64 65 |ier = Bo|mb.Holde|
|000022d0| 72 2e 43 6f 6e 74 72 6f | 6c 6c 65 72 3b 0d 0a 09 |r.Contro|ller;...|
|000022e0| 09 69 66 20 28 20 28 53 | 71 75 61 64 4c 65 61 64 |.if ( (S|quadLead|
|000022f0| 65 72 20 21 3d 20 42 6f | 6d 62 43 61 72 72 69 65 |er != Bo|mbCarrie|
|00002300| 72 29 20 26 26 20 49 73 | 4f 6e 53 71 75 61 64 28 |r) && Is|OnSquad(|
|00002310| 42 6f 6d 62 43 61 72 72 | 69 65 72 29 20 29 0d 0a |BombCarr|ier) )..|
|00002320| 09 09 09 53 65 74 4c 65 | 61 64 65 72 28 42 6f 6d |...SetLe|ader(Bom|
|00002330| 62 43 61 72 72 69 65 72 | 29 3b 0d 0a 0d 0a 09 09 |bCarrier|);......|
|00002340| 69 66 20 28 20 28 42 2e | 45 6e 65 6d 79 20 21 3d |if ( (B.|Enemy !=|
|00002350| 20 4e 6f 6e 65 29 20 26 | 26 20 42 2e 45 6e 65 6d | None) &|& B.Enem|
|00002360| 79 2e 4c 69 6e 65 4f 66 | 53 69 67 68 74 54 6f 28 |y.LineOf|SightTo(|
|00002370| 42 6f 6d 62 43 61 72 72 | 69 65 72 2e 50 61 77 6e |BombCarr|ier.Pawn|
|00002380| 29 20 26 26 20 28 42 2e | 53 6b 69 6c 6c 20 2b 20 |) && (B.|Skill + |
|00002390| 42 2e 53 74 72 61 66 69 | 6e 67 41 62 69 6c 69 74 |B.Strafi|ngAbilit|
|000023a0| 79 20 3c 20 33 29 20 29 | 0d 0a 09 09 7b 0d 0a 09 |y < 3) )|....{...|
|000023b0| 09 09 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 20 3d |..B.Goal|String =|
|000023c0| 20 22 46 69 67 68 74 20 | 65 6e 65 6d 79 20 74 68 | "Fight |enemy th|
|000023d0| 72 65 61 74 65 6e 69 6e | 67 20 66 6c 61 67 20 63 |reatenin|g flag c|
|000023e0| 61 72 72 69 65 72 22 3b | 0d 0a 09 09 09 42 2e 46 |arrier";|.....B.F|
|000023f0| 69 67 68 74 45 6e 65 6d | 79 28 74 72 75 65 2c 30 |ightEnem|y(true,0|
|00002400| 29 3b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 74 72 |);.....r|eturn tr|
|00002410| 75 65 3b 0d 0a 09 09 7d | 0d 0a 0d 0a 09 09 69 66 |ue;....}|......if|
|00002420| 20 28 20 41 49 43 6f 6e | 74 72 6f 6c 6c 65 72 28 | ( AICon|troller(|
|00002430| 42 6f 6d 62 43 61 72 72 | 69 65 72 29 20 3d 3d 20 |BombCarr|ier) == |
|00002440| 4e 6f 6e 65 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |None )..|..{.....|
|00002450| 69 66 20 28 20 62 53 65 | 65 42 6f 6d 62 20 29 0d |if ( bSe|eBomb ).|
|00002460| 0a 09 09 09 7b 0d 0a 09 | 09 09 09 69 66 20 28 20 |....{...|...if ( |
|00002470| 42 6f 6d 62 43 61 72 72 | 69 65 72 2e 50 61 77 6e |BombCarr|ier.Pawn|
|00002480| 2e 56 65 6c 6f 63 69 74 | 79 20 21 3d 20 76 65 63 |.Velocit|y != vec|
|00002490| 74 28 30 2c 30 2c 30 29 | 20 29 0d 0a 09 09 09 09 |t(0,0,0)| )......|
|000024a0| 7b 0d 0a 09 09 09 09 09 | 69 66 20 28 20 56 53 69 |{.......|if ( VSi|
|000024b0| 7a 65 28 42 6f 6d 62 43 | 61 72 72 69 65 72 2e 50 |ze(BombC|arrier.P|
|000024c0| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 20 2d 20 42 |awn.Loca|tion - B|
|000024d0| 2e 50 61 77 6e 2e 4c 6f | 63 61 74 69 6f 6e 29 20 |.Pawn.Lo|cation) |
|000024e0| 3c 20 33 30 30 30 20 29 | 0d 0a 09 09 09 09 09 7b |< 3000 )|.......{|
|000024f0| 0d 0a 09 09 09 09 09 09 | 42 2e 62 52 65 63 6f 6d |........|B.bRecom|
|00002500| 6d 65 6e 64 46 61 73 74 | 4d 6f 76 65 20 3d 20 74 |mendFast|Move = t|
|00002510| 72 75 65 3b 0d 0a 09 09 | 09 09 09 09 42 6f 6d 62 |rue;....|....Bomb|
|00002520| 43 61 72 72 69 65 72 54 | 61 72 67 65 74 20 3d 20 |CarrierT|arget = |
|00002530| 45 6e 65 6d 79 42 61 73 | 65 3b 0d 0a 09 09 09 09 |EnemyBas|e;......|
|00002540| 09 7d 0d 0a 09 09 09 09 | 7d 0d 0a 09 09 09 09 65 |.}......|}......e|
|00002550| 6c 73 65 20 69 66 20 28 | 20 28 42 2e 53 6b 69 6c |lse if (| (B.Skil|
|00002560| 6c 20 3e 20 33 29 20 26 | 26 20 28 56 53 69 7a 65 |l > 3) &|& (VSize|
|00002570| 28 42 6f 6d 62 43 61 72 | 72 69 65 72 2e 50 61 77 |(BombCar|rier.Paw|
|00002580| 6e 2e 4c 6f 63 61 74 69 | 6f 6e 20 2d 20 42 2e 50 |n.Locati|on - B.P|
|00002590| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 29 20 3c 20 |awn.Loca|tion) < |
|000025a0| 31 35 30 30 29 20 29 0d | 0a 09 09 09 09 7b 0d 0a |1500) ).|.....{..|
|000025b0| 09 09 09 09 09 42 2e 62 | 52 65 63 6f 6d 6d 65 6e |.....B.b|Recommen|
|000025c0| 64 46 61 73 74 4d 6f 76 | 65 20 3d 20 74 72 75 65 |dFastMov|e = true|
|000025d0| 3b 0d 0a 09 09 09 09 09 | 42 6f 6d 62 43 61 72 72 |;.......|BombCarr|
|000025e0| 69 65 72 54 61 72 67 65 | 74 20 3d 20 45 6e 65 6d |ierTarge|t = Enem|
|000025f0| 79 42 61 73 65 3b 0d 0a | 09 09 09 09 7d 0d 0a 09 |yBase;..|....}...|
|00002600| 09 09 09 65 6c 73 65 0d | 0a 09 09 09 09 09 42 6f |...else.|......Bo|
|00002610| 6d 62 43 61 72 72 69 65 | 72 54 61 72 67 65 74 20 |mbCarrie|rTarget |
|00002620| 3d 20 42 6f 6d 62 43 61 | 72 72 69 65 72 2e 50 61 |= BombCa|rrier.Pa|
|00002630| 77 6e 3b 0d 0a 09 09 09 | 7d 0d 0a 09 09 09 65 6c |wn;.....|}.....el|
|00002640| 73 65 0d 0a 09 09 09 09 | 42 6f 6d 62 43 61 72 72 |se......|BombCarr|
|00002650| 69 65 72 54 61 72 67 65 | 74 20 3d 20 42 6f 6d 62 |ierTarge|t = Bomb|
|00002660| 43 61 72 72 69 65 72 2e | 50 61 77 6e 3b 0d 0a 09 |Carrier.|Pawn;...|
|00002670| 09 7d 0d 0a 09 09 65 6c | 73 65 20 69 66 20 28 20 |.}....el|se if ( |
|00002680| 28 42 6f 6d 62 43 61 72 | 72 69 65 72 2e 4d 6f 76 |(BombCar|rier.Mov|
|00002690| 65 54 61 72 67 65 74 20 | 21 3d 20 4e 6f 6e 65 29 |eTarget |!= None)|
|000026a0| 0d 0a 09 09 09 09 26 26 | 20 28 42 6f 6d 62 43 61 |......&&| (BombCa|
|000026b0| 72 72 69 65 72 2e 50 61 | 77 6e 2e 56 65 6c 6f 63 |rrier.Pa|wn.Veloc|
|000026c0| 69 74 79 20 21 3d 20 76 | 65 63 74 28 30 2c 30 2c |ity != v|ect(0,0,|
|000026d0| 30 29 29 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 69 |0)) )...|.{.....i|
|000026e0| 66 20 28 20 28 42 6f 6d | 62 43 61 72 72 69 65 72 |f ( (Bom|bCarrier|
|000026f0| 2e 52 6f 75 74 65 43 61 | 63 68 65 5b 30 5d 20 3d |.RouteCa|che[0] =|
|00002700| 3d 20 42 6f 6d 62 43 61 | 72 72 69 65 72 2e 4d 6f |= BombCa|rrier.Mo|
|00002710| 76 65 54 61 72 67 65 74 | 29 0d 0a 09 09 09 09 26 |veTarget|)......&|
|00002720| 26 20 28 42 6f 6d 62 43 | 61 72 72 69 65 72 2e 52 |& (BombC|arrier.R|
|00002730| 6f 75 74 65 43 61 63 68 | 65 5b 31 5d 20 21 3d 20 |outeCach|e[1] != |
|00002740| 4e 6f 6e 65 29 20 29 0d | 0a 09 09 09 7b 0d 0a 09 |None) ).|....{...|
|00002750| 09 09 09 41 64 64 54 72 | 61 6e 73 69 65 6e 74 43 |...AddTr|ansientC|
|00002760| 6f 73 74 73 28 42 2c 30 | 2e 35 29 3b 0d 0a 09 09 |osts(B,0|.5);....|
|00002770| 09 09 42 2e 62 52 65 63 | 6f 6d 6d 65 6e 64 46 61 |..B.bRec|ommendFa|
|00002780| 73 74 4d 6f 76 65 20 3d | 20 74 72 75 65 3b 0d 0a |stMove =| true;..|
|00002790| 09 09 09 09 69 66 20 28 | 20 56 53 69 7a 65 28 42 |....if (| VSize(B|
|000027a0| 6f 6d 62 43 61 72 72 69 | 65 72 2e 50 61 77 6e 2e |ombCarri|er.Pawn.|
|000027b0| 4c 6f 63 61 74 69 6f 6e | 20 2d 20 42 2e 50 61 77 |Location| - B.Paw|
|000027c0| 6e 2e 4c 6f 63 61 74 69 | 6f 6e 29 20 3c 20 31 37 |n.Locati|on) < 17|
|000027d0| 30 30 20 29 0d 0a 09 09 | 09 09 09 42 6f 6d 62 43 |00 )....|...BombC|
|000027e0| 61 72 72 69 65 72 54 61 | 72 67 65 74 20 3d 20 42 |arrierTa|rget = B|
|000027f0| 6f 6d 62 43 61 72 72 69 | 65 72 2e 52 6f 75 74 65 |ombCarri|er.Route|
|00002800| 47 6f 61 6c 3b 0d 0a 09 | 09 09 09 65 6c 73 65 20 |Goal;...|...else |
|00002810| 69 66 20 28 20 28 42 6f | 6d 62 43 61 72 72 69 65 |if ( (Bo|mbCarrie|
|00002820| 72 2e 52 6f 75 74 65 43 | 61 63 68 65 5b 32 5d 20 |r.RouteC|ache[2] |
|00002830| 21 3d 20 4e 6f 6e 65 29 | 20 29 0d 0a 09 09 09 09 |!= None)| )......|
|00002840| 7b 0d 0a 09 09 09 09 09 | 69 66 20 28 20 28 42 6f |{.......|if ( (Bo|
|00002850| 6d 62 43 61 72 72 69 65 | 72 2e 52 6f 75 74 65 43 |mbCarrie|r.RouteC|
|00002860| 61 63 68 65 5b 33 5d 20 | 21 3d 20 4e 6f 6e 65 29 |ache[3] |!= None)|
|00002870| 0d 0a 09 09 09 09 09 09 | 26 26 20 28 46 52 61 6e |........|&& (FRan|
|00002880| 64 28 29 20 3c 20 30 2e | 37 29 20 29 0d 0a 09 09 |d() < 0.|7) )....|
|00002890| 09 09 09 09 42 6f 6d 62 | 43 61 72 72 69 65 72 54 |....Bomb|CarrierT|
|000028a0| 61 72 67 65 74 20 3d 20 | 42 6f 6d 62 43 61 72 72 |arget = |BombCarr|
|000028b0| 69 65 72 2e 52 6f 75 74 | 65 43 61 63 68 65 5b 33 |ier.Rout|eCache[3|
|000028c0| 5d 3b 0d 0a 09 09 09 09 | 09 65 6c 73 65 0d 0a 09 |];......|.else...|
|000028d0| 09 09 09 09 09 42 6f 6d | 62 43 61 72 72 69 65 72 |.....Bom|bCarrier|
|000028e0| 54 61 72 67 65 74 20 3d | 20 42 6f 6d 62 43 61 72 |Target =| BombCar|
|000028f0| 72 69 65 72 2e 52 6f 75 | 74 65 43 61 63 68 65 5b |rier.Rou|teCache[|
|00002900| 32 5d 3b 0d 0a 09 09 09 | 09 7d 0d 0a 09 09 09 09 |2];.....|.}......|
|00002910| 65 6c 73 65 0d 0a 09 09 | 09 09 09 42 6f 6d 62 43 |else....|...BombC|
|00002920| 61 72 72 69 65 72 54 61 | 72 67 65 74 20 3d 20 42 |arrierTa|rget = B|
|00002930| 6f 6d 62 43 61 72 72 69 | 65 72 2e 52 6f 75 74 65 |ombCarri|er.Route|
|00002940| 43 61 63 68 65 5b 31 5d | 3b 0d 0a 09 09 09 7d 0d |Cache[1]|;.....}.|
|00002950| 0a 09 09 09 65 6c 73 65 | 0d 0a 09 09 09 09 42 6f |....else|......Bo|
|00002960| 6d 62 43 61 72 72 69 65 | 72 54 61 72 67 65 74 20 |mbCarrie|rTarget |
|00002970| 3d 20 42 6f 6d 62 43 61 | 72 72 69 65 72 2e 4d 6f |= BombCa|rrier.Mo|
|00002980| 76 65 54 61 72 67 65 74 | 3b 0d 0a 09 09 7d 0d 0a |veTarget|;....}..|
|00002990| 09 09 65 6c 73 65 0d 0a | 09 09 09 42 6f 6d 62 43 |..else..|...BombC|
|000029a0| 61 72 72 69 65 72 54 61 | 72 67 65 74 20 3d 20 42 |arrierTa|rget = B|
|000029b0| 6f 6d 62 43 61 72 72 69 | 65 72 2e 50 61 77 6e 3b |ombCarri|er.Pawn;|
|000029c0| 0d 0a 09 09 46 69 6e 64 | 50 61 74 68 54 6f 4f 62 |....Find|PathToOb|
|000029d0| 6a 65 63 74 69 76 65 28 | 42 2c 42 6f 6d 62 43 61 |jective(|B,BombCa|
|000029e0| 72 72 69 65 72 54 61 72 | 67 65 74 29 3b 0d 0a 0d |rrierTar|get);...|
|000029f0| 0a 09 09 69 66 20 28 20 | 28 42 2e 4d 6f 76 65 54 |...if ( |(B.MoveT|
|00002a00| 61 72 67 65 74 20 3d 3d | 20 45 6e 65 6d 79 42 61 |arget ==| EnemyBa|
|00002a10| 73 65 29 20 7c 7c 20 42 | 2e 50 61 77 6e 2e 52 65 |se) || B|.Pawn.Re|
|00002a20| 61 63 68 65 64 44 65 73 | 74 69 6e 61 74 69 6f 6e |achedDes|tination|
|00002a30| 28 42 6f 6d 62 43 61 72 | 72 69 65 72 54 61 72 67 |(BombCar|rierTarg|
|00002a40| 65 74 29 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 69 |et) )...|.{.....i|
|00002a50| 66 20 28 20 42 2e 45 6e | 65 6d 79 20 21 3d 20 4e |f ( B.En|emy != N|
|00002a60| 6f 6e 65 20 29 0d 0a 09 | 09 09 7b 0d 0a 09 09 09 |one )...|..{.....|
|00002a70| 09 42 2e 47 6f 61 6c 53 | 74 72 69 6e 67 20 3d 20 |.B.GoalS|tring = |
|00002a80| 22 46 69 67 68 74 20 65 | 6e 65 6d 79 20 77 68 69 |"Fight e|nemy whi|
|00002a90| 6c 65 20 77 61 69 74 69 | 6e 67 20 66 6f 72 20 66 |le waiti|ng for f|
|00002aa0| 6c 61 67 20 63 61 72 72 | 69 65 72 22 3b 0d 0a 09 |lag carr|ier";...|
|00002ab0| 09 09 09 69 66 20 28 20 | 42 2e 4c 6f 73 74 43 6f |...if ( |B.LostCo|
|00002ac0| 6e 74 61 63 74 28 38 29 | 20 29 0d 0a 09 09 09 09 |ntact(8)| )......|
|00002ad0| 09 42 2e 4c 6f 73 65 45 | 6e 65 6d 79 28 29 3b 0d |.B.LoseE|nemy();.|
|00002ae0| 0a 09 09 09 09 69 66 20 | 28 20 42 2e 45 6e 65 6d |.....if |( B.Enem|
|00002af0| 79 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |y != Non|e ).....|
|00002b00| 09 7b 0d 0a 09 09 09 09 | 09 42 2e 46 69 67 68 74 |.{......|.B.Fight|
|00002b10| 45 6e 65 6d 79 28 66 61 | 6c 73 65 2c 30 29 3b 0d |Enemy(fa|lse,0);.|
|00002b20| 0a 09 09 09 09 09 72 65 | 74 75 72 6e 20 74 72 75 |......re|turn tru|
|00002b30| 65 3b 0d 0a 09 09 09 09 | 7d 0d 0a 09 09 09 7d 0d |e;......|}.....}.|
|00002b40| 0a 09 09 09 69 66 20 28 | 20 21 42 2e 62 49 6e 69 |....if (| !B.bIni|
|00002b50| 74 4c 69 66 65 4d 65 73 | 73 61 67 65 20 29 0d 0a |tLifeMes|sage )..|
|00002b60| 09 09 09 7b 0d 0a 09 09 | 09 09 42 2e 62 49 6e 69 |...{....|..B.bIni|
|00002b70| 74 4c 69 66 65 4d 65 73 | 73 61 67 65 20 3d 20 74 |tLifeMes|sage = t|
|00002b80| 72 75 65 3b 0d 0a 09 09 | 09 09 42 2e 53 65 6e 64 |rue;....|..B.Send|
|00002b90| 4d 65 73 73 61 67 65 28 | 42 6f 6d 62 43 61 72 72 |Message(|BombCarr|
|00002ba0| 69 65 72 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |ier.Play|erReplic|
|00002bb0| 61 74 69 6f 6e 49 6e 66 | 6f 2c 20 27 4f 54 48 45 |ationInf|o, 'OTHE|
|00002bc0| 52 27 2c 20 42 2e 47 65 | 74 4d 65 73 73 61 67 65 |R', B.Ge|tMessage|
|00002bd0| 49 6e 64 65 78 28 27 47 | 4f 54 59 4f 55 52 42 41 |Index('G|OTYOURBA|
|00002be0| 43 4b 27 29 2c 20 31 30 | 2c 20 27 54 45 41 4d 27 |CK'), 10|, 'TEAM'|
|00002bf0| 29 3b 0d 0a 09 09 09 7d | 0d 0a 09 09 09 42 2e 57 |);.....}|.....B.W|
|00002c00| 61 6e 64 65 72 4f 72 43 | 61 6d 70 28 74 72 75 65 |anderOrC|amp(true|
|00002c10| 29 3b 0d 0a 09 09 09 42 | 2e 47 6f 61 6c 53 74 72 |);.....B|.GoalStr|
|00002c20| 69 6e 67 20 3d 20 22 42 | 61 63 6b 20 75 70 20 74 |ing = "B|ack up t|
|00002c30| 68 65 20 66 6c 61 67 20 | 63 61 72 72 69 65 72 21 |he flag |carrier!|
|00002c40| 22 3b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 74 72 |";.....r|eturn tr|
|00002c50| 75 65 3b 0d 0a 09 09 7d | 0d 0a 09 09 42 2e 47 6f |ue;....}|....B.Go|
|00002c60| 61 6c 53 74 72 69 6e 67 | 20 3d 20 22 46 69 6e 64 |alString| = "Find|
|00002c70| 20 74 68 65 20 22 24 42 | 6f 6d 62 43 61 72 72 69 | the "$B|ombCarri|
|00002c80| 65 72 54 61 72 67 65 74 | 24 22 20 2d 20 6d 6f 76 |erTarget|$" - mov|
|00002c90| 65 20 74 6f 20 22 24 42 | 2e 4d 6f 76 65 54 61 72 |e to "$B|.MoveTar|
|00002ca0| 67 65 74 3b 0d 0a 09 09 | 72 65 74 75 72 6e 20 28 |get;....|return (|
|00002cb0| 20 42 2e 4d 6f 76 65 54 | 61 72 67 65 74 20 21 3d | B.MoveT|arget !=|
|00002cc0| 20 4e 6f 6e 65 20 29 3b | 0d 0a 09 7d 0d 0a 09 41 | None );|...}...A|
|00002cd0| 64 64 54 72 61 6e 73 69 | 65 6e 74 43 6f 73 74 73 |ddTransi|entCosts|
|00002ce0| 28 42 2c 31 29 3b 0d 0a | 09 69 66 20 28 20 62 53 |(B,1);..|.if ( bS|
|00002cf0| 65 65 42 6f 6d 62 20 29 | 0d 0a 09 7b 0d 0a 09 09 |eeBomb )|...{....|
|00002d00| 69 66 20 28 20 42 6f 6d | 62 2e 48 6f 6c 64 65 72 |if ( Bom|b.Holder|
|00002d10| 20 3d 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 09 7b 0d | == None| )....{.|
|00002d20| 0a 09 09 09 69 66 20 28 | 20 21 42 6f 6d 62 2e 62 |....if (| !Bomb.b|
|00002d30| 48 6f 6d 65 20 26 26 20 | 47 6f 50 69 63 6b 75 70 |Home && |GoPickup|
|00002d40| 42 6f 6d 62 28 42 29 20 | 29 0d 0a 09 09 09 09 72 |Bomb(B) |)......r|
|00002d50| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 09 09 7d |eturn tr|ue;....}|
|00002d60| 0d 0a 09 09 65 6c 73 65 | 20 69 66 20 28 20 21 62 |....else| if ( !b|
|00002d70| 4f 6e 42 6f 6d 62 48 6f | 6c 64 65 72 54 65 61 6d |OnBombHo|lderTeam|
|00002d80| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 69 66 20 28 | )....{.|....if (|
|00002d90| 20 42 2e 45 6e 65 6d 79 | 20 21 3d 20 42 6f 6d 62 | B.Enemy| != Bomb|
|00002da0| 2e 48 6f 6c 64 65 72 20 | 29 0d 0a 09 09 09 09 46 |.Holder |)......F|
|00002db0| 69 6e 64 4e 65 77 45 6e | 65 6d 79 46 6f 72 28 42 |indNewEn|emyFor(B|
|00002dc0| 2c 28 42 2e 45 6e 65 6d | 79 20 21 3d 20 4e 6f 6e |,(B.Enem|y != Non|
|00002dd0| 65 29 20 26 26 20 42 2e | 4c 69 6e 65 4f 66 53 69 |e) && B.|LineOfSi|
|00002de0| 67 68 74 54 6f 28 42 2e | 45 6e 65 6d 79 29 29 3b |ghtTo(B.|Enemy));|
|00002df0| 0d 0a 09 09 09 69 66 20 | 28 20 4c 65 76 65 6c 2e |.....if |( Level.|
|00002e00| 54 69 6d 65 53 65 63 6f | 6e 64 73 20 2d 20 4c 61 |TimeSeco|nds - La|
|00002e10| 73 74 53 65 65 46 6c 61 | 67 43 61 72 72 69 65 72 |stSeeFla|gCarrier|
|00002e20| 20 3e 20 36 20 29 0d 0a | 09 09 09 7b 0d 0a 09 09 | > 6 )..|...{....|
|00002e30| 09 09 4c 61 73 74 53 65 | 65 46 6c 61 67 43 61 72 |..LastSe|eFlagCar|
|00002e40| 72 69 65 72 20 3d 20 4c | 65 76 65 6c 2e 54 69 6d |rier = L|evel.Tim|
|00002e50| 65 53 65 63 6f 6e 64 73 | 3b 0d 0a 09 09 09 09 42 |eSeconds|;......B|
|00002e60| 2e 53 65 6e 64 4d 65 73 | 73 61 67 65 28 4e 6f 6e |.SendMes|sage(Non|
|00002e70| 65 2c 20 27 4f 54 48 45 | 52 27 2c 20 42 2e 47 65 |e, 'OTHE|R', B.Ge|
|00002e80| 74 4d 65 73 73 61 67 65 | 49 6e 64 65 78 28 27 45 |tMessage|Index('E|
|00002e90| 4e 45 4d 59 42 41 4c 4c | 43 41 52 52 49 45 52 48 |NEMYBALL|CARRIERH|
|00002ea0| 45 52 45 27 29 2c 20 31 | 30 2c 20 27 54 45 41 4d |ERE'), 1|0, 'TEAM|
|00002eb0| 27 29 3b 0d 0a 09 09 09 | 7d 0d 0a 09 09 09 42 2e |');.....|}.....B.|
|00002ec0| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 22 41 74 |GoalStri|ng = "At|
|00002ed0| 74 61 63 6b 20 65 6e 65 | 6d 79 20 62 6f 6d 62 20 |tack ene|my bomb |
|00002ee0| 63 61 72 72 69 65 72 22 | 3b 0d 0a 09 09 09 69 66 |carrier"|;.....if|
|00002ef0| 20 28 20 42 2e 49 73 53 | 6e 69 70 69 6e 67 28 29 | ( B.IsS|niping()|
|00002f00| 20 29 0d 0a 09 09 09 09 | 72 65 74 75 72 6e 20 66 | )......|return f|
|00002f10| 61 6c 73 65 3b 0d 0a 09 | 09 09 72 65 74 75 72 6e |alse;...|..return|
|00002f20| 20 28 20 54 72 79 54 6f | 49 6e 74 65 72 63 65 70 | ( TryTo|Intercep|
|00002f30| 74 28 42 2c 42 6f 6d 62 | 2e 48 6f 6c 64 65 72 2c |t(B,Bomb|.Holder,|
|00002f40| 48 6f 6d 65 42 61 73 65 | 29 20 29 3b 0d 0a 09 09 |HomeBase|) );....|
|00002f50| 7d 0d 0a 09 7d 0d 0a 0d | 0a 09 69 66 20 28 20 42 |}...}...|..if ( B|
|00002f60| 6f 6d 62 2e 62 48 6f 6d | 65 20 29 0d 0a 09 7b 0d |omb.bHom|e )...{.|
|00002f70| 0a 09 09 69 66 20 28 20 | 42 6f 6d 62 42 61 73 65 |...if ( |BombBase|
|00002f80| 2e 42 6f 74 4e 65 61 72 | 4f 62 6a 65 63 74 69 76 |.BotNear|Objectiv|
|00002f90| 65 28 42 29 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |e(B) )..|..{.....|
|00002fa0| 42 2e 47 6f 61 6c 53 74 | 72 69 6e 67 20 3d 20 22 |B.GoalSt|ring = "|
|00002fb0| 4e 65 61 72 20 62 6f 6d | 62 20 62 61 73 65 21 22 |Near bom|b base!"|
|00002fc0| 3b 0d 0a 09 09 09 72 65 | 74 75 72 6e 20 46 69 6e |;.....re|turn Fin|
|00002fd0| 64 50 61 74 68 54 6f 4f | 62 6a 65 63 74 69 76 65 |dPathToO|bjective|
|00002fe0| 28 42 2c 42 6f 6d 62 42 | 61 73 65 29 3b 0d 0a 09 |(B,BombB|ase);...|
|00002ff0| 09 7d 0d 0a 09 09 65 6c | 73 65 20 69 66 20 28 20 |.}....el|se if ( |
|00003000| 47 65 74 4f 72 64 65 72 | 73 28 29 20 3d 3d 20 27 |GetOrder|s() == '|
|00003010| 41 74 74 61 63 6b 27 20 | 29 0d 0a 09 09 7b 0d 0a |Attack' |)....{..|
|00003020| 09 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|00003030| 3d 20 22 47 6f 20 74 6f | 20 62 6f 6d 62 20 62 61 |= "Go to| bomb ba|
|00003040| 73 65 21 22 3b 0d 0a 09 | 09 09 72 65 74 75 72 6e |se!";...|..return|
|00003050| 20 46 69 6e 64 50 61 74 | 68 54 6f 4f 62 6a 65 63 | FindPat|hToObjec|
|00003060| 74 69 76 65 28 42 2c 42 | 6f 6d 62 42 61 73 65 29 |tive(B,B|ombBase)|
|00003070| 3b 0d 0a 09 09 7d 0d 0a | 09 7d 0d 0a 09 65 6c 73 |;....}..|.}...els|
|00003080| 65 20 69 66 20 28 20 47 | 65 74 4f 72 64 65 72 73 |e if ( G|etOrders|
|00003090| 28 29 20 3d 3d 20 27 41 | 74 74 61 63 6b 27 20 29 |() == 'A|ttack' )|
|000030a0| 0d 0a 09 7b 0d 0a 09 09 | 42 2e 47 6f 61 6c 53 74 |...{....|B.GoalSt|
|000030b0| 72 69 6e 67 20 3d 20 22 | 47 6f 20 74 6f 20 62 6f |ring = "|Go to bo|
|000030c0| 6d 62 22 3b 0d 0a 09 09 | 69 66 20 28 20 42 6f 6d |mb";....|if ( Bom|
|000030d0| 62 2e 48 6f 6c 64 65 72 | 20 21 3d 20 4e 6f 6e 65 |b.Holder| != None|
|000030e0| 20 29 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 54 72 | ).....r|eturn Tr|
|000030f0| 79 54 6f 49 6e 74 65 72 | 63 65 70 74 28 42 2c 42 |yToInter|cept(B,B|
|00003100| 6f 6d 62 2e 48 6f 6c 64 | 65 72 2c 48 6f 6d 65 62 |omb.Hold|er,Homeb|
|00003110| 61 73 65 29 3b 0d 0a 09 | 09 65 6c 73 65 0d 0a 09 |ase);...|.else...|
|00003120| 09 09 72 65 74 75 72 6e | 20 46 69 6e 64 50 61 74 |..return| FindPat|
|00003130| 68 54 6f 4f 62 6a 65 63 | 74 69 76 65 28 42 2c 42 |hToObjec|tive(B,B|
|00003140| 6f 6d 62 29 3b 0d 0a 09 | 7d 0d 0a 09 72 65 74 75 |omb);...|}...retu|
|00003150| 72 6e 20 53 75 70 65 72 | 2e 43 68 65 63 6b 53 71 |rn Super|.CheckSq|
|00003160| 75 61 64 4f 62 6a 65 63 | 74 69 76 65 73 28 42 29 |uadObjec|tives(B)|
|00003170| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|00003180| 20 42 6f 6d 62 54 61 6b | 65 6e 42 79 28 43 6f 6e | BombTak|enBy(Con|
|00003190| 74 72 6f 6c 6c 65 72 20 | 43 29 0d 0a 7b 0d 0a 09 |troller |C)..{...|
|000031a0| 6c 6f 63 61 6c 20 42 6f | 74 20 4d 3b 0d 0a 0d 0a |local Bo|t M;....|
|000031b0| 09 69 66 20 28 20 56 53 | 69 7a 65 28 42 6f 6d 62 |.if ( VS|ize(Bomb|
|000031c0| 2e 4c 6f 63 61 74 69 6f | 6e 20 2d 20 42 6f 6d 62 |.Locatio|n - Bomb|
|000031d0| 42 61 73 65 2e 4c 6f 63 | 61 74 69 6f 6e 29 20 3c |Base.Loc|ation) <|
|000031e0| 20 35 30 30 20 29 0d 0a | 09 09 53 65 74 41 6c 74 | 500 )..|..SetAlt|
|000031f0| 65 72 6e 61 74 65 50 61 | 74 68 28 74 72 75 65 29 |ernatePa|th(true)|
|00003200| 3b 0d 0a 09 65 6c 73 65 | 20 69 66 20 28 20 28 42 |;...else| if ( (B|
|00003210| 6f 74 28 43 29 20 3d 3d | 20 4e 6f 6e 65 29 20 7c |ot(C) ==| None) ||
|00003220| 7c 20 28 42 6f 6d 62 2e | 4f 6c 64 54 65 61 6d 20 || (Bomb.|OldTeam |
|00003230| 21 3d 20 54 65 61 6d 29 | 20 29 0d 0a 09 09 53 65 |!= Team)| )....Se|
|00003240| 74 46 69 6e 61 6c 53 74 | 72 65 74 63 68 28 74 72 |tFinalSt|retch(tr|
|00003250| 75 65 29 3b 0d 0a 09 53 | 65 6c 66 50 61 73 73 65 |ue);...S|elfPasse|
|00003260| 72 20 3d 20 4e 6f 6e 65 | 3b 0d 0a 09 50 61 73 73 |r = None|;...Pass|
|00003270| 54 61 72 67 65 74 20 3d | 20 4e 6f 6e 65 3b 0d 0a |Target =| None;..|
|00003280| 0d 0a 09 69 66 20 28 20 | 53 71 75 61 64 4c 65 61 |...if ( |SquadLea|
|00003290| 64 65 72 20 21 3d 20 43 | 20 29 0d 0a 09 09 53 65 |der != C| )....Se|
|000032a0| 74 4c 65 61 64 65 72 28 | 43 29 3b 0d 0a 0d 0a 09 |tLeader(|C);.....|
|000032b0| 66 6f 72 09 28 20 4d 3d | 53 71 75 61 64 4d 65 6d |for.( M=|SquadMem|
|000032c0| 62 65 72 73 3b 20 4d 21 | 3d 4e 6f 6e 65 3b 20 4d |bers; M!|=None; M|
|000032d0| 3d 4d 2e 4e 65 78 74 53 | 71 75 61 64 4d 65 6d 62 |=M.NextS|quadMemb|
|000032e0| 65 72 20 29 0d 0a 09 09 | 69 66 20 28 20 28 4d 2e |er )....|if ( (M.|
|000032f0| 4d 6f 76 65 54 61 72 67 | 65 74 20 3d 3d 20 42 6f |MoveTarg|et == Bo|
|00003300| 6d 62 29 20 7c 7c 20 28 | 4d 2e 4d 6f 76 65 54 61 |mb) || (|M.MoveTa|
|00003310| 72 67 65 74 20 3d 3d 20 | 42 6f 6d 62 42 61 73 65 |rget == |BombBase|
|00003320| 29 20 29 0d 0a 09 09 09 | 4d 2e 4d 6f 76 65 54 69 |) ).....|M.MoveTi|
|00003330| 6d 65 72 20 3d 20 46 4d | 69 6e 28 4d 2e 4d 6f 76 |mer = FM|in(M.Mov|
|00003340| 65 54 69 6d 65 72 2c 30 | 2e 30 35 20 2b 20 30 2e |eTimer,0|.05 + 0.|
|00003350| 31 35 20 2a 20 46 52 61 | 6e 64 28 29 29 3b 0d 0a |15 * FRa|nd());..|
|00003360| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 62 6f |}....fun|ction bo|
|00003370| 6f 6c 20 41 6c 6c 6f 77 | 54 61 75 6e 74 28 42 6f |ol Allow|Taunt(Bo|
|00003380| 74 20 42 29 0d 0a 7b 0d | 0a 09 72 65 74 75 72 6e |t B)..{.|..return|
|00003390| 20 28 20 28 46 52 61 6e | 64 28 29 20 3c 20 30 2e | ( (FRan|d() < 0.|
|000033a0| 35 29 20 26 26 20 28 50 | 72 69 6f 72 69 74 79 4f |5) && (P|riorityO|
|000033b0| 62 6a 65 63 74 69 76 65 | 28 42 29 20 3c 20 31 29 |bjective|(B) < 1)|
|000033c0| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|000033d0| 6e 20 62 6f 6f 6c 20 53 | 68 6f 75 6c 64 44 65 66 |n bool S|houldDef|
|000033e0| 65 72 54 6f 28 43 6f 6e | 74 72 6f 6c 6c 65 72 20 |erTo(Con|troller |
|000033f0| 43 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 43 2e 50 |C)..{...|if ( C.P|
|00003400| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|00003410| 49 6e 66 6f 2e 48 61 73 | 46 6c 61 67 20 21 3d 20 |Info.Has|Flag != |
|00003420| 4e 6f 6e 65 20 29 0d 0a | 09 09 72 65 74 75 72 6e |None )..|..return|
|00003430| 20 74 72 75 65 3b 0d 0a | 09 72 65 74 75 72 6e 20 | true;..|.return |
|00003440| 53 75 70 65 72 2e 53 68 | 6f 75 6c 64 44 65 66 65 |Super.Sh|ouldDefe|
|00003450| 72 54 6f 28 43 29 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |rTo(C);.|.}....fu|
|00003460| 6e 63 74 69 6f 6e 20 62 | 79 74 65 20 50 72 69 6f |nction b|yte Prio|
|00003470| 72 69 74 79 4f 62 6a 65 | 63 74 69 76 65 28 42 6f |rityObje|ctive(Bo|
|00003480| 74 20 42 29 0d 0a 7b 0d | 0a 09 69 66 20 28 20 42 |t B)..{.|..if ( B|
|00003490| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|000034a0| 6f 6e 49 6e 66 6f 2e 48 | 61 73 46 6c 61 67 20 21 |onInfo.H|asFlag !|
|000034b0| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 7b 0d 0a 09 09 |= None )|...{....|
|000034c0| 69 66 20 28 20 45 6e 65 | 6d 79 42 61 73 65 2e 42 |if ( Ene|myBase.B|
|000034d0| 6f 74 4e 65 61 72 4f 62 | 6a 65 63 74 69 76 65 28 |otNearOb|jective(|
|000034e0| 42 29 20 29 0d 0a 09 09 | 09 72 65 74 75 72 6e 20 |B) )....|.return |
|000034f0| 32 35 35 3b 0d 0a 09 09 | 72 65 74 75 72 6e 20 32 |255;....|return 2|
|00003500| 3b 0d 0a 09 7d 0d 0a 0d | 0a 09 69 66 20 28 20 42 |;...}...|..if ( B|
|00003510| 6f 6d 62 2e 48 6f 6c 64 | 65 72 20 21 3d 20 4e 6f |omb.Hold|er != No|
|00003520| 6e 65 20 29 0d 0a 09 09 | 72 65 74 75 72 6e 20 31 |ne )....|return 1|
|00003530| 3b 0d 0a 0d 0a 09 72 65 | 74 75 72 6e 20 30 3b 0d |;.....re|turn 0;.|
|00003540| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 66 |.}....fu|nction f|
|00003550| 6c 6f 61 74 20 4d 6f 64 | 69 66 79 54 68 72 65 61 |loat Mod|ifyThrea|
|00003560| 74 28 66 6c 6f 61 74 20 | 63 75 72 72 65 6e 74 2c |t(float |current,|
|00003570| 20 50 61 77 6e 20 4e 65 | 77 54 68 72 65 61 74 2c | Pawn Ne|wThreat,|
|00003580| 20 62 6f 6f 6c 20 62 54 | 68 72 65 61 74 56 69 73 | bool bT|hreatVis|
|00003590| 69 62 6c 65 2c 20 42 6f | 74 20 42 29 0d 0a 7b 0d |ible, Bo|t B)..{.|
|000035a0| 0a 09 69 66 20 28 20 28 | 4e 65 77 54 68 72 65 61 |..if ( (|NewThrea|
|000035b0| 74 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |t.Player|Replicat|
|000035c0| 69 6f 6e 49 6e 66 6f 20 | 21 3d 20 4e 6f 6e 65 29 |ionInfo |!= None)|
|000035d0| 0d 0a 09 09 26 26 20 28 | 4e 65 77 54 68 72 65 61 |....&& (|NewThrea|
|000035e0| 74 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |t.Player|Replicat|
|000035f0| 69 6f 6e 49 6e 66 6f 2e | 48 61 73 46 6c 61 67 20 |ionInfo.|HasFlag |
|00003600| 21 3d 20 4e 6f 6e 65 29 | 0d 0a 09 09 26 26 20 62 |!= None)|....&& b|
|00003610| 54 68 72 65 61 74 56 69 | 73 69 62 6c 65 20 29 0d |ThreatVi|sible ).|
|00003620| 0a 09 7b 0d 0a 09 09 69 | 66 20 28 20 28 56 53 69 |..{....i|f ( (VSi|
|00003630| 7a 65 28 4e 65 77 54 68 | 72 65 61 74 2e 4c 6f 63 |ze(NewTh|reat.Loc|
|00003640| 61 74 69 6f 6e 20 2d 20 | 48 6f 6d 65 42 61 73 65 |ation - |HomeBase|
|00003650| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3e 20 35 30 30 |.Locatio|n) > 500|
|00003660| 30 29 0d 0a 09 09 09 26 | 26 20 28 56 53 69 7a 65 |0).....&|& (VSize|
|00003670| 28 4e 65 77 54 68 72 65 | 61 74 2e 4c 6f 63 61 74 |(NewThre|at.Locat|
|00003680| 69 6f 6e 20 2d 20 42 2e | 50 61 77 6e 2e 4c 6f 63 |ion - B.|Pawn.Loc|
|00003690| 61 74 69 6f 6e 29 20 3e | 20 31 35 30 30 29 0d 0a |ation) >| 1500)..|
|000036a0| 09 09 09 26 26 20 55 6e | 64 65 72 46 69 72 65 28 |...&& Un|derFire(|
|000036b0| 4e 65 77 54 68 72 65 61 | 74 2c 42 29 20 29 0d 0a |NewThrea|t,B) )..|
|000036c0| 09 09 7b 0d 0a 09 09 09 | 69 66 20 28 20 4e 65 77 |..{.....|if ( New|
|000036d0| 54 68 72 65 61 74 2e 49 | 73 48 75 6d 61 6e 43 6f |Threat.I|sHumanCo|
|000036e0| 6e 74 72 6f 6c 6c 65 64 | 28 29 20 29 0d 0a 09 09 |ntrolled|() )....|
|000036f0| 09 09 72 65 74 75 72 6e | 20 63 75 72 72 65 6e 74 |..return| current|
|00003700| 20 2b 20 31 3b 0d 0a 09 | 09 09 72 65 74 75 72 6e | + 1;...|..return|
|00003710| 20 63 75 72 72 65 6e 74 | 20 2b 20 30 2e 35 3b 0d | current| + 0.5;.|
|00003720| 0a 09 09 7d 0d 0a 09 09 | 69 66 20 28 20 28 56 53 |...}....|if ( (VS|
|00003730| 69 7a 65 28 42 2e 50 61 | 77 6e 2e 4c 6f 63 61 74 |ize(B.Pa|wn.Locat|
|00003740| 69 6f 6e 20 2d 20 4e 65 | 77 54 68 72 65 61 74 2e |ion - Ne|wThreat.|
|00003750| 4c 6f 63 61 74 69 6f 6e | 29 20 3c 20 31 35 30 30 |Location|) < 1500|
|00003760| 29 20 7c 7c 20 42 2e 50 | 61 77 6e 2e 57 65 61 70 |) || B.P|awn.Weap|
|00003770| 6f 6e 2e 62 53 6e 69 70 | 69 6e 67 20 29 0d 0a 09 |on.bSnip|ing )...|
|00003780| 09 09 72 65 74 75 72 6e | 20 63 75 72 72 65 6e 74 |..return| current|
|00003790| 20 2b 20 36 3b 0d 0a 09 | 09 65 6c 73 65 0d 0a 09 | + 6;...|.else...|
|000037a0| 09 09 72 65 74 75 72 6e | 20 63 75 72 72 65 6e 74 |..return| current|
|000037b0| 20 2b 20 31 2e 35 3b 0d | 0a 09 7d 0d 0a 09 65 6c | + 1.5;.|..}...el|
|000037c0| 73 65 20 69 66 20 28 20 | 4e 65 77 54 68 72 65 61 |se if ( |NewThrea|
|000037d0| 74 2e 49 73 48 75 6d 61 | 6e 43 6f 6e 74 72 6f 6c |t.IsHuma|nControl|
|000037e0| 6c 65 64 28 29 20 29 0d | 0a 09 09 72 65 74 75 72 |led() ).|...retur|
|000037f0| 6e 20 63 75 72 72 65 6e | 74 20 2b 20 30 2e 34 3b |n curren|t + 0.4;|
|00003800| 0d 0a 09 65 6c 73 65 0d | 0a 09 09 72 65 74 75 72 |...else.|...retur|
|00003810| 6e 20 63 75 72 72 65 6e | 74 3b 0d 0a 7d 0d 0a 0d |n curren|t;..}...|
|00003820| 0a 00 | |.. | |
+--------+-------------------------+-------------------------+--------+--------+