Migrate /obj/effect/spawner/lootdrop to /obj/effect/spawner/random. (#27445)

* refactor: Migrate /obj/effect/spawner/lootdrop to /obj/effect/spawner/random.

* set script PR number

* fix broken updatepaths for three course meal

* make filenames unique

* goddamnit

* redirect incorrect icon states

* ugh

* fix typepath fixes
This commit is contained in:
warriorstar-orion
2024-12-06 10:05:38 -05:00
committed by GitHub
parent 584e6b26d5
commit af2a3daf22
29 changed files with 842 additions and 849 deletions

View File

@@ -1,26 +0,0 @@
/obj/effect/spawner/away_lootdrop
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
var/lootcount = 1 //how many items will be spawned
var/lootdoubles = 0 //if the same item can be spawned twice
var/loot = "" //a list of possible items to spawn- a string of paths
/obj/effect/spawner/away_lootdrop/Initialize(mapload)
..()
var/list/things = params2list(loot)
if(things && length(things))
for(var/i = lootcount, i > 0, i--)
if(!length(things))
return
var/loot_spawn = pick(things)
var/loot_path = text2path(loot_spawn)
if(!loot_path || !lootdoubles)
things.Remove(loot_spawn)
continue
new loot_path(get_turf(src))
return INITIALIZE_HINT_QDEL

View File

@@ -410,14 +410,14 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank)
explosion(loc, -1, -1, 2, 4, flame_range = 4)
qdel(src)
/obj/effect/spawner/lootdrop/telecomms_core_table
/obj/effect/spawner/random/telecomms_core_table
name = "telecomms core table spawner"
lootcount = 1
spawn_loot_count = 1
loot = list(
/obj/item/rcd/combat,
/obj/item/gun/medbeam,
/obj/item/gun/energy/wormhole_projector,
/obj/item/storage/box/syndie_kit/oops_all_extraction_flares
/obj/item/rcd/combat,
/obj/item/gun/medbeam,
/obj/item/gun/energy/wormhole_projector,
/obj/item/storage/box/syndie_kit/oops_all_extraction_flares
)
/obj/item/storage/box/syndie_kit/oops_all_extraction_flares

View File

@@ -13,18 +13,20 @@
/obj/item/spellbook/oneuse/emp/used
used = TRUE //spawns used
/obj/effect/spawner/lootdrop/wizardcrash
/obj/effect/spawner/random/wizardcrash
loot = list(
/obj/item/guardiancreator = 1, // jackpot.
/obj/item/spellbook/oneuse/knock = 1, // tresspassing charges incoming
/obj/item/gun/magic/wand/resurrection = 1, // medbay's best friend
/obj/item/tarot_generator = 1, // A little bit of everything, all of the time.
/obj/item/spellbook/oneuse/charge = 15, // and now for less useful stuff to dilute the good loot chances
/obj/item/spellbook/oneuse/summonitem = 20,
/obj/item/spellbook/oneuse/forcewall = 10,
/obj/item/tarot_card_pack = 10,
/obj/item/tarot_card_pack/jumbo = 6,
/obj/item/tarot_card_pack/mega = 4,
/obj/item/book/granter/spell/summon_cheese = 10, // hungry wizard stuff
/obj/item/reagent_containers/drinks/everfull = 10 // Cheese and wine
)
/obj/item/spellbook/oneuse/summonitem = 20,
/obj/item/spellbook/oneuse/charge = 15, // and now for less useful stuff to dilute the good loot chances
/obj/item/book/granter/spell/summon_cheese = 10, // hungry wizard stuff
/obj/item/reagent_containers/drinks/everfull = 10, // Cheese and wine
/obj/item/spellbook/oneuse/forcewall = 10,
/obj/item/tarot_card_pack = 10,
/obj/item/tarot_card_pack/jumbo = 6,
/obj/item/tarot_card_pack/mega = 4,
/obj/item/guardiancreator = 1, // jackpot.
/obj/item/spellbook/oneuse/knock = 1, // tresspassing charges incoming
/obj/item/gun/magic/wand/resurrection = 1, // medbay's best friend
/obj/item/tarot_generator = 1, // A little bit of everything, all of the time.
)

View File

@@ -423,7 +423,7 @@
desc = "A pair of masterfully crafted lizard skin boots. Finally a good application for the station's most bothersome inhabitants."
icon_state = "lizardboots_blue"
/obj/effect/spawner/lootdrop/lizardboots
/obj/effect/spawner/random/lizardboots
name = "random lizard boot quality"
desc = "Which ever gets picked, the lizard race loses."
icon = 'icons/obj/clothing/shoes.dmi'

View File

@@ -593,7 +593,7 @@
/datum/crafting_recipe/lizardboots
name = "Lizard Skin Boots"
result = list(/obj/effect/spawner/lootdrop/lizardboots)
result = list(/obj/effect/spawner/random/lizardboots)
time = 6 SECONDS
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1)
category = CAT_CLOTHING

View File

@@ -144,8 +144,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Kayani Station"
trader_species = /mob/living/carbon/human
trader_outfit = /datum/outfit/admin/trader/sol
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/federation_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/federation_major
trader_minor_special = /obj/effect/spawner/random/traders/federation_minor
trader_major_special = /obj/effect/spawner/random/traders/federation_major
/datum/traders/cyber
trader_type = "Cybersun Industries"
@@ -153,8 +153,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "an undercover robotics factory"
trader_species = /mob/living/carbon/human
trader_outfit = /datum/outfit/admin/trader/cyber
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/cybersun_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/cybersun_major
trader_minor_special = /obj/effect/spawner/random/traders/cybersun_minor
trader_major_special = /obj/effect/spawner/random/traders/cybersun_major
/datum/traders/commie
trader_type = "USSP"
@@ -162,8 +162,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Belastrav Station"
trader_species = /mob/living/carbon/human
trader_outfit = /datum/outfit/admin/trader/commie
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/ussp_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/ussp_major
trader_minor_special = /obj/effect/spawner/random/traders/ussp_minor
trader_major_special = /obj/effect/spawner/random/traders/ussp_major
/datum/traders/unathi
trader_type = "Glint Scales"
@@ -171,8 +171,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "a Glint-Scale outpost"
trader_species = /mob/living/carbon/human/unathi
trader_outfit = /datum/outfit/admin/trader/unathi
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/glintscale_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/glintscale_major
trader_minor_special = /obj/effect/spawner/random/traders/glintscale_minor
trader_major_special = /obj/effect/spawner/random/traders/glintscale_major
/datum/traders/vulp
trader_type = "Steadfast Trading Co."
@@ -180,8 +180,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "the MV Steadfast Platinum"
trader_species = /mob/living/carbon/human/vulpkanin
trader_outfit = /datum/outfit/admin/trader/vulp
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/steadfast_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/steadfast_major
trader_minor_special = /obj/effect/spawner/random/traders/steadfast_minor
trader_major_special = /obj/effect/spawner/random/traders/steadfast_major
/datum/traders/ipc
trader_type = "Synthetic Union"
@@ -189,8 +189,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Cadraenov Station"
trader_species = /mob/living/carbon/human/machine
trader_outfit = /datum/outfit/admin/trader/ipc
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/syntheticunion_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/syntheticunion_major
trader_minor_special = /obj/effect/spawner/random/traders/syntheticunion_minor
trader_major_special = /obj/effect/spawner/random/traders/syntheticunion_major
/datum/traders/vox
trader_type = "Skipjack"
@@ -198,8 +198,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "a trading skipjack"
trader_species = /mob/living/carbon/human/vox
trader_outfit = /datum/outfit/admin/trader/vox
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/skipjack_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/skipjack_major
trader_minor_special = /obj/effect/spawner/random/traders/skipjack_minor
trader_major_special = /obj/effect/spawner/random/traders/skipjack_major
/datum/traders/skrell
trader_type = "Skrellian Central Authority"
@@ -207,8 +207,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Crown Station"
trader_species = /mob/living/carbon/human/skrell
trader_outfit = /datum/outfit/admin/trader/skrell
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/solarcentral_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/solarcentral_major
trader_minor_special = /obj/effect/spawner/random/traders/solarcentral_minor
trader_major_special = /obj/effect/spawner/random/traders/solarcentral_major
/datum/traders/grey
trader_type = "Technocracy"
@@ -216,8 +216,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Orbital Commerce Outpost 58"
trader_species = /mob/living/carbon/human/grey
trader_outfit = /datum/outfit/admin/trader/grey
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/technocracy_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/technocracy_major
trader_minor_special = /obj/effect/spawner/random/traders/technocracy_minor
trader_major_special = /obj/effect/spawner/random/traders/technocracy_major
/datum/traders/nian
trader_type = "Merchant Guild"
@@ -225,5 +225,5 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Guild Subsidiary Station 'Gilded Comet'"
trader_species = /mob/living/carbon/human/moth
trader_outfit = /datum/outfit/admin/trader/nian
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/merchantguild_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/merchantguild_major
trader_minor_special = /obj/effect/spawner/random/traders/merchantguild_minor
trader_major_special = /obj/effect/spawner/random/traders/merchantguild_major

View File

@@ -1,13 +1,17 @@
/obj/effect/spawner/lootdrop/pizzaparty
/obj/effect/spawner/random/pizzaparty
name = "pizza bomb spawner"
loot = list(/obj/item/pizzabox/margherita = 2,
/obj/item/pizzabox/meat = 2,
/obj/item/pizzabox/mushroom = 1,
/obj/item/pizzabox/pepperoni = 2,
/obj/item/pizzabox/garlic = 1,
/obj/item/pizzabox/firecracker = 1,
/obj/item/pizzabox/pizza_bomb = 1)
lootdoubles = FALSE
icon = 'icons/effects/random_spawners.dmi'
icon_state = "pizzabox"
loot = list(
/obj/item/pizzabox/margherita = 2,
/obj/item/pizzabox/meat = 2,
/obj/item/pizzabox/pepperoni = 2,
/obj/item/pizzabox/mushroom = 1,
/obj/item/pizzabox/garlic = 1,
/obj/item/pizzabox/firecracker = 1,
/obj/item/pizzabox/pizza_bomb = 1
)
spawn_loot_double = TRUE
/obj/structure/reagent_dispensers/water_cooler/pizzaparty
name = "punch cooler"

View File

@@ -1,12 +1,12 @@
/obj/effect/spawner/lootdrop/seed_vault
/obj/effect/spawner/random/seed_vault
name = "seed vault seeds"
lootcount = 1
loot = list(/obj/item/food/grown/mushroom/glowshroom/glowcap = 10,
/obj/item/seeds/cherry/bomb = 10,
/obj/item/seeds/berry/glow = 10,
/obj/item/seeds/sunflower/moonflower = 8
)
loot = list(
/obj/item/food/grown/mushroom/glowshroom/glowcap = 10,
/obj/item/seeds/cherry/bomb = 10,
/obj/item/seeds/berry/glow = 10,
/obj/item/seeds/sunflower/moonflower = 8,
)
/obj/effect/mob_spawn/human/alive/seed_vault
name = "preserved terrarium"

View File

@@ -50,130 +50,6 @@
/obj/item/stock_parts/capacitor/quadratic = 5,//Probably okay, right?
/obj/item/stack/ore/bluespace_crystal = 5)
/obj/effect/spawner/lootdrop/bluespace_tap
name = "bluespace harvester reward spawner"
lootcount = 1
/obj/effect/spawner/lootdrop/bluespace_tap/hat
name = "exotic hat"
loot = list(
/obj/item/clothing/head/collectable/chef, //same weighing on all of them
/obj/item/clothing/head/collectable/paper,
/obj/item/clothing/head/collectable/tophat,
/obj/item/clothing/head/collectable/captain,
/obj/item/clothing/head/collectable/beret,
/obj/item/clothing/head/collectable/welding,
/obj/item/clothing/head/collectable/flatcap,
/obj/item/clothing/head/collectable/pirate,
/obj/item/clothing/head/collectable/kitty,
/obj/item/clothing/head/crown/fancy,
/obj/item/clothing/head/collectable/rabbitears,
/obj/item/clothing/head/collectable/wizard,
/obj/item/clothing/head/collectable/hardhat,
/obj/item/clothing/head/collectable/hos,
/obj/item/clothing/head/collectable/thunderdome,
/obj/item/clothing/head/collectable/swat,
/obj/item/clothing/head/collectable/slime,
/obj/item/clothing/head/collectable/police,
/obj/item/clothing/head/collectable/slime,
/obj/item/clothing/head/collectable/xenom,
/obj/item/clothing/head/collectable/petehat
)
/obj/effect/spawner/lootdrop/bluespace_tap/cultural
name = "cultural artifacts"
loot = list(
/obj/vehicle/space/speedbike/red = 10,
/obj/item/grenade/clusterbuster/honk = 10,
/obj/item/toy/katana = 10,
/obj/item/stack/tile/brass/fifty = 20,
/obj/item/stack/sheet/mineral/abductor/fifty = 20,
/obj/item/sord = 20,
/obj/item/toy/syndicateballoon = 15,
/obj/item/lighter/zippo/gonzofist = 5,
/obj/item/lighter/zippo/engraved = 5,
/obj/item/lighter/zippo/nt_rep = 5,
/obj/item/gun/projectile/automatic/c20r/toy = 1,
/obj/item/gun/projectile/automatic/l6_saw/toy = 1,
/obj/item/gun/projectile/automatic/toy/pistol = 2,
/obj/item/gun/projectile/automatic/toy/pistol/enforcer = 1,
/obj/item/gun/projectile/shotgun/toy = 1,
/obj/item/gun/projectile/shotgun/toy/crossbow = 1,
/obj/item/gun/projectile/shotgun/toy/tommygun = 1,
/obj/item/gun/projectile/automatic/sniper_rifle/toy = 1,
/obj/item/dualsaber/toy = 5,
/obj/machinery/snow_machine = 10,
/obj/item/clothing/head/kitty = 5,
/obj/item/coin/antagtoken = 5,
/obj/item/toy/prizeball/figure = 15,
/obj/item/toy/prizeball/therapy = 10,
/obj/item/bedsheet/patriot = 2,
/obj/item/bedsheet/rainbow = 2,
/obj/item/bedsheet/captain = 2,
/obj/item/bedsheet/centcom = 1, //mythic rare rarity
/obj/item/bedsheet/syndie = 2,
/obj/item/bedsheet/cult = 2,
/obj/item/bedsheet/wiz = 2,
/obj/item/stack/sheet/mineral/tranquillite/fifty = 3,
/obj/item/clothing/gloves/combat = 5,
/obj/item/blank_tarot_card = 5,
/obj/item/tarot_card_pack = 5,
/obj/item/tarot_card_pack/jumbo = 3,
/obj/item/tarot_card_pack/mega = 2
)
/obj/effect/spawner/lootdrop/bluespace_tap/organic
name = "organic objects"
loot = list(
/obj/item/seeds/random/labelled = 50,
/obj/item/guardiancreator/biological = 5,
/obj/item/organ/internal/vocal_cords/adamantine = 15,
/obj/item/storage/pill_bottle/random_meds/labelled = 25,
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 15,
/obj/item/dnainjector/telemut = 5,
/obj/item/dnainjector/small_size = 5,
/obj/item/dnainjector/morph = 5,
/obj/item/dnainjector/regenerate = 5,
/mob/living/simple_animal/pet/dog/corgi/ = 5,
/mob/living/simple_animal/pet/cat = 5,
/mob/living/simple_animal/pet/dog/fox/ = 5,
/mob/living/simple_animal/pet/penguin/baby = 5,
/mob/living/simple_animal/pig = 5,
/obj/item/slimepotion/sentience = 5,
/obj/item/clothing/mask/cigarette/cigar/havana = 3,
/obj/item/stack/sheet/mineral/bananium/fifty = 2, //bananas are organic, clearly.
/obj/item/storage/box/monkeycubes = 5,
/obj/item/stack/tile/carpet/twenty = 10,
/obj/item/stack/tile/carpet/black/twenty = 10,
/obj/item/soap/deluxe = 5
)
/obj/effect/spawner/lootdrop/bluespace_tap/food
name = "fancy food"
lootcount = 3
loot = list(
/obj/item/food/wingfangchu,
/obj/item/food/hotdog,
/obj/item/food/sliceable/turkey,
/obj/item/food/plumphelmetbiscuit,
/obj/item/food/appletart,
/obj/item/food/sliceable/cheesecake,
/obj/item/food/sliceable/bananacake,
/obj/item/food/sliceable/chocolatecake,
/obj/item/food/soup/meatballsoup,
/obj/item/food/soup/mysterysoup,
/obj/item/food/soup/stew,
/obj/item/food/soup/hotchili,
/obj/item/food/burrito,
/obj/item/food/fishburger,
/obj/item/food/cubancarp,
/obj/item/food/fishandchips,
/obj/item/food/meatpie,
/obj/item/pizzabox/hawaiian, //it ONLY gives hawaiian. MUHAHAHA
/obj/item/food/sliceable/xenomeatbread //maybe add some dangerous/special food here, ie robobuger?
)
/// Points generated per cycle for each Watt of power consumption
#define POINTS_PER_W 4e-6
/// Amount of points generated per cycle per 50KW for the first 500KW
@@ -203,10 +79,10 @@
/// list of possible products
var/static/product_list = list(
new /datum/data/bluespace_tap_product("Unknown Exotic Hat", /obj/effect/spawner/lootdrop/bluespace_tap/hat, 5000),
new /datum/data/bluespace_tap_product("Unknown Snack", /obj/effect/spawner/lootdrop/bluespace_tap/food, 6000),
new /datum/data/bluespace_tap_product("Unknown Cultural Artifact", /obj/effect/spawner/lootdrop/bluespace_tap/cultural, 15000),
new /datum/data/bluespace_tap_product("Unknown Biological Artifact", /obj/effect/spawner/lootdrop/bluespace_tap/organic, 20000)
new /datum/data/bluespace_tap_product("Unknown Exotic Hat", /obj/effect/spawner/random/bluespace_tap/hat, 5000),
new /datum/data/bluespace_tap_product("Unknown Snack", /obj/effect/spawner/random/bluespace_tap/food, 6000),
new /datum/data/bluespace_tap_product("Unknown Cultural Artifact", /obj/effect/spawner/random/bluespace_tap/cultural, 15000),
new /datum/data/bluespace_tap_product("Unknown Biological Artifact", /obj/effect/spawner/random/bluespace_tap/organic, 20000)
)
/// The amount of power being used for mining at the moment (Watts)