From 5ea9027443da31a9054502f320a5fae323a9df25 Mon Sep 17 00:00:00 2001
From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com>
Date: Tue, 16 Jul 2024 11:04:55 +0200
Subject: [PATCH] Reflavors choice beacons. (#3169)
## About The Pull Request
Now, instead of orbitally dropped guitars, they are just in a box.
Nothing crazy.
## Why It's Good For The Game
Pod delivery is... somewhat goofy, to say the least. This makes the
concept less out there, and possibly more usable in general.
## Changelog
:cl:
tweak: Choice beacons were reflavored into choice boxes.
/:cl:
---
code/game/objects/items/miscellaneous.dm | 43 +++++++++---------------
code/modules/instruments/items.dm | 10 +++---
2 files changed, 19 insertions(+), 34 deletions(-)
diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm
index 0f5d79f13b377..619ebf3eb0e91 100644
--- a/code/game/objects/items/miscellaneous.dm
+++ b/code/game/objects/items/miscellaneous.dm
@@ -13,11 +13,10 @@
attack_verb = list("warned", "cautioned", "smashed")
/obj/item/choice_beacon
- name = "choice beacon"
- desc = "Hey, why are you viewing this?!! Please let CentCom know about this odd occurrence."
- icon = 'icons/obj/device.dmi'
- icon_state = "gangtool-blue"
- item_state = "radio"
+ name = "choice box"
+ desc = "A box containing items to choose."
+ icon = 'icons/obj/storage.dmi'
+ icon_state = "deliverypackage3"
var/uses = 1
/obj/item/choice_beacon/attack_self(mob/user)
@@ -31,41 +30,31 @@
if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return TRUE
else
- playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE)
return FALSE
/obj/item/choice_beacon/proc/generate_options(mob/living/M)
var/list/display_names = generate_display_names()
if(!display_names.len)
return
- var/choice = input(M,"Which item would you like to order?","Select an Item") as null|anything in sortList(display_names)
+ var/choice = input(M,"Which item would you like to pick?","Select an Item") as null|anything in sortList(display_names)
if(!choice || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
spawn_option(display_names[choice],M)
uses--
if(!uses)
+ new /obj/effect/decal/cleanable/wrapping(get_turf(M))
qdel(src)
else
to_chat(M, "[uses] use[uses > 1 ? "s" : ""] remaining on the [src].")
/obj/item/choice_beacon/proc/spawn_option(obj/choice,mob/living/M)
- var/obj/new_item = new choice()
- var/obj/structure/closet/supplypod/bluespacepod/pod = new()
- pod.explosionSize = list(0,0,0,0)
- new_item.forceMove(pod)
- var/msg = "After making your selection, you notice a strange target on the ground. It might be best to step back!"
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- if(istype(H.ears, /obj/item/radio/headset))
- msg = "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows: Item request received. Your package is inbound, please stand back from the landing site. Message ends.\""
- to_chat(M, msg)
-
- new /obj/effect/pod_landingzone(get_turf(src), pod)
+ new choice(get_turf(M))
+ playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE)
/obj/item/choice_beacon/hero
- name = "heroic beacon"
- desc = "To summon heroes from the past to protect the future."
+ name = "heroic box"
+ desc = "To become heroes from the past to protect the future."
/obj/item/choice_beacon/hero/generate_display_names()
var/static/list/hero_item_list
@@ -137,8 +126,8 @@
new /obj/item/grenade/chem_grenade/ghostbuster(src)
/obj/item/choice_beacon/augments
- name = "augment beacon"
- desc = "Summons augmentations. Can be used 3 times!"
+ name = "augment box"
+ desc = "Contains augmentations. Can be used 3 times!"
uses = 3
/obj/item/choice_beacon/augments/generate_display_names()
@@ -157,10 +146,6 @@
augment_list[initial(A.name)] = A
return augment_list
-/obj/item/choice_beacon/augments/spawn_option(obj/choice,mob/living/M)
- new choice(get_turf(M))
- to_chat(M, "You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from S.E.L.F. Message as follows: Item request received. Your package has been transported, use the autosurgeon supplied to apply the upgrade. Message ends.\"")
-
/obj/item/skub
desc = "It's skub."
name = "skub"
@@ -217,8 +202,10 @@
#undef NICKNAME_CAP
/obj/item/choice_beacon/ouija
- name = "spirit board delivery beacon"
+ name = "spirit board box"
desc = "Ghost communication on demand! It is unclear how this thing is still operational."
+ icon_state = "deliverybox"
+ w_class = WEIGHT_CLASS_BULKY
/obj/item/choice_beacon/ouija/generate_display_names()
var/static/list/ouija_spaghetti_list
diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm
index 022b3278e92b3..490742d7cdf74 100644
--- a/code/modules/instruments/items.dm
+++ b/code/modules/instruments/items.dm
@@ -271,9 +271,8 @@
hitsound = 'sound/items/bikehorn.ogg'
/obj/item/choice_beacon/music
- name = "instrument delivery beacon"
- desc = "Summon your tool of art."
- icon_state = "gangtool-red"
+ name = "instrument box"
+ desc = "Contains your tool of art."
/obj/item/choice_beacon/music/generate_display_names()
var/static/list/instruments
@@ -299,9 +298,8 @@
return instruments
/obj/item/choice_beacon/rnd
- name = "C.R.E.W.M.A.T.E type R&D Choice Beacon"
- desc = "This aging launch beacon summons a limited production RND package from a nearby orbital satellite, delivered via impact pod."
- icon_state = "gangtool-sus"
+ name = "C.R.E.W.M.A.T.E type R&D box"
+ desc = "This box contains a limited production RND package."
/obj/item/choice_beacon/rnd/generate_display_names()
var/static/list/rndboxes