diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index a61ccf43b2e..ebfe0b00286 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -1163,7 +1163,10 @@ GLOBAL_LIST_INIT(area_or_turf_fail_types, typecacheof(list( /obj/item/seeds, \ /obj/item/grown, \ /obj/item/trash, \ - /obj/item/reagent_containers/cooking_container + /obj/item/reagent_containers/cooking_container, \ + /obj/item/spacecasinocash_fake, \ + /obj/item/deck/cards, \ + /obj/item/hand #define GRAVEYARD_GRIPPER \ /obj/item/seeds, \ diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index aadbb62393a..9264c40e30d 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -15,7 +15,7 @@ RSF anchored = FALSE matter = list(DEFAULT_WALL_MATERIAL = 25000) var/stored_matter = 30 - var/mode = 1 + var/mode = "Container" var/obj/item/reagent_containers/glasstype = /obj/item/reagent_containers/food/drinks/metaglass var/list/container_types = list( @@ -44,19 +44,19 @@ RSF if (istype(W, /obj/item/rcd_ammo)) if ((stored_matter + 10) > 30) - to_chat(user, span_warning("The RSF can't hold any more matter.")) + balloon_alert(user, "the fabricator can't hold any more matter.") return qdel(W) stored_matter += 10 playsound(src, 'sound/machines/click.ogg', 10, 1) - to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units.")) + balloon_alert(user,"the fabricator now holds [stored_matter]/30 fabrication-units.") return /obj/item/rsf/CtrlClick(mob/living/user) if(!Adjacent(user) || !istype(user)) - to_chat(user,span_notice("You are too far away.")) + balloon_alert(user,"you are too far away.") return var/glass_choice = tgui_input_list(user, "Please choose which type of glass you would like to produce.", "Glass Choice", container_types) @@ -66,27 +66,12 @@ RSF glasstype = /obj/item/reagent_containers/food/drinks/metaglass /obj/item/rsf/attack_self(mob/user as mob) - playsound(src, 'sound/effects/pop.ogg', 50, 0) - if (mode == 1) - mode = 2 - to_chat(user,span_notice("Changed dispensing mode to 'Container'.")) - return - if (mode == 2) - mode = 3 - to_chat(user,span_notice("Changed dispensing mode to 'Paper'")) - return - if (mode == 3) - mode = 4 - to_chat(user,span_notice("Changed dispensing mode to 'Pen'")) - return - if (mode == 4) - mode = 5 - to_chat(user,span_notice("Changed dispensing mode to 'Dice Pack'")) - return - if (mode == 5) - mode = 1 - to_chat(user,span_notice("Changed dispensing mode to 'Cigarette'")) - return + var/options = list("card deck", "card deck (big)", "casino chips (replica) x200", "cigarette", "container", "dice pack (d6)", "dice pack (gaming)", "paper", "pen") + var/choice = tgui_input_list(user, "Please choose what item you would like to synthesize.", "Rapid Service Fabricator", options, mode) + if(choice) + mode = choice + playsound(src, 'sound/effects/pop.ogg', 50, 0) + balloon_alert(user, "you will synthesize: [mode]") /obj/item/rsf/afterattack(atom/A, mob/user as mob, proximity) @@ -108,23 +93,35 @@ RSF var/obj/product switch(mode) - if(1) + if("card deck") + product = new /obj/item/deck/cards() + used_energy = 200 + if("card deck (big)") + product = new /obj/item/deck/cards/triple() + used_energy = 600 + if("casino chips (replica) x200") + product = new /obj/item/spacecasinocash_fake/c200() + used_energy = 400 + if("cigarette") product = new /obj/item/clothing/mask/smokable/cigarette() used_energy = 10 - if(2) + if("container") product = new glasstype() used_energy = 50 - if(3) - product = new /obj/item/paper() - used_energy = 10 - if(4) - product = new /obj/item/pen() - used_energy = 50 - if(5) + if("dice pack (d6)") product = new /obj/item/storage/pill_bottle/dice() used_energy = 200 + if("dice pack (gaming)") + product = new /obj/item/storage/pill_bottle/dice_nerd() + used_energy = 200 + if("paper") + product = new /obj/item/paper() + used_energy = 10 + if("pen") + product = new /obj/item/pen() + used_energy = 50 - to_chat(user,span_notice("Dispensing [product ? product : "product"]...")) + balloon_alert(user, "dispensing [product ? product : "product"]...") product.loc = get_turf(A) if(isrobot(user)) @@ -133,4 +130,4 @@ RSF R.cell.use(used_energy) else stored_matter-- - to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units.")) + to_chat(user,span_notice("the fabricator now holds [stored_matter]/30 fabrication-units.")) diff --git a/code/modules/mob/living/silicon/robot/robot_simple_items.dm b/code/modules/mob/living/silicon/robot/robot_simple_items.dm index 113f3aad9cb..1ab126a3742 100644 --- a/code/modules/mob/living/silicon/robot/robot_simple_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_simple_items.dm @@ -997,10 +997,10 @@ can_hold = list(CIRCUIT_GRIPPER) -/obj/item/gripper/service //Used to handle food, drinks, and seeds. +/obj/item/gripper/service //Used to handle food, drinks, seeds, and cards. name = "service gripper" icon_state = "gripper-sheet" - desc = "A simple grasping tool used to perform tasks in the service sector, such as handling food, drinks, and seeds." + desc = "A simple grasping tool used to perform tasks in the service sector, such as handling food, drinks, and seeds. It can also hold cards and fake casino chips for hosting card games." can_hold = list(SERVICE_GRIPPER) diff --git a/code/modules/reagents/reagent_containers/borghypo.dm b/code/modules/reagents/reagent_containers/borghypo.dm index 8cdef0e7bc0..b09c17edc59 100644 --- a/code/modules/reagents/reagent_containers/borghypo.dm +++ b/code/modules/reagents/reagent_containers/borghypo.dm @@ -136,6 +136,7 @@ REAGENT_ID_BEER, REAGENT_ID_BERRYJUICE, REAGENT_ID_BITTERS, + REAGENT_ID_BLUECURACAO, REAGENT_ID_CIDER, REAGENT_ID_COFFEE, REAGENT_ID_COGNAC, @@ -153,6 +154,7 @@ REAGENT_ID_LEMONLIME, REAGENT_ID_LIMEJUICE, REAGENT_ID_MEAD, + REAGENT_ID_MELONLIQUOR, REAGENT_ID_MILK, REAGENT_ID_MINT, REAGENT_ID_ORANGEJUICE,