refactor decacrate loot table (#28621)

* refactor decacrate loot table

* update updatepaths script number

* wtf

* add stock parts spawner back

* fix icon_state typo

* Update code/game/objects/effects/spawners/random/loot_spawners.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>

---------

Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
warriorstar-orion
2025-03-15 04:17:00 -04:00
committed by GitHub
parent a5396177e2
commit e43af63e5b
22 changed files with 357 additions and 270 deletions
@@ -1,6 +1,131 @@
/obj/effect/spawner/random/loot/crate
/obj/effect/spawner/random/loot
name = "random loot spawner"
icon = 'icons/effects/random_spawners.dmi'
icon_state = "loot"
/obj/effect/spawner/random/loot/contraband_posters
name = "5x contraband posters spawner"
spawn_loot_count = 5
spawn_loot_double = TRUE
loot = list(/obj/item/poster/random_contraband)
/obj/effect/spawner/random/loot/cryo_beakers
name = "3x cryo beaker spawner"
spawn_loot_count = 3
spawn_loot_double = TRUE
loot = list(/obj/item/reagent_containers/glass/beaker/bluespace)
/obj/effect/spawner/random/loot/good_times
name = "good times spawner"
spawn_all_loot = TRUE
loot = list(
/obj/item/food/grown/ambrosia/deus,
/obj/item/lighter,
/obj/item/reagent_containers/drinks/bottle/rum,
/obj/item/reagent_containers/drinks/bottle/whiskey,
)
/obj/effect/spawner/random/loot/bank_robber
name = "bank robber spawner"
spawn_all_loot = TRUE
loot = list(
/obj/item/clothing/mask/balaclava,
/obj/item/gun/projectile/automatic/pistol,
/obj/item/ammo_box/magazine/m10mm,
)
/obj/effect/spawner/random/loot/pet_uhhh_supplies
name = "pet uhhh supplies spawner"
spawn_all_loot = TRUE
loot = list(
/obj/item/clothing/head/kitty,
/obj/item/clothing/head/kitty,
/obj/item/clothing/head/kitty,
/obj/item/clothing/head/kitty,
/obj/item/clothing/head/kitty,
/obj/item/petcollar,
/obj/item/petcollar,
/obj/item/petcollar,
/obj/item/petcollar,
/obj/item/petcollar,
)
/obj/effect/spawner/random/loot/coins
name = "coins spawner"
spawn_loot_double = TRUE
loot = list(
/obj/item/coin/silver = 3,
/obj/item/coin/iron = 3,
/obj/item/coin/gold = 1,
/obj/item/coin/diamond = 1,
/obj/item/coin/plasma = 1,
/obj/item/coin/uranium = 1,
)
/obj/effect/spawner/random/loot/coins/Initialize(mapload)
spawn_loot_count = rand(4, 7)
. = ..()
/obj/effect/spawner/random/loot/space_kit
name = "space kit spawner"
spawn_all_loot = TRUE
loot = list(
/obj/item/borg/upgrade/modkit/aoe/mobs,
/obj/item/clothing/head/helmet/space,
/obj/item/clothing/suit/space,
)
/obj/effect/spawner/random/loot_crate
name = "lootcrate spawner"
icon = 'icons/effects/random_spawners.dmi'
icon_state = "crate_secure"
spawn_inside = /obj/structure/closet/crate/secure/loot
loot = list(
/obj/effect/spawner/random/loot/contraband_posters = 5,
/obj/effect/spawner/random/loot/cryo_beakers = 5,
/obj/effect/spawner/random/loot/good_times = 5,
/obj/effect/spawner/random/loot/outfit/cham_ties = 5,
/obj/effect/spawner/random/loot/outfit/shorts = 5,
/obj/item/melee/baton = 5,
/obj/item/melee/skateboard/pro = 5,
/obj/item/reagent_containers/glass/beaker/bluespace = 5,
/obj/item/seeds/firelemon = 5,
/obj/item/stack/ore/diamond{amount = 10} = 5,
/obj/effect/spawner/random/loot/coins = 2,
/obj/effect/spawner/random/loot/outfit/clown = 2,
/obj/effect/spawner/random/loot/outfit/fancy = 2,
/obj/effect/spawner/random/loot/outfit/ian_fan = 2,
/obj/effect/spawner/random/loot/pet_uhhh_supplies = 2,
/obj/effect/spawner/random/loot/space_kit = 2,
/obj/effect/spawner/random/stock_parts = 2,
/obj/effect/spawner/random/toy/mech_figure = 2,
/obj/item/defibrillator/compact = 2,
/obj/item/gun/energy/plasmacutter = 2,
/obj/item/melee/classic_baton = 2,
/obj/item/pickaxe/diamond = 2,
/obj/item/pickaxe/drill = 2,
/obj/item/pickaxe/drill/diamonddrill = 2,
/obj/item/pickaxe/drill/jackhammer = 2,
/obj/item/stack/ore/bluespace_crystal{amount = 5} = 2,
/obj/item/toy/balloon = 2,
/obj/item/toy/katana = 2,
/obj/item/toy/syndicateballoon = 2,
/obj/effect/spawner/random/loot/bank_robber = 1,
/obj/effect/spawner/random/loot/outfit/luchador = 1,
/obj/effect/spawner/random/loot/outfit/mime = 1,
/obj/item/clothing/head/bearpelt = 1,
/obj/item/hand_tele = 1,
/obj/item/katana = 1,
/obj/item/melee/skateboard/hoverboard = 1,
/obj/item/organ/internal/brain = 1,
/obj/item/organ/internal/brain/xeno = 1,
/obj/item/organ/internal/cyberimp/arm/katana = 1,
/obj/item/soulstone/anybody = 1,
/obj/item/weed_extract = 1,
)
/obj/effect/spawner/random/loot_crate/rarely
name = "lootcrate spawner, 20% chance"
spawn_loot_chance = 20
loot = list(/obj/structure/closet/crate/secure/loot)
@@ -94,3 +94,12 @@
)
record_spawn = TRUE
/obj/effect/spawner/random/stock_parts
name = "stock parts spawner"
icon = 'icons/effects/random_spawners.dmi'
icon_state = "stock_parts"
loot_subtype_path = /obj/item/stock_parts
/obj/effect/spawner/random/stock_parts/Initialize(mapload)
spawn_loot_count = rand(4, 7)
. = ..()
@@ -0,0 +1,75 @@
/obj/effect/spawner/random/loot/outfit
name = "outfit spawner"
spawn_all_loot = TRUE
icon = 'icons/effects/random_spawners.dmi'
icon_state = "suit"
/obj/effect/spawner/random/loot/outfit/clown
name = "clown outfit spawner"
loot = list(
/obj/item/bikehorn,
/obj/item/clothing/mask/gas/clown_hat,
/obj/item/clothing/shoes/clown_shoes,
/obj/item/clothing/under/rank/civilian/clown,
/obj/item/pda/clown,
/obj/item/reagent_containers/drinks/bottle/bottleofbanana,
/obj/item/reagent_containers/spray/waterflower,
/obj/item/storage/backpack/clown,
/obj/item/toy/crayon/rainbow,
)
/obj/effect/spawner/random/loot/outfit/mime
name = "mime outfit spawner"
loot = list(
/obj/item/clothing/gloves/color/white,
/obj/item/clothing/head/beret,
/obj/item/clothing/mask/gas/mime,
/obj/item/clothing/shoes/black,
/obj/item/clothing/suit/suspenders,
/obj/item/clothing/under/rank/civilian/mime,
/obj/item/pda/mime,
/obj/item/reagent_containers/drinks/bottle/bottleofnothing,
/obj/item/toy/crayon/mime,
)
/obj/effect/spawner/random/loot/outfit/fancy
name = "fancy outfit spawner"
loot = list(
/obj/item/cane,
/obj/item/clothing/head/collectable/tophat,
)
/obj/effect/spawner/random/loot/outfit/shorts
name = "shorts spawner"
loot = list(
/obj/item/clothing/under/pants/shorts/red,
/obj/item/clothing/under/pants/shorts/blue,
)
/obj/effect/spawner/random/loot/outfit/cham_ties
name = "chameleon and ties spawner" // ??? (???)
loot = list(
/obj/item/clothing/neck/tie/horrible,
/obj/item/clothing/neck/tie/horrible,
/obj/item/clothing/neck/tie/horrible,
/obj/item/clothing/neck/tie/horrible,
/obj/item/clothing/neck/tie/horrible,
/obj/item/clothing/neck/tie/horrible,
/obj/item/clothing/neck/tie/horrible,
/obj/item/clothing/under/chameleon,
)
/obj/effect/spawner/random/loot/outfit/ian_fan
name = "Ian fan outfit spawner"
loot = list(
/obj/item/clothing/suit/ianshirt,
/obj/item/clothing/suit/corgisuit,
/obj/item/clothing/head/corgi,
)
/obj/effect/spawner/random/loot/outfit/luchador
name = "luchador outfit spawner"
loot = list(
/obj/item/storage/belt/champion,
/obj/item/clothing/mask/luchador,
)