From 54df5bcc832a08697c8b8c2225e385ff470876bc Mon Sep 17 00:00:00 2001 From: ascriptmaster Date: Fri, 30 Jan 2015 00:36:00 -0800 Subject: [PATCH 1/2] Update waterwisp.png Added feathering to the edges to make it less jagged. --- fx/waterwisp.png | Bin 6341 -> 7906 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/fx/waterwisp.png b/fx/waterwisp.png index 591397a4840d6bafcdbedba814c9d941b8694478..41d623965cc72c1adafe70acbfdd3ae29b079225 100755 GIT binary patch literal 7906 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 M07*qoM6N<$f{!trYXATM literal 6341 zcmaJ`XH-+$x}`(ty+{iIg0zqjI&x^C1nEVJAcPPQX)%Nj3ZaHxf`D`kNK={x1d$FR zQWXJ_&JmT46cy#+x%b@re!TPc7<;evtug2P%KFwAd+bfLG&f>lyue67LBWDFMp&PZ z9=~q}y7MP?CD-WeunI5;^mj^s z1I^6-f2g0|f6#$=Ys`P+{Xc~RZNsn_1#3)TKoAanzHy%7zg=N9^l=yzJ^*JM5a9cF z6)mp^-~$4$2VjBvHp)OV6x!SWxBVC1%uEC6ABac!qcKQ?7U*07;_dCBp#*~&>Z>4> z_4EwYU@!xy8cbJD4-QjR*HeM&8>kul%|!&DgZwc5_`kUx|K+OuBlmYJ_+igIBQQAc zV2p<$F2E1?SIQdR{~QbaANBst_4wyll>U*ca2|}p?~VOm8~yjvdH4LD{-D}BqR*A??mCP=*_X&T$MMo~^ z=-*|y zThg^9(8(DHAqlEKkl|nfZ0XD&exN&+?u%wz6mX#iIB#^MF*q+RYdXJ+cB6;-OxAVn znWF{p9{|TV&_l|oXZcVyVhP?CyA1M_;0$8`sSC>zV!q7rboPdLn8qw#fN|6R5#PuE zdR%$iJPrmD>15MYlDL@8RFKhNk`3$oDT`b_Xqbpj30-33!+-@MA%q{f`U6s@qBRiliI733%NCpG`mqz|I#ZnXC33raX0j2bYOigO!f z9ysk`=b9#!LgUL3NIK3osvOc|JL9o@wfj?{a+V}!wv&Z;$+s`rcj@sk6kE?Nt}8re zRZQZsc6un`3g}%gv}E86mBAL`v_D#~oBML6JMZN|`TVTlius9=dB8Q^Wwz)>DzFbr zzShf`MxCdP@#{nq34@Uyd7?vv|Khv*VfLfp6@GYm$$XA{J2J!SybvKfkqaQ zTm!UtmStr&HxqH;sV*yD>;mLr8hQpvFFRyAnAq4^!bRptmrbnC{HmloZqg!3%oybF z5gM@MDz1>zVluT5AKV010Rt@s6b6K_rLlOl)Qme_!_DnDMe*_1hE~b5ao_q;86Zzz z7IIm)CVa<`+078@p{|=(n*X9$=rLuSzAIYFr%sz;5hbVjiG>dv$Lq)9n6tlN%N_#*~Bi|>^zF5%S2ub^ckJ80A z%b+~m;*|AXlKf|u$ntH6z85yYAigY`pfk?M#aPS9vc@+|rZ?lBB<~uNJFG6KJW&*90X88c+4&Ba? zn+eaV+tf2ghCq(n5rt{hZ)R`4r>cO7JDB(r#6H_m=Qw>67lBr$Y%ZGV@Hp9Bw%+!@ z)TFMno1C&9cVz90auq3M-% z$>YiN$v+wO^Q9T=j56Q30UVFdIx;2NQ=Fq%s4|2q924SA8KqOaxE546PxMbSI47fF zs_w>IokXd|T$n_2qej#pUE0^Vx7OwUgjhEhwyJ`ks&M!!xl?_&^uc}QrTJyjl`7+T zY=}4me$p|#=&7VgLt>TIg}C;o(jftfCYc<^683@gpS}TQA4#Cjg3ee*{xqp^8GWlA zn`uTmXvJ>VW->~$h%ViR+C0%IZRB#KK1t<%mZC=;$Ep;hi8P=k@I>DSS;pon7tWcj z9pqA4A`{&%Vghs8TOpyT8=&Y`qNO3vNHyZCN#h|$erJ}*%hQY@`aSZ7 z8(n66L3eiFzFbyc+7idl45X(#{SDRTXV>sVLcNUMg)}_l)hpM(R{-jlZd@+vO%?b> zt1UrzV1f$bp-f^<%7UI6CWniEa{d^}`AB~8`p2U1@^ERnMemsSO72s`>?ux91S$uF zp9|qvtl15q=vM4$$3p2xd`}~3x~)77rHI#+bW3z6!E&iGH)?93HZadhhK%tbrqerM zs(j@k+c{#ca;#Gg(lQ7P0J~w6d)k!0cyV%coer0=Gx8eM^E-G`J#=2{gvH^+4Q_Ms zz5~}^q_xj#6VxTTKqFo+)Xmt*T!EqK%tbiQ=vo9N3B9Lj={%FNc4S=f7aS92_rkim ziWRaaYu?PbcZ-1cxMjq>d|1{Tn=%plAjvgTh1J@8`A~3uMR47b@e_CI_bXYBn?kD1 zeWwVbH@C+;fdP9o*SW!9_&v6KAYOXJK#14bhYtJLN~oSVrbe7C5~<4b=`c$LH^)0W zPSQjwmtQ4u1^{wQETJL&&Ce=~ie$8H)82}4n&u2gs${38xq09F!rcuWy>ImP=VMy+ zgY3{TGqn^m9S2f$tyD?aBj6BZBa?a9cB3*2(G>rLW5m}M*!|eiVPewQtITU*s4FzV z`hu1OUnNQ=A!5cT`AaE{nqgHu;puF%;s z)WA4kO5W;8Bo`mA4by@T_5-e>5B|LTtI<(j{AgYECwEx@Q?qLRp52-~>2f*vjPPid zATY$SlvHNd*A5zMFX}k$tKDas#OA6ywIa(^r-+q6P$FtH#A9f=v5+maVc z4iHYK7N1$p2>9wthL6_tcyj9Y4qBX`j#?+qi15|^YME|oBiVZZ1`A$=0RGsZjTT+sF+S+@iV`hJZTWo9}JKj^R-59H1A zwpl53{KMYsMX7`SFSab+7ivf?z{}Q5&Oh?c6**=9I(5wd74jwDcg1BdH`8;T2WiL`sy#&%-rC~ms0&@)Mo$IFs9P}rcqmwooZsysf@dLD!aZCBJlzba;L z8$4?RT*zprH;GI}j-`gZI^+`rKo~wy_uPy*fIc@zgW;PyZ#a0351Bg!yTfX&E?CSD z;R>@>2a5_RZG$2j{I+-%?iTP>_WS~Qy2Mv=2%(deo6AE&KdvERQ^G-oT zJR};JOa4^2bH|v`aDVg0N=<*|NY~~!dVP_j{fl@Mt-k3ggbr>Y;(N_)d@MV=ZW5N$ zR0vd30Ik1$dO$M}DmV6Q*^p**&W}w@zy?|=#aVHet#IA@-8U95+_iBII4W62(C!Sq zGXO~~<}e1<(F~3gIaF#77v_;h@?3&3{zT7fo^3OwjU5jad$W;KTnvAH+@U0mt$m-l zxP=)p%a3smUZj@ZP`Y~MvB8AKASe-HUBGf!FGY{`|0 zj`$HKKHYRQ%OcCUwv(=Siw!4vm3j~tKv~n0!$xjvR-aT?ZbH0U3}X< z!gZuIoE6lqI<>CvXb`ccRrg1ay>$;95I;g;nAw_TyZJJ#-XcAvv(WnM*fd*;bnA*2 zUF_goJ%;$eU%gJ)>doDq5mWiKx}pbF8t{;Y6MoH()i02AVS<(LX#Wm9>}E2lzc6+# zPQp#|Qp>xbx4BEm+;`}_(Rv9(N9`FcBfp*9+@Q|~ef4&kaSg1gx@w(FT8eSFotRt= zs`YE*!*_e^yTDn-8+6pQeQKwt#aB$68FpJV)GvNgGw0t2z;8!&GNq)TWN~E$Fi6J< z(NkgPy={_oJvmF7Rij@_0*jGvW&E7WWU9_o=Y{R3u^my>lLi-m`Nh5j_jJu)YMt{5kZx&hf*nh)xh&X@QsfD)A}qD)D{eXRk~u0$ zQUp9;<=RB6M7KF9Vf)dKA`)%a^6wpW=~VCQs2_03f0eCxQ?ID2nw^f?(b9d`b!T4_ zw5Z?B179;AIpJR1q0!asnuOqyByZ*DhS_XqwQYXv_~z!(*|jJ0FQ*8MJokn^-!V37 zIpDo*&k{d!tY&O4MA#_B*XM-&0E~T=Ub0k=5jqP8*JELtH*QIlqLbXjo>&`rrX`N< z0)N(!AVeZWqEsG@mul+o^-uJty#EAQY~6SgbDPp?%yBtSKA?T)z8u-Wb? zil<&Cc2<*GCS2Jx@k|7UKrK?^|geA2}HOD;8BGyp9y(3Am;9*g=JM=I+mT0A&^x{}Z_%AQDc;`LoDPheL?$2U#AHZ#D>K9g z6QDkNzHh=a&C7WzI~;4+x>H5juw14~RVp`P8?)CeYd3UBFF277D9;Y2C998AL5*-}i*<*O~wRcg~17RIQr6!-E9+GF%wUbJNm zj!x4C&&(3=&|?GptBC4dz!%-P%d9I~px(jR7w!4$n#E6Z5<8{Vt#ACms+eeKB)nZv z_5GM|Xw&tUj;}Mt7P=zogkx%kHjHY*md<#|;qaNeF>UIA_jYPg?5js)IzLX+*KuO4 zZTWL8?;I2H?u@~%qthHBR4OvkSfwWICHQ4}FNqfA9jmHF`dwuj_{^mbM1e@5oDll; ziF?DmHjK_`&uLrgQ-ne!C)z3F>=>U1s*ZtE>9*~X%&X^^j)(v3yD?qE_;cv<+{*y< zxcw_UvQ}YZ3>9M#e2KV6LAA&xcg$ALu*~q!L`O@rko~p%{2QdI{PI(Yg+cv-I|uF) zx@5Lsln@>@t%yM3dyVx-$)WF;78s`5fZs9pCJ`TkyJL3G50htuU)S4P#0k3Ni3JPE zA?|A*JSLNttPYKz9&a6+deG0VsU$Pu-W)&3Qq)eh-qnxv@1gR6wzs~vxxbsl^t}5A zI2x0*@A_8bFJql@6HVGgRd8)QuEhn>I^Q+2q|V?)FV@un)3%NEQp=h^`(X= zt~Y9_hQH4lwqsh~E~X;-KRZ<4HhM@%mZ`!}M(#3~R^?S0SoUE<7>FChelO7QkGKUx zIGzSB8VHs&_7Di$mvfxyiL{ik_q$u^v|9t{&T^HTu{1}kK2Oh<)akDb-5P;DKgyPh zn-tV9OHrQu)xn{l>a%HEi>?@d!0x%inqMSq|6z_bn{hg1CeS{um*&yFQ>qBGJI?C^ zmlljuI_Zk4kr|Uv;AdxRc-%v5OxoLpcOmy~E`i(}3F8dMfswP1^7hB990srBgw~Sw zT52{L-D%)K2)MHvnKys47jaMuUh3b9a_o{=QTudPckpgC0#&USzaU*dR`rB<{?Ssp z8p?4~Wy*{~ZYYFJ%u!C*GyK6X(;f|R{vR!nI=VL6U|xF32WlOPH6 Date: Fri, 30 Jan 2015 11:31:50 -0800 Subject: [PATCH 2/2] Graphics Update Round 5 - Added a new graphic for fire animations - Added many new spread move animations (Surf, Heat Wave, Snarl) - Changed some miscellaneous move animations --- data/graphics.js | 1003 +++++++++++++++++++++++++++++++++++++++++----- fx/flareball.png | Bin 0 -> 11984 bytes 2 files changed, 905 insertions(+), 98 deletions(-) create mode 100644 fx/flareball.png diff --git a/data/graphics.js b/data/graphics.js index e2baa949e..161bc1c32 100644 --- a/data/graphics.js +++ b/data/graphics.js @@ -102,6 +102,10 @@ var BattleEffects = { url: 'fx/iceball.png', w: 100, h: 100 }, + flareball: { + url: 'fx/flareball.png', + w: 100, h: 100 + }, pokeball: { url: 'fx/pokeball.png', w: 24, h: 24 @@ -1520,6 +1524,57 @@ var BattleMoveAnims = { }, 'accel', 'explode'); } }, + technoblast: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.behind(-30), + scale: 3, + opacity: .3 + }, { + x: attacker.x, + y: attacker.y, + z: attacker.behind(-30), + scale: .6, + opacity: 1, + time: 300 + }, 'decel', 'fade'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.behind(-30), + scale: 3, + opacity: .3, + time: 100 + }, { + x: attacker.x, + y: attacker.y, + z: attacker.behind(-30), + scale: .8, + opacity: .6, + time: 400 + }, 'decel', 'fade'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.behind(-30), + scale: .6, + opacity: .8, + time: 400 + }, { + x: defender.x, + y: defender.y, + z: defender.behind(40), + scale: 1, + opacity: .8, + time: 800 + }, 'accel', 'explode'); + } + }, painsplit: { anim: function(battle, args) { var attacker = args[0]; @@ -3431,6 +3486,44 @@ var BattleMoveAnims = { }, 'linear', 'fade'); } }, + playrough: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + BattleOtherAnims.xattack.anim(battle,args); + battle.showEffect('mistball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.5, + opacity: 1, + time: 450 + }, { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 2, + opacity: 0.2, + time: 750 + }, 'linear', 'fade'); + battle.showEffect('mistball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.5, + opacity: 1, + time: 750 + }, { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 2, + opacity: 0.2, + time: 1050 + }, 'linear', 'fade'); + } + }, strength: { anim: BattleOtherAnims.contactattack.anim }, @@ -3520,7 +3613,108 @@ var BattleMoveAnims = { anim: BattleOtherAnims.punchattack.anim }, hornleech: { - anim: BattleOtherAnims.drain.anim + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.showEffect('wisp', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0, + opacity: 1, + time: 400 + }, { + x: defender.leftof(-20), + y: defender.y, + z: defender.behind(20), + scale: 3, + opacity: 0, + time: 700 + }, 'linear'); + battle.showEffect('wisp', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0, + opacity: 1, + time: 500 + }, { + x: defender.leftof(-20), + y: defender.y, + z: defender.behind(20), + scale: 3, + opacity: 0, + time: 800 + }, 'linear'); + battle.showEffect('energyball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.6, + opacity: 1, + time: 600 + }, { + x: attacker.x, + y: attacker.y, + z: attacker.z, + time: 900, + opacity: 0 + }, 'ballistic2'); + battle.showEffect('energyball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.6, + opacity: 1, + time: 650 + }, { + x: attacker.x, + y: attacker.y, + z: attacker.z, + time: 950, + opacity: 0 + }, 'linear'); + battle.showEffect('energyball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.6, + opacity: 1, + time: 700 + }, { + x: attacker.x, + y: attacker.y, + z: attacker.z, + time: 1000, + opacity: 0 + }, 'ballistic2Under'); + attacker.anim({ + x: defender.leftof(20), + y: defender.y, + z: defender.behind(-20), + time: 400 + }, 'ballistic2Under'); + attacker.anim({ + x: defender.x, + y: defender.y, + z: defender.z, + time: 50 + }); + attacker.anim({ + time: 500 + }, 'ballistic2'); + defender.delay(425); + defender.anim({ + x: defender.leftof(-15), + y: defender.y, + z: defender.behind(15), + time: 50 + }, 'swing'); + defender.anim({ + time: 300 + }, 'swing'); + } }, absorb: { anim: BattleOtherAnims.drain.anim @@ -5438,6 +5632,102 @@ var BattleMoveAnims = { }, 'linear'); } }, + heatwave: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.backgroundEffect('#CC3300', 900, 0.1); + battle.showEffect('flareball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0, + opacity: 0.5, + time: 0 + }, { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 2.5, + opacity: 0, + time: 400 + }, 'linear'); + battle.showEffect('flareball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0, + opacity: 0.5, + time: 150 + }, { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 2.5, + opacity: 0, + time: 600 + }, 'linear'); + battle.showEffect('flareball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0, + opacity: 0.5, + time: 300 + }, { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 2.5, + opacity: 0, + time: 800 + }, 'linear'); + } + }, + snarl: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.showEffect('shadowball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0, + opacity: 0.4, + time: 0 + }, { + scale: 7, + opacity: 0, + time: 400 + }, 'linear'); + battle.showEffect('shadowball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0, + opacity: 0.4, + time: 150 + }, { + scale: 7, + opacity: 0, + time: 600 + }, 'linear'); + battle.showEffect('shadowball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0, + opacity: 0.4, + time: 300 + }, { + scale: 7, + opacity: 0, + time: 800 + }, 'linear'); + } + }, thunder: { anim: function(battle, args) { var defender = args[1]; @@ -7999,49 +8289,48 @@ var BattleMoveAnims = { }, 'decel', 'explode'); } }, - surf: { // TODO: make this not just a copy of Hydro Pump + surf: { anim: function(battle, args) { var attacker = args[0]; var defender = args[1]; + battle.backgroundEffect('#0000DD', 700, 0.2); battle.showEffect('waterwisp', { x: attacker.x, - y: attacker.y, + y: attacker.y-25, z: attacker.z, scale: 0.4, opacity: 0.3 - }, { - x: defender.x+10, - y: defender.y+5, - z: defender.behind(30), - scale: 1, - opacity: 0.6 - }, 'decel', 'explode'); - battle.showEffect('waterwisp', { - x: attacker.x, - y: attacker.y, - z: attacker.z, - scale: 0.4, - opacity: 0.3, - time: 75 - }, { - x: defender.x-10, - y: defender.y-5, - z: defender.behind(30), - scale: 1, - opacity: 0.6 - }, 'decel', 'explode'); - battle.showEffect('waterwisp', { - x: attacker.x, - y: attacker.y, - z: attacker.z, - scale: 0.4, - opacity: 0.3, - time: 150 }, { x: defender.x, - y: defender.y+5, - z: defender.behind(30), + y: defender.y+10, + z: defender.behind(50), + scale: 1, + opacity: 0.6, + }, 'decel', 'explode'); + battle.showEffect('waterwisp', { + x: attacker.x-30, + y: attacker.y-25, + z: attacker.z, + scale: 0.4, + opacity: 0.3 + }, { + x: defender.x-60, + y: defender.y, + z: defender.behind(50), + scale: 1, + opacity: 0.6 + }, 'decel', 'explode'); + battle.showEffect('waterwisp', { + x: attacker.x+30, + y: attacker.y-25, + z: attacker.z, + scale: 0.4, + opacity: 0.3 + }, { + x: defender.x+60, + y: defender.y, + z: defender.behind(50), scale: 1, opacity: 0.6 }, 'decel', 'explode'); @@ -8096,6 +8385,53 @@ var BattleMoveAnims = { } }, muddywater: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.backgroundEffect('#996600', 700, 0.2); + battle.showEffect('mudwisp', { + x: attacker.x, + y: attacker.y-25, + z: attacker.z, + scale: 0.4, + opacity: 0.3 + }, { + x: defender.x, + y: defender.y+10, + z: defender.behind(50), + scale: 1, + opacity: 0.6, + }, 'decel', 'explode'); + battle.showEffect('mudwisp', { + x: attacker.x-30, + y: attacker.y-25, + z: attacker.z, + scale: 0.4, + opacity: 0.3 + }, { + x: defender.x-60, + y: defender.y, + z: defender.behind(50), + scale: 1, + opacity: 0.6 + }, 'decel', 'explode'); + battle.showEffect('mudwisp', { + x: attacker.x+30, + y: attacker.y-25, + z: attacker.z, + scale: 0.4, + opacity: 0.3 + }, { + x: defender.x+60, + y: defender.y, + z: defender.behind(50), + scale: 1, + opacity: 0.6 + }, 'decel', 'explode'); + } + }, + mudshot: { anim: function(battle, args) { var attacker = args[0]; var defender = args[1]; @@ -8433,12 +8769,250 @@ var BattleMoveAnims = { } }, freezeshock: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6 + }, { + x: defender.x+30, + y: defender.y+30, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 200 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 75 + }, { + x: defender.x+20, + y: defender.y-30, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 275 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 150 + }, { + x: defender.x-30, + y: defender.y, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 350 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 225 + }, { + x: defender.x-10, + y: defender.y+10, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 425 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 300 + }, { + x: defender.x+10, + y: defender.y-10, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 500 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 375 + }, { + x: defender.x-20, + y: defender.y, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 575 + }, 'linear', 'explode'); + + battle.showEffect('electroball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0, + opacity: 0.5, + time: 550 + }, { + scale: 4, + opacity: 0, + time: 750 + }, 'linear'); + battle.showEffect('electroball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0, + opacity: 0.5, + time: 600 + }, { + scale: 4, + opacity: 0, + time: 800 + }, 'linear'); + }, prepareAnim: BattleOtherAnims.selfstatus.anim, prepareMessage: function(pokemon) { return pokemon.getName()+' became cloaked in a freezing light!'; } }, iceburn: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6 + }, { + x: defender.x+30, + y: defender.y+30, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 200 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 75 + }, { + x: defender.x+20, + y: defender.y-30, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 275 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 150 + }, { + x: defender.x-30, + y: defender.y, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 350 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 225 + }, { + x: defender.x-10, + y: defender.y+10, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 425 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 300 + }, { + x: defender.x+10, + y: defender.y-10, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 500 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: .4, + opacity: 0.6, + time: 375 + }, { + x: defender.x-20, + y: defender.y, + z: defender.z, + scale: .6, + opacity: 0.3, + time: 575 + }, 'linear', 'explode'); + + battle.showEffect('flareball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0, + opacity: 0.5, + time: 550 + }, { + scale: 4, + opacity: 0, + time: 750 + }, 'linear'); + battle.showEffect('flareball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0, + opacity: 0.5, + time: 600 + }, { + scale: 4, + opacity: 0, + time: 800 + }, 'linear'); + }, prepareAnim: BattleOtherAnims.selfstatus.anim, prepareMessage: function(pokemon) { return pokemon.getName()+' became cloaked in freezing air!'; @@ -8632,47 +9206,29 @@ var BattleMoveAnims = { var defender = args[1]; battle.showEffect('electroball', { - x: defender.x, - y: defender.y, - z: defender.z, - scale: 0.6, - opacity: .6, + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 7, + opacity: 0, time: 0 }, { - x: attacker.x, - y: attacker.y, - z: attacker.z, - time: 500, - opacity: 0 - }, 'ballistic2'); + scale: 0, + opacity: 0.5, + time: 400 + }, 'linear', 'fade'); battle.showEffect('electroball', { - x: defender.x, - y: defender.y, - z: defender.z, - scale: 0.6, - opacity: .6, - time: 50 - }, { x: attacker.x, y: attacker.y, z: attacker.z, - time: 550, - opacity: 0 - }, 'linear'); - battle.showEffect('electroball', { - x: defender.x, - y: defender.y, - z: defender.z, - scale: 0.6, - opacity: .6, - time: 100 + scale: 7, + opacity: 0, + time: 150 }, { - x: attacker.x, - y: attacker.y, - z: attacker.z, - time: 600, - opacity: 0 - }, 'ballistic2Under'); + scale: 0, + opacity: 0.5, + time: 600 + }, 'linear', 'fade'); } }, drainingkiss: { @@ -8902,32 +9458,33 @@ var BattleMoveAnims = { var attacker = args[0]; var defender = args[1]; - battle.showEffect('fireball', { + battle.showEffect('flareball', { x: attacker.x, y: attacker.y, z: attacker.z, - scale: 1, - opacity: 0.2 - }, { - x: defender.x, - y: defender.y, - z: defender.behind(20), - opacity: 0.6, - time: 400 - }, 'linear', 'explode'); - battle.showEffect('icicle', { - x: attacker.x, - y: attacker.y, - z: attacker.z, - scale: 1, + scale: 0.5, opacity: 0.2, - time: 100 + time: 200 }, { - x: defender.x+10, - y: defender.y-5, + x: defender.x-10, + y: defender.y+5, z: defender.behind(20), opacity: 0.6, - time: 500 + time: 600 + }, 'linear', 'explode'); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0.5, + opacity: 0.7, + time: 200 + }, { + x: defender.x-10, + y: defender.y+5, + z: defender.behind(20), + opacity: 0.6, + time: 600 }, 'linear', 'explode'); battle.showEffect('electroball', { x: attacker.x, @@ -9035,6 +9592,7 @@ var BattleMoveAnims = { var defender = args[1]; battle.backgroundEffect('#000000', 700, 0.2); + BattleOtherAnims.sound.anim(battle, args); battle.showEffect('mistball', { x: defender.x, y: defender.y, @@ -9139,6 +9697,72 @@ var BattleMoveAnims = { }, 'linear', 'fade'); } }, + psychocut: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.showEffect('poisonwisp', { + x: defender.x+60, + y: defender.y+30, + z: defender.z, + scale: .2, + opacity: 1 + }, { + x: defender.x-70, + y: defender.y-40, + z: defender.z, + scale: .4, + opacity: .4, + time: 200 + }, 'linear', 'fade'); + battle.showEffect('poisonwisp', { + x: defender.x+60, + y: defender.y+30, + z: defender.z, + scale: .2, + opacity: 1, + time: 100 + }, { + x: defender.x-70, + y: defender.y-40, + z: defender.z, + scale: .4, + opacity: .4, + time: 300 + }, 'linear', 'fade'); + battle.showEffect('poisonwisp', { + x: defender.x+80, + y: defender.y+10, + z: defender.z, + scale: .2, + opacity: 1, + time: 100 + }, { + x: defender.x-50, + y: defender.y-60, + z: defender.z, + scale: .4, + opacity: .4, + time: 300 + }, 'linear', 'fade'); + battle.showEffect('wisp', { + x: defender.x+80, + y: defender.y+10, + z: defender.z, + scale: .2, + opacity: 1, + time: 200 + }, { + x: defender.x-50, + y: defender.y-60, + z: defender.z, + scale: .4, + opacity: .4, + time: 400 + }, 'linear', 'fade'); + } + }, precipiceblades: { anim: function(battle, args) { var defender = args[1]; @@ -9166,6 +9790,19 @@ var BattleMoveAnims = { time: 100 }); + battle.showEffect('flareball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 1, + opacity: 1 + }, { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 6, + opacity: 0 + }, 'linear', 'fade'); battle.showEffect('caltrop', { x: defender.x+10, y: defender.y-35, @@ -9219,6 +9856,19 @@ var BattleMoveAnims = { var defender = args[1]; battle.backgroundEffect('#00CCCC', 700, 0.5); + battle.showEffect('iceball', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 1, + opacity: 1 + }, { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 6, + opacity: 0 + }, 'linear', 'fade'); battle.showEffect('waterwisp', { x: attacker.x, y: attacker.y, @@ -9267,8 +9917,44 @@ var BattleMoveAnims = { var attacker = args[0]; var defender = args[1]; - battle.backgroundEffect('#000000', 700, 0.2); + battle.backgroundEffect('#000000', 700, 0.3); BattleOtherAnims.flight.anim(battle, args); + battle.showEffect('iceball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.5, + opacity: 0.7, + time: 650 + }, { + scale: 4, + opacity: 0, + time: 900 + }, 'linear', 'fade'); + battle.showEffect('electroball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.5, + opacity: 0.7, + time: 700 + }, { + scale: 4, + opacity: 0, + time: 950 + }, 'linear', 'fade'); + battle.showEffect('electroball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.5, + opacity: 0.7, + time: 750 + }, { + scale: 4, + opacity: 0, + time: 1000 + }, 'linear', 'fade'); } }, diamondstorm: { @@ -9945,6 +10631,131 @@ var BattleMoveAnims = { }, 'linear', 'explode'); } }, + hyperspacefury: { + anim: function(battle, args) { + var attacker = args[0]; + var defender = args[1]; + + battle.backgroundEffect('#000000', 900, 0.3); + battle.showEffect('shadowball', { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 0.8, + opacity: 0.8 + }, { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 1, + opacity: 1 + }, 'linear', 'fade'); + battle.showEffect('fist', { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 0.6, + opacity: 0.6 + }, { + x: defender.x+30, + y: defender.y+30, + z: defender.z, + scale: 1, + opacity: 1, + time: 200 + }, 'linear', 'explode'); + battle.showEffect('fist', { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 0.6, + opacity: 0.6, + time: 75 + }, { + x: defender.x+20, + y: defender.y-30, + z: defender.z, + scale: 1, + opacity: 1, + time: 275 + }, 'linear', 'explode'); + battle.showEffect('fist', { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 0.6, + opacity: 0.6, + time: 150 + }, { + x: defender.x-30, + y: defender.y, + z: defender.z, + scale: 1, + opacity: 1, + time: 350 + }, 'linear', 'explode'); + battle.showEffect('fist', { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 0.6, + opacity: 0.6, + time: 225 + }, { + x: defender.x-10, + y: defender.y+10, + z: defender.z, + scale: 1, + opacity: 1, + time: 425 + }, 'linear', 'explode'); + battle.showEffect('fist', { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 0.6, + opacity: 0.6, + time: 300 + }, { + x: defender.x+10, + y: defender.y-10, + z: defender.z, + scale: 1, + opacity: 1, + time: 500 + }, 'linear', 'explode'); + battle.showEffect('fist', { + x: defender.x, + y: defender.y, + z: defender.behind(-100), + scale: 0.6, + opacity: 0.6, + time: 375 + }, { + x: defender.x-20, + y: defender.y, + z: defender.z, + scale: 1, + opacity: 1, + time: 575 + }, 'linear', 'explode'); + attacker.anim({ + x: attacker.leftof(-20), + y: attacker.y, + z: attacker.behind(-20), + opacity: 0, + time: 200 + }, 'linear'); + attacker.anim({ + opacity: 0, + time: 300 + }, 'linear'); + attacker.anim({ + opacity: 1, + time: 200 + }, 'linear'); + } + }, poisonjab: { anim: function(battle, args) { var attacker = args[0]; @@ -10313,16 +11124,15 @@ var BattleMoveAnims = { BattleMoveAnims['vcreate'] = {anim:BattleMoveAnims['flareblitz'].anim}; BattleMoveAnims['heatcrash'] = {anim:BattleMoveAnims['flareblitz'].anim}; BattleMoveAnims['inferno'] = {anim:BattleMoveAnims['eruption'].anim}; -BattleMoveAnims['heatwave'] = {anim:BattleMoveAnims['flamethrower'].anim}; BattleMoveAnims['lavaplume'] = {anim:BattleMoveAnims['flamethrower'].anim}; BattleMoveAnims['searingshot'] = {anim:BattleMoveAnims['flamethrower'].anim}; -BattleMoveAnims['sacredfire'] = {anim:BattleMoveAnims['flamethrower'].anim}; BattleMoveAnims['fierydance'] = {anim:BattleMoveAnims['magmastorm'].anim}; BattleMoveAnims['mysticalfire'] = {anim:BattleMoveAnims['flamethrower'].anim}; BattleMoveAnims['firepledge'] = {anim:BattleMoveAnims['flamethrower'].anim}; BattleMoveAnims['firespin'] = {anim:BattleMoveAnims['flamethrower'].anim}; BattleMoveAnims['blueflare'] = {anim:BattleMoveAnims['overheat'].anim}; BattleMoveAnims['fusionflare'] = {anim:BattleMoveAnims['overheat'].anim}; +BattleMoveAnims['sacredfire'] = {anim:BattleMoveAnims['overheat'].anim}; BattleMoveAnims['ember'] = {anim:BattleMoveAnims['flamethrower'].anim}; BattleMoveAnims['incinerate'] = {anim:BattleMoveAnims['flamethrower'].anim}; @@ -10377,8 +11187,6 @@ BattleMoveAnims['aurorabeam'] = {anim:BattleMoveAnims['icebeam'].anim}; BattleMoveAnims['frostbreath'] = {anim:BattleMoveAnims['icebeam'].anim}; BattleMoveAnims['powdersnow'] = {anim:BattleMoveAnims['icebeam'].anim}; BattleMoveAnims['sheercold'] = {anim:BattleMoveAnims['blizzard'].anim}; -BattleMoveAnims['freezeshock'].anim = BattleMoveAnims['blizzard'].anim; -BattleMoveAnims['iceburn'].anim = BattleMoveAnims['blizzard'].anim; BattleMoveAnims['pinmissile'] = {anim:BattleMoveAnims['bulletseed'].anim, multihit: true}; BattleMoveAnims['attackorder'] = {anim:BattleMoveAnims['bulletseed'].anim}; @@ -10390,9 +11198,7 @@ BattleMoveAnims['leechlife'] = {anim:BattleMoveAnims['bulletseed'].anim}; BattleMoveAnims['hex'] = {anim:BattleMoveAnims['shadowball'].anim}; BattleMoveAnims['darkpulse'] = {anim:BattleMoveAnims['shadowball'].anim}; BattleMoveAnims['nightdaze'] = {anim:BattleMoveAnims['shadowball'].anim}; -BattleMoveAnims['snarl'] = {anim:BattleMoveAnims['shadowball'].anim}; BattleMoveAnims['spacialrend'] = {anim:BattleMoveAnims['roaroftime'].anim}; -BattleMoveAnims['hyperspacefury'] = {anim:BattleMoveAnims['dracometeor'].anim}; BattleMoveAnims['jumpkick'] = {anim:BattleMoveAnims['highjumpkick'].anim}; BattleMoveAnims['lowkick'] = {anim:BattleMoveAnims['highjumpkick'].anim}; @@ -10444,7 +11250,6 @@ BattleMoveAnims['revenge'] = {anim:BattleMoveAnims['bodyslam'].anim}; BattleMoveAnims['rockclimb'] = {anim:BattleMoveAnims['bodyslam'].anim}; BattleMoveAnims['retaliate'] = {anim:BattleMoveAnims['bodyslam'].anim}; BattleMoveAnims['superpower'] = {anim:BattleMoveAnims['closecombat'].anim}; -BattleMoveAnims['playrough'] = {anim:BattleMoveAnims['closecombat'].anim}; BattleMoveAnims['scratch'] = {anim:BattleMoveAnims['nightslash'].anim}; BattleMoveAnims['slash'] = {anim:BattleMoveAnims['nightslash'].anim}; BattleMoveAnims['bonerush'] = {anim:BattleMoveAnims['boneclub'].anim, multihit:true}; @@ -10458,7 +11263,7 @@ BattleMoveAnims['silverwind'] = {anim:BattleMoveAnims['whirlwind'].anim}; BattleMoveAnims['gust'] = {anim:BattleMoveAnims['whirlwind'].anim}; BattleMoveAnims['twister'] = {anim:BattleMoveAnims['whirlwind'].anim}; BattleMoveAnims['aeroblast'] = {anim:BattleMoveAnims['hurricane'].anim}; -BattleMoveAnims['psychocut'] = {anim:BattleMoveAnims['airslash'].anim}; +BattleMoveAnims['razorwind'].anim = BattleMoveAnims['airslash'].anim; BattleMoveAnims['chatter'] = {anim:BattleMoveAnims['hypervoice'].anim}; BattleMoveAnims['echoedvoice'] = {anim:BattleMoveAnims['hypervoice'].anim}; @@ -10513,15 +11318,15 @@ BattleMoveAnims['hyperspacehole'] = {anim:BattleMoveAnims['mistball'].anim}; BattleMoveAnims['fairywind'] = {anim:BattleMoveAnims['mistball'].anim}; BattleMoveAnims['lightofruin'] = {anim:BattleMoveAnims['psychoboost'].anim}; BattleMoveAnims['dreameater'] = {anim:BattleMoveAnims['drainingkiss'].anim}; +BattleMoveAnims['sweetkiss'] = {anim:BattleMoveAnims['lovelykiss'].anim}; BattleMoveAnims['lusterpurge'] = {anim:BattleMoveAnims['flashcannon'].anim}; BattleMoveAnims['mirrorshot'] = {anim:BattleMoveAnims['flashcannon'].anim}; BattleMoveAnims['mirrorcoat'] = {anim:BattleMoveAnims['flashcannon'].anim}; BattleMoveAnims['metalburst'] = {anim:BattleMoveAnims['flashcannon'].anim}; -BattleMoveAnims['mudshot'] = {anim:BattleMoveAnims['muddywater'].anim}; -BattleMoveAnims['mudslap'] = {anim:BattleMoveAnims['muddywater'].anim}; -BattleMoveAnims['sandattack'] = {anim:BattleMoveAnims['muddywater'].anim}; +BattleMoveAnims['mudslap'] = {anim:BattleMoveAnims['mudshot'].anim}; +BattleMoveAnims['sandattack'] = {anim:BattleMoveAnims['mudshot'].anim}; BattleMoveAnims['mudsport'] = {anim:BattleMoveAnims['mudbomb'].anim}; BattleMoveAnims['spiderweb'] = {anim:BattleMoveAnims['electroweb'].anim}; @@ -10544,3 +11349,5 @@ BattleMoveAnims['rototiller'] = {anim:BattleMoveAnims['electricterrain'].anim}; BattleMoveAnims['flowershield'] = {anim:BattleMoveAnims['grassyterrain'].anim}; BattleMoveAnims['imprison'] = {anim:BattleMoveAnims['embargo'].anim}; + +BattleMoveAnims['secretpower'] = {anim:BattleMoveAnims['technoblast'].anim}; diff --git a/fx/flareball.png b/fx/flareball.png new file mode 100644 index 0000000000000000000000000000000000000000..dd0da7e63d4444191573a543751603e9107c6b1b GIT binary patch literal 11984 zcmV;>E-%rEP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z001NVNklv|l=v1CM6H9(1?L|L+BpZ&4Vv5&Sda2{=6#cLm5WJ#n*OlQXa z$gG~4M$Z70C|PI8ufHBNfWdS{xA2d3%wOL+?_ZC9I(U8UJYEaGk$?Z| zKZX7q0D!w|Jox_6^*ty@3$5Lv-@5*r0I2^PLAZ9<6K6g{LdL?z6K6dGy#Mb2Iok0@ zi#;Fh;MyJ(9!Q9;fH5C_aP0^z9)R@U8jxEOuwVSPd)*GM@4>kyA-V#99~`lJy$9)< z^!&F1Gc^%=(b==B~PUIFDuGWGzhbsW9+4+Q5o56DwM>_M21rH=Xa{^$16atn}o z_piIfKh?4BUhjYI2%KLWnEnfZG4JBBc=OI*cE{bp>$@FDdx@F<*7z6G*$==Ni~n%& zdcHP;G~QzdS<~Ob#|EYULQ*jUv6q6o>A0_J_tP<7Uv|K>15ozHcdw=%rUiZg@P0av z<1}4=*a6h)cR2xrUrJi~M+9T9n)F@x3X_v`=^9sr|X8<4%NI8sl0i5QFhX&s*ccv-JsPS?iwk0fTi-)v9z zDr>eILlwgzYtwOL)hn>ND31k5@~>1H1Ki-(LabR&e^WKM5 z>;6U19^Y&NA)*125;-q%2~fm+1n%qay{iTPM}hILI=`IM=Irt9K{@g;*PjbY{|I2* zO;Rzy7$Cfw7XEb|U)1pxfG_LyLI6g{46+7T$^%G(q#%NwNQe?7aN3{}G(rQ#!EBE2(<JAO(F`y%5eBqL zw6iU_s9l(#5HO@dq6RSTj0lmA0H>Wc{sU}7H~MNGlmZu1<7kti~{7tSdd83D6x8 zgc$`nyLko|jzzh__NkgUs5;&%aPdO{xn;=b4DHLEsv3s-_azwv4E08tm0Cg%vjn5H zo*TxDE0$L*?Ll+?^1S2|Qb*in5a3Y+P zlS?Dpn!u2xlR+9A#1$ZOJy%B;@J%h|dH}*x)kk{{DE$dH_b5O0a&iq{Pp<7(rJ^pu z=naMzM1jx}gw}hQb+y*S)@4?J^hIVCR1ema?7)t)ztvx zi^+Zr+i|uT35E6R;ZVp9c*}xE-WLuD}50^2Drvpi`TT;?*xVi00uIjT1jN$5j1K{(<;Z3!&8L5T_7|nXL zw#a%9v%6^4)mjhh?F>Yi0ERV2fm@iUteG&SRjMGux>#z5Cp}bF{PqW z0LJ-(-;ik(43VKEvenr#y$CAUWRgrP1j!)5Ix=k&G(Rb7DN?m8FqH@A4qAf{QeOgE z!3eyr`=2Y1b47Bm(tN5k;uat{h&|>K?2BFOF&p%+kbaE}X*Y<9En2B1>pFvR7p*VR z*n?moENB)aMOrZTY0y%AfoV@FFf60U3wwUH>qcajKEYs6l2Hn2laPS1L6KRb zd9$lX{M~V!QBso_FgHjo_ovEAK-Se_g*WTKB9jK#wsbB9znnn1JE*Df$d2?Y>S}mc_XjEV5uN`Iz@1%WZ8I9r zsJn+v-c++5&3X`YTR6aQa#LAhW}YAvFa-v535qK1ZXAUWu~a>60s~Ue&Ju!DU&^#Q zRQdOUHqaKfI58SKWHKzVsXFz5d8pF(WQ1B1!iC5M{|dlAOM`r0po}8d%wTCdwRKfx z@gQ$CN9TK&_j5C-HHa|TU6a8w3h!+T`r6W!u5FJp-~w!b;WP`|q@yJW1q{h3mp45y zFaW{`WnJVfB4%LLL12Jrl!-FM85BuP0Re&;qzHuBrp?nhrIXN>PPx<+0zyJZ>z)-9 zg>cuP_d;vVNGbVZsy=?Ut2!4Fm2pb1Efc0>jThoFxQi0WgqiQ2+x0q1ise0IWf_1Vj;86>e%!1fYh5t3gWl z*#MhCAxHxhpmjt;K)xVaz#>e&%c3&JYmk;1V@m_Sl-Bsiv|gW1G^XWB8vnxE>QCgZ z?sqZB%aV>)M3!Ai$`%XDLerKgB+Juc3qy~|9;7Eldf5#xF!CDAK?{tZH;asy8L&!C zbp!OsLm_%&W(Q@28PkmlMbaJsH3|YlFl!@BV?<^vMOIakAYtenkFRw9I9@!APqOz`$7?>2Dl!{Sy z&Ek?}3Vq2$Az@ntZry?^$;czNbAqv!bU3XA%p9`FYZfre^od!@#|TC?(iRL6M5}Y= zYz<^1ST3$$4IZ9`JoEUBAsHkC-54u^R4#a5Wa08t6V1oHGMMFOhS4nKnXMnZvY8%x zcSU8{H9)vymLKtQH}`i?b%q73va4w4x(3-Jt9~UND0Kw}Te`N`JS=n2){>&Nz*wP{ zlEEy3118ueA)2B?R)IaTk|jgtr35kAT~-zN@N@;t@?A3Z;>l=HP+0+Esx7fI%#B$R zaOu<()P)TW%B8x_!E{9eW1G)x^CAKdC|%n!;45S)Auzv?5Nq0`gf{1QN5ozC5s_rn^jdLF z6?T}`Ecc2ug#v*PNrqAu##suU>oRM_T4rD~@l^Ml_swk`&b*{+s_Gj1@oFw>--!9B z^~|iewy9rpTPDeE{*W2D_l&Zk)WyS&%wVvM>q836L33a_tPR7Safq2x3N}EBO(!8x zTx?{_5i@T~=|M?BDg-%=RB;?GKxquEwEFDWfiT@K#a`C2L6$+{{XrL4zak+#l8|e} zhDX3`ib8}u`L+|0EsILcL_-#tI=13cF1`iN_NP)Ms5qkl!DPr23L4ie8 zP`xB3uSZD-Eue})Mogsw0uUmSH&h8OFbL5>OJF<##vm-hmC~UChe=prOI0<>$5DlW zxW)mt#9SG4_n0fzF-#}d*r`{>+@NT=D%!!@EN`5kIBVTIrZ%A5gAEe{LGy79}BzH zGd2Lm&!2<7Nu8i1g+MdqqGL$TNTuZeR?$3dq#w`kHF96uXU})Hu}MT7HWJJ~Z#?H} zw3+caYoKSYzXj!$;ELiOOC8pi8-JC!jgNzx}3FJ+kpqku}3qLLR z`RDTY&Ju8b-`(O(pF@)tcuZs)T;j_$(G!IAXSX8k0nv@-ljlz=NM;5O`~P-jSMJ|Z zI$|zN?}2wIdmRPBg@(fb;|%WD*K2T+psL01y3lHcVm%9>1i*?RQ7L`- zCRN;&_w%OMU4UW-&Gy%Zf30VOAdc=ausW4$=Tu8TIV)A?_MJp!*g!%Fkc~yw`8;;A zYN0g_&+ofuGO-wS@VYK16n6Q0BMU4d0^8rQWK0l(q5wO$Eas+Df>L=Zs-#zu6xF1v zo~cN>?8cqfPgirwAx zwP-fnwlFAc`#!S*n2YUs4kx0{c|FfjAXRg3rd48m4$Hq&?^|08tai9!K5ks$sJvlA zI(MUoak_78p7MpQJRP(tT$7fI;N@E9&pdN#P$C_KNupLseb+js95*7REr|fF7Z^U# zJGt$)WQSy0iB)!G6_+x)R@jyqFhdd+hPt~LmqiE(RK8CusWK?b|C{7MM2LzoLKfPj z9<#)@wEaE>?aKJ5KL<0L)%ea0JL+D)!^> z-UE1uzDjdM8b$$f~cDganAK)~0RoLTuKK8x3f4 zVT+)ZMcp9*RS)q7M4JE^>dT}8C6bb?NR?Tnx+GawbwTTPe_1F|WlRSsLsfe^dVbu%QiB!W^#oja?v0@oARzWK!L)N0zIUH zh9Wy*1ZV+*q3Veq(f1bWl|8Uc%}EIW!Zu(c8W=7AUV+4v5aj3L7&-tGb*k?*P-`F} zAkQ*R-8V1R;q1T7tqDhf?E4QNm2h>%Zp?r@6p=V0K(r*I$s*65+&A=~v?8L@R?(JZ z56Wd=vd}RRprtarP*X&v=SC0HsPwVw7+IQSrC0Xxo>iPtK&X|?Xd5U@CqNN4e~yEL ziafK4ajJm>T2rNYK<-pztt-u1+RR$VH@kIPuQcyG3cUM4tZ^hA4>%9}dJu7+Q!J`G zNn%9qpokzNvcdA+DUsGnRkb2N(@j~zngJ0MO^XPBD%s;LJj}{-8Si13ycs&w^)7LWA(XD20bal6%62^*6FBu$FJCuLmM)8j_$#@ zn8X%=7vYdurY<4^rZB~-P$Rc)*G@{*vPpxWk{0vE>d$~B{Y^9h>IffgGeo+`Ui#c7 zUe+b+WR!6;zOYR?6b6PNqAA=YwPe4C2}5^Au|i5|tdlDrfidM|U2C0QdHpCAC z_FiRq7%dnf6N0gxEF$^gS~m&dP**|>Fog3|y18-ZsEaC|>tzj<^|0%m8#4*N2kAk!ICc%VKpJah;Soa#7e?Ui=y1ort%yEXl58}#0?Z!_Fhu*;uMq^QgBAbBfz7? z-C!=743Vl!3C6bYhzX2{Cb>lLXjh7vPfFhzSWa(z0bO?QE3>J;l_y6t^VE&Mwh&RD9Pa2s6(>Anj0)U z31&5pL&IK65qECG=b#1a$|BcZ1%?FVSZXI;zU2K zbazIq=BqPm%u}pRA?P(Suq5MKTuwKAH>s_?%DS4%!VTB={SJ_Mn&;mEyb9sYU1Sd^ zl5s{ei**Hi5|RBxVliV-jf?py8z+;VgN+OkgJ_%7QUmFOyoQmt)J90yN-tADhDeEE z6$GfbaBs^_XtFC|rN&yUsj6HnJy!bZWD#o~>xxZ%g;NN)Z>@9>r8UOdTr=u7UEU)J ziGzgVK>5vt{=bTL|7`@maRL@0w)8&eUUYI}?Q}2*KMCkWvyNDSwh&u2LNo*%WCfkA zD9^g(HKSU64A{;ZY=>!GOd{N7=|5zWO_^}I8SnzI&ry4 zNOq>TnxmC&u$9eFN=AZlqI*h+Kb#Vfa8nudfauz)f`2aw8Gy_xYu}@OQ(f(C2%k_} z1CTfM$3K~S4Y{Yh#uzO0!L^kS z)=6xk#r++CEVvwsKU3~sl$3nN8qmTOFe5#q=>%dy2(Tul zhF^kmu_0*a!OkpRkrvKiRDa;gGuIZ>An73{Fs2G0qQF=yeSX>!g$5`i@KqMbpfBQN zWx(lW#Qk)ldwN(3w-FSsIe3Ppy8rJ4#;mfA47xvMKaNz^K0q8#1L%{K+|`FUdH~D+ zTpf353L;=`7Lc!qQDbO#3Z%NARM|vdXbd)V5yt8%v2xl}6wUImpe$+Zs5P+zCFf?b z((6`( z_n^^ z3msd5YM<@(K}Z*41=tb*G%!w;wN)@}MDBX|kdl?Yu4m86*Gvb&8LMM;am}3PLxJ(v z9T@+b(k8QXtWQPfw?_Q!)fR8GC-f_gC{4g0S4RiL4$rm`liZOrM_Nu_R}ToC7NKAZ zEln2AZRX-?K^S?;nTvykE)aGwoG{k(%hZY|cLIg5Eg`r%r8Llfn$jUrURAob2^2^v-!iEC8)lX7y>BwN^%CN(8ng3K?rf z;PTD2Rd@m;A8Kj_#k&ytR7V`BHI6i%s>qc(+W6Q3pEo0H>C zfOT^r6xkRlWaD~Bh-}8su@#~@b!w6sfwjiN8qBG|EjpOnON6w6A`x&zR1Msd1{5`~ zSL-&n*CHGPh{yn{40vEIFlu4{GO4P+)$#4*>i&SsMx05k{xWP2}Nu$Pfu&^s`KTMcc5|s}C z{^Y_dtw3WA|1z^+1aQ|FYlN9GENXCaPD^04^HUQ>8(Gx6tT^BLp`hK0J5jk&!7OeA7-K}tjCd{{Mv<=Qck&O&CMdDhn$B% z%kl)bsjbwxAD%!`c(a%9JUBob@td23T#(rYp90WW z;#v~%^ivG^a{<}!_@{az^aKrcr15_M@O4SceF(6M_sk-P;|~zV-1kms9gjdcsZu5nBrVpCu8qBz!y7I=(wlQ`b`L{#?89Qvkuv(DMm* z`6y#NCnGG@=%LBr_lEx{A()A{V>&so||6(Xn z1&VI8Gt7j$y@U)Y`L5<~{iA?+1>my?dI;ZCtvVa&r7ZZu? z`|0n$!R0dzzdr!s%@p+gh~vrC{&T_j5I}C(lWWPzy$yNT@w?^+IvzdcbJSX1L~H{j zTQ%iB=hOOuL-FHe$KLK1dw$C2+vz;V7e^_Pj|Rqv0&)b3o}se#9IwG*d096-4~(3r zu+5LH8`)6VOf3tY2m zx+NJ$^9uJVn-Qo=O^L|(8+D~BHkH&j0 zAba1RjXvJ)R2jE@P(HEGe*AviyWX}wbH>NuXjc5C<-p5a*d6{&gZ$!fnE z5WfT<&jDtn>;0fKd{lXyuMw1D;5WdD4+P;C1LBtiL>x0v-6~Tz7 zpGSM`>6_OU|EN{@R|DeL0OT4l^Ve~s;C1cHCo;~!^=H&RHFxCbY0tmvzy2%!t^K2{ zj|O>N8}xNeDtIF^eQS|#P3HO4LHKt8at$2ZSm;~R*PeQ~yq-A!CII-Y0P++-xB