From d91d5aad0bdfba5bfba87774136c248be73439e6 Mon Sep 17 00:00:00 2001 From: RavingManiac Date: Sun, 14 Sep 2014 22:19:39 +0800 Subject: [PATCH] Reagent overlays for bottles from the Chem Master. Chemistry containers now have capacities in multiples of 60 (60 for bottles, pills and small beakers, 120 for large beakers and buckets) to make reactions more convenient. --- code/modules/reagents/Chemistry-Machinery.dm | 23 ++++--- .../reagents/reagent_containers/glass.dm | 22 +++--- .../reagent_containers/glass/bottle.dm | 63 +++++++++++++----- .../reagents/reagent_containers/pill.dm | 2 +- icons/obj/chemical.dmi | Bin 32652 -> 33054 bytes icons/obj/reagentfillings.dmi | Bin 1297 -> 1876 bytes 6 files changed, 71 insertions(+), 39 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index aa8553fb03..be5b670839 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -128,8 +128,8 @@ amount = round(text2num(href_list["amount"]), 5) // round to nearest 5 if (amount < 0) // Since the user can actually type the commands himself, some sanity checking amount = 0 - if (amount > 100) - amount = 100 + if (amount > 120) + amount = 120 if(href_list["dispense"]) if (dispensable_reagents.Find(href_list["dispense"]) && beaker != null) @@ -250,7 +250,7 @@ /obj/machinery/chem_master/New() ..() - var/datum/reagents/R = new/datum/reagents(100) + var/datum/reagents/R = new/datum/reagents(120) reagents = R R.my_atom = src @@ -396,7 +396,7 @@ return var/amount_per_pill = reagents.total_volume/count - if (amount_per_pill > 50) amount_per_pill = 50 + if (amount_per_pill > 60) amount_per_pill = 60 var/name = reject_bad_text(input(usr,"Name:","Name your pill!","[reagents.get_master_reagent_name()] ([amount_per_pill] units)")) @@ -423,8 +423,9 @@ P.name = "[name] bottle" P.pixel_x = rand(-7, 7) //random position P.pixel_y = rand(-7, 7) - P.icon_state = "bottle"+bottlesprite - reagents.trans_to(P,30) + P.icon_state = "bottle-"+bottlesprite + reagents.trans_to(P,60) + P.update_icon() else var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) reagents.trans_to(P,50) @@ -437,10 +438,10 @@ usr << browse(dat, "window=chem_master") return else if(href_list["change_bottle"]) - #define MAX_BOTTLE_SPRITE 20 //max icon state of the bottle sprites + #define MAX_BOTTLE_SPRITE 4 //max icon state of the bottle sprites var/dat = "" for(var/i = 1 to MAX_BOTTLE_SPRITE) - dat += "" + dat += "" dat += "
" usr << browse(dat, "window=chem_master") return @@ -468,7 +469,7 @@ for(var/i = 1 to MAX_PILL_SPRITE) usr << browse_rsc(icon('icons/obj/chemical.dmi', "pill" + num2text(i)), "pill[i].png") for(var/i = 1 to MAX_BOTTLE_SPRITE) - usr << browse_rsc(icon('icons/obj/chemical.dmi', "bottle" + num2text(i)), "bottle[i].png") + usr << browse_rsc(icon('icons/obj/chemical.dmi', "bottle-" + num2text(i)), "bottle-[i].png") var/dat = "" if(!beaker) dat = "Please insert beaker.
" @@ -510,9 +511,9 @@ else dat += "Empty
" if(!condi) - dat += "

Create pill (50 units max)
" + dat += "

Create pill (60 units max)
" dat += "Create multiple pills
" - dat += "Create bottle (30 units max)" + dat += "Create bottle (60 units max)" else dat += "Create bottle (50 units max)" if(!condi) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index d1f77e7ad8..44745a32fe 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -10,8 +10,8 @@ icon_state = "null" item_state = "null" amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50) - volume = 50 + possible_transfer_amounts = list(5,10,15,25,30,60) + volume = 60 flags = FPRINT | TABLEPASS | OPENCONTAINER var/label_text = "" @@ -206,9 +206,9 @@ desc = "A large beaker. Can hold up to 100 units." icon_state = "beakerlarge" matter = list("glass" = 5000) - volume = 100 + volume = 120 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50,100) + possible_transfer_amounts = list(5,10,15,25,30,60,120) flags = FPRINT | TABLEPASS | OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/noreact @@ -216,7 +216,7 @@ desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." icon_state = "beakernoreact" matter = list("glass" = 500) - volume = 50 + volume = 60 amount_per_transfer_from_this = 10 flags = FPRINT | TABLEPASS | OPENCONTAINER | NOREACT @@ -227,7 +227,7 @@ matter = list("glass" = 5000) volume = 300 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50,100,300) + possible_transfer_amounts = list(5,10,15,25,30,60,120,300) flags = FPRINT | TABLEPASS | OPENCONTAINER @@ -236,7 +236,7 @@ desc = "A small glass vial. Can hold up to 25 units." icon_state = "vial" matter = list("glass" = 250) - volume = 25 + volume = 30 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25) flags = FPRINT | TABLEPASS | OPENCONTAINER @@ -250,13 +250,13 @@ /obj/item/weapon/reagent_containers/glass/beaker/sulphuric New() ..() - reagents.add_reagent("sacid", 50) + reagents.add_reagent("sacid", 60) update_icon() /obj/item/weapon/reagent_containers/glass/beaker/slime New() ..() - reagents.add_reagent("slimejelly", 50) + reagents.add_reagent("slimejelly", 60) update_icon() /obj/item/weapon/reagent_containers/glass/bucket @@ -268,8 +268,8 @@ matter = list("metal" = 200) w_class = 3.0 amount_per_transfer_from_this = 20 - possible_transfer_amounts = list(10,20,30,50,70) - volume = 70 + possible_transfer_amounts = list(10,20,30,60,120) + volume = 120 flags = FPRINT | OPENCONTAINER attackby(var/obj/D, mob/user as mob) diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index ae78984385..846eb3bfa7 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -8,18 +8,49 @@ icon_state = null item_state = "atoxinbottle" amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30) + possible_transfer_amounts = list(5,10,15,25,30,60) flags = FPRINT | TABLEPASS | OPENCONTAINER - volume = 30 + volume = 60 + + on_reagent_change() + update_icon() + + pickup(mob/user) + ..() + update_icon() + + dropped(mob/user) + ..() + update_icon() + + attack_hand() + ..() + update_icon() New() ..() if(!icon_state) - icon_state = "bottle[rand(1,20)]" + icon_state = "bottle-[rand(1.4)]" update_icon() overlays.Cut() + if(reagents.total_volume && (icon_state == "bottle-1" || icon_state == "bottle-2" || icon_state == "bottle-3" || icon_state == "bottle-4")) + var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10") + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) filling.icon_state = "[icon_state]--10" + if(10 to 24) filling.icon_state = "[icon_state]-10" + if(25 to 49) filling.icon_state = "[icon_state]-25" + if(50 to 74) filling.icon_state = "[icon_state]-50" + if(75 to 79) filling.icon_state = "[icon_state]-75" + if(80 to 90) filling.icon_state = "[icon_state]-80" + if(91 to INFINITY) filling.icon_state = "[icon_state]-100" + + filling.icon += mix_color_from_reagents(reagents.reagent_list) + overlays += filling + if (!is_open_container()) var/image/lid = image(icon, src, "lid_bottle") overlays += lid @@ -32,7 +63,7 @@ New() ..() - reagents.add_reagent("inaprovaline", 30) + reagents.add_reagent("inaprovaline", 60) /obj/item/weapon/reagent_containers/glass/bottle/toxin name = "toxin bottle" @@ -42,7 +73,7 @@ New() ..() - reagents.add_reagent("toxin", 30) + reagents.add_reagent("toxin", 60) /obj/item/weapon/reagent_containers/glass/bottle/cyanide name = "cyanide bottle" @@ -52,7 +83,7 @@ New() ..() - reagents.add_reagent("cyanide", 30) + reagents.add_reagent("cyanide", 60) /obj/item/weapon/reagent_containers/glass/bottle/stoxin name = "soporific bottle" @@ -62,7 +93,7 @@ New() ..() - reagents.add_reagent("stoxin", 30) + reagents.add_reagent("stoxin", 60) /obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate name = "Chloral Hydrate Bottle" @@ -72,7 +103,7 @@ New() ..() - reagents.add_reagent("chloralhydrate", 15) //Intentionally low since it is so strong. Still enough to knock someone out. + reagents.add_reagent("chloralhydrate", 30) //Intentionally low since it is so strong. Still enough to knock someone out. /obj/item/weapon/reagent_containers/glass/bottle/antitoxin name = "dylovene bottle" @@ -82,7 +113,7 @@ New() ..() - reagents.add_reagent("anti_toxin", 30) + reagents.add_reagent("anti_toxin", 60) /obj/item/weapon/reagent_containers/glass/bottle/mutagen name = "unstable mutagen bottle" @@ -92,7 +123,7 @@ New() ..() - reagents.add_reagent("mutagen", 30) + reagents.add_reagent("mutagen", 60) /obj/item/weapon/reagent_containers/glass/bottle/ammonia name = "ammonia bottle" @@ -102,7 +133,7 @@ New() ..() - reagents.add_reagent("ammonia", 30) + reagents.add_reagent("ammonia", 60) /obj/item/weapon/reagent_containers/glass/bottle/diethylamine name = "diethylamine bottle" @@ -112,7 +143,7 @@ New() ..() - reagents.add_reagent("diethylamine", 30) + reagents.add_reagent("diethylamine", 60) /obj/item/weapon/reagent_containers/glass/bottle/flu_virion name = "Flu virion culture bottle" @@ -286,7 +317,7 @@ icon_state = "bottle17" New() ..() - reagents.add_reagent("pacid", 30) + reagents.add_reagent("pacid", 60) /obj/item/weapon/reagent_containers/glass/bottle/adminordrazine name = "Adminordrazine Bottle" @@ -295,7 +326,7 @@ icon_state = "holyflask" New() ..() - reagents.add_reagent("adminordrazine", 30) + reagents.add_reagent("adminordrazine", 60) /obj/item/weapon/reagent_containers/glass/bottle/capsaicin name = "Capsaicin Bottle" @@ -304,7 +335,7 @@ icon_state = "bottle3" New() ..() - reagents.add_reagent("capsaicin", 30) + reagents.add_reagent("capsaicin", 60) /obj/item/weapon/reagent_containers/glass/bottle/frostoil name = "Frost Oil Bottle" @@ -313,4 +344,4 @@ icon_state = "bottle17" New() ..() - reagents.add_reagent("frostoil", 30) \ No newline at end of file + reagents.add_reagent("frostoil", 60) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 2ada558367..34ce53a2b6 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -9,7 +9,7 @@ item_state = "pill" possible_transfer_amounts = null w_class = 1 - volume = 50 + volume = 60 New() ..() diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index fb6e7f8a92b344593c7e018f1adb856342cb8dcf..5fe976397d5260e41d3bb4b38c8b59432722c626 100644 GIT binary patch delta 14064 zcma)hbyQW|*Y1IX64D{vN=bKjNed_-4H8NVNVDlq6#+rIyGu%1`p`&+bl0H{+|B!b zzkBca?)~FqoWUMzuf6A9Ypyk)`8;z)-6N$1AjdreG(EL-U1Tks%|E_(bb0S!4}rL+ zmVSfTr*IO6l&>(CTzu2!damylpTa!(HS&Te&Yxhl`&Zh2oU3}<6MCfgTK6!9Ae6C9 zb7%44%EMXsCiR?7oyTmRm>#2R?^KDqZr*P_e&3O)JudYxV!uBfc1E6d5a?Hn&?hu0 zf02LN3rt1j{~nH@58fp0qGbs!PzYn8`S9qKG0n~kSuv>z0oGz=%+9Kj$}?xydkTVf zE+~aoI~OX&mv*iv9`n+f`O&ynit0_y9+c0Q9mn9qee{M;Z9MNS6=aQ zUFF_XjmxLQ-fq^fnmFhpnH!_gehR_vG2s`6{9aN-RDWS(9B1k*9IB+BM%n?F`vci z&1tN;X4~;L_vU!A=u3a=YJ21mCBXgl-yer^$DI~&Gu6>poDE48qW~;_Ug+!m4sAk`TX_iyLhC{dxDlFfOyOA`?k8GYW zycSoArKm}t_j}Q+rR}uW=y15-^6=e~8++TxDU+As#dTTjbpMTh+rUlh*AoE6F&odZ z;Ono`@FP*ebI!Fx6452ooxX3DqVw_=KjhqJVS=glGnI9Pb%5L{+a_j^c6{RqY)X~mgX2p@_ znBr7uc8z$hslGi^EyX?NY7mIBS-813@R#`!)AM>%RIF#Z?CK}ZIz={{|j=xJP?#sk5NRp!!j!8#yFf4NkT0hpPuv>_E0?7dUU?a>8x4)NL z{g@!-(krXB9#VBOi7Wz)?JNx>73o|~KB#BrxlSTzZd{NzGm77niOP`H@HCsBVlPF z(;8=UY&gejWB0lKz6&IMgyI_@WrKc;7Wf9Awjj)Ea}{T~*X@v%L;KbPg2r{B%b)Oh zBf_?OiC&0fl^LZ9!kHw%10zE|u#jsTdQ&2Fa1|$<&THJ)9@uqD5;lcI^H{{>T9DkM z5#<1wwB}lp4F}dmI-G7LgmZ?U4{cUvNeI#&)S^eCGr`&g!V8~93v?TIA|Qk%O=2Z_nVGd6VSuc{TVcTv(;;d;>{yk{j@#7My@a=BH3Z{&q|9)`)UG zQs}Q<5Y@~({n|rt2hq=iW@1p~Y;${TaJ3>pYq7PGZb^meIKpM=#_IC>;wXG~Hp%OmTTgb(i;^ z7o?v!J_9FykEM%hG>+?u9Ge*4s<(@wxJD)2`;#J|YMxHZvPXQ^O15(OJS#|MQ~cVL zyy?B|^7_Zz;4-ZlX@qUZAx9(?hM`CJ)j6(3dSz_m#B3N1^yjQ@J@`=ypy`HlZ+W5Y zS((r#@gim7j??DA)M=Vvuev6&#~p~w36KCtA-mt9>1bfYF)oj|BZVuwUh}Z&wMp8Y=Yxmt}tJXbTrd zCsEI=WK=@Gb`T;*AbBSE_aUsz(&~S=Xel3SeSoN+TA~cv2=+yroG#Ee*;K1 z4ASmRs!-Dh`pBxh{z9O+*|9nqq0!NvEvsA3ca9TOP%yfxNJaA_WNAI%YiTjxxR#@G zQKnOppQ5;8uvjiYm-klx_|{KG!<2CyUCuk9m%eZ25Z6pNht){o`%dzVLeTl>ggIWD zO4^OXiBxhQYLiDB)u&5g2Y=ALP-3j03DmwL>NZu;UQEvx0wlIiH%M+h{@T{JY#%1)KQI{nJe7>oT+843AWzHh4{ zPw`}j68XxO@aay*uX^#BW{+Jv%xFpk=IOsYHr!^&UBE~=1tWUEE{gE@>S4J}wFYn0 zKVVZd;XT#iJPI_^PfsiYe0lkgDW;#W(~Qy`BCI;xe*c0Hv=;DPSL=n8q8UGn{#bWp z$XV}x*tUy!Y@2Z1Lj7{C>T-!9x){>VFpsV(_UP$hZCJ6k;{JFJs+hw-ylm~}b4%?& zLJQtur|8)yAb25h_R_kx)-`lsc^GS2A17dn=Afn1cO=iE{X~`lOaR20#h^8H#eYK+JEyLo*n@&U17il9= z3cPC(Dj{p4rVYPvv!N7Wz#(!P@aezRX*Wyx$1l?inw-D7Tfv zri%l1pjxu;3>Or9%o0-uNko<;wjT^#bq9lU4zL9ibCTI9` z8-z8<@6**7US9lb;>ZcsX6ZLiTji^Xkll0jKR35XJ|fNqQV7EAqaf|mTO#V6SkRt^ z`){SiyyIF=o#bzNWF?@T2W`?41ZmGY?A~fw*=cRuW6!s>_$oU+hpGoS0=iyXcUG&5 z1b}kQNAg-$EguK^RIZiT>3P1?J#4j&S|8z-{I*zqF@QO)b00u^j$}Y zOoxc)ymPfh>ZnMYg-eVwR`vJ!>!%I)? zDxSXfaw)2p{18k*Jawz*5bL~8GoCSC!^ON_&H)A3fZlBr@&+s5euWC_Rck`~RU3B0 zyKOXp+?Oe4>GOR$8TSC{aZ%?g!cLQ=gS3ZgP07Rlv-axSl7*hY>dI}6sRC}0?_+Ue zk{leDm@;ZK_zMlG^Ax{T0m%lmAQPX*^U)k-BJeJn}05!JA;2wullPr!eOmE5f%XuX`8TxnI38y+5 zORu+H*~DnedVC(Ke&TOLq>1?D*gL9-^s=Y{;7CtlTRojm%()uX9_X6GU`sQc(-zsY zc>W~`hOHvK=pv0BG$B5>N{ps!C++YQ6}pVvkY=hh60~WggQWfL6%*t&E_ydtg#}Fx zI~M#&Hg)^dX7ZBAm+WWmGLBEp)#Ef)k3H!*NTK$OW}(}^&Gd~)DC_t}Ub$HFzlXjn z0(eA=PiF5!A*?94eYF*GqWX^(loBc2eT_tkxO-ZL8m2c(*FxEu0=w&fav2fodZ#cn ztGBm7F6rLS);U;Cbk6h|N_bF7 zm=GXj#X$oxnbpP^8V|4hMK`Ql05j_Gs*60GUc)Rp@lp?G}%xC7nou`h(Np-=PT z#bCqmvvi~qGPFWX0VIc_Y`PKkA`*wb>8%&9x}NX75qV76v_2JDeIu}C2cK8#W7y;) zaoqXK@?>9!#GD2?-G%j@cJitU`V$% z-%?oH*15JY=x1(W-Tl3{c`vJSrr@&1b~G^nyLY)6`I)DFHQ_<+>pig^Vvi%J{nn&X zKMWT$DKS=;{#n#qITj6 zWw$|Qpb!dQn^PR{M!V9`M0zyfNQirZOsPs8sIkTQbm{xraJ#+YfpqA$>R7WlflPUn z{KP0LobxD7&fAy2h(mQ|=rPbq*E|@-5!XHPzNhw4)EzEloSE=xIi0FpMabuoZ>6ZJ zXmvC4&tl`kHSM(GR;&$735@z&8tizZ1ae-&J*AyP4Lc!`(vcY${oHy$(1WXCpJD3LlLygnv#P16{O zYsLysB{r=MEEZkZFxW7dy>vM)nbeugvl$5AiuMwG8X#R17k+ErcjKg7o=|1XI8@A| z7u5bvBA3r_hwb-cM?O}X$yRy#6+38insQ|+f~CMW+fMAVgS-@=1YF%5lflx=DOVfaC#7BhP|*Yir!?*>c3c#~sFahAmsOTX zc|jEZ6M@0nx?uV~O*X!ur^E$ODW3Bd@u8}F|)WQi|8 z8mq|MY{IPlU5cFNx1?giTZ{yym0z)ou))&9VB z5&$`sTsf5PDnlYqnBk9Z9w;;=uG3PEmso>|K_2Z$#e0<)|0nN{@6dz;v-VpIj_*z@ zek&u={9-Si4W5B-YF z=QVbr^Z0M{@2TnCO&_j0>%C1L)3R$wkr!n!&ShsPyk3>VR4$pv^}E}$`gL}HO!eZe z3}zfnj#QLHNeOR5MnBXTC$`KLil`Up zf?P&~D6_C4;ni;XSw*j=p|l-lh5EVaU#RKeqDUn%MOphb%lDjh@QL|k ze_L7j7D+(-U`&9XjHW!E%h@sMcY0Qc>6XA8kR_IzY7k6=7QlHx0)xnrQ_f{7*A78K zLf*SsHSG$_f&F{N9k{c+zGk}WmP@TZ-pAdn6@7El{cc z@K-5~+m%IJ+zDAf-JOoZs1KH{a7z0^<>Suo?yUD>ot^%0x({q5^{#?@&rBbVU(qcR z9;a7kSG2ElAgF*8+8_9I#7%l<9?0lEMU^hHeyFV^?FjOGEQafDn{61o@nRGIeB3k1 ze(udab}-Sv?^K(t^8R7reZXqMyP8411_G(qUYM${Mpv)E*+OYwe-H-?E7LH+623Au z`4_M2#E((_j$fili*rUVRap#F*v?j&MrUrtN+3)h7d+H+f<@Xcf#IKS-=Kb6!j}Ba zChln;Av66Es7SWw{3n*_VCbIs3jFwj(yEpJ?Xl*JF=cuC5WiuC3nWFdwW1-p zK3AOs2&3#ZKHly+D&BOY_CXU8GvTiX=P^A^uDh2d)guqrkJk_kY4PJ$ryIn|uRP~j zv`AmebNa`9K=Zi*X}sp?ED!u@N;(oD70OQAkqrJv7t|(WS{^~AV1aw8F0SP`!`er+ z>wEf0%-1Rir&6M01{>+B5OZyouZC1TX~{g$2G|BzUR+;aP9&Gz~04 zdoI#iY5vqd!)`xzQtwkuR#@izQ%_ZVQ-q?fLn6Gq^ZOyUy{EB&rf~n=6w74)A@$`%ms@X0bC|ge!uZNoMpC+nguqs=CtP=FoWa_UX$c3;jYZab=Y8=RvtI3 zu7|IBnlGltz^i9BaG!<}8qs%D1Hn?)(Q*cVOT8oShGjQeZw}Vla)TD))oN z&CABkv^DCxqtHFW;ktteq8A!^dgyISu>v?$^7?b+v)?GRt`iax3Q9@_3pZq^V%;V4 zJh33&(c;#5Z2eP{-?y373v0LG!x(gVk#FfpNrbscKn?wX2NO~>4n6CA*lU9 z&)~O;{zE>BDCmL-8dx6(9meTvYX=2CAzq!-F&=^!uBYA{{EUr^h*-5h+}{4RF_iLt zvOghpn-0(Xo%r3QIRt1YwMzAWn4YNJAKoYzHG<&l>ub}2{M65LxMyi%UUZp^kR$eAiCC~(N&|N zGdM(}pg}2EJ7@euk-KuCgO__Fpx+q-Qh7>8vv>2JReHnOU1+n=Q4%<;$Jnje%ttm!cW`-2p9UXjj2bq?U}W?D{|`!FDMRqoBA~M zJ{cPu^J9zTaYkQ)q2`|BJ-xh4L*>5gAH{cZbFse$UjhK#!mH!8-s6io2lJ^CJ>3RJ z({~8w{8WH@@8^iby?2g^_!oDv)L*}j)Ts&Djh^M0AMexu(CV6LxM@NFMUN*% zk(|rctVkUeGu`|QcJ@qPRFZ{>ir<3MaRoo}Lxw;f&Vcej$Al?je?*mPVzL%>7)`&+Hr0 zdM%S2?q`c6B<@T;Rc|q_R%I1{xaLwNh}5R8+1l zwL12UXY)#eUyU!69|^h>}vw2 z=6!qIo5XFQ^b7?)?>ur`J8dLF+mhk!E@l*C;QV;_A}B*vLM()o<_qcxSd!!&H~yNt zY?OivgMkwmUUT7vmi zrKY{*x~Drx3Phyz=Ce(JPT-1Q4GJ1Lp?McREWEb792V*)6N8Db#~+z2Mdv6UKbhgPNY;|Yd}!~9yD8FDkCdF zt-^~)3XJzuE`%PCx2+w2P$}!PeIgk2!|iY{G}>tV%EhnY8G)&w2@_%d`-0RzS|*&< zA4ORVg6pO=b%|UG2u!-j_^oQVZ4d7%V8zMTPgv6qIa_p>N1w|V3*I{9Xdv->vQ0U# zC|p%jdU`GUqi)p!bM|WnE$2_JHg}Eho91n3%)B8cJIuLTySqqnKTY2^UmM9vcpw^h zvOE>UXiStdyM1|-0%Ue>>#)cPLs9+T^gdbs#h{HdimCKX{em*pZILickjrMkRV{uwQCTjt0LeG+74AX6c(DY2a>n z!mw%H;Rp`meP~8j3%&!bG;VYMx=&3h2e15Z9-HF&GvP_@Jw zS;*WDz$OX#$RkrCFq>urM%)p&QM2>&867rh&^j&|%8()iifV0=`1QLskq(la_&uZD z)<0Lyht?C$)m^$Oo7QGK&Db5ivaU1^%#<#gsJaAe^Pmusn6jSDCPgu~9&BBN;m&)j zKldwT$zg}ti!&|b`W-bk$ec9ee%u-}hykL0;8abH$l>Czz#~sYFcezPIrP3FkTc?S zlV}lmj5$!Xw6DW+rhMdD?5QpRGPyH>NLIR}7eyH|KWbI$&m3%Kj@k7n3Iih3Vt&C^F6Z^e!OLx1?{ctPamNe69j81edVEY%r&+wl>(sL^%W#U#ME zv0p6gu4_DhYHI4MdLLE`rDmFxaCLVbc-VzsA-ttlnep;RIpskuQ5#l97p*IMs)?IF zJDQxA*y2d`533Ssl*7#oj6W3^{j5^}$|&_1ud<$Yk#5`eFuq8-KiheySVzfGr15P) z+gUEh%QX(Pj)r&IIM&aa7d7gRKPdrNT$FSh_j!H}V3`TEuDhJz^h3KZ!`3JM7PfiR zUK?9Yw(bMekY=$8#53L{Dr7Mt&~4J)#FZO|A(Ftc%G*SOk89di3e3Dg;qckSfQ)8&J$xezOO1s9CPyIl%izrANn@&? z8ZL@yR{R@mrgYiO56wbZx^q04cw$!u47}iL3@_HWQ6J<=6wqUb20ki9vJ{5&AZtzn z9z+rfEeDYEI!HrH>&sYFY-wpJ>2?dpbr#3<7ae1g`y7LZp3Z8k5w#r=MzvH)9UWr7 zGiqrVu@5Z0`MRTv<~g*+tQ$jox1{>>osolsgFMy$>7?Dpod?O1`$|Xf`|vl~+Oq%l z5&M{a{QMQ^MBLlX&h8~T8(`3Y`}gnPt$kIW0PX*6nLd{e<@9JMiHklH5lbl&Qdh^H zbF;xabtX}L%hr4{c7X?Px$P&q9Qgt8(Vh<+sPD1Wd6@@qMf&!f1&7P@zjn+!=3r;1 za%%JUM;c7xg7(HxD!=}qvg4Mp5L=d5w|4SE2LdtjD0l``?Vp^>WS@dYKV|IsYP&e3 zYFx+nUloa?;#5 zK-y_kc(4GJAVc0h!8Q_pdJb#FXsDtt7v+7FSbk69#(MdPYUw_=@8b+p335?=jAvRl z7sI)N4d6W}zE6Mn`Q-3$r@o%vJGs(@A<&o4uT;{tfntI zG?izFAmOYO4*l-y~}}sL~3pi?;At^JqR9C7hU?TuBJcdv|-=Q{~H` zxCwV~z!C7C+_#t6(ll&&G&!kXRYn~P{LWfBxVxB~ETdJE0z}u~H%LL`f8Dj-MEZKK zdP**a+V4yhZl{`e7<^)>xV{wvo*JJ)~f4SB1fqqC_ujl4|Uko~Bj zxL9@D03U%kElq!^d4-_IG8V;oHgKK%PIN~B6A;B=deUXH{*g4`Ppys4`f0NVa0=;? z;DE)d8$i!4*J2gyEmhzm%JbJdnfZQ4)SW~el*M7Ycd>Xrz$ru@yEpH|hTP;uw|K#kA--38?5SJ3=k^0d zcoDg6?#E_(v(=0#RRnJU6%R?E{EqZ;+v3U#s`9qY^96g`N4aNk{NbM}q~E^$E<*k6 zfWZ9Hj}V}x(Z&g0gUEJB{N@cx_P%3?^j#NlfX_z~o@-fv=?ahjE6&HsOLbX9kXS~c zRz6*d2c$h(q}KyV9(kQ;+=yH*svV%S%zrYe?{sw?i`3AVd~U3CWq=P{J-F((F4dR@%A?^X7G%-Wy4FSqJg&=|fusdOq$cafkOM`xS$0$MbMzU%Ri@V)dqlCf&o&PzEu8&@}JmbOYtP34w)?aWl<~fJe^2! zXbmqbE6WKn196ZT@w-@pO!JX|@A(&uUmk}0u#4jZ8>&_iuv}bSGqdPwoib(rwcSgf z-h(PREEe|H3%w;GgsI95`Xp+H*zsxjmX(?Wu+7})|AjhBmWriXT~6-N#_$gj zTi(|XNKA~7C3)X>Z{X4qm3wcLxRqa&UV}<#_$gV%LPcMn{Nc&Hn}@M;T>p-XUA)Um zr$l_sU*~^Vx#eGh@fgIXc?5_I%P0SV^-G55(2413;w$f?WvRg*BE%57dqBQCwntxx z{=rHXhl*N3Z7tu*51v=j$!Z+d|9P>Co*9RUfQWTl^gq4|4p-2m0&9c;H19AH4hg`_ zhReWc<_BJanrR*@g6+O1|Dz@lcVd!L86rCZXDSV#QLz;k7H-JP+sHWwvtdC|QNQO6 z{dMxB`fteO^z;u52P8s z=!L$2fAI4V83Ig|8K%Ua;v;T%6r8t4X(5t&dV22+-Q3*xb7Un3uHT0)L*7kZLfY42 zCDP#aH$%lXf_Nh@=Aw^vFWE3f*#v|qCnw*L{W>{0>AU{*>(`eH#Bv}Gk4iAtCeUPjW0QENgpv`OaG+>x222sw(bFgfBY>2QczyNkPR2ZVXdbl>qs~`*8*e zK}VV@?@m{nD*K?5A$?viO)n#(6Uu`W9;@Mszk#SY$Pi?Izb$nQpSGouyp`RpElC9h zR7eKYP*N4EsHkXkem?5pz=!t9v4fvi!vO61n1rslw&4A4f)EAv65i#01Wj!KHrvW$#*bjW}}Q zr#r z6+|wX*cpnm`38V+esL)=NohQShvU#`bky6iMH!jf_UwOjk0#Q+o!fpRWV z4^3MQf+_xn{;4p9g0+r7FpVsOAgSBz?!*#`7xa}=DAXET zy~x{!hlfr7wl5-NfxX?>NESh`$R7vUT7O?+#0f9*xj?HyO5B_dy6gP?R}IqU?!D2w(nCDT&9m zZ?Gr5*qaT6qGBr&rN;45d923=71>lxLXFQ(^AGn!@r&`!K7|d+TdBZCVtnN>HMVQa zAP=>A=_$^?Ev~Mvot`URo#L}p=#pnV#p$1sxP5#fpaKSv9_sq*QMw3~s@bCm-;1*^ z{F0KlugbeGL2y9}|NQwMz8vK8(uRo&WXw{EMF0PTfd6(b@IP$=|M#Ina1NFRxRujC z_A@ggreU!7QQPosx__bZnm}erZS!3WwM5$R^tk*#iNN@*x7@e?abK9*r%!o4`2S*Y zmc-TBct6tL-PMO&@sN9Nck|bgD1}|nAR2GpJk^_CSom@AI}FSO;19T4hpG2NPi_zf zZ{CD}VFS`eteg6h5=`GViQ;h1e-Z&mfd#K8{`~n~;qK-pKnAWM4CXX;QB=gjD1R(n1QjK5##v#-B?raF_?NE z0J%c=mK7IAdL8G{Wi>XEf;d6y_UPZCpB4cR2oOaYXBuItAjZXhwXOv#Gzr#E3sCe_r`RvL(MxYb$=~fyhcH zLIh!Icz6ia*3_7Q5Re^FUsLmL;+mlpaB=fJKlMRmNjRN5N!^{r9t_`~N8SaEs~2I; zX$y4`2)HiKnyKuL7;`n2165nS#}&?5{{%S)aGjMdg$TlWunSg^GjnsFf5cw|^xwYa zrt+fDxmIx7R0r-NZVlSzNH%Zb@U0Dl`>lh@tK0C_tymdEkb?9Pe(|t~J~8`$wuu%9 zqYs)7ZJSQ(;}h`eA@y*Y77$0=1wsFRn!x|*-t$iPqe1&Ze29DBu`VO}uRi>5a`C^K z9Z77`Gay#Kgf3bHV3G5$+m4Dq$VqYYF^JutnsABZaP@clGiE^#QgbAUM>2)qZne>Q za}^|BBmKwl!zB(df1;RT#sM`*J6l`Jy0tg|CS0ZBS4%bT2{??J1%Jpy_1z(E6c#pN z3e=QOuYaBni!gf{W_4X3{BT=Lo^q)1aK(a3{$*~DDr~PLkeMsH?|s8n1gc%~u@k?C zKq)*WvGl$;T#Ak4XcaW?eeCCRa}nJ%k{v7FFY>7_Xk;Y@89aQ3Q$GUgw$N;!RG^Vy zBDGPAJ~6Jl^OfyRLhR*eeti( z6W*dh3II#_o1KauXx7nfC`gi>n!ky#TRDCDkBF4ZRd;S+qIZ{TtAE#%U3aJW+!F;H z7UxsTo$-Rex&xI)UDSgxfIy&7s9<>^5xJTeg`T}|IeNamAYavOZMhHD>({TH;B9}i z-*{6epr;2;+2PT@n-So<<#~jRWH3e@Q^3{&9Ilw&h@S30O?A&Un`tVyRnq;WV&35! zLWj&UPZm$A6*}eB>EGUkiC(5(U$!!9m2QXZmuT!eTauzJuZUR@$E?XM8H!Db4EdUn zAUEae=4Q1X#BcW}Xi-9E_3soz^Xu_2KB6C^ZD>IPbk!-N{^~|ouevT}hl_U;S8#{~mKoDqA$JZ4{J%?$Na?pz9LHZS z$d3@u&azvmp-2#(u#i;$bno-bq?^_&0l5{NN*ule5@l0~@k?=_!K7yZ;&^yxt}}tM z*($CV6}Nf)6SBOB=w)FTKYv0H8H5$Lbhrs3GcPZ1Ms_xoatryx2M~afARs@Lc6R1z z`uS66;X{M<-I+w^{atVUTO{M5mvaLz>`7X0e~>TVPjP6CjWuDlAJNj4x!d4EBy-v+ z+GvJJ(oO-YMSwaDcitTy(1TI>2$iE0eb@&9e!A?aY#`wdJS|Fjflah{29`GrFAdlp z>Kj?E&K|>ycVg4VD~5?L5JM>f0_k4vJF0k4_dgR6Q$y*5hYE_}IovxvmtAJ?g9U4A z>##;PJWx_eQv00YK}47oUvbw;$A0vAc+KVN3D97~Fsu|?41#Tq0nc+%4oOJw> z;=E*TQzR^s;}&xUeQuZ7*choBMLI(t+&Hy$bump}(AzvjGUVY%CvUpI zq(D1qF#3R5U=6PQ^K)el1A{1kfB!!I!;_w9au^KepMHP4$yKkw(FPLxc<#Me@oT1o zBu9ZocY2A_L7vM+cq_4<+lUxEr4`Ant7%%b+oE~WyMo%)cFL|F1LHsuF&hkxn75eGXvk4X; zMxQ?14R;@Xz@`IAdeFQpcilRpmjj-p^(Ua>kAO$^EZ}E8*xUDjCw8H(lF^em1&u-i zSA92!ASdZ4x`c_2m2 zBk>VXje;k6qt|1~1&t^DH8JLwN1ZsZ>FLBX_!}r-x)#5BV!azY5oQnRm0pv08fC(M zIse|wFK9464vB?>BmdjCr$$XK+hJ5OT;hcrz@WP$j`$_bHxA<%HvKviusqgq@yDjp zd2{%y1pNHm^jE+mbS(Lu#*HX;ax!vqQpor3-@6F4|7ah6UF!3Ga@llYY1V>gRw+jtw~D+>;&R;tImo_Z4EPqBB{ds)~D_F@0kLJZO(0Uc`tAkq@Kmfi1C6v1U3))!!c8}8;f*L22BQF5~ P|6a3LTULvGDWhevUtZ3M+7B6}|D3@9 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 diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index f236fbc2c0609a3fa14672c8343e9e4d453ebbe5..3e64c9e45aeef6b7c1915002949bf28eb5ae67d0 100644 GIT binary patch literal 1876 zcmbVNcU03?6n+ULpe#kDC?qI2T9l!p1{umwWQqcU1P!eNA?yu75(lE@^s== z;$?$7N4|5+KJsXJ>hPL`)Q#1K`a#H2cR_DlxJ$O(T>p=3y`h=@5W&>=cG@Z2wLB-< z@Z4T2DF1FCbGX`%u_3@U>V~%Q3HjC)#~cU_x}e|3Yoa*OPCq!pbR^$2x%{<4E| zv(fAK8QUUlw|g6GFja{4GT7knxGfS{;Q{SwOTc!>o{f2+f0lipF5}d zO?K$V&06T_;;&M@%B!eejKe7(;3~C~VeXYyXr4m#V8GDHNVrP%hA((C5>jA*=3iDs z%LrwGn2`g@{8qw6bRAb3n~W6|;i^VfG-TPGV$f{gDvw(2V;o6*lQ#Kg@@;B ztf0tnn3(%Sld@l8vxq9E3oR%X?_@ufR5@M<~~AzyH9)vHT zvDPEBTkfHHeBY`|r8`^n(!i!@fmZk%%s8YH`UcZH%Y}%(x)h;ocbCNEJ`eWf?Rl;@ zCba*&CER+Zs`3K!@x|rCqvpSlWKOH4p0n{8gP!!h_skPQq+xZ+9^ju=O-?P{l0_m!eUcVhdHYY&L$ z%v?P(_|UL8>>>JS201N51PbVKD&1n9J7%OcFcki-tP;W^ZA}U2<acE?_lh3X<@J z&ROXe|7E3p@T`4_;0Wt}*uyHutG&{`!(o#_b z6CB4&mz`yG+N?cNllZ!G7N;32F7#J$% zOr5xw>yU#$%j-MAI#JrkqseXH1)y(17oLOJ~Y@Efk=QHnz#CJ2*KTm%A`1A2s+ZZp` zGsoZVGCt$q*MDaHRy+QO{kBRwEe}{*%zc@YQJj0g`p1vOpZmXBOaltudw#fgM*X+! z13S$g$kzP1_;c^ghPR*3|N9|jp1^;OUFDRuBA%$mwS@dsz!mrzY zm9jrRKR+IHYI)EpAZfpJivH7=FE>8bWAWHM{h{sFHgf@m?XM;79f&T}Hh(2_=iw#m z4U9W|kH6@<*`RIy($j<8Orf^t&IGdurMD8%wWsf6x!v&P>JHi5 z15>^C3+Nu0x?AFbe$~UDQy9coUE8I|=LCT+yx%4K;8gDR+sB1& z)h*>H`1+?gT4%8+rYZCK$H))$?R6*4SY2+I3oPRpJYD@<);T3K F0RXA!NLBy<