From 3d970aba1f1e9643f1900cd58f218753c8c5c71c Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 27 Aug 2015 15:54:04 +0200 Subject: [PATCH] Fixes invisible alien leap --- .../carbon/alien/humanoid/caste/hunter.dm | 1 + .../living/carbon/alien/humanoid/humanoid.dm | 21 +++++++++++++++++- .../carbon/alien/humanoid/update_icons.dm | 16 ++++++++----- code/modules/mob/living/living.dm | 3 ++- icons/mob/alienleap.dmi | Bin 3985 -> 4035 bytes 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index 018c37e4ad6..52fd9ad29fc 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -110,6 +110,7 @@ if(leaping) leaping = 0 + update_icons() update_canmove() diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 7d8ab9932df..b88004e4a2d 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -7,11 +7,14 @@ var/obj/item/weapon/r_store = null var/obj/item/weapon/l_store = null var/caste = "" + var/alt_icon = 'icons/mob/alienleap.dmi' //used to switch between the two alien icon files. var/next_attack = 0 var/pounce_cooldown = 0 var/pounce_cooldown_time = 30 update_icon = 1 var/leap_on_click = 0 + var/custom_pixel_x_offset = 0 //for admin fuckery. + var/custom_pixel_y_offset = 0 //This is fine right now, if we're adding organ specific damage this needs to be updated /mob/living/carbon/alien/humanoid/New() @@ -336,4 +339,20 @@ In all, this is a lot like the monkey code. /N /mob/living/carbon/alien/humanoid/canBeHandcuffed() - return 1 \ No newline at end of file + return 1 + +/mob/living/carbon/alien/humanoid/get_standard_pixel_y_offset(lying = 0) + if(leaping) + return -32 + else if(custom_pixel_y_offset) + return custom_pixel_y_offset + else + return initial(pixel_y) + +/mob/living/carbon/alien/humanoid/get_standard_pixel_x_offset(lying = 0) + if(leaping) + return -32 + else if(custom_pixel_x_offset) + return custom_pixel_x_offset + else + return initial(pixel_x) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index 4c24b06bbe0..740c3e5ce25 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -41,14 +41,20 @@ icon_state = "alien[caste]_s" if(leaping) - icon = 'icons/mob/alienleap.dmi' + if(alt_icon == initial(alt_icon)) + var/old_icon = icon + icon = alt_icon + alt_icon = old_icon icon_state = "alien[caste]_leap" pixel_x = -32 pixel_y = -32 - else if(icon == 'icons/mob/alienleap.dmi' && pixel_x == -32 && pixel_y == -32) - icon = initial(icon)// ^ this looks odd, but in theory it will prevent the icon and pixel_xy from being reset unless it needs to be - pixel_x = initial(pixel_x) - pixel_y = initial(pixel_y) + else + if(alt_icon != initial(alt_icon)) + var/old_icon = icon + icon = alt_icon + alt_icon = old_icon + pixel_x = get_standard_pixel_x_offset(lying) + pixel_y = get_standard_pixel_y_offset(lying) /mob/living/carbon/alien/humanoid/regenerate_icons() ..() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index fa834fa581b..416dc1626cd 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -936,4 +936,5 @@ return initial(pixel_y) /mob/living/proc/spawn_dust() - new /obj/effect/decal/cleanable/ash(loc) \ No newline at end of file + new /obj/effect/decal/cleanable/ash(loc) + \ No newline at end of file diff --git a/icons/mob/alienleap.dmi b/icons/mob/alienleap.dmi index 3adf4ff7597a816d781532c52435ca8324a7fca2..da092d4b9bdf2993bf1295efcd5614abc5da8b3b 100644 GIT binary patch delta 3665 zcmYk9c{tQ-`@pq&OHARUXgEo>G{{zjHYA1<$vQ^H8iTToZG4?%DN$q1GS(2$l#C@b zBqL;*EF)sFuVWg6%$S+)Pv`vJ>w5ovuKRwT`+1)0{#>6MC(|bLOzz5szszqLwY0Px zK6uQ^DnV1j%)`S&QQ^YU($dz}76^iWN~j442wZa(unrW6s1Qgb320sy@J$!6#R%+V z`Nkfz!=cj8y)(Ub`BrEyeN@I4zx^@mka*u*(7zM3IA6v7zDs|}-)8AJ7?s*~ zxEZc$)t)}l5VfdwVvyvx2C94?+=X2tC6H{}eQ{E8W&lpw&jyBnMU}3(lzDM@7Btm_ zs?OGOf}-VcFD3_)p}BG;<;8KV?rA9ZzI5qFdEt9bf`l(1E1-={V)ZX4Yx-Fz%|g%2 zm5CE@1R?~f4VR>k7i<4e!UeN|qi0R~aiZ^o11zHC24SnBpkI#e%O+!`;T{*dQ+G%o zB^1y}wb_X?M=c(zO@OB~4n)u7j^%P>eET+IpS#lA$m@}A5~apZmCjW5fvKS<9bY`x z!zrttvF8JVFtPKPd@u zLTUi^Be;{LGyMGec!Hz}$!pccEHb+rs@HIb4;*jbq?rl&jF2_#N?9(s$)!M##A3tw zbEM0)XEnd&{WYOG{GmdHA&53Jtv%4|AM3t4Ltd=w1@|B>5ej**pd;uswm7XLsrNr) zll1sfCePQ7)8ed=f$_NWA@li_CqxZ90(HKxT(LD`L^h-3wdQ6Li$pWd%jkz$o^!u7 zYW#g>h>c!oe^K50lYYj@pa9TBjYmtOdm8*~BnMHj2ilR63(r7a$Vy~7{l(C-y0?KF zado0SNHpJvpD{H@s(|&;_gQ}q#kw#}sdMWCr@?LbSrc@GHWoD|;ck$A^nh8pdA@%2 zI;%+iTay$clf=T8QTKf5%#R&2KqUfBjofyTr|LR}=-vfJ!EYo^Y1QY4xewZz zpj)hEL%P<+)`**v-6CDcI2JJP$9u&LyrHC%K+w39h#Kk?>_zs;c^@3^*lCL&SJyHN zx{W)ah2z#=*CTO3yGxQGArLoQspeAkd3gY8p&L`uF1{@nMN#}<5Hfq>>M$YTlFT*= zNY?VRueA5T^dVhqamNA))-?;wUhChNJT#qaUYvbtH102d%x6G~>Ny#V3ZZdL5NciG z0}tI-jv(8XaTG}}F{EHIdHrA*?tZydVn29yQ1I?^$E0u7cGOnAIm6^K^>4>N^RJ(v zOC(J%d!Vjf528^5+lRNNU#7ni^HO>SBxf(?cwDs zfEuw3C+{umZfR-yUPSE)l8~OMf1=^&^9Gof!%5obIjWocdo8`5PFE{?&rnBd=@&c9 z)y6sCz=gAg`bX=n?T36%IWsBU`gI%Y7-0j#%$k%;&6w00GwQ$$JdMo9_3jDj21n!Y zglc?ExW0T(d?k$8453D?u(Y1>QijZk zpO+Hy|MfAL7homwk{Wjq8^cGBw>29! z>Q1$V+3Vds9i$7pRZ6)(ys;XM;xiJ{r96M}HgCcq4n4Ba-C{C3ZJ+@tzBvD5N;@iu z|Mb(-)*&5N+ccl)zyIJgunk9B)UH`eme=a^KR+9=5waS6>F{bU-RM=|%JJFwIZ|no__9az z(fO?DgD~oLQVM9>T2>#%Cr>3l zLBU_%TTh(ZJ$n%tcz1mUGzx;iSi^pfe|4E!h56WSR}h*2%D3D1mFq|Cj2t-EHBVo~afbdN}OKKYAg0ofYy zx5aeO66V!`;6Uu zZe?0#gsKkHIR&atjdkF=?V!r6!gff{4(uLsNsnn9s44bfCKlb(J_C4hJ5ubBC)dDp ze9Tt;CmF-ri0gc$=1*uB>bCq9{y)FjcX_?<3lLttg~{>#YF@1NOSW%z zz$FsxXuTVZeo|)d(B1(9Xyt4u#2}_EB9r5T=a0aCa>}l@8+cnucoPaSYtxuuYf!rQ zrgLvwn%(FtpejZ%zjY^8?T9 z$M@Pz+)bI}(!v(*nOFndN@#9GJBjL+Mk6^})15Kp;4*=RFfLC1ll~nM@oNTpIA|o! z51N~re}kCV_=z-DDpFy{C~AKatTD0-^2?}RxxMq=W9p>$6cyc=jePv*fK=xNhK?^* z^K6$LW;W=~(rw_8`uwr#s93~f*^`c^T~~w1L#sna*BLNMm#5^8ov#H+u{V9e=Abtj zCCo#$j-7m0YVZB<``-F7^S$_GakLP;Rw1qK1CgMtM+HvMc@DWO;fV*UNmiu}>(l*Y z?TjA$jDsXe2ytyJwrTzu6qUPXAd@Fu=ho>Z1`sf4y zz4s&&-0QXRGtNBVk8t(!N{y!5RI9AFewXNffn$-^xa}rQ(p%UQ zM7paU(p}GcBiuY2VqevWQO7r3E3wl7Z8pN+M(}vjl~8+b1>G;w9w^K);vPnp`TK4c z{U+-jCH=8U>5!Ko5#Mg9C6f}_iOF+@s3`zP{kET+<=>;PNi-vif~vsr{i@qniUSa= zbQ?yR0YqYy?3j9GjDztn{G|{EH+16d-?2wXU2bqQh)m32o?Z__TICqe+b{-0rWX-! zhdX*1KgQ&C|0@=UDFlYt+?zN^H%aG!Xo=nNf&|HzXb*@sIK#$x&OSOR$E#3HK}=@u z|83!hVSL_VlJHf{kXKr#Mc8Z*bbDJPMu5EDkM`>vxU-FTzH?Xegq%e(~e^cSE4T~mEG@p8EU2$ z%Stj+9X|Z8&%#96jLw58-TDi^_#7>=8trCHT?kR5WdcHOm}ouYcBFg1z2qqnzcrFC zR-40wdjgWIfflG`@IKw7>QHS;fpp-J!5lddI&zF8V#0iT*OFcL%{G0WAyoQ|$!VEl z6&O9*x!Z?GMcCIgt1N>ExAKACCYrNTS@R>{d&B?h=TPM5K!wrNd0GzLR8^$?_B1>h-I@yk#EXg{S6d@cGGL{%(?6R*hKcOVDghSSBA;Z`mMn;t7 z$S!0oX)GDWAY+&@^Lw51p7;ItexB?3}af@74z0-Q7Iwmnxcs4+{>u%9d)rT$5u^mi6LtYbeL)5sS=*<4-&oGl%T(&)G9N0zXpnEVnj2a zuv`M_ZN_pUt~?V%qd8NmK&gWFZ4vm<0WC&k&lNPU>jRvWjyabFzh_8jcsbC_XbPYf zS<*>6%6qARxGVcBbGytA?zRuA7d(=gkthboG71c35n-K$GAgo^Rh`Z3&DjmDj86ffb)82A_tKpZ4!cFuO2&42o*WBE0AwOj`~tZy zT=rM#+T4V5!DL=c3VO9e*8@d4j9`|m4g@OO>>q1B_{UoGS`{a<;(9U-JOBdc%VydR zD+{;E>5ec}7ycx*?M0AN`i* ze-xUdm3-Yli(IAFU&sA5whpjUmb&>n@t4Ur>?PGqpx||>7b+lFmCJDcRa#|(` zId1H&wQm>vDrN=R&C21{OFdSDpKJ`+A9uJ0x`eCIlKWhyEx0{=^h9$S$83r-0Ib6u z%_>InIPvj!@iZj?0KZAD|7i#D{-tJt8eH(R@#DrtW0Jv}i}$uW`m5_8v!_KD9(|PD zgr|_8-R+$9GwO&Ai<#odu!5GYI@`&BBBZrFd(Op6cHk<@0n1v`r^Z9_kS;yVA>w7x zsQJxG8wykLus(e*=&$7fR{c%*o%3_L7bCT&_;>Yb&%X6=3j2Hx_SSHZC?D~G8hrsL zLqN>CVTSlL0U)`RxUUv)3Rx$^yRKs%`?$P~N=BJYb zcYBdb{B1lY1Np>T(xKx@tq%`qG`5I*s=lMocJcG~yG>yd+!_#{ba}rS>cyUTTnCQX zH^HxZ8{!O7MBkd{A;T8^*;^od;RxlGeV<&1?sgclSQ9Zd3%@tQs9oeG0 z;3rfdxP<(a3V_>(`s=QDDzbPTC>~Ih^xg^b9T2xUaklEyIu?AjDSYcI_Ml$RuxjyVhk>YefGsuS#( zk4ULE@3Hi4IUC<)GR|ejInmnRJXTafkmkXQ2imH4jn=`{;yTzSK#s3}+d(0wmsR5j zD(ltieZ_cj;XiSarlua%2!wrPs7@QwL5s*f4QieXXg%>lDq`h?>HU3bDp|Wh&hP`! zRqFY8nGDPfr$$?)(L?!>DHGr6wS)F+NS<3vOLt@GV|6b%DJ(sW|(A{29rZo_yq z@A}y;S{_jMjL~Su@0XQ2K+)L5r!M@R1zhW2)0g;slBw_6G}@TO8gBkD`KgnNB*Oev zB)hnDETEr8JmRY>r**nV>#&Qzhuv_HONL{kMXl(ca89(bO|`I;uB>*&>88!47C?06 z@c!zbhv2NP8$n?mQUm#ya)#_J-^k-KWE5Q;UwH{XClys7Qlz#umR1MW9rnEnf%pt7 z<%j-|nE~K&1ru3iicecTPI7(b4a5OlIJ=jhYZ)RkJ6C43E-$>Vzlqh=PZtTxBW#~@ z(UdR_Z=J6=9;0G{XL;vHB>%C$A@-xZu^Hk<0byG!eI#H|h43idoFTpe;o89yic52> zOOJoh^h&8ETasE9ctW66o&KJ+&Hi($e}X@^t(n>Vi^Fk4GD_K&)7r8uTGyP;d2hIH zU?412pkXvldL%VZrcp%o&tb){-Px*~zr89qyUS@WL;M%U3dU7IeuYTW66i{;p<;&~ z3h+r6wTtI1L<>RX%ZW};ssL%TlBL4tojhm6v2&uiOQ|C_17k_R7M4y8S~YgLWiCRs z(kfUZ$LcT3fBUAFvu6p`o-Y{d9PV9v>JdmoAaNA(l`vSEVc1c z64?_cd~2#j?JvGllqJK@`e&#z0!IdXFO+Ce7mcOZemHI(>eL~f1#X96GVXyd4;zCO zslh_qa;uIFZ^H`y2|KR8>!DvpqcCTeK=^wK^Lro$y!!hU{?5g5vDyPY69P87M8^eg zyVI||{?zrE5ux*sOe$=xHD{f<3;BTlzky>ttLT=pXQI>}8jms>{4m&)f_?;Jo6)WoCglxTcBSb`CtX_HJo-raHrYs$ zwK~)CL~S63ZRSHQk(*2MO>chQaTc@rvc9rAu|Khwsd9(mCHTF+vX`YJSNRzb?fGzq zXLCmkN4mSE(&;aui-?u3aCAQSxgBUC8_i&(|A1h1iX&5yL(E z95PjoGsEn}V+=5H_?%H4nWwr@0udm-VMV^;I0`(BKo8H8NFvK{T8xff8a>GF4TaXK zsU65If9lvBwu8$VVoDHU0Law>EaQe>tm^tY$s!*XrL(BjP0Ry8NjA2$(^IU6YjZq3 zz7CoaK3x7MTY|qrr8Qna@Y{6-29e8iq<%6f+j5i-MFgoB4%myBDmqzXq1#ad$?ovb zcyEFt?uxQNG%6UN5t3QeJL0>lcQyB&OJ>C3UMnqQiDe_K5r8dC|F??r*%!qIZMl2O z`FeY|$%j>UdM?B2KTq!e3V>9lVe{RdYr7}x)}HMX5yUOW`5|kK88UrmOjA_eQNI_t7)`i zhKExZLc`-Sd4P%N!e&jJj-f5)?h7-@wQrdG3guSuY37W!X)PZ-b{1)-gcy70YX4j} zLHj!4|BHoFq$KO1iG)M^L+ua+l;Dy_GhCoRPF*49OQec>cw@R5S^*Q6=ofE}_rOH^ zty@N8G2@fMX^-S)B}rO;zl$Y4$4&iZ>K=)x)3v-B=z4gv+$rld4NN|Oh-~=N zY`6!UQ7P@b@S&w66t{dlpFjR_r~66B_UCpb&%UQ8MpQ!h7G6Zrna7=DVuOX9(OLnX z3$m5Hk!ma9w}bq#by-WaH%s|ngp)@hxxVtaBi{zOu9zdjeY%T4i4GOXs@bN=Hrq}Y zAPEum+i>-*a5(a6RrqnWj%n>?(h838jiUGjSw4cCK>lkoWLzgQiF|&`ld~xahF)@b z{*Rx`CdyX6xw-Vg!f`b-B!zOGR}H_CMIYq5O8upF>i9dEmiap0YH~)xZ*+NJSRwXA z2tNbGCRH0y#ME1i(uSeF)5RynLX;Vt1c8wJ-Lcpvee3}(DnX3aviu8$K&Ej(qZt6> z_~+u<&-a|(GoNV?sIA`Nbi{DY3|JM=ye|yRs;AMi5yOP`U)&5n!-4Riorl098SKWF zO^Wo>?EmI(Z4mMnr8Gvy62ORsPQQ_z6c7EaCTgER*5VNF)5uR~nV75UMbFxOv^Lqm za-Y_cb2{fW=ssARReT?-UJV!*@3=!g3n65z^IbDl431D*`Wd`_sXhZygTq3~wEHpE z#K-)RWGY==-fmh#M?A7-LAJxD)+=2Urq5gWT}WMCis-cB^q#@#mF%Y1I_S@7KVCdn z5^&}MF)G4P_~bz5Ooch)6`3!{9&^?tsQz^I@^o|L%ah&|%bD*1(dm`AIqE-YjCxf> zdHUg`+XIh&4SKj60Xw@&d;5Ly=JJ>=&f7b&)87W|gjIe`9Df^KFdS+3eP8JfNg^FS zgPGnHx74lYkkDKlaC(pQ?^rm=lR9-mim(8B6@aNY Wy&5n$Ry_IYF&P_}->%bhj{6TNt9=Xr