home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 7 (DVD) / XENIADVD07.iso / Fragzone / Files / ut2003-winpatch2225.exe / UT2003-Patch / System / UnrealGame.u / Bot_TeamAI_ScriptText.TextBuffer < prev    next >
Unknown  |  2003-04-16  |  10.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


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 | 53 a3 01 2f 2f 3d 3d 3d |........|S..//===|
|00000010| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000020| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000030| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000040| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000050| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 0a 2f 2f 20 54 |========|==..// T|
|00000060| 65 61 6d 41 49 2e 0d 0a | 2f 2f 20 73 74 72 61 74 |eamAI...|// strat|
|00000070| 65 67 69 63 20 74 65 61 | 6d 20 41 49 20 63 6f 6e |egic tea|m AI con|
|00000080| 74 72 6f 6c 20 66 6f 72 | 20 54 65 61 6d 47 61 6d |trol for| TeamGam|
|00000090| 65 0d 0a 2f 2f 20 0d 0a | 2f 2f 3d 3d 3d 3d 3d 3d |e..// ..|//======|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000e0| 3d 3d 3d 3d 3d 3d 3d 0d | 0a 63 6c 61 73 73 20 54 |=======.|.class T|
|000000f0| 65 61 6d 41 49 20 65 78 | 74 65 6e 64 73 20 49 6e |eamAI ex|tends In|
|00000100| 66 6f 3b 0d 0a 0d 0a 76 | 61 72 20 55 6e 72 65 61 |fo;....v|ar Unrea|
|00000110| 6c 54 65 61 6d 49 6e 66 | 6f 20 54 65 61 6d 3b 0d |lTeamInf|o Team;.|
|00000120| 0a 76 61 72 20 55 6e 72 | 65 61 6c 54 65 61 6d 49 |.var Unr|ealTeamI|
|00000130| 6e 66 6f 20 45 6e 65 6d | 79 54 65 61 6d 3b 0d 0a |nfo Enem|yTeam;..|
|00000140| 76 61 72 09 69 6e 74 09 | 4e 75 6d 53 75 70 70 6f |var.int.|NumSuppo|
|00000150| 72 74 69 6e 67 50 6c 61 | 79 65 72 3b 20 0d 0a 76 |rtingPla|yer; ..v|
|00000160| 61 72 20 47 61 6d 65 4f | 62 6a 65 63 74 69 76 65 |ar GameO|bjective|
|00000170| 20 4f 62 6a 65 63 74 69 | 76 65 73 3b 20 2f 2f 20 | Objecti|ves; // |
|00000180| 6c 69 73 74 20 6f 66 20 | 6f 62 6a 65 63 74 69 76 |list of |objectiv|
|00000190| 65 73 20 74 6f 20 62 65 | 20 64 65 66 65 6e 64 65 |es to be| defende|
|000001a0| 64 20 6f 72 20 61 74 74 | 61 63 6b 65 64 20 62 79 |d or att|acked by|
|000001b0| 20 74 68 69 73 20 74 65 | 61 6d 0d 0a 76 61 72 20 | this te|am..var |
|000001c0| 47 61 6d 65 4f 62 6a 65 | 63 74 69 76 65 20 50 69 |GameObje|ctive Pi|
|000001d0| 63 6b 65 64 4f 62 6a 65 | 63 74 69 76 65 3b 09 2f |ckedObje|ctive;./|
|000001e0| 2f 20 6f 62 6a 65 63 74 | 69 76 65 20 74 68 61 74 |/ object|ive that|
|000001f0| 20 77 61 73 20 70 69 63 | 6b 65 64 20 66 72 6f 6d | was pic|ked from|
|00000200| 20 61 20 6c 69 73 74 20 | 6f 66 20 65 71 75 61 6c | a list |of equal|
|00000210| 20 70 72 69 6f 72 69 74 | 79 20 6f 62 6a 65 63 74 | priorit|y object|
|00000220| 69 76 65 73 0d 0a 76 61 | 72 20 53 71 75 61 64 41 |ives..va|r SquadA|
|00000230| 49 20 53 71 75 61 64 73 | 3b 09 09 0d 0a 76 61 72 |I Squads|;....var|
|00000240| 20 53 71 75 61 64 41 49 | 20 41 74 74 61 63 6b 53 | SquadAI| AttackS|
|00000250| 71 75 61 64 2c 20 46 72 | 65 65 6c 61 6e 63 65 53 |quad, Fr|eelanceS|
|00000260| 71 75 61 64 3b 0d 0a 76 | 61 72 20 63 6c 61 73 73 |quad;..v|ar class|
|00000270| 3c 53 71 75 61 64 41 49 | 3e 20 53 71 75 61 64 54 |<SquadAI|> SquadT|
|00000280| 79 70 65 3b 0d 0a 76 61 | 72 20 69 6e 74 20 4f 72 |ype;..va|r int Or|
|00000290| 64 65 72 4f 66 66 73 65 | 74 3b 0d 0a 76 61 72 20 |derOffse|t;..var |
|000002a0| 6e 61 6d 65 20 4f 72 64 | 65 72 4c 69 73 74 5b 38 |name Ord|erList[8|
|000002b0| 5d 3b 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 50 |];....fu|nction P|
|000002c0| 6f 73 74 42 65 67 69 6e | 50 6c 61 79 28 29 0d 0a |ostBegin|Play()..|
|000002d0| 7b 0d 0a 09 53 75 70 65 | 72 2e 50 6f 73 74 42 65 |{...Supe|r.PostBe|
|000002e0| 67 69 6e 50 6c 61 79 28 | 29 3b 0d 0a 09 53 65 74 |ginPlay(|);...Set|
|000002f0| 54 69 6d 65 72 28 35 2e | 30 2c 74 72 75 65 29 3b |Timer(5.|0,true);|
|00000300| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00000310| 54 69 6d 65 72 28 29 0d | 0a 7b 0d 0a 09 52 65 41 |Timer().|.{...ReA|
|00000320| 73 73 65 73 73 53 74 72 | 61 74 65 67 79 28 29 3b |ssessStr|ategy();|
|00000330| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00000340| 43 6c 65 61 72 45 6e 65 | 6d 69 65 73 28 29 0d 0a |ClearEne|mies()..|
|00000350| 7b 0d 0a 09 6c 6f 63 61 | 6c 20 53 71 75 61 64 41 |{...loca|l SquadA|
|00000360| 49 20 53 3b 0d 0a 09 6c | 6f 63 61 6c 20 69 6e 74 |I S;...l|ocal int|
|00000370| 20 69 3b 0d 0a 09 6c 6f | 63 61 6c 20 42 6f 74 20 | i;...lo|cal Bot |
|00000380| 4d 3b 0d 0a 09 0d 0a 09 | 66 6f 72 20 28 20 53 3d |M;......|for ( S=|
|00000390| 53 71 75 61 64 73 3b 20 | 53 21 3d 4e 6f 6e 65 3b |Squads; |S!=None;|
|000003a0| 20 53 3d 53 2e 4e 65 78 | 74 53 71 75 61 64 20 29 | S=S.Nex|tSquad )|
|000003b0| 0d 0a 09 7b 0d 0a 09 09 | 66 6f 72 20 28 20 69 3d |...{....|for ( i=|
|000003c0| 30 3b 20 69 3c 38 3b 20 | 69 2b 2b 20 29 0d 0a 09 |0; i<8; |i++ )...|
|000003d0| 09 09 53 2e 45 6e 65 6d | 69 65 73 5b 69 5d 20 3d |..S.Enem|ies[i] =|
|000003e0| 20 4e 6f 6e 65 3b 0d 0a | 09 09 66 6f 72 09 28 20 | None;..|..for.( |
|000003f0| 4d 3d 53 2e 53 71 75 61 | 64 4d 65 6d 62 65 72 73 |M=S.Squa|dMembers|
|00000400| 3b 20 4d 21 3d 4e 6f 6e | 65 3b 20 4d 3d 4d 2e 4e |; M!=Non|e; M=M.N|
|00000410| 65 78 74 53 71 75 61 64 | 4d 65 6d 62 65 72 20 29 |extSquad|Member )|
|00000420| 0d 0a 09 09 09 4d 2e 45 | 6e 65 6d 79 20 3d 20 4e |.....M.E|nemy = N|
|00000430| 6f 6e 65 3b 0d 0a 09 7d | 0d 0a 7d 0d 0a 09 0d 0a |one;...}|..}.....|
|00000440| 66 75 6e 63 74 69 6f 6e | 20 53 71 75 61 64 41 49 |function| SquadAI|
|00000450| 20 47 65 74 53 71 75 61 | 64 4c 65 64 42 79 28 43 | GetSqua|dLedBy(C|
|00000460| 6f 6e 74 72 6f 6c 6c 65 | 72 20 43 29 0d 0a 7b 0d |ontrolle|r C)..{.|
|00000470| 0a 09 6c 6f 63 61 6c 20 | 53 71 75 61 64 41 49 20 |..local |SquadAI |
|00000480| 53 3b 0d 0a 09 0d 0a 09 | 66 6f 72 20 28 20 53 3d |S;......|for ( S=|
|00000490| 53 71 75 61 64 73 3b 20 | 53 21 3d 4e 6f 6e 65 3b |Squads; |S!=None;|
|000004a0| 20 53 3d 53 2e 4e 65 78 | 74 53 71 75 61 64 20 29 | S=S.Nex|tSquad )|
|000004b0| 0d 0a 09 09 69 66 20 28 | 20 53 2e 53 71 75 61 64 |....if (| S.Squad|
|000004c0| 4c 65 61 64 65 72 20 3d | 3d 20 43 20 29 0d 0a 09 |Leader =|= C )...|
|000004d0| 09 09 72 65 74 75 72 6e | 20 53 3b 0d 0a 09 72 65 |..return| S;...re|
|000004e0| 74 75 72 6e 20 4e 6f 6e | 65 3b 0d 0a 7d 0d 0a 0d |turn Non|e;..}...|
|000004f0| 0a 2f 2a 20 52 65 41 73 | 73 65 73 73 53 74 72 61 |./* ReAs|sessStra|
|00000500| 74 65 67 79 28 29 0d 0a | 4c 6f 6f 6b 20 61 74 20 |tegy()..|Look at |
|00000510| 63 75 72 72 65 6e 74 20 | 73 74 72 61 74 65 67 69 |current |strategi|
|00000520| 63 20 73 69 74 75 61 74 | 69 6f 6e 2c 20 61 6e 64 |c situat|ion, and|
|00000530| 20 64 65 63 69 64 65 20 | 77 68 65 74 68 65 72 20 | decide |whether |
|00000540| 74 6f 20 75 70 64 61 74 | 65 20 73 71 75 61 64 20 |to updat|e squad |
|00000550| 6f 62 6a 65 63 74 69 76 | 65 73 0d 0a 2a 2f 0d 0a |objectiv|es..*/..|
|00000560| 66 75 6e 63 74 69 6f 6e | 20 52 65 41 73 73 65 73 |function| ReAsses|
|00000570| 73 53 74 72 61 74 65 67 | 79 28 29 0d 0a 7b 0d 0a |sStrateg|y()..{..|
|00000580| 09 6c 6f 63 61 6c 20 47 | 61 6d 65 4f 62 6a 65 63 |.local G|ameObjec|
|00000590| 74 69 76 65 20 4f 3b 0d | 0a 09 6c 6f 63 61 6c 20 |tive O;.|..local |
|000005a0| 69 6e 74 20 50 6c 75 73 | 44 69 66 66 2c 20 4d 69 |int Plus|Diff, Mi|
|000005b0| 6e 75 73 44 69 66 66 3b | 0d 0a 0d 0a 09 69 66 20 |nusDiff;|.....if |
|000005c0| 28 20 46 72 65 65 6c 61 | 6e 63 65 53 71 75 61 64 |( Freela|nceSquad|
|000005d0| 20 3d 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 09 72 65 | == None| )....re|
|000005e0| 74 75 72 6e 3b 0d 0a 0d | 0a 09 2f 2f 20 64 65 63 |turn;...|..// dec|
|000005f0| 69 64 65 20 77 68 65 74 | 68 65 72 20 74 6f 20 70 |ide whet|her to p|
|00000600| 6c 61 79 20 64 65 66 65 | 6e 73 69 76 65 6c 79 20 |lay defe|nsively |
|00000610| 6f 72 20 61 67 67 72 65 | 73 73 69 76 65 6c 79 0d |or aggre|ssively.|
|00000620| 0a 09 69 66 20 28 20 54 | 65 61 6d 47 61 6d 65 28 |..if ( T|eamGame(|
|00000630| 4c 65 76 65 6c 2e 47 61 | 6d 65 29 2e 54 69 6d 65 |Level.Ga|me).Time|
|00000640| 4c 69 6d 69 74 20 3e 20 | 30 20 29 0d 0a 09 7b 0d |Limit > |0 )...{.|
|00000650| 0a 09 09 50 6c 75 73 44 | 69 66 66 20 3d 20 30 3b |...PlusD|iff = 0;|
|00000660| 0d 0a 09 09 4d 69 6e 75 | 73 44 69 66 66 20 3d 20 |....Minu|sDiff = |
|00000670| 32 3b 0d 0a 09 09 69 66 | 20 28 20 54 65 61 6d 47 |2;....if| ( TeamG|
|00000680| 61 6d 65 28 4c 65 76 65 | 6c 2e 47 61 6d 65 29 2e |ame(Leve|l.Game).|
|00000690| 52 65 6d 61 69 6e 69 6e | 67 54 69 6d 65 20 3c 20 |Remainin|gTime < |
|000006a0| 31 38 30 20 29 0d 0a 09 | 09 09 4d 69 6e 75 73 44 |180 )...|..MinusD|
|000006b0| 69 66 66 20 3d 20 30 3b | 0d 0a 09 7d 0d 0a 09 65 |iff = 0;|...}...e|
|000006c0| 6c 73 65 0d 0a 09 7b 0d | 0a 09 09 50 6c 75 73 44 |lse...{.|...PlusD|
|000006d0| 69 66 66 20 3d 20 32 3b | 0d 0a 09 09 4d 69 6e 75 |iff = 2;|....Minu|
|000006e0| 73 44 69 66 66 20 3d 20 | 32 3b 0d 0a 09 7d 0d 0a |sDiff = |2;...}..|
|000006f0| 0d 0a 09 46 72 65 65 6c | 61 6e 63 65 53 71 75 61 |...Freel|anceSqua|
|00000700| 64 2e 62 46 72 65 65 6c | 61 6e 63 65 41 74 74 61 |d.bFreel|anceAtta|
|00000710| 63 6b 20 3d 20 66 61 6c | 73 65 3b 0d 0a 09 46 72 |ck = fal|se;...Fr|
|00000720| 65 65 6c 61 6e 63 65 53 | 71 75 61 64 2e 62 46 72 |eelanceS|quad.bFr|
|00000730| 65 65 6c 61 6e 63 65 44 | 65 66 65 6e 64 20 3d 20 |eelanceD|efend = |
|00000740| 66 61 6c 73 65 3b 0d 0a | 09 69 66 20 28 20 54 65 |false;..|.if ( Te|
|00000750| 61 6d 2e 53 63 6f 72 65 | 20 3e 20 45 6e 65 6d 79 |am.Score| > Enemy|
|00000760| 54 65 61 6d 2e 53 63 6f | 72 65 20 2b 20 50 6c 75 |Team.Sco|re + Plu|
|00000770| 73 44 69 66 66 20 29 0d | 0a 09 7b 0d 0a 09 09 46 |sDiff ).|..{....F|
|00000780| 72 65 65 6c 61 6e 63 65 | 53 71 75 61 64 2e 62 46 |reelance|Squad.bF|
|00000790| 72 65 65 6c 61 6e 63 65 | 44 65 66 65 6e 64 20 3d |reelance|Defend =|
|000007a0| 20 74 72 75 65 3b 0d 0a | 09 09 4f 20 3d 20 47 65 | true;..|..O = Ge|
|000007b0| 74 4c 65 61 73 74 44 65 | 66 65 6e 64 65 64 4f 62 |tLeastDe|fendedOb|
|000007c0| 6a 65 63 74 69 76 65 28 | 29 3b 0d 0a 09 7d 0d 0a |jective(|);...}..|
|000007d0| 09 65 6c 73 65 20 69 66 | 20 28 20 54 65 61 6d 2e |.else if| ( Team.|
|000007e0| 53 63 6f 72 65 20 3c 20 | 45 6e 65 6d 79 54 65 61 |Score < |EnemyTea|
|000007f0| 6d 2e 53 63 6f 72 65 20 | 2d 20 4d 69 6e 75 73 44 |m.Score |- MinusD|
|00000800| 69 66 66 20 29 0d 0a 09 | 7b 0d 0a 09 09 46 72 65 |iff )...|{....Fre|
|00000810| 65 6c 61 6e 63 65 53 71 | 75 61 64 2e 62 46 72 65 |elanceSq|uad.bFre|
|00000820| 65 6c 61 6e 63 65 41 74 | 74 61 63 6b 20 3d 20 74 |elanceAt|tack = t|
|00000830| 72 75 65 3b 0d 0a 09 09 | 4f 20 3d 20 47 65 74 50 |rue;....|O = GetP|
|00000840| 72 69 6f 72 69 74 79 41 | 74 74 61 63 6b 4f 62 6a |riorityA|ttackObj|
|00000850| 65 63 74 69 76 65 28 29 | 3b 0d 0a 09 7d 0d 0a 09 |ective()|;...}...|
|00000860| 65 6c 73 65 0d 0a 09 09 | 4f 20 3d 20 47 65 74 50 |else....|O = GetP|
|00000870| 72 69 6f 72 69 74 79 46 | 72 65 65 6c 61 6e 63 65 |riorityF|reelance|
|00000880| 4f 62 6a 65 63 74 69 76 | 65 28 29 3b 0d 0a 0d 0a |Objectiv|e();....|
|00000890| 09 69 66 20 28 20 28 4f | 20 21 3d 20 4e 6f 6e 65 |.if ( (O| != None|
|000008a0| 29 20 26 26 20 28 4f 20 | 21 3d 20 46 72 65 65 6c |) && (O |!= Freel|
|000008b0| 61 6e 63 65 53 71 75 61 | 64 2e 53 71 75 61 64 4f |anceSqua|d.SquadO|
|000008c0| 62 6a 65 63 74 69 76 65 | 29 20 29 0d 0a 09 09 46 |bjective|) )....F|
|000008d0| 72 65 65 6c 61 6e 63 65 | 53 71 75 61 64 2e 53 65 |reelance|Squad.Se|
|000008e0| 74 4f 62 6a 65 63 74 69 | 76 65 28 4f 2c 74 72 75 |tObjecti|ve(O,tru|
|000008f0| 65 29 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |e);..}..|..functi|
|00000900| 6f 6e 20 4e 6f 74 69 66 | 79 4b 69 6c 6c 65 64 28 |on Notif|yKilled(|
|00000910| 43 6f 6e 74 72 6f 6c 6c | 65 72 20 4b 69 6c 6c 65 |Controll|er Kille|
|00000920| 72 2c 20 43 6f 6e 74 72 | 6f 6c 6c 65 72 20 4b 69 |r, Contr|oller Ki|
|00000930| 6c 6c 65 64 2c 20 50 61 | 77 6e 20 4b 69 6c 6c 65 |lled, Pa|wn Kille|
|00000940| 64 50 61 77 6e 29 0d 0a | 7b 0d 0a 09 6c 6f 63 61 |dPawn)..|{...loca|
|00000950| 6c 20 53 71 75 61 64 41 | 49 20 53 3b 0d 0a 0d 0a |l SquadA|I S;....|
|00000960| 09 66 6f 72 20 28 20 53 | 3d 53 71 75 61 64 73 3b |.for ( S|=Squads;|
|00000970| 20 53 21 3d 4e 6f 6e 65 | 3b 20 53 3d 53 2e 4e 65 | S!=None|; S=S.Ne|
|00000980| 78 74 53 71 75 61 64 20 | 29 0d 0a 09 09 53 2e 4e |xtSquad |)....S.N|
|00000990| 6f 74 69 66 79 4b 69 6c | 6c 65 64 28 4b 69 6c 6c |otifyKil|led(Kill|
|000009a0| 65 72 2c 4b 69 6c 6c 65 | 64 2c 4b 69 6c 6c 65 64 |er,Kille|d,Killed|
|000009b0| 50 61 77 6e 29 3b 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |Pawn);..|}....fun|
|000009c0| 63 74 69 6f 6e 20 46 69 | 6e 64 4e 65 77 4f 62 6a |ction Fi|ndNewObj|
|000009d0| 65 63 74 69 76 65 73 28 | 47 61 6d 65 4f 62 6a 65 |ectives(|GameObje|
|000009e0| 63 74 69 76 65 20 44 69 | 73 61 62 6c 65 64 4f 62 |ctive Di|sabledOb|
|000009f0| 6a 65 63 74 69 76 65 29 | 0d 0a 7b 0d 0a 09 6c 6f |jective)|..{...lo|
|00000a00| 63 61 6c 20 53 71 75 61 | 64 41 49 20 53 3b 0d 0a |cal Squa|dAI S;..|
|00000a10| 0d 0a 09 66 6f 72 20 28 | 20 53 3d 53 71 75 61 64 |...for (| S=Squad|
|00000a20| 73 3b 20 53 21 3d 4e 6f | 6e 65 3b 20 53 3d 53 2e |s; S!=No|ne; S=S.|
|00000a30| 4e 65 78 74 53 71 75 61 | 64 20 29 0d 0a 09 09 69 |NextSqua|d )....i|
|00000a40| 66 20 28 20 53 2e 53 71 | 75 61 64 4f 62 6a 65 63 |f ( S.Sq|uadObjec|
|00000a50| 74 69 76 65 20 3d 3d 20 | 44 69 73 61 62 6c 65 64 |tive == |Disabled|
|00000a60| 4f 62 6a 65 63 74 69 76 | 65 20 29 0d 0a 09 09 09 |Objectiv|e ).....|
|00000a70| 46 69 6e 64 4e 65 77 4f | 62 6a 65 63 74 69 76 65 |FindNewO|bjective|
|00000a80| 46 6f 72 28 53 2c 74 72 | 75 65 29 3b 0d 0a 7d 0d |For(S,tr|ue);..}.|
|00000a90| 0a 0d 0a 2f 2a 20 46 69 | 6e 64 4e 65 77 4f 62 6a |.../* Fi|ndNewObj|
|00000aa0| 65 63 74 69 76 65 46 6f | 72 28 29 0d 0a 70 69 63 |ectiveFo|r()..pic|
|00000ab0| 6b 20 61 20 6e 65 77 20 | 6f 62 6a 65 63 74 69 76 |k a new |objectiv|
|00000ac0| 65 20 66 6f 72 20 61 20 | 73 71 75 61 64 20 74 68 |e for a |squad th|
|00000ad0| 61 74 20 68 61 73 20 63 | 6f 6d 70 6c 65 74 65 64 |at has c|ompleted|
|00000ae0| 20 69 74 73 20 63 75 72 | 72 65 6e 74 20 6f 62 6a | its cur|rent obj|
|00000af0| 65 63 74 69 76 65 0d 0a | 2a 2f 0d 0a 66 75 6e 63 |ective..|*/..func|
|00000b00| 74 69 6f 6e 20 46 69 6e | 64 4e 65 77 4f 62 6a 65 |tion Fin|dNewObje|
|00000b10| 63 74 69 76 65 46 6f 72 | 28 53 71 75 61 64 41 49 |ctiveFor|(SquadAI|
|00000b20| 20 53 2c 20 62 6f 6f 6c | 20 62 46 6f 72 63 65 55 | S, bool| bForceU|
|00000b30| 70 64 61 74 65 29 0d 0a | 7b 0d 0a 09 6c 6f 63 61 |pdate)..|{...loca|
|00000b40| 6c 20 47 61 6d 65 4f 62 | 6a 65 63 74 69 76 65 20 |l GameOb|jective |
|00000b50| 4f 2c 20 54 65 6d 70 3b | 0d 0a 09 0d 0a 09 69 66 |O, Temp;|......if|
|00000b60| 20 28 20 50 6c 61 79 65 | 72 43 6f 6e 74 72 6f 6c | ( Playe|rControl|
|00000b70| 6c 65 72 28 53 2e 53 71 | 75 61 64 4c 65 61 64 65 |ler(S.Sq|uadLeade|
|00000b80| 72 29 20 21 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 09 |r) != No|ne )....|
|00000b90| 72 65 74 75 72 6e 3b 0d | 0a 09 69 66 20 28 20 53 |return;.|..if ( S|
|00000ba0| 2e 62 46 72 65 65 6c 61 | 6e 63 65 20 29 0d 0a 09 |.bFreela|nce )...|
|00000bb0| 09 4f 20 3d 20 47 65 74 | 50 72 69 6f 72 69 74 79 |.O = Get|Priority|
|00000bc0| 46 72 65 65 6c 61 6e 63 | 65 4f 62 6a 65 63 74 69 |Freelanc|eObjecti|
|00000bd0| 76 65 28 29 3b 0d 0a 09 | 65 6c 73 65 20 69 66 20 |ve();...|else if |
|00000be0| 28 20 53 2e 47 65 74 4f | 72 64 65 72 73 28 29 20 |( S.GetO|rders() |
|00000bf0| 3d 3d 20 27 41 74 74 61 | 63 6b 27 20 29 0d 0a 09 |== 'Atta|ck' )...|
|00000c00| 09 4f 20 3d 20 47 65 74 | 50 72 69 6f 72 69 74 79 |.O = Get|Priority|
|00000c10| 41 74 74 61 63 6b 4f 62 | 6a 65 63 74 69 76 65 28 |AttackOb|jective(|
|00000c20| 29 3b 0d 0a 09 69 66 20 | 28 20 4f 20 3d 3d 20 4e |);...if |( O == N|
|00000c30| 6f 6e 65 20 29 0d 0a 09 | 7b 0d 0a 09 09 4f 20 3d |one )...|{....O =|
|00000c40| 20 47 65 74 4c 65 61 73 | 74 44 65 66 65 6e 64 65 | GetLeas|tDefende|
|00000c50| 64 4f 62 6a 65 63 74 69 | 76 65 28 29 3b 0d 0a 09 |dObjecti|ve();...|
|00000c60| 09 69 66 20 28 20 28 4f | 20 21 3d 20 4e 6f 6e 65 |.if ( (O| != None|
|00000c70| 29 20 26 26 20 28 4f 2e | 44 65 66 65 6e 73 65 53 |) && (O.|DefenseS|
|00000c80| 71 75 61 64 20 21 3d 20 | 4e 6f 6e 65 29 20 29 0d |quad != |None) ).|
|00000c90| 0a 09 09 7b 0d 0a 09 09 | 09 69 66 20 28 20 53 2e |...{....|.if ( S.|
|00000ca0| 47 65 74 4f 72 64 65 72 | 73 28 29 20 3d 3d 20 27 |GetOrder|s() == '|
|00000cb0| 41 74 74 61 63 6b 27 20 | 29 0d 0a 09 09 09 7b 0d |Attack' |).....{.|
|00000cc0| 0a 09 09 09 09 53 2e 4d | 65 72 67 65 57 69 74 68 |.....S.M|ergeWith|
|00000cd0| 28 4f 2e 44 65 66 65 6e | 73 65 53 71 75 61 64 29 |(O.Defen|seSquad)|
|00000ce0| 3b 0d 0a 09 09 09 09 72 | 65 74 75 72 6e 3b 0d 0a |;......r|eturn;..|
|00000cf0| 09 09 09 7d 0d 0a 09 09 | 09 65 6c 73 65 0d 0a 09 |...}....|.else...|
|00000d00| 09 09 7b 0d 0a 09 09 09 | 09 54 65 6d 70 20 3d 20 |..{.....|.Temp = |
|00000d10| 4f 3b 0d 0a 09 09 09 09 | 4f 20 3d 20 47 65 74 50 |O;......|O = GetP|
|00000d20| 72 69 6f 72 69 74 79 41 | 74 74 61 63 6b 4f 62 6a |riorityA|ttackObj|
|00000d30| 65 63 74 69 76 65 28 29 | 3b 0d 0a 09 09 09 09 69 |ective()|;......i|
|00000d40| 66 20 28 20 4f 20 3d 3d | 20 4e 6f 6e 65 20 29 0d |f ( O ==| None ).|
|00000d50| 0a 09 09 09 09 7b 0d 0a | 09 09 09 09 09 53 2e 4d |.....{..|.....S.M|
|00000d60| 65 72 67 65 57 69 74 68 | 28 54 65 6d 70 2e 44 65 |ergeWith|(Temp.De|
|00000d70| 66 65 6e 73 65 53 71 75 | 61 64 29 3b 0d 0a 09 09 |fenseSqu|ad);....|
|00000d80| 09 09 09 72 65 74 75 72 | 6e 3b 0d 0a 09 09 09 09 |...retur|n;......|
|00000d90| 7d 0d 0a 09 09 09 7d 0d | 0a 09 09 7d 0d 0a 09 7d |}.....}.|...}...}|
|00000da0| 0d 0a 09 69 66 20 28 20 | 28 4f 20 3d 3d 20 4e 6f |...if ( |(O == No|
|00000db0| 6e 65 29 20 26 26 20 28 | 53 2e 62 46 72 65 65 6c |ne) && (|S.bFreel|
|00000dc0| 61 6e 63 65 20 7c 7c 20 | 28 53 2e 47 65 74 4f 72 |ance || |(S.GetOr|
|00000dd0| 64 65 72 73 28 29 20 3d | 3d 20 27 44 65 66 65 6e |ders() =|= 'Defen|
|00000de0| 64 27 29 29 20 29 0d 0a | 09 09 4f 20 3d 20 47 65 |d')) )..|..O = Ge|
|00000df0| 74 50 72 69 6f 72 69 74 | 79 41 74 74 61 63 6b 4f |tPriorit|yAttackO|
|00000e00| 62 6a 65 63 74 69 76 65 | 28 29 3b 0d 0a 09 53 2e |bjective|();...S.|
|00000e10| 53 65 74 4f 62 6a 65 63 | 74 69 76 65 28 4f 2c 62 |SetObjec|tive(O,b|
|00000e20| 46 6f 72 63 65 55 70 64 | 61 74 65 29 3b 0d 0a 7d |ForceUpd|ate);..}|
|00000e30| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 52 65 6d |....func|tion Rem|
|00000e40| 6f 76 65 53 71 75 61 64 | 28 53 71 75 61 64 41 49 |oveSquad|(SquadAI|
|00000e50| 20 53 71 75 61 64 29 0d | 0a 7b 0d 0a 09 6c 6f 63 | Squad).|.{...loc|
|00000e60| 61 6c 20 53 71 75 61 64 | 41 49 20 53 3b 0d 0a 0d |al Squad|AI S;...|
|00000e70| 0a 09 69 66 20 28 20 53 | 71 75 61 64 20 3d 3d 20 |..if ( S|quad == |
|00000e80| 53 71 75 61 64 73 20 29 | 0d 0a 09 7b 0d 0a 09 09 |Squads )|...{....|
|00000e90| 53 71 75 61 64 73 20 3d | 20 53 71 75 61 64 73 2e |Squads =| Squads.|
|00000ea0| 4e 65 78 74 53 71 75 61 | 64 3b 0d 0a 09 09 72 65 |NextSqua|d;....re|
|00000eb0| 74 75 72 6e 3b 0d 0a 09 | 7d 0d 0a 09 46 6f 72 20 |turn;...|}...For |
|00000ec0| 28 20 53 3d 53 71 75 61 | 64 73 3b 20 53 21 3d 4e |( S=Squa|ds; S!=N|
|00000ed0| 6f 6e 65 3b 20 53 3d 53 | 2e 4e 65 78 74 53 71 75 |one; S=S|.NextSqu|
|00000ee0| 61 64 20 29 0d 0a 09 09 | 69 66 20 28 20 53 2e 4e |ad )....|if ( S.N|
|00000ef0| 65 78 74 53 71 75 61 64 | 20 3d 3d 20 53 71 75 61 |extSquad| == Squa|
|00000f00| 64 20 29 0d 0a 09 09 7b | 0d 0a 09 09 09 53 2e 4e |d )....{|.....S.N|
|00000f10| 65 78 74 53 71 75 61 64 | 20 3d 20 53 2e 4e 65 78 |extSquad| = S.Nex|
|00000f20| 74 53 71 75 61 64 2e 4e | 65 78 74 53 71 75 61 64 |tSquad.N|extSquad|
|00000f30| 3b 0d 0a 09 09 09 72 65 | 74 75 72 6e 3b 0d 0a 09 |;.....re|turn;...|
|00000f40| 09 7d 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |.}..}...|.functio|
|00000f50| 6e 20 62 6f 6f 6c 20 4f | 6e 54 68 69 73 54 65 61 |n bool O|nThisTea|
|00000f60| 6d 28 50 61 77 6e 20 4f | 74 68 65 72 29 0d 0a 7b |m(Pawn O|ther)..{|
|00000f70| 0d 0a 09 69 66 20 28 20 | 4f 74 68 65 72 2e 50 6c |...if ( |Other.Pl|
|00000f80| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|00000f90| 6e 66 6f 20 21 3d 20 4e | 6f 6e 65 20 29 0d 0a 09 |nfo != N|one )...|
|00000fa0| 09 72 65 74 75 72 6e 20 | 28 20 4f 74 68 65 72 2e |.return |( Other.|
|00000fb0| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00000fc0| 6e 49 6e 66 6f 2e 54 65 | 61 6d 20 3d 3d 20 54 65 |nInfo.Te|am == Te|
|00000fd0| 61 6d 20 29 3b 0d 0a 09 | 72 65 74 75 72 6e 20 66 |am );...|return f|
|00000fe0| 61 6c 73 65 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |alse;..}|....func|
|00000ff0| 74 69 6f 6e 20 53 71 75 | 61 64 41 49 20 46 69 6e |tion Squ|adAI Fin|
|00001000| 64 53 71 75 61 64 4f 66 | 28 43 6f 6e 74 72 6f 6c |dSquadOf|(Control|
|00001010| 6c 65 72 20 43 29 0d 0a | 7b 0d 0a 09 6c 6f 63 61 |ler C)..|{...loca|
|00001020| 6c 20 53 71 75 61 64 41 | 49 20 53 3b 0d 0a 0d 0a |l SquadA|I S;....|
|00001030| 09 69 66 20 28 20 42 6f | 74 28 43 29 20 21 3d 20 |.if ( Bo|t(C) != |
|00001040| 4e 6f 6e 65 20 29 0d 0a | 09 09 72 65 74 75 72 6e |None )..|..return|
|00001050| 20 42 6f 74 28 43 29 2e | 53 71 75 61 64 3b 0d 0a | Bot(C).|Squad;..|
|00001060| 0d 0a 09 66 6f 72 20 28 | 20 53 3d 53 71 75 61 64 |...for (| S=Squad|
|00001070| 73 3b 20 53 21 3d 4e 6f | 6e 65 3b 20 53 3d 53 2e |s; S!=No|ne; S=S.|
|00001080| 4e 65 78 74 53 71 75 61 | 64 20 29 0d 0a 09 09 69 |NextSqua|d )....i|
|00001090| 66 20 28 20 53 2e 53 71 | 75 61 64 4c 65 61 64 65 |f ( S.Sq|uadLeade|
|000010a0| 72 20 3d 3d 20 43 20 29 | 0d 0a 09 09 09 72 65 74 |r == C )|.....ret|
|000010b0| 75 72 6e 20 53 3b 0d 0a | 09 72 65 74 75 72 6e 20 |urn S;..|.return |
|000010c0| 4e 6f 6e 65 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |None;..}|....func|
|000010d0| 74 69 6f 6e 20 62 6f 6f | 6c 20 46 72 69 65 6e 64 |tion boo|l Friend|
|000010e0| 6c 79 54 6f 77 61 72 64 | 28 50 61 77 6e 20 4f 74 |lyToward|(Pawn Ot|
|000010f0| 68 65 72 29 0d 0a 7b 0d | 0a 09 72 65 74 75 72 6e |her)..{.|..return|
|00001100| 20 4f 6e 54 68 69 73 54 | 65 61 6d 28 4f 74 68 65 | OnThisT|eam(Othe|
|00001110| 72 29 3b 0d 0a 7d 09 0d | 0a 0d 0a 66 75 6e 63 74 |r);..}..|...funct|
|00001120| 69 6f 6e 20 53 65 74 4f | 62 6a 65 63 74 69 76 65 |ion SetO|bjective|
|00001130| 4c 69 73 74 73 28 29 0d | 0a 7b 0d 0a 09 6c 6f 63 |Lists().|.{...loc|
|00001140| 61 6c 20 47 61 6d 65 4f | 62 6a 65 63 74 69 76 65 |al GameO|bjective|
|00001150| 20 4f 3b 0d 0a 0d 0a 09 | 46 6f 72 45 61 63 68 20 | O;.....|ForEach |
|00001160| 41 6c 6c 41 63 74 6f 72 | 73 28 63 6c 61 73 73 27 |AllActor|s(class'|
|00001170| 47 61 6d 65 4f 62 6a 65 | 63 74 69 76 65 27 2c 4f |GameObje|ctive',O|
|00001180| 29 0d 0a 09 09 69 66 20 | 28 20 4f 2e 62 46 69 72 |)....if |( O.bFir|
|00001190| 73 74 4f 62 6a 65 63 74 | 69 76 65 20 29 0d 0a 09 |stObject|ive )...|
|000011a0| 09 7b 0d 0a 09 09 09 4f | 62 6a 65 63 74 69 76 65 |.{.....O|bjective|
|000011b0| 73 20 3d 20 4f 3b 0d 0a | 09 09 09 62 72 65 61 6b |s = O;..|...break|
|000011c0| 3b 0d 0a 09 09 7d 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |;....}..|}....fun|
|000011d0| 63 74 69 6f 6e 20 53 71 | 75 61 64 41 49 20 46 69 |ction Sq|uadAI Fi|
|000011e0| 6e 64 48 75 6d 61 6e 53 | 71 75 61 64 28 29 0d 0a |ndHumanS|quad()..|
|000011f0| 7b 0d 0a 09 6c 6f 63 61 | 6c 20 53 71 75 61 64 41 |{...loca|l SquadA|
|00001200| 49 20 53 3b 0d 0a 0d 0a | 09 66 6f 72 20 28 20 53 |I S;....|.for ( S|
|00001210| 3d 53 71 75 61 64 73 3b | 20 53 21 3d 4e 6f 6e 65 |=Squads;| S!=None|
|00001220| 3b 20 53 3d 53 2e 4e 65 | 78 74 53 71 75 61 64 20 |; S=S.Ne|xtSquad |
|00001230| 29 0d 0a 09 09 69 66 20 | 28 20 53 2e 53 71 75 61 |)....if |( S.Squa|
|00001240| 64 4c 65 61 64 65 72 2e | 49 73 41 28 27 50 6c 61 |dLeader.|IsA('Pla|
|00001250| 79 65 72 43 6f 6e 74 72 | 6f 6c 6c 65 72 27 29 20 |yerContr|oller') |
|00001260| 29 0d 0a 09 09 09 72 65 | 74 75 72 6e 20 53 3b 0d |).....re|turn S;.|
|00001270| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 53 |.}....fu|nction S|
|00001280| 71 75 61 64 41 49 20 41 | 64 64 48 75 6d 61 6e 53 |quadAI A|ddHumanS|
|00001290| 71 75 61 64 28 29 0d 0a | 7b 09 09 0d 0a 09 6c 6f |quad()..|{.....lo|
|000012a0| 63 61 6c 20 53 71 75 61 | 64 41 49 20 53 3b 0d 0a |cal Squa|dAI S;..|
|000012b0| 09 6c 6f 63 61 6c 20 43 | 6f 6e 74 72 6f 6c 6c 65 |.local C|ontrolle|
|000012c0| 72 20 50 3b 0d 0a 0d 0a | 09 53 20 3d 20 46 69 6e |r P;....|.S = Fin|
|000012d0| 64 48 75 6d 61 6e 53 71 | 75 61 64 28 29 3b 0d 0a |dHumanSq|uad();..|
|000012e0| 09 69 66 20 28 20 53 20 | 21 3d 20 4e 6f 6e 65 20 |.if ( S |!= None |
|000012f0| 29 0d 0a 09 09 72 65 74 | 75 72 6e 20 53 3b 0d 0a |)....ret|urn S;..|
|00001300| 0d 0a 09 2f 2f 20 61 64 | 64 20 68 75 6d 61 6e 20 |...// ad|d human |
|00001310| 73 71 75 61 64 09 09 0d | 0a 09 46 6f 72 20 28 20 |squad...|..For ( |
|00001320| 50 3d 4c 65 76 65 6c 2e | 43 6f 6e 74 72 6f 6c 6c |P=Level.|Controll|
|00001330| 65 72 4c 69 73 74 3b 20 | 50 21 3d 4e 6f 6e 65 3b |erList; |P!=None;|
|00001340| 20 50 3d 20 50 2e 4e 65 | 78 74 43 6f 6e 74 72 6f | P= P.Ne|xtContro|
|00001350| 6c 6c 65 72 20 29 0d 0a | 09 09 69 66 20 28 20 50 |ller )..|..if ( P|
|00001360| 2e 49 73 41 28 27 50 6c | 61 79 65 72 43 6f 6e 74 |.IsA('Pl|ayerCont|
|00001370| 72 6f 6c 6c 65 72 27 29 | 20 26 26 20 28 50 2e 50 |roller')| && (P.P|
|00001380| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|00001390| 49 6e 66 6f 2e 54 65 61 | 6d 20 3d 3d 20 54 65 61 |Info.Tea|m == Tea|
|000013a0| 6d 29 0d 0a 09 09 09 26 | 26 20 21 50 2e 50 6c 61 |m).....&|& !P.Pla|
|000013b0| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|000013c0| 66 6f 2e 62 4f 6e 6c 79 | 53 70 65 63 74 61 74 6f |fo.bOnly|Spectato|
|000013d0| 72 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 41 64 |r )....r|eturn Ad|
|000013e0| 64 53 71 75 61 64 57 69 | 74 68 4c 65 61 64 65 72 |dSquadWi|thLeader|
|000013f0| 28 50 2c 4e 6f 6e 65 29 | 3b 0d 0a 7d 0d 0a 0d 0a |(P,None)|;..}....|
|00001400| 66 75 6e 63 74 69 6f 6e | 20 50 75 74 42 6f 74 4f |function| PutBotO|
|00001410| 6e 53 71 75 61 64 4c 65 | 64 42 79 28 43 6f 6e 74 |nSquadLe|dBy(Cont|
|00001420| 72 6f 6c 6c 65 72 20 43 | 2c 20 42 6f 74 20 42 29 |roller C|, Bot B)|
|00001430| 0d 0a 7b 0d 0a 09 6c 6f | 63 61 6c 20 53 71 75 61 |..{...lo|cal Squa|
|00001440| 64 41 49 20 53 3b 0d 0a | 0d 0a 09 66 6f 72 20 28 |dAI S;..|...for (|
|00001450| 20 53 3d 53 71 75 61 64 | 73 3b 20 53 21 3d 4e 6f | S=Squad|s; S!=No|
|00001460| 6e 65 3b 20 53 3d 53 2e | 4e 65 78 74 53 71 75 61 |ne; S=S.|NextSqua|
|00001470| 64 20 29 0d 0a 09 09 69 | 66 20 28 20 53 2e 53 71 |d )....i|f ( S.Sq|
|00001480| 75 61 64 4c 65 61 64 65 | 72 20 3d 3d 20 43 20 29 |uadLeade|r == C )|
|00001490| 0d 0a 09 09 09 62 72 65 | 61 6b 3b 0d 0a 0d 0a 09 |.....bre|ak;.....|
|000014a0| 69 66 20 28 20 28 53 20 | 3d 3d 20 4e 6f 6e 65 29 |if ( (S |== None)|
|000014b0| 20 26 26 20 28 50 6c 61 | 79 65 72 43 6f 6e 74 72 | && (Pla|yerContr|
|000014c0| 6f 6c 6c 65 72 28 43 29 | 20 21 3d 20 4e 6f 6e 65 |oller(C)| != None|
|000014d0| 29 20 29 0d 0a 09 09 53 | 20 3d 20 41 64 64 53 71 |) )....S| = AddSq|
|000014e0| 75 61 64 57 69 74 68 4c | 65 61 64 65 72 28 43 2c |uadWithL|eader(C,|
|000014f0| 4e 6f 6e 65 29 3b 0d 0a | 09 09 0d 0a 09 69 66 20 |None);..|.....if |
|00001500| 28 20 53 20 21 3d 20 4e | 6f 6e 65 20 29 0d 0a 09 |( S != N|one )...|
|00001510| 09 53 2e 41 64 64 42 6f | 74 28 42 29 3b 09 09 0d |.S.AddBo|t(B);...|
|00001520| 0a 7d 09 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |.}.....f|unction |
|00001530| 53 71 75 61 64 41 49 20 | 41 64 64 53 71 75 61 64 |SquadAI |AddSquad|
|00001540| 57 69 74 68 4c 65 61 64 | 65 72 28 43 6f 6e 74 72 |WithLead|er(Contr|
|00001550| 6f 6c 6c 65 72 20 43 2c | 20 47 61 6d 65 4f 62 6a |oller C,| GameObj|
|00001560| 65 63 74 69 76 65 20 4f | 29 0d 0a 7b 0d 0a 09 6c |ective O|)..{...l|
|00001570| 6f 63 61 6c 20 53 71 75 | 61 64 41 49 20 53 3b 0d |ocal Squ|adAI S;.|
|00001580| 0a 0d 0a 09 53 20 3d 20 | 73 70 61 77 6e 28 53 71 |....S = |spawn(Sq|
|00001590| 75 61 64 54 79 70 65 29 | 3b 0d 0a 09 53 2e 49 6e |uadType)|;...S.In|
|000015a0| 69 74 69 61 6c 69 7a 65 | 28 54 65 61 6d 2c 4f 2c |itialize|(Team,O,|
|000015b0| 43 29 3b 0d 0a 09 53 2e | 4e 65 78 74 53 71 75 61 |C);...S.|NextSqua|
|000015c0| 64 20 3d 20 53 71 75 61 | 64 73 3b 0d 0a 09 53 71 |d = Squa|ds;...Sq|
|000015d0| 75 61 64 73 20 3d 20 53 | 3b 0d 0a 09 72 65 74 75 |uads = S|;...retu|
|000015e0| 72 6e 20 53 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |rn S;..}|....func|
|000015f0| 74 69 6f 6e 20 47 61 6d | 65 4f 62 6a 65 63 74 69 |tion Gam|eObjecti|
|00001600| 76 65 20 47 65 74 4c 65 | 61 73 74 44 65 66 65 6e |ve GetLe|astDefen|
|00001610| 64 65 64 4f 62 6a 65 63 | 74 69 76 65 28 29 0d 0a |dedObjec|tive()..|
|00001620| 7b 0d 0a 09 6c 6f 63 61 | 6c 20 47 61 6d 65 4f 62 |{...loca|l GameOb|
|00001630| 6a 65 63 74 69 76 65 20 | 4f 2c 20 42 65 73 74 3b |jective |O, Best;|
|00001640| 0d 0a 0d 0a 09 66 6f 72 | 20 28 20 4f 3d 4f 62 6a |.....for| ( O=Obj|
|00001650| 65 63 74 69 76 65 73 3b | 20 4f 21 3d 4e 6f 6e 65 |ectives;| O!=None|
|00001660| 3b 20 4f 3d 4f 2e 4e 65 | 78 74 4f 62 6a 65 63 74 |; O=O.Ne|xtObject|
|00001670| 69 76 65 20 29 0d 0a 09 | 7b 0d 0a 09 09 69 66 20 |ive )...|{....if |
|00001680| 28 20 21 4f 2e 62 44 69 | 73 61 62 6c 65 64 20 26 |( !O.bDi|sabled &|
|00001690| 26 20 28 4f 2e 44 65 66 | 65 6e 64 65 72 54 65 61 |& (O.Def|enderTea|
|000016a0| 6d 49 6e 64 65 78 20 3d | 3d 20 54 65 61 6d 2e 54 |mIndex =|= Team.T|
|000016b0| 65 61 6d 49 6e 64 65 78 | 29 0d 0a 09 09 09 26 26 |eamIndex|).....&&|
|000016c0| 20 28 28 42 65 73 74 20 | 3d 3d 20 4e 6f 6e 65 29 | ((Best |== None)|
|000016d0| 20 7c 7c 20 28 42 65 73 | 74 2e 44 65 66 65 6e 73 | || (Bes|t.Defens|
|000016e0| 65 50 72 69 6f 72 69 74 | 79 09 3c 20 4f 2e 44 65 |ePriorit|y.< O.De|
|000016f0| 66 65 6e 73 65 50 72 69 | 6f 72 69 74 79 29 0d 0a |fensePri|ority)..|
|00001700| 09 09 09 09 7c 7c 20 28 | 28 42 65 73 74 2e 44 65 |....|| (|(Best.De|
|00001710| 66 65 6e 73 65 50 72 69 | 6f 72 69 74 79 20 3d 3d |fensePri|ority ==|
|00001720| 20 4f 2e 44 65 66 65 6e | 73 65 50 72 69 6f 72 69 | O.Defen|sePriori|
|00001730| 74 79 29 20 26 26 20 28 | 42 65 73 74 2e 47 65 74 |ty) && (|Best.Get|
|00001740| 4e 75 6d 44 65 66 65 6e | 64 65 72 73 28 29 20 3c |NumDefen|ders() <|
|00001750| 20 4f 2e 47 65 74 4e 75 | 6d 44 65 66 65 6e 64 65 | O.GetNu|mDefende|
|00001760| 72 73 28 29 29 29 29 20 | 29 0d 0a 09 09 09 42 65 |rs()))) |).....Be|
|00001770| 73 74 20 3d 20 4f 3b 0d | 0a 09 7d 0d 0a 09 72 65 |st = O;.|..}...re|
|00001780| 74 75 72 6e 20 42 65 73 | 74 3b 0d 0a 7d 0d 0a 0d |turn Bes|t;..}...|
|00001790| 0a 66 75 6e 63 74 69 6f | 6e 20 47 61 6d 65 4f 62 |.functio|n GameOb|
|000017a0| 6a 65 63 74 69 76 65 20 | 47 65 74 4d 6f 73 74 44 |jective |GetMostD|
|000017b0| 65 66 65 6e 64 65 64 4f | 62 6a 65 63 74 69 76 65 |efendedO|bjective|
|000017c0| 28 29 0d 0a 7b 0d 0a 09 | 6c 6f 63 61 6c 20 47 61 |()..{...|local Ga|
|000017d0| 6d 65 4f 62 6a 65 63 74 | 69 76 65 20 4f 2c 20 42 |meObject|ive O, B|
|000017e0| 65 73 74 3b 0d 0a 0d 0a | 09 66 6f 72 20 28 20 4f |est;....|.for ( O|
|000017f0| 3d 4f 62 6a 65 63 74 69 | 76 65 73 3b 20 4f 21 3d |=Objecti|ves; O!=|
|00001800| 4e 6f 6e 65 3b 20 4f 3d | 4f 2e 4e 65 78 74 4f 62 |None; O=|O.NextOb|
|00001810| 6a 65 63 74 69 76 65 20 | 29 0d 0a 09 7b 0d 0a 09 |jective |)...{...|
|00001820| 09 69 66 20 28 20 21 4f | 2e 62 44 69 73 61 62 6c |.if ( !O|.bDisabl|
|00001830| 65 64 20 26 26 20 28 4f | 2e 44 65 66 65 6e 64 65 |ed && (O|.Defende|
|00001840| 72 54 65 61 6d 49 6e 64 | 65 78 20 3d 3d 20 54 65 |rTeamInd|ex == Te|
|00001850| 61 6d 2e 54 65 61 6d 49 | 6e 64 65 78 29 0d 0a 09 |am.TeamI|ndex)...|
|00001860| 09 09 26 26 20 28 28 42 | 65 73 74 20 3d 3d 20 4e |..&& ((B|est == N|
|00001870| 6f 6e 65 29 20 7c 7c 20 | 28 42 65 73 74 2e 44 65 |one) || |(Best.De|
|00001880| 66 65 6e 73 65 50 72 69 | 6f 72 69 74 79 09 3c 20 |fensePri|ority.< |
|00001890| 4f 2e 44 65 66 65 6e 73 | 65 50 72 69 6f 72 69 74 |O.Defens|ePriorit|
|000018a0| 79 29 0d 0a 09 09 09 09 | 7c 7c 20 28 28 42 65 73 |y)......||| ((Bes|
|000018b0| 74 2e 44 65 66 65 6e 73 | 65 50 72 69 6f 72 69 74 |t.Defens|ePriorit|
|000018c0| 79 20 3d 3d 20 4f 2e 44 | 65 66 65 6e 73 65 50 72 |y == O.D|efensePr|
|000018d0| 69 6f 72 69 74 79 29 20 | 26 26 20 28 42 65 73 74 |iority) |&& (Best|
|000018e0| 2e 47 65 74 4e 75 6d 44 | 65 66 65 6e 64 65 72 73 |.GetNumD|efenders|
|000018f0| 28 29 20 3e 20 4f 2e 47 | 65 74 4e 75 6d 44 65 66 |() > O.G|etNumDef|
|00001900| 65 6e 64 65 72 73 28 29 | 29 29 29 20 29 0d 0a 09 |enders()|))) )...|
|00001910| 09 09 42 65 73 74 20 3d | 20 4f 3b 0d 0a 09 7d 09 |..Best =| O;...}.|
|00001920| 0d 0a 09 72 65 74 75 72 | 6e 20 42 65 73 74 3b 0d |...retur|n Best;.|
|00001930| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 47 |.}....fu|nction G|
|00001940| 61 6d 65 4f 62 6a 65 63 | 74 69 76 65 20 47 65 74 |ameObjec|tive Get|
|00001950| 50 72 69 6f 72 69 74 79 | 41 74 74 61 63 6b 4f 62 |Priority|AttackOb|
|00001960| 6a 65 63 74 69 76 65 28 | 29 0d 0a 7b 0d 0a 09 6c |jective(|)..{...l|
|00001970| 6f 63 61 6c 20 47 61 6d | 65 4f 62 6a 65 63 74 69 |ocal Gam|eObjecti|
|00001980| 76 65 20 4f 3b 0d 0a 0d | 0a 09 69 66 20 28 20 28 |ve O;...|..if ( (|
|00001990| 50 69 63 6b 65 64 4f 62 | 6a 65 63 74 69 76 65 20 |PickedOb|jective |
|000019a0| 21 3d 20 4e 6f 6e 65 29 | 20 26 26 20 50 69 63 6b |!= None)| && Pick|
|000019b0| 65 64 4f 62 6a 65 63 74 | 69 76 65 2e 62 44 69 73 |edObject|ive.bDis|
|000019c0| 61 62 6c 65 64 20 29 0d | 0a 09 09 50 69 63 6b 65 |abled ).|...Picke|
|000019d0| 64 4f 62 6a 65 63 74 69 | 76 65 20 3d 20 4e 6f 6e |dObjecti|ve = Non|
|000019e0| 65 3b 0d 0a 09 69 66 20 | 28 20 50 69 63 6b 65 64 |e;...if |( Picked|
|000019f0| 4f 62 6a 65 63 74 69 76 | 65 20 3d 3d 20 4e 6f 6e |Objectiv|e == Non|
|00001a00| 65 20 29 0d 0a 09 7b 0d | 0a 09 09 66 6f 72 20 28 |e )...{.|...for (|
|00001a10| 20 4f 3d 4f 62 6a 65 63 | 74 69 76 65 73 3b 20 4f | O=Objec|tives; O|
|00001a20| 21 3d 4e 6f 6e 65 3b 20 | 4f 3d 4f 2e 4e 65 78 74 |!=None; |O=O.Next|
|00001a30| 4f 62 6a 65 63 74 69 76 | 65 20 29 0d 0a 09 09 7b |Objectiv|e )....{|
|00001a40| 0d 0a 09 09 09 69 66 20 | 28 20 21 4f 2e 62 44 69 |.....if |( !O.bDi|
|00001a50| 73 61 62 6c 65 64 20 26 | 26 20 28 4f 2e 44 65 66 |sabled &|& (O.Def|
|00001a60| 65 6e 64 65 72 54 65 61 | 6d 49 6e 64 65 78 20 21 |enderTea|mIndex !|
|00001a70| 3d 20 54 65 61 6d 2e 54 | 65 61 6d 49 6e 64 65 78 |= Team.T|eamIndex|
|00001a80| 29 0d 0a 09 09 09 09 26 | 26 20 28 28 50 69 63 6b |)......&|& ((Pick|
|00001a90| 65 64 4f 62 6a 65 63 74 | 69 76 65 20 3d 3d 20 4e |edObject|ive == N|
|00001aa0| 6f 6e 65 29 20 7c 7c 20 | 28 50 69 63 6b 65 64 4f |one) || |(PickedO|
|00001ab0| 62 6a 65 63 74 69 76 65 | 2e 44 65 66 65 6e 73 65 |bjective|.Defense|
|00001ac0| 50 72 69 6f 72 69 74 79 | 20 3c 20 4f 2e 44 65 66 |Priority| < O.Def|
|00001ad0| 65 6e 73 65 50 72 69 6f | 72 69 74 79 29 20 0d 0a |ensePrio|rity) ..|
|00001ae0| 09 09 09 09 09 7c 7c 20 | 28 28 50 69 63 6b 65 64 |.....|| |((Picked|
|00001af0| 4f 62 6a 65 63 74 69 76 | 65 2e 44 65 66 65 6e 73 |Objectiv|e.Defens|
|00001b00| 65 50 72 69 6f 72 69 74 | 79 20 3d 3d 20 4f 2e 44 |ePriorit|y == O.D|
|00001b10| 65 66 65 6e 73 65 50 72 | 69 6f 72 69 74 79 29 20 |efensePr|iority) |
|00001b20| 26 26 20 28 46 52 61 6e | 64 28 29 20 3c 20 30 2e |&& (FRan|d() < 0.|
|00001b30| 33 29 29 29 20 29 0d 0a | 09 09 09 09 50 69 63 6b |3))) )..|....Pick|
|00001b40| 65 64 4f 62 6a 65 63 74 | 69 76 65 20 3d 20 4f 3b |edObject|ive = O;|
|00001b50| 0d 0a 09 09 7d 09 0d 0a | 09 7d 0d 0a 09 72 65 74 |....}...|.}...ret|
|00001b60| 75 72 6e 20 50 69 63 6b | 65 64 4f 62 6a 65 63 74 |urn Pick|edObject|
|00001b70| 69 76 65 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |ive;..}.|...funct|
|00001b80| 69 6f 6e 20 47 61 6d 65 | 4f 62 6a 65 63 74 69 76 |ion Game|Objectiv|
|00001b90| 65 20 47 65 74 50 72 69 | 6f 72 69 74 79 46 72 65 |e GetPri|orityFre|
|00001ba0| 65 6c 61 6e 63 65 4f 62 | 6a 65 63 74 69 76 65 28 |elanceOb|jective(|
|00001bb0| 29 0d 0a 7b 0d 0a 09 72 | 65 74 75 72 6e 20 47 65 |)..{...r|eturn Ge|
|00001bc0| 74 50 72 69 6f 72 69 74 | 79 41 74 74 61 63 6b 4f |tPriorit|yAttackO|
|00001bd0| 62 6a 65 63 74 69 76 65 | 28 29 3b 0d 0a 7d 0d 0a |bjective|();..}..|
|00001be0| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 62 6f 6f 6c 20 |..functi|on bool |
|00001bf0| 50 75 74 4f 6e 44 65 66 | 65 6e 73 65 28 42 6f 74 |PutOnDef|ense(Bot|
|00001c00| 20 42 29 0d 0a 7b 0d 0a | 09 6c 6f 63 61 6c 20 47 | B)..{..|.local G|
|00001c10| 61 6d 65 4f 62 6a 65 63 | 74 69 76 65 20 4f 3b 0d |ameObjec|tive O;.|
|00001c20| 0a 0d 0a 09 4f 20 3d 20 | 47 65 74 4c 65 61 73 74 |....O = |GetLeast|
|00001c30| 44 65 66 65 6e 64 65 64 | 4f 62 6a 65 63 74 69 76 |Defended|Objectiv|
|00001c40| 65 28 29 3b 0d 0a 09 69 | 66 20 28 20 4f 20 21 3d |e();...i|f ( O !=|
|00001c50| 20 4e 6f 6e 65 20 29 0d | 0a 09 7b 0d 0a 09 09 69 | None ).|..{....i|
|00001c60| 66 20 28 20 4f 2e 44 65 | 66 65 6e 73 65 53 71 75 |f ( O.De|fenseSqu|
|00001c70| 61 64 20 3d 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 09 |ad == No|ne )....|
|00001c80| 09 4f 2e 44 65 66 65 6e | 73 65 53 71 75 61 64 20 |.O.Defen|seSquad |
|00001c90| 3d 20 41 64 64 53 71 75 | 61 64 57 69 74 68 4c 65 |= AddSqu|adWithLe|
|00001ca0| 61 64 65 72 28 42 2c 20 | 4f 29 3b 0d 0a 09 09 65 |ader(B, |O);....e|
|00001cb0| 6c 73 65 0d 0a 09 09 09 | 4f 2e 44 65 66 65 6e 73 |lse.....|O.Defens|
|00001cc0| 65 53 71 75 61 64 2e 41 | 64 64 42 6f 74 28 42 29 |eSquad.A|ddBot(B)|
|00001cd0| 3b 0d 0a 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |;....ret|urn true|
|00001ce0| 3b 0d 0a 09 7d 0d 0a 09 | 72 65 74 75 72 6e 20 66 |;...}...|return f|
|00001cf0| 61 6c 73 65 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |alse;..}|....func|
|00001d00| 74 69 6f 6e 20 50 75 74 | 4f 6e 4f 66 66 65 6e 73 |tion Put|OnOffens|
|00001d10| 65 28 42 6f 74 20 42 29 | 0d 0a 7b 0d 0a 09 69 66 |e(Bot B)|..{...if|
|00001d20| 20 28 20 28 41 74 74 61 | 63 6b 53 71 75 61 64 20 | ( (Atta|ckSquad |
|00001d30| 3d 3d 20 4e 6f 6e 65 29 | 20 7c 7c 20 28 41 74 74 |== None)| || (Att|
|00001d40| 61 63 6b 53 71 75 61 64 | 2e 53 69 7a 65 20 3e 3d |ackSquad|.Size >=|
|00001d50| 20 41 74 74 61 63 6b 53 | 71 75 61 64 2e 4d 61 78 | AttackS|quad.Max|
|00001d60| 53 71 75 61 64 53 69 7a | 65 29 20 29 0d 0a 09 09 |SquadSiz|e) )....|
|00001d70| 41 74 74 61 63 6b 53 71 | 75 61 64 20 3d 20 41 64 |AttackSq|uad = Ad|
|00001d80| 64 53 71 75 61 64 57 69 | 74 68 4c 65 61 64 65 72 |dSquadWi|thLeader|
|00001d90| 28 42 2c 20 47 65 74 50 | 72 69 6f 72 69 74 79 41 |(B, GetP|riorityA|
|00001da0| 74 74 61 63 6b 4f 62 6a | 65 63 74 69 76 65 28 29 |ttackObj|ective()|
|00001db0| 29 3b 0d 0a 09 65 6c 73 | 65 0d 0a 09 09 41 74 74 |);...els|e....Att|
|00001dc0| 61 63 6b 53 71 75 61 64 | 2e 41 64 64 42 6f 74 28 |ackSquad|.AddBot(|
|00001dd0| 42 29 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |B);..}..|..functi|
|00001de0| 6f 6e 20 50 75 74 4f 6e | 46 72 65 65 6c 61 6e 63 |on PutOn|Freelanc|
|00001df0| 65 28 42 6f 74 20 42 29 | 0d 0a 7b 0d 0a 09 69 66 |e(Bot B)|..{...if|
|00001e00| 20 28 20 28 46 72 65 65 | 6c 61 6e 63 65 53 71 75 | ( (Free|lanceSqu|
|00001e10| 61 64 20 3d 3d 20 4e 6f | 6e 65 29 20 7c 7c 20 28 |ad == No|ne) || (|
|00001e20| 46 72 65 65 6c 61 6e 63 | 65 53 71 75 61 64 2e 53 |Freelanc|eSquad.S|
|00001e30| 69 7a 65 20 3e 3d 20 46 | 72 65 65 6c 61 6e 63 65 |ize >= F|reelance|
|00001e40| 53 71 75 61 64 2e 4d 61 | 78 53 71 75 61 64 53 69 |Squad.Ma|xSquadSi|
|00001e50| 7a 65 29 20 29 0d 0a 09 | 09 46 72 65 65 6c 61 6e |ze) )...|.Freelan|
|00001e60| 63 65 53 71 75 61 64 20 | 3d 20 41 64 64 53 71 75 |ceSquad |= AddSqu|
|00001e70| 61 64 57 69 74 68 4c 65 | 61 64 65 72 28 42 2c 20 |adWithLe|ader(B, |
|00001e80| 47 65 74 50 72 69 6f 72 | 69 74 79 46 72 65 65 6c |GetPrior|ityFreel|
|00001e90| 61 6e 63 65 4f 62 6a 65 | 63 74 69 76 65 28 29 29 |anceObje|ctive())|
|00001ea0| 3b 0d 0a 09 65 6c 73 65 | 0d 0a 09 09 46 72 65 65 |;...else|....Free|
|00001eb0| 6c 61 6e 63 65 53 71 75 | 61 64 2e 41 64 64 42 6f |lanceSqu|ad.AddBo|
|00001ec0| 74 28 42 29 3b 0d 0a 09 | 46 72 65 65 6c 61 6e 63 |t(B);...|Freelanc|
|00001ed0| 65 53 71 75 61 64 2e 62 | 46 72 65 65 6c 61 6e 63 |eSquad.b|Freelanc|
|00001ee0| 65 20 3d 20 74 72 75 65 | 3b 0d 0a 7d 0d 0a 0d 0a |e = true|;..}....|
|00001ef0| 2f 2a 0d 0a 53 65 74 42 | 6f 74 4f 72 64 65 72 73 |/*..SetB|otOrders|
|00001f00| 20 2d 20 62 61 73 65 64 | 20 6f 6e 20 52 6f 73 74 | - based| on Rost|
|00001f10| 65 72 45 6e 74 72 79 20 | 72 65 63 6f 6d 6d 65 6e |erEntry |recommen|
|00001f20| 64 61 74 69 6f 6e 73 0d | 0a 0d 0a 46 49 58 4d 45 |dations.|...FIXME|
|00001f30| 20 2d 20 6e 65 65 64 20 | 61 73 73 61 75 6c 74 20 | - need |assault |
|00001f40| 74 79 70 65 20 70 69 63 | 6b 20 6c 65 61 64 65 72 |type pic|k leader|
|00001f50| 20 77 68 65 6e 20 6c 65 | 61 64 65 72 20 64 69 65 | when le|ader die|
|00001f60| 73 20 66 6f 72 20 61 74 | 74 61 63 6b 69 6e 67 0d |s for at|tacking.|
|00001f70| 0a 66 72 65 65 6c 61 6e | 63 65 20 73 71 75 61 64 |.freelan|ce squad|
|00001f80| 20 2d 20 62 61 63 6b 73 | 20 75 70 20 64 65 66 65 | - backs| up defe|
|00001f90| 6e 64 65 72 73 20 75 6e | 64 65 72 20 61 74 74 61 |nders un|der atta|
|00001fa0| 63 6b 2c 20 6f 72 20 6a | 6f 69 6e 73 20 69 6e 20 |ck, or j|oins in |
|00001fb0| 61 74 74 61 63 6b 73 0d | 0a 2a 2f 0d 0a 66 75 6e |attacks.|.*/..fun|
|00001fc0| 63 74 69 6f 6e 20 53 65 | 74 42 6f 74 4f 72 64 65 |ction Se|tBotOrde|
|00001fd0| 72 73 28 42 6f 74 20 4e | 65 77 42 6f 74 2c 20 52 |rs(Bot N|ewBot, R|
|00001fe0| 6f 73 74 65 72 45 6e 74 | 72 79 20 52 29 0d 0a 7b |osterEnt|ry R)..{|
|00001ff0| 0d 0a 09 6c 6f 63 61 6c | 20 53 71 75 61 64 41 49 |...local| SquadAI|
|00002000| 20 48 75 6d 61 6e 53 71 | 75 61 64 3b 0d 0a 09 6c | HumanSq|uad;...l|
|00002010| 6f 63 61 6c 20 6e 61 6d | 65 20 4e 65 77 4f 72 64 |ocal nam|e NewOrd|
|00002020| 65 72 73 3b 0d 0a 09 0d | 0a 09 69 66 20 28 20 4f |ers;....|..if ( O|
|00002030| 62 6a 65 63 74 69 76 65 | 73 20 3d 3d 20 4e 6f 6e |bjective|s == Non|
|00002040| 65 20 29 0d 0a 09 09 53 | 65 74 4f 62 6a 65 63 74 |e )....S|etObject|
|00002050| 69 76 65 4c 69 73 74 73 | 28 29 3b 0d 0a 0d 0a 09 |iveLists|();.....|
|00002060| 69 66 20 28 20 28 52 3d | 3d 4e 6f 6e 65 29 20 7c |if ( (R=|=None) ||
|00002070| 7c 20 52 2e 4e 6f 52 65 | 63 6f 6d 6d 65 6e 64 61 || R.NoRe|commenda|
|00002080| 74 69 6f 6e 28 29 20 29 | 0d 0a 09 7b 0d 0a 09 09 |tion() )|...{....|
|00002090| 2f 2f 20 70 69 63 6b 20 | 6f 72 64 65 72 73 0d 0a |// pick |orders..|
|000020a0| 09 09 4e 65 77 4f 72 64 | 65 72 73 20 3d 20 4f 72 |..NewOrd|ers = Or|
|000020b0| 64 65 72 4c 69 73 74 5b | 4f 72 64 65 72 4f 66 66 |derList[|OrderOff|
|000020c0| 73 65 74 20 25 20 38 5d | 3b 0d 0a 09 09 4f 72 64 |set % 8]|;....Ord|
|000020d0| 65 72 4f 66 66 73 65 74 | 2b 2b 3b 0d 0a 09 7d 0d |erOffset|++;...}.|
|000020e0| 0a 09 65 6c 73 65 20 69 | 66 20 28 20 52 2e 52 65 |..else i|f ( R.Re|
|000020f0| 63 6f 6d 6d 65 6e 64 44 | 65 66 65 6e 73 65 28 29 |commendD|efense()|
|00002100| 20 29 0d 0a 09 09 4e 65 | 77 4f 72 64 65 72 73 20 | )....Ne|wOrders |
|00002110| 3d 20 27 44 45 46 45 4e | 44 27 3b 0d 0a 09 65 6c |= 'DEFEN|D';...el|
|00002120| 73 65 20 69 66 20 28 20 | 52 2e 52 65 63 6f 6d 6d |se if ( |R.Recomm|
|00002130| 65 6e 64 41 74 74 61 63 | 6b 28 29 20 29 0d 0a 09 |endAttac|k() )...|
|00002140| 09 4e 65 77 4f 72 64 65 | 72 73 20 3d 20 27 41 54 |.NewOrde|rs = 'AT|
|00002150| 54 41 43 4b 27 3b 0d 0a | 09 65 6c 73 65 20 69 66 |TACK';..|.else if|
|00002160| 20 28 20 52 2e 52 65 63 | 6f 6d 6d 65 6e 64 53 75 | ( R.Rec|ommendSu|
|00002170| 70 70 6f 72 74 28 29 20 | 29 0d 0a 09 09 4e 65 77 |pport() |)....New|
|00002180| 4f 72 64 65 72 73 20 3d | 20 27 46 4f 4c 4c 4f 57 |Orders =| 'FOLLOW|
|00002190| 27 3b 0d 0a 09 65 6c 73 | 65 20 0d 0a 09 09 4e 65 |';...els|e ....Ne|
|000021a0| 77 4f 72 64 65 72 73 20 | 3d 20 27 46 52 45 45 4c |wOrders |= 'FREEL|
|000021b0| 41 4e 43 45 27 3b 0d 0a | 09 0d 0a 09 2f 2f 20 6c |ANCE';..|....// l|
|000021c0| 6f 67 28 4e 65 77 42 6f | 74 24 22 20 73 65 74 20 |og(NewBo|t$" set |
|000021d0| 49 6e 69 74 69 61 6c 20 | 6f 72 64 65 72 73 20 22 |Initial |orders "|
|000021e0| 24 4e 65 77 4f 72 64 65 | 72 73 29 3b 09 0d 0a 09 |$NewOrde|rs);....|
|000021f0| 69 66 20 28 20 28 4e 65 | 77 4f 72 64 65 72 73 20 |if ( (Ne|wOrders |
|00002200| 3d 3d 20 27 44 45 46 45 | 4e 44 27 29 20 26 26 20 |== 'DEFE|ND') && |
|00002210| 50 75 74 4f 6e 44 65 66 | 65 6e 73 65 28 4e 65 77 |PutOnDef|ense(New|
|00002220| 42 6f 74 29 20 29 0d 0a | 09 09 72 65 74 75 72 6e |Bot) )..|..return|
|00002230| 3b 0d 0a 0d 0a 09 69 66 | 20 28 20 4e 65 77 4f 72 |;.....if| ( NewOr|
|00002240| 64 65 72 73 20 3d 3d 20 | 27 46 52 45 45 4c 41 4e |ders == |'FREELAN|
|00002250| 43 45 27 20 29 0d 0a 09 | 7b 0d 0a 09 09 50 75 74 |CE' )...|{....Put|
|00002260| 4f 6e 46 72 65 65 6c 61 | 6e 63 65 28 4e 65 77 42 |OnFreela|nce(NewB|
|00002270| 6f 74 29 3b 0d 0a 09 09 | 72 65 74 75 72 6e 3b 0d |ot);....|return;.|
|00002280| 0a 09 7d 0d 0a 0d 0a 09 | 69 66 20 28 20 4e 65 77 |..}.....|if ( New|
|00002290| 4f 72 64 65 72 73 20 3d | 3d 20 27 41 54 54 41 43 |Orders =|= 'ATTAC|
|000022a0| 4b 27 20 29 0d 0a 09 7b | 0d 0a 09 09 50 75 74 4f |K' )...{|....PutO|
|000022b0| 6e 4f 66 66 65 6e 73 65 | 28 4e 65 77 42 6f 74 29 |nOffense|(NewBot)|
|000022c0| 3b 0d 0a 09 09 72 65 74 | 75 72 6e 3b 0d 0a 09 7d |;....ret|urn;...}|
|000022d0| 0d 0a 0d 0a 09 69 66 20 | 28 20 4e 65 77 4f 72 64 |.....if |( NewOrd|
|000022e0| 65 72 73 20 3d 3d 20 27 | 46 4f 4c 4c 4f 57 27 20 |ers == '|FOLLOW' |
|000022f0| 29 0d 0a 09 7b 0d 0a 09 | 09 2f 2f 20 46 6f 6c 6c |)...{...|.// Foll|
|00002300| 6f 77 20 61 6e 79 20 68 | 75 6d 61 6e 20 70 6c 61 |ow any h|uman pla|
|00002310| 79 65 72 0d 0a 09 09 48 | 75 6d 61 6e 53 71 75 61 |yer....H|umanSqua|
|00002320| 64 20 3d 20 41 64 64 48 | 75 6d 61 6e 53 71 75 61 |d = AddH|umanSqua|
|00002330| 64 28 29 3b 0d 0a 09 09 | 69 66 20 28 20 48 75 6d |d();....|if ( Hum|
|00002340| 61 6e 53 71 75 61 64 20 | 21 3d 20 4e 6f 6e 65 20 |anSquad |!= None |
|00002350| 29 09 09 09 09 0d 0a 09 | 09 7b 0d 0a 09 09 09 48 |).......|.{.....H|
|00002360| 75 6d 61 6e 53 71 75 61 | 64 2e 41 64 64 42 6f 74 |umanSqua|d.AddBot|
|00002370| 28 4e 65 77 42 6f 74 29 | 3b 0d 0a 09 09 09 72 65 |(NewBot)|;.....re|
|00002380| 74 75 72 6e 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |turn;...|.}...}..|
|00002390| 09 50 75 74 4f 6e 4f 66 | 66 65 6e 73 65 28 4e 65 |.PutOnOf|fense(Ne|
|000023a0| 77 42 6f 74 29 3b 0d 0a | 7d 09 0d 0a 0d 0a 2f 2a |wBot);..|}...../*|
|000023b0| 20 53 65 74 4f 72 64 65 | 72 73 28 29 0d 0a 43 61 | SetOrde|rs()..Ca|
|000023c0| 6c 6c 65 64 20 77 68 65 | 6e 20 70 6c 61 79 65 72 |lled whe|n player|
|000023d0| 20 67 69 76 65 73 20 6f | 72 64 65 72 73 20 74 6f | gives o|rders to|
|000023e0| 20 62 6f 74 0d 0a 2a 2f | 0d 0a 66 75 6e 63 74 69 | bot..*/|..functi|
|000023f0| 6f 6e 20 53 65 74 4f 72 | 64 65 72 73 28 42 6f 74 |on SetOr|ders(Bot|
|00002400| 20 42 2c 20 6e 61 6d 65 | 20 4e 65 77 4f 72 64 65 | B, name| NewOrde|
|00002410| 72 73 2c 20 43 6f 6e 74 | 72 6f 6c 6c 65 72 20 4f |rs, Cont|roller O|
|00002420| 72 64 65 72 47 69 76 65 | 72 29 0d 0a 7b 0d 0a 09 |rderGive|r)..{...|
|00002430| 6c 6f 63 61 6c 20 54 65 | 61 6d 50 6c 61 79 65 72 |local Te|amPlayer|
|00002440| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 20 |Replicat|ionInfo |
|00002450| 50 52 49 3b 0d 0a 09 0d | 0a 09 50 52 49 20 3d 20 |PRI;....|..PRI = |
|00002460| 54 65 61 6d 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |TeamPlay|erReplic|
|00002470| 61 74 69 6f 6e 49 6e 66 | 6f 28 42 2e 50 6c 61 79 |ationInf|o(B.Play|
|00002480| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00002490| 6f 29 3b 0d 0a 09 69 66 | 20 28 20 48 6f 6c 64 53 |o);...if| ( HoldS|
|000024a0| 70 6f 74 28 42 2e 47 6f | 61 6c 53 63 72 69 70 74 |pot(B.Go|alScript|
|000024b0| 29 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 7b 0d |) != Non|e )...{.|
|000024c0| 0a 09 09 50 52 49 2e 62 | 48 6f 6c 64 69 6e 67 20 |...PRI.b|Holding |
|000024d0| 3d 20 66 61 6c 73 65 3b | 0d 0a 09 09 42 2e 46 72 |= false;|....B.Fr|
|000024e0| 65 65 53 63 72 69 70 74 | 28 29 3b 0d 0a 09 7d 0d |eeScript|();...}.|
|000024f0| 0a 09 6c 6f 67 28 22 54 | 65 61 6d 20 4e 65 77 20 |..log("T|eam New |
|00002500| 6f 72 64 65 72 73 20 22 | 24 4e 65 77 4f 72 64 65 |orders "|$NewOrde|
|00002510| 72 73 40 4f 72 64 65 72 | 47 69 76 65 72 29 3b 0d |rs@Order|Giver);.|
|00002520| 0a 09 69 66 20 28 20 4e | 65 77 4f 72 64 65 72 73 |..if ( N|ewOrders|
|00002530| 20 3d 3d 20 27 48 6f 6c | 64 27 20 29 0d 0a 09 7b | == 'Hol|d' )...{|
|00002540| 0d 0a 09 09 50 52 49 2e | 62 48 6f 6c 64 69 6e 67 |....PRI.|bHolding|
|00002550| 20 3d 20 74 72 75 65 3b | 0d 0a 09 09 50 75 74 42 | = true;|....PutB|
|00002560| 6f 74 4f 6e 53 71 75 61 | 64 4c 65 64 42 79 28 4f |otOnSqua|dLedBy(O|
|00002570| 72 64 65 72 47 69 76 65 | 72 2c 42 29 3b 0d 0a 09 |rderGive|r,B);...|
|00002580| 09 42 2e 47 6f 61 6c 53 | 63 72 69 70 74 20 3d 20 |.B.GoalS|cript = |
|00002590| 50 6c 61 79 65 72 43 6f | 6e 74 72 6f 6c 6c 65 72 |PlayerCo|ntroller|
|000025a0| 28 4f 72 64 65 72 47 69 | 76 65 72 29 2e 56 69 65 |(OrderGi|ver).Vie|
|000025b0| 77 54 61 72 67 65 74 2e | 53 70 61 77 6e 28 63 6c |wTarget.|Spawn(cl|
|000025c0| 61 73 73 27 48 6f 6c 64 | 53 70 6f 74 27 29 3b 0d |ass'Hold|Spot');.|
|000025d0| 0a 09 09 69 66 20 28 20 | 50 6c 61 79 65 72 43 6f |...if ( |PlayerCo|
|000025e0| 6e 74 72 6f 6c 6c 65 72 | 28 4f 72 64 65 72 47 69 |ntroller|(OrderGi|
|000025f0| 76 65 72 29 2e 56 69 65 | 77 54 61 72 67 65 74 2e |ver).Vie|wTarget.|
|00002600| 50 68 79 73 69 63 73 20 | 3d 3d 20 50 48 59 53 5f |Physics |== PHYS_|
|00002610| 4c 61 64 64 65 72 20 29 | 0d 0a 09 09 09 42 2e 47 |Ladder )|.....B.G|
|00002620| 6f 61 6c 53 63 72 69 70 | 74 2e 53 65 74 50 68 79 |oalScrip|t.SetPhy|
|00002630| 73 69 63 73 28 50 48 59 | 53 5f 4c 61 64 64 65 72 |sics(PHY|S_Ladder|
|00002640| 29 3b 0d 0a 09 7d 0d 0a | 09 65 6c 73 65 20 69 66 |);...}..|.else if|
|00002650| 20 28 20 4e 65 77 4f 72 | 64 65 72 73 20 3d 3d 20 | ( NewOr|ders == |
|00002660| 27 44 65 66 65 6e 64 27 | 20 29 0d 0a 09 09 50 75 |'Defend'| )....Pu|
|00002670| 74 4f 6e 44 65 66 65 6e | 73 65 28 42 29 3b 0d 0a |tOnDefen|se(B);..|
|00002680| 09 65 6c 73 65 20 69 66 | 20 28 20 4e 65 77 4f 72 |.else if| ( NewOr|
|00002690| 64 65 72 73 20 3d 3d 20 | 27 41 74 74 61 63 6b 27 |ders == |'Attack'|
|000026a0| 20 29 0d 0a 09 09 50 75 | 74 4f 6e 4f 66 66 65 6e | )....Pu|tOnOffen|
|000026b0| 73 65 28 42 29 3b 0d 0a | 09 65 6c 73 65 20 69 66 |se(B);..|.else if|
|000026c0| 20 28 20 4e 65 77 4f 72 | 64 65 72 73 20 3d 3d 20 | ( NewOr|ders == |
|000026d0| 27 46 6f 6c 6c 6f 77 27 | 20 29 0d 0a 09 7b 0d 0a |'Follow'| )...{..|
|000026e0| 09 09 42 2e 46 72 65 65 | 53 63 72 69 70 74 28 29 |..B.Free|Script()|
|000026f0| 3b 0d 0a 09 09 50 75 74 | 42 6f 74 4f 6e 53 71 75 |;....Put|BotOnSqu|
|00002700| 61 64 4c 65 64 42 79 28 | 4f 72 64 65 72 47 69 76 |adLedBy(|OrderGiv|
|00002710| 65 72 2c 42 29 3b 0d 0a | 09 7d 0d 0a 09 65 6c 73 |er,B);..|.}...els|
|00002720| 65 20 69 66 20 28 20 4e | 65 77 4f 72 64 65 72 73 |e if ( N|ewOrders|
|00002730| 20 3d 3d 20 27 46 72 65 | 65 6c 61 6e 63 65 27 20 | == 'Fre|elance' |
|00002740| 29 0d 0a 09 7b 0d 0a 09 | 09 50 75 74 4f 6e 46 72 |)...{...|.PutOnFr|
|00002750| 65 65 6c 61 6e 63 65 28 | 42 29 3b 0d 0a 09 09 72 |eelance(|B);....r|
|00002760| 65 74 75 72 6e 3b 0d 0a | 09 7d 0d 0a 7d 0d 0a 0d |eturn;..|.}..}...|
|00002770| 0a 66 75 6e 63 74 69 6f | 6e 20 43 61 6c 6c 46 6f |.functio|n CallFo|
|00002780| 72 48 65 6c 70 28 42 6f | 74 20 42 29 0d 0a 7b 0d |rHelp(Bo|t B)..{.|
|00002790| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 52 |.}....fu|nction R|
|000027a0| 65 6d 6f 76 65 46 72 6f | 6d 54 65 61 6d 28 43 6f |emoveFro|mTeam(Co|
|000027b0| 6e 74 72 6f 6c 6c 65 72 | 20 4f 74 68 65 72 29 0d |ntroller| Other).|
|000027c0| 0a 7b 0d 0a 09 6c 6f 63 | 61 6c 20 53 71 75 61 64 |.{...loc|al Squad|
|000027d0| 41 49 20 53 3b 0d 0a 09 | 0d 0a 09 69 66 20 28 20 |AI S;...|...if ( |
|000027e0| 50 6c 61 79 65 72 43 6f | 6e 74 72 6f 6c 6c 65 72 |PlayerCo|ntroller|
|000027f0| 28 4f 74 68 65 72 29 20 | 21 3d 20 4e 6f 6e 65 20 |(Other) |!= None |
|00002800| 29 0d 0a 09 7b 0d 0a 09 | 09 66 6f 72 20 28 20 53 |)...{...|.for ( S|
|00002810| 3d 53 71 75 61 64 73 3b | 20 53 21 3d 4e 6f 6e 65 |=Squads;| S!=None|
|00002820| 3b 20 53 3d 53 2e 4e 65 | 78 74 53 71 75 61 64 20 |; S=S.Ne|xtSquad |
|00002830| 29 0d 0a 09 09 09 53 2e | 52 65 6d 6f 76 65 50 6c |).....S.|RemovePl|
|00002840| 61 79 65 72 28 50 6c 61 | 79 65 72 43 6f 6e 74 72 |ayer(Pla|yerContr|
|00002850| 6f 6c 6c 65 72 28 4f 74 | 68 65 72 29 29 3b 09 0d |oller(Ot|her));..|
|00002860| 0a 09 7d 0d 0a 09 65 6c | 73 65 20 69 66 20 28 20 |..}...el|se if ( |
|00002870| 42 6f 74 28 4f 74 68 65 | 72 29 20 21 3d 20 4e 6f |Bot(Othe|r) != No|
|00002880| 6e 65 20 29 0d 0a 09 7b | 0d 0a 09 09 66 6f 72 20 |ne )...{|....for |
|00002890| 28 20 53 3d 53 71 75 61 | 64 73 3b 20 53 21 3d 4e |( S=Squa|ds; S!=N|
|000028a0| 6f 6e 65 3b 20 53 3d 53 | 2e 4e 65 78 74 53 71 75 |one; S=S|.NextSqu|
|000028b0| 61 64 20 29 0d 0a 09 09 | 09 53 2e 52 65 6d 6f 76 |ad )....|.S.Remov|
|000028c0| 65 42 6f 74 28 42 6f 74 | 28 4f 74 68 65 72 29 29 |eBot(Bot|(Other))|
|000028d0| 3b 0d 0a 09 7d 0d 0a 7d | 0d 0a 09 0d 0a 00 |;...}..}|...... |
+--------+-------------------------+-------------------------+--------+--------+