From fd22dbfc0db50770d60e16bfcc9035de840ff7a3 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sun, 2 Jun 2019 03:59:52 +0100 Subject: [PATCH] More fixes. Need to check over merging math. --- .../projectiles/ammunition/special/syringe.dm | 2 +- .../projectile/bullets/dart_syringe.dm | 13 +++--- .../reagents/reagent_containers/syringes.dm | 37 ++++++++++++++---- icons/obj/syringe.dmi | Bin 4379 -> 4730 bytes 4 files changed, 37 insertions(+), 15 deletions(-) diff --git a/code/modules/projectiles/ammunition/special/syringe.dm b/code/modules/projectiles/ammunition/special/syringe.dm index 331ad67837..a4107fa6a2 100644 --- a/code/modules/projectiles/ammunition/special/syringe.dm +++ b/code/modules/projectiles/ammunition/special/syringe.dm @@ -61,7 +61,7 @@ ..() /obj/item/ammo_casing/syringegun/dart - name = "dart gun air canister" + name = "used air canister" desc = "A small canister of compressed gas." projectile_type = /obj/item/projectile/bullet/dart/syringe/dart firing_effect_type = null diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index a94fa6f227..74049fb7c9 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -64,20 +64,21 @@ if(R.overdose_threshold == 0) //Is there a possible OD? M.reagents.add_reagent(R.id, R.volume) else - var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - Rm.volume) -1) + var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - Rm.volume) -1) //Doesn't work + message_admins("Merge: Adding [transVol], OD: [R.overdose_threshold], curvol [Rm.volume]") M.reagents.add_reagent(R.id, transVol) - target.visible_message("\The [src] beeps!") - return TRUE else if(!R.overdose_threshold == 0) var/transVol = CLAMP(R.volume, 0, R.overdose_threshold-1) M.reagents.add_reagent(R.id, transVol) else M.reagents.add_reagent(R.id, R.volume) - target.visible_message("\The [src] beeps!") - to_chat("You feel a tiny prick, and turn around to see a smartdart embedded in your butt.") - return TRUE + + + target.visible_message("\The [src] beeps!") + to_chat("You feel a tiny prick, and turn around to see a smartdart embedded in your butt.") + return TRUE else blocked = 100 target.visible_message("\The [src] was deflected!", \ diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 592d092cc8..43f79d1f4c 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -265,12 +265,12 @@ /obj/item/reagent_containers/syringe/dart name = "medicinal smartdart" - desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action." + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD." volume = 20 amount_per_transfer_from_this = 20 - icon = 'icons/obj/dart.dmi' - item_state = "dart_0" - //harmful = FALSE + //icon = 'icons/obj/dart.dmi' + icon_state = "empty" + item_state = "syringe_empty" /obj/item/reagent_containers/syringe/dart/afterattack(atom/target, mob/user , proximity) @@ -320,9 +320,30 @@ /obj/item/reagent_containers/syringe/dart/attack_self(mob/user) return +/obj/item/reagent_containers/syringe/update_icon() + cut_overlays() + var/rounded_vol + + rounded_vol = "empty" + if(reagents && reagents.total_volume) + if(volume/reagents.total_volume == 1) + rounded_vol="full" + + icon_state = "[rounded_vol]" + item_state = "syringe_[rounded_vol]" + if(ismob(loc)) + var/mob/M = loc + var/injoverlay + switch(mode) + if (SYRINGE_DRAW) + injoverlay = "draw" + if (SYRINGE_INJECT) + injoverlay = "ready" + add_overlay(injoverlay) + M.update_inv_hands() + /obj/item/reagent_containers/syringe/dart/bluespace name = "bluespace smartdart" - desc = "A non-harmful dart that can administer medication from a range, with extended 60u capacity. Unable to hold any caustic or toxic chemicals without disintegrating" - amount_per_transfer_from_this = 20 - volume = 60 - //harmful = FALSE + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." + amount_per_transfer_from_this = 50 + volume = 50 diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index f77735fc3ee6b3efda50efd9ec5b005fb0f63f44..80e681399a6af01fc3a28012975ff7bf1f44a03d 100644 GIT binary patch literal 4730 zcmbVQXH-*NlzkNG7!W?Bqo9I<7>a2yU)4x?ET^l^t4!+c$okIV11;mVMHlE z{c8+#lzYO6%WX>WJJiI&U&HBzgP)s^znixg00d{l$CWO2fmvXS&G(`%C@tL!RIfCk zZ=#m&8U0jT#!vHRLWc13J@Wc^3B+(ossgWD|JHrBiO=_9S~EM^*%qrx z-MYw5axb{%hdnoW;v3$iC-Q7(tIuHPR%rwLCDkW3k;{CMioF29Zu&?=-6S}BD<|v; z|5{F8heN0Ors7N#ZM`8__?qt)gQlS*m9b;ZKV>Nhv*s6m8-A)$iUG7o+Rk_01x$JR zO)lI}=?khz=&Z6nX=o|GXKOF8_BmM?dXdOZuLO^U!+urOf<1LhyWSx25>j(7B06Pq zXL6ol*Pz*0Enf7j%wA3mdH1DFV6IEi_O=&Wq*!`vIIx6Z<$2G>^#3%Sz^}A-yk@%o z3MpJ^wvtTG%k$3k3Jv8IOw!U>>Gt&mz?Qa^p2gu!RZ!BymW}C*0wnvEU$X_6O^q1; zPiAJO1$b+6l2h;%L7kJ6Q>>4PnR(Gi!NAav{qWz`%(%ve1|9GA;~TBPMEimLsb9<+ z|2_fU-y-{1i-c7TJ~G2&2nlJP#9~J#*N%Mch7C@wf=LYx za;P1?c69aHp|w<1VMQl<%YCYE0&d7DBVI?DEHeuW2B2xez4x0MAeoVH+|kZ_j;sU$KF+bvR-zr; zq>6r>hN6NLa|Vuwhldl-`+mdZc|f9B+~!S3yqVI0e&PO`bn)>6RKQ~riJ;?o`y^v~J5lZ#YM*9zou@K6KOvhDR}dv`@^SKI-;o*e5t#sH+6+{tbmQmgo~2t8(QGbA zsLs!iuu+(_MC^_s`bTT2Iaw6v_IHUBaqW$9f=NTi{z>iUYS2d;+KHy$v{L1DJN}B$0Mj(1 zP3qB1aCSvDe_~S7GO=Bi7Kcm8`uIjhNolaIu5LUoSy{Y)Cj^uXtc_FCPn|TxgQdnMfBx7GP$1NEh!Q|} zOt)8~gFzo#+2{ItV?V{5A+LHWU{j9IO9Fb)_GN-SQ^`bse0)4uPOjK0BYx>Hq1-$b z+55)v2?dEb7smm>^3c^hk0V4Tyy~xZd;*RyTzG$tv6;)0-O9v-Hlg=TU7fUqWrM`^ zsW-Vvs`lPOD)B;|GjC>Qps0+qvvBlN?>N)9!gkdB&<;TbUuv!C>X>j{iEosy)y0@s zM`L&T-in(Sl$SFHLBF{@wY0oWiDzJ7;L4X>D!2zPb5CRT&tP`x3cQU9VL1O(1v@>mz5qG+ zK@Vm@c*@)JS=-g6z*eZ6+f7N^_C)f@VILVpOel*XEPlLsYE7JLR9J*31$bbV$cI?@ zw($91-&$C?`hubf%4V;He+!Gg+%Wo(p1!321q7XEx=8o7#zKN}G0u0~JWrA3%XFgI zV$}>EsYna|J8Ps?4VO5AMEw`*t8Oq`CbVkhbdrqkL4pFG&gpll@ll)oG+W zL0f%&5pI?nRKQ}ulEOIw9ncio!5Pd+r}z{}e>b}B4Jg9{h)QC^M9&m$nt z&d$I6nlnkJ6_vWWo9#>Xlr=7Da>{FHV<1Wx~{5El_~lV6I&R%h;{F<-V55=2qbhLz;y<-xGtUdl0$rMGV3+d7XVem)FE zrrdThx_Oo=C8S38B({~ASxQ+sv12#PK5O*=k0J8FF0UOjGc%`M=Vn1yS4*FGB&s+8%!pHa4F*RWz+IqF_UwUQB;(YW{yhCh78CkwoE2u}G{AlJj_%*eut`k_j77VY5UhN? zP9ljCfevrO4v%48s?$dz_RV9>`J@MQ*JOi{3zr&aRqDJkgVzr%Eg!;~tB-@n5CiM< z1_JNFYUwNNRcgc(Qdv}n(jfS{m4WF=e$kpb!q zwsMt-1g&^@d7(N_Ghauo>akbq$3BRIJzT!usC|hasG=Sq`2u;8HL7fKCS#C$amA>I zt9jY9V0pAg)78ZNbJ9nb(HA(*FXdnCZO$=DJ3W;4>QbM^nnr#0?$y*B3&u2v?d$7x zdDXj3&oQ_cz#qe7H1-*##IP6mroLZt^6_C4ZEbasq}If{+-jboq66}I@CC2VT*cVI z@^?Tdii#8(tE>C7!ILj=XMwddc+*9qhx9#Rdc;vMTn79~|#JKcNqx)N6jHygSXSt~5<|+^g2;ylfM!t{6G?QneeI9qtEN!$OA58PZ|Ix@2S??*pU#QLN7~F!p@a9|NSN;U$Eqj z@FihWPqsJ|{qD(dRyiA9-qfv?+tGb=>XvUGt>AB=3hT8QL$Iv!zrN*S;fw?^&r|=DsuVz2~Pn zH=1t@IX%&Q`})Xxgn(T>Un9z{EvSMcV+6jOuyQZ+sLLW^AO7b6zFVCehLX;*I=f4! zOc}nHOL3wf$Z^MR-?Q~ZWtLs?H1K#S@tJ?D&#-eXOP*HLqweD}*;`6cl-XGtd!Dfj z4yU)vVEh$&ti^;az=ZLr&*T0GwUJyH$KkHzC&IE0XPDBSju-e0>wbNzxwm z(WTUyU3ssrtgMW;zq=?aCnqecB0wDcz47p?>N8axTIKLl1)yfGO}Wi)k@_zUVdPw= zkmujs^(hXP&nNG5dgP0KlI<+~G!HCn z3jhwzNNiMc+>b-({;z@#Ap zG^?v6;*yfzXK*DS_LBD7E+3E_1r1dC=GNC4;u9VdQgdERgp(&c(1z9KBc3S?p~pcT zXVm~O@~$IkgXFmH;A%#&1S`%X z6ZqsqZSm>jOSYn+LLvoR-$VB%%GNR)d4@n4!^az^dlL=Fpo$5?FaP0@%L(Ca$JJ$( zP8s0CZsq(9H~1o8XKznUWoiuuD_1}*Z*y@<+FrC9j>X|U+&yNr=I0qd#vqb*f+#+W z`x48oO|cP7MDDw|(x%z4^uMl|Y3FE!yo?~4`Zes*Ot49-v|>E|HSiReUm129G- zOY_3NGf|y}f`DRuq>E)Zr0t?7D3tWZ zjT?kKt#{hMl|kwHvT*n3{T#2(=+i+1N2A_7rQ|{~0t4mn@k<^bg zJO*IFq!Ocarw1H?oAcsPn7v@;8Lv@BWabqbXP_vbZO$vm`*9euihW9;pOSo&`b4N; zwo{`P74NAoOc>c>Pj=hG(q5|pw^eP6k{RzQleXMk?b^6)hW>rOv}Z~U!{94FI5ju+ zu9eSCjDGUyn!Qb;a_mg(a{s0XbP6%uV;QDt3M-)Siy<*(LH#(1K@kd8e{M7#I%BiZ zVV~v)j3)+zzfEBzB6oIX&Bu*wA=H3ZBZ9b{K6{fyHOZb+`=d_T{@YV_23k8rw$-x{ zbQFZMYs>M!r&&X6?2UGwP4aH1lC#@guIC}q-lDe5D>-+idVw15VLM4~wgp7=R@bRX;4!;6G9ROABBBLUr6Di@Vt} z6uIAvD?yabgEw-8-tEg+LgqC*FZ9Vk=Da%^=^}{RqJVv#kR)#{?)>jd51`W|tf~yf zLN1~Ych6LvB5m9#_R91h23=x2K5_+B}u Z`h^(_=~k7pr~FI;9%<@nRNc3G^BqU~%&jtM^Sp*cd^!Q0Nu*#qJH!W{tobK<_Ya)e#wYu_AG>CQ)%(1mLR zi*7B+-2GXmcTFd`))vziHeO*-f9?+zWWnD!zh4kqE;}kxVd}`tlhKs~ty#e`^DGL) zN|ajt_VKXtXXe?w=4et}&ct&$RuuN!Vp=^ZdG?+nUDjMPWr;>5TO-zg_% z%m8cXOti{}hDy^qKD5+ha+Ex-5}h9UL4ST!V75vh5UKP6AeGOaXXD zY#aAgrbH6&X9QhrDX9l*BQK1TJU*eO6Ow;C`1QkJy&ycsgmlae;Nn2}ZXy61AWoabexV2ti2mZPj_GWG& zTPu%*qaju_6IGk`4Ln@ch8mfCsoKqE-g>4jh&I~U$ruk(e+!|(i85o;4KF}U>Ae`P z|IGvUt`^eiUa(gfs1bTs@+Z4^qZXsYzl8!e4}bs62rwzyPU+*6;BM|#xUhm0qw;NPz;$&at1C{& z|IUfeLk!}zGTZa{>wb?1s`GbY18ITt64aBs(Mt$%PN*DLp&h`Luu2h`7pDrO07F)K zAK^oIGBl{d|GPkj$xY1jp;eDtko~N+61HgxTmC$gM`dbn;b^RRvr2Xs$>!MM0P1$1 zqs2ar6a~&A9FUAmkCsmj?Tl5l9lk!BllrW zc9DMQ$unGx=BF`%sy89w+jb=seWi0ed+qdnCg2dF7N3I0*h+Q>d^sSL1PBV5F#^Nf zTr+9S%6ps`a3M7F8W~l+j~*s`)4vEZ1@TTBrJkR1@R>}?j$K}Mw&1=047M;T;HGSdISC}0F9JAS9X#l`4VbpzY?j;JvVX;5AcQn6}jaPUo z3|$-qd;It^0)hAt>2zT{ffN86jQ*xCB)0*NuY5hN01IDlvNYxXGOO?4v*>YaG$R2U zg*=fkV?-ujs(rF~Y(?R6M#GQKoieQ(YWDMUGlROIZt~=$zjBvq-gP-sBYRSu|L!Oz z5Lu+MRb_7$iS^u=?5!TD#Lo?tEv>EGE1}N8&5|Yl+)p-sUdITO!^&o(8Elpp?mN(4 zB!~MjF@4^-lDWWw*K0mY^KHo;dT1syBoD-~brHT0I(Bv-q99=uE?+$Vv*2}oeSKLO z85v0j35Fg`7kzzgx9>hn#`mC94`@WS`gMiVNjhp^P7gSoW8bPJ{S#|>MTNsrvmY1^ zcQJj?hF)T+lzj5^$!M#BNO16q;9*glD6H&Mp>pV5DOFX~&`EbESS$-*Q)hk^=gx%9 zm4^x*>vKv-$PNy_N60|0?8mx{@VEXGV{ZWVm)o2uF$GYV$YFF*TZ(g?xv{Z%RA{Fb zTPVsRrJh4xUj8+~zOyGzBngATq&jL&FAuI!{H8k8*C(QjiX^4LU0q#SbyL+(MCKUC zGulC_9xH-|KS%E1B-1Va>e!X7cqdsxrO{a+5Q+56c%1#dwbk+yk>X13iSs0~3-zbm zy!oZRnf;fZHE3mZHLVUk{xlvvc~;P}gnpM1og$FG;%AQ#3{CtU|9*nK2|;26#Do(s z{Fqx@?6SWu4hDl~Eg zlF9sZf$~uuugs{$!BLOU+qftR8EM@!TYSvoMO{~`_ghY~i_4eDJSHs=DU-X$+Xyf`f9E!YITBmn{oiu;thxuEr_N&1cF51e+NNQxA3f zeQt0yIt3t0AnAd?vhz_%D`w*4rf+k2kEOhnpLUL+vh>$aNi*7Cvhx*vywYpgwKig%+6jo$HQu>9#dCVmo{nkAar?oxv|vx;uRU0h!?6m ze6*qOg`r395M*?P4v$;V}E2#I9uRKhvd2L16HwGau(Lo6zmR8z?%+X7j2G6bg*ueF@^rqE-_leO+%~0Re|_7 z#9dD;GDr;27$h{bB8U`u0jOsuaruhNl(&agkf9({3dbpb#!dYUzgT_;c{5chw?Ddz zW-aeBF`osbA1$PmP1y&kqsCF;37v@Yx~icV zR6|fGZ|K0{9VcB@q(UWt+Qfbv;!{hjtf=6=n6Jbn(``s{!^}j^GQ=%JtP3)a0v1fE zyJSGk@>vkXwX^_oJ9aqzv{YX|qdCuwlk#jAY3kI&{qKHzvhdO}v)03n=_55q8Z$_c z;cOo#w-AO~CU(Q~d6|~8?`c>pv?e_wPih?d(>w~V*1S{4v2Yr0p$eZ03A$VUC+pSo$INkYaX=nqe5j^+ z%@_HlXV{-OLhhMB{ByYT*~flf)^;6i&5-RLq(m|>G@P0GL0#x?`@K?j?~IF!%UDyw z5sE-yXI_*vNU+e|`~7t9SXgX69qG!8cd*u}{3E1JGw_y8+N!)IcVm(yeZB86+2+&< z)_yp4gSN3Z^JNC|KGyr{jonjH+fs<_W~8t5yr@?VUG`Rp3s29#PJDy3jV6Y@0i!8K zZApzmgp0{3 zi;2;#6<*M^e@8E|^ja-JikGvn6oF;vAbUx9xgd|9PkvDmOGiXRlww%%*{QwgokIWi z6lo(yptrBLOGXGh%LZKDN$)|l6ORKsj+Lu_fILS?$-0}f9R4pUTHYU!*(@*_M~TZ7 z=NbMoxKs6v?c=vvgHRa>jsJ$ADv|a7-~aMILJ?xBYhi@&EybHRC+jgs zr7ANQ6JTNc8SMgZ=R=l@GDcsD@u`x|O0EoE&8H%`%;SyB9z1y6k+pGo5wwg{haYOY z8=tpx_wr(tlysnuwatIBRu8I>g9rP#rucu8!ENt`umX+yhufuF(zYR+3w_$vPAbie z5Ap9gDNM%Q#irenwfxZz0>MM@d+Sn0dHpn%ZK>;tlB-rBJ8oe8S7L;*qu9B-pla=(!`9e z_mX9QNN%kvDSBi5tz;etq#7S;%oR3#9sZ)E4JH+P4SuRz2xEBOZpxMqB%ijq{LXl^ zet(*B?Q8ZI>dUe!kjsI~>dL5tEG|>J@l)Q(bHMTYr@a!+`5TYF=~6=oFW?pdWI0W8 zarGbLbN3FeKL|H*>YiLT881xw_}8b`#0fY6S- zh4B*XzP1>HBOfU@;`QqjCxG;p_0F}49H|P~t99RgBK-WE%9nm70yi?(*WL5$iX!^H zex1P?=I{X;f>1}3R=Df1?JGR_v4HJh*dgZvdT@CyL9!K3KItfTx)E!oIc3zBTg1vQ z<}~5%cU%x(UszK{+%<041}>@EmvxBkJPBpaWJqNV`&(r{_UKrOml9tWT)N&slmk%q z-wvPZCjv@jxa(TT!7tJk+%#{-$WsRitute^^RDiWUN^Dn;tXCr^Sdwx6rNnd53QO$ zo*!=wpCVBf=m5Ws&NGE7JJXmcSZJE#Kj2!GYI83DidC}1JqGkJC3sdQ%cPpo%Ac3ni4}bC7!;- df^?`MoE!l=CP$^P