From 4620037d7ff4f9d37320f654aad6f5859a8de871 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Thu, 29 Jun 2023 20:09:49 -0500 Subject: [PATCH 01/16] Bidons and Chemistry QOL --- code/__defines/flags.dm | 3 + code/game/atoms.dm | 3 + code/game/machinery/machinery.dm | 5 +- code/modules/reagents/holder/holder.dm | 1 + .../machinery/dispenser/reagent_tank.dm | 29 +-- .../reagent_containers/_reagent_containers.dm | 27 ++- .../reagents/reagent_containers/bidon.dm | 169 ++++++++++++++++++ .../reagents/reagent_containers/glass.dm | 13 ++ icons/obj/machines/chemistry.dmi | Bin 0 -> 1193 bytes icons/obj/reagentfillings.dmi | Bin 3163 -> 3826 bytes polaris.dme | 1 + 11 files changed, 230 insertions(+), 21 deletions(-) create mode 100644 code/modules/reagents/reagent_containers/bidon.dm create mode 100644 icons/obj/machines/chemistry.dmi diff --git a/code/__defines/flags.dm b/code/__defines/flags.dm index 0bad588e678..7a8151ef7fd 100644 --- a/code/__defines/flags.dm +++ b/code/__defines/flags.dm @@ -32,6 +32,9 @@ /// This atom is queued for an overlay update. #define ATOM_AWAITING_OVERLAY_UPDATE (1<<5) +///The Reagent cannot be refilled +#define ATOM_REAGENTS_NO_REFILL (1<<6) + /* -- /turf/var/turf_flags -- */ diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e63a02358aa..9e59e0f1ae3 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -129,6 +129,9 @@ var/global/list/pre_init_created_atoms // atom creation ordering means some stuf /atom/proc/is_open_container() return atom_flags & ATOM_REAGENTS_IS_OPEN +/atom/proc/can_refill() + return atom_flags & ~ATOM_REAGENTS_NO_REFILL + /*//Convenience proc to see whether a container can be accessed in a certain way. proc/can_subract_container() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index a7ca3385ce0..93f81f97900 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -113,6 +113,9 @@ Class Procs: var/obj/item/circuitboard/circuit = null var/list/materials = list() //Exclusively used for machines that take materials - lathes, fabricators etc. Honestly overdue for a whole lathe/fab refactor at some point. + var/anchor_type = null //What type of object can be anchored to a machine + var/anchor_direction = null //The immediate directions an object can be anchored to a machine. If null, any direction is allowed. + var/speed_process = FALSE //If false, SSmachines. If true, SSfastprocess. required_dexterity = MOB_DEXTERITY_TOUCHSCREENS @@ -486,4 +489,4 @@ Class Procs: S.amount = round(materials[mat] / S.perunit) else qdel(S) //Prevents stacks smaller than 1 - return \ No newline at end of file + return diff --git a/code/modules/reagents/holder/holder.dm b/code/modules/reagents/holder/holder.dm index 2bb01dd3340..7aba3686c75 100644 --- a/code/modules/reagents/holder/holder.dm +++ b/code/modules/reagents/holder/holder.dm @@ -133,6 +133,7 @@ + for(var/datum/reagent/current in reagent_list) if(current.id == id) if(current.id == "blood") diff --git a/code/modules/reagents/machinery/dispenser/reagent_tank.dm b/code/modules/reagents/machinery/dispenser/reagent_tank.dm index bfe7dc58114..ae8cdc6a36d 100644 --- a/code/modules/reagents/machinery/dispenser/reagent_tank.dm +++ b/code/modules/reagents/machinery/dispenser/reagent_tank.dm @@ -10,9 +10,12 @@ anchored = 0 pressure_resistance = 2*ONE_ATMOSPHERE + var/volume = 5000 + + var/has_hose = TRUE var/obj/item/hose_connector/input/active/InputSocket var/obj/item/hose_connector/output/active/OutputSocket - + atom_flags = ATOM_REAGENTS_NO_REFILL var/amount_per_transfer_from_this = 10 var/possible_transfer_amounts = list(10,25,50,100) @@ -20,25 +23,28 @@ src.add_fingerprint(user) /obj/structure/reagent_dispensers/Destroy() - QDEL_NULL(InputSocket) - QDEL_NULL(OutputSocket) + if(has_hose) + QDEL_NULL(InputSocket) + QDEL_NULL(OutputSocket) ..() /obj/structure/reagent_dispensers/Initialize() - var/datum/reagents/R = new/datum/reagents(5000) + var/datum/reagents/R = new/datum/reagents(volume) reagents = R R.my_atom = src if (!possible_transfer_amounts) src.verbs -= /obj/structure/reagent_dispensers/verb/set_APTFT - InputSocket = new(src) - InputSocket.carrier = src - OutputSocket = new(src) - OutputSocket.carrier = src - + if(has_hose) + InputSocket = new(src) + InputSocket.carrier = src + OutputSocket = new(src) + OutputSocket.carrier = src . = ..() + + /obj/structure/reagent_dispensers/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) @@ -57,6 +63,9 @@ if (N) amount_per_transfer_from_this = N +/obj/structure/reagent_dispensers/blob_act() + qdel(src) + /obj/structure/reagent_dispensers/ex_act(severity) switch(severity) if(1.0) @@ -75,8 +84,6 @@ else return -/obj/structure/reagent_dispensers/blob_act() - qdel(src) diff --git a/code/modules/reagents/reagent_containers/_reagent_containers.dm b/code/modules/reagents/reagent_containers/_reagent_containers.dm index 322fe5389dc..3a9924c8b21 100644 --- a/code/modules/reagents/reagent_containers/_reagent_containers.dm +++ b/code/modules/reagents/reagent_containers/_reagent_containers.dm @@ -22,6 +22,9 @@ src.verbs -= /obj/item/reagent_containers/verb/set_APTFT create_reagents(volume) +/obj/item/reagent_containers/on_reagent_change() + update_icon() + /obj/item/reagent_containers/attack_self(mob/user as mob) return @@ -38,12 +41,14 @@ return 0 if(!target.reagents || !target.reagents.total_volume) - to_chat(user, "[target] is empty.") - return 1 + if(target.can_refill()) + return 0 + else + to_chat(user, "[target] is empty.") + return 1 if(reagents && !reagents.get_free_space()) - to_chat(user, "[src] is full.") - return 1 + return 0 var/trans = target.reagents.trans_to_obj(src, target:amount_per_transfer_from_this) to_chat(user, "You fill [src] with [trans] units of the contents of [target].") @@ -98,12 +103,12 @@ return FALSE user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things - if(user == target) + if(user == target) self_feed_message(user) reagents.trans_to_mob(user, issmall(user) ? CEILING(amount_per_transfer_from_this/2, 1) : amount_per_transfer_from_this, CHEM_INGEST) feed_sound(user) return TRUE - + else other_feed_message_start(user, target) if(!do_mob(user, target)) @@ -116,8 +121,8 @@ feed_sound(user) return TRUE -/obj/item/reagent_containers/proc/standard_pour_into(var/mob/user, var/atom/target) // This goes into afterattack and yes, it's atom-level - if(!target.is_open_container() || !target.reagents) +/obj/item/reagent_containers/proc/standard_pour_into(var/mob/user, var/atom/target, var/pour_all = FALSE) // This goes into afterattack and yes, it's atom-level + if(!target.is_open_container() || !target.reagents || !target.can_refill()) return 0 if(!reagents || !reagents.total_volume) @@ -128,6 +133,10 @@ to_chat(user, "[target] is full.") return 1 - var/trans = reagents.trans_to(target, amount_per_transfer_from_this) + var/trans = 0 + if(pour_all) + trans = reagents.trans_to(target, reagents.total_volume) + else + trans = reagents.trans_to(target, amount_per_transfer_from_this) to_chat(user, "You transfer [trans] units of the solution to [target].") return 1 diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm new file mode 100644 index 00000000000..44bbc4150e6 --- /dev/null +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -0,0 +1,169 @@ + +//this is big movable beaker +/obj/structure/reagent_dispensers/bidon + name = "B.I.D.O.N. canister" + desc = "Bulk Industrial Dispenser Omnitech-Nanochem. A canister with acid-resistant linings intended for handling big volumes of chemicals." + icon = 'icons/obj/machines/chemistry.dmi' + icon_state = "bidon" + amount_per_transfer_from_this = 30 + possible_transfer_amounts = list(10,30,60,120,200,300) + var/filling_states = list(10,20,30,40,50,60,70,80,100) + unacidable = 1 + anchored = 0 + var/obj/machinery/anchored_machine + density = TRUE + volume = 6000 + var/lid = TRUE + var/starting_reagent + var/starting_volume = 0 + has_hose=FALSE + atom_flags = EMPTY_BITFIELD + +/obj/structure/reagent_dispensers/bidon/Initialize() + . = ..() + if(starting_reagent && starting_volume) + reagents.add_reagent(starting_reagent, starting_volume) + +/obj/structure/reagent_dispensers/bidon/advanced + name = "stasis B.I.D.O.N. canister" + desc = "An advanced B.I.D.O.N. canister with stasis function." + icon_state = "bidon_adv" + atom_flags = ATOM_REAGENTS_SKIP_REACTIONS // It's a stasis BIDON, shouldn't allow chems to react inside it. + filling_states = list(20,40,60,80,100) + volume = 9000 + +/obj/structure/reagent_dispensers/bidon/trigger + name = "trigger-stasis B.I.D.O.N. canister" + desc = "An advanced B.I.D.O.N. canister with stasis function that can be temporarily disabled with a multitool." + icon_state = "bidon_adv" + atom_flags = ATOM_REAGENTS_SKIP_REACTIONS //Tho its not a subtype its meant to be + filling_states = list(20,40,60,80,100) + volume = 9000 + var/timer_till_mixing = 120 + var/timing = FALSE + +/obj/structure/reagent_dispensers/bidon/trigger/examine(mob/user) + . = ..() + if(timing) + to_chat(user, SPAN_DANGER("[timer_till_mixing] seconds until stasis is disabled.")) + else + to_chat(user, SPAN_NOTICE("[src]'s timer isn't activated.")) + +/obj/structure/reagent_dispensers/bidon/trigger/attackby(obj/item/I, mob/user) + if(!timing) + if(I.is_multitool()) + to_chat(user, SPAN_NOTICE("You start the timer.")) + spawn(10 * timer_till_mixing) + timer_end() + return + else + . = ..() + update_icon() + +/obj/structure/reagent_dispensers/bidon/trigger/proc/timer_end() + atom_flags &= ~(ATOM_REAGENTS_SKIP_REACTIONS) + spawn(10) + atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS + +/obj/structure/reagent_dispensers/bidon/Initialize(mapload, ...) + . = ..() + update_icon() + +/obj/structure/reagent_dispensers/bidon/examine(mob/user) + . = ..() + if(get_dist(user, src) <= 2) + if(lid) + to_chat(user, SPAN_NOTICE("It has lid on it.")) + if(reagents.total_volume) + to_chat(user, SPAN_NOTICE("It's filled with [reagents.total_volume]/[volume] units of reagents.")) + +/obj/structure/reagent_dispensers/bidon/attack_hand(mob/user as mob) + //Prevent the bidon from being messed with while it is anchored. + if(anchored) + to_chat(user, SPAN_NOTICE("You can't remove the lid while the canister is anchored!")) + return + lid = !lid + if(lid) + to_chat(user, SPAN_NOTICE("You put the lid on.")) + atom_flags &= ~(ATOM_REAGENTS_IS_OPEN) + else + atom_flags |= ATOM_REAGENTS_IS_OPEN + to_chat(user, SPAN_NOTICE("You removed the lid.")) + playsound(src,'sound/items/trayhit2.ogg',50,1) + update_icon() + +/obj/structure/reagent_dispensers/bidon/attackby(obj/item/I, mob/user) + + //Handle attaching the BIDON to a valid machine, should one exist + if(I.is_wrench()) + if(anchored) + anchored = FALSE + anchored_machine = null + playsound(src, I.usesound, 50, 1) + else + var/list/directions = list(WEST, NORTH, SOUTH, EAST) + for(var/direction_from_obj in directions) + for (var/obj/machinery/valid_machine in get_step(get_turf(src), direction_from_obj)) + if(valid_machine.anchor_type && ispath(valid_machine.anchor_type, /obj/structure/reagent_dispensers/bidon)) + if(valid_machine.anchor_direction) + if(valid_machine.anchor_direction == reverse_direction(direction_from_obj)) + anchored_machine = valid_machine + break + else + anchored_machine = valid_machine + break + if(anchored_machine) + to_chat(user, SPAN_NOTICE("You [anchored ? "detach" : "attach"] the B.I.D.O.N canister to the [anchored_machine].")) + anchored = TRUE + playsound(src, I.usesound, 50, 1) + //Remove the lid if it is currently sealed, so we don't have to deal with checking for it + if(lid) + to_chat(user, SPAN_NOTICE("The machine removes the lid automatically!")) + lid = FALSE + atom_flags |= ATOM_REAGENTS_IS_OPEN + playsound(src,'sound/items/trayhit2.ogg',50,1) + update_icon() + return + else if(lid) + to_chat(user, SPAN_NOTICE("Remove the lid first.")) + return + . = ..() + update_icon() + +/obj/structure/reagent_dispensers/bidon/update_icon() + cut_overlays() + if(lid) + var/mutable_appearance/lid_icon = mutable_appearance(icon, "[icon_state]_lid") + add_overlay(lid_icon) + if(anchored) + var/mutable_appearance/anchor_icon = mutable_appearance(icon, "bidon_anchored") + add_overlay(anchor_icon) + if(reagents.total_volume) + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state][get_filling_state()]") + if(!istype(src,/obj/structure/reagent_dispensers/bidon/advanced)) + filling.color = reagents.get_color() + add_overlay(filling) + +/obj/structure/reagent_dispensers/bidon/proc/get_filling_state() + var/percent = round((reagents.total_volume / volume) * 100) + for(var/increment in filling_states) + if(increment >= percent) + return increment + +/obj/structure/reagent_dispensers/bidon/advanced/examine(mob/user) + if(!..(user, 2)) + return + if(reagents.reagent_list.len) + for(var/I in reagents.reagent_list) + var/datum/reagent/R = I + to_chat(user, "[R.volume] units of [R.name]") + +//Preset Bidon of Animal Protein for testing +/obj/structure/reagent_dispensers/bidon/protein_can + starting_reagent = "protein" + + +//Department starting protein to get the process off the ground +/obj/structure/reagent_dispensers/bidon/protein_can/si + starting_reagent = "protein" + starting_volume = 1000 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index ad6877fd37f..c9c5d2222f8 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -106,10 +106,23 @@ for(var/type in can_be_placed_into) //Is it something it can be placed into? if(istype(target, type)) return 1 + + + //Disarm intent tries to empty the beaker + if(user.a_intent == I_DISARM) + if(standard_pour_into(user, target, TRUE)) + return + + //Pour into if beaker is full + if(reagents && !reagents.get_free_space() && standard_pour_into(user, target)) + return 1 + if(standard_dispenser_refill(user, target)) //Are they clicking a water tank/some dispenser? return 1 + if(standard_pour_into(user, target)) //Pouring into another beaker? return + if(user.a_intent == I_HURT) if(standard_splash_mob(user,target)) return 1 diff --git a/icons/obj/machines/chemistry.dmi b/icons/obj/machines/chemistry.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ccab439b84e7766c09ecad23fd264dba039e02d0 GIT binary patch literal 1193 zcmV;a1XlZrP)Q)7#yB`eg2LD|I6WU9C*PBg18Yf{4otOas%?w^`s$&4$pc_9_ion3Y5-2_(I8aqtW0RDdNH*ve00001bW%=J z06^y0W&i*HsCrabbVOxyV{&P5bZKvH004NLQ&wpOarsq841rl@(n5T)Mh))yfvT2}zB!Q{h777?804@OV86dzg5AXrNXMh0FJXFIB zVM`97DV5Qs4%#Tl<%Yljx2a9gwt`$D1WGXgRRTaOqXNOE)TJ5%n95XvU|R!E3;+l~ zB^4hDKy}OkfWlw`O|#iF@a7(%0E8L_al38dO&nmpj6wjdJp%%iw*VCagbFx-Ixhf5 zzXELZAig6&fTt((3jwmn$0e-#@GuDKZXy{RfxZH5m47qB{6htB7Tg2iGHAW(t-x-0 z1wev0fbp{!=Aj6Hn*s>{Hw#cw0GNK$xOJ!^a{%^%$_)Ul!&U@f*B78s&rty5zKxp& z5&$o|Fa^}}D+%!SCI_&4=>cBp3Wx$+EASYAbqLlWxEX@Go815)`^^w{!fORo`S$@X z=Meyi#1AKeuoFte$2)$1H;NzKjlUhj-H1NgFGfgr4xGPg)%O?I|I7R7?pxaD`hQuU z>;J`lrvI1r+5TVJXZwF?zwiI|PLcj!+VA`Seb?;|`&j=Ud~5ez%AfuD(Es;@k^W!W zXZwF?pY8vpeYXFX_Sybl+7Bgib0pe$Nc;UC91iIVz&cC%@4sjImjDcatzES)0f^GZD5_W>|NIz`SO0YE?B_W?Q- znIh+pBA}k{hX|Nr!IXgZbLr7*v9L^voWEQ?L3^6(FODA)qyljMa)AH60M=(nUZ3+9 zi<{&B{x&eB1Tq-oOCVH-(L3Ss*vSmU$P&N-nZ+X8N9ac+k5<7n<@Ts0F0n7!t0wUenNi$N_>xnHCB^z00000NkvXX Hu0mjf>~$v-2 zh?c$<000n|BTgp)K*{0zsi_WT7!L}_U?7Y+?TvN1fC-Ga6pp=w4g-Lw>_?C2VQh09 z=bmmaoe!)7t|s@*UYQu`A~(~F?!0+nZ+uXHGb1mal$3w^DnZoVuH3Fe#3VO`2n4*I zh2~IVwcBXg7WE3NFAP+LXj91~gH=iOne=%Vw=ZtQF^R$QgSgW6?ewblV!Ux_y@>K; z{G7qP>p^24(W{I!ib^Jm2t?6M>%?D)pWfGO@wjw;Jw!5>cIZYy^wCXCWA+6P&&5H{ zBHsx(o6n8V6+;u%={**gSb8di+(4q4NE zCaDU{bb3#m1~aF;Cv>}Qld4vhr!T&^LySOvHJ&k!BVOKBZfBB!K{jmAcF^0yB6B^R zBe&~o#vbBOxEgC9cUtbqpXNQh5);_k@>Vu6OYkfHTSDwRF%O zk?E{cDRWi7VgZDl2i>`bY-vJ(M@inQ*oZZ2x>6~@g8j9(t-4bw9Lq=)5ovW%@Cr4c zWK7S=c}TMz27nc{E=~tdM`iQBybdvlWHru`GE|j6*lPWDAhZZF`88?P+OuO1*lGN# zvShjTv;@vqd~9+oUG~XM!{5mV*_&ms^JZ5-OYz?;>6f*A3#g`bPaayr?-Q9CT2+(W zOudPTpv_79^j0P>Gs@$P!T^Gws*dI{AffCpnx{9)O~)x=(~FWF=<%?+3<8MEob*xA@!HJBPhgyXM+WT%MtgqPa zKnV*OwlRx;rFnpzeoz+$%etcFcgiPSFxr`er@?8wuHcN87dGj1gA;75=ZZ zJD;O%^DqX3Ls{WsY!M&wyYcPQy3SMxcP?>fi~7&_0dZ~Gg?;|xmu_68mGCS~IaFzV zsQ~N52gdL#jSCd=q;;H|bXo#CX60Dncy60@e1@5#jU%Mvd+3dGm@>-bQpW2!>1g1y zJ&Ii31&du7HN`WT=mv2$T)}$h^AW~C8#)k51RFJV(gEdj%Zz@I>8|hB__*bQPkT?T z<~16JG(Du;k+R&;qp0(=Zu4D#>l}CAT8F*Zvqj1^VT5kk%fgm2!(6&op@&I9p7Ezp zD|WN!Q3Nx&guJG)-{9krUUwgXRf#h_G3JHXOLW}|GSS}Nj->7uX4IxA&=@(nb~#Ee z>m#xZav|@fNgcsyqX(cUv$~2$rv`sFcp(0Wx~nYm)vh^TA+-n1Y>TyK@WE^1h2;W4dvYAc+;AlZs^YL# zzU9XucI`9*!C8!{pTVetatIpvcI z;&ZYhVngRfr?c5;mFxPR&4qkOuvm%qL0vbl0XRvgk`j3=DMCH*fd1V>wePZMuW?Gh zrDs32;7C!-MJqj{=ZRm#A4~Lr@-n3#S1Z`#2*hxf*(&CezW-XxEQ1;M^n5ToB8r7y zF+!wygc6Q7k&7t|H`7IF9Hw*%>Mg&>R=so#ya@phLLlyLOLeievt#p^gD634{Xi6F zd^-P-!63+P>W7immPuNc)!n)oTvvek`+YE}w1m}aQijIcg)Ki`+C$gR?Wd_Ss;^si z7!wj-4;~ff;RGm$u`HVZWw=I7Yk>KY{ElFQ$g33g#?E&bhwAkQeQBy~)(W$B^u%5Q ziiwt5>4BdQh>fX|>YG&#Kh)?yBVPtdvst{-xD{+}69G1cV=(p0X9iv!0{K58xOHh3 zWBpI=caYF?m?*S?##$E;no+cn%x(+foJQEC54W3c~k`tr=mPVEG-~0~ z`WAwNx3cCBGM~9`xRI}ils};S9%TC0$4M5l=um~kU$GRV(2f_;{9079f?p|lg4^J2 z=T8<%7N_GYaO|L6NSt)!LuyF%!F7f!lAF%N4;FH(s&0)Ep?&0!G6hE=XQrJjSNr5# zW!316+nVa~#C7Wqc=fT`@zhWE;qs`_VJ7mGNK~R5E+BM{flcZ+`YM zi7k^X(xQdjjz?^F4-Z;s-~x}w%b>U?vY&W_(&Cqd^PL{B+F8Li^uTXWcXzqpI4nfN zJTeOGSntDbA5Rr^&C_M*tN46~dC+w*nH`}X4E?M%7;G7nDR92oFF5rwMr*0l1747J z@?}lU`v|R?$E0IZ;(ggjzgKb+TxL=ahbzL_iA_zy`)Hb*#|Bt`G@-!`=B~X`yOg1r z64~sJ7KQf=FNWdy5c5S!aqYN5Dq#8(iNq(Q54`5)2@ew71H2gCzaW?5W`W=fDlzeR zJPM!H#u<>Z(1{8C?z_y8yExsR(l$=17$kI*qpb4(4}cKgs}@geNy&AE3l}VI@$=#G z*?D#~y7Y^DvabTW#IOF_J6M^n>a99`Z{vnYxvxRYS|5ELRk3(u(MzHDRqRX&HnTZ7+nmh)R<7izLN_>aPn-gbJdW?f+A{Xx^Tk#Es^agk+t|BKGnpW)gEQuF zk+^K4J+4>e&}L1$2Wp2Ds1%%D9UUj~ApxsXW~Ai_mHXu?f-ELlxP3+<5C{inW?EZN zyWtDcv`>!)N26vkX;6Xojiz∾z>eJxFR<)p&f{{rymC!3jWVAz|GC!e7-j|3wH< zIxbiw)FA6)=6goj4WgkG1>=foRyo+j`+%o`5$J&XP3*qHJrG79_Ih6S_Pu zmupmz)>@ujlm^4Cs1wfj`1`XP86+1>^b%x$Ip2HrjRipYJJEqgrIQ6kT-%JMUBBwviNv$%` z_;xWH`)`vxe0*Lan>B0j1QP7fR$29a+d@J0XP?DDmc-KB6B5coe_+pBUq+c2I<$>Y z2I|kAdq;Ch&w8EE4M{5IOy5t*>s=7lZy{hEry#+$IVEdAXj?jYSoUxy*4Ay}da?2C z$`rBWDByE!3Mh`H)!EB@x0%-6@t6`zjsSKWmrT5KB$gbLnU|{JZnf6A+@gRnJGFtN zc2)C8LU+AC7*0<}<0`KKIlnZ+)V|kY9d{RVfT@_9l;Kh(-gX4{*KOADDKL#jLk*>T zeqy5A)bPMde;W{t!ZiFI0{A+!RlXM*#AD-GwAP;`EKA3I<4~{%7q8cG$iR*{>kv?@ z|D1zoB+fe5h6PMGGY%9>kpD@g|ErqARoFGV_dmEF@=K^ukJ{4&K3Ayz_45ZPA+s{>uU`&hAbnjsd^?10YETC;$Ke literal 3163 zcmbtXc{E%39=~GODpO18)bdQLh^^Y%gVCbZhEg%AN=jSX6r+ospe>#jwKVpqHi}Nf zpeQ1Ysni;(wp!8_2`?f@Bw~qo&Aju@JMWyH)1LX`o^!wVocq1s&*%I7em=jOa>2n) zQsSTl005F_&zyD!00GtAOH2d+0NKPU6d068y13mwef^eCsDH?9|KK112rtaZ=?O~I zm$n&QmUFEslc*meCBSpayVZF2yW#4cl`#7iX(?f`Jde`YRfm2DU8T=81}cxc zbV8bgYV{qI(mv>xF0lPa>Ek=5k5kZA_|0>vg(CoMuuXHHpDIQ`vTz0^@^B}Azj4?5 zIvrtCHqrgAI1#dJQVA5MX#x0W5^W4j*N#qJ>RQkd*9kaZm}9uT1Q z#tLK(ocCVFbV|RgneMQyD1Ga1`-D34*i%pA{fs;1mzNRbVD-DcfyRgAQTK??!+
>IyySkJMnS?0eKMuxed6K?Oc9% zsH)*jL!kmgBEutL_=Lh<-5cl$FxlrCEKiH;Q=>NoO(;`3bV!zUi#1Vo2U^k6jMvR8L@#+p$h znx8MQQs<07kj;wvS?t)5lYb84p5Gu>6@|*NLZ~~cyYs2@Rzj$1$u?3H#VH4&-<=3I z*FAdlsF&VqBu?@I__kNv4CXoae%~=BppDHQ^s5^X7^~;8*qhr12Or6Ae7G-o82Gt# zHoi5DH6;k~u7A*RHBtp7d0qIMci;;cbP$N)rR$De_v)opRXY>K1MMvf%wU+l-N!B5 zO9(_WUS-I06E@Z)2iDtM!=X0sU z?%AM$XZKd1`A&=|uapZsc_jt68QYrc50g2V>^}wfL&kjL(tiQ4)%ifd+e*a`#69|~ zrPK>y%ix#0G071{)Q+-(Ly14ZI01MR6=$07k@B1-*mIFSzKlRH`k|hGp${7-i#U># z=&CWo`mmiEpVd>t5(Arm_3O!6D6W8fBR8z=%9`rrEbm;iI7~Smz2=N7bUf~nfJbA6 z%PCAfI@aAJ?xGmbn-RILk2|RiF$}(B34)e7d z_a(Uh6-n)q%E~FWAY?Qi7_^5}E1N6kxSqAlH-*JbiAk&c9J>67Gy{s>cI*z0jNee5 zWb^3r;N-4{fbcyzR6T5-;KvwNLG=P_C}_Hchm4Ba#N8y3NEE$|NKgPUQ@8xofCZyg zUV&mU!XJTBhoX9>h2S_KGuWDC6vc0_BWk?D_S8Ab5fM+RR0gtynk7Gf}Z(c;;~ zO!X7eGc*)RK>*?{B$oW0s;ceZ3M#g*z4s*-!*coSMB)zr9Cv9dPA3?Rf;&O2jDn}5 z^_v+gUa`Ce=kCOp<|WFFeE!A?DcypLboMpNSIz5Qu837b8GSQdAmRgSQbn#<(^Be{u9aMa5KVGSX61&ORoRy@_ zuvm87C5m3d(qu#}V{UwW*30S#C<^WC%j^x#1nr||3->9c@!pkykrf{A+4xQP8&Wi@ z&ue&QUQTix0|O@+mRv1c;WgAEo;9h;hM!I{r|_myGYpV(D3la;n}Uk#KeYr zqmyxwmiC&=MLVTeu2w{4rI;u-dts7{+Yn*j$tABH15LYWYU$15c%yihV2lBAlzuXD zncN@1ibf-KPR0zt`%lBkm_w)(-cVJjh@qt!@h)n&7a)YW`Gp~)ID#=u$C1N5Fr8x9 zhdEOmf3%F;c9vQ|EC;!Eqwh&0lU1ggkW>=f%2OxoadQ2-^Un<0>1kP#lnURtnbFK_-SqYL`p_>S zmi!x}^v*kIMp02wnJo?m1+`xy`9ti+!iz9hRm-jAQ$ElP&_&B^`(A+wgky-hpyg$Xwy_r@R0_yR`%8qM@5puvv^7cZ-YJZ1 z^%WBx+!af};}w`avAxZ))VfDow&c&UV&sisu$%1tvut)@Qb diff --git a/polaris.dme b/polaris.dme index be8eeacc525..b16e0aac039 100644 --- a/polaris.dme +++ b/polaris.dme @@ -2983,6 +2983,7 @@ #include "code\modules\reagents\reactions\instant\instant.dm" #include "code\modules\reagents\reactions\instant\vox.dm" #include "code\modules\reagents\reagent_containers\_reagent_containers.dm" +#include "code\modules\reagents\reagent_containers\bidon.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghypo.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" From 6b8c12772679b972e099c85c84a96d9c0d2927d9 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Thu, 29 Jun 2023 20:20:27 -0500 Subject: [PATCH 02/16] Remove pour if beaker is full- not necessary --- code/modules/reagents/reagent_containers/glass.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index c9c5d2222f8..eaf7ef6db68 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -113,10 +113,6 @@ if(standard_pour_into(user, target, TRUE)) return - //Pour into if beaker is full - if(reagents && !reagents.get_free_space() && standard_pour_into(user, target)) - return 1 - if(standard_dispenser_refill(user, target)) //Are they clicking a water tank/some dispenser? return 1 From 448702f8e6bec82d101a5043b5e4f0f1f29c53a4 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Thu, 29 Jun 2023 20:33:10 -0500 Subject: [PATCH 03/16] adds printing recipes --- code/modules/research/designs/bio_devices.dm | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/code/modules/research/designs/bio_devices.dm b/code/modules/research/designs/bio_devices.dm index f3aa33845ff..3ab18846b3f 100644 --- a/code/modules/research/designs/bio_devices.dm +++ b/code/modules/research/designs/bio_devices.dm @@ -59,3 +59,26 @@ build_path = /obj/item/analyzer/plant_analyzer sort_string = "JAADA" +/datum/design/item/biotech/bidon + desc = "A lumbering metal drum used to hold large amounts of chemicals." + id = "bidon" + req_tech = list(TECH_MATERIAL = 4, TECH_BIO = 4) + materials = list(MAT_STEEL = 2000, "glass" = 1000) + build_path = /obj/structure/reagent_dispensers/bidon + sort_string = "IAAAC" + +/datum/design/item/biotech/advanced_bidon + desc = "A lumbering metal drum used to hold large amounts of chemicals in sustained cryostasis." + id = "advanced_bidon" + req_tech = list(TECH_MATERIAL = 6, TECH_BIO = 4, TECH_DATA = 5) + materials = list(MAT_STEEL = 2000, "glass" = 1000, MAT_SILVER = 100) + build_path = /obj/structure/reagent_dispensers/bidon/advanced + sort_string = "IAAAD" + +/datum/design/item/biotech/trigger_bidon + desc = "A dubiously legal metal drum that can be triggered to mix all of its contents at the same time." + id = "trigger_bidon" + req_tech = list(TECH_MATERIAL = 6, TECH_BIO = 4, TECH_DATA = 5, TECH_ILLEGAL = 3) + materials = list(MAT_STEEL = 2000, "glass" = 1000, MAT_GOLD = 500) + build_path = /obj/structure/reagent_dispensers/bidon/trigger + sort_string = "IAAAE" From 5491624851650079d2882a898a8464a88f2d9632 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Thu, 29 Jun 2023 20:35:51 -0500 Subject: [PATCH 04/16] Fix trigger bidon --- code/modules/reagents/reagent_containers/bidon.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index 44bbc4150e6..b73e37cb0e4 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -34,7 +34,7 @@ /obj/structure/reagent_dispensers/bidon/trigger name = "trigger-stasis B.I.D.O.N. canister" - desc = "An advanced B.I.D.O.N. canister with stasis function that can be temporarily disabled with a multitool." + desc = "An advanced B.I.D.O.N. canister with a stasis function that can be temporarily disabled with a multitool." icon_state = "bidon_adv" atom_flags = ATOM_REAGENTS_SKIP_REACTIONS //Tho its not a subtype its meant to be filling_states = list(20,40,60,80,100) @@ -52,9 +52,11 @@ /obj/structure/reagent_dispensers/bidon/trigger/attackby(obj/item/I, mob/user) if(!timing) if(I.is_multitool()) + timing=TRUE to_chat(user, SPAN_NOTICE("You start the timer.")) spawn(10 * timer_till_mixing) timer_end() + timing=FALSE return else . = ..() @@ -64,6 +66,7 @@ atom_flags &= ~(ATOM_REAGENTS_SKIP_REACTIONS) spawn(10) atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS + reagent.handle_reactions() /obj/structure/reagent_dispensers/bidon/Initialize(mapload, ...) . = ..() From f48d584518fbcf04eb00f973dfa74881d5ca5ad1 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Thu, 29 Jun 2023 20:37:41 -0500 Subject: [PATCH 05/16] vanity commit --- code/modules/reagents/reagent_containers/bidon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index b73e37cb0e4..cc58e8e6194 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -2,7 +2,7 @@ //this is big movable beaker /obj/structure/reagent_dispensers/bidon name = "B.I.D.O.N. canister" - desc = "Bulk Industrial Dispenser Omnitech-Nanochem. A canister with acid-resistant linings intended for handling big volumes of chemicals." + desc = "Blue-Ink Dispenser Omnitech-Nanochem. A canister with acid-resistant linings intended for handling big volumes of chemicals." icon = 'icons/obj/machines/chemistry.dmi' icon_state = "bidon" amount_per_transfer_from_this = 30 From fdfa62507277322acfcfce2056dc571b789aceb1 Mon Sep 17 00:00:00 2001 From: Hex <13907407+hex37@users.noreply.github.com> Date: Tue, 18 Jul 2023 11:59:01 -0500 Subject: [PATCH 06/16] Update bidon.dm --- code/modules/reagents/reagent_containers/bidon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index cc58e8e6194..1ec05b713cf 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -66,7 +66,7 @@ atom_flags &= ~(ATOM_REAGENTS_SKIP_REACTIONS) spawn(10) atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS - reagent.handle_reactions() + reagents.handle_reactions() /obj/structure/reagent_dispensers/bidon/Initialize(mapload, ...) . = ..() From 67406bb3fb78bbc3c46a6ee8785bba28cba161a1 Mon Sep 17 00:00:00 2001 From: Hex <13907407+hex37@users.noreply.github.com> Date: Mon, 21 Aug 2023 17:31:31 -0500 Subject: [PATCH 07/16] Update code/modules/reagents/reagent_containers/_reagent_containers.dm Co-authored-by: Atermonera --- .../reagents/reagent_containers/_reagent_containers.dm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/code/modules/reagents/reagent_containers/_reagent_containers.dm b/code/modules/reagents/reagent_containers/_reagent_containers.dm index 3a9924c8b21..078e4fb2002 100644 --- a/code/modules/reagents/reagent_containers/_reagent_containers.dm +++ b/code/modules/reagents/reagent_containers/_reagent_containers.dm @@ -133,10 +133,7 @@ to_chat(user, "[target] is full.") return 1 - var/trans = 0 - if(pour_all) - trans = reagents.trans_to(target, reagents.total_volume) - else - trans = reagents.trans_to(target, amount_per_transfer_from_this) + var/trans = pour_all ? reagents.total_volume : amount_per_transfer_from_this + trans = reagents.trans_to(target, trans) to_chat(user, "You transfer [trans] units of the solution to [target].") return 1 From fac3ebedbe87f89feda4f13811640dabc76887d2 Mon Sep 17 00:00:00 2001 From: Hex <13907407+hex37@users.noreply.github.com> Date: Mon, 21 Aug 2023 17:32:34 -0500 Subject: [PATCH 08/16] Update code/modules/reagents/reagent_containers/bidon.dm Co-authored-by: Atermonera --- code/modules/reagents/reagent_containers/bidon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index 1ec05b713cf..9a37ee3f642 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -107,7 +107,7 @@ var/list/directions = list(WEST, NORTH, SOUTH, EAST) for(var/direction_from_obj in directions) for (var/obj/machinery/valid_machine in get_step(get_turf(src), direction_from_obj)) - if(valid_machine.anchor_type && ispath(valid_machine.anchor_type, /obj/structure/reagent_dispensers/bidon)) + if(ispath(valid_machine.anchor_type) && istype(src, valid_machine.anchor_type)) if(valid_machine.anchor_direction) if(valid_machine.anchor_direction == reverse_direction(direction_from_obj)) anchored_machine = valid_machine From 07fde9f2e0de969fa4b3a71f7e40830cce518511 Mon Sep 17 00:00:00 2001 From: Hex <13907407+hex37@users.noreply.github.com> Date: Mon, 21 Aug 2023 17:32:49 -0500 Subject: [PATCH 09/16] Update code/modules/reagents/reagent_containers/bidon.dm Co-authored-by: Atermonera --- code/modules/reagents/reagent_containers/bidon.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index 9a37ee3f642..b76b0159f35 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -125,8 +125,6 @@ lid = FALSE atom_flags |= ATOM_REAGENTS_IS_OPEN playsound(src,'sound/items/trayhit2.ogg',50,1) - update_icon() - return else if(lid) to_chat(user, SPAN_NOTICE("Remove the lid first.")) return From aef2a63321b131bc5e1a995832b0d4e51757cd69 Mon Sep 17 00:00:00 2001 From: Hex <13907407+hex37@users.noreply.github.com> Date: Fri, 25 Aug 2023 17:20:49 -0500 Subject: [PATCH 10/16] Update code/modules/reagents/reagent_containers/bidon.dm Co-authored-by: Atermonera --- code/modules/reagents/reagent_containers/bidon.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index b76b0159f35..4385576f1af 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -76,9 +76,9 @@ . = ..() if(get_dist(user, src) <= 2) if(lid) - to_chat(user, SPAN_NOTICE("It has lid on it.")) + . += "It has lid on it." if(reagents.total_volume) - to_chat(user, SPAN_NOTICE("It's filled with [reagents.total_volume]/[volume] units of reagents.")) + . += "It's filled with [reagents.total_volume]/[volume] units of reagents." /obj/structure/reagent_dispensers/bidon/attack_hand(mob/user as mob) //Prevent the bidon from being messed with while it is anchored. From 2e8a7e70f62b290760c0c64ff277e4001dabcbf1 Mon Sep 17 00:00:00 2001 From: Hex <13907407+hex37@users.noreply.github.com> Date: Fri, 25 Aug 2023 17:21:23 -0500 Subject: [PATCH 11/16] Update code/modules/reagents/reagent_containers/glass.dm Co-authored-by: Atermonera --- code/modules/reagents/reagent_containers/glass.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index eaf7ef6db68..0c020de9992 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -109,9 +109,8 @@ //Disarm intent tries to empty the beaker - if(user.a_intent == I_DISARM) - if(standard_pour_into(user, target, TRUE)) - return + if(user.a_intent == I_DISARM && standard_pour_into(user, target, TRUE)) + return TRUE if(standard_dispenser_refill(user, target)) //Are they clicking a water tank/some dispenser? return 1 From 6cc570fa400f62f951e8a734b7e3a7be90d718a3 Mon Sep 17 00:00:00 2001 From: Hex <13907407+hex37@users.noreply.github.com> Date: Fri, 25 Aug 2023 17:22:05 -0500 Subject: [PATCH 12/16] Update code/modules/reagents/reagent_containers/bidon.dm Co-authored-by: Atermonera --- code/modules/reagents/reagent_containers/bidon.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index 4385576f1af..f91eef7b267 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -152,12 +152,11 @@ return increment /obj/structure/reagent_dispensers/bidon/advanced/examine(mob/user) - if(!..(user, 2)) - return - if(reagents.reagent_list.len) + . = ..() + if(reagents.reagent_list.len && get_dist(user, src) <= 2) for(var/I in reagents.reagent_list) var/datum/reagent/R = I - to_chat(user, "[R.volume] units of [R.name]") + . += "[R.volume] units of [R.name]" //Preset Bidon of Animal Protein for testing /obj/structure/reagent_dispensers/bidon/protein_can From e80319a920e819bb8cd956f8b2750c79d36e1280 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Fri, 25 Aug 2023 17:50:12 -0500 Subject: [PATCH 13/16] fixes --- code/modules/reagents/reagent_containers/bidon.dm | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index 1ec05b713cf..030f7eba432 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -54,8 +54,7 @@ if(I.is_multitool()) timing=TRUE to_chat(user, SPAN_NOTICE("You start the timer.")) - spawn(10 * timer_till_mixing) - timer_end() + addtimer(CALLBACK(src, ./proc/timer_end), (1 SECOND * timer_till_mixing)) timing=FALSE return else @@ -64,9 +63,10 @@ /obj/structure/reagent_dispensers/bidon/trigger/proc/timer_end() atom_flags &= ~(ATOM_REAGENTS_SKIP_REACTIONS) - spawn(10) - atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS + spawn(1 SECOND) reagents.handle_reactions() + atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS + /obj/structure/reagent_dispensers/bidon/Initialize(mapload, ...) . = ..() @@ -161,11 +161,6 @@ var/datum/reagent/R = I to_chat(user, "[R.volume] units of [R.name]") -//Preset Bidon of Animal Protein for testing -/obj/structure/reagent_dispensers/bidon/protein_can - starting_reagent = "protein" - - //Department starting protein to get the process off the ground /obj/structure/reagent_dispensers/bidon/protein_can/si starting_reagent = "protein" From 51cfee6469c8f8fe8383d72f8a43f5aa534bf753 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Fri, 25 Aug 2023 18:02:30 -0500 Subject: [PATCH 14/16] strange return --- code/modules/reagents/holder/holder.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/reagents/holder/holder.dm b/code/modules/reagents/holder/holder.dm index 7aba3686c75..2bb01dd3340 100644 --- a/code/modules/reagents/holder/holder.dm +++ b/code/modules/reagents/holder/holder.dm @@ -133,7 +133,6 @@ - for(var/datum/reagent/current in reagent_list) if(current.id == id) if(current.id == "blood") From b1c99f952052cf1809f21596e07f4349e0f9c7e5 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Fri, 25 Aug 2023 18:05:26 -0500 Subject: [PATCH 15/16] sleepless push --- code/modules/reagents/reagent_containers/bidon.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index 43c1f7132df..4e652e0e6f1 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -63,7 +63,6 @@ /obj/structure/reagent_dispensers/bidon/trigger/proc/timer_end() atom_flags &= ~(ATOM_REAGENTS_SKIP_REACTIONS) - spawn(1 SECOND) reagents.handle_reactions() atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS From aa8e6b600068136430c819520b59087ebf80a625 Mon Sep 17 00:00:00 2001 From: WilliamNelson37 Date: Sun, 17 Sep 2023 13:12:50 -0500 Subject: [PATCH 16/16] update name --- code/modules/reagents/reagent_containers/bidon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/bidon.dm b/code/modules/reagents/reagent_containers/bidon.dm index 4e652e0e6f1..c9cf0ff0881 100644 --- a/code/modules/reagents/reagent_containers/bidon.dm +++ b/code/modules/reagents/reagent_containers/bidon.dm @@ -2,7 +2,7 @@ //this is big movable beaker /obj/structure/reagent_dispensers/bidon name = "B.I.D.O.N. canister" - desc = "Blue-Ink Dispenser Omnitech-Nanochem. A canister with acid-resistant linings intended for handling big volumes of chemicals." + desc = "Banded Industrial Drum for Organic Nonvolatiles. A canister with acid-resistant linings intended for handling big volumes of chemicals." icon = 'icons/obj/machines/chemistry.dmi' icon_state = "bidon" amount_per_transfer_from_this = 30