From b9cb5e8a880e7f35fb2e4b44cebbf369ecf4cd61 Mon Sep 17 00:00:00 2001 From: Jenny Date: Thu, 18 Sep 2025 19:02:11 -0500 Subject: [PATCH] Cyborg gambling buffs (#18508) * Cyborg gambling buffs * I'M ALWAYS FORGETTING THIS ABOUT BALLON ALERTS * Improves quality of roll sound * fuck wrong audio quality setting lmao --- code/_helpers/global_lists_vr.dm | 5 +- .../mob/living/silicon/robot/robot_items.dm | 49 ++++++++++++++++++ .../silicon/robot/robot_modules/station.dm | 1 + sound/effects/diceroll_robotic.ogg | Bin 0 -> 12382 bytes 4 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 sound/effects/diceroll_robotic.ogg diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index ebfe0b0028..5e264a9e9d 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -1164,6 +1164,7 @@ GLOBAL_LIST_INIT(area_or_turf_fail_types, typecacheof(list( /obj/item/grown, \ /obj/item/trash, \ /obj/item/reagent_containers/cooking_container, \ + /obj/item/spacecasinocash, \ /obj/item/spacecasinocash_fake, \ /obj/item/deck/cards, \ /obj/item/hand @@ -1183,7 +1184,9 @@ GLOBAL_LIST_INIT(area_or_turf_fail_types, typecacheof(list( /obj/item/petrifier, \ /obj/item/dice, \ /obj/item/casino_platinum_chip, \ - /obj/item/spacecasinocash + /obj/item/spacecasinocash, \ + /obj/item/spacecasinocash_fake, \ + /obj/item/hand #define ORGAN_GRIPPER \ /obj/item/organ, \ diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index b68e91d1f4..b22e1b4023 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -634,3 +634,52 @@ to_chat(user, span_filter_notice("You fail to pick up \the [A] with \the [src].")) return + +// Simple that lets a cyborg roll a collection of die. +/obj/item/robo_dice + name = "random number generator" + desc = "A robot device that allows a synthetic entity to, finally, make random numbers. The future is here." + icon = 'icons/obj/integrated_electronics/electronic_setups.dmi' + icon_state = "setup_device_box" + +/obj/item/robo_dice/attack_self(mob/user) + . = ..() + var/DI = 'icons/obj/dice.dmi' + var/dice_options = list( + "roll a custom die" = image(icon = 'icons/obj/integrated_electronics/electronic_setups.dmi', icon_state = "setup_device_box"), + "roll d4" = image(icon = DI, icon_state = "d44"), + "roll d6" = image(icon = DI, icon_state = "d66"), + "roll d8" = image(icon = DI, icon_state = "d88"), + "roll d10" = image(icon = DI, icon_state = "d1010"), + "roll d12" = image(icon = DI, icon_state = "d1212"), + "roll d20" = image(icon = DI, icon_state = "d2020"), + "roll d100" = image(icon = DI, icon_state = "d10010"), + ) + var/choice = show_radial_menu(user, user, dice_options, radius = 70) + var/sides = 0 + switch(choice) + if("roll d4") + sides = 4 + if("roll d6") + sides = 6 + if("roll d8") + sides = 8 + if("roll d10") + sides = 10 + if("roll d12") + sides = 12 + if("roll d20") + sides = 20 + if("roll d100") + sides = 100 + if("roll a custom die") + sides = tgui_input_number(user, "Enter how many faces you want your virtual dice to have, (no more than 1000 sides):", "Custom Dice Roll", 6, 1000, 0) + if(sides <= 0) + return + var/result = rand(1, sides) + user.visible_message( + span_notice("\The [user] rolls a virtual [sides]-sided die. The result is [result]."), + span_notice("You roll a virtual [sides]-sided die. The result is [result]."), + span_notice("You hear synthesized audio of clattering plastic with a soft ping.")) + user.balloon_alert_visible("rolled: [result]", blind_message = "*clatter, ping!*") + playsound(user, 'sound/effects/diceroll_robotic.ogg', 75, 0) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index 6d3a0f19d9..5da5a7b40f 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -183,6 +183,7 @@ src.modules += new /obj/item/tool/crowbar/cyborg(src) src.modules += new /obj/item/melee/robotic/jaws/small(src) src.modules += new /obj/item/gripper/scene(src) + src.modules += new /obj/item/robo_dice(src) /obj/item/robot_module/robot/standard name = "standard robot module" diff --git a/sound/effects/diceroll_robotic.ogg b/sound/effects/diceroll_robotic.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d85c1d83f2dbee760c19df6edfa921d058ecca8b GIT binary patch literal 12382 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 wwI+l((b5zAzk4h^5dy?*Y)x#g