From 4d3d1e9a54c1ff440e6aafd080d6a78347675fb3 Mon Sep 17 00:00:00 2001 From: jbox1 <40789662+jbox144@users.noreply.github.com> Date: Sun, 16 Feb 2020 16:05:00 +1100 Subject: [PATCH 1/4] Create milking machine.dm --- .../reagent container/milking machine.dm | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 modular_citadel/code/modules/reagents/reagent container/milking machine.dm diff --git a/modular_citadel/code/modules/reagents/reagent container/milking machine.dm b/modular_citadel/code/modules/reagents/reagent container/milking machine.dm new file mode 100644 index 00000000..7ff56056 --- /dev/null +++ b/modular_citadel/code/modules/reagents/reagent container/milking machine.dm @@ -0,0 +1,83 @@ +/obj/item/milker + icon = 'icons/obj/milking machine.dmi' + name = "milking machine" + icon_state = "Off" + item_state = "Off" + desc = "A pocket sized pump and tubing assembly designed to collect and store products from mammary glands." + + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_POCKET + + var/on = FALSE + var/obj/item/reagent_containers/glass/inserted_item = null + + var/transfer_rate = 0.25 // How much we transfer every 2 seconds + var/target_organ = "breasts" // What organ we are transfering from + +/obj/item/milker/examine(mob/user) + . = ..() + to_chat(user, "[src] is currently [on ? "on" : "off"].") + if (inserted_item) + to_chat(user, "[inserted_item] contains [inserted_item.reagents.total_volume]/[inserted_item.reagents.maximum_volume] units") + +/obj/item/milker/attackby(obj/item/W, mob/user, params) + add_fingerprint(user) + if(istype(W, /obj/item/reagent_containers/glass) && !inserted_item) + if(!user.transferItemToLoc(W, src)) + return ..() + inserted_item = W + UpdateIcon() + else + return ..() + +/obj/item/milker/interact(mob/user) + if(!isAI(user) && inserted_item) + add_fingerprint(user) + on = !on + if (on) + to_chat(user, "You turn [src] on.") + START_PROCESSING(SSobj, src) + else + to_chat(user, "You turn [src] off.") + STOP_PROCESSING(SSobj, src) + UpdateIcon() + else + ..() + +/obj/item/milker/proc/UpdateIcon() + icon_state = "[on ? "On" : "Off"][inserted_item ? "Beaker" : ""]" + item_state = icon_state + + +/obj/item/milker/AltClick(mob/living/user) + add_fingerprint(user) + user.put_in_hands(inserted_item) + inserted_item = null + on = FALSE + STOP_PROCESSING(SSobj, src) + UpdateIcon() + +/obj/item/milker/process() + var/mob/living/carbon/W = loc + if (W) + var/obj/item/organ/genital/breasts/O = W.getorganslot(target_organ) + if (O) + if (O.reagents.total_volume >= transfer_rate * 2) + if (inserted_item.reagents.total_volume < inserted_item.reagents.maximum_volume) + O.reagents.trans_to(inserted_item.reagents, amount = transfer_rate) + else + to_chat(W, "[src] stops pumping. [inserted_item] is full.") + on = FALSE + STOP_PROCESSING(SSobj, src) + UpdateIcon() + +/obj/item/milker/penis + name = "penis milking machine" + icon_state = "PenisOff" + item_state = "PenisOff" + desc = "A pocket sized pump and tubing assembly designed to collect and store products from the penis." + + target_organ = "testicles" // Since semen is stored in the balls + +/obj/item/milker/penis/UpdateIcon() + icon_state = "Penis[on ? "On" : "Off"][inserted_item ? "Beaker" : ""]" + item_state = icon_state From 19f5eed0de7c62e2a42cba0a139cd3c23d4358d5 Mon Sep 17 00:00:00 2001 From: jbox1 <40789662+jbox144@users.noreply.github.com> Date: Sun, 16 Feb 2020 16:06:55 +1100 Subject: [PATCH 2/4] Add files via upload --- modular_citadel/icons/obj/milking machine.dmi | Bin 0 -> 772 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 modular_citadel/icons/obj/milking machine.dmi diff --git a/modular_citadel/icons/obj/milking machine.dmi b/modular_citadel/icons/obj/milking machine.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8e8ccd73cba660e967c9d27898209d7df6740249 GIT binary patch literal 772 zcmV+f1N;1mP))OQ}UgYGKIRgx3}5Z*`e3wW4!M+Ha3(100930XhT21z`&Q1 zwpsuH00DGTPE!Ct=GbNc004}7R9JLGWpiV4X>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo` zEh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KByKP^p(i!&v&s2IpI zK76XQIHLc(r@8Ay`-1YE1E;OgfB z4tM}Nq-^1s7*(MF00HDlL_t(&f$f>=j=~@ig~6?qDz(1<(=L~e0);|nYIYOn#1P{* zos0Iz87l;f#mXfUeSlwnB3(8SRQ|C7gVRm`or^W196;q_fLAR6mAeKYAdx(ULv$f_3GvuM|BGK0c#s-R0^sq6(yi>q4jzUgZ*rpZdSuE zO%Oolcca7MMwHX+xs8w^fXan7F2F#*{Fp<)4H9I0X>fPFF?R!8*!LzJE?|B>XLB2o=zPv% zu~^?B-Vgroey|=m-sArTiFf#WLFBvsUVHP2=PiG4ZKt<|Sl;ya)&_@yL z{XKMusM{Q1t(?zfU{d?hhH?><@{cgV^8KCaCef{h{dZ z(+;=$L5n9U`TMv-49_ZT{JpzA%5a#oSS;2zit7KH`KkW@uL@B8e>*=MNdMm~@H%n+ z|4;#p|8I%x|6BRV{=Zd#?EgC_!2AEs3DEw(djf&<|NRq`|Nk$!=j8dou?e>S|CjuK z_4z>W1bh2IzCRqCpmRT{Js)UIK==RU{Otc(6#W9_szM=luuG!=0000 Date: Sun, 16 Feb 2020 16:07:25 +1100 Subject: [PATCH 3/4] Update recipes.dm --- modular_citadel/code/modules/crafting/recipes.dm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/crafting/recipes.dm b/modular_citadel/code/modules/crafting/recipes.dm index 6c6001b0..22253ec8 100644 --- a/modular_citadel/code/modules/crafting/recipes.dm +++ b/modular_citadel/code/modules/crafting/recipes.dm @@ -8,4 +8,15 @@ name = "Potat-OS" reqs = list(/obj/item/stack/cable_coil = 1, /obj/item/stack/rods = 1, /obj/item/reagent_containers/food/snacks/grown/potato = 1, /obj/item/aicard = 1 ) result = /obj/item/aicard/potato - category = CAT_ROBOT \ No newline at end of file + category = CAT_ROBOT + +/datum/crafting_recipe/milker + name = "Milking Machine" + reqs = list(/obj/item/stack/cable_coil = 5, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 2, /obj/item/stack/sheet/cardboard = 1, /obj/item/reagent_containers/glass/beaker = 2, /obj/item/stock_parts/manipulator = 1) + result = /obj/item/milker + tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + +/datum/crafting_recipe/milker/penis + name = "Penis Milking Machine" + reqs = list(/obj/item/stack/cable_coil = 5, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1, /obj/item/stack/sheet/cardboard = 1, /obj/item/reagent_containers/glass/beaker/large = 1, /obj/item/stock_parts/manipulator = 1) + result = /obj/item/milker/penis From de8dd5e379344b2bd9a055c2313bdd84eac16b7d Mon Sep 17 00:00:00 2001 From: jbox1 <40789662+jbox144@users.noreply.github.com> Date: Sun, 16 Feb 2020 16:08:40 +1100 Subject: [PATCH 4/4] Update milking machine.dm --- .../code/modules/reagents/reagent container/milking machine.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/reagents/reagent container/milking machine.dm b/modular_citadel/code/modules/reagents/reagent container/milking machine.dm index 7ff56056..3f070be4 100644 --- a/modular_citadel/code/modules/reagents/reagent container/milking machine.dm +++ b/modular_citadel/code/modules/reagents/reagent container/milking machine.dm @@ -1,5 +1,5 @@ /obj/item/milker - icon = 'icons/obj/milking machine.dmi' + icon = 'modular_citadel/icons/obj/milking machine.dmi' name = "milking machine" icon_state = "Off" item_state = "Off"