From dfa292188f260f438da2e2983f49779b0614357c Mon Sep 17 00:00:00 2001
From: MrGloopy <155857749+MrGloopy@users.noreply.github.com>
Date: Sat, 7 Mar 2026 23:54:48 +1100
Subject: [PATCH] Makes moth eyes colourable and fixes HUD implants on moths
visually because I was eyeless to it once. (#5307)
## About The Pull Request
Literally title. Tested with multitool on robotic moth eyes too, works.
Also closes https://github.com/Bubberstation/Bubberstation/issues/5229/.
## Why It's Good For The Game
Customisation good. Bugfix good. Both combined is good.
## Proof Of Testing
Screenshots/Videos
## Changelog
:cl:
add: Recolouring for moth eyes. You will have to set new colours in
character preferences.
fix: HUD implants not displaying on moth eyes
fix: De-spookified moths that have had their eyes replaced. (Fixed moth
eyes disappearing when replaced with anything else, rendering your
sprite eyeless until your original eyes were put back in).
/:cl:
---------
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
---
.../screenshot_antag_icons_bloodbrother.png | Bin 2398 -> 2376 bytes
...reenshot_humanoids__datum_species_moth.png | Bin 1586 -> 1612 bytes
.../modules/bodyparts/code/moth_bodyparts.dm | 2 +-
.../surgery/organs/internal/eyes/_eyes.dm | 7 +++++++
tgstation.dme | 2 +-
5 files changed, 9 insertions(+), 2 deletions(-)
rename {modular_skyrat => modular_zubbers/code}/modules/bodyparts/code/moth_bodyparts.dm (94%)
diff --git a/code/modules/unit_tests/screenshots/screenshot_antag_icons_bloodbrother.png b/code/modules/unit_tests/screenshots/screenshot_antag_icons_bloodbrother.png
index b8323a4269cc51257b0172546ffda3faae143799..8ed9aa818f6845c7f4874abd31848bcf0c69c197 100644
GIT binary patch
delta 2246
zcmYk7X*|@67shSTwMWL-Nuroa_9af7MX_N8ELkY
zDHT$yjFuX!lBMt$hQ>V#?iMK6>&8zXO1J)sU4*P(TDl%IY0^BLx=B>mC`-2YnCeHK
zoEz2GKe1Wp2zik9)UR*s!oxlLuR7+ZspviW&T|TVcRDsZZ139)d7~Q~sVm8QoQ3JA
z0l&upu)?}m&Rjr>wNAnlM3KTP(yM@$HVGHYodY)Kci!IZ%T~B<%)tG$KT-quwhBm66RRv+bQD`KM
z4b{8s@EzoyA2oPW5022fX{|Kmc?_CVOD^E}GH(1Vw1Z@a3};5}O8dI9{donzDj@
z2$F2@I2+Y*Yya5>sP>!dkaJOSwQg>%@kv5>dS-{_NXRyo00d_ZA1hM8uY~Hi`q<@#
zh}|0sc3TOlw;CW5u#gHRc=8Q9&S^S(9%G&!_Xww71nky=wLf+B4KG?Y72HFg%|5S(
zKhQVm>0I7=Ky|TVcBm&4>2-E>Q4{hPc{fBPNMqwECYJv=UogK60nH|&W8)_y#4@*w
zNnUoH1p{b79_%hY?<{6&t~OCf6>!VE`(`qF
z$z32-#DkHsFpS(%t$8Ncz1CnN;vs87!xA-|r@4LHuG{uw=ig-*w$-pbcgpOh_|e{p
zsGL!4s{Yx60KTD*d)~=o&zzupNuca=F<{7b+E_h2%!*??fLawuwy^
zrXS4a;e%VN1u!-SgEAg!wYMLn6_vFP2hF7_s&))>4gRV0Q?Vah5Zve{m{{M-M2Wf&
z+Sm?0;a!vp$NespDDm=%6NPs-=#jLkdYwX<_u22~7MIr`X8YK+xngZh0bslDx8dR{
zo04>=Q#YADc9Y6Q``KQIDe*#VOp<^*3wi=
zt&$W6I<8eNy$V(=giP~1^;@gV>1q4Qn=KqAYH6Tu#{D;Q-MM&Ew`FOk^)q1aGKA>(F#i8qGAYodbbo9j2B8xvzp_%M*U_s?N>f
zmEpd@mDod|?Pw*{5zgLcU0;buDoWp%Q=xWwq2q%qPvciuAn_3IVc^pL)W%FrSd^PX0zR7X(UcGucqSZ&WtgRstzMZo@*=STYLrOT)xxtW6O8TXd+&j^@5L(VLB
zdV37k(EI)vSqLoa;I<-L@;~XpbV>$QIEwgk7QHxSxaL0ikW9_{elo@9#VI1h2^S6O
zx-UdADnPO}6WtK%wF(ZQfqG+0p#MV4G#9TSXfn!>V=91aL`rP|BNsZqF-k};nf7?)
zlo9cJfCzlm;S$o3Pl7Z$WdcqOMc3js|5;?8lyJ>%d*p@PR}P&RYAbmVJ`={;%zAc7
zY2a3G0*}V58XyI~D`J?dC8-W>&ZAL!V6TOF(PvD+M}E(G+|Uq;$y&??J0qHut+-`i
zz+{z_kzt>OuZ8ClGfzZN$M$WaXSB2)Qtp^3dwKX&KUSK%3%c6}`a5pw6k8-LwQsvY
z(=LOTNxb)D%UueHxZ&6iZq^qRhwXkk(HjiZAzY$7dCQK
zzDpHg{^Rg`b-$8|xTS2}9pA+$Hx!#}xjz1j0WOSs)f*Qwb7q8Hcq^-N+nGtsDpy
z$Q|w%d{jLNGL;3fa^XajRf2e2>UH7RcIWH26wE9TnRR3j>K*2TsPS^AFDO_9@XLK^
zG1XWd6nr|eVS0@L!yYVnoeYszPnp#GlF;>s#)f-R!)#Duws>CNrUY#}c>pN(Z&K+!
zUSRQ6ETer`T|zwmQ~$f0mID`b!ud{baDky`rXt(Zv*EtDl1EZ4LQ}dY}u+
W{Mx%vp`(G}-!e8dyNc0wjrt$l9A;|(
delta 2268
zcmYk7c|6qHAI2>)Eo3Jml?oAeNVv9J)NDeDZfjKWiUQdUR!ktp8B=D>R8kKW31gkQVQb
z!`ijVr<2@6tx^PJ414W;!{0tcSgx;rH3p4COOV8{&6CbM=TAjU9#_XELOH<76`L!-}Ci7$h=Uj#Wz7X)=J#`*OZIGd`g
zeb+v^ucpS~c?p4IQwO99BMwwgUXFTnHXJzB({piI@}$toSY@i>xIp_aWZ`i~eKV6O
zU6=hb(xQFC>ytS4pdCrbwQ=*aaY@vj29(R1#brnRW}Ju*@#w6bNKC`iLpo+)UQFKG
zY^dgrY3H{%r46?~cXoQ(>#8*LAr$w`OYwjXR0__JO0is)KwXuc9
zH`|Zj?-*NM2G?0+lh85!x;oV7I)K7YGYlb2%z#ZR1#64cGCr>X+`9`z2jXb?7xEtE
zWq+Fa1mp9kt*M&7~p6w-wTkI``a
zS`3xk(LQ0yRGRZ?nN@T+wV(Sy`~Q=?Z6~cWlp}
zr^6{H?qSG!nqQ_zq|@8)?)R_qS&gWPwEzveC4Gocd-Rj_)tWl$2@|m_EM^iv{9r>e
zU5PMlX=Z#y!Y||Z9Om*QjK2`@p$c$mzC_8QglFKCwjch3nbUE}03XJn&Z~cef6cT%ax%QWI7ti!m(7
z_X-~^TVh|mgWr2s46>G_<84EUd@21VP4Jz&r`p}Y_d`ozMX1hS%VjqdUsrcdLvwu-
zaVDuo^$y8Q{LK)r{te!T8zhCE_{~CBqSL)2Q$21Wc
zTp;1bn)sk;v+dEX09*2RCld5pdX^OummWkz`hu0}e&?%EPy@!k%fSrWREvokjSogg
zB%=L=IeklW5EH|10^nRO{r^=tpIaQD=Ce?W*fxK$u{xKwD-O102p7Za^)K@olxNNR
zrl8s+{%84`;(YtWsbfH0z|ubF+viDsM$__pGtE3|9*>mEOZdqdg<^|}bVs5)5}Zi?
zWch37$ovQ48&;Fz?4F0OSL`9266>1=m@|8|0uu_$ziG=qQM&NyraGDr;r_R*IUs`m_LoZ0kq7owf{~ae*$t@35DU
z+}f|t-@HaC^d?lQDkWY|;-__ykhp8H&YF$UtbKdjRy0A#gzk=F)FTZXQ){mJQ+0$m
z=2*Mnv(o2xEw_{E6%Xv%_0^~BpnlVQ1DuwD)qpac#f^^(tuB07Uj)5jOp)?vhO~=pYayLow?`)Sk_CGq6@(NA!f23eq+_
zsymL)mUutA@89aAV@Vz2
zo!L|qna&y4W2ZyLKpd7GUx_4p3b?xMnZ4Fe8l~QVDPUfFdHS?N8P0utwyF_=$tzO;
z@65$-c5d5eT7L4Q)5&vIgGv=<-8}<+cG@Sqr>mmmZhW>RhRxR&D(O_Y965v2(Q2
z$5B@+11(kAwQ5ZbNpf(mEJ1NRs;^^EY@qRYG)4RUa4*fj5Q=Q9Xl>f>nWaU(`k!Hc
zfq=m2*$P;++|-=@H>$NRAg``5UPXYi0!_J(%=&1jHgYKc#r+3?si6jaaWX;7Um~(p
z{%|@pM<`(WDnRLaQR>`~Eru0+rWZW9-B#fSn@y%<0$0ZPL8cnAES$z0+U(0uH-wA>St>*J4u@N8Of!m&{3X+V!!8Mid3tvjnltUPLJTS$=3CT9tYC
z`{#7!)ZKD3=gV)wi3qZ&>vFS3uk1%HWJ;UU>10wvuZcAfup@v~|0;%K6?86TU0`e3
MSYJ5v@-&L@H?bsi>;M1&
diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_moth.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_moth.png
index 355b74df6ace57942b829a4b82aa68dab3d8f8ee..b5fddcd51cbb1df705831ba235c19f67758a0606 100644
GIT binary patch
delta 1350
zcmV-M1-bgN49pCWBro$&OjJd{z`$_`2W=qyA#Y?#zpH>v0RyhCuD!jzJpchPDA0HbOVM)AZlMw-df0ju^
zK~z|Ut(FT{+Da6K^FSc6874%cL7@$8gGL*?P+JA5kyNg=&;S2x?mk15n9Ss^c6HP^
zu;+X^GeP&(w7)fU!!YtGX8LdInr7;a9WmKy=;j~jLTNOc%|^cN_jRmjwcG7hoo-oH
zjjpw9t8LjWwQfPT)cUS%+ZKMBe+s=x^&sr3052RHE!vJ6!0-T=^+HwOX*rJNIIWIi
z0b_<~ng(MEf?=2-I4x5*SBXF
zngHN0%G3cct1Y0Kb98}?(CHgy
z9EZq{UiDv=0i8~V9Si{&e;zQ*%Ybn7`psKB1l#U*yV2V>uSel?eazVLNql^AdU70}
z95Xf!OMtV{=pA)Hk1={T8bu{QI36eABniDRnS{xB96r~B!TH(Q8TS7V_olOGI-N$d
z=~kWwgFzUE1MI-V9>jbQlmO@F?>CR};==`v4;Nec0svGDbHH%(f3jHr@$%}50C@gh
zG>d4=qM)c>UJj@X0J;wF`eT7GPZrnLSMQfTo-08VX)7w95#(uw(BmwgECT4kVuJYs?>!MRy2JI&=ViLw0P+s9q8?|H$zqae
z8LpE|bdWu@pxxcAf3I);T`hCK<_xxS1U=3ci)1m^=D04hczt)LJsg(eH{CmejK&a8%ZEL4Se{Z7PvMpr~O^8^b?y+g@
zwrlc%)`VCKfc0BWeFqK_hVn@Xu?}@Blb;F5BFqd2KQHWNP9%e%CO9ED}+;z04&4*Ri^HM
z!S^yo0PnO6e{fBGFJl?9fi$0pL7Im}d%EdX0fyc?5FOM3LKkVO=q?00mdq@bffFS%I_P>NT)c|~NiG&~v2*Us2df%zdACa{F2W{^=
z%ux~$HvWHna`=-YBmI&Ce!+dCpNCjh4G0_mPr^Pnf5}Vcz8wVc`dC&82#@|x=IQa0
zxfcK;I|Pz|@aX@6hh3J9tuRD(2qXdF(ff{vVKQrT^2xY!>7JVVf|r-2W#TB0^eo2BHJ8kUDst4}|~EVV`xzDb8Rn4+z5l
zA1EBuG!T}QAs$o#0a0cX4pyrA)h0s}vrT!0Fn={5&j`iwAElnTNdYGK)Bpeg07*qo
IM6N<$g1Yc}hX4Qo
delta 1324
zcmV+{1=IS>46+Q6BroJpOjJd{z`$_`2WulAYAAYmrkVB!O2d&7NFM0RyhCuD!jzJpchTFDw860231vE(i%m00JT)9Fdq>
z9J-=%TSO^hQ#guZG}pU>fmkcDZYhe2o=?V-()Y
zEg#>e6@RK8gnbj>ZM%gQTWvFd;R2Zd)>Pl|+HJqx_Bw_Ij5)6BI*b_zj^l#R_FUW1
z>o(PcV9+h*g5Y_0GLw$ipnAP-aU#$^#tjS)i})3fd&LD7rdAaKIEF$9SM4
zaM2arE@P~VpQ1|OK@SAmv0Zl13pB65yIg<}qJLg+O$&hw0RBh0HUMt51ypm6F0c{$
zS!sa>4iRvKRPR(<2vHYOA-+No!g2$20lmOwZqUO)I+Yee9v+6F5cGu^*8p(*M=ZiO
z9b^R{k53MH-T^;6IhGYb$LR$9K{V(Gm{kGqwbjhaC+77#uOo
z%YT4)^nUySmvDO8?RF<0#_vb*YkkVt*?DqyesO-5oS!i^jZ1*b(dZ*}K-W0=I2uh#
zfOtAh<5?PuIGx4mbQ-_bqyE+9VdB#^>vud<_692037`{k2&C<$vb(mH@baFxFY>$uL-Tl9tb$<@n
zp21F@Ku_dqm9Cc763>-PyvIlD^>}*9vi<$cqDS`hWR-{K$?wbW&(<@Z($jr#XAciq
zwzk$8O|-gPO6YiMb*fZbSkvSW^uI7D0oaC5?A>6tAs$%U1kgz9>(hog9$0w-sH?A!
z2hjI?1cVyB+4T47bd>uoa{%xlVt++lfY@)=<$2|*VSl>fu^hScV8qOBj&_J%M=O+eWC|JnKRm?I;N^?)(lcQQW4vT8us
z`hObZ8U-(z`)&|GNGz)agnt+RC-W4%WbOrk$_|kxAiVg0B(Te}u@#2O4v{7xy!gKY
zEX)Aqo6$=^C