home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 7 (DVD) / XENIADVD07.iso / Fragzone / Files / ut2003-winpatch2225.exe / UT2003-Patch / System / XGame.u / xPawn_xPlayer_ScriptText.TextBuffer < prev    next >
Unknown  |  2003-04-16  |  19.6 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 | 70 b9 02 63 6c 61 73 73 |........|p..class|
|00000010| 20 78 50 6c 61 79 65 72 | 20 65 78 74 65 6e 64 73 | xPlayer| extends|
|00000020| 20 55 6e 72 65 61 6c 50 | 6c 61 79 65 72 0d 0a 20 | UnrealP|layer.. |
|00000030| 20 20 20 44 65 70 65 6e | 64 73 4f 6e 28 78 55 74 | Depen|dsOn(xUt|
|00000040| 69 6c 29 3b 0d 0a 0d 0a | 23 65 78 65 63 20 4f 42 |il);....|#exec OB|
|00000050| 4a 20 4c 4f 41 44 20 46 | 69 6c 65 3d 22 4d 65 6e |J LOAD F|ile="Men|
|00000060| 75 53 6f 75 6e 64 73 2e | 75 61 78 22 0d 0a 0d 0a |uSounds.|uax"....|
|00000070| 2f 2f 20 61 74 74 72 61 | 63 74 20 6d 6f 64 65 0d |// attra|ct mode.|
|00000080| 0a 76 61 72 20 41 74 74 | 72 61 63 74 43 61 6d 65 |.var Att|ractCame|
|00000090| 72 61 20 63 61 6d 6c 69 | 73 74 5b 32 30 5d 3b 0d |ra camli|st[20];.|
|000000a0| 0a 76 61 72 20 69 6e 74 | 20 6e 75 6d 63 61 6d 73 |.var int| numcams|
|000000b0| 2c 20 63 75 72 63 61 6d | 3b 0d 0a 76 61 72 20 50 |, curcam|;..var P|
|000000c0| 61 77 6e 20 61 74 74 72 | 61 63 74 74 61 72 67 65 |awn attr|acttarge|
|000000d0| 74 2c 20 61 74 74 72 61 | 63 74 74 61 72 67 65 74 |t, attra|cttarget|
|000000e0| 32 3b 0d 0a 76 61 72 20 | 66 6c 6f 61 74 20 63 61 |2;..var |float ca|
|000000f0| 6d 74 69 6d 65 2c 20 74 | 61 72 67 65 74 74 69 6d |mtime, t|argettim|
|00000100| 65 2c 20 67 69 62 77 61 | 74 63 68 74 69 6d 65 3b |e, gibwa|tchtime;|
|00000110| 0d 0a 76 61 72 20 62 6f | 6f 6c 20 61 75 74 6f 7a |..var bo|ol autoz|
|00000120| 6f 6f 6d 3b 0d 0a 76 61 | 72 20 67 6c 6f 62 61 6c |oom;..va|r global|
|00000130| 63 6f 6e 66 69 67 20 62 | 6f 6f 6c 20 62 43 6c 61 |config b|ool bCla|
|00000140| 73 73 69 63 54 72 61 6e | 73 3b 0d 0a 76 61 72 20 |ssicTran|s;..var |
|00000150| 56 65 63 74 6f 72 20 66 | 6f 63 75 73 70 6f 69 6e |Vector f|ocuspoin|
|00000160| 74 3b 0d 0a 0d 0a 2f 2f | 20 63 6f 6d 62 6f 73 0d |t;....//| combos.|
|00000170| 0a 63 6f 6e 73 74 20 4d | 69 6e 43 6f 6d 62 6f 4b |.const M|inComboK|
|00000180| 65 79 54 69 6d 65 20 3d | 20 30 2e 30 35 3b 20 20 |eyTime =| 0.05; |
|00000190| 20 2f 2f 20 6b 65 79 73 | 20 70 72 65 73 73 65 64 | // keys| pressed|
|000001a0| 20 66 61 73 74 65 72 20 | 74 68 61 6e 20 74 68 69 | faster |than thi|
|000001b0| 73 20 77 69 6c 6c 20 62 | 65 20 63 6f 6e 73 69 64 |s will b|e consid|
|000001c0| 65 72 65 64 20 61 20 64 | 6f 75 62 6c 65 2d 70 72 |ered a d|ouble-pr|
|000001d0| 65 73 73 0d 0a 63 6f 6e | 73 74 20 4d 61 78 43 6f |ess..con|st MaxCo|
|000001e0| 6d 62 6f 4b 65 79 54 69 | 6d 65 20 3d 20 30 2e 33 |mboKeyTi|me = 0.3|
|000001f0| 35 3b 20 20 20 2f 2f 20 | 6d 61 78 20 74 69 6d 65 |5; // |max time|
|00000200| 20 70 6c 61 79 65 72 20 | 68 61 73 20 62 65 74 77 | player |has betw|
|00000210| 65 65 6e 20 62 75 74 74 | 6f 6e 20 70 72 65 73 73 |een butt|on press|
|00000220| 65 73 0d 0a 0d 0a 76 61 | 72 20 74 72 61 6e 73 69 |es....va|r transi|
|00000230| 65 6e 74 20 69 6e 74 20 | 49 6e 70 75 74 48 69 73 |ent int |InputHis|
|00000240| 74 6f 72 79 5b 34 5d 3b | 0d 0a 76 61 72 20 74 72 |tory[4];|..var tr|
|00000250| 61 6e 73 69 65 6e 74 20 | 66 6c 6f 61 74 20 4c 61 |ansient |float La|
|00000260| 73 74 4b 65 79 54 69 6d | 65 3b 0d 0a 76 61 72 20 |stKeyTim|e;..var |
|00000270| 74 72 61 6e 73 69 65 6e | 74 20 69 6e 74 20 4f 6c |transien|t int Ol|
|00000280| 64 4b 65 79 3b 0d 0a 76 | 61 72 20 66 6c 6f 61 74 |dKey;..v|ar float|
|00000290| 20 4d 69 6e 41 64 72 65 | 6e 61 6c 69 6e 65 43 6f | MinAdre|nalineCo|
|000002a0| 73 74 3b 0d 0a 76 61 72 | 20 73 74 72 69 6e 67 20 |st;..var| string |
|000002b0| 43 6f 6d 62 6f 4e 61 6d | 65 4c 69 73 74 5b 31 36 |ComboNam|eList[16|
|000002c0| 5d 3b 0d 0a 76 61 72 20 | 63 6c 61 73 73 3c 43 6f |];..var |class<Co|
|000002d0| 6d 62 6f 3e 20 43 6f 6d | 62 6f 4c 69 73 74 5b 31 |mbo> Com|boList[1|
|000002e0| 36 5d 3b 0d 0a 0d 0a 76 | 61 72 20 78 55 74 69 6c |6];....v|ar xUtil|
|000002f0| 2e 50 6c 61 79 65 72 52 | 65 63 6f 72 64 20 50 61 |.PlayerR|ecord Pa|
|00000300| 77 6e 53 65 74 75 70 52 | 65 63 6f 72 64 3b 0d 0a |wnSetupR|ecord;..|
|00000310| 76 61 72 20 66 6c 6f 61 | 74 20 4c 61 73 74 52 75 |var floa|t LastRu|
|00000320| 6c 65 73 52 65 71 75 65 | 73 74 54 69 6d 65 3b 0d |lesReque|stTime;.|
|00000330| 0a 64 65 6c 65 67 61 74 | 65 20 50 72 6f 63 65 73 |.delegat|e Proces|
|00000340| 73 52 75 6c 65 28 73 74 | 72 69 6e 67 20 4e 65 77 |sRule(st|ring New|
|00000350| 52 75 6c 65 29 3b 09 2f | 2f 20 53 68 6f 75 6c 64 |Rule);./|/ Should|
|00000360| 20 62 65 20 61 73 73 69 | 67 6e 65 64 20 65 6c 73 | be assi|gned els|
|00000370| 65 77 68 65 72 65 0d 0a | 0d 0a 72 65 70 6c 69 63 |ewhere..|..replic|
|00000380| 61 74 69 6f 6e 0d 0a 7b | 0d 0a 09 2f 2f 20 63 6c |ation..{|...// cl|
|00000390| 69 65 6e 74 20 74 6f 20 | 73 65 72 76 65 72 0d 0a |ient to |server..|
|000003a0| 09 72 65 6c 69 61 62 6c | 65 20 69 66 20 28 20 52 |.reliabl|e if ( R|
|000003b0| 6f 6c 65 20 3c 20 52 4f | 4c 45 5f 41 75 74 68 6f |ole < RO|LE_Autho|
|000003c0| 72 69 74 79 20 29 0d 0a | 09 09 53 65 72 76 65 72 |rity )..|..Server|
|000003d0| 44 6f 43 6f 6d 62 6f 2c | 20 53 65 72 76 65 72 52 |DoCombo,| ServerR|
|000003e0| 65 71 75 65 73 74 52 75 | 6c 65 73 2c 20 41 64 6d |equestRu|les, Adm|
|000003f0| 69 6e 4d 65 6e 75 2c 20 | 53 65 72 76 65 72 52 65 |inMenu, |ServerRe|
|00000400| 71 75 65 73 74 50 6c 61 | 79 65 72 49 6e 66 6f 2c |questPla|yerInfo,|
|00000410| 0d 0a 20 20 20 20 20 20 | 20 20 53 65 72 76 65 72 |.. | Server|
|00000420| 53 70 65 63 56 69 65 77 | 47 6f 61 6c 2c 20 53 65 |SpecView|Goal, Se|
|00000430| 72 76 65 72 53 65 74 43 | 6c 61 73 73 69 63 54 72 |rverSetC|lassicTr|
|00000440| 61 6e 73 3b 0d 0a 09 75 | 6e 72 65 6c 69 61 62 6c |ans;...u|nreliabl|
|00000450| 65 20 69 66 28 20 52 6f | 6c 65 20 3c 20 52 4f 4c |e if( Ro|le < ROL|
|00000460| 45 5f 41 75 74 68 6f 72 | 69 74 79 20 29 0d 0a 09 |E_Author|ity )...|
|00000470| 09 4c 33 33 74 50 68 72 | 61 73 65 3b 0d 0a 20 20 |.L33tPhr|ase;.. |
|00000480| 20 20 72 65 6c 69 61 62 | 6c 65 20 69 66 20 28 20 | reliab|le if ( |
|00000490| 52 6f 6c 65 20 3d 3d 20 | 52 4f 4c 45 5f 41 75 74 |Role == |ROLE_Aut|
|000004a0| 68 6f 72 69 74 79 29 0d | 0a 20 20 20 20 09 43 6c |hority).|. .Cl|
|000004b0| 69 65 6e 74 52 65 63 65 | 69 76 65 52 75 6c 65 2c |ientRece|iveRule,|
|000004c0| 20 43 6c 69 65 6e 74 52 | 65 63 65 69 76 65 43 6f | ClientR|eceiveCo|
|000004d0| 6d 62 6f 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |mbo;..}.|...funct|
|000004e0| 69 6f 6e 20 53 65 72 76 | 65 72 52 65 71 75 65 73 |ion Serv|erReques|
|000004f0| 74 52 75 6c 65 73 28 29 | 0d 0a 7b 0d 0a 20 09 6c |tRules()|..{.. .l|
|00000500| 6f 63 61 6c 20 47 61 6d | 65 49 6e 66 6f 2e 53 65 |ocal Gam|eInfo.Se|
|00000510| 72 76 65 72 52 65 73 70 | 6f 6e 73 65 4c 69 6e 65 |rverResp|onseLine|
|00000520| 20 52 65 73 70 6f 6e 73 | 65 3b 0d 0a 20 20 20 20 | Respons|e;.. |
|00000530| 6c 6f 63 61 6c 20 69 6e | 74 20 69 3b 0d 0a 0d 0a |local in|t i;....|
|00000540| 0d 0a 20 20 20 20 69 66 | 20 28 4c 65 76 65 6c 2e |.. if| (Level.|
|00000550| 54 69 6d 65 53 65 63 6f | 6e 64 73 2d 4c 61 73 74 |TimeSeco|nds-Last|
|00000560| 52 75 6c 65 73 52 65 71 | 75 65 73 74 54 69 6d 65 |RulesReq|uestTime|
|00000570| 3c 33 2e 30 29 0d 0a 09 | 09 72 65 74 75 72 6e 3b |<3.0)...|.return;|
|00000580| 0d 0a 0d 0a 20 20 20 20 | 4c 65 76 65 6c 2e 47 61 |.... |Level.Ga|
|00000590| 6d 65 2e 47 65 74 53 65 | 72 76 65 72 44 65 74 61 |me.GetSe|rverDeta|
|000005a0| 69 6c 73 28 52 65 73 70 | 6f 6e 73 65 29 3b 0d 0a |ils(Resp|onse);..|
|000005b0| 20 20 20 20 43 6c 69 65 | 6e 74 52 65 63 65 69 76 | Clie|ntReceiv|
|000005c0| 65 52 75 6c 65 28 22 22 | 29 3b 0d 0a 20 20 20 20 |eRule(""|);.. |
|000005d0| 66 6f 72 20 28 69 3d 30 | 3b 69 3c 52 65 73 70 6f |for (i=0|;i<Respo|
|000005e0| 6e 73 65 2e 53 65 72 76 | 65 72 49 6e 66 6f 2e 4c |nse.Serv|erInfo.L|
|000005f0| 65 6e 67 74 68 3b 69 2b | 2b 29 0d 0a 09 20 20 20 |ength;i+|+)... |
|00000600| 09 43 6c 69 65 6e 74 52 | 65 63 65 69 76 65 52 75 |.ClientR|eceiveRu|
|00000610| 6c 65 28 52 65 73 70 6f | 6e 73 65 2e 53 65 72 76 |le(Respo|nse.Serv|
|00000620| 65 72 49 6e 66 6f 5b 69 | 5d 2e 4b 65 79 40 22 3d |erInfo[i|].Key@"=|
|00000630| 22 40 52 65 73 70 6f 6e | 73 65 2e 53 65 72 76 65 |"@Respon|se.Serve|
|00000640| 72 49 6e 66 6f 5b 69 5d | 2e 56 61 6c 75 65 29 3b |rInfo[i]|.Value);|
|00000650| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00000660| 43 6c 69 65 6e 74 52 65 | 63 65 69 76 65 52 75 6c |ClientRe|ceiveRul|
|00000670| 65 28 73 74 72 69 6e 67 | 20 4e 65 77 52 75 6c 65 |e(string| NewRule|
|00000680| 29 0d 0a 7b 0d 0a 09 50 | 72 6f 63 65 73 73 52 75 |)..{...P|rocessRu|
|00000690| 6c 65 28 4e 65 77 52 75 | 6c 65 29 3b 0d 0a 7d 0d |le(NewRu|le);..}.|
|000006a0| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 53 74 6f 70 |...funct|ion Stop|
|000006b0| 46 69 72 69 6e 67 28 29 | 0d 0a 7b 0d 0a 7d 0d 0a |Firing()|..{..}..|
|000006c0| 0d 0a 73 69 6d 75 6c 61 | 74 65 64 20 66 75 6e 63 |..simula|ted func|
|000006d0| 74 69 6f 6e 20 50 6c 61 | 79 42 65 65 70 53 6f 75 |tion Pla|yBeepSou|
|000006e0| 6e 64 28 29 0d 0a 7b 0d | 0a 09 69 66 20 28 20 56 |nd()..{.|..if ( V|
|000006f0| 69 65 77 54 61 72 67 65 | 74 20 21 3d 20 4e 6f 6e |iewTarge|t != Non|
|00000700| 65 20 29 0d 0a 09 09 56 | 69 65 77 54 61 72 67 65 |e )....V|iewTarge|
|00000710| 74 2e 50 6c 61 79 53 6f | 75 6e 64 28 73 6f 75 6e |t.PlaySo|und(soun|
|00000720| 64 27 4d 65 6e 75 53 6f | 75 6e 64 73 2e 73 65 6c |d'MenuSo|unds.sel|
|00000730| 65 63 74 4a 27 2c 20 53 | 4c 4f 54 5f 4e 6f 6e 65 |ectJ', S|LOT_None|
|00000740| 2c 2c 2c 2c 2c 66 61 6c | 73 65 29 3b 0d 0a 7d 0d |,,,,,fal|se);..}.|
|00000750| 0a 0d 0a 73 69 6d 75 6c | 61 74 65 64 20 66 75 6e |...simul|ated fun|
|00000760| 63 74 69 6f 6e 20 66 6c | 6f 61 74 20 52 61 74 65 |ction fl|oat Rate|
|00000770| 57 65 61 70 6f 6e 28 57 | 65 61 70 6f 6e 20 77 29 |Weapon(W|eapon w)|
|00000780| 0d 0a 7b 0d 0a 20 20 20 | 20 72 65 74 75 72 6e 20 |..{.. | return |
|00000790| 77 2e 44 65 66 61 75 6c | 74 2e 50 72 69 6f 72 69 |w.Defaul|t.Priori|
|000007a0| 74 79 3b 0d 0a 7d 0d 0a | 0d 0a 65 78 65 63 20 66 |ty;..}..|..exec f|
|000007b0| 75 6e 63 74 69 6f 6e 20 | 4c 33 33 54 50 68 72 61 |unction |L33TPhra|
|000007c0| 73 65 28 20 69 6e 74 20 | 70 68 72 61 73 65 4e 75 |se( int |phraseNu|
|000007d0| 6d 20 29 0d 0a 7b 0d 0a | 09 53 65 6e 64 4d 65 73 |m )..{..|.SendMes|
|000007e0| 73 61 67 65 28 4e 6f 6e | 65 2c 20 27 48 49 44 44 |sage(Non|e, 'HIDD|
|000007f0| 45 4e 27 2c 20 70 68 72 | 61 73 65 4e 75 6d 2c 20 |EN', phr|aseNum, |
|00000800| 35 2c 20 27 47 4c 4f 42 | 41 4c 27 29 3b 0d 0a 7d |5, 'GLOB|AL');..}|
|00000810| 0d 0a 0d 0a 73 69 6d 75 | 6c 61 74 65 64 20 65 76 |....simu|lated ev|
|00000820| 65 6e 74 20 50 6f 73 74 | 42 65 67 69 6e 50 6c 61 |ent Post|BeginPla|
|00000830| 79 28 29 0d 0a 7b 0d 0a | 20 20 20 20 6c 6f 63 61 |y()..{..| loca|
|00000840| 6c 20 69 6e 74 20 63 3b | 0d 0a 0d 0a 20 20 20 20 |l int c;|.... |
|00000850| 53 75 70 65 72 2e 50 6f | 73 74 42 65 67 69 6e 50 |Super.Po|stBeginP|
|00000860| 6c 61 79 28 29 3b 0d 0a | 0d 0a 20 20 20 20 66 6f |lay();..|.. fo|
|00000870| 72 20 28 63 20 3d 20 30 | 3b 20 63 20 3c 20 41 72 |r (c = 0|; c < Ar|
|00000880| 72 61 79 43 6f 75 6e 74 | 28 43 6f 6d 62 6f 4c 69 |rayCount|(ComboLi|
|00000890| 73 74 29 3b 20 63 2b 2b | 29 0d 0a 20 20 20 20 7b |st); c++|).. {|
|000008a0| 0d 0a 20 20 20 20 20 20 | 20 20 69 66 20 28 20 43 |.. | if ( C|
|000008b0| 6f 6d 62 6f 4e 61 6d 65 | 4c 69 73 74 5b 63 5d 20 |omboName|List[c] |
|000008c0| 21 3d 20 22 22 20 29 0d | 0a 20 20 20 20 20 20 20 |!= "" ).|. |
|000008d0| 20 7b 0d 0a 20 09 09 09 | 43 6f 6d 62 6f 4c 69 73 | {.. ...|ComboLis|
|000008e0| 74 5b 63 5d 20 3d 20 63 | 6c 61 73 73 3c 43 6f 6d |t[c] = c|lass<Com|
|000008f0| 62 6f 3e 28 44 79 6e 61 | 6d 69 63 4c 6f 61 64 4f |bo>(Dyna|micLoadO|
|00000900| 62 6a 65 63 74 28 43 6f | 6d 62 6f 4e 61 6d 65 4c |bject(Co|mboNameL|
|00000910| 69 73 74 5b 63 5d 2c 63 | 6c 61 73 73 27 43 6c 61 |ist[c],c|lass'Cla|
|00000920| 73 73 27 29 29 3b 0d 0a | 09 09 09 69 66 20 28 20 |ss'));..|...if ( |
|00000930| 43 6f 6d 62 6f 4c 69 73 | 74 5b 63 5d 20 3d 3d 20 |ComboLis|t[c] == |
|00000940| 4e 6f 6e 65 20 29 0d 0a | 09 09 09 09 62 72 65 61 |None )..|....brea|
|00000950| 6b 3b 0d 0a 09 09 09 4d | 69 6e 41 64 72 65 6e 61 |k;.....M|inAdrena|
|00000960| 6c 69 6e 65 43 6f 73 74 | 20 3d 20 46 4d 69 6e 28 |lineCost| = FMin(|
|00000970| 4d 69 6e 41 64 72 65 6e | 61 6c 69 6e 65 43 6f 73 |MinAdren|alineCos|
|00000980| 74 2c 43 6f 6d 62 6f 4c | 69 73 74 5b 63 5d 2e 44 |t,ComboL|ist[c].D|
|00000990| 65 66 61 75 6c 74 2e 41 | 64 72 65 6e 61 6c 69 6e |efault.A|drenalin|
|000009a0| 65 43 6f 73 74 29 3b 0d | 0a 09 09 7d 0d 0a 20 20 |eCost);.|...}.. |
|000009b0| 20 20 7d 0d 0a 20 20 20 | 20 46 69 6c 6c 43 61 6d | }.. | FillCam|
|000009c0| 65 72 61 4c 69 73 74 28 | 29 3b 0d 0a 20 20 20 20 |eraList(|);.. |
|000009d0| 4c 61 73 74 4b 69 6c 6c | 54 69 6d 65 20 3d 20 2d |LastKill|Time = -|
|000009e0| 35 2e 30 3b 0d 0a 20 20 | 20 20 69 66 20 28 20 52 |5.0;.. | if ( R|
|000009f0| 6f 6c 65 20 3c 20 52 4f | 4c 45 5f 41 75 74 68 6f |ole < RO|LE_Autho|
|00000a00| 72 69 74 79 20 29 0d 0a | 09 09 53 65 72 76 65 72 |rity )..|..Server|
|00000a10| 53 65 74 43 6c 61 73 73 | 69 63 54 72 61 6e 73 28 |SetClass|icTrans(|
|00000a20| 62 43 6c 61 73 73 69 63 | 54 72 61 6e 73 29 3b 0d |bClassic|Trans);.|
|00000a30| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 53 |.}....fu|nction S|
|00000a40| 65 72 76 65 72 53 65 74 | 43 6c 61 73 73 69 63 54 |erverSet|ClassicT|
|00000a50| 72 61 6e 73 28 62 6f 6f | 6c 20 42 29 0d 0a 7b 0d |rans(boo|l B)..{.|
|00000a60| 0a 09 62 43 6c 61 73 73 | 69 63 54 72 61 6e 73 20 |..bClass|icTrans |
|00000a70| 3d 20 42 3b 0d 0a 7d 0d | 0a 0d 0a 73 69 6d 75 6c |= B;..}.|...simul|
|00000a80| 61 74 65 64 20 66 75 6e | 63 74 69 6f 6e 20 43 6c |ated fun|ction Cl|
|00000a90| 69 65 6e 74 52 65 63 65 | 69 76 65 43 6f 6d 62 6f |ientRece|iveCombo|
|00000aa0| 28 73 74 72 69 6e 67 20 | 4e 65 77 43 6f 6d 62 6f |(string |NewCombo|
|00000ab0| 29 0d 0a 7b 0d 0a 09 6c | 6f 63 61 6c 20 69 6e 74 |)..{...l|ocal int|
|00000ac0| 20 69 3b 0d 0a 0d 0a 09 | 66 6f 72 20 28 20 69 3d | i;.....|for ( i=|
|00000ad0| 30 3b 20 69 3c 31 36 3b | 20 69 2b 2b 20 29 0d 0a |0; i<16;| i++ )..|
|00000ae0| 09 7b 0d 0a 09 09 69 66 | 20 28 20 43 6f 6d 62 6f |.{....if| ( Combo|
|00000af0| 4e 61 6d 65 4c 69 73 74 | 5b 69 5d 20 7e 3d 20 4e |NameList|[i] ~= N|
|00000b00| 65 77 43 6f 6d 62 6f 20 | 29 0d 0a 09 09 09 72 65 |ewCombo |).....re|
|00000b10| 74 75 72 6e 3b 0d 0a 09 | 09 65 6c 73 65 20 69 66 |turn;...|.else if|
|00000b20| 20 28 20 43 6f 6d 62 6f | 4e 61 6d 65 4c 69 73 74 | ( Combo|NameList|
|00000b30| 5b 69 5d 20 3d 3d 20 22 | 22 20 29 0d 0a 09 09 7b |[i] == "|" )....{|
|00000b40| 0d 0a 09 09 09 43 6f 6d | 62 6f 4e 61 6d 65 4c 69 |.....Com|boNameLi|
|00000b50| 73 74 5b 69 5d 20 3d 20 | 4e 65 77 43 6f 6d 62 6f |st[i] = |NewCombo|
|00000b60| 3b 0d 0a 20 09 09 09 43 | 6f 6d 62 6f 4c 69 73 74 |;.. ...C|omboList|
|00000b70| 5b 69 5d 20 3d 20 63 6c | 61 73 73 3c 43 6f 6d 62 |[i] = cl|ass<Comb|
|00000b80| 6f 3e 28 44 79 6e 61 6d | 69 63 4c 6f 61 64 4f 62 |o>(Dynam|icLoadOb|
|00000b90| 6a 65 63 74 28 43 6f 6d | 62 6f 4e 61 6d 65 4c 69 |ject(Com|boNameLi|
|00000ba0| 73 74 5b 69 5d 2c 63 6c | 61 73 73 27 43 6c 61 73 |st[i],cl|ass'Clas|
|00000bb0| 73 27 29 29 3b 0d 0a 09 | 09 09 69 66 20 28 20 43 |s'));...|..if ( C|
|00000bc0| 6f 6d 62 6f 4c 69 73 74 | 5b 69 5d 20 3d 3d 20 4e |omboList|[i] == N|
|00000bd0| 6f 6e 65 20 29 0d 0a 09 | 09 09 09 72 65 74 75 72 |one )...|...retur|
|00000be0| 6e 3b 0d 0a 09 09 09 4d | 69 6e 41 64 72 65 6e 61 |n;.....M|inAdrena|
|00000bf0| 6c 69 6e 65 43 6f 73 74 | 20 3d 20 46 4d 69 6e 28 |lineCost| = FMin(|
|00000c00| 4d 69 6e 41 64 72 65 6e | 61 6c 69 6e 65 43 6f 73 |MinAdren|alineCos|
|00000c10| 74 2c 43 6f 6d 62 6f 4c | 69 73 74 5b 69 5d 2e 44 |t,ComboL|ist[i].D|
|00000c20| 65 66 61 75 6c 74 2e 41 | 64 72 65 6e 61 6c 69 6e |efault.A|drenalin|
|00000c30| 65 43 6f 73 74 29 3b 0d | 0a 09 09 09 72 65 74 75 |eCost);.|....retu|
|00000c40| 72 6e 3b 0d 0a 09 09 7d | 0d 0a 09 7d 0d 0a 7d 0d |rn;....}|...}..}.|
|00000c50| 0a 0d 0a 65 76 65 6e 74 | 20 50 6c 61 79 65 72 54 |...event| PlayerT|
|00000c60| 69 63 6b 28 20 66 6c 6f | 61 74 20 44 65 6c 74 61 |ick( flo|at Delta|
|00000c70| 54 69 6d 65 20 29 0d 0a | 7b 0d 0a 20 20 20 20 6c |Time )..|{.. l|
|00000c80| 6f 63 61 6c 20 69 6e 74 | 20 43 75 72 72 65 6e 74 |ocal int| Current|
|00000c90| 4b 65 79 2c 20 44 69 66 | 66 4b 65 79 3b 0d 0a 20 |Key, Dif|fKey;.. |
|00000ca0| 20 20 20 6c 6f 63 61 6c | 20 69 6e 74 20 63 2c 20 | local| int c, |
|00000cb0| 69 3b 0d 0a 09 6c 6f 63 | 61 6c 20 62 6f 6f 6c 20 |i;...loc|al bool |
|00000cc0| 62 46 75 6c 6c 42 75 66 | 66 65 72 2c 62 4d 61 74 |bFullBuf|fer,bMat|
|00000cd0| 63 68 3b 0d 0a 0d 0a 09 | 53 75 70 65 72 2e 50 6c |ch;.....|Super.Pl|
|00000ce0| 61 79 65 72 54 69 63 6b | 28 44 65 6c 74 61 54 69 |ayerTick|(DeltaTi|
|00000cf0| 6d 65 29 3b 0d 0a 0d 0a | 20 20 20 20 69 66 20 28 |me);....| if (|
|00000d00| 20 28 50 61 77 6e 20 3d | 3d 20 4e 6f 6e 65 29 20 | (Pawn =|= None) |
|00000d10| 7c 7c 20 21 62 41 64 72 | 65 6e 61 6c 69 6e 65 45 ||| !bAdr|enalineE|
|00000d20| 6e 61 62 6c 65 64 20 7c | 7c 20 28 41 64 72 65 6e |nabled ||| (Adren|
|00000d30| 61 6c 69 6e 65 20 3c 20 | 4d 69 6e 41 64 72 65 6e |aline < |MinAdren|
|00000d40| 61 6c 69 6e 65 43 6f 73 | 74 29 20 29 0d 0a 20 20 |alineCos|t) ).. |
|00000d50| 20 20 7b 0d 0a 09 09 49 | 6e 70 75 74 48 69 73 74 | {....I|nputHist|
|00000d60| 6f 72 79 5b 30 5d 20 3d | 20 30 3b 0d 0a 09 09 72 |ory[0] =| 0;....r|
|00000d70| 65 74 75 72 6e 3b 0d 0a | 09 7d 0d 0a 20 20 20 20 |eturn;..|.}.. |
|00000d80| 43 75 72 72 65 6e 74 4b | 65 79 20 3d 20 30 3b 0d |CurrentK|ey = 0;.|
|00000d90| 0a 0d 0a 20 20 20 20 69 | 66 20 28 61 46 6f 72 77 |... i|f (aForw|
|00000da0| 61 72 64 20 3e 20 30 29 | 09 09 43 75 72 72 65 6e |ard > 0)|..Curren|
|00000db0| 74 4b 65 79 20 3d 20 43 | 75 72 72 65 6e 74 4b 65 |tKey = C|urrentKe|
|00000dc0| 79 20 7c 20 31 3b 20 2f | 2f 20 43 4b 5f 55 70 0d |y | 1; /|/ CK_Up.|
|00000dd0| 0a 20 20 20 20 65 6c 73 | 65 20 69 66 20 28 61 46 |. els|e if (aF|
|00000de0| 6f 72 77 61 72 64 20 3c | 20 30 29 20 20 43 75 72 |orward <| 0) Cur|
|00000df0| 72 65 6e 74 4b 65 79 20 | 3d 20 43 75 72 72 65 6e |rentKey |= Curren|
|00000e00| 74 4b 65 79 20 7c 20 32 | 3b 20 2f 2f 20 43 4b 5f |tKey | 2|; // CK_|
|00000e10| 44 6f 77 6e 0d 0a 20 20 | 20 20 69 66 20 28 61 53 |Down.. | if (aS|
|00000e20| 74 72 61 66 65 20 3e 20 | 30 29 09 09 43 75 72 72 |trafe > |0)..Curr|
|00000e30| 65 6e 74 4b 65 79 20 3d | 20 43 75 72 72 65 6e 74 |entKey =| Current|
|00000e40| 4b 65 79 20 7c 20 34 3b | 20 2f 2f 20 43 4b 5f 4c |Key | 4;| // CK_L|
|00000e50| 65 66 74 0d 0a 20 20 20 | 20 65 6c 73 65 20 69 66 |eft.. | else if|
|00000e60| 20 28 61 53 74 72 61 66 | 65 20 3c 20 30 29 20 20 | (aStraf|e < 0) |
|00000e70| 20 43 75 72 72 65 6e 74 | 4b 65 79 20 3d 20 43 75 | Current|Key = Cu|
|00000e80| 72 72 65 6e 74 4b 65 79 | 20 7c 20 38 3b 20 2f 2f |rrentKey| | 8; //|
|00000e90| 20 43 4b 5f 52 69 67 68 | 74 0d 0a 0d 0a 20 20 20 | CK_Righ|t.... |
|00000ea0| 20 69 66 20 28 20 43 75 | 72 72 65 6e 74 4b 65 79 | if ( Cu|rrentKey|
|00000eb0| 20 21 3d 20 4f 6c 64 4b | 65 79 20 29 0d 0a 20 20 | != OldK|ey ).. |
|00000ec0| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 44 69 66 | {.. | Dif|
|00000ed0| 66 4b 65 79 20 3d 20 43 | 75 72 72 65 6e 74 4b 65 |fKey = C|urrentKe|
|00000ee0| 79 20 26 20 7e 4f 6c 64 | 4b 65 79 3b 20 2f 2f 20 |y & ~Old|Key; // |
|00000ef0| 6b 65 79 73 20 74 68 61 | 74 20 61 72 65 20 70 72 |keys tha|t are pr|
|00000f00| 65 73 73 65 64 20 6e 6f | 77 20 62 75 74 20 77 65 |essed no|w but we|
|00000f10| 72 65 20 6e 6f 74 20 6c | 61 73 74 20 66 72 61 6d |re not l|ast fram|
|00000f20| 65 0d 0a 0d 0a 20 20 20 | 20 20 20 20 20 69 66 20 |e.... | if |
|00000f30| 28 44 69 66 66 4b 65 79 | 20 21 3d 20 30 29 0d 0a |(DiffKey| != 0)..|
|00000f40| 20 20 20 20 20 20 20 20 | 7b 0d 0a 20 20 20 20 20 | |{.. |
|00000f50| 20 20 20 20 20 20 20 69 | 66 20 28 4c 65 76 65 6c | i|f (Level|
|00000f60| 2e 54 69 6d 65 53 65 63 | 6f 6e 64 73 20 2d 20 4c |.TimeSec|onds - L|
|00000f70| 61 73 74 4b 65 79 54 69 | 6d 65 20 3c 20 4d 69 6e |astKeyTi|me < Min|
|00000f80| 43 6f 6d 62 6f 4b 65 79 | 54 69 6d 65 29 20 2f 2f |ComboKey|Time) //|
|00000f90| 20 69 66 20 74 68 65 20 | 74 69 6d 65 20 77 61 73 | if the |time was|
|00000fa0| 20 74 6f 6f 20 73 68 6f | 72 74 20 62 65 74 77 65 | too sho|rt betwe|
|00000fb0| 65 6e 20 74 68 65 20 6c | 61 73 74 20 6b 65 79 70 |en the l|ast keyp|
|00000fc0| 72 65 73 73 2c 20 63 6f | 6e 73 69 64 65 72 20 69 |ress, co|nsider i|
|00000fd0| 74 20 61 20 64 6f 75 62 | 6c 65 20 70 72 65 73 73 |t a doub|le press|
|00000fe0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 0d |.. | {.|
|00000ff0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001000| 20 49 6e 70 75 74 48 69 | 73 74 6f 72 79 5b 30 5d | InputHi|story[0]|
|00001010| 20 3d 20 49 6e 70 75 74 | 48 69 73 74 6f 72 79 5b | = Input|History[|
|00001020| 30 5d 20 7c 20 44 69 66 | 66 4b 65 79 3b 0d 0a 20 |0] | Dif|fKey;.. |
|00001030| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0d 0a 20 20 | | }.. |
|00001040| 20 20 20 20 20 20 20 20 | 20 20 65 6c 73 65 20 69 | | else i|
|00001050| 66 20 28 4c 65 76 65 6c | 2e 54 69 6d 65 53 65 63 |f (Level|.TimeSec|
|00001060| 6f 6e 64 73 20 2d 20 4c | 61 73 74 4b 65 79 54 69 |onds - L|astKeyTi|
|00001070| 6d 65 20 3e 20 4d 61 78 | 43 6f 6d 62 6f 4b 65 79 |me > Max|ComboKey|
|00001080| 54 69 6d 65 29 20 2f 2f | 20 77 69 70 65 20 74 68 |Time) //| wipe th|
|00001090| 65 20 62 75 66 66 65 72 | 20 69 66 20 74 6f 6f 20 |e buffer| if too |
|000010a0| 6c 6f 6e 67 20 73 69 6e | 63 65 20 6c 61 73 74 20 |long sin|ce last |
|000010b0| 6b 65 79 70 72 65 73 73 | 0d 0a 20 20 20 20 20 20 |keypress|.. |
|000010c0| 20 20 20 20 20 20 7b 0d | 0a 20 20 20 20 20 20 20 | {.|. |
|000010d0| 20 20 20 20 20 20 20 20 | 20 49 6e 70 75 74 48 69 | | InputHi|
|000010e0| 73 74 6f 72 79 5b 30 5d | 20 3d 20 44 69 66 66 6b |story[0]| = Diffk|
|000010f0| 65 79 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ey;.. | |
|00001100| 20 20 20 20 20 49 6e 70 | 75 74 48 69 73 74 6f 72 | Inp|utHistor|
|00001110| 79 5b 31 5d 20 3d 20 30 | 3b 0d 0a 20 20 20 20 20 |y[1] = 0|;.. |
|00001120| 20 20 20 20 20 20 20 20 | 20 20 20 4c 61 73 74 4b | | LastK|
|00001130| 65 79 54 69 6d 65 20 3d | 20 4c 65 76 65 6c 2e 54 |eyTime =| Level.T|
|00001140| 69 6d 65 53 65 63 6f 6e | 64 73 3b 0d 0a 20 20 20 |imeSecon|ds;.. |
|00001150| 20 20 20 20 20 20 20 20 | 20 7d 0d 0a 20 20 20 20 | | }.. |
|00001160| 20 20 20 20 20 20 20 20 | 65 6c 73 65 0d 0a 20 20 | |else.. |
|00001170| 20 20 20 20 20 20 20 20 | 20 20 7b 0d 0a 09 09 09 | | {.....|
|00001180| 09 62 46 75 6c 6c 42 75 | 66 66 65 72 20 3d 20 74 |.bFullBu|ffer = t|
|00001190| 72 75 65 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |rue;.. | |
|000011a0| 20 20 20 20 20 20 66 6f | 72 20 28 20 69 3d 33 3b | fo|r ( i=3;|
|000011b0| 20 69 3e 30 3b 20 69 2d | 2d 20 29 0d 0a 20 20 20 | i>0; i-|- ).. |
|000011c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7b 0d 0a | | {..|
|000011d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000011e0| 20 20 20 20 49 6e 70 75 | 74 48 69 73 74 6f 72 79 | Inpu|tHistory|
|000011f0| 5b 69 5d 20 3d 20 49 6e | 70 75 74 48 69 73 74 6f |[i] = In|putHisto|
|00001200| 72 79 5b 69 20 2d 20 31 | 5d 3b 0d 0a 20 20 20 20 |ry[i - 1|];.. |
|00001210| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001220| 69 66 20 28 20 49 6e 70 | 75 74 48 69 73 74 6f 72 |if ( Inp|utHistor|
|00001230| 79 5b 69 5d 20 3d 3d 20 | 30 20 29 0d 0a 09 09 09 |y[i] == |0 ).....|
|00001240| 09 09 09 62 46 75 6c 6c | 42 75 66 66 65 72 20 3d |...bFull|Buffer =|
|00001250| 20 66 61 6c 73 65 3b 0d | 0a 09 09 09 09 7d 0d 0a | false;.|.....}..|
|00001260| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001270| 49 6e 70 75 74 48 69 73 | 74 6f 72 79 5b 30 5d 20 |InputHis|tory[0] |
|00001280| 3d 20 44 69 66 66 4b 65 | 79 3b 0d 0a 20 20 20 20 |= DiffKe|y;.. |
|00001290| 20 20 20 20 20 20 20 20 | 20 20 20 20 4c 61 73 74 | | Last|
|000012a0| 4b 65 79 54 69 6d 65 20 | 3d 20 4c 65 76 65 6c 2e |KeyTime |= Level.|
|000012b0| 54 69 6d 65 53 65 63 6f | 6e 64 73 3b 0d 0a 20 20 |TimeSeco|nds;.. |
|000012c0| 20 20 20 20 20 20 20 20 | 20 20 7d 0d 0a 0d 0a 20 | | }.... |
|000012d0| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2f 20 63 68 | | // ch|
|000012e0| 65 63 6b 20 66 6f 72 20 | 63 6f 6d 62 6f 20 6d 61 |eck for |combo ma|
|000012f0| 74 63 68 65 73 0d 0a 20 | 20 20 20 20 20 20 20 20 |tches.. | |
|00001300| 20 20 20 69 66 20 28 20 | 62 46 75 6c 6c 42 75 66 | if ( |bFullBuf|
|00001310| 66 65 72 20 29 0d 0a 20 | 20 20 20 20 20 20 20 20 |fer ).. | |
|00001320| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00001330| 20 20 20 20 20 20 66 6f | 72 20 28 20 63 3d 30 3b | fo|r ( c=0;|
|00001340| 20 63 3c 31 36 3b 20 63 | 2b 2b 20 29 0d 0a 20 20 | c<16; c|++ ).. |
|00001350| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 0d | | {.|
|00001360| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001370| 20 20 20 20 20 69 66 20 | 28 20 43 6f 6d 62 6f 4c | if |( ComboL|
|00001380| 69 73 74 5b 63 5d 20 3d | 3d 20 4e 6f 6e 65 20 29 |ist[c] =|= None )|
|00001390| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|000013a0| 20 20 20 20 20 20 20 20 | 20 20 62 72 65 61 6b 3b | | break;|
|000013b0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|000013c0| 20 20 20 20 20 20 65 6c | 73 65 20 69 66 20 28 20 | el|se if ( |
|000013d0| 28 43 6f 6d 62 6f 4c 69 | 73 74 5b 63 5d 2e 44 65 |(ComboLi|st[c].De|
|000013e0| 66 61 75 6c 74 2e 73 70 | 65 63 69 65 73 20 3d 3d |fault.sp|ecies ==|
|000013f0| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 43 6f 6d 62 6f | None) ||| (Combo|
|00001400| 4c 69 73 74 5b 63 5d 2e | 44 65 66 61 75 6c 74 2e |List[c].|Default.|
|00001410| 73 70 65 63 69 65 73 20 | 3d 3d 20 78 50 61 77 6e |species |== xPawn|
|00001420| 28 50 61 77 6e 29 2e 53 | 70 65 63 69 65 73 29 20 |(Pawn).S|pecies) |
|00001430| 29 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |).. | |
|00001440| 20 20 20 20 20 20 20 7b | 0d 0a 09 09 09 09 09 09 | {|........|
|00001450| 62 4d 61 74 63 68 20 3d | 20 74 72 75 65 3b 0d 0a |bMatch =| true;..|
|00001460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001470| 20 20 20 20 20 20 20 20 | 66 6f 72 20 28 20 69 3d | |for ( i=|
|00001480| 30 3b 20 69 20 3c 34 3b | 20 69 2b 2b 29 0d 0a 20 |0; i <4;| i++).. |
|00001490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014a0| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 20 | | if ( |
|000014b0| 49 6e 70 75 74 48 69 73 | 74 6f 72 79 5b 69 5d 20 |InputHis|tory[i] |
|000014c0| 21 3d 20 43 6f 6d 62 6f | 4c 69 73 74 5b 63 5d 2e |!= Combo|List[c].|
|000014d0| 44 65 66 61 75 6c 74 2e | 6b 65 79 73 5b 69 5d 20 |Default.|keys[i] |
|000014e0| 29 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |).. | |
|000014f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7b | | {|
|00001500| 0d 0a 09 09 09 09 09 09 | 09 09 62 4d 61 74 63 68 |........|..bMatch|
|00001510| 20 3d 20 66 61 6c 73 65 | 3b 0d 0a 20 20 20 20 20 | = false|;.. |
|00001520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001530| 20 20 20 20 20 20 20 20 | 20 20 20 62 72 65 61 6b | | break|
|00001540| 3b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.. | |
|00001550| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d | | }|
|00001560| 0d 0a 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |.... | |
|00001570| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00001580| 20 62 4d 61 74 63 68 20 | 29 0d 0a 20 20 20 20 20 | bMatch |).. |
|00001590| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015a0| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|000015b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015c0| 20 20 44 6f 43 6f 6d 62 | 6f 28 43 6f 6d 62 6f 4c | DoComb|o(ComboL|
|000015d0| 69 73 74 5b 63 5d 29 3b | 0d 0a 20 20 20 20 20 20 |ist[c]);|.. |
|000015e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015f0| 20 20 20 20 20 20 49 6e | 70 75 74 48 69 73 74 6f | In|putHisto|
|00001600| 72 79 5b 30 5d 20 3d 20 | 30 3b 0d 0a 20 20 20 20 |ry[0] = |0;.. |
|00001610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001620| 20 20 20 20 7d 0d 0a 20 | 20 20 20 20 20 20 20 20 | }.. | |
|00001630| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0d 0a 20 20 | | }.. |
|00001640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0d | | }.|
|00001650| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0d 0a |. | }..|
|00001660| 20 20 20 20 20 20 20 20 | 7d 0d 0a 0d 0a 20 20 20 | |}.... |
|00001670| 20 20 20 20 20 4f 6c 64 | 4b 65 79 20 3d 20 43 75 | Old|Key = Cu|
|00001680| 72 72 65 6e 74 4b 65 79 | 3b 0d 0a 20 20 20 20 7d |rrentKey|;.. }|
|00001690| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|000016a0| 44 6f 43 6f 6d 62 6f 28 | 20 63 6c 61 73 73 3c 43 |DoCombo(| class<C|
|000016b0| 6f 6d 62 6f 3e 20 43 6f | 6d 62 6f 43 6c 61 73 73 |ombo> Co|mboClass|
|000016c0| 20 29 0d 0a 7b 0d 0a 20 | 20 20 20 69 66 20 28 41 | )..{.. | if (A|
|000016d0| 64 72 65 6e 61 6c 69 6e | 65 20 3e 3d 20 43 6f 6d |drenalin|e >= Com|
|000016e0| 62 6f 43 6c 61 73 73 2e | 64 65 66 61 75 6c 74 2e |boClass.|default.|
|000016f0| 41 64 72 65 6e 61 6c 69 | 6e 65 43 6f 73 74 20 26 |Adrenali|neCost &|
|00001700| 26 20 21 50 61 77 6e 2e | 49 6e 43 75 72 72 65 6e |& !Pawn.|InCurren|
|00001710| 74 43 6f 6d 62 6f 28 29 | 20 29 0d 0a 20 20 20 20 |tCombo()| ).. |
|00001720| 7b 0d 0a 20 20 20 20 20 | 20 20 20 53 65 72 76 65 |{.. | Serve|
|00001730| 72 44 6f 43 6f 6d 62 6f | 28 20 43 6f 6d 62 6f 43 |rDoCombo|( ComboC|
|00001740| 6c 61 73 73 20 29 3b 0d | 0a 20 20 20 20 7d 0d 0a |lass );.|. }..|
|00001750| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 53 65 |}....fun|ction Se|
|00001760| 72 76 65 72 44 6f 43 6f | 6d 62 6f 28 20 63 6c 61 |rverDoCo|mbo( cla|
|00001770| 73 73 3c 43 6f 6d 62 6f | 3e 20 43 6f 6d 62 6f 43 |ss<Combo|> ComboC|
|00001780| 6c 61 73 73 20 29 0d 0a | 7b 0d 0a 09 69 66 20 28 |lass )..|{...if (|
|00001790| 20 28 43 6f 6d 62 6f 43 | 6c 61 73 73 20 3d 3d 20 | (ComboC|lass == |
|000017a0| 4e 6f 6e 65 29 20 7c 7c | 20 28 78 50 61 77 6e 28 |None) ||| (xPawn(|
|000017b0| 50 61 77 6e 29 20 3d 3d | 20 4e 6f 6e 65 29 20 29 |Pawn) ==| None) )|
|000017c0| 0d 0a 09 09 72 65 74 75 | 72 6e 3b 0d 0a 20 20 20 |....retu|rn;.. |
|000017d0| 20 69 66 20 28 41 64 72 | 65 6e 61 6c 69 6e 65 20 | if (Adr|enaline |
|000017e0| 3e 3d 20 43 6f 6d 62 6f | 43 6c 61 73 73 2e 64 65 |>= Combo|Class.de|
|000017f0| 66 61 75 6c 74 2e 41 64 | 72 65 6e 61 6c 69 6e 65 |fault.Ad|renaline|
|00001800| 43 6f 73 74 20 26 26 20 | 21 50 61 77 6e 2e 49 6e |Cost && |!Pawn.In|
|00001810| 43 75 72 72 65 6e 74 43 | 6f 6d 62 6f 28 29 20 29 |CurrentC|ombo() )|
|00001820| 0d 0a 20 20 20 20 7b 0d | 0a 20 20 20 20 20 20 20 |.. {.|. |
|00001830| 20 69 66 20 28 43 6f 6d | 62 6f 43 6c 61 73 73 2e | if (Com|boClass.|
|00001840| 64 65 66 61 75 6c 74 2e | 45 78 65 63 4d 65 73 73 |default.|ExecMess|
|00001850| 61 67 65 20 21 3d 20 22 | 22 29 0d 0a 20 20 20 20 |age != "|").. |
|00001860| 20 20 20 20 20 20 20 20 | 52 65 63 65 69 76 65 4c | |ReceiveL|
|00001870| 6f 63 61 6c 69 7a 65 64 | 4d 65 73 73 61 67 65 28 |ocalized|Message(|
|00001880| 20 63 6c 61 73 73 27 43 | 6f 6d 62 6f 4d 65 73 73 | class'C|omboMess|
|00001890| 61 67 65 27 2c 20 2c 20 | 2c 20 2c 20 43 6f 6d 62 |age', , |, , Comb|
|000018a0| 6f 43 6c 61 73 73 20 29 | 3b 0d 0a 0d 0a 20 20 20 |oClass )|;.... |
|000018b0| 20 20 20 20 20 78 50 61 | 77 6e 28 50 61 77 6e 29 | xPa|wn(Pawn)|
|000018c0| 2e 44 6f 43 6f 6d 62 6f | 28 20 43 6f 6d 62 6f 43 |.DoCombo|( ComboC|
|000018d0| 6c 61 73 73 20 29 3b 0d | 0a 20 20 20 20 7d 0d 0a |lass );.|. }..|
|000018e0| 7d 0d 0a 0d 0a 73 74 61 | 74 65 20 41 74 74 72 61 |}....sta|te Attra|
|000018f0| 63 74 4d 6f 64 65 0d 0a | 7b 0d 0a 09 69 67 6e 6f |ctMode..|{...igno|
|00001900| 72 65 73 20 53 77 69 74 | 63 68 57 65 61 70 6f 6e |res Swit|chWeapon|
|00001910| 2c 20 52 65 73 74 61 72 | 74 4c 65 76 65 6c 2c 20 |, Restar|tLevel, |
|00001920| 43 6c 69 65 6e 74 52 65 | 73 74 61 72 74 2c 20 53 |ClientRe|start, S|
|00001930| 75 69 63 69 64 65 2c 0d | 0a 09 20 54 68 72 6f 77 |uicide,.|.. Throw|
|00001940| 57 65 61 70 6f 6e 2c 20 | 4e 6f 74 69 66 79 50 68 |Weapon, |NotifyPh|
|00001950| 79 73 69 63 73 56 6f 6c | 75 6d 65 43 68 61 6e 67 |ysicsVol|umeChang|
|00001960| 65 2c 20 4e 6f 74 69 66 | 79 48 65 61 64 56 6f 6c |e, Notif|yHeadVol|
|00001970| 75 6d 65 43 68 61 6e 67 | 65 2c 0d 0a 20 20 20 20 |umeChang|e,.. |
|00001980| 20 53 61 79 2c 20 54 65 | 61 6d 53 61 79 3b 0d 0a | Say, Te|amSay;..|
|00001990| 0d 0a 09 66 75 6e 63 74 | 69 6f 6e 20 62 6f 6f 6c |...funct|ion bool|
|000019a0| 20 49 73 53 70 65 63 74 | 61 74 69 6e 67 28 29 0d | IsSpect|ating().|
|000019b0| 0a 09 7b 0d 0a 09 09 72 | 65 74 75 72 6e 20 74 72 |..{....r|eturn tr|
|000019c0| 75 65 3b 0d 0a 09 7d 0d | 0a 0d 0a 09 66 75 6e 63 |ue;...}.|....func|
|000019d0| 74 69 6f 6e 20 50 72 6f | 63 65 73 73 4d 6f 76 65 |tion Pro|cessMove|
|000019e0| 28 66 6c 6f 61 74 20 44 | 65 6c 74 61 54 69 6d 65 |(float D|eltaTime|
|000019f0| 2c 20 76 65 63 74 6f 72 | 20 4e 65 77 41 63 63 65 |, vector| NewAcce|
|00001a00| 6c 2c 20 65 44 6f 75 62 | 6c 65 43 6c 69 63 6b 44 |l, eDoub|leClickD|
|00001a10| 69 72 20 44 6f 75 62 6c | 65 43 6c 69 63 6b 4d 6f |ir Doubl|eClickMo|
|00001a20| 76 65 2c 20 72 6f 74 61 | 74 6f 72 20 44 65 6c 74 |ve, rota|tor Delt|
|00001a30| 61 52 6f 74 29 0d 0a 09 | 7b 0d 0a 09 7d 0d 0a 0d |aRot)...|{...}...|
|00001a40| 0a 09 66 75 6e 63 74 69 | 6f 6e 20 50 6c 61 79 65 |..functi|on Playe|
|00001a50| 72 4d 6f 76 65 28 66 6c | 6f 61 74 20 44 65 6c 74 |rMove(fl|oat Delt|
|00001a60| 61 54 69 6d 65 29 0d 0a | 09 7b 0d 0a 20 20 20 20 |aTime)..|.{.. |
|00001a70| 20 20 20 20 6c 6f 63 61 | 6c 20 66 6c 6f 61 74 20 | loca|l float |
|00001a80| 64 65 6c 74 61 79 61 77 | 2c 20 64 65 73 74 79 61 |deltayaw|, destya|
|00001a90| 77 3b 0d 0a 20 20 20 20 | 20 20 20 20 6c 6f 63 61 |w;.. | loca|
|00001aa0| 6c 20 52 6f 74 61 74 6f | 72 20 6e 65 77 72 6f 74 |l Rotato|r newrot|
|00001ab0| 3b 0d 0a 0d 0a 20 20 20 | 20 20 20 20 20 69 66 20 |;.... | if |
|00001ac0| 28 20 61 74 74 72 61 63 | 74 74 61 72 67 65 74 20 |( attrac|ttarget |
|00001ad0| 3d 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 09 09 72 65 |== None |).....re|
|00001ae0| 74 75 72 6e 3b 0d 0a 0d | 0a 20 20 20 20 20 20 20 |turn;...|. |
|00001af0| 20 2f 2f 20 75 70 64 61 | 74 65 73 20 63 61 6d 65 | // upda|tes came|
|00001b00| 72 61 20 79 61 77 20 74 | 6f 20 73 6d 6f 6f 74 68 |ra yaw t|o smooth|
|00001b10| 6c 79 20 72 6f 74 61 74 | 65 20 74 6f 20 74 68 65 |ly rotat|e to the|
|00001b20| 20 70 61 77 6e 20 66 61 | 63 69 6e 67 0d 0a 20 20 | pawn fa|cing.. |
|00001b30| 20 20 20 20 20 20 69 66 | 20 28 20 62 42 65 68 69 | if| ( bBehi|
|00001b40| 6e 64 56 69 65 77 20 29 | 0d 0a 20 20 20 20 20 20 |ndView )|.. |
|00001b50| 20 20 7b 0d 0a 09 09 09 | 69 66 20 28 20 28 61 74 | {.....|if ( (at|
|00001b60| 74 72 61 63 74 74 61 72 | 67 65 74 2e 43 6f 6e 74 |tracttar|get.Cont|
|00001b70| 72 6f 6c 6c 65 72 20 3d | 3d 20 4e 6f 6e 65 29 20 |roller =|= None) |
|00001b80| 7c 7c 20 28 41 74 74 72 | 61 63 74 54 61 72 67 65 ||| (Attr|actTarge|
|00001b90| 74 2e 43 6f 6e 74 72 6f | 6c 6c 65 72 2e 45 6e 65 |t.Contro|ller.Ene|
|00001ba0| 6d 79 20 3d 3d 20 4e 6f | 6e 65 29 20 29 0d 0a 09 |my == No|ne) )...|
|00001bb0| 09 09 09 72 65 74 75 72 | 6e 3b 0d 0a 20 20 20 20 |...retur|n;.. |
|00001bc0| 20 20 20 20 20 20 20 20 | 4e 65 77 52 6f 74 20 3d | |NewRot =|
|00001bd0| 20 52 6f 74 61 74 6f 72 | 28 61 74 74 72 61 63 74 | Rotator|(attract|
|00001be0| 74 61 72 67 65 74 2e 63 | 6f 6e 74 72 6f 6c 6c 65 |target.c|ontrolle|
|00001bf0| 72 2e 45 6e 65 6d 79 2e | 6c 6f 63 61 74 69 6f 6e |r.Enemy.|location|
|00001c00| 20 2d 20 61 74 74 72 61 | 63 74 74 61 72 67 65 74 | - attra|cttarget|
|00001c10| 2e 6c 6f 63 61 74 69 6f | 6e 29 3b 0d 0a 09 09 09 |.locatio|n);.....|
|00001c20| 64 65 73 74 79 61 77 20 | 3d 20 4e 65 77 52 6f 74 |destyaw |= NewRot|
|00001c30| 2e 59 61 77 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 |.Yaw;.. | |
|00001c40| 20 20 20 64 65 6c 74 61 | 79 61 77 20 3d 20 28 64 | delta|yaw = (d|
|00001c50| 65 73 74 79 61 77 20 26 | 20 36 35 35 33 35 29 20 |estyaw &| 65535) |
|00001c60| 2d 20 28 72 6f 74 61 74 | 69 6f 6e 2e 79 61 77 20 |- (rotat|ion.yaw |
|00001c70| 26 20 36 35 35 33 35 29 | 3b 0d 0a 20 20 20 20 20 |& 65535)|;.. |
|00001c80| 20 20 20 20 20 20 20 69 | 66 20 28 64 65 6c 74 61 | i|f (delta|
|00001c90| 79 61 77 20 3c 20 2d 33 | 32 37 36 38 29 20 64 65 |yaw < -3|2768) de|
|00001ca0| 6c 74 61 79 61 77 20 2b | 3d 20 36 35 35 33 36 3b |ltayaw +|= 65536;|
|00001cb0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 65 6c |.. | el|
|00001cc0| 73 65 20 69 66 20 28 64 | 65 6c 74 61 79 61 77 20 |se if (d|eltayaw |
|00001cd0| 3e 20 33 32 37 36 38 29 | 20 64 65 6c 74 61 79 61 |> 32768)| deltaya|
|00001ce0| 77 20 2d 3d 20 36 35 35 | 33 36 3b 0d 0a 0d 0a 20 |w -= 655|36;.... |
|00001cf0| 20 20 20 20 20 20 20 20 | 20 20 20 6e 65 77 72 6f | | newro|
|00001d00| 74 20 3d 20 72 6f 74 61 | 74 69 6f 6e 3b 0d 0a 20 |t = rota|tion;.. |
|00001d10| 20 20 20 20 20 20 20 20 | 20 20 20 6e 65 77 72 6f | | newro|
|00001d20| 74 2e 79 61 77 20 2b 3d | 20 64 65 6c 74 61 79 61 |t.yaw +=| deltaya|
|00001d30| 77 20 2a 20 44 65 6c 74 | 61 54 69 6d 65 3b 0d 0a |w * Delt|aTime;..|
|00001d40| 20 20 20 20 20 20 20 20 | 20 20 20 20 53 65 74 52 | | SetR|
|00001d50| 6f 74 61 74 69 6f 6e 28 | 6e 65 77 72 6f 74 29 3b |otation(|newrot);|
|00001d60| 0d 0a 20 20 20 20 20 20 | 20 20 7d 0d 0a 20 20 20 |.. | }.. |
|00001d70| 20 20 20 20 20 65 6c 73 | 65 0d 0a 20 20 20 20 20 | els|e.. |
|00001d80| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00001d90| 20 20 6e 65 77 72 6f 74 | 20 3d 20 43 61 6d 65 72 | newrot| = Camer|
|00001da0| 61 54 72 61 63 6b 28 61 | 74 74 72 61 63 74 74 61 |aTrack(a|ttractta|
|00001db0| 72 67 65 74 2c 20 44 65 | 6c 74 61 54 69 6d 65 29 |rget, De|ltaTime)|
|00001dc0| 3b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 53 |;.. | S|
|00001dd0| 65 74 52 6f 74 61 74 69 | 6f 6e 28 6e 65 77 72 6f |etRotati|on(newro|
|00001de0| 74 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 7d 0d 0a |t);.. | }..|
|00001df0| 09 7d 0d 0a 0d 0a 09 65 | 78 65 63 20 66 75 6e 63 |.}.....e|xec func|
|00001e00| 74 69 6f 6e 20 4e 65 78 | 74 57 65 61 70 6f 6e 28 |tion Nex|tWeapon(|
|00001e10| 29 0d 0a 09 7b 0d 0a 09 | 7d 0d 0a 0d 0a 09 65 78 |)...{...|}.....ex|
|00001e20| 65 63 20 66 75 6e 63 74 | 69 6f 6e 20 50 72 65 76 |ec funct|ion Prev|
|00001e30| 57 65 61 70 6f 6e 28 29 | 0d 0a 09 7b 0d 0a 09 7d |Weapon()|...{...}|
|00001e40| 0d 0a 0d 0a 09 65 78 65 | 63 20 66 75 6e 63 74 69 |.....exe|c functi|
|00001e50| 6f 6e 20 46 69 72 65 28 | 20 6f 70 74 69 6f 6e 61 |on Fire(| optiona|
|00001e60| 6c 20 66 6c 6f 61 74 20 | 46 20 29 0d 0a 09 7b 0d |l float |F )...{.|
|00001e70| 0a 20 20 20 20 20 20 20 | 20 2f 2f 20 73 74 61 72 |. | // star|
|00001e80| 74 20 70 6c 61 79 69 6e | 67 0d 0a 09 7d 0d 0a 0d |t playin|g...}...|
|00001e90| 0a 09 65 78 65 63 20 66 | 75 6e 63 74 69 6f 6e 20 |..exec f|unction |
|00001ea0| 41 6c 74 46 69 72 65 28 | 20 6f 70 74 69 6f 6e 61 |AltFire(| optiona|
|00001eb0| 6c 20 66 6c 6f 61 74 20 | 46 20 29 0d 0a 09 7b 0d |l float |F )...{.|
|00001ec0| 0a 20 20 20 20 20 20 20 | 20 46 69 72 65 28 46 29 |. | Fire(F)|
|00001ed0| 3b 0d 0a 09 7d 0d 0a 0d | 0a 09 66 75 6e 63 74 69 |;...}...|..functi|
|00001ee0| 6f 6e 20 42 65 67 69 6e | 53 74 61 74 65 28 29 0d |on Begin|State().|
|00001ef0| 0a 09 7b 0d 0a 09 09 69 | 66 20 28 20 50 61 77 6e |..{....i|f ( Pawn|
|00001f00| 20 21 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 09 7b 0d | != None| )....{.|
|00001f10| 0a 09 09 09 53 65 74 4c | 6f 63 61 74 69 6f 6e 28 |....SetL|ocation(|
|00001f20| 50 61 77 6e 2e 4c 6f 63 | 61 74 69 6f 6e 29 3b 0d |Pawn.Loc|ation);.|
|00001f30| 0a 09 09 7d 0d 0a 09 09 | 62 43 6f 6c 6c 69 64 65 |...}....|bCollide|
|00001f40| 57 6f 72 6c 64 20 3d 20 | 74 72 75 65 3b 0d 0a 20 |World = |true;.. |
|00001f50| 20 20 20 20 20 20 20 69 | 66 20 28 20 63 75 72 63 | i|f ( curc|
|00001f60| 61 6d 20 3d 3d 20 2d 31 | 20 29 0d 0a 20 20 20 20 |am == -1| ).. |
|00001f70| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00001f80| 20 20 20 46 69 6c 6c 43 | 61 6d 65 72 61 4c 69 73 | FillC|ameraLis|
|00001f90| 74 28 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |t();.. | |
|00001fa0| 20 20 63 61 6d 74 69 6d | 65 20 3d 20 30 3b 0d 0a | camtim|e = 0;..|
|00001fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 74 61 72 67 | | targ|
|00001fc0| 65 74 74 69 6d 65 20 3d | 20 30 3b 0d 0a 20 20 20 |ettime =| 0;.. |
|00001fd0| 20 20 20 20 20 20 20 20 | 20 61 75 74 6f 7a 6f 6f | | autozoo|
|00001fe0| 6d 20 3d 20 74 72 75 65 | 3b 0d 0a 20 20 20 20 20 |m = true|;.. |
|00001ff0| 20 20 20 20 20 20 20 63 | 75 72 63 61 6d 20 3d 20 | c|urcam = |
|00002000| 2d 31 3b 0d 0a 20 20 20 | 20 20 20 20 20 7d 0d 0a |-1;.. | }..|
|00002010| 0d 0a 20 20 20 20 20 20 | 20 20 54 69 6d 65 72 28 |.. | Timer(|
|00002020| 29 3b 0d 0a 20 20 20 20 | 20 20 20 20 53 65 74 54 |);.. | SetT|
|00002030| 69 6d 65 72 28 30 2e 35 | 2c 20 74 72 75 65 29 3b |imer(0.5|, true);|
|00002040| 0d 0a 09 7d 0d 0a 0d 0a | 09 66 75 6e 63 74 69 6f |...}....|.functio|
|00002050| 6e 20 45 6e 64 53 74 61 | 74 65 28 29 0d 0a 09 7b |n EndSta|te()...{|
|00002060| 0d 0a 09 09 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |....Play|erReplic|
|00002070| 61 74 69 6f 6e 49 6e 66 | 6f 2e 62 49 73 53 70 65 |ationInf|o.bIsSpe|
|00002080| 63 74 61 74 6f 72 20 3d | 20 66 61 6c 73 65 3b 0d |ctator =| false;.|
|00002090| 0a 09 09 62 43 6f 6c 6c | 69 64 65 57 6f 72 6c 64 |...bColl|ideWorld|
|000020a0| 20 3d 20 66 61 6c 73 65 | 3b 0d 0a 20 20 20 20 20 | = false|;.. |
|000020b0| 20 20 20 63 75 72 63 61 | 6d 20 3d 20 2d 31 3b 0d | curca|m = -1;.|
|000020c0| 0a 09 7d 0d 0a 0d 0a 20 | 20 20 20 66 75 6e 63 74 |..}.... | funct|
|000020d0| 69 6f 6e 20 54 69 6d 65 | 72 28 29 0d 0a 20 20 20 |ion Time|r().. |
|000020e0| 20 7b 0d 0a 20 20 20 20 | 20 20 20 20 6c 6f 63 61 | {.. | loca|
|000020f0| 6c 20 62 6f 6f 6c 20 73 | 77 69 74 63 68 65 64 62 |l bool s|witchedb|
|00002100| 6f 74 73 3b 0d 0a 20 20 | 20 20 20 20 20 20 6c 6f |ots;.. | lo|
|00002110| 63 61 6c 20 56 65 63 74 | 6f 72 20 6e 65 77 6c 6f |cal Vect|or newlo|
|00002120| 63 3b 0d 0a 20 20 20 20 | 20 20 20 20 6c 6f 63 61 |c;.. | loca|
|00002130| 6c 20 69 6e 74 20 6e 65 | 77 63 61 6d 3b 0d 0a 0d |l int ne|wcam;...|
|00002140| 0a 20 20 20 20 20 20 20 | 20 63 61 6d 74 69 6d 65 |. | camtime|
|00002150| 20 2b 3d 20 30 2e 35 3b | 0d 0a 20 20 20 20 20 20 | += 0.5;|.. |
|00002160| 20 20 74 61 72 67 65 74 | 74 69 6d 65 20 2b 3d 20 | target|time += |
|00002170| 30 2e 35 3b 0d 0a 20 20 | 20 20 20 20 20 20 62 46 |0.5;.. | bF|
|00002180| 72 6f 7a 65 6e 20 3d 20 | 66 61 6c 73 65 3b 0d 0a |rozen = |false;..|
|00002190| 0d 0a 20 20 20 20 20 20 | 20 20 2f 2f 20 6b 65 65 |.. | // kee|
|000021a0| 70 20 77 61 74 63 68 69 | 6e 67 20 61 20 74 61 72 |p watchi|ng a tar|
|000021b0| 67 65 74 20 66 6f 72 20 | 61 20 66 65 77 20 73 65 |get for |a few se|
|000021c0| 63 6f 6e 64 73 20 61 66 | 74 65 72 20 69 74 20 64 |conds af|ter it d|
|000021d0| 69 65 73 0d 0a 20 20 20 | 20 20 20 20 20 69 66 20 |ies.. | if |
|000021e0| 28 67 69 62 77 61 74 63 | 68 74 69 6d 65 20 3e 20 |(gibwatc|htime > |
|000021f0| 30 29 0d 0a 20 20 20 20 | 20 20 20 20 7b 0d 0a 20 |0).. | {.. |
|00002200| 20 20 20 20 20 20 20 20 | 20 20 20 67 69 62 77 61 | | gibwa|
|00002210| 74 63 68 74 69 6d 65 20 | 2d 3d 20 30 2e 35 3b 0d |tchtime |-= 0.5;.|
|00002220| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |. | if |
|00002230| 28 67 69 62 77 61 74 63 | 68 74 69 6d 65 20 3c 3d |(gibwatc|htime <=|
|00002240| 20 30 29 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | 0).. | |
|00002250| 20 20 20 20 20 61 74 74 | 72 61 63 74 74 61 72 67 | att|racttarg|
|00002260| 65 74 20 3d 20 4e 6f 6e | 65 3b 0d 0a 20 20 20 20 |et = Non|e;.. |
|00002270| 20 20 20 20 20 20 20 20 | 65 6c 73 65 0d 0a 20 20 | |else.. |
|00002280| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|00002290| 74 75 72 6e 3b 0d 0a 20 | 20 20 20 20 20 20 20 7d |turn;.. | }|
|000022a0| 0d 0a 20 20 20 20 20 20 | 20 20 65 6c 73 65 20 69 |.. | else i|
|000022b0| 66 20 28 20 61 74 74 72 | 61 63 74 74 61 72 67 65 |f ( attr|acttarge|
|000022c0| 74 20 21 3d 20 4e 6f 6e | 65 20 26 26 20 61 74 74 |t != Non|e && att|
|000022d0| 72 61 63 74 74 61 72 67 | 65 74 2e 48 65 61 6c 74 |racttarg|et.Healt|
|000022e0| 68 20 3c 3d 20 30 20 29 | 0d 0a 20 20 20 20 20 20 |h <= 0 )|.. |
|000022f0| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00002300| 20 67 69 62 77 61 74 63 | 68 74 69 6d 65 20 3d 20 | gibwatc|htime = |
|00002310| 34 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |4;.. | |
|00002320| 2f 2f 4c 6f 67 28 22 61 | 74 74 72 61 63 74 3a 20 |//Log("a|ttract: |
|00002330| 77 61 74 63 68 69 6e 67 | 20 67 69 62 22 29 3b 0d |watching| gib");.|
|00002340| 0a 20 20 20 20 20 20 20 | 20 7d 0d 0a 0d 0a 20 20 |. | }.... |
|00002350| 20 20 20 20 20 20 2f 2f | 20 73 77 69 74 63 68 20 | //| switch |
|00002360| 74 61 72 67 65 74 73 20 | 2f 2f 0d 0a 20 20 20 20 |targets |//.. |
|00002370| 20 20 20 20 69 66 20 28 | 61 74 74 72 61 63 74 74 | if (|attractt|
|00002380| 61 72 67 65 74 20 3d 3d | 20 4e 6f 6e 65 0d 0a 20 |arget ==| None.. |
|00002390| 20 20 20 20 20 20 20 20 | 20 20 20 7c 7c 20 74 61 | | || ta|
|000023a0| 72 67 65 74 74 69 6d 65 | 20 3e 20 33 30 20 29 0d |rgettime| > 30 ).|
|000023b0| 0a 20 20 20 20 20 20 20 | 20 7b 0d 0a 20 20 20 20 |. | {.. |
|000023c0| 20 20 20 20 20 20 20 20 | 61 74 74 72 61 63 74 74 | |attractt|
|000023d0| 61 72 67 65 74 20 3d 20 | 50 69 63 6b 4e 65 78 74 |arget = |PickNext|
|000023e0| 42 6f 74 28 61 74 74 72 | 61 63 74 74 61 72 67 65 |Bot(attr|acttarge|
|000023f0| 74 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |t);.. | |
|00002400| 20 73 77 69 74 63 68 65 | 64 62 6f 74 73 20 3d 20 | switche|dbots = |
|00002410| 74 72 75 65 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 |true;.. | |
|00002420| 20 20 20 74 61 72 67 65 | 74 74 69 6d 65 20 3d 20 | targe|ttime = |
|00002430| 30 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 7d 0d 0a |0;.. | }..|
|00002440| 0d 0a 20 20 20 20 20 20 | 20 20 69 66 20 28 61 74 |.. | if (at|
|00002450| 74 72 61 63 74 74 61 72 | 67 65 74 20 3d 3d 20 4e |tracttar|get == N|
|00002460| 6f 6e 65 29 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |one).. | |
|00002470| 20 20 72 65 74 75 72 6e | 3b 0d 0a 0d 0a 20 20 20 | return|;.... |
|00002480| 20 20 20 20 20 2f 2f 20 | 73 77 69 74 63 68 20 76 | // |switch v|
|00002490| 69 65 77 73 20 2f 2f 0d | 0a 20 20 20 20 20 20 20 |iews //.|. |
|000024a0| 20 69 66 20 28 0d 0a 20 | 20 20 20 20 20 20 20 20 | if (.. | |
|000024b0| 20 20 20 73 77 69 74 63 | 68 65 64 62 6f 74 73 20 | switc|hedbots |
|000024c0| 7c 7c 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |||.. | |
|000024d0| 63 61 6d 74 69 6d 65 20 | 3e 20 31 30 20 7c 7c 0d |camtime |> 10 ||.|
|000024e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 62 42 65 |. | bBe|
|000024f0| 68 69 6e 64 56 69 65 77 | 20 3d 3d 20 66 61 6c 73 |hindView| == fals|
|00002500| 65 20 26 26 20 28 72 6f | 74 61 74 69 6f 6e 2e 70 |e && (ro|tation.p|
|00002510| 69 74 63 68 20 3c 20 2d | 31 30 30 30 30 20 7c 7c |itch < -|10000 |||
|00002520| 20 21 4c 69 6e 65 4f 66 | 53 69 67 68 74 28 63 75 | !LineOf|Sight(cu|
|00002530| 72 63 61 6d 2c 20 61 74 | 74 72 61 63 74 74 61 72 |rcam, at|tracttar|
|00002540| 67 65 74 29 29 0d 0a 20 | 20 20 20 20 20 20 20 29 |get)).. | )|
|00002550| 0d 0a 20 20 20 20 20 20 | 20 20 7b 0d 0a 20 20 20 |.. | {.. |
|00002560| 20 20 20 20 20 20 20 20 | 20 63 61 6d 74 69 6d 65 | | camtime|
|00002570| 20 3d 20 30 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 | = 0;.. | |
|00002580| 20 20 20 46 6f 76 41 6e | 67 6c 65 20 3d 20 64 65 | FovAn|gle = de|
|00002590| 66 61 75 6c 74 2e 46 6f | 76 41 6e 67 6c 65 3b 0d |fault.Fo|vAngle;.|
|000025a0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 53 65 74 |. | Set|
|000025b0| 56 69 65 77 54 61 72 67 | 65 74 28 73 65 6c 66 29 |ViewTarg|et(self)|
|000025c0| 3b 0d 0a 09 20 20 20 20 | 09 62 42 65 68 69 6e 64 |;... |.bBehind|
|000025d0| 56 69 65 77 20 3d 20 66 | 61 6c 73 65 3b 0d 0a 0d |View = f|alse;...|
|000025e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2f 20 |. | // |
|000025f0| 6c 6f 6f 6b 20 66 6f 72 | 20 61 20 70 6c 61 63 65 |look for| a place|
|00002600| 64 20 63 61 6d 65 72 61 | 0d 0a 20 20 20 20 20 20 |d camera|.. |
|00002610| 20 20 20 20 20 20 69 66 | 20 28 46 69 6e 64 46 69 | if| (FindFi|
|00002620| 78 65 64 43 61 6d 28 61 | 74 74 72 61 63 74 74 61 |xedCam(a|ttractta|
|00002630| 72 67 65 74 2c 20 6e 65 | 77 63 61 6d 29 29 0d 0a |rget, ne|wcam))..|
|00002640| 20 20 20 20 20 20 20 20 | 20 20 20 20 7b 0d 0a 20 | | {.. |
|00002650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 66 | | f|
|00002660| 6f 63 75 73 70 6f 69 6e | 74 20 3d 20 61 74 74 72 |ocuspoin|t = attr|
|00002670| 61 63 74 74 61 72 67 65 | 74 2e 4c 6f 63 61 74 69 |acttarge|t.Locati|
|00002680| 6f 6e 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |on;.. | |
|00002690| 20 20 20 20 20 63 75 72 | 63 61 6d 20 3d 20 6e 65 | cur|cam = ne|
|000026a0| 77 63 61 6d 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 |wcam;.. | |
|000026b0| 20 20 20 20 20 20 20 53 | 65 74 4c 6f 63 61 74 69 | S|etLocati|
|000026c0| 6f 6e 28 63 61 6d 6c 69 | 73 74 5b 63 75 72 63 61 |on(camli|st[curca|
|000026d0| 6d 5d 2e 4c 6f 63 61 74 | 69 6f 6e 29 3b 0d 0a 20 |m].Locat|ion);.. |
|000026e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 46 | | F|
|000026f0| 6f 76 41 6e 67 6c 65 20 | 3d 20 63 61 6d 6c 69 73 |ovAngle |= camlis|
|00002700| 74 5b 63 75 72 63 61 6d | 5d 2e 56 69 65 77 41 6e |t[curcam|].ViewAn|
|00002710| 67 6c 65 3b 0d 0a 0d 0a | 20 20 20 20 20 20 20 20 |gle;....| |
|00002720| 20 20 20 20 20 20 20 20 | 53 65 74 52 6f 74 61 74 | |SetRotat|
|00002730| 69 6f 6e 28 43 61 6d 65 | 72 61 54 72 61 63 6b 28 |ion(Came|raTrack(|
|00002740| 61 74 74 72 61 63 74 74 | 61 72 67 65 74 2c 20 30 |attractt|arget, 0|
|00002750| 29 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |));.. | |
|00002760| 20 20 20 20 20 2f 2f 4c | 6f 67 28 22 61 74 74 72 | //L|og("attr|
|00002770| 61 63 74 3a 20 63 61 6d | 65 72 61 20 22 24 63 61 |act: cam|era "$ca|
|00002780| 6d 6c 69 73 74 5b 63 75 | 72 63 61 6d 5d 29 3b 0d |mlist[cu|rcam]);.|
|00002790| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0d 0a |. | }..|
|000027a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2f 20 75 | | // u|
|000027b0| 73 65 20 61 20 66 6c 6f | 61 74 69 6e 67 20 63 61 |se a flo|ating ca|
|000027c0| 6d 65 72 61 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |mera.. | |
|000027d0| 20 20 65 6c 73 65 20 69 | 66 20 28 46 52 61 6e 64 | else i|f (FRand|
|000027e0| 28 29 20 3c 20 30 2e 35 | 29 0d 0a 20 20 20 20 20 |() < 0.5|).. |
|000027f0| 20 20 20 20 20 20 20 7b | 0d 0a 20 20 20 20 20 20 | {|.. |
|00002800| 20 20 20 20 20 20 20 20 | 20 20 6e 65 77 6c 6f 63 | | newloc|
|00002810| 20 3d 20 46 69 6e 64 46 | 6c 6f 61 74 69 6e 67 43 | = FindF|loatingC|
|00002820| 61 6d 28 61 74 74 72 61 | 63 74 74 61 72 67 65 74 |am(attra|cttarget|
|00002830| 29 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |);.. | |
|00002840| 20 20 20 20 66 6f 63 75 | 73 70 6f 69 6e 74 20 3d | focu|spoint =|
|00002850| 20 61 74 74 72 61 63 74 | 74 61 72 67 65 74 2e 4c | attract|target.L|
|00002860| 6f 63 61 74 69 6f 6e 3b | 0d 0a 20 20 20 20 20 20 |ocation;|.. |
|00002870| 20 20 20 20 20 20 20 20 | 20 20 63 75 72 63 61 6d | | curcam|
|00002880| 20 3d 20 2d 31 3b 0d 0a | 20 20 20 20 20 20 20 20 | = -1;..| |
|00002890| 20 20 20 20 20 20 20 20 | 53 65 74 4c 6f 63 61 74 | |SetLocat|
|000028a0| 69 6f 6e 28 6e 65 77 6c | 6f 63 29 3b 0d 0a 0d 0a |ion(newl|oc);....|
|000028b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000028c0| 53 65 74 52 6f 74 61 74 | 69 6f 6e 28 43 61 6d 65 |SetRotat|ion(Came|
|000028d0| 72 61 54 72 61 63 6b 28 | 61 74 74 72 61 63 74 74 |raTrack(|attractt|
|000028e0| 61 72 67 65 74 2c 20 30 | 29 29 3b 0d 0a 20 20 20 |arget, 0|));.. |
|000028f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2f 4c | | //L|
|00002900| 6f 67 28 22 61 74 74 72 | 61 63 74 3a 20 66 72 65 |og("attr|act: fre|
|00002910| 65 20 63 61 6d 65 72 61 | 22 29 3b 0d 0a 20 20 20 |e camera|");.. |
|00002920| 20 20 20 20 20 20 20 20 | 20 7d 0d 0a 20 20 20 20 | | }.. |
|00002930| 20 20 20 20 20 20 20 20 | 2f 2f 20 63 68 61 73 65 | |// chase|
|00002940| 20 6d 6f 64 65 0d 0a 20 | 20 20 20 20 20 20 20 20 | mode.. | |
|00002950| 20 20 20 65 6c 73 65 0d | 0a 20 20 20 20 20 20 20 | else.|. |
|00002960| 20 20 20 20 20 7b 0d 0a | 20 20 20 20 20 20 20 20 | {..| |
|00002970| 20 20 20 20 20 20 20 20 | 63 75 72 63 61 6d 20 3d | |curcam =|
|00002980| 20 2d 31 3b 0d 0a 20 20 | 20 20 09 09 20 20 20 20 | -1;.. | .. |
|00002990| 53 65 74 56 69 65 77 54 | 61 72 67 65 74 28 61 74 |SetViewT|arget(at|
|000029a0| 74 72 61 63 74 74 61 72 | 67 65 74 29 3b 0d 0a 09 |tracttar|get);...|
|000029b0| 20 20 20 20 09 20 20 20 | 20 62 42 65 68 69 6e 64 | . | bBehind|
|000029c0| 56 69 65 77 20 3d 20 74 | 72 75 65 3b 0d 0a 20 20 |View = t|rue;.. |
|000029d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 53 65 | | Se|
|000029e0| 74 52 6f 74 61 74 69 6f | 6e 28 61 74 74 72 61 63 |tRotatio|n(attrac|
|000029f0| 74 74 61 72 67 65 74 2e | 72 6f 74 61 74 69 6f 6e |ttarget.|rotation|
|00002a00| 29 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |);.. | |
|00002a10| 20 20 20 20 43 61 6d 65 | 72 61 44 65 6c 74 61 52 | Came|raDeltaR|
|00002a20| 6f 74 61 74 69 6f 6e 2e | 50 69 74 63 68 20 3d 20 |otation.|Pitch = |
|00002a30| 2d 33 30 30 30 3b 0d 0a | 20 20 20 20 20 20 20 20 |-3000;..| |
|00002a40| 20 20 20 20 20 20 20 20 | 43 61 6d 65 72 61 44 69 | |CameraDi|
|00002a50| 73 74 20 3d 20 36 3b 0d | 0a 20 20 20 20 20 20 20 |st = 6;.|. |
|00002a60| 20 20 20 20 20 20 20 20 | 20 2f 2f 4c 6f 67 28 22 | | //Log("|
|00002a70| 61 74 74 72 61 63 74 3a | 20 63 68 61 73 65 20 63 |attract:| chase c|
|00002a80| 61 6d 65 72 61 22 29 3b | 0d 0a 20 20 20 20 20 20 |amera");|.. |
|00002a90| 20 20 20 20 20 20 7d 0d | 0a 20 20 20 20 20 20 20 | }.|. |
|00002aa0| 20 7d 0d 0a 20 20 20 20 | 7d 0d 0a 7d 0d 0a 0d 0a | }.. |}..}....|
|00002ab0| 73 74 61 74 65 20 56 69 | 65 77 50 6c 61 79 65 72 |state Vi|ewPlayer|
|00002ac0| 20 65 78 74 65 6e 64 73 | 20 50 6c 61 79 65 72 57 | extends| PlayerW|
|00002ad0| 61 6c 6b 69 6e 67 0d 0a | 7b 0d 0a 09 66 75 6e 63 |alking..|{...func|
|00002ae0| 74 69 6f 6e 20 50 6c 61 | 79 65 72 4d 6f 76 65 28 |tion Pla|yerMove(|
|00002af0| 66 6c 6f 61 74 20 44 65 | 6c 74 61 54 69 6d 65 29 |float De|ltaTime)|
|00002b00| 0d 0a 09 7b 0d 0a 20 20 | 20 20 20 20 20 20 53 75 |...{.. | Su|
|00002b10| 70 65 72 2e 50 6c 61 79 | 65 72 4d 6f 76 65 28 44 |per.Play|erMove(D|
|00002b20| 65 6c 74 61 54 69 6d 65 | 29 3b 0d 0a 0d 0a 20 20 |eltaTime|);.... |
|00002b30| 20 20 20 20 20 20 43 61 | 6d 65 72 61 53 77 69 76 | Ca|meraSwiv|
|00002b40| 65 6c 20 3d 20 43 61 6d | 65 72 61 54 72 61 63 6b |el = Cam|eraTrack|
|00002b50| 28 70 61 77 6e 2c 20 44 | 65 6c 74 61 54 69 6d 65 |(pawn, D|eltaTime|
|00002b60| 29 3b 0d 0a 20 20 20 20 | 7d 0d 0a 0d 0a 20 20 20 |);.. |}.... |
|00002b70| 20 66 75 6e 63 74 69 6f | 6e 20 50 6c 61 79 65 72 | functio|n Player|
|00002b80| 43 61 6c 63 56 69 65 77 | 28 6f 75 74 20 61 63 74 |CalcView|(out act|
|00002b90| 6f 72 20 56 69 65 77 41 | 63 74 6f 72 2c 20 6f 75 |or ViewA|ctor, ou|
|00002ba0| 74 20 76 65 63 74 6f 72 | 20 43 61 6d 65 72 61 4c |t vector| CameraL|
|00002bb0| 6f 63 61 74 69 6f 6e 2c | 20 6f 75 74 20 72 6f 74 |ocation,| out rot|
|00002bc0| 61 74 6f 72 20 43 61 6d | 65 72 61 52 6f 74 61 74 |ator Cam|eraRotat|
|00002bd0| 69 6f 6e 20 29 0d 0a 20 | 20 20 20 7b 0d 0a 20 20 |ion ).. | {.. |
|00002be0| 20 20 20 20 20 20 2f 2f | 20 6e 6f 74 20 63 61 6c | //| not cal|
|00002bf0| 6c 69 6e 67 20 73 75 70 | 65 72 0d 0a 20 20 20 20 |ling sup|er.. |
|00002c00| 20 20 20 20 43 61 6d 65 | 72 61 52 6f 74 61 74 69 | Came|raRotati|
|00002c10| 6f 6e 20 3d 20 43 61 6d | 65 72 61 53 77 69 76 65 |on = Cam|eraSwive|
|00002c20| 6c 3b 0d 0a 20 20 20 20 | 20 20 20 20 43 61 6d 65 |l;.. | Came|
|00002c30| 72 61 4c 6f 63 61 74 69 | 6f 6e 20 3d 20 6c 6f 63 |raLocati|on = loc|
|00002c40| 61 74 69 6f 6e 3b 20 2f | 2f 63 61 6d 6c 69 73 74 |ation; /|/camlist|
|00002c50| 5b 63 75 72 63 61 6d 5d | 2e 6c 6f 63 61 74 69 6f |[curcam]|.locatio|
|00002c60| 6e 3b 0d 0a 20 20 20 20 | 20 20 20 20 56 69 65 77 |n;.. | View|
|00002c70| 41 63 74 6f 72 20 3d 20 | 73 65 6c 66 3b 0d 0a 20 |Actor = |self;.. |
|00002c80| 20 20 20 7d 0d 0a 0d 0a | 20 20 20 20 66 75 6e 63 | }....| func|
|00002c90| 74 69 6f 6e 20 42 65 67 | 69 6e 53 74 61 74 65 28 |tion Beg|inState(|
|00002ca0| 29 0d 0a 20 20 20 20 7b | 0d 0a 20 20 20 20 20 20 |).. {|.. |
|00002cb0| 20 20 46 69 6c 6c 43 61 | 6d 65 72 61 4c 69 73 74 | FillCa|meraList|
|00002cc0| 28 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 62 42 65 |();.. | bBe|
|00002cd0| 68 69 6e 64 56 69 65 77 | 20 3d 20 74 72 75 65 3b |hindView| = true;|
|00002ce0| 0d 0a 20 20 20 20 20 20 | 20 20 53 65 74 56 69 65 |.. | SetVie|
|00002cf0| 77 54 61 72 67 65 74 28 | 73 65 6c 66 29 3b 0d 0a |wTarget(|self);..|
|00002d00| 20 20 20 20 20 20 20 20 | 63 75 72 63 61 6d 20 3d | |curcam =|
|00002d10| 20 2d 32 3b 0d 0a 20 20 | 20 20 20 20 20 20 61 75 | -2;.. | au|
|00002d20| 74 6f 7a 6f 6f 6d 20 3d | 20 74 72 75 65 3b 0d 0a |tozoom =| true;..|
|00002d30| 20 20 20 20 20 20 20 20 | 54 69 6d 65 72 28 29 3b | |Timer();|
|00002d40| 0d 0a 20 20 20 20 20 20 | 20 20 53 65 74 54 69 6d |.. | SetTim|
|00002d50| 65 72 28 30 2e 35 2c 20 | 74 72 75 65 29 3b 0d 0a |er(0.5, |true);..|
|00002d60| 20 20 20 20 7d 0d 0a 0d | 0a 20 20 20 20 66 75 6e | }...|. fun|
|00002d70| 63 74 69 6f 6e 20 45 6e | 64 53 74 61 74 65 28 29 |ction En|dState()|
|00002d80| 0d 0a 20 20 20 20 7b 0d | 0a 20 20 20 20 20 20 20 |.. {.|. |
|00002d90| 20 43 61 6d 65 72 61 53 | 77 69 76 65 6c 20 3d 20 | CameraS|wivel = |
|00002da0| 72 6f 74 28 30 2c 30 2c | 30 29 3b 0d 0a 20 20 20 |rot(0,0,|0);.. |
|00002db0| 20 20 20 20 20 62 42 65 | 68 69 6e 64 56 69 65 77 | bBe|hindView|
|00002dc0| 20 3d 20 66 61 6c 73 65 | 3b 0d 0a 20 20 20 20 20 | = false|;.. |
|00002dd0| 20 20 20 46 6f 76 41 6e | 67 6c 65 20 3d 20 64 65 | FovAn|gle = de|
|00002de0| 66 61 75 6c 74 2e 46 6f | 76 41 6e 67 6c 65 3b 0d |fault.Fo|vAngle;.|
|00002df0| 0a 20 20 20 20 20 20 20 | 20 44 65 73 69 72 65 64 |. | Desired|
|00002e00| 46 4f 56 20 3d 20 46 6f | 76 41 6e 67 6c 65 3b 0d |FOV = Fo|vAngle;.|
|00002e10| 0a 20 20 20 20 20 20 20 | 20 53 65 74 56 69 65 77 |. | SetView|
|00002e20| 54 61 72 67 65 74 28 70 | 61 77 6e 29 3b 0d 0a 20 |Target(p|awn);.. |
|00002e30| 20 20 20 7d 0d 0a 0d 0a | 20 20 20 20 66 75 6e 63 | }....| func|
|00002e40| 74 69 6f 6e 20 54 69 6d | 65 72 28 29 0d 0a 20 20 |tion Tim|er().. |
|00002e50| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 6c 6f 63 | {.. | loc|
|00002e60| 61 6c 20 56 65 63 74 6f | 72 20 6e 65 77 6c 6f 63 |al Vecto|r newloc|
|00002e70| 3b 0d 0a 20 20 20 20 20 | 20 20 20 6c 6f 63 61 6c |;.. | local|
|00002e80| 20 69 6e 74 20 6e 65 77 | 63 61 6d 3b 0d 0a 0d 0a | int new|cam;....|
|00002e90| 20 20 20 20 20 20 20 20 | 69 66 20 28 63 75 72 63 | |if (curc|
|00002ea0| 61 6d 20 3d 3d 20 2d 32 | 20 7c 7c 20 21 4c 69 6e |am == -2| || !Lin|
|00002eb0| 65 4f 66 53 69 67 68 74 | 28 63 75 72 63 61 6d 2c |eOfSight|(curcam,|
|00002ec0| 20 70 61 77 6e 29 29 0d | 0a 20 20 20 20 20 20 20 | pawn)).|. |
|00002ed0| 20 7b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00002ee0| 2f 2f 4c 6f 67 28 22 61 | 74 74 72 61 63 74 3a 20 |//Log("a|ttract: |
|00002ef0| 73 77 69 74 63 68 20 63 | 61 6d 65 72 61 22 29 3b |switch c|amera");|
|00002f00| 0d 0a 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |.... | |
|00002f10| 63 61 6d 74 69 6d 65 20 | 3d 20 30 3b 0d 0a 0d 0a |camtime |= 0;....|
|00002f20| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00002f30| 46 69 6e 64 46 69 78 65 | 64 43 61 6d 28 70 61 77 |FindFixe|dCam(paw|
|00002f40| 6e 2c 20 6e 65 77 63 61 | 6d 29 29 0d 0a 20 20 20 |n, newca|m)).. |
|00002f50| 20 20 20 20 20 20 20 20 | 20 7b 0d 0a 20 20 20 20 | | {.. |
|00002f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00002f70| 63 75 72 63 61 6d 20 21 | 3d 20 6e 65 77 63 61 6d |curcam !|= newcam|
|00002f80| 29 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |).. | |
|00002f90| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00002fa0| 20 20 20 20 20 20 20 20 | 20 20 66 6f 63 75 73 70 | | focusp|
|00002fb0| 6f 69 6e 74 20 3d 20 70 | 61 77 6e 2e 4c 6f 63 61 |oint = p|awn.Loca|
|00002fc0| 74 69 6f 6e 3b 0d 0a 20 | 20 20 20 20 20 20 20 20 |tion;.. | |
|00002fd0| 20 20 20 20 20 20 20 20 | 20 20 20 63 75 72 63 61 | | curca|
|00002fe0| 6d 20 3d 20 6e 65 77 63 | 61 6d 3b 0d 0a 20 20 20 |m = newc|am;.. |
|00002ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003000| 20 53 65 74 4c 6f 63 61 | 74 69 6f 6e 28 63 61 6d | SetLoca|tion(cam|
|00003010| 6c 69 73 74 5b 63 75 72 | 63 61 6d 5d 2e 6c 6f 63 |list[cur|cam].loc|
|00003020| 61 74 69 6f 6e 29 3b 0d | 0a 20 20 20 20 20 20 20 |ation);.|. |
|00003030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 46 6f 76 | | Fov|
|00003040| 41 6e 67 6c 65 20 3d 20 | 63 61 6d 6c 69 73 74 5b |Angle = |camlist[|
|00003050| 63 75 72 63 61 6d 5d 2e | 56 69 65 77 41 6e 67 6c |curcam].|ViewAngl|
|00003060| 65 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |e;.. | |
|00003070| 20 20 20 20 20 20 20 20 | 2f 2f 4c 6f 67 28 22 61 | |//Log("a|
|00003080| 74 74 72 61 63 74 3a 20 | 76 69 65 77 69 6e 67 20 |ttract: |viewing |
|00003090| 66 72 6f 6d 20 22 24 63 | 61 6d 6c 69 73 74 5b 63 |from "$c|amlist[c|
|000030a0| 75 72 63 61 6d 5d 29 3b | 0d 0a 20 20 20 20 20 20 |urcam]);|.. |
|000030b0| 20 20 20 20 20 20 20 20 | 20 20 7d 0d 0a 20 20 20 | | }.. |
|000030c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 65 6c 73 | | els|
|000030d0| 65 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e.. | |
|000030e0| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|000030f0| 20 20 20 20 20 20 20 20 | 20 20 2f 2f 4c 6f 67 28 | | //Log(|
|00003100| 22 61 74 74 72 61 63 74 | 3a 20 7a 6f 69 6e 6b 73 |"attract|: zoinks|
|00003110| 21 20 74 68 69 73 20 73 | 68 6f 75 6c 64 6e 27 74 |! this s|houldn't|
|00003120| 20 68 61 70 70 65 6e 22 | 29 3b 0d 0a 20 20 20 20 | happen"|);.. |
|00003130| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0d 0a 20 | | }.. |
|00003140| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0d 0a 20 20 | | }.. |
|00003150| 20 20 20 20 20 20 20 20 | 20 20 65 6c 73 65 0d 0a | | else..|
|00003160| 20 20 20 20 20 20 20 20 | 20 20 20 20 7b 0d 0a 20 | | {.. |
|00003170| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6e | | n|
|00003180| 65 77 6c 6f 63 20 3d 20 | 46 69 6e 64 46 6c 6f 61 |ewloc = |FindFloa|
|00003190| 74 69 6e 67 43 61 6d 28 | 70 61 77 6e 29 3b 0d 0a |tingCam(|pawn);..|
|000031a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000031b0| 53 65 74 4c 6f 63 61 74 | 69 6f 6e 28 6e 65 77 6c |SetLocat|ion(newl|
|000031c0| 6f 63 29 3b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |oc);.. | |
|000031d0| 20 20 20 20 20 20 63 75 | 72 63 61 6d 20 3d 20 2d | cu|rcam = -|
|000031e0| 31 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |1;.. | |
|000031f0| 20 20 20 20 46 6f 76 41 | 6e 67 6c 65 20 3d 20 64 | FovA|ngle = d|
|00003200| 65 66 61 75 6c 74 2e 46 | 6f 76 41 6e 67 6c 65 3b |efault.F|ovAngle;|
|00003210| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00003220| 20 20 66 6f 63 75 73 70 | 6f 69 6e 74 20 3d 20 70 | focusp|oint = p|
|00003230| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 3b 0d 0a 20 |awn.Loca|tion;.. |
|00003240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2f | | /|
|00003250| 2f 4c 6f 67 28 22 61 74 | 74 72 61 63 74 3a 20 66 |/Log("at|tract: f|
|00003260| 6c 6f 61 74 69 6e 67 22 | 29 3b 0d 0a 20 20 20 20 |loating"|);.. |
|00003270| 20 20 20 20 20 20 20 20 | 7d 0d 0a 0d 0a 20 20 20 | |}.... |
|00003280| 20 20 20 20 20 20 20 20 | 20 43 61 6d 65 72 61 53 | | CameraS|
|00003290| 77 69 76 65 6c 20 3d 20 | 43 61 6d 65 72 61 54 72 |wivel = |CameraTr|
|000032a0| 61 63 6b 28 70 61 77 6e | 2c 20 30 29 3b 0d 0a 20 |ack(pawn|, 0);.. |
|000032b0| 20 20 20 20 20 20 20 7d | 0d 0a 20 20 20 20 7d 0d | }|.. }.|
|000032c0| 0a 0d 0a 20 20 20 20 65 | 78 65 63 20 66 75 6e 63 |... e|xec func|
|000032d0| 74 69 6f 6e 20 54 6f 67 | 67 6c 65 50 6c 61 79 65 |tion Tog|glePlaye|
|000032e0| 72 41 74 74 72 61 63 74 | 28 29 0d 0a 20 20 20 20 |rAttract|().. |
|000032f0| 7b 0d 0a 20 20 20 20 20 | 20 20 20 47 6f 74 6f 53 |{.. | GotoS|
|00003300| 74 61 74 65 28 27 50 6c | 61 79 65 72 57 61 6c 6b |tate('Pl|ayerWalk|
|00003310| 69 6e 67 27 29 3b 0d 0a | 20 20 20 20 7d 0d 0a 7d |ing');..| }..}|
|00003320| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 46 69 6c |....func|tion Fil|
|00003330| 6c 43 61 6d 65 72 61 4c | 69 73 74 28 29 0d 0a 7b |lCameraL|ist()..{|
|00003340| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 41 74 74 72 |.. lo|cal Attr|
|00003350| 61 63 74 43 61 6d 65 72 | 61 20 63 61 6d 3b 0d 0a |actCamer|a cam;..|
|00003360| 20 20 20 20 6e 75 6d 63 | 61 6d 73 20 3d 20 30 3b | numc|ams = 0;|
|00003370| 0d 0a 20 20 20 20 66 6f | 72 65 61 63 68 20 41 6c |.. fo|reach Al|
|00003380| 6c 41 63 74 6f 72 73 28 | 63 6c 61 73 73 27 41 74 |lActors(|class'At|
|00003390| 74 72 61 63 74 43 61 6d | 65 72 61 27 2c 20 63 61 |tractCam|era', ca|
|000033a0| 6d 29 0d 0a 20 20 20 20 | 7b 0d 0a 20 20 20 20 20 |m).. |{.. |
|000033b0| 20 20 20 63 61 6d 6c 69 | 73 74 5b 6e 75 6d 63 61 | camli|st[numca|
|000033c0| 6d 73 2b 2b 5d 20 3d 20 | 63 61 6d 3b 0d 0a 20 20 |ms++] = |cam;.. |
|000033d0| 20 20 20 20 20 20 69 66 | 20 28 6e 75 6d 63 61 6d | if| (numcam|
|000033e0| 73 20 3d 3d 20 32 30 29 | 20 62 72 65 61 6b 3b 0d |s == 20)| break;.|
|000033f0| 0a 20 20 20 20 7d 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |. }..|}....fun|
|00003400| 63 74 69 6f 6e 20 62 6f | 6f 6c 20 46 69 6e 64 46 |ction bo|ol FindF|
|00003410| 69 78 65 64 43 61 6d 28 | 50 61 77 6e 20 74 61 72 |ixedCam(|Pawn tar|
|00003420| 67 65 74 2c 20 6f 75 74 | 20 69 6e 74 20 6e 65 77 |get, out| int new|
|00003430| 63 61 6d 29 0d 0a 7b 0d | 0a 20 20 20 20 6c 6f 63 |cam)..{.|. loc|
|00003440| 61 6c 20 69 6e 74 20 63 | 2c 20 62 65 73 74 63 3b |al int c|, bestc;|
|00003450| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 66 6c 6f 61 |.. lo|cal floa|
|00003460| 74 20 64 69 73 74 2c 20 | 62 65 73 74 64 69 73 74 |t dist, |bestdist|
|00003470| 3b 0d 0a 0d 0a 20 20 20 | 20 62 65 73 74 63 20 3d |;.... | bestc =|
|00003480| 20 2d 31 3b 0d 0a 0d 0a | 20 20 20 20 66 6f 72 20 | -1;....| for |
|00003490| 28 63 20 3d 20 30 3b 20 | 63 20 3c 20 6e 75 6d 63 |(c = 0; |c < numc|
|000034a0| 61 6d 73 3b 20 63 2b 2b | 29 0d 0a 20 20 20 20 7b |ams; c++|).. {|
|000034b0| 0d 0a 20 20 20 20 20 20 | 20 20 64 69 73 74 20 3d |.. | dist =|
|000034c0| 20 56 53 69 7a 65 28 74 | 61 72 67 65 74 2e 6c 6f | VSize(t|arget.lo|
|000034d0| 63 61 74 69 6f 6e 20 2d | 20 63 61 6d 6c 69 73 74 |cation -| camlist|
|000034e0| 5b 63 5d 2e 6c 6f 63 61 | 74 69 6f 6e 29 3b 0d 0a |[c].loca|tion);..|
|000034f0| 0d 0a 20 20 20 20 20 20 | 20 20 69 66 20 28 28 62 |.. | if ((b|
|00003500| 65 73 74 63 20 3d 3d 20 | 2d 31 20 7c 7c 20 64 69 |estc == |-1 || di|
|00003510| 73 74 20 3c 20 62 65 73 | 74 64 69 73 74 29 20 26 |st < bes|tdist) &|
|00003520| 26 20 4c 69 6e 65 4f 66 | 53 69 67 68 74 28 63 2c |& LineOf|Sight(c,|
|00003530| 20 74 61 72 67 65 74 29 | 29 0d 0a 20 20 20 20 20 | target)|).. |
|00003540| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00003550| 20 20 62 65 73 74 63 20 | 3d 20 63 3b 0d 0a 20 20 | bestc |= c;.. |
|00003560| 20 20 20 20 20 20 20 20 | 20 20 62 65 73 74 64 69 | | bestdi|
|00003570| 73 74 20 3d 20 64 69 73 | 74 3b 0d 0a 20 20 20 20 |st = dis|t;.. |
|00003580| 20 20 20 20 7d 0d 0a 20 | 20 20 20 7d 0d 0a 0d 0a | }.. | }....|
|00003590| 20 20 20 20 69 66 20 28 | 62 65 73 74 63 20 3d 3d | if (|bestc ==|
|000035a0| 20 2d 31 29 20 72 65 74 | 75 72 6e 20 66 61 6c 73 | -1) ret|urn fals|
|000035b0| 65 3b 0d 0a 0d 0a 20 20 | 20 20 6e 65 77 63 61 6d |e;.... | newcam|
|000035c0| 20 3d 20 62 65 73 74 63 | 3b 0d 0a 20 20 20 20 72 | = bestc|;.. r|
|000035d0| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 7d 0d 0a |eturn tr|ue;..}..|
|000035e0| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 56 65 63 74 6f |..functi|on Vecto|
|000035f0| 72 20 46 69 6e 64 46 6c | 6f 61 74 69 6e 67 43 61 |r FindFl|oatingCa|
|00003600| 6d 28 50 61 77 6e 20 74 | 61 72 67 65 74 29 0d 0a |m(Pawn t|arget)..|
|00003610| 7b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 56 65 63 |{.. l|ocal Vec|
|00003620| 74 6f 72 20 76 31 2c 20 | 76 32 2c 20 64 3b 0d 0a |tor v1, |v2, d;..|
|00003630| 20 20 20 20 6c 6f 63 61 | 6c 20 52 6f 74 61 74 6f | loca|l Rotato|
|00003640| 72 20 72 3b 0d 0a 20 20 | 20 20 6c 6f 63 61 6c 20 |r r;.. | local |
|00003650| 56 65 63 74 6f 72 20 68 | 69 74 6c 6f 63 2c 20 68 |Vector h|itloc, h|
|00003660| 69 74 6e 6f 72 6d 61 6c | 3b 0d 0a 20 20 20 20 6c |itnormal|;.. l|
|00003670| 6f 63 61 6c 20 41 63 74 | 6f 72 20 68 69 74 61 63 |ocal Act|or hitac|
|00003680| 74 6f 72 3b 0d 0a 20 20 | 20 20 6c 6f 63 61 6c 20 |tor;.. | local |
|00003690| 69 6e 74 20 74 72 69 65 | 73 3b 0d 0a 0d 0a 20 20 |int trie|s;.... |
|000036a0| 20 20 77 68 69 6c 65 20 | 28 74 72 69 65 73 2b 2b | while |(tries++|
|000036b0| 20 3c 20 31 30 29 0d 0a | 20 20 20 20 7b 0d 0a 20 | < 10)..| {.. |
|000036c0| 20 20 20 20 20 20 20 76 | 31 20 3d 20 74 61 72 67 | v|1 = targ|
|000036d0| 65 74 2e 4c 6f 63 61 74 | 69 6f 6e 3b 0d 0a 20 20 |et.Locat|ion;.. |
|000036e0| 20 20 20 20 20 20 72 20 | 3d 20 74 61 72 67 65 74 | r |= target|
|000036f0| 2e 52 6f 74 61 74 69 6f | 6e 3b 0d 0a 20 20 20 20 |.Rotatio|n;.. |
|00003700| 20 20 20 20 72 2e 50 69 | 74 63 68 20 3d 20 46 52 | r.Pi|tch = FR|
|00003710| 61 6e 64 28 29 2a 31 32 | 30 30 30 20 2d 20 32 30 |and()*12|000 - 20|
|00003720| 30 30 3b 0d 0a 20 20 20 | 20 20 20 20 20 69 66 20 |00;.. | if |
|00003730| 28 56 53 69 7a 65 28 74 | 61 72 67 65 74 2e 56 65 |(VSize(t|arget.Ve|
|00003740| 6c 6f 63 69 74 79 29 20 | 3c 20 31 30 30 29 0d 0a |locity) |< 100)..|
|00003750| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 2e 59 61 | | r.Ya|
|00003760| 77 20 2b 3d 20 46 52 61 | 6e 64 28 29 2a 32 34 30 |w += FRa|nd()*240|
|00003770| 30 30 3b 0d 0a 20 20 20 | 20 20 20 20 20 65 6c 73 |00;.. | els|
|00003780| 65 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 72 |e.. | r|
|00003790| 2e 59 61 77 20 2b 3d 20 | 46 52 61 6e 64 28 29 2a |.Yaw += |FRand()*|
|000037a0| 31 32 30 30 30 3b 0d 0a | 20 20 20 20 20 20 20 20 |12000;..| |
|000037b0| 64 20 3d 20 56 65 63 74 | 6f 72 28 72 29 3b 0d 0a |d = Vect|or(r);..|
|000037c0| 20 20 20 20 20 20 20 20 | 76 32 20 3d 20 76 31 20 | |v2 = v1 |
|000037d0| 2b 20 64 2a 32 30 30 30 | 3b 0d 0a 20 20 20 20 20 |+ d*2000|;.. |
|000037e0| 20 20 20 76 31 20 2b 3d | 20 64 2a 35 30 3b 0d 0a | v1 +=| d*50;..|
|000037f0| 0d 0a 20 20 20 20 20 20 | 20 20 68 69 74 61 63 74 |.. | hitact|
|00003800| 6f 72 20 3d 20 54 72 61 | 63 65 28 68 69 74 6c 6f |or = Tra|ce(hitlo|
|00003810| 63 2c 20 68 69 74 6e 6f | 72 6d 61 6c 2c 20 76 32 |c, hitno|rmal, v2|
|00003820| 2c 20 76 31 2c 20 66 61 | 6c 73 65 29 3b 0d 0a 0d |, v1, fa|lse);...|
|00003830| 0a 20 20 20 20 20 20 20 | 20 69 66 20 28 68 69 74 |. | if (hit|
|00003840| 61 63 74 6f 72 20 21 3d | 20 4e 6f 6e 65 20 26 26 |actor !=| None &&|
|00003850| 20 56 53 69 7a 65 28 68 | 69 74 6c 6f 63 20 2d 20 | VSize(h|itloc - |
|00003860| 76 31 29 20 3e 20 32 35 | 30 29 0d 0a 20 20 20 20 |v1) > 25|0).. |
|00003870| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00003880| 20 20 20 72 65 74 75 72 | 6e 20 28 68 69 74 6c 6f | retur|n (hitlo|
|00003890| 63 20 2d 20 64 2a 35 30 | 29 3b 0d 0a 20 20 20 20 |c - d*50|);.. |
|000038a0| 20 20 20 20 7d 0d 0a 20 | 20 20 20 7d 0d 0a 20 20 | }.. | }.. |
|000038b0| 20 20 2f 2f 20 6e 6f 20 | 67 6f 6f 64 20 73 70 6f | // no |good spo|
|000038c0| 74 73 20 66 6f 75 6e 64 | 2c 20 72 65 74 75 72 6e |ts found|, return|
|000038d0| 20 73 6f 6d 65 74 68 69 | 6e 67 20 72 65 61 73 6f | somethi|ng reaso|
|000038e0| 6e 61 62 6c 65 0d 0a 20 | 20 20 20 69 66 20 28 68 |nable.. | if (h|
|000038f0| 69 74 61 63 74 6f 72 20 | 21 3d 20 4e 6f 6e 65 29 |itactor |!= None)|
|00003900| 0d 0a 20 20 20 20 20 20 | 20 20 72 65 74 75 72 6e |.. | return|
|00003910| 20 28 68 69 74 6c 6f 63 | 20 2d 20 64 2a 35 30 29 | (hitloc| - d*50)|
|00003920| 3b 0d 0a 20 20 20 20 65 | 6c 73 65 0d 0a 20 20 20 |;.. e|lse.. |
|00003930| 20 20 20 20 20 72 65 74 | 75 72 6e 20 76 32 3b 0d | ret|urn v2;.|
|00003940| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 50 |.}....fu|nction P|
|00003950| 61 77 6e 20 50 69 63 6b | 4e 65 78 74 42 6f 74 28 |awn Pick|NextBot(|
|00003960| 50 61 77 6e 20 63 75 72 | 72 65 6e 74 29 0d 0a 7b |Pawn cur|rent)..{|
|00003970| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 43 6f 6e 74 |.. lo|cal Cont|
|00003980| 72 6f 6c 6c 65 72 20 63 | 6f 6e 3b 0d 0a 20 20 20 |roller c|on;.. |
|00003990| 20 6c 6f 63 61 6c 20 69 | 6e 74 20 62 3b 0d 0a 0d | local i|nt b;...|
|000039a0| 0a 20 20 20 20 69 66 20 | 28 63 75 72 72 65 6e 74 |. if |(current|
|000039b0| 20 21 3d 20 4e 6f 6e 65 | 29 20 63 6f 6e 20 3d 20 | != None|) con = |
|000039c0| 63 75 72 72 65 6e 74 2e | 43 6f 6e 74 72 6f 6c 6c |current.|Controll|
|000039d0| 65 72 3b 0d 0a 20 20 20 | 20 66 6f 72 20 28 62 3d |er;.. | for (b=|
|000039e0| 30 3b 20 62 3c 4c 65 76 | 65 6c 2e 47 61 6d 65 2e |0; b<Lev|el.Game.|
|000039f0| 4e 75 6d 42 6f 74 73 3b | 20 62 2b 2b 29 0d 0a 20 |NumBots;| b++).. |
|00003a00| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 69 66 | {.. | if|
|00003a10| 20 28 63 6f 6e 20 21 3d | 20 4e 6f 6e 65 29 20 63 | (con !=| None) c|
|00003a20| 6f 6e 20 3d 20 63 6f 6e | 2e 4e 65 78 74 43 6f 6e |on = con|.NextCon|
|00003a30| 74 72 6f 6c 6c 65 72 3b | 0d 0a 20 20 20 20 20 20 |troller;|.. |
|00003a40| 20 20 69 66 20 28 63 6f | 6e 20 3d 3d 20 4e 6f 6e | if (co|n == Non|
|00003a50| 65 29 20 63 6f 6e 20 3d | 20 4c 65 76 65 6c 2e 43 |e) con =| Level.C|
|00003a60| 6f 6e 74 72 6f 6c 6c 65 | 72 4c 69 73 74 3b 0d 0a |ontrolle|rList;..|
|00003a70| 20 20 20 20 20 20 20 20 | 69 66 20 28 63 6f 6e 2e | |if (con.|
|00003a80| 49 73 41 28 27 42 6f 74 | 27 29 20 26 26 20 63 6f |IsA('Bot|') && co|
|00003a90| 6e 2e 50 61 77 6e 20 21 | 3d 20 4e 6f 6e 65 20 26 |n.Pawn !|= None &|
|00003aa0| 26 20 21 63 6f 6e 2e 49 | 73 49 6e 53 74 61 74 65 |& !con.I|sInState|
|00003ab0| 28 27 50 6c 61 79 65 72 | 57 61 69 74 69 6e 67 27 |('Player|Waiting'|
|00003ac0| 29 29 0d 0a 20 20 20 20 | 20 20 20 20 7b 0d 0a 20 |)).. | {.. |
|00003ad0| 20 20 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 | | retur|
|00003ae0| 6e 20 63 6f 6e 2e 50 61 | 77 6e 3b 0d 0a 20 20 20 |n con.Pa|wn;.. |
|00003af0| 20 20 20 20 20 7d 0d 0a | 20 20 20 20 7d 0d 0a 20 | }..| }.. |
|00003b00| 20 20 20 72 65 74 75 72 | 6e 20 4e 6f 6e 65 3b 0d | retur|n None;.|
|00003b10| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 62 |.}....fu|nction b|
|00003b20| 6f 6f 6c 20 4c 69 6e 65 | 4f 66 53 69 67 68 74 28 |ool Line|OfSight(|
|00003b30| 69 6e 74 20 63 2c 20 50 | 61 77 6e 20 74 61 72 67 |int c, P|awn targ|
|00003b40| 65 74 29 0d 0a 7b 0d 0a | 20 20 20 20 6c 6f 63 61 |et)..{..| loca|
|00003b50| 6c 20 76 65 63 74 6f 72 | 20 76 31 2c 20 76 32 3b |l vector| v1, v2;|
|00003b60| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 41 74 74 72 |.. lo|cal Attr|
|00003b70| 61 63 74 43 61 6d 65 72 | 61 20 63 61 6d 3b 0d 0a |actCamer|a cam;..|
|00003b80| 20 20 20 20 6c 6f 63 61 | 6c 20 56 65 63 74 6f 72 | loca|l Vector|
|00003b90| 20 68 69 74 6c 6f 63 2c | 20 68 69 74 6e 6f 72 6d | hitloc,| hitnorm|
|00003ba0| 61 6c 3b 0d 0a 0d 0a 20 | 20 20 20 69 66 20 28 63 |al;.... | if (c|
|00003bb0| 20 3e 3d 20 30 29 20 7b | 0d 0a 20 20 20 20 20 20 | >= 0) {|.. |
|00003bc0| 20 20 63 61 6d 20 3d 20 | 63 61 6d 6c 69 73 74 5b | cam = |camlist[|
|00003bd0| 63 5d 3b 0d 0a 20 20 20 | 20 20 20 20 20 76 31 20 |c];.. | v1 |
|00003be0| 3d 20 63 61 6d 2e 6c 6f | 63 61 74 69 6f 6e 3b 0d |= cam.lo|cation;.|
|00003bf0| 0a 20 20 20 20 7d 20 65 | 6c 73 65 20 7b 0d 0a 20 |. } e|lse {.. |
|00003c00| 20 20 20 20 20 20 20 76 | 31 20 3d 20 73 65 6c 66 | v|1 = self|
|00003c10| 2e 6c 6f 63 61 74 69 6f | 6e 3b 0d 0a 20 20 20 20 |.locatio|n;.. |
|00003c20| 7d 0d 0a 20 20 20 20 76 | 32 20 3d 20 74 61 72 67 |}.. v|2 = targ|
|00003c30| 65 74 2e 6c 6f 63 61 74 | 69 6f 6e 3b 0d 0a 20 20 |et.locat|ion;.. |
|00003c40| 20 20 76 32 2e 7a 20 2b | 3d 20 74 61 72 67 65 74 | v2.z +|= target|
|00003c50| 2e 65 79 65 68 65 69 67 | 68 74 3b 0d 0a 20 20 20 |.eyeheig|ht;.. |
|00003c60| 20 76 32 20 2b 3d 20 4e | 6f 72 6d 61 6c 28 76 31 | v2 += N|ormal(v1|
|00003c70| 20 2d 20 76 32 29 20 2a | 20 31 30 30 3b 0d 0a 20 | - v2) *| 100;.. |
|00003c80| 20 20 20 72 65 74 75 72 | 6e 20 28 54 72 61 63 65 | retur|n (Trace|
|00003c90| 28 68 69 74 6c 6f 63 2c | 20 68 69 74 6e 6f 72 6d |(hitloc,| hitnorm|
|00003ca0| 61 6c 2c 20 76 31 2c 20 | 76 32 2c 20 66 61 6c 73 |al, v1, |v2, fals|
|00003cb0| 65 29 20 3d 3d 20 4e 6f | 6e 65 29 3b 0d 0a 7d 0d |e) == No|ne);..}.|
|00003cc0| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 52 6f 74 61 |...funct|ion Rota|
|00003cd0| 74 6f 72 20 43 61 6d 65 | 72 61 54 72 61 63 6b 28 |tor Came|raTrack(|
|00003ce0| 50 61 77 6e 20 74 61 72 | 67 65 74 2c 20 66 6c 6f |Pawn tar|get, flo|
|00003cf0| 61 74 20 44 65 6c 74 61 | 54 69 6d 65 29 0d 0a 7b |at Delta|Time)..{|
|00003d00| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 66 6c 6f 61 |.. lo|cal floa|
|00003d10| 74 20 64 69 73 74 3b 0d | 0a 20 20 20 20 6c 6f 63 |t dist;.|. loc|
|00003d20| 61 6c 20 56 65 63 74 6f | 72 20 6c 65 61 64 3b 0d |al Vecto|r lead;.|
|00003d30| 0a 20 20 20 20 6c 6f 63 | 61 6c 20 66 6c 6f 61 74 |. loc|al float|
|00003d40| 20 6d 69 6e 7a 6f 6f 6d | 64 69 73 74 2c 20 6d 61 | minzoom|dist, ma|
|00003d50| 78 7a 6f 6f 6d 64 69 73 | 74 2c 20 76 69 65 77 61 |xzoomdis|t, viewa|
|00003d60| 6e 67 6c 65 2c 20 76 69 | 65 77 77 69 64 74 68 3b |ngle, vi|ewwidth;|
|00003d70| 0d 0a 0d 0a 20 20 20 20 | 2f 2f 20 75 70 64 61 74 |.... |// updat|
|00003d80| 65 20 66 6f 63 75 73 70 | 6f 69 6e 74 0d 0a 20 20 |e focusp|oint.. |
|00003d90| 20 20 6c 65 61 64 20 3d | 20 74 61 72 67 65 74 2e | lead =| target.|
|00003da0| 6c 6f 63 61 74 69 6f 6e | 20 2b 20 56 65 63 74 28 |location| + Vect(|
|00003db0| 30 2c 30 2c 32 29 20 2a | 20 54 61 72 67 65 74 2e |0,0,2) *| Target.|
|00003dc0| 43 6f 6c 6c 69 73 69 6f | 6e 48 65 69 67 68 74 3b |Collisio|nHeight;|
|00003dd0| 20 2f 2f 20 2b 20 74 61 | 72 67 65 74 2e 56 65 6c | // + ta|rget.Vel|
|00003de0| 6f 63 69 74 79 2a 30 2e | 35 3b 0d 0a 20 20 20 20 |ocity*0.|5;.. |
|00003df0| 64 69 73 74 20 3d 20 56 | 53 69 7a 65 28 6c 65 61 |dist = V|Size(lea|
|00003e00| 64 20 2d 20 66 6f 63 75 | 73 70 6f 69 6e 74 29 3b |d - focu|spoint);|
|00003e10| 0d 0a 20 20 20 20 69 66 | 20 28 64 69 73 74 20 3e |.. if| (dist >|
|00003e20| 20 32 30 29 0d 0a 20 20 | 20 20 7b 0d 0a 20 20 20 | 20).. | {.. |
|00003e30| 20 20 20 20 20 66 6f 63 | 75 73 70 6f 69 6e 74 20 | foc|uspoint |
|00003e40| 2b 3d 20 4e 6f 72 6d 61 | 6c 28 6c 65 61 64 20 2d |+= Norma|l(lead -|
|00003e50| 20 66 6f 63 75 73 70 6f | 69 6e 74 29 20 2a 20 64 | focuspo|int) * d|
|00003e60| 69 73 74 20 2a 20 44 65 | 6c 74 61 54 69 6d 65 20 |ist * De|ltaTime |
|00003e70| 2a 20 32 2e 30 3b 0d 0a | 20 20 20 20 7d 0d 0a 0d |* 2.0;..| }...|
|00003e80| 0a 20 20 20 20 2f 2f 20 | 61 64 6a 75 73 74 20 7a |. // |adjust z|
|00003e90| 6f 6f 6d 20 77 69 74 68 | 69 6e 20 62 6f 75 6e 64 |oom with|in bound|
|00003ea0| 73 20 28 46 6f 76 41 6e | 67 6c 65 20 33 30 2d 31 |s (FovAn|gle 30-1|
|00003eb0| 30 30 29 0d 0a 20 20 20 | 20 69 66 20 28 61 75 74 |00).. | if (aut|
|00003ec0| 6f 7a 6f 6f 6d 29 0d 0a | 20 20 20 20 7b 0d 0a 20 |ozoom)..| {.. |
|00003ed0| 20 20 20 20 20 20 20 64 | 69 73 74 20 3d 20 56 53 | d|ist = VS|
|00003ee0| 69 7a 65 28 4c 6f 63 61 | 74 69 6f 6e 20 2d 20 74 |ize(Loca|tion - t|
|00003ef0| 61 72 67 65 74 2e 4c 6f | 63 61 74 69 6f 6e 29 3b |arget.Lo|cation);|
|00003f00| 0d 0a 0d 0a 20 20 20 20 | 20 20 20 20 69 66 20 28 |.... | if (|
|00003f10| 63 75 72 63 61 6d 20 3e | 3d 20 30 29 0d 0a 20 20 |curcam >|= 0).. |
|00003f20| 20 20 20 20 20 20 7b 0d | 0a 20 20 20 20 20 20 20 | {.|. |
|00003f30| 20 20 20 20 20 6d 69 6e | 7a 6f 6f 6d 64 69 73 74 | min|zoomdist|
|00003f40| 20 3d 20 63 61 6d 6c 69 | 73 74 5b 63 75 72 63 61 | = camli|st[curca|
|00003f50| 6d 5d 2e 6d 69 6e 7a 6f | 6f 6d 64 69 73 74 3b 0d |m].minzo|omdist;.|
|00003f60| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 61 78 |. | max|
|00003f70| 7a 6f 6f 6d 64 69 73 74 | 20 3d 20 63 61 6d 6c 69 |zoomdist| = camli|
|00003f80| 73 74 5b 63 75 72 63 61 | 6d 5d 2e 6d 61 78 7a 6f |st[curca|m].maxzo|
|00003f90| 6f 6d 64 69 73 74 3b 0d | 0a 20 20 20 20 20 20 20 |omdist;.|. |
|00003fa0| 20 20 20 20 20 76 69 65 | 77 61 6e 67 6c 65 20 3d | vie|wangle =|
|00003fb0| 20 63 61 6d 6c 69 73 74 | 5b 63 75 72 63 61 6d 5d | camlist|[curcam]|
|00003fc0| 2e 56 69 65 77 41 6e 67 | 6c 65 3b 0d 0a 20 20 20 |.ViewAng|le;.. |
|00003fd0| 20 20 20 20 20 7d 0d 0a | 20 20 20 20 20 20 20 20 | }..| |
|00003fe0| 65 6c 73 65 0d 0a 20 20 | 20 20 20 20 20 20 7b 0d |else.. | {.|
|00003ff0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 69 6e |. | min|
|00004000| 7a 6f 6f 6d 64 69 73 74 | 20 3d 20 36 30 30 3b 0d |zoomdist| = 600;.|
|00004010| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 61 78 |. | max|
|00004020| 7a 6f 6f 6d 64 69 73 74 | 20 3d 20 31 32 30 30 3b |zoomdist| = 1200;|
|00004030| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 76 69 |.. | vi|
|00004040| 65 77 61 6e 67 6c 65 20 | 3d 20 64 65 66 61 75 6c |ewangle |= defaul|
|00004050| 74 2e 46 6f 76 41 6e 67 | 6c 65 3b 0d 0a 20 20 20 |t.FovAng|le;.. |
|00004060| 20 20 20 20 20 7d 0d 0a | 0d 0a 20 20 20 20 20 20 | }..|.. |
|00004070| 20 20 69 66 20 28 64 69 | 73 74 20 3c 20 6d 69 6e | if (di|st < min|
|00004080| 7a 6f 6f 6d 64 69 73 74 | 29 0d 0a 20 20 20 20 20 |zoomdist|).. |
|00004090| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|000040a0| 20 20 46 6f 76 41 6e 67 | 6c 65 20 3d 20 76 69 65 | FovAng|le = vie|
|000040b0| 77 61 6e 67 6c 65 3b 0d | 0a 20 20 20 20 20 20 20 |wangle;.|. |
|000040c0| 20 7d 0d 0a 20 20 20 20 | 20 20 20 20 65 6c 73 65 | }.. | else|
|000040d0| 20 69 66 20 28 64 69 73 | 74 20 3c 20 6d 61 78 7a | if (dis|t < maxz|
|000040e0| 6f 6f 6d 64 69 73 74 29 | 0d 0a 20 20 20 20 20 20 |oomdist)|.. |
|000040f0| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00004100| 20 76 69 65 77 77 69 64 | 74 68 20 3d 20 6d 69 6e | viewwid|th = min|
|00004110| 7a 6f 6f 6d 64 69 73 74 | 2a 54 61 6e 28 76 69 65 |zoomdist|*Tan(vie|
|00004120| 77 61 6e 67 6c 65 2a 50 | 49 2f 31 38 30 20 2f 20 |wangle*P|I/180 / |
|00004130| 32 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |2);.. | |
|00004140| 20 46 6f 76 41 6e 67 6c | 65 20 3d 20 41 74 61 6e | FovAngl|e = Atan|
|00004150| 28 76 69 65 77 77 69 64 | 74 68 2c 20 64 69 73 74 |(viewwid|th, dist|
|00004160| 29 20 2a 20 31 38 30 2f | 50 49 20 2a 20 32 3b 0d |) * 180/|PI * 2;.|
|00004170| 0a 20 20 20 20 20 20 20 | 20 7d 0d 0a 0d 0a 20 20 |. | }.... |
|00004180| 20 20 20 20 20 20 44 65 | 73 69 72 65 64 46 4f 56 | De|siredFOV|
|00004190| 20 3d 20 46 6f 76 41 6e | 67 6c 65 3b 0d 0a 20 20 | = FovAn|gle;.. |
|000041a0| 20 20 7d 0d 0a 0d 0a 20 | 20 20 20 72 65 74 75 72 | }.... | retur|
|000041b0| 6e 20 52 6f 74 61 74 6f | 72 28 66 6f 63 75 73 70 |n Rotato|r(focusp|
|000041c0| 6f 69 6e 74 20 2d 20 6c | 6f 63 61 74 69 6f 6e 29 |oint - l|ocation)|
|000041d0| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|000041e0| 20 50 61 77 6e 44 69 65 | 64 28 50 61 77 6e 20 50 | PawnDie|d(Pawn P|
|000041f0| 29 0d 0a 7b 0d 0a 09 69 | 66 20 28 20 50 61 77 6e |)..{...i|f ( Pawn|
|00004200| 20 21 3d 20 50 20 29 0d | 0a 09 09 72 65 74 75 72 | != P ).|...retur|
|00004210| 6e 3b 0d 0a 20 20 20 20 | 62 42 65 68 69 6e 64 76 |n;.. |bBehindv|
|00004220| 69 65 77 20 3d 20 74 72 | 75 65 3b 0d 0a 09 4c 61 |iew = tr|ue;...La|
|00004230| 73 74 4b 69 6c 6c 54 69 | 6d 65 20 3d 20 2d 35 2e |stKillTi|me = -5.|
|00004240| 30 3b 0d 0a 0d 0a 20 20 | 20 20 69 66 20 28 50 61 |0;.... | if (Pa|
|00004250| 77 6e 20 21 3d 20 4e 6f | 6e 65 29 0d 0a 20 20 20 |wn != No|ne).. |
|00004260| 20 7b 0d 0a 20 20 20 20 | 20 20 20 20 63 75 72 63 | {.. | curc|
|00004270| 61 6d 20 3d 20 2d 31 3b | 0d 0a 20 20 20 20 20 20 |am = -1;|.. |
|00004280| 20 20 53 65 74 4c 6f 63 | 61 74 69 6f 6e 28 46 69 | SetLoc|ation(Fi|
|00004290| 6e 64 46 6c 6f 61 74 69 | 6e 67 43 61 6d 28 50 61 |ndFloati|ngCam(Pa|
|000042a0| 77 6e 29 29 3b 0d 0a 20 | 20 20 20 20 20 20 20 53 |wn));.. | S|
|000042b0| 65 74 52 6f 74 61 74 69 | 6f 6e 28 43 61 6d 65 72 |etRotati|on(Camer|
|000042c0| 61 54 72 61 63 6b 28 50 | 61 77 6e 2c 20 30 29 29 |aTrack(P|awn, 0))|
|000042d0| 3b 0d 0a 20 20 20 20 7d | 0d 0a 0d 0a 20 20 20 20 |;.. }|.... |
|000042e0| 53 75 70 65 72 2e 50 61 | 77 6e 44 69 65 64 28 50 |Super.Pa|wnDied(P|
|000042f0| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|00004300| 6e 20 53 65 74 50 61 77 | 6e 43 6c 61 73 73 28 73 |n SetPaw|nClass(s|
|00004310| 74 72 69 6e 67 20 69 6e | 43 6c 61 73 73 2c 20 73 |tring in|Class, s|
|00004320| 74 72 69 6e 67 20 69 6e | 43 68 61 72 61 63 74 65 |tring in|Characte|
|00004330| 72 29 0d 0a 7b 0d 0a 20 | 20 20 20 6c 6f 63 61 6c |r)..{.. | local|
|00004340| 20 63 6c 61 73 73 3c 78 | 50 61 77 6e 3e 20 70 43 | class<x|Pawn> pC|
|00004350| 6c 61 73 73 3b 0d 0a 0d | 0a 20 20 20 20 70 43 6c |lass;...|. pCl|
|00004360| 61 73 73 20 3d 20 63 6c | 61 73 73 3c 78 50 61 77 |ass = cl|ass<xPaw|
|00004370| 6e 3e 28 44 79 6e 61 6d | 69 63 4c 6f 61 64 4f 62 |n>(Dynam|icLoadOb|
|00004380| 6a 65 63 74 28 69 6e 43 | 6c 61 73 73 2c 20 63 6c |ject(inC|lass, cl|
|00004390| 61 73 73 27 43 6c 61 73 | 73 27 29 29 3b 0d 0a 20 |ass'Clas|s'));.. |
|000043a0| 20 20 20 69 66 20 28 70 | 43 6c 61 73 73 20 21 3d | if (p|Class !=|
|000043b0| 20 4e 6f 6e 65 29 0d 0a | 20 20 20 20 20 20 20 20 | None)..| |
|000043c0| 50 61 77 6e 43 6c 61 73 | 73 20 3d 20 70 43 6c 61 |PawnClas|s = pCla|
|000043d0| 73 73 3b 0d 0a 0d 0a 20 | 20 20 20 50 61 77 6e 53 |ss;.... | PawnS|
|000043e0| 65 74 75 70 52 65 63 6f | 72 64 20 3d 20 63 6c 61 |etupReco|rd = cla|
|000043f0| 73 73 27 78 55 74 69 6c | 27 2e 73 74 61 74 69 63 |ss'xUtil|'.static|
|00004400| 2e 46 69 6e 64 50 6c 61 | 79 65 72 52 65 63 6f 72 |.FindPla|yerRecor|
|00004410| 64 28 69 6e 43 68 61 72 | 61 63 74 65 72 29 3b 0d |d(inChar|acter);.|
|00004420| 0a 20 20 20 20 50 6c 61 | 79 65 72 52 65 70 6c 69 |. Pla|yerRepli|
|00004430| 63 61 74 69 6f 6e 49 6e | 66 6f 2e 53 65 74 43 68 |cationIn|fo.SetCh|
|00004440| 61 72 61 63 74 65 72 4e | 61 6d 65 28 69 6e 43 68 |aracterN|ame(inCh|
|00004450| 61 72 61 63 74 65 72 29 | 3b 0d 0a 7d 0d 0a 0d 0a |aracter)|;..}....|
|00004460| 66 75 6e 63 74 69 6f 6e | 20 50 6f 73 73 65 73 73 |function| Possess|
|00004470| 28 20 50 61 77 6e 20 61 | 50 61 77 6e 20 29 0d 0a |( Pawn a|Pawn )..|
|00004480| 7b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 78 50 61 |{.. l|ocal xPa|
|00004490| 77 6e 20 78 70 3b 0d 0a | 0d 0a 20 20 20 20 53 75 |wn xp;..|.. Su|
|000044a0| 70 65 72 2e 50 6f 73 73 | 65 73 73 28 20 61 50 61 |per.Poss|ess( aPa|
|000044b0| 77 6e 20 29 3b 0d 0a 0d | 0a 20 20 20 20 78 70 20 |wn );...|. xp |
|000044c0| 3d 20 78 50 61 77 6e 28 | 61 50 61 77 6e 29 3b 0d |= xPawn(|aPawn);.|
|000044d0| 0a 09 69 66 28 78 70 20 | 21 3d 20 4e 6f 6e 65 29 |..if(xp |!= None)|
|000044e0| 0d 0a 09 09 78 70 2e 53 | 65 74 75 70 28 50 61 77 |....xp.S|etup(Paw|
|000044f0| 6e 53 65 74 75 70 52 65 | 63 6f 72 64 2c 20 74 72 |nSetupRe|cord, tr|
|00004500| 75 65 29 3b 0d 0a 7d 0d | 0a 0d 0a 2f 2f 20 66 6f |ue);..}.|...// fo|
|00004510| 72 20 63 68 61 6e 67 69 | 6e 67 20 63 68 61 72 61 |r changi|ng chara|
|00004520| 63 74 65 72 20 6f 6e 20 | 74 68 65 20 66 6c 79 20 |cter on |the fly |
|00004530| 28 66 6f 72 20 6e 65 78 | 74 20 72 65 73 70 61 77 |(for nex|t respaw|
|00004540| 6e 29 0d 0a 65 78 65 63 | 20 66 75 6e 63 74 69 6f |n)..exec| functio|
|00004550| 6e 20 43 68 61 6e 67 65 | 43 68 61 72 61 63 74 65 |n Change|Characte|
|00004560| 72 28 73 74 72 69 6e 67 | 20 6e 65 77 43 68 61 72 |r(string| newChar|
|00004570| 61 63 74 65 72 29 0d 0a | 7b 0d 0a 20 20 20 20 53 |acter)..|{.. S|
|00004580| 65 74 50 61 77 6e 43 6c | 61 73 73 28 73 74 72 69 |etPawnCl|ass(stri|
|00004590| 6e 67 28 50 61 77 6e 43 | 6c 61 73 73 29 2c 20 6e |ng(PawnC|lass), n|
|000045a0| 65 77 43 68 61 72 61 63 | 74 65 72 29 3b 0d 0a 09 |ewCharac|ter);...|
|000045b0| 55 70 64 61 74 65 55 52 | 4c 28 22 43 68 61 72 61 |UpdateUR|L("Chara|
|000045c0| 63 74 65 72 22 2c 20 6e | 65 77 43 68 61 72 61 63 |cter", n|ewCharac|
|000045d0| 74 65 72 2c 20 74 72 75 | 65 29 3b 0d 0a 20 20 20 |ter, tru|e);.. |
|000045e0| 20 53 61 76 65 43 6f 6e | 66 69 67 28 29 3b 0d 0a | SaveCon|fig();..|
|000045f0| 7d 0d 0a 0d 0a 73 69 6d | 75 6c 61 74 65 64 20 65 |}....sim|ulated e|
|00004600| 76 65 6e 74 20 50 6f 73 | 74 4e 65 74 52 65 63 65 |vent Pos|tNetRece|
|00004610| 69 76 65 28 29 0d 0a 7b | 0d 0a 20 20 20 20 6c 6f |ive()..{|.. lo|
|00004620| 63 61 6c 20 78 55 74 69 | 6c 2e 50 6c 61 79 65 72 |cal xUti|l.Player|
|00004630| 52 65 63 6f 72 64 20 72 | 65 63 3b 0d 0a 0d 0a 09 |Record r|ec;.....|
|00004640| 69 66 20 28 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |if (Play|erReplic|
|00004650| 61 74 69 6f 6e 49 6e 66 | 6f 20 21 3d 20 4e 6f 6e |ationInf|o != Non|
|00004660| 65 29 0d 0a 20 20 20 20 | 7b 0d 0a 20 20 20 20 20 |e).. |{.. |
|00004670| 20 20 20 72 65 63 20 3d | 20 63 6c 61 73 73 27 78 | rec =| class'x|
|00004680| 55 74 69 6c 27 2e 73 74 | 61 74 69 63 2e 46 69 6e |Util'.st|atic.Fin|
|00004690| 64 50 6c 61 79 65 72 52 | 65 63 6f 72 64 28 50 6c |dPlayerR|ecord(Pl|
|000046a0| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|000046b0| 6e 66 6f 2e 43 68 61 72 | 61 63 74 65 72 4e 61 6d |nfo.Char|acterNam|
|000046c0| 65 29 3b 0d 0a 09 09 69 | 66 20 28 20 72 65 63 2e |e);....i|f ( rec.|
|000046d0| 53 70 65 63 69 65 73 20 | 21 3d 20 4e 6f 6e 65 20 |Species |!= None |
|000046e0| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 69 66 20 28 20 |)....{..|...if ( |
|000046f0| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00004700| 6e 49 6e 66 6f 2e 54 65 | 61 6d 20 3d 3d 20 4e 6f |nInfo.Te|am == No|
|00004710| 6e 65 20 29 0d 0a 09 09 | 09 09 72 65 63 2e 53 70 |ne )....|..rec.Sp|
|00004720| 65 63 69 65 73 2e 73 74 | 61 74 69 63 2e 4c 6f 61 |ecies.st|atic.Loa|
|00004730| 64 52 65 73 6f 75 72 63 | 65 73 28 72 65 63 2c 20 |dResourc|es(rec, |
|00004740| 4c 65 76 65 6c 2c 20 50 | 6c 61 79 65 72 52 65 70 |Level, P|layerRep|
|00004750| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2c 20 32 35 |lication|Info, 25|
|00004760| 35 29 3b 0d 0a 09 09 09 | 65 6c 73 65 0d 0a 09 09 |5);.....|else....|
|00004770| 09 09 72 65 63 2e 53 70 | 65 63 69 65 73 2e 73 74 |..rec.Sp|ecies.st|
|00004780| 61 74 69 63 2e 4c 6f 61 | 64 52 65 73 6f 75 72 63 |atic.Loa|dResourc|
|00004790| 65 73 28 72 65 63 2c 20 | 4c 65 76 65 6c 2c 20 50 |es(rec, |Level, P|
|000047a0| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|000047b0| 49 6e 66 6f 2c 20 50 6c | 61 79 65 72 52 65 70 6c |Info, Pl|ayerRepl|
|000047c0| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 54 65 61 6d |icationI|nfo.Team|
|000047d0| 2e 54 65 61 6d 49 6e 64 | 65 78 29 3b 0d 0a 09 09 |.TeamInd|ex);....|
|000047e0| 7d 0d 0a 20 20 20 20 20 | 20 20 20 62 4e 65 74 4e |}.. | bNetN|
|000047f0| 6f 74 69 66 79 20 3d 20 | 66 61 6c 73 65 3b 0d 0a |otify = |false;..|
|00004800| 20 20 20 20 7d 0d 0a 7d | 0d 0a 0d 0a 73 69 6d 75 | }..}|....simu|
|00004810| 6c 61 74 65 64 20 66 75 | 6e 63 74 69 6f 6e 20 72 |lated fu|nction r|
|00004820| 6f 74 61 74 6f 72 20 47 | 65 74 41 69 6d 28 29 0d |otator G|etAim().|
|00004830| 0a 7b 0d 0a 20 20 20 20 | 69 66 20 28 62 42 65 68 |.{.. |if (bBeh|
|00004840| 69 6e 64 56 69 65 77 29 | 0d 0a 20 20 20 20 20 20 |indView)|.. |
|00004850| 20 20 72 65 74 75 72 6e | 20 50 61 77 6e 2e 52 6f | return| Pawn.Ro|
|00004860| 74 61 74 69 6f 6e 3b 0d | 0a 20 20 20 20 65 6c 73 |tation;.|. els|
|00004870| 65 0d 0a 20 20 20 20 20 | 20 20 20 72 65 74 75 72 |e.. | retur|
|00004880| 6e 20 52 6f 74 61 74 69 | 6f 6e 3b 0d 0a 7d 0d 0a |n Rotati|on;..}..|
|00004890| 0d 0a 65 78 65 63 20 66 | 75 6e 63 74 69 6f 6e 20 |..exec f|unction |
|000048a0| 41 64 6d 69 6e 4d 65 6e | 75 28 20 73 74 72 69 6e |AdminMen|u( strin|
|000048b0| 67 20 43 6f 6d 6d 61 6e | 64 4c 69 6e 65 20 29 0d |g Comman|dLine ).|
|000048c0| 0a 7b 0d 0a 09 69 66 20 | 28 4c 65 76 65 6c 2e 47 |.{...if |(Level.G|
|000048d0| 61 6d 65 2e 41 63 63 65 | 73 73 43 6f 6e 74 72 6f |ame.Acce|ssContro|
|000048e0| 6c 2e 43 61 6e 50 65 72 | 66 6f 72 6d 28 53 65 6c |l.CanPer|form(Sel|
|000048f0| 66 2c 20 22 4b 22 29 29 | 0d 0a 09 7b 0d 0a 09 09 |f, "K"))|...{....|
|00004900| 43 6c 69 65 6e 74 4f 70 | 65 6e 4d 65 6e 75 28 22 |ClientOp|enMenu("|
|00004910| 58 69 6e 74 65 72 66 61 | 63 65 2e 55 54 32 41 64 |Xinterfa|ce.UT2Ad|
|00004920| 6d 69 6e 4d 65 6e 75 22 | 2c 20 46 61 6c 73 65 2c |minMenu"|, False,|
|00004930| 20 73 74 72 69 6e 67 28 | 4c 65 76 65 6c 2e 47 61 | string(|Level.Ga|
|00004940| 6d 65 2e 41 63 63 65 73 | 73 43 6f 6e 74 72 6f 6c |me.Acces|sControl|
|00004950| 2e 49 73 41 28 27 41 63 | 63 65 73 73 43 6f 6e 74 |.IsA('Ac|cessCont|
|00004960| 72 6f 6c 49 6e 69 27 29 | 29 29 3b 0d 0a 09 7d 0d |rolIni')|));...}.|
|00004970| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 53 |.}....fu|nction S|
|00004980| 65 72 76 65 72 52 65 71 | 75 65 73 74 50 6c 61 79 |erverReq|uestPlay|
|00004990| 65 72 49 6e 66 6f 28 29 | 0d 0a 7b 0d 0a 09 6c 6f |erInfo()|..{...lo|
|000049a0| 63 61 6c 20 43 6f 6e 74 | 72 6f 6c 6c 65 72 20 43 |cal Cont|roller C|
|000049b0| 3b 0d 0a 20 20 20 20 6c | 6f 63 61 6c 20 78 50 6c |;.. l|ocal xPl|
|000049c0| 61 79 65 72 20 78 50 43 | 3b 0d 0a 0d 0a 20 20 20 |ayer xPC|;.... |
|000049d0| 20 66 6f 72 20 28 43 3d | 4c 65 76 65 6c 2e 43 6f | for (C=|Level.Co|
|000049e0| 6e 74 72 6f 6c 6c 65 72 | 4c 69 73 74 3b 43 21 3d |ntroller|List;C!=|
|000049f0| 4e 6f 6e 65 3b 43 3d 43 | 2e 4e 65 78 74 43 6f 6e |None;C=C|.NextCon|
|00004a00| 74 72 6f 6c 6c 65 72 29 | 0d 0a 20 20 20 20 7b 0d |troller)|.. {.|
|00004a10| 0a 20 20 20 20 09 78 50 | 43 20 3d 20 58 50 6c 61 |. .xP|C = XPla|
|00004a20| 79 65 72 28 43 29 3b 0d | 0a 20 20 20 20 20 20 20 |yer(C);.|. |
|00004a30| 20 69 66 20 28 78 50 43 | 21 3d 4e 6f 6e 65 29 0d | if (xPC|!=None).|
|00004a40| 0a 09 09 09 43 6c 69 65 | 6e 74 52 65 63 65 69 76 |....Clie|ntReceiv|
|00004a50| 65 52 75 6c 65 28 78 50 | 43 2e 50 6c 61 79 65 72 |eRule(xP|C.Player|
|00004a60| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 2e |Replicat|ionInfo.|
|00004a70| 50 6c 61 79 65 72 4e 61 | 6d 65 24 63 68 72 28 32 |PlayerNa|me$chr(2|
|00004a80| 37 29 24 78 50 43 2e 47 | 65 74 50 6c 61 79 65 72 |7)$xPC.G|etPlayer|
|00004a90| 49 44 48 61 73 68 28 29 | 24 63 68 72 28 32 37 29 |IDHash()|$chr(27)|
|00004aa0| 24 78 50 43 2e 47 65 74 | 50 6c 61 79 65 72 4e 65 |$xPC.Get|PlayerNe|
|00004ab0| 74 77 6f 72 6b 41 64 64 | 72 65 73 73 28 29 29 3b |tworkAdd|ress());|
|00004ac0| 0d 0a 09 09 65 6c 73 65 | 0d 0a 20 20 20 20 20 20 |....else|.. |
|00004ad0| 20 20 09 43 6c 69 65 6e | 74 52 65 63 65 69 76 65 | .Clien|tReceive|
|00004ae0| 52 75 6c 65 28 43 2e 50 | 6c 61 79 65 72 52 65 70 |Rule(C.P|layerRep|
|00004af0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 50 6c 61 |lication|Info.Pla|
|00004b00| 79 65 72 4e 61 6d 65 24 | 63 68 72 28 32 37 29 24 |yerName$|chr(27)$|
|00004b10| 22 41 49 20 43 6f 6e 74 | 72 6f 6c 6c 65 64 22 24 |"AI Cont|rolled"$|
|00004b20| 63 68 72 28 32 37 29 24 | 22 42 4f 54 22 29 3b 0d |chr(27)$|"BOT");.|
|00004b30| 0a 09 7d 0d 0a 0d 0a 09 | 43 6c 69 65 6e 74 52 65 |..}.....|ClientRe|
|00004b40| 63 65 69 76 65 52 75 6c | 65 28 22 44 6f 6e 65 22 |ceiveRul|e("Done"|
|00004b50| 29 3b 0d 0a 7d 0d 0a 0d | 0a 65 78 65 63 20 66 75 |);..}...|.exec fu|
|00004b60| 6e 63 74 69 6f 6e 20 53 | 70 65 63 56 69 65 77 47 |nction S|pecViewG|
|00004b70| 6f 61 6c 28 29 0d 0a 7b | 0d 0a 09 53 65 72 76 65 |oal()..{|...Serve|
|00004b80| 72 53 70 65 63 56 69 65 | 77 47 6f 61 6c 28 29 3b |rSpecVie|wGoal();|
|00004b90| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00004ba0| 53 65 72 76 65 72 53 70 | 65 63 56 69 65 77 47 6f |ServerSp|ecViewGo|
|00004bb0| 61 6c 28 29 0d 0a 7b 0d | 0a 20 09 6c 6f 63 61 6c |al()..{.|. .local|
|00004bc0| 20 61 63 74 6f 72 20 4e | 65 77 47 6f 61 6c 3b 0d | actor N|ewGoal;.|
|00004bd0| 0a 0d 0a 20 20 20 20 69 | 66 20 28 20 50 6c 61 79 |... i|f ( Play|
|00004be0| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00004bf0| 6f 2e 62 4f 6e 6c 79 53 | 70 65 63 74 61 74 6f 72 |o.bOnlyS|pectator|
|00004c00| 20 26 26 20 49 73 49 6e | 53 74 61 74 65 28 27 53 | && IsIn|State('S|
|00004c10| 70 65 63 74 61 74 69 6e | 67 27 29 20 29 0d 0a 20 |pectatin|g') ).. |
|00004c20| 20 20 20 7b 0d 0a 20 20 | 20 20 09 4e 65 77 47 6f | {.. | .NewGo|
|00004c30| 61 6c 20 3d 20 4c 65 76 | 65 6c 2e 47 61 6d 65 2e |al = Lev|el.Game.|
|00004c40| 46 69 6e 64 53 70 65 63 | 47 6f 61 6c 46 6f 72 28 |FindSpec|GoalFor(|
|00004c50| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00004c60| 6e 49 6e 66 6f 2c 30 29 | 3b 0d 0a 20 20 20 20 20 |nInfo,0)|;.. |
|00004c70| 20 20 20 69 66 20 28 4e | 65 77 47 6f 61 6c 21 3d | if (N|ewGoal!=|
|00004c80| 4e 6f 6e 65 29 0d 0a 20 | 20 20 20 20 20 20 20 7b |None).. | {|
|00004c90| 0d 0a 20 20 20 20 20 20 | 20 20 09 69 66 20 28 20 |.. | .if ( |
|00004ca0| 50 61 77 6e 28 4e 65 77 | 47 6f 61 6c 29 21 3d 4e |Pawn(New|Goal)!=N|
|00004cb0| 6f 6e 65 20 29 0d 0a 20 | 20 20 20 20 20 20 20 20 |one ).. | |
|00004cc0| 20 20 20 7b 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | {.. | |
|00004cd0| 20 20 20 20 20 20 53 65 | 74 56 69 65 77 54 61 72 | Se|tViewTar|
|00004ce0| 67 65 74 28 4e 65 77 47 | 6f 61 6c 29 3b 0d 0a 09 |get(NewG|oal);...|
|00004cf0| 09 09 20 20 20 20 43 6c | 69 65 6e 74 53 65 74 56 |.. Cl|ientSetV|
|00004d00| 69 65 77 54 61 72 67 65 | 74 28 4e 65 77 47 6f 61 |iewTarge|t(NewGoa|
|00004d10| 6c 29 3b 0d 0a 09 09 20 | 20 20 20 20 20 20 20 62 |l);.... | b|
|00004d20| 42 65 68 69 6e 64 56 69 | 65 77 20 3d 20 74 72 75 |BehindVi|ew = tru|
|00004d30| 65 3b 20 2f 2f 62 43 68 | 61 73 65 43 61 6d 3b 0d |e; //bCh|aseCam;.|
|00004d40| 0a 20 20 20 20 20 20 20 | 20 09 7d 0d 0a 20 20 20 |. | .}.. |
|00004d50| 20 20 20 20 20 20 20 20 | 20 65 6c 73 65 0d 0a 20 | | else.. |
|00004d60| 20 20 20 20 20 20 20 20 | 20 20 20 7b 0d 0a 20 20 | | {.. |
|00004d70| 20 20 20 20 20 20 20 20 | 20 20 09 53 65 74 56 69 | | .SetVi|
|00004d80| 65 77 54 61 72 67 65 74 | 28 4e 6f 6e 65 29 3b 0d |ewTarget|(None);.|
|00004d90| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004da0| 20 43 6c 69 65 6e 74 53 | 65 74 56 69 65 77 54 61 | ClientS|etViewTa|
|00004db0| 72 67 65 74 28 4e 6f 6e | 65 29 3b 0d 0a 20 20 20 |rget(Non|e);.. |
|00004dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 62 42 65 | | bBe|
|00004dd0| 68 69 6e 64 56 69 65 77 | 20 3d 20 66 61 6c 73 65 |hindView| = false|
|00004de0| 3b 0d 0a 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |;.... | |
|00004df0| 20 20 20 20 20 53 65 74 | 4c 6f 63 61 74 69 6f 6e | Set|Location|
|00004e00| 28 4e 65 77 47 6f 61 6c | 2e 4c 6f 63 61 74 69 6f |(NewGoal|.Locatio|
|00004e10| 6e 29 3b 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n);.. | |
|00004e20| 20 20 20 20 20 43 6c 69 | 65 6e 74 53 65 74 4c 6f | Cli|entSetLo|
|00004e30| 63 61 74 69 6f 6e 28 4e | 65 77 47 6f 61 6c 2e 4c |cation(N|ewGoal.L|
|00004e40| 6f 63 61 74 69 6f 6e 2c | 52 6f 74 61 74 69 6f 6e |ocation,|Rotation|
|00004e50| 29 3b 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |);.. | |
|00004e60| 7d 0d 0a 20 20 20 20 20 | 20 20 20 7d 0d 0a 20 20 |}.. | }.. |
|00004e70| 20 20 7d 0d 0a 7d 0d 0a | 0d 0a 00 | }..}..|... |
+--------+-------------------------+-------------------------+--------+--------+