*E@i%S##Қ}-(LH?piNoneFiregrappleAltFireFinishBegin SinGrapple OffhandFire EndState DownWeapon SetMasterIdle ProcessTouchWAVC_GrappleLauncher BeginState Destroyed MultiSkinsCore FireHookVectorOffFireAnimEndTickPullTowardDynamicEngine AltFiring NormalFire AddVelocityCheckVisibilityMesh PlayIdleAnimPawnPullTowardStaticMoverProjectileFire ShakeViewClientFireHookTimerTexture ItemNameHitWallAutoSwitchPriority bUseExtra0 AttachHookbMeshEnviroMaptimeBetweenHit grappleSpeed CGrapple SoundVolumePutDownFindInventoryTypeFlying hitdamage bBlockActors PostRenderbBlockPlayersBringUp LifeSpan bCanThrowbNetTemporary MaxSpeedAltProjectileClass DeathMessageGiveToBotpack RateSelfProjectileClassPickupMessageThirdPersonMesh DropFrom StatusIconPlayerViewScale DrawScaleLightBrightnessMass StopFiringbRotatingPickup AnimSequenceRaiseUp AmmoNameLightSaturationPlayerViewOffsetVolumeBrightness ScaleGlowbUnlit bNoSmoothPlayerViewMesh AmbientSoundAltRefireRate AIRating RefireRateIcon LightHueDamagePickupViewMeshStillspeed FireOffset ReleaseHook Location InventoryWeaponOther HitLocationClassRole TextBuffer ScriptTextbHidden VelocityWall PlayerPawnOwner bWarnTargetSoundVbCenter Rotation OldWeaponLodMeshPackage shaketimeCanvas bUseAltMode PawnOwnerStartLocationActor bPointingbChangeWeapon bHideWeapon shakevertF ProjectilebExtra1bFire bAltFireObjectIconsbRight Function TotalTime shakemagSkins DeltaTimeTournamentWeapon Transloc Trans3loc UseTransPreviousWeaponMastersin2utStateStructStructProperty Instigator FastTech GrapAmmo sinmodels2ClassPropertySinsndsTechs fastfiregrapgrappl2 Jgrappl20ObjectPropertyFloatProperty BoolProperty IntProperty BytePropertyt ReturnValueW HitNormalValueWeapons bLineOfSightbDoAttachPawn GrappleHit bManualShot bShooting bUseExtra1 GrapplePull GrappleEnd pullDesthNormal bPlaySoundbAttachedToThingthing bThingPawn_< ::$"+7O&_tttttԝXtt5~S5~Stt5~Sttttttttttt5~Stttt5~SԝXԝXԝXԝXГt5~S5~S5~S5~St0/".$755$@@a$D=$zE^$@@ Ytţ;̧;̧;t> YԝXԝX̧;̧;̧;ԝX> YԝX̧;ԝX̧;̧;̧;t> YttR~R~R~t> YԝXԝXR~R~R~ԝX> YԝXR~ԝXR~R~R~t> Ytte0Le0Le0Lt> YԝXԝXe0Le0Le0LԝX> YԝXe0LԝXe0Le0Le0Lt> YttaaaՄt> YԝXԝXaaaՂԝX> YԝXaՂԝXaaaՄt> Ytt7O&7O&7O&t> YԝXԝX7O&7O&7O&ԝX> YԝX7O&ԝX7O&7O&7O&A+P;Sb:BpA@C>Z$75[$Y$?]%k grappled %o to death.*MSD]You got a Grapple(]Grapple LauncherR:@WH$@?_EG\N`VSK$ A  @ ~RIFFvqWAVEfmt "VDdataq3HTD7 >QWѺ1mŊ.rg*>7ྞަȅ(Ԟd+H`0)0ξ#Zۻ 'ӆ"t\δ3$@xDF Pl-n F\nҵ??!% E*%V?5k(.9.gQd>-` $_(B+P*2 3$#| d8'7?G%P@[C| 9fj-^?"/O+$<@Gl:EFIO63BLOKYn\3VxSBD5>kփu>ݸxЉߕ̲8A*X@id#5Sʭ|ځlc2%80 x I)/ryh"`,k8A/d/!#'  +\8o$>B-va33!2$H./w.-+#;+" c 28<'0-@2*J}> (UkE)+NX9U;2`LOB[)gC ^"V>Z@39i2L)F5VhQB]7DcLT6PX'$= 9$8;$Z6[!ڻiHѮ-Ừȯѝm rǐ*LAn inΞ!U{ògfOӀzΕ4iH'Onkޛ`>Rf4];+:o'!*dQ(q_-ju+x: oĬ;,+89"j%05=05"|L% Bl8NO 52/GOn2Lf~4l&R_dgvR`e0\RPYSwtabHYp fP SO!k HSywCa5DlsX:359jJnwiyO(Djks>[Z@yHJBp`4Qtf7OI!((/) `/"CT0\gIFh" 8%MSExI>U*&~g+L2 M{ Ro@ :~1 7,G=? &P|`-#!Y[2e:ry ūϭu·Հ͐o',D~0j0ƾ˨OôǭϾJ=*~r%bӥ`ȉUOc5 fփ8{ y9GЁt`ę6_kԽ*1LǴmף3R eRD!CZZX׊z|I'0=#}ܻQZ:Es< -SH \'4+ 44B2|= pEF;s#n,, d/[5 IN.V=K62K QJ/='N > AJ+\^)ؕbC &ac,G*{*W8Lg)wM%x lOto.1i =R9 m)~#) 9d ?: E|d)j&B`)!E {$C" EY $37.bcԠۃLC6 kPi>;ƛNFN<@匲X֪ڧ;f̎.. msf0£]k*ЂޯZ#-(w!u%f13I# CxݣeڻݺѨUoXDV{0,Z|ΜYZfB*rC N!±ݯ WHA~ٸ߮ ;=:dYUn{ȿ|شqͶ唢UÔC!¯Ɯ= F %x64\(M'@Ҭ _WЪ,=yH+\bj͇(Lr,`3Ǟ=P V)!m( 1=7 .4#+/&%b $ox|yʸ`a1`9?1\P6 =qNEGQ$!@<\yMi/M?OR|XrFV/U z&. 8=49MV8 +vQ/_B?.A-l#3+l7,99i)\#4ASI'=fM)-z<^ n=< (akJ'46@/Rs#E}{qC"GuibF3.DC;PAWO-gH}5gUP\5%,&JW"A2)/[JRA_6D>w 34%+.( 4D*1e n!S Y]570! U+{s' -v 08. ؋{ "S"d)j5r&BH 2(A(Cj. ($ J 2SwS?Yz խ I't ~ڞTW7%\ȗQ)҄z֫,ѯ߅׸ұų=Y 4g$T i `R::51 '7/?v)E,8Dp?% E1kS)*S2l+?Z5F~/q)Y1iUrZSBY6V1YOhH._A\P>_7.$~!OBi-6x+L^!3Di_2x2:Qg4͕sSQa #ؑr͟ 6o"Ŕ̝3Ԛէؘ\/.FƳ0E>![T5Dب󮥬Cõڽ,'ẢBǨNܒ !*[|Թҧx7i:"u+KΨa &r3 P əDeՓ:Тe ˦i^ V2Z*86@;(`pTa ^XMT 6 %/9&/H5 B3&M@ =D1+vk]h@@ tz(KLQ^6-%N_?:C=AODM&m3;(#.0'!Q91I-6c!j iI#k6R! c. !sfmC- QО_'odsۻͭ>R ˽O"ٰ!9ڿ(N tr:RIj \Z& q S r=|L1@4DXE&"E0 /+O.c$DGIDo9URK$+XO%0PXtlKf@i:9n=kI0/CKh1#ViF-Z)JHP?+H.;|@S"%E(C2#luu(wܓ S^V:$&9`,h׸Pe" K  &QuДVU̳"ɿ(Wɿ=2:KVB 6 D=FY&MMTZq'-%CL@698M 97M8F H=.C V _*#Ij/.)xKQ]Q]\J(&oNd`"]N' CyQ-3(4m!q%1"(#;*29 '-/@Iܒ? _9" @[ TFp t+#KO0l+r/*8*<," (6$k8;/ !m`) 9JA49h+  ې*EҏϕCY(ܙ+՜qfZxL?{?[ 47o6)t2 ;cDy?("s\ߢ `ԧ3cͩLBmDt ag"$2x{3O>f"YO ,a9zC  a APC GYg/1^ܲ gO瓩N3iX<ŷwpsQ *؉ر&+g-m˕Z =͎JוcIY&{/F(L f- >h^|{a| ɶ g),pR' J h D+E $8+.HVeVIG5D MK X: (q3pMԦUW j!ʛ38ׁb -| o CӪ7-߫O)$|-bG]3(3W Z!sL|rx7-fX@;wU'Y5'u0#1a0 47x(Yi5 } f$:Z UN z SBBiw 95H-5 nK2+yQ ''׿b+ # h8HAҰ]"\~-ٿևA Y}in tp4 C ) =ub!b$ 8) F .= T$ TҏF#ՁȺڧّ ` fQzJ"4e9&"mOi/gr90AO1 ]v? !j G%Y0`/&!f3/1 <<@u]hI)}2S6Z@>.` a`:93O&- .C9nq; ,_B>#7 ) ~nO+=IKR%̿~T D* qvݝdS QK$I A.9ܹAr&ژ, >-!V "'ؚ ,*L"_ݽ*Gz (Q[pС2"Gڊ; y1Ͱϥm8طV%>4L('cD%H^XC# 58?}:HQTWZ2e00G^&6yS \"$P*+J-v ]*PN?'">[_IoOC) &Q122esS1t </ 19 4 ͋% UٝI_+G4P"0c3E[/I *5;M%V(^º?"C8Y@ DF 0bAgV}a],u <Lzw82 OK}f[q( &  /0UW?>08WԾJ&c *&b=4'1@*>+Dw ,S0t#m Q&\ \@S)$.ۿ",']%b`\~H:3ScC,mL&ی 5>~,U UҘ3?-e%z>h-*J޿qMhI4]Ϝ[Ý洂D оBN5гv4 bɏ` qƉ &lyėǙ kf2TQ 1T|6$H*TMTI6>"81*e:8@9\N?JNM :%X 9 Xs%1EC9T~$MTw58PWHF_\b[h&f'Zz}Jt#0%(p*} 7N%LJ}G 3a5  ;Wω%I:D6 2w- -:Sf5. K;XɸԬԌ~ɕ'[!TL^ h3P#g,ʈУןTߗW;4ѿsw¡ʬ0)3*1x*{0!5',Q9J7,6<- OI'7/2h50x0-' />4n)",&S)y w ԵByݞT ]ج&\ ϱt|Υ?C\ұ n "xٽE_˨̷%&/9b " g w{!)UR~,&y E 2 `%$g2:<[.<|*2u!` %f,('+p.Y439'["#=16+= ,+HE3#\-)C"v".@B$4u! 'nYe cv(3" nYV&p̋ʿcۦܩׂiy ;H3~r1V| u["bL )|!5 >P d1 W̻n̨Ԣl&эEC֜hM$_L1uU! T r 4l~q!)#:v- RBGw?UK!V)Af3y $ D/U' ٕa# n$!#;<k'6˷^/u,MDƚA/)3 TWx),!W/#}V@Z'j\\BD;Agy74;ׂ $$MPԺ" 0"Ät#78w$a YQ)B9$(I>rҧB +,K:kd 1CI#O3p,o+# G5-1aO ]= ՜bQ,-,rB,Xc3#73T< #)?!S%0ib5+K7yQ m!8]d >ɐ  Sz ɍׯ꺉aߦN _Mi/%Ex + )+(/"o!QHE#%M*&Q,8|( P r74034$fm .i5,+ף?j=)a _ı2#濉`? 亱Ķ׸tPڄ8<   gc#$2&!? inE -%9= /_:pT: (9O7 &1^''}PNrQep[ѝі۠ Eߘ[auY:̯<2_;\ڭ܃W$!a3lSe/3H) 3e8O9 l) +:9%Y H.ENL> )L+L/'3zPaB :|r(:D=N54|3S" q2CA-'w(PE y>=#W]+yT Aq-m8,2iݢ̖m;$R}P"wRz o{TL f*{%%!'o>b 3H!#%]!'9CH:!.%X( %qD"ZvCuWh L @ Y K|; Ϲ^h)hMغ2f y(ӂV}ҹA1B@{<." ?P ,s ]  q.99-J#T(']N'j1m)Q#*u\Q(!"00(C#|3$+n+e(> I' ` hZ lىŌCg.>V߶2©fԤGd;݄Շ$ wЊO޴Ы͝ 9 'x/f$+/M8X63,)BF-b %B SU(TN@ N#5/*.l$U#C4S3~11] $iAq:OWLf ?uMc2xf3^rOpWg{)͵vş2;-Xiɶa3_|#oӟnfpnDv~R ;+3,xK"$\޸XL$4sjo+ ^--,P'-(x/+) $>c=;#jb+.%(z(W#;!5 P  2#^ |z:W ~* -4 "&r*c6HT\TG}7=$$s P&#Z"_fޛ[\ 90@ hE18R ?q 3Dڗo(2\ {DWAm 4,D2 AC[1D sO_lbY + \ ?\`GW ;&=1>EG?,[ &$# d hg|nF5 B0Z2M"~  DMxE?q, um$. 94Oj^_|jP=N^NN $6P*@:))n J8I{Viܨ^NPTft mvM7W)72D!c  ( i 0Q3}, -"33\&->5"6TA~F]B3! Se%.*&h"L dA T =+5, b#c΂ϋ5^E,N6@&DKJ* 4=T +,!// 97/@;*[ l$$|/J-j` Gʽ"^S՛`|XFyQgKхK%;3*#  j M} 8{u q M < X]S @ P}k n )7B< X$ 0d CS`Z!.4+< G + [9BDNgiәעb2dĊm)޿Dճ ȶǔT;l]_G$[f5T!" VNCX:  60V45W0<0W:hB?-*`/74Z#I_ %+%S( w5=0V-#[ I k .Rz`"Q 4J b?;&%ZyF6 F )kycF nPx :*!.Bg =7W *pmTW|Ib'Y+y#cGb"p0m=(%шǢ%8-חKq׭s } Y Ahi .  P!"l$t!ww(2,%1>4m(z"=9'*.3M > "=J B =H Cw K(t} nAZia4VPJG . C"[(! \YJh4G?N7|#v0g@;*)61,d)  r/J 4Jr6<  :  yF]v8ՌՀұQ.SʮQCKԢQcƜCѴ\³0ũݱ؈ß݇nZQ|R5$ċŃƳ5k8BSj!!7Yq ~n.U3 ( bO q \+50>& RJcW(5.T18b<84,*0$$#$#-2_+$" .w1.5j?;459:;@AKn]bVJ0H0<8/3> EMCB/IJR8$*:"8'z"$((5@4gW  ^XH<&V2|kwߟ%W&`Gk ߝ4Ҋ:>LwՄ[ʦȓTӠ֑ڣ(AF4Un&;޺-}N}VGk':^ i!(0#2 +$(58(Dl 1,,h,jKC.5/!!&*/k*!o$'#'+384,'&" pe It=lPR*~P K #7 FL`pd1R[w RC qYpBZjn||?ސ׆&G  ='  O jG \C \*H6=72'*.\*IE! -L gr@$ (-v4H}^UeLM5w(3``̒,E5ٴUد}Oa,^\|V+84)u > v @G ~  V$=!wLd l $ =MP NTn?1z an  J ` BV+@:t $U(s,m$|7 ';/-)&$:,H%/+C-z Z 3qT47 q&&, t % - - N= ,>G#M V WK)Xw7ix۩݀u ThHlwFa'!d:$0$yj&1"/Y 0dÙ9y$ZEfkj +ͽʑ=ӂJ<{*؞YYC=4Q`k  !PqYivSDoLۆ $xchx IaS }[#  ,P*oQ(7eA|6TBL  L+"| !:'*k6@jQg v2A&I;T"]> &n:=g r--0$H IO4; ~: 0 = u + " =#-"+>W 0h 5 >l;c 6[ r c  - `&\$ Z-&  e 2xn;)qBv1'N.KRjm.LK  \7?/py'(J7"   uH \"i:'iW~?r7b747dl"+rde"z>ڻтTܧl` 0rF^ս֐M8߸:E `r 7/tF* (n~2*qK+a-Zb4f>]MD QrKm5 I3{~ Yw k 5s~kI?2^ tQ @i o 8L  ! X5jDT =Z< {  I  6 4#`   5R d E{";S!  H.geEe ! O<u5Bi+2Vt ULVN a=G ~ B ~.QE1M+jAw+njJ*,s1( 7z  , cr)Q[ _#%5<r`DAD   2XPBX(|~3sV1 9kMؿE cZp:+O1Zs:r+t^XaSi?">12mB [&sX- !VM[ DN4_ !Ig8  I{ R p  J{Zw3B lPb2Z QhI-)Yjr+j97? yy Xtf(  "  !+!r4y"{ bl )IBDN e /$Q&(z+y&K#T*q*%<L<K?Jk$R%B"nL K $o k ` <  iWA?r 7 $Ou19{ |2{  V$$(n5?X+s {p ;K57 K=[xN  /x9p:-Fdjn=O )P K.4o"N'i}-3C ߑ I>iox@]+ -*W/ I+ x_N% y.$G. : 4) )Ya<m"MOfp? (G(xg[%[0{DdB {4K [*m7 1] k.<JW & * Z  w nA{c.i)) n #p s> <AZ @lmun?zH|Z]f]6c/$\y j'<P Wr*35t3T ;$LFv: Ugvh:XJG  :4 Y{Z  ? -jl\Xy E  0- + | D{M  bS`BH^I.'`4r|j,bc:<f2[yG2:s :h^!Lr d]*EG6U:Ro-l#6$zS ~ZQ  if'  C   $|2}Tsl`( XFQ itu(P%zr=qfXOE$d.3*Bx=>$8;4:(lA2 7 (B/?:s<?Js2.n3^6v#.A<nu^8=C;!=s@n[B cYqU2,O5y|ejOnUEN}2udDb<kq8_(JfFG.>%KY8m~Br%uc^BblLh;zh+FS&iy;|n%F.as` /v_0Gu~ c34Y=xx \g{(#  NjG)6L ~!SF k <wU|aBuz2:n,sUA,f|cu7RXP7[imai=]]NNb[vqol/v*sw]^| X9l]xYFZ8pa>t+ePv#HmFJ^~/Pm_'Hx !q-'D?)46C <fGZ_kI r6a^#+B6SbwsTi<W1 HUb0g-d',ImoHC_) K}*; U<U*ISI0'O"_SEiE.AMs#u!os[VigG$JCDSM/h{wo"/QQez^Zl VTvXIKb1 ?dsY[.Gb`JFUtTg:k@TgKilfDkku)+u6PFk 8TzX W"eT^Q1 %DTaI:!MdD+SghQ5  @r{Y3+9]d<!1>$"ETdm]G1)&5>2/ !).1=:E4T>K( ;W\J).     WU(:AS3&GG?50  <H1 ==EO086:8\REC+$  *(AM{vPekYQZqD"$ 55A;W]Zq{plYYQ^R^YQmfla{kx^h\vdYOaSfGQT1*:28(  '$2>1<    0+"$% {{ji_:+L67D3>S= +--7307B7%!#-@BJNF5Dvsh^t}y !$  $"":E834C8FD=?2,8:P9?2KDQIERMKAIJ=^oZ_naOKicqbK\QWXIN:YraSZT^aY?>GEROCE;=>A:4:./*)&",!   LIST<INFOICRD 1999-02-25IENGZakISFTSound Forge 4.5 lRIFFWAVEfmt "V"Vdatawww|~~zw~yrw~znotvrxqt~|~{wefekvx~vgeji{xljgo{uidkmto[V]oylVS[ew~~qbNDGPX`w~widnnggry|lhttz~nmru~xto}}zm`hs~|zlo|ocifhxngebgy}yuwyogjvvrwsrvxvgjfhrmiq{ygfqtprnjyxkklmxwrvruwvvirvhmeeu~gHQ`Ze~hy|pdv{}ym|uzymlhmdZbht{y{y|xuqw}rq{wwt|sgclx}|{yd]opzrm^Zes{aW\qzppovlgca]`mytmlngbawyhqjih[bouw{zvrn_`y{|r`^ntsvvwysYPhvixwoswjvweswq}{i\asyvqnme[dw|}ws{ty~nlnvzl`gos~tuxl^\X[ceitvih`YVbyuqvtlwÿvlnywbVMJYt|yvj[NMSYkxv}qg^UX[Zfkk{}tigd[V^jqymeny}wrory{~~~}}|yy{{yywyui[fkZfwvr~wtd]joeesrs{mhmyeZio}|udX\RQctud]ZFG`yveXKBHUdzoXD@Lcwo]ICMZlweYZdtyzyz}qs{xjdhjqz{yvow~sehmpx}x^Z_dr~vjTISawt`TYdqyrhe_]ZY`n||}vhhfbj{~lgg`]_do{yq]eswoj_X_o|qommz|rv|xhbjjs}rhhpzqtwqy|tsadfagqtrr{lt|v{wid__jswxogmrg\U_o{tosz~|w|t_OOS[dj~mWSX`jr|V>>I[rpSDNXgwq_RE;N_k|roc\`gngo|z}{yssip~rwujhiy~{phtxvrt|ogeq|{txyoe]_jy|yqcbdcgtxssv~peghjqrrkeqzx|qstt|~wdTSZ]gtzww~tvli]Ncw|nv|yror{uoy||~{lv{|y{tw~zwwqt~vmqy}ti\l~~{{~|~~}}v{~y}}roop~}rqpo{wwnkqrgesvomxujccq~|tmgZ[syy~|}yvy|sjolk~row~{{xmljp|{y|qnkosolijrttrorw|tliq{jhqv{ww~uhev~|~ytoold\QL\s|yj`bgigdhyqhx|qVIXhvrlje`UVfr}|zm_VWalr}~omqjeb_jrwzwpc_jxwsv||{~wohb^dnyhchoprm]SYgwv[KDCPbq{|oTNVSILS_rreYSV_gecjr~wdVMOk{qw|nfonv|vyy|uwec`[_j{{~uoean}wy~vvt{{vqx~ydhy|ypw|vxzqhgeo}{|~||}woilnoy|wlep|~xwur}yzwwwz|xyyvy~xiipw|}wvrhjsvz~rryrmkm|zmhihp|{rjbahortxwt{yzvmjoz|whceky~}|tsh]Z`~ys~`krtutr^g~snxw|yt|rvreizkqywt~~~tlenvvvhbkzwttg]`vuovqoomiiurr~ytytcb^]de^S[lmy|yvoowwsywooh_fz~xr|rqyty|{xpoqot~{wvqy{qw~w|tlt|vywh`bq~yt~x|x~yz||yt_ml]Xaqrzqtqzphmpt~|slrvpooqwumphjvoqrp{}w{|~wrryom|tpty{~}wrmmrrstvtoqw~{rprtwjVOS_dda^gvzwrlms|{sid[Zhvtrmq}wu~{yossywtwt{{{slmmtynkmx~wpmwy|oqmw|tuhXamuxvvy{qgiq{~~{ompz~qw~|qkv}yyvmmv~wxyxz~|vph]^bdkmmlhhqtnjiiq{|~o]UQRU[hu{leYS]n~smjdbgmmv~tcdommrpZOJS[`gq||jddgcoqox|}zwtwy~wxshgjy~qnpoj]MGHO_t~xyyvx||wvrroqw{rjef[R]goz~yqkjnrrw{{|xvqormkgbq|oohdkt|yzrrc_jp~rkhjprrjfsxovqv|~|srq|eVVbmv|}}yq`fmqrytv{wj]grz}{tttwwvu{qlt~zvnjfchu{spqpn{~uuz~wyvmpkfontwrxy||}|xmp}}~{|xw{~}wopvuttlgmqqrkgbaltqpq}xe`kztqrv~xsrrywxzsoropuocbp~{{}}mdgmp|}zvtv{}{wsvy}zpntz~zxmgnusv~}yux}xsuwst}}srkjvwrxz}}}{|zwtpqw~zzwyu|}{~sqz~~|nijhjhegnppx|yx||rsuw}zzxtuw{|rowttwuy~}{~zspwyrlpwty}~vnjea\[dmu~|uzwsuia\\^\`fipy{|zvrwyuwz~~wphbbenzzyzyzzxmlvy~~ukggd[_mswuj_\dnpnpot}xurlgo~}}{olpsv{~{uv{u|~|yty}xunqqkmnkhjw}umnrmdgpuskhmvwvwx}xuww{~|vokr|}|{ovytlgljpwprvrqqs~}wiiyyz|{z}|{xyywuwxz}~vtwz}unjnu~|}{uw{}zsq}j_erusllzyuuz|{y~}spv{{qidfiq|zkwppxvvx}}|xsmmpv{ujhntiXVZ^gsutw{~}zyzzpnkkq{~wld]X[]_ensuzxuvz|{sg_XUYbp~ulgjruttstttxzuuqqutryyvt{}~~zzzwt{zustrw{umkihipx|}~}yvx|}ztmlov~|vrrw}}zurlegid`_chnogjns~~{vk^\[Ybktyqpuxzwpnrzyspopqqswvqnllmmlovy|{sqvywyyrpv{~~sknux{~~|xz|}}{vsqqvyxsnmopu|~}{wssuswz|{ywojiourpqruz}}|~zy~~z|{{~}{xsv}}~z{{~~z|}{yzyvusqsuv{~}}~zyz|ywtrtvwwz~|}~~wpppsssstx}}ywvrqqqqqrx~{z|~|xustvxvuw{~~||~|yvvx{}|~}z|}yrnlmtwy}}~ysw|}~}z||~{zywvtuy{yyzxx|~xvtlgfjjhmwzqq{ww{uqt{}xz{}~~}zvurmkfcfklmnoorwx|~yxzyxuustv{{xuy}|{||zy|~~~~}}}{zzzz}|xwxz{zxxxxyxuuuwz||||{~~~~~|~~|{{{|}~}|zzyy}~~~~~}zxyww{}}~~~~}|}yzyy|}|{zyzzyxxxwy{|~~~|yyyxwxwussssstvvvy|}|{{|{y{}}}}}|||zz{|{{}|{}|}|z{|}}~~~}||||~~{zywux}~~~||{wvvwx{{xwvvxxyxxxy{}~|}{y|}yvvy|{xxy{~}||~~|{|{zzyy|}|{|~}|}~}z{~}}~}}}|{|zzzz|~~~}{{}}|{z{{zzzzyyyyyzyyyy{}||zyyvuwy|}}~}zywwyyz{{{|{}~}~}}~~|zyz{{z{|~}|||~~}~||}~}}~~}|{}~|||zzzy{}|{{z}~~~~{z|}}}|{|~}~~~~~~~~~~~~~~}||{{|}~~}}~~~}}|~~~~|}~}}||}||}||~~~~~~~~~}|||}}|||}}~~~~}|||||}||||||}}~}||||}}}~}}~~~~~~~~~~~~~~~~~}}}}||||{||||}||}}}~~~~|{{||||||}~}}}|{|||{{{{||||{z{{{{{{|}~~~~~~~~~~}|}}|}~~~~}}}}}}|}}}~~~}~~~~~}~~~~~~~~ xRIFF0IWAVEfmt "V"VdataH{nllroxxsqo~~w~{s}wxieki_gf_XIKJWWYalsnfknpx{}wx{}}mfifmt}~j[bddTLQQTRH=AKSS^nplmmzxproigmnkstpqsu{sbZcsmmmmytj{}~|wxwrmpqvyurmlprtzy}|rpjec]WS\aVMNU_oxvy~{xymo}{qpu{uzytqmeb^^clk]PHD?97???IGFPJMIJVVV^WK\eg^buoqm}wtlz{x~wUQ[i|jkZXNDBCO^aSMS\\`hrcfguqqz~skzti[[_ehj~|okrǼtqnypzmpkzwkdktp]ftie[iunid{ocmrzvbQPHMPMLLIA38LYN5&-:FWUKJV\iptwwjdlvuijqws{~xqkm~xrebc[abe]Xh^T^ddh_Y[]fc]\gshj||wrz~{~z~|v{~spssihmqkr}wshhg^YPPWZ`ihfejnhgwyspnstw{wqeccafjf_YU[guofklpvt|{y|{skwzzuxurosttspbdaX\gigs{upujenoow|uzwwtig_\jqg\YVWTYa``chhhknos~}sdmtd\^V_iklcba]ljikec[XY\fomgo|{rjs}~yZopktsnhz}wlpwqutgvuuƿxrylosvrppmluvpmWW`kznilts}ux~}{u{}ni^^achc]\ee^T[dcaYRTSRZghcT]ypq{~{rpsediszmmnlf_oojmjyxy{{ztr}}vtsztnrsola`c___^jlh\JGTSeqcWQX]X]ghcZ[hhY`Z[_brqox~}utjlme`eow{r{|tb_emj`WYdbc_RFPVRQQNP`lko}wsz}nhfdju}~}{rvŽŽ{us}~ysyzz~|y~~wyyotvf\]p}||}qick||ndenxujYKLLLTWUX]egnwuuunqyrhkjgmtr{rquleeaei^Y\[bRMG@IITUNBHIRa[_Xbxmw~vxffxj~tSXeaYS^XRVRVqnwpl|{v|^¾uY{raVkuxyf[dgj]Mcclzjt}~vupqw|z{~zumovzyvrxrmpt|ɶ»˷{vshlstlbijf[g}v_QWYvsjuyw|wigpxd`f_dmodY\RMB>;CQG:19AKahkk`YOLQXZSIJKP[hqspoouyvqe^d|}wsc[b[NROE?CD5@;0.;A@?>F?86AMN@:#$?BN_tnL98Or|iXXpzwrkmnges{roifnoyugenob[\kqnjgnxyvvsrz|xnuzyrwpx{Žƾ{vzhgosiaj{{rpoigbWKJVbqlglolovwuofigkn~|roo|ukry{ohslddafgfdhe^PWaX`lkbdnrjhmhklpkYWeknmgq~v~{|xvf[V]kwrud_gekqzzsxo]VXjhVYgu{}v|}{|ɹxwswyoilrogqpqzsuwox{{}|`QqxjjfruabhfZX^^WOHO[]_apskowvojjpqvy|vimswyw~|r}}xyv}snhhhqsVIJNK]kgWJBFSYQMWMAAB;;DY_[SJPWYMIU__beozs}yh[Wieof`idkhir|}yifne^bp}zv}~lWF@On|z|x{uow~tke^bv}ujtvtw~sv}sls}~ngn~aKIUil_WQQ[chnkkpxxqsyxvzvqtlg[U^cc^`joc]Zduzpmpxxrzyx}|pktePMLFITTE?I^h]QKKSWT_ecZUJKVbbdWQTZZetu~lalwr|}sgdnoybUcjnxmf_XWOMVXWYO;-,ETRQAIY\fxwx||yz|Ͼ}uzsbeluyzy{lcjzounkrarvq~|s[kx~jI;Lef]TJD>COKPJG:7?HOQNOC@;-07;@?JMPd[V[ajy}yrjkcaeVNWfjfQOZefioyoRHDNdZFLXDTZD'9BD^XU]]hgjzpposwxqyt_f}}jsfc`jWpȹ{uvxĸȾӼ}{s|tnifkcYUW[ZZ[XZ]YYhsoeeoolgflpror~~pgfowrdbb_^a^SQ`a[SQNO[ZXN@999GRE5146;AJJKRU\ahnfbeltrjkru}zyoo|\PAMYVSJ\]XSX\QC?BQN<5?R\daebdgkx`i}~pzļżʾ{}vu{zzrlkr}xtoz~ypf\MKHRVUQHM_t|rmu|tnr|wi]SUUWgmcXM\_YdjkbK>HUWN=2,5ABBAFR[SA9@OQOTZd_LGB?ITXZWXPLUY\VNSdfcWNIECOUTM<:BILOKKHLSRTYNOUNLC3;BLWWUSW_nnpmmpnxxqkk{oelrvrojciuyy|raZ^otwqjid_cmn}ž½ξŹĮʿȼyj]addikfqpfgknhcmu`XKGPYch_FLGZ~qpinylb\iWJQE\bhpg\GCKHAGYm|xk^WX_dkojb\`dinvx~tkfq|~tigikmcekcXUapqx~gWZ`rsjostaT`igfccorʾƿ̳}uxt{vrr\ZUURNQXWS[X\XZem|{|~~}yzy{}yolijqjch[XORd_YOEMGKKRWMK;687727?B?GQljYb_jfoyqUS^Wf`nvldZnd\br{j[[NPU`cVM=<=/#'UwlL!5Oah_K.1J\d[O@8M`bU^]csg_et|wcuwrmZKJSdojbTXfvvtkULXg`R?*8P`qvthlozx{vcZ\ox||tz̾xӔzۺͰqvjk|v_^^hiVPZb\VQbrukt~ohji|z{zvlvrolr|}qi`__\XQ^^JIX^XQbdR@=:G][PKJCJl{tsoj{zkswynZMUb`lusw{xu|}yxvlajy{xttko~uu~xt|~qr{{xuqos{xtprsw}}zus||yujfoqf[[bY^`aqx{|qjoilywvh\^`cbfc]ORZbifb[[^ieih]MCRa^SNNJ@=>@@@CEB@@?9DQPUNDGHJMGMNFHUemg_^UXLHIB=;1) :PJ,'/9CMKIF@HQXYV\b\`pnggwwu}{||xuqjs|vlq}å°ŵ~vy}sgcchpqk]QU_clvxurpniisvxx~wijqtzonwonph^\fk]Z[UbhcZU`ehhkgcbWYU_fhpmcailsup_Yelqxzqcblpg`cc_XUepeZ_tvih^[SMLJKLV^`Zgnrvmqlnmnmeabiryxrv}xxe^qqflkdd]_``efZ[jv{}y}~~rstqpop{x|~z~}zzoqowwdiy|g{~kdjvtysqxzprqxndipm^_aggqxwvurpsdX]jicouqu~|cdnyywgjo`WUfsus`VVVUUa^Q:=NMMIMRXTJGTVW\`flrriu|{{wyw|o`VW`dp\\qxuqz~]KN^mlltyru~}mq|yyuuul^XTOOOSTUSVeongejmqstljljm|~yyy{ʾ½|}rhjokb[VZa^`]b`YZ\cmjfnghvvlehy~uYUgzr^U__TNPE97=A?>FA??HTNSQC;EBBBKLMSNNLOMLKSVSTWQIGGDE@?@M]ZE<55>BJKB6*&# #"'$$*5/(*4:85)+4;CILLF?56JZgcVQMWniknw~szy|}thfjmhcjd`YZjlmeZYdk`Zezw`WUhx}~}~paeqy}|rkim}s|ů}zkRZ\_jzsŽz|{zzz|l`agdarq`Xat|{}zz}yvvy|}wgad_]TNK>@CKFISLEAAEFKIA?FUZcblgXVassupqx{tccmzzseYGDN`fdacZHAR^jpnfZUXdl}|nz||~uojlem}uyusw||xzx}yx~ve`ZW[UTUVWZXa`[hiloljktosvunmlde[TY_gafqnolrs{~}}t{}}}jdnwqv}}vpoiga\ZWUbc`hnsvyxomrpow{|}||thxy~raa`ckmqobc[UZcb]ejmgidt}uz|yuqurndb_^jsnii`aiktnjncOPP\qm|{~}vryzyrt|sxw~z|sqnjt~xtw{|·ï~vx~ria`cnupyrrqsmutyxuykj]\j|xs}ooos}}}xwwlc^b`cXVX[_]^_WR]ccQBLagkrt~~~vreeov}ypedd_jxvqmfakxzlmyz{~}~{tksswmiddeefXVisjdZXWTUOR\_ekd[chptrqh]a\Vcvzzi^]Z^UPXo}|{x|wtzvjemoeXQXgkgaSKUXVVZcgilot~~jlz||mqsmp~|}üϼ~yxsv{~}ywz{srs{opuq~ysrwtqg\^biwf_dfxwbHJPNTWYUQWajmnfvzlfic`bhiopxvy|}mZNNRSWSIGRMJT\dbWF8>M[hedkhmx|z{vu}jemnpiVGFTh{zhKJat~}tqqjeWFLPXspODU]mj`hejbgmpsytk}v|{uyro{gdcesļĿ³|wzh`ggekmc^_ad^`hjnw|uwt~{w|suyru~ueWUhvoeRB2/46DHK75;;EDPZgc[VUnyrc\egmje_SQP]o~y~}y~skpplboqsfZYRYSPGEB68)$**-2:?GFLbdXOFHLUWQHEK]c_kyuruvkou~ļ¼~{~vkfnyvglq{~tq{qa\eliegmjfn|wvo_SUXVYUB566;>IMD?4*%&,1+%$,040+++*(#%&'.:IPWehmuot~tm]Vg`VOR_jda^[fgelb[T[^NBKXWZVWVUZUQNPWbijgqſͷþ|~~z~}}rejp~woklouwuvssiipyyrnnqslpzqvz~wvwut}}bWh|yjbcjermZRY]^blnUJ@D@53((*,+'5BHEGP[c^^[__WRKMXp|~xnpiecWIAFH<;96.)033/*,15844?KGHSY]X\]`ozwpyoq}zvrx|ulhaaghphhcZZ[]b_Yckrxmjhiq~~}~}{wqq{|ýƿ}{tikwwd]\XYYc`YX[ilnponpuqxtlpztwwqpnrqy}tdhlknabc`][\a\bpnefkqmimc]XWc^[_fj`Ydry}yz|{{ujcdbb[_e`^diehnzo]Y[`lhh~vfqzxryznnt·Ķù~zwuh]_c_[[\egipy{qb]cpzxpqphkhbacg_SV\[\fhhidcckpknyob_dpnp{wx||wqjfksxl\aea^bdimfSABIY\e\XL8EDOWVUMDAOVUFHMV^b`QSWSSWcf]_k|­sdp}{z|p^T]c[[XQQPUVYajnx|kkx|vnx~y{rsthnznknvyztz{gZakkgmjbckow{||wwyznaVV]dc_`_^enpwnjtwtwxy}}qkkssn]Ydjg``amlhd_nrw|xswnjvx}}omrrjZSSLIQTTMIRROMMTPFALTTPLNRWYY[WX`dfppmttqrtzuvz}ynu|vymjomdglb_X_i^U]^dfPFD?CCGNRZ\`ios{yvs~|yxwzuknv|qtqpnaag`ksy|~x}~u{x{{uvzzz~vnlqskeh`SJLKEG@17OVUD;=DIKY[D:5ETUOEOOIA9/.AI==DA52:A?76>HFRY`cOA@P\WLLUen`WVYTKSY[UMGGIEHIXVG;9?RaXSPHGJRXORQSYLAIU\fediheijpqcbfo~zqmpk]_wvmjllabnmntun[[gnkkllmhfjoþǺɻpm{}ypfafosztkwzmnw~urlha\VSYZY]\VZkylbfgmsmZIGIPRTYd_SJRX[_YSP;)+-?85+##$-36*( $<=6-,,:GCB;6/>Y^jZS_gu~yh\RYQIWVWLJWWSL8:?S_XQ6$(1/8GNA0/;;BOZipposps~~zwy{{phmzʾ˾ɻ}}ux~}{mo|v{ts}z~yqnoikicfksse^gljjiqvl\VZO=9FKGF2!0@DHB9636>CIOG@BKNLKSTTZUFIOLKU]RMX`ariPMJE=;B3.,&'1+.BEKKGR\]WYenjnjdbfstosysu|zwqxwxtnhxxlqk]ihonc[\ba`adcaftzqsreflſȿõ~svxtsvtl\LNY[VW^aUSZS\_j|~yv~qrtuyvsqsmyxuvxwrkjro^_c^UNHIWYX[OFGD;?GKDAB=9@N_f_VX_db_aYMPZeqttrdgmkumxq\TbZUXT^GDC,',*!%.5( 8ILMNULCL`klcZVP]bbeb\amywzuoe`\Z]UW`b\bmqqh`^]cnq}zn^GFTixwqyz|~}nvvqnqȹz~{ug]eyyppq|o^ckr}rtt|zghvpimsxrphfvxz}dOQTV`kswo^\^dXShkZF73K^d^[XPOV^mtjefbe{yq|wme^im{xpr|wvy}o_[agdjqjfqľ}{zkm~{xx}~}utmagq}}|qqpq~~vkzzsz~~unuk^`fcglpofijlryueYYWVW_cWPOZjs~znadov|znVCHZa\VNPPHJHGDAHLLMLMKJJG63<73@HLNPLFTa]UXND<=C?CF:AGGJQ\REEXammdbVJ<=WcSHG?A69IU_ZVQTNOYYWZei`_RS`Ze`bdrv}swy|udfkzqgjtjhkjmjT<1A^lsmf_lq|y{ɺ{rx|xúŵ~vvz{wemx{vfSTXfmff^YSICJJE;892=FHQGBGGGOabZ_hc\\US_iia`dha[YI>:A;9BA:@G;=EGA=35:;HKRMCBDGMY]^VZc^a\UY\bbdknhrytvkovwqjidagt}s[cozwguvvywupkzz~{yzwy}ykahuzudL<=T`nwur~}}vmiuvlfbjxy{|pry{{zusuwzytyzzyqjabidTKJIJEDHB><85/*0+"! )%).790317AOWQHAL[koszvrqxzvqlkllig`^ZZ[PJKQUG:34348ADHNV^XXQQXiqqlfci{}}z}u~zssswyz|}yurt}|uxyz|¸zzuu}|mcdnyyrel}{y{njfiw~~}u{yvywsixwmc]^euxwkhrw|wrqxywsv}xvot}~|{tgaY^TQWdqkkvxuihrrmmlfgiegrww}|sfdelfOOVKF@BEKLGB>;8GJ@???HVSU[ZTQWbdgght~|}}ysuvtscg`Zhpssnmw~~{x}xytvljt{z~slnooejqg\\cb]chginnmnpu|}wuyxssx~}LIST<INFOICRD 1999-02-25IENGZakISFTSound Forge 4.5d  @ #Wj .%w**a*q! f 2 lq!r*Ew.*.$-' a $ .#D- - @h@OX%  " :;} /~ ; . 3 q!!r*dw.*.$-'a $@ w *a $@.#D- w *!r *9- )+   $aa= *9_* -  ,FVH+w*a* .;&w*a* 8-2 w* #::$% q!  ac"ew*a (1Oe+q!  cB ' J0%(  ^@$U =>9PQ!w?o$ AB ** 5E< D k-baDr*ai ?a  a -' ?,2o$**a $ A ?- (Y-   - '  ? C@] &!$aaC & 9IH2^ q! ' GFcH%w**a*aa= 8LK (-(v! M%-q!  .Mr.*Lq!  u:.%8:%8:%8q! w**a* YZ4h3 R I  ?o$ ST p **a Vp  k-baDr*ai ?a  ?,2o$** ?- (   ? Ue 2&. [e a>'9 \&` r*a ])I  o$a/! a/!"-a/!"a -'a/! -'q!q!!  =G)w.*. @**a  @HP//============================================================================= // Grapple. //============================================================================= #exec AUDIO IMPORT FILE="Sounds\Weapons\GrappleHit.WAV" NAME="GrappleHit" GROUP="Weapons" #exec AUDIO IMPORT FILE="Sounds\Weapons\GrapplePull.WAV" NAME="GrapplePull" GROUP="Weapons" #exec AUDIO IMPORT FILE="Sounds\Weapons\GrappleEnd.WAV" NAME="GrappleEnd" GROUP="Weapons" class Grapple expands Projectile config(CGrapple); var vector pullDest; var vector hNormal; var bool bRight, bCenter; var() config int grappleSpeed; var() config float timeBetweenHit; var() config float hitDamage; var bool bPlaySound; var bool bAttachedToThing; var() config bool bDoAttachPawn; var() config bool bLineOfSight; var Actor thing; var float totalTime; var C_GrappleLauncher master; var bool bThingPawn; replication { unreliable if (Role == ROLE_Authority) master, bThingPawn, thing, totalTime, pullDest, hNormal; } simulated function Destroyed() { if (Master!=none) { master.Grapple=none; Master.AmbientSound=None; Master.PlaySound(sound'SinGrapple.Weapons.GrappleEnd',SLOT_Misc,10.0); } AmbientSound=none; PlaySound(sound'SinGrapple.Weapons.GrappleEnd',SLOT_Misc,10.0); if (Instigator!=none) Instigator.setPhysics(PHYS_Falling); Super.Destroyed(); } simulated function SetMaster(C_GrappleLauncher w) { master=w; Instigator=Pawn(w.Owner); } auto state Flying { simulated function ProcessTouch(Actor Other, Vector HitLocation) { //should be implemented in subclass //log("I'm in Process Touch. I've never been here before"); if (Inventory(Other) != none) { Inventory(Other).GiveTo(Instigator); } Instigator.AmbientSound=None; AmbientSound=None; destroy(); return; } simulated function HitWall (vector HitNormal, actor Wall) { AmbientSound=sound'SinGrapple.Weapons.GrappleEnd'; Master.AmbientSound=sound'SinGrapple.Weapons.GrapplePull'; pullDest = Location; hNormal = HitNormal; SetPhysics(PHYS_None); if(Wall.IsA('Pawn') || Wall.IsA('Mover')){ if(!bDoAttachPawn && !Wall.IsA('Mover')){ destroy(); return; } bAttachedToThing=true; thing=Wall; if(Wall.IsA('Pawn')) bThingPawn=true; GotoState('PullTowardDynamic'); } else GotoState('PullTowardStatic'); } function timer() { if (Instigator==none) destroy(); } simulated function BeginState() { SetTimer(0.25,true); Velocity = vector(Rotation) * speed; } } state() PullTowardStatic { simulated function Tick(float deltaTime) { local float speed; local vector v; speed = vSize(Instigator.Velocity); if(bLineofSight && !Instigator.LineOfSightTo(Self)){ destroy(); if (Instigator==none) destroy(); if(vSize(pulldest - Instigator.Location)>=2048) destroy(); return; } if(vSize(Instigator.Location - pullDest)<=50) { Instigator.setPhysics(PHYS_None); AmbientSound=none; Master.AmbientSound=none; //Master.PlaySound(sound'CGrapple.Weapons.GrappleEnd',SLOT_Misc,0); Instigator.AddVelocity(Instigator.Velocity * -1); bPlaySound=false; } else { Instigator.Velocity = (normal(pullDest - Instigator.Location) * grappleSpeed); } } simulated function ProcessTouch(Actor Other, Vector HitLocation) { Instigator.AmbientSound=None; AmbientSound=None; destroy(); } simulated function BeginState() { Instigator.Velocity = (normal(pullDest - Instigator.Location) * grappleSpeed); Instigator.SetPhysics(PHYS_Falling); totalTime=0.0; } } state() PullTowardDynamic { simulated function Tick(float deltaTime) { local float speed; local vector v; speed = vSize(Instigator.Velocity); if(bLineofSight && !Instigator.LineOfSightTo(Self)){ destroy(); if (Instigator==none) destroy(); if(vSize(Instigator.Location - pulldest)>=2048) destroy(); return; } pullDest=thing.Location; SetLocation(pullDest); if(bThingPawn) { timeBetweenHit=0; } if(vSize(Instigator.Location - pullDest)<=50) { Instigator.setPhysics(PHYS_Falling); AmbientSound=none; Master.AmbientSound=none; Master.PlaySound(sound'SinGrapple.Weapons.GrappleEnd',SLOT_Misc,10); Instigator.AddVelocity(Instigator.Velocity * -1); bPlaySound=false; } else { if(!bPlaySound){ AmbientSound=sound'SinGrapple.Weapons.GrapplePull'; Master.AmbientSound=sound'SinGrapple.Weapons.GrapplePull'; bPlaySound=true; } Instigator.Velocity = (normal(pullDest - Instigator.Location) * grappleSpeed); //Instigator.AddVelocity(Instigator.Velocity * -1); //Kill all other Velocity first //Instigator.AddVelocity(normal(pullDest - Instigator.Location) * grappleSpeed); } } simulated function ProcessTouch(Actor Other, Vector HitLocation) { Instigator.AmbientSound=None; AmbientSound=None; } simulated function BeginState() { Instigator.SetPhysics(PHYS_Falling); totalTime=0.0; } } MuL//============================================================================= // C_GrappleLauncher. Code modified from crabbkw's ca_grapple, which is a modification of an already existing grapple mod by // ^Soul^ //============================================================================= #exec AUDIO IMPORT FILE="Sounds\Weapons\GrappleHit.WAV" NAME="GrappleHit" GROUP="Weapons" class C_GrappleLauncher expands TournamentWeapon config(SinGrapple); var Weapon PreviousWeapon; var Grapple Grapple; var bool bManualShot; var bool bShooting; var() config bool bUseExtra0; var() config bool bUseExtra1; function float RateSelf( out int bUseAltMode ) { return -2; } function postrender(canvas canvas) { bHideWeapon = true; } exec function AttachHook() { if(grapple == none) FireHook(); } exec function ReleaseHook() { if(grapple != none) grapple.destroy(); } simulated function ClientFireHook() { return; } exec function FireHook() { if(grapple!=none) return; if( (Role < ROLE_Authority) ) { ClientFireHook(); return; } OffFire(); GotoState('OffHandFire'); } function Destroyed() { if (Grapple != none) { Grapple.Destroy(); Grapple = none; } Super.Destroyed(); } /* function setHand(float Hand) { if (Hand != 2) { if (Hand == 0) Hand = 1; else Hand *= -1; if (Hand == -1) Mesh = mesh(DynamicLoadObject("Botpack.TranslocR", class'Mesh')); else Mesh = mesh'Botpack.Transloc'; } Super.SetHand(Hand); }*/ function DropFrom(vector StartLocation) { if (Grapple != none) { Grapple.Destroy(); Grapple = none; } Super.DropFrom(StartLocation); } function BringUp() { PreviousWeapon = none; Super.BringUp(); } function RaiseUp(Weapon OldWeapon) { GotoState('DownWeapon'); Super.BringUp(); } function Fire(optional float Value) { GotoState('NormalFire'); if (Grapple == none){ if (PlayerPawn(Owner) != none) PlayerPawn(Owner).ShakeView(ShakeTime, ShakeMag, ShakeVert); bPointing = True; Owner.Playsound(Sound'SinGrapple.Weapons.GrappleHit', SLOT_None); AmbientSound=sound'SinGrapple.Weapons.GrappleHit'; Grapple = Grapple(ProjectileFire(ProjectileClass,2000,bWarnTarget)); Grapple.setMaster(Self); } if (Owner.bHidden) CheckVisibility(); } function OffFire(optional float value) { local inventory t; t = Pawn(Owner).FindInventoryType(class'Sin2ut.FastTech'); GotoState('OffhandFire'); if (Grapple == none){ if (PlayerPawn(Owner) != none) PlayerPawn(Owner).ShakeView(ShakeTime, ShakeMag, ShakeVert); bPointing = True; Owner.Playsound(Sound'SinGrapple.Weapons.GrappleHit', SLOT_None, 5); AmbientSound=sound'SinGrapple.Weapons.GrappleHit'; if (t!=none) Owner.PlaySound(Sound'Sinmodels2.fastfiregrap', SLOT_None, 5); Grapple = Grapple(ProjectileFire(ProjectileClass,2000,bWarnTarget)); Grapple.setMaster(Self); if (t!=none) Grapple.grapplespeed=1000; if (t==none) Grapple.grapplespeed=650; } if (Owner.bHidden) CheckVisibility(); } function AltFire(float Value) { if (Grapple != none) { AmbientSound = none; Grapple.Destroy(); Grapple = none; } GotoState('AltFiring'); } /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////// state NormalFire { function Fire(float F) { } function AltFire(float F) { } function EndState() { } Begin: FinishAnim(); Sleep(0.1); Finish(); } state OffhandFire { function Fire(float F) { } function AltFire(float F) { } function EndState() { } Begin: FinishAnim(); Sleep(300.0); Finish(); } state AltFiring { function Fire(float F) { } function AltFire(float F) { } function EndState() { } Begin: if (Grapple != none) { AmbientSound = none; Grapple.Destroy(); Grapple = none; } FinishAnim(); Sleep(0.1); Finish(); } state Idle { function AnimEnd() { PlayIdleAnim(); } function bool PutDown() { GotoState('DownWeapon'); return True; } Begin: bPointing = False; Disable('AnimEnd'); PlayIdleAnim(); } // Finish a firing sequence function Finish() { local Pawn PawnOwner; if ( bChangeWeapon ) { GotoState('DownWeapon'); return; } PawnOwner = Pawn(Owner); if ( PlayerPawn(Owner) == None ) { PawnOwner.StopFiring(); GotoState('Idle'); return; } else if ( PlayerPawn(Owner).bExtra1!=0){ Global.Fire(0); } else if ( PawnOwner.bFire!=0 ){ Global.Fire(0); } else if ( PawnOwner.bAltFire!=0 ) Global.AltFire(0); else { GotoState('Idle'); if (Grapple != none) { AmbientSound = none; Grapple.Destroy(); Grapple = none; } } } b,r* 347 -' 6"zCw***a $ A*a $ Arw*o$ g @yiyi iLe[ifipeXyAiIifeqieiQigZdiZYZniEiXieisLLL9xSX y^L XXg@LijiiLikLihyWfzfNfC_Cgr'dyOLFgmLOfagBiyL7L2Li{LBLgALiHiGiFZvxR'TLLLLyJy`L&i\i]LyasbxcL)$~s- q6$~6x}JVLK\o [K/ hKN} tKz AL#j MLirGZLiwtaivAU]gV}d|rYl Ap NMZ:h{ byn\m ~DKq O. [Aa hU uSa B*~ O&\n wGCG^ay:D Z&fCB5D E9"Q&sF6O%D E3Q)D D