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"