mirror of
https://github.com/KabKebab/GS13.git
synced 2026-02-10 07:37:42 +00:00
109 lines
3.8 KiB
Plaintext
109 lines
3.8 KiB
Plaintext
/obj/item/choice_beacon
|
|
name = "choice beacon"
|
|
desc = "Hey, why are you viewing this?!! Please let Centcom know about this odd occurance."
|
|
icon = 'icons/obj/device.dmi'
|
|
icon_state = "gangtool-blue"
|
|
item_state = "radio"
|
|
var/list/stored_options
|
|
var/force_refresh = FALSE //if set to true, the beacon will recalculate its display options whenever opened
|
|
|
|
/obj/item/choice_beacon/attack_self(mob/user)
|
|
if(canUseBeacon(user))
|
|
generate_options(user)
|
|
|
|
/obj/item/choice_beacon/proc/generate_display_names() // return the list that will be used in the choice selection. entries should be in (type.name = type) fashion. see choice_beacon/hero for how this is done.
|
|
return list()
|
|
|
|
/obj/item/choice_beacon/proc/canUseBeacon(mob/living/user)
|
|
if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
|
return TRUE
|
|
else
|
|
playsound(src, 'sound/machines/buzz-sigh.ogg', 40, 1)
|
|
return FALSE
|
|
|
|
/obj/item/choice_beacon/proc/generate_options(mob/living/M)
|
|
if(!stored_options || force_refresh)
|
|
stored_options = generate_display_names()
|
|
if(!stored_options.len)
|
|
return
|
|
var/choice = input(M,"Which item would you like to order?","Select an Item") as null|anything in stored_options
|
|
if(!choice || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
|
return
|
|
|
|
spawn_option(stored_options[choice],M)
|
|
qdel(src)
|
|
|
|
/obj/item/choice_beacon/proc/create_choice_atom(atom/choice, mob/owner)
|
|
return new choice()
|
|
|
|
/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 = "<span class='danger'>After making your selection, you notice a strange target on the ground. It might be best to step back!</span>"
|
|
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: <span class='bold'>Item request received. Your package is inbound, please stand back from the landing site.</span> Message ends.\""
|
|
to_chat(M, msg)
|
|
new /obj/effect/abstract/DPtarget(get_turf(src), pod)
|
|
|
|
/obj/item/caution
|
|
desc = "Caution! Wet Floor!"
|
|
name = "wet floor sign"
|
|
icon = 'icons/obj/janitor.dmi'
|
|
icon_state = "caution"
|
|
lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
|
|
force = 1
|
|
throwforce = 3
|
|
throw_speed = 2
|
|
throw_range = 5
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
attack_verb = list("warned", "cautioned", "smashed")
|
|
|
|
/obj/item/skub
|
|
desc = "It's skub."
|
|
name = "skub"
|
|
icon = 'icons/obj/items_and_weapons.dmi'
|
|
icon_state = "skub"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
attack_verb = list("skubbed")
|
|
|
|
/obj/item/choice_beacon/hosgun
|
|
name = "personal weapon beacon"
|
|
desc = "Use this to summon your personal Head of Security issued firearm!"
|
|
|
|
/obj/item/choice_beacon/hosgun/generate_display_names()
|
|
var/static/list/hos_gun_list
|
|
if(!hos_gun_list)
|
|
hos_gun_list = list()
|
|
var/list/templist = subtypesof(/obj/item/storage/secure/briefcase/hos/) //we have to convert type = name to name = type, how lovely!
|
|
for(var/V in templist)
|
|
var/atom/A = V
|
|
hos_gun_list[initial(A.name)] = A
|
|
return hos_gun_list
|
|
|
|
// Bouquets
|
|
/obj/item/bouquet
|
|
name = "mixed bouquet"
|
|
desc = "A bouquet of sunflowers, lilies, and geraniums. How delightful."
|
|
icon = 'icons/obj/items_and_weapons.dmi'
|
|
icon_state = "mixedbouquet"
|
|
|
|
/obj/item/bouquet/sunflower
|
|
name = "sunflower bouquet"
|
|
desc = "A bright bouquet of sunflowers."
|
|
icon_state = "sunbouquet"
|
|
|
|
/obj/item/bouquet/poppy
|
|
name = "poppy bouquet"
|
|
desc = "A bouquet of poppies. You feel loved just looking at it."
|
|
icon_state = "poppybouquet"
|
|
|
|
/obj/item/bouquet/rose
|
|
name = "rose bouquet"
|
|
desc = "A bouquet of roses. A bundle of love."
|
|
icon_state = "rosebouquet"
|