convert random smith item to spawner (#28931)

This commit is contained in:
warriorstar-orion
2025-04-08 13:49:39 +00:00
committed by GitHub
parent a5dc38876d
commit eaf3f014c4
3 changed files with 77 additions and 75 deletions
@@ -116,6 +116,82 @@
/obj/item/flashlight/flare/glowstick/pink,
)
/obj/effect/spawner/random/smithed_item
name = "random smithed item"
icon = 'icons/effects/random_spawners.dmi'
icon_state = "metal"
record_spawn = TRUE
/// Weighted list of possible item qualities
var/static/list/smithed_item_qualities = list(
/datum/smith_quality = 9,
/datum/smith_quality/improved = 1
)
/// Weighted list of possible item materials
var/static/list/smithed_item_materials = list(
/datum/smith_material/metal = 40,
/datum/smith_material/silver = 10,
/datum/smith_material/gold = 5,
/datum/smith_material/plasma = 10,
/datum/smith_material/titanium = 5,
/datum/smith_material/uranium = 3,
/datum/smith_material/brass = 15
)
/obj/effect/spawner/random/smithed_item/make_item(spawn_loc, type_path_to_make)
var/obj/item/smithed_item/new_item = ..()
new_item.quality = pickweight(smithed_item_qualities)
new_item.material = pickweight(smithed_item_materials)
new_item.set_stats()
new_item.update_appearance(UPDATE_NAME)
return new_item
/obj/effect/spawner/random/smithed_item/any
loot = list(
/obj/item/smithed_item/insert/ballistic,
/obj/item/smithed_item/insert/thermal,
/obj/item/smithed_item/insert/fireproofing,
/obj/item/smithed_item/insert/reflective,
/obj/item/smithed_item/insert/rad_hazard,
/obj/item/smithed_item/insert/rubberized,
/obj/item/smithed_item/tool_bit/speed,
/obj/item/smithed_item/tool_bit/balanced,
/obj/item/smithed_item/tool_bit/efficiency,
/obj/item/smithed_item/lens/accelerator,
/obj/item/smithed_item/lens/speed,
/obj/item/smithed_item/lens/amplifier,
/obj/item/smithed_item/lens/efficiency
)
/obj/effect/spawner/random/smithed_item/insert
name = "random smithed insert"
loot = list(
/obj/item/smithed_item/insert/ballistic,
/obj/item/smithed_item/insert/thermal,
/obj/item/smithed_item/insert/fireproofing,
/obj/item/smithed_item/insert/reflective,
/obj/item/smithed_item/insert/rad_hazard,
/obj/item/smithed_item/insert/rubberized
)
/obj/effect/spawner/random/smithed_item/bit
name = "random smithed tool bit"
loot = list(
/obj/item/smithed_item/tool_bit/speed,
/obj/item/smithed_item/tool_bit/balanced,
/obj/item/smithed_item/tool_bit/efficiency
)
/obj/effect/spawner/random/smithed_item/lens
name = "random smithed lens"
loot = list(
/obj/item/smithed_item/lens/accelerator,
/obj/item/smithed_item/lens/speed,
/obj/item/smithed_item/lens/amplifier,
/obj/item/smithed_item/lens/efficiency
)
/obj/effect/spawner/random/space_pirate
name = "random space pirate spawner"
loot = list(