mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 06:21:57 +00:00
About The Pull Request Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage. Also changes a couple of places where a list was picked from instead of using get_sfx internal calls This was done via regex: (playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1 (playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0 full sed commands: /(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE /(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE I'm not very good with regex and these could probably be optimized, but they worked. Why It's Good For The Game Code usability
148 lines
5.4 KiB
Plaintext
148 lines
5.4 KiB
Plaintext
/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/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/uses = 1
|
|
|
|
/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, 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 display_names
|
|
if(!choice || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
|
return
|
|
|
|
spawn_option(display_names[choice],M)
|
|
uses--
|
|
if(!uses)
|
|
qdel(src)
|
|
else
|
|
to_chat(M, "<span class='notice'>[uses] use[uses > 1 ? "s" : ""] remaining on the [src].</span>")
|
|
|
|
/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/DPtarget(get_turf(src), pod)
|
|
|
|
/obj/item/choice_beacon/hero
|
|
name = "heroic beacon"
|
|
desc = "To summon heroes from the past to protect the future."
|
|
|
|
/obj/item/choice_beacon/hero/generate_display_names()
|
|
var/static/list/hero_item_list
|
|
if(!hero_item_list)
|
|
hero_item_list = list()
|
|
var/list/templist = typesof(/obj/item/storage/box/hero) //we have to convert type = name to name = type, how lovely!
|
|
for(var/V in templist)
|
|
var/atom/A = V
|
|
hero_item_list[initial(A.name)] = A
|
|
return hero_item_list
|
|
|
|
|
|
/obj/item/storage/box/hero
|
|
name = "Courageous Tomb Raider - 1940's."
|
|
|
|
/obj/item/storage/box/hero/PopulateContents()
|
|
new /obj/item/clothing/head/fedora/curator(src)
|
|
new /obj/item/clothing/suit/curator(src)
|
|
new /obj/item/clothing/under/rank/civilian/curator/treasure_hunter(src)
|
|
new /obj/item/clothing/shoes/workboots/mining(src)
|
|
new /obj/item/melee/curator_whip(src)
|
|
|
|
/obj/item/storage/box/hero/astronaut
|
|
name = "First Man on the Moon - 1960's."
|
|
|
|
/obj/item/storage/box/hero/astronaut/PopulateContents()
|
|
new /obj/item/clothing/suit/space/nasavoid(src)
|
|
new /obj/item/clothing/head/helmet/space/nasavoid(src)
|
|
new /obj/item/tank/internals/oxygen(src)
|
|
new /obj/item/gps(src)
|
|
|
|
/obj/item/storage/box/hero/scottish
|
|
name = "Braveheart, the Scottish rebel - 1300's."
|
|
|
|
/obj/item/storage/box/hero/scottish/PopulateContents()
|
|
new /obj/item/clothing/under/costume/kilt(src)
|
|
new /obj/item/claymore/weak/ceremonial(src)
|
|
new /obj/item/toy/crayon/spraycan(src)
|
|
new /obj/item/clothing/shoes/sandal(src)
|
|
|
|
/obj/item/choice_beacon/augments
|
|
name = "augment beacon"
|
|
desc = "Summons augmentations. Can be used 3 times!"
|
|
uses = 3
|
|
|
|
/obj/item/choice_beacon/augments/generate_display_names()
|
|
var/static/list/augment_list
|
|
if(!augment_list)
|
|
augment_list = list()
|
|
var/list/templist = list(
|
|
/obj/item/organ/cyberimp/brain/anti_drop,
|
|
/obj/item/organ/cyberimp/arm/toolset,
|
|
/obj/item/organ/cyberimp/arm/surgery,
|
|
/obj/item/organ/cyberimp/chest/thrusters,
|
|
/obj/item/organ/lungs/cybernetic/upgraded,
|
|
/obj/item/organ/liver/cybernetic/upgraded) //cyberimplants range from a nice bonus to fucking broken bullshit so no subtypesof
|
|
for(var/V in templist)
|
|
var/atom/A = V
|
|
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: <span class='bold'>Item request received. Your package has been transported, use the autosurgeon supplied to apply the upgrade.</span> Message ends.\"")
|
|
|
|
/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/skub/suicide_act(mob/living/user)
|
|
user.visible_message("<span class='suicide'>[user] has declared themself as anti-skub! The skub tears them apart!</span>")
|
|
|
|
user.gib()
|
|
playsound(src, 'sound/items/eatfood.ogg', 50, TRUE, -1)
|
|
return MANUAL_SUICIDE
|