From d21168fb38d05b2c2038224b8d28fa23b641e6b9 Mon Sep 17 00:00:00 2001 From: FalseIncarnate Date: Fri, 8 Apr 2016 02:47:27 -0400 Subject: [PATCH] Vendor and Pipe Changes Using a screwdriver on a vendor circuitboard now provides a nice list of machines to select from, rather than relying on RNG to select them. Vendor circuitboards have been moved from the Circuit imprinter to the Autolathe, and have had their costs tweaked accordingly - Was 1000 glass and 20 sacid, now 750 glass and 250 metal - This was because cargo is meant to be responsible for vending machines, and you had to get the supply containers from cargo ANYWAYS just to build a new one Pipes, cigarettes, and joints can no longer be lit with a burnt match Pipes and corncob pipes no longer can be refilled infinitely at whim - A new item "pipe tobacco tin" has been added to the cigarette vendors, which can be used on an empty pipe to refill it 5 times before being consumed. - Tobacco, Space Tobacco, Ambrosia Vulgaris, and Ambrosia Deus can be put directly into an empty pipe to fill it with that as an alternative Pipes (the ones from the merch store computer) have had their volume reduced to 100, from 200 (that's still a lot of nicotine) Corncob Pipes no longer come pre-filled, as that made no sense (normal pipes still come pre-filled, because you paid good money for that) - They have also had their smoketime reduced to 400, from 800, so they don't last longer than purchased pipes --- code/game/machinery/constructable_frame.dm | 43 +++++++----- code/game/machinery/vending.dm | 25 ++++--- code/game/objects/items/weapons/cigs.dm | 66 ++++++++++++++---- .../objects/items/weapons/vending_items.dm | 2 +- code/modules/reagents/reagent_containers.dm | 2 +- .../research/designs/autolathe_designs.dm | 10 +++ .../research/designs/machine_designs.dm | 10 --- icons/obj/cigarettes.dmi | Bin 9351 -> 10326 bytes 8 files changed, 108 insertions(+), 50 deletions(-) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 72493bfba6f..a9a7712f054 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -225,28 +225,37 @@ to destroy them and players will be able to make replacements. req_components = list( /obj/item/weapon/vending_refill/boozeomat = 3) - var/list/names_paths = list(/obj/machinery/vending/boozeomat = "Booze-O-Mat", - /obj/machinery/vending/coffee = "Solar's Best Hot Drinks", - /obj/machinery/vending/snack = "Getmore Chocolate Corp", - /obj/machinery/vending/cola = "Robust Softdrinks", - /obj/machinery/vending/cigarette = "ShadyCigs Deluxe", - /obj/machinery/vending/autodrobe = "AutoDrobe", - /obj/machinery/vending/hatdispenser = "Hatlord 9000", - /obj/machinery/vending/suitdispenser = "Suitlord 9000", - /obj/machinery/vending/shoedispenser = "Shoelord 9000", - /obj/machinery/vending/clothing = "ClothesMate", - /obj/machinery/vending/crittercare = "CritterCare") + var/list/names_paths = list("Booze-O-Mat" = /obj/machinery/vending/boozeomat, + "Solar's Best Hot Drinks" = /obj/machinery/vending/coffee, + "Getmore Chocolate Corp" = /obj/machinery/vending/snack, + "Robust Softdrinks" = /obj/machinery/vending/cola, + "ShadyCigs Deluxe" = /obj/machinery/vending/cigarette, + "AutoDrobe" = /obj/machinery/vending/autodrobe, + "Hatlord 9000" = /obj/machinery/vending/hatdispenser, + "Suitlord 9000" = /obj/machinery/vending/suitdispenser, + "Shoelord 9000" = /obj/machinery/vending/shoedispenser, + "ClothesMate" = /obj/machinery/vending/clothing, + "CritterCare" = /obj/machinery/vending/crittercare) /obj/item/weapon/circuitboard/vendor/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/screwdriver)) - set_type(pick(names_paths), user) - + set_type(null, user) /obj/item/weapon/circuitboard/vendor/proc/set_type(typepath, mob/user) - build_path = typepath - name = "circuit board ([names_paths[build_path]] Vendor)" - to_chat(user, "You set the board to [names_paths[build_path]].") - req_components = list(text2path("/obj/item/weapon/vending_refill/[copytext("[build_path]", 24)]") = 3) + var/new_name = "Booze-O-Mat Vendor" + if(!typepath) + new_name = input("Circuit Setting", "What would you change the board setting to?") in names_paths + typepath = names_paths[new_name] + else + for(var/name in names_paths) + if(names_paths[name] == typepath) + new_name = name + break + build_path = typepath + name = "circuit board ([new_name])" + req_components = list(text2path("/obj/item/weapon/vending_refill/[copytext("[build_path]", 24)]") = 3) + if(user) + to_chat(user, "You set the board to [new_name].") /obj/item/weapon/circuitboard/smes name = "circuit board (SMES)" diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 81799f01115..e07af10f1db 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -691,6 +691,12 @@ vend_delay = 0 */ +/obj/machinery/vending/assist + products = list( /obj/item/device/assembly/prox_sensor = 5,/obj/item/device/assembly/igniter = 3,/obj/item/device/assembly/signaler = 4, + /obj/item/weapon/wirecutters = 1, /obj/item/weapon/cartridge/signal = 4) + contraband = list(/obj/item/device/flashlight = 5,/obj/item/device/assembly/timer = 2, /obj/item/device/assembly/voice = 2, /obj/item/device/assembly/health = 2) + product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!" + /obj/machinery/vending/boozeomat name = "\improper Booze-O-Mat" desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." @@ -722,11 +728,6 @@ product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?" product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!" refill_canister = /obj/item/weapon/vending_refill/boozeomat -/obj/machinery/vending/assist - products = list( /obj/item/device/assembly/prox_sensor = 5,/obj/item/device/assembly/igniter = 3,/obj/item/device/assembly/signaler = 4, - /obj/item/weapon/wirecutters = 1, /obj/item/weapon/cartridge/signal = 4) - contraband = list(/obj/item/device/flashlight = 5,/obj/item/device/assembly/timer = 2, /obj/item/device/assembly/voice = 2, /obj/item/device/assembly/health = 2) - product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!" /obj/machinery/vending/boozeomat/New() ..() @@ -861,10 +862,18 @@ product_ads = "Probably not bad for you!;Don't believe the scientists!;It's good for you!;Don't quit, buy more!;Smoke!;Nicotine heaven.;Best cigarettes since 2150.;Award-winning cigs." vend_delay = 34 icon_state = "cigs" - products = list(/obj/item/weapon/storage/fancy/cigarettes = 5,/obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3,/obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2,/obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3,/obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1,/obj/item/weapon/storage/fancy/cigarettes/cigpack_random = 2, /obj/item/weapon/reagent_containers/food/pill/patch/nicotine = 10, /obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/lighter/random = 4,/obj/item/weapon/rollingpaperpack = 5) + products = list(/obj/item/weapon/storage/fancy/cigarettes = 5, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, + /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, + /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/fancy/cigarettes/cigpack_random = 2, + /obj/item/weapon/reagent_containers/food/pill/patch/nicotine = 10, /obj/item/weapon/storage/box/matches = 10, + /obj/item/weapon/lighter/random = 4, /obj/item/weapon/rollingpaperpack = 5, /obj/item/weapon/pipe_tobacco = 6) contraband = list(/obj/item/weapon/lighter/zippo = 4) - premium = list(/obj/item/clothing/mask/cigarette/cigar/havana = 2,/obj/item/weapon/storage/fancy/cigarettes/cigpack_robustgold = 1) - prices = list(/obj/item/weapon/storage/fancy/cigarettes = 60,/obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 60,/obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 60,/obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 60,/obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 60,/obj/item/weapon/storage/fancy/cigarettes/cigpack_random = 150, /obj/item/weapon/reagent_containers/food/pill/patch/nicotine = 15, /obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/lighter/random = 60, /obj/item/weapon/rollingpaperpack = 20) + premium = list(/obj/item/clothing/mask/cigarette/cigar/havana = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robustgold = 1) + prices = list(/obj/item/weapon/storage/fancy/cigarettes = 60, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 60, + /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 60, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 60, + /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 60, /obj/item/weapon/storage/fancy/cigarettes/cigpack_random = 150, + /obj/item/weapon/reagent_containers/food/pill/patch/nicotine = 15, /obj/item/weapon/storage/box/matches = 10, + /obj/item/weapon/lighter/random = 60, /obj/item/weapon/rollingpaperpack = 20, /obj/item/weapon/pipe_tobacco = 40) refill_canister = /obj/item/weapon/vending_refill/cigarette /obj/machinery/vending/cigarette/New() diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm index 25a50a5bfe1..253e5249b11 100644 --- a/code/game/objects/items/weapons/cigs.dm +++ b/code/game/objects/items/weapons/cigs.dm @@ -78,7 +78,7 @@ LIGHTERS ARE IN LIGHTERS.DM else if(istype(W, /obj/item/weapon/match)) var/obj/item/weapon/match/M = W - if(M.lit) + if(M.lit == 1) //No more lighting stuff with burnt out matches light("[user] lights their [name] with their [W].") else if(istype(W, /obj/item/weapon/melee/energy/sword/saber)) @@ -217,8 +217,8 @@ LIGHTERS ARE IN LIGHTERS.DM ..() var/list/jointnames = list("joint","doobie","spliff","blunt") name = pick(jointnames) - src.pixel_x = rand(-5.0, 5) - src.pixel_y = rand(-5.0, 5) + pixel_x = rand(-5.0, 5) + pixel_y = rand(-5.0, 5) /obj/item/clothing/mask/cigarette/joint/deus desc = "A roll of ambrosium deus wrapped in a thin paper. Dude." @@ -230,8 +230,8 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/weapon/cigbutt/roach/New() ..() - src.pixel_x = rand(-5.0, 5) - src.pixel_y = rand(-5.0, 5) + pixel_x = rand(-5.0, 5) + pixel_y = rand(-5.0, 5) /obj/item/clothing/mask/cigarette/handroll name = "hand-rolled cigarette" @@ -315,7 +315,7 @@ LIGHTERS ARE IN LIGHTERS.DM icon_on = "pipeon" //Note - these are in masks.dmi icon_off = "pipeoff" smoketime = 500 - chem_volume = 200 + chem_volume = 100 /obj/item/clothing/mask/cigarette/pipe/New() ..() @@ -356,14 +356,37 @@ LIGHTERS ARE IN LIGHTERS.DM item_state = icon_off processing_objects.Remove(src) return - if(smoketime <= 0) - to_chat(user, "You refill the pipe with tobacco.") - reagents.add_reagent("nicotine", chem_volume) - smoketime = initial(smoketime) + if(smoketime > 0) + to_chat(user, "You empty the pipe to make room for fresh filling.") + reagents.clear_reagents() + smoketime = 0 return /obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/weapon/match)) + if(smoketime <= 0 && !lit) //Filling a lit pipe is probably a bad idea, so don't do it. + if(istype(W, /obj/item/weapon/pipe_tobacco)) + var/obj/item/weapon/pipe_tobacco/PT = W + PT.pipefuls -= 1 + smoketime = initial(smoketime) + reagents.add_reagent("nicotine", chem_volume) + if(PT.pipefuls < 1) + to_chat(user, "You empty the last of \the [PT] into \the [src], and toss away the tin.") + user.unEquip(PT) + qdel(PT) + else + to_chat(user, "You fill \the [src] from \the [PT] and pack it gently.") + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks/grown)) + var/obj/item/weapon/reagent_containers/food/snacks/grown/G = W + if(G.seed && G.seed.kitchen_tag) + if(G.seed.kitchen_tag == "tobacco" || G.seed.kitchen_tag == "stobacco" || G.seed.kitchen_tag == "ambrosia" || G.seed.kitchen_tag == "ambrosiadeus") + to_chat(user, "You shred \the [G] and pack it into \the [src].") + G.reagents.trans_to(src, G.reagents.total_volume) + smoketime = initial(smoketime) + user.unEquip(G) + qdel(G) + else + to_chat(user, "You don't think this [G] would make a fine smokable.") + else if(istype(W, /obj/item/weapon/match)) ..() else to_chat(user, "\The [src] straight out REFUSES to be lit by such means.") @@ -375,9 +398,26 @@ LIGHTERS ARE IN LIGHTERS.DM item_state = "cobpipeoff" icon_on = "cobpipeon" //Note - these are in masks.dmi icon_off = "cobpipeoff" - smoketime = 800 + smoketime = 400 chem_volume = 40 +/obj/item/clothing/mask/cigarette/pipe/New() + ..() + smoketime = 0 //Corn pipes shouldn't come magically pre-filled when you carve them. + reagents.clear_reagents() + +/obj/item/weapon/pipe_tobacco + name = "pipe tobacco tin" + desc = "A tin of pipe-ready tobacco, for the more dignified nicotine addict." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "tobacco_tin" + w_class = 2 + var/pipefuls = 5 + +/obj/item/weapon/pipe_tobacco/examine(mob/user) + ..(user) + to_chat(user, "There are [pipefuls] pipefuls left in the tin.") + /////////// //ROLLING// /////////// @@ -428,4 +468,4 @@ obj/item/weapon/rollingpaperpack/attack_self(mob/user) /obj/item/weapon/rollingpaperpack/examine(mob/user) ..(user) - to_chat(user, "There are [src.papers] left") + to_chat(user, "There are [papers] left") diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm index 9f22daf08f8..696a37c7e0f 100644 --- a/code/game/objects/items/weapons/vending_items.dm +++ b/code/game/objects/items/weapons/vending_items.dm @@ -51,7 +51,7 @@ /obj/item/weapon/vending_refill/cigarette machine_name = "cigarette" icon_state = "refill_smoke" - charges = 9// of 30 + charges = 12// of 36 /obj/item/weapon/vending_refill/autodrobe machine_name = "AutoDrobe" diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index e8df519fe43..237dd9ac46b 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -80,7 +80,7 @@ /obj/item/weapon/reagent_containers/wash(mob/user, atom/source) if(is_open_container()) if(reagents.total_volume >= volume) - to_chat(user, "span class='warning'>\The [src] is full.") + to_chat(user, "\The [src] is full.") return else reagents.add_reagent("water", min(volume - reagents.total_volume, amount_per_transfer_from_this)) diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 234b23800e6..4559d20fbbf 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -646,4 +646,14 @@ build_type = AUTOLATHE materials = list(MAT_METAL = 50, MAT_GLASS = 50) build_path = /obj/item/weapon/circuitboard/logic_gate + category = list("initial", "Electronics") + +/datum/design/vendor + name = "Machine Board (Vendor)" + desc = "The circuit board for a Vendor." + id = "vendor" + req_tech = list("programming" = 1) + build_type = AUTOLATHE + materials = list(MAT_GLASS = 750, MAT_METAL = 250) + build_path = /obj/item/weapon/circuitboard/vendor category = list("initial", "Electronics") \ No newline at end of file diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index e2a89b38bec..afb1e09b40f 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -442,16 +442,6 @@ build_path = /obj/item/weapon/circuitboard/programmable category = list("Misc. Machinery") -/datum/design/vendor - name = "Machine Board (Vendor)" - desc = "The circuit board for a Vendor." - id = "vendor" - req_tech = list("programming" = 1) - build_type = IMPRINTER - materials = list(MAT_GLASS = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/vendor - category = list("Misc. Machinery") - /datum/design/pod name = "Machine Board (Mass Driver and Pod Doors Control)" desc = "Allows for the construction of circuit boards used to build a Mass Driver and Pod Doors Control." diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index 98d2257ff4ff4bfad1661bb991cff89abe9edbf6..de8b85255273702d70afeb65c3c9d83384e176a3 100644 GIT binary patch literal 10326 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 VF)>EbaPYh!V4!QHQ>Nt*`ClOCF|hyu literal 9351 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