From 21fee124989bb5ab6af58a55b88fcf1e5f13e9de Mon Sep 17 00:00:00 2001 From: oranges Date: Thu, 27 Jun 2019 20:32:17 +1200 Subject: [PATCH] Small dish drive improvements --- code/game/machinery/dish_drive.dm | 31 +++++++++++++++--------- code/game/objects/items/storage/boxes.dm | 16 ++++++++++++ code/modules/vending/wardrobes.dm | 6 +++++ 3 files changed, 42 insertions(+), 11 deletions(-) diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index 3aad8d874c51..f6e4e8cdc668 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -10,7 +10,7 @@ density = FALSE circuit = /obj/item/circuitboard/machine/dish_drive pass_flags = PASSTABLE - var/static/list/item_types = list(/obj/item/trash/waffles, + var/static/list/collectable_items = list(/obj/item/trash/waffles, /obj/item/trash/plate, /obj/item/trash/tray, /obj/item/reagent_containers/glass/bowl, @@ -18,6 +18,11 @@ /obj/item/kitchen/fork, /obj/item/shard, /obj/item/broken_bottle) + var/static/list/disposable_items = list(/obj/item/trash/waffles, + /obj/item/trash/plate, + /obj/item/trash/tray, + /obj/item/shard, + /obj/item/broken_bottle) var/time_since_dishes = 0 var/suction_enabled = TRUE var/transmit_enabled = TRUE @@ -42,7 +47,7 @@ flick("synthesizer_beam", src) /obj/machinery/dish_drive/attackby(obj/item/I, mob/living/user, params) - if(is_type_in_list(I, item_types) && user.a_intent != INTENT_HARM) + if(is_type_in_list(I, collectable_items) && user.a_intent != INTENT_HARM) if(!user.transferItemToLoc(I, src)) return to_chat(user, "You put [I] in [src], and it's beamed into energy!") @@ -81,7 +86,7 @@ if(!suction_enabled) return for(var/obj/item/I in view(4, src)) - if(is_type_in_list(I, item_types) && I.loc != src && (!I.reagents || !I.reagents.total_volume)) + if(is_type_in_list(I, collectable_items) && I.loc != src && (!I.reagents || !I.reagents.total_volume)) if(I.Adjacent(src)) visible_message("[src] beams up [I]!") I.forceMove(src) @@ -109,13 +114,17 @@ visible_message("[src] buzzes. There are no disposal bins in range!") playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) return + var/disposed = 0 for(var/obj/item/I in contents) - I.forceMove(bin) - use_power(active_power_usage) - visible_message("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams its stored dishes into the nearby [bin.name].") - playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) - playsound(bin, 'sound/items/pshoom.ogg', 50, TRUE) - Beam(bin, icon_state = "rped_upgrade", time = 5) - bin.update_icon() - flick("synthesizer_beam", src) + if(is_type_in_list(I, disposable_items)) + I.forceMove(bin) + use_power(active_power_usage) + disposed++ + if (disposed) + visible_message("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].") + playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) + playsound(bin, 'sound/items/pshoom.ogg', 50, TRUE) + Beam(bin, icon_state = "rped_upgrade", time = 5) + bin.update_icon() + flick("synthesizer_beam", src) time_since_dishes = world.time + 600 diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index b9df7b891f9f..2cb2ed538b95 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1072,3 +1072,19 @@ /obj/item/stock_parts/micro_laser/quadultra = 3, /obj/item/stock_parts/matter_bin/bluespace = 3) generate_items_inside(items_inside,src) + +/obj/item/storage/box/dishdrive + name = "DIY Dish Drive Kit" + desc = "Contains everything you need to build your own Dish Drive!" + custom_premium_price = 200 + +/obj/item/storage/box/dishdrive/PopulateContents() + var/static/items_inside = list( + /obj/item/stack/sheet/metal/five = 1, + /obj/item/stack/cable_coil/five = 1, + /obj/item/circuitboard/machine/dish_drive = 1, + /obj/item/stack/sheet/glass = 1, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/matter_bin = 2, + /obj/item/screwdriver = 1) + generate_items_inside(items_inside,src) \ No newline at end of file diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index cfe0af0783a7..8d0db0ff941f 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -233,7 +233,13 @@ /obj/item/clothing/suit/armor/vest/alt = 1, /obj/item/circuitboard/machine/dish_drive = 1, /obj/item/clothing/glasses/sunglasses/reagent = 1, +<<<<<<< HEAD /obj/item/storage/belt/bandolier = 1) // yogs - removed pet collar +======= + /obj/item/clothing/neck/petcollar = 1, + /obj/item/storage/belt/bandolier = 1) + premium = list(/obj/item/storage/box/dishdrive = 1) +>>>>>>> 2bb0e101e4... Merge pull request #44756 from Mickyan/dishdrive_stuff refill_canister = /obj/item/vending_refill/wardrobe/bar_wardrobe payment_department = ACCOUNT_SRV /obj/item/vending_refill/wardrobe/bar_wardrobe