mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-18 21:15:21 +00:00
## About The Pull Request The ouija board is quite fun, but it's found nowhere, with the exception of Wawastation and the tranquility shuttle (by the time you get there the round's already about to end), so I may as well make it possible for other stations to have it sometimes. ## Why It's Good For The Game The ouija board is fun, and ghosts are mischievous and misleading, uncoordinated creatures most of the times. ## Changelog 🆑 add: 12% chance of a ouija board spawning in the chaplain office. Wawastation always has one. /🆑
281 lines
9.1 KiB
Plaintext
281 lines
9.1 KiB
Plaintext
/obj/effect/spawner/random/structure
|
|
name = "structure spawner"
|
|
desc = "Now you see me, now you don't..."
|
|
|
|
///12% chance to spawn a ouija board, or a potted plant. Btw, Wawastation has a guaranteed board.
|
|
/obj/effect/spawner/random/structure/twelve_percent_spirit_board
|
|
name = "12% spirit board"
|
|
icon_state = "spirit_board"
|
|
loot = list(
|
|
/obj/structure/spirit_board = 3,
|
|
/obj/item/kirbyplants/random = 22,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/crate
|
|
name = "crate spawner"
|
|
icon_state = "crate_secure"
|
|
loot = list(
|
|
/obj/effect/spawner/random/structure/crate_loot = 744,
|
|
/obj/structure/closet/crate/trashcart/filled = 75,
|
|
/obj/effect/spawner/random/trash/moisture_trap = 50,
|
|
/obj/effect/spawner/random/trash/hobo_squat = 30,
|
|
/obj/structure/closet/mini_fridge = 35,
|
|
/obj/effect/spawner/random/trash/mess = 30,
|
|
/obj/item/kirbyplants/fern = 20,
|
|
/obj/structure/closet/crate/decorations = 15,
|
|
/obj/structure/destructible/cult/pants_altar = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/crate_abandoned
|
|
name = "locked crate spawner"
|
|
icon_state = "crate_secure"
|
|
spawn_loot_chance = 20
|
|
loot = list(/obj/structure/closet/crate/secure/loot)
|
|
|
|
/obj/effect/spawner/random/structure/girder
|
|
name = "girder spawner"
|
|
icon_state = "girder"
|
|
spawn_loot_chance = 90
|
|
loot = list( // 80% chance normal girder, 10% chance of displaced, 10% chance of nothing
|
|
/obj/structure/girder = 8,
|
|
/obj/structure/girder/displaced = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/grille
|
|
name = "grille spawner"
|
|
icon_state = "grille"
|
|
spawn_loot_chance = 90
|
|
loot = list( // 80% chance normal grille, 10% chance of broken, 10% chance of nothing
|
|
/obj/structure/grille = 8,
|
|
/obj/structure/grille/broken = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/furniture_parts
|
|
name = "furniture parts spawner"
|
|
icon_state = "table_parts"
|
|
loot = list(
|
|
/obj/structure/table_frame,
|
|
/obj/structure/table_frame/wood,
|
|
/obj/item/rack_parts,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/table_or_rack
|
|
name = "table or rack spawner"
|
|
icon_state = "rack_parts"
|
|
loot = list(
|
|
/obj/effect/spawner/random/structure/table,
|
|
/obj/structure/rack,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/table
|
|
name = "table spawner"
|
|
icon_state = "table"
|
|
loot = list(
|
|
/obj/structure/table = 40,
|
|
/obj/structure/table/wood = 30,
|
|
/obj/structure/table/glass = 20,
|
|
/obj/structure/table/reinforced = 5,
|
|
/obj/structure/table/wood/poker = 5,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/table_fancy
|
|
name = "table spawner"
|
|
icon_state = "table_fancy"
|
|
loot_type_path = /obj/structure/table/wood/fancy
|
|
loot = list()
|
|
|
|
/obj/effect/spawner/random/structure/tank_holder
|
|
name = "tank holder spawner"
|
|
icon_state = "tank_holder"
|
|
loot = list(
|
|
/obj/structure/tank_holder/oxygen = 40,
|
|
/obj/structure/tank_holder/extinguisher = 40,
|
|
/obj/structure/tank_holder = 20,
|
|
/obj/structure/tank_holder/extinguisher/advanced = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/closet_empty
|
|
name = "empty closet spawner"
|
|
icon_state = "locker"
|
|
loot = list(
|
|
/obj/structure/closet = 850,
|
|
/obj/structure/closet/cabinet = 150,
|
|
/obj/structure/closet/acloset = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/closet_empty/make_item(spawn_loc, type_path_to_make)
|
|
var/obj/structure/closet/peek_a_boo = ..()
|
|
if(istype(peek_a_boo) && prob(50))
|
|
peek_a_boo.open(special_effects = FALSE) //the crate appears immediatly out of thin air so no need to animate anything
|
|
|
|
return peek_a_boo
|
|
|
|
/obj/effect/spawner/random/structure/closet_empty/crate
|
|
name = "empty crate spawner"
|
|
icon_state = "crate"
|
|
loot = list(
|
|
/obj/structure/closet/crate = 20,
|
|
/obj/structure/closet/crate/wooden = 1,
|
|
/obj/structure/closet/crate/internals = 1,
|
|
/obj/structure/closet/crate/medical = 1,
|
|
/obj/structure/closet/crate/freezer = 1,
|
|
/obj/structure/closet/crate/radiation = 1,
|
|
/obj/structure/closet/crate/hydroponics = 1,
|
|
/obj/structure/closet/crate/engineering = 1,
|
|
/obj/structure/closet/crate/engineering/electrical = 1,
|
|
/obj/structure/closet/crate/science = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/closet_empty/crate/with_loot
|
|
name = "crate spawner with maintenance loot"
|
|
icon_state = "crate"
|
|
|
|
/obj/effect/spawner/random/structure/closet_empty/crate/with_loot/make_item(spawn_loc, type_path_to_make)
|
|
var/obj/structure/closet/closet_to_fill = ..()
|
|
closet_to_fill.RegisterSignal(closet_to_fill, COMSIG_CLOSET_CONTENTS_INITIALIZED, TYPE_PROC_REF(/obj/structure/closet/, populate_with_random_maint_loot))
|
|
|
|
return closet_to_fill
|
|
|
|
/obj/effect/spawner/random/structure/crate_loot
|
|
name = "lootcrate spawner"
|
|
icon_state = "crate"
|
|
loot = list(
|
|
/obj/effect/spawner/random/structure/closet_empty/crate/with_loot = 15,
|
|
/obj/effect/spawner/random/structure/closet_empty/crate = 4,
|
|
/obj/structure/closet/crate/secure/loot = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/closet_private
|
|
name = "private closet spawner"
|
|
icon_state = "cabinet"
|
|
loot = list(
|
|
/obj/structure/closet/secure_closet/personal,
|
|
/obj/structure/closet/secure_closet/personal/cabinet,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/closet_maintenance
|
|
name = "maintenance closet spawner"
|
|
icon_state = "locker"
|
|
loot = list( // use these for maintenance areas
|
|
/obj/effect/spawner/random/structure/closet_empty = 10,
|
|
/obj/structure/closet/emcloset = 2,
|
|
/obj/structure/closet/firecloset = 2,
|
|
/obj/structure/closet/toolcloset = 2,
|
|
/obj/structure/closet/l3closet = 1,
|
|
/obj/structure/closet/radiation = 1,
|
|
/obj/structure/closet/bombcloset = 1,
|
|
/obj/structure/closet/mini_fridge/grimy = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/chair_flipped
|
|
name = "flipped chair spawner"
|
|
icon_state = "chair"
|
|
loot = list(
|
|
/obj/item/chair/wood,
|
|
/obj/item/chair/stool/bar,
|
|
/obj/item/chair/stool,
|
|
/obj/item/chair,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/chair_comfy
|
|
name = "comfy chair spawner"
|
|
icon_state = "chair"
|
|
loot_type_path = /obj/structure/chair/comfy
|
|
loot = list()
|
|
|
|
/obj/effect/spawner/random/structure/chair_maintenance
|
|
name = "maintenance chair spawner"
|
|
icon_state = "chair"
|
|
loot = list(
|
|
/obj/structure/chair = 200,
|
|
/obj/structure/chair/stool = 200,
|
|
/obj/structure/chair/stool/bar = 200,
|
|
/obj/effect/spawner/random/structure/chair_flipped = 150,
|
|
/obj/structure/chair/wood = 100,
|
|
/obj/effect/spawner/random/structure/chair_comfy = 50,
|
|
/obj/structure/chair/office/light = 50,
|
|
/obj/structure/chair/office = 50,
|
|
/obj/structure/chair/wood/wings = 1,
|
|
/obj/structure/chair/old = 1,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/barricade
|
|
name = "barricade spawner"
|
|
icon_state = "barricade"
|
|
spawn_loot_chance = 80
|
|
loot = list(
|
|
/obj/structure/barricade/wooden,
|
|
/obj/structure/barricade/wooden/crude,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/billboard
|
|
name = "billboard spawner"
|
|
icon = 'icons/obj/fluff/billboard.dmi'
|
|
icon_state = "billboard_random"
|
|
loot = list(
|
|
/obj/structure/billboard/azik = 50,
|
|
/obj/structure/billboard/donk_n_go = 50,
|
|
/obj/structure/billboard/space_cola = 50,
|
|
/obj/structure/billboard/nanotrasen = 35,
|
|
/obj/structure/billboard/nanotrasen/defaced = 15,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/billboard/nanotrasen //useful for station maps- NT isn't the sort to advertise for competitors
|
|
name = "\improper Nanotrasen billboard spawner"
|
|
loot = list(
|
|
/obj/structure/billboard/nanotrasen = 35,
|
|
/obj/structure/billboard/nanotrasen/defaced = 15,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/billboard/lizardsgas //for the space ruin, The Lizard's Gas. I don't see much use for the sprites below anywhere else since they're unifunctional.
|
|
name = "\improper The Lizards Gas billboard spawner"
|
|
loot = list(
|
|
/obj/structure/billboard/lizards_gas = 75,
|
|
/obj/structure/billboard/lizards_gas/defaced = 25,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/billboard/roadsigns //also pretty much only unifunctionally useful for gas stations
|
|
name = "\improper Gas Station billboard spawner"
|
|
loot = list(
|
|
/obj/structure/billboard/roadsign/two,
|
|
/obj/structure/billboard/roadsign/twothousand,
|
|
/obj/structure/billboard/roadsign/twomillion,
|
|
/obj/structure/billboard/roadsign/error,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/steam_vent
|
|
name = "steam vent spawner"
|
|
loot = list(
|
|
/obj/structure/steam_vent,
|
|
/obj/structure/steam_vent/fast,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/musician/piano/random_piano
|
|
name = "random piano spawner"
|
|
icon_state = "piano"
|
|
loot = list(
|
|
/obj/structure/musician/piano,
|
|
/obj/structure/musician/piano/minimoog,
|
|
)
|
|
|
|
/obj/effect/spawner/random/structure/shipping_container
|
|
name = "shipping container spawner"
|
|
icon = 'icons/obj/fluff/containers.dmi'
|
|
icon_state = "random_container"
|
|
loot = list(
|
|
/obj/structure/shipping_container/conarex = 3,
|
|
/obj/structure/shipping_container/deforest = 3,
|
|
/obj/structure/shipping_container/kahraman = 3,
|
|
/obj/structure/shipping_container/kahraman/alt = 3,
|
|
/obj/structure/shipping_container/kosmologistika = 3,
|
|
/obj/structure/shipping_container/interdyne = 3,
|
|
/obj/structure/shipping_container/nakamura = 3,
|
|
/obj/structure/shipping_container/nanotrasen = 3,
|
|
/obj/structure/shipping_container/nthi = 3,
|
|
/obj/structure/shipping_container/vitezstvi = 3,
|
|
/obj/structure/shipping_container/cybersun = 2,
|
|
/obj/structure/shipping_container/donk_co = 2,
|
|
/obj/structure/shipping_container/gorlex = 1,
|
|
/obj/structure/shipping_container/gorlex/red = 1,
|
|
)
|