diff --git a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm
index bda6fb742d53..dad43ef34082 100644
--- a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm
@@ -1144,7 +1144,7 @@
/turf/open/floor/concrete/slab_1,
/area/ruin/beach/complex/wall)
"sa" = (
-/obj/effect/spawner/lootdrop/garden/seaweed,
+/obj/effect/spawner/random/food_or_drink/garden/seaweed,
/turf/open/water/beach,
/area/overmap_encounter/planetoid/beachplanet/explored)
"so" = (
diff --git a/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm b/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm
index b2c39404d641..8c8097e2c794 100644
--- a/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm
@@ -825,7 +825,7 @@
dir = 1
},
/obj/item/candle,
-/obj/effect/spawner/lootdrop/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
/turf/open/floor/wood{
light_range = 2
},
diff --git a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm
index 312e11abe0f4..39bebb15982e 100644
--- a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm
@@ -113,7 +113,7 @@
},
/area/overmap_encounter/planetoid/beachplanet/explored)
"bs" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"bu" = (
@@ -412,9 +412,9 @@
/area/ruin/beach/oceantown)
"fn" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut/slimejelly,
-/obj/effect/spawner/lootdrop/donut,
-/obj/effect/spawner/lootdrop/donut,
+/obj/effect/spawner/random/food_or_drink/donut/slimejelly,
+/obj/effect/spawner/random/food_or_drink/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"fp" = (
@@ -711,8 +711,8 @@
/area/overmap_encounter/planetoid/beachplanet/explored)
"ix" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut/slimejelly,
-/obj/effect/spawner/lootdrop/donut,
+/obj/effect/spawner/random/food_or_drink/donut/slimejelly,
+/obj/effect/spawner/random/food_or_drink/donut,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"iz" = (
@@ -1560,11 +1560,11 @@
/area/ruin/beach/oceantown/bar)
"un" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut,
-/obj/effect/spawner/lootdrop/donut,
-/obj/effect/spawner/lootdrop/donut,
-/obj/effect/spawner/lootdrop/donut,
-/obj/effect/spawner/lootdrop/donut/slimejelly,
+/obj/effect/spawner/random/food_or_drink/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
+/obj/effect/spawner/random/food_or_drink/donut/slimejelly,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"ur" = (
@@ -3367,8 +3367,8 @@
/area/overmap_encounter/planetoid/beachplanet/explored)
"NX" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut/jelly,
-/obj/effect/spawner/lootdrop/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"Oe" = (
@@ -3541,7 +3541,7 @@
/area/ruin/beach/oceantown)
"PF" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut/slimejelly,
+/obj/effect/spawner/random/food_or_drink/donut/slimejelly,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"PH" = (
@@ -3569,7 +3569,7 @@
/turf/open/water/beach,
/area/overmap_encounter/planetoid/beachplanet/explored)
"Qf" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"Qm" = (
@@ -3733,10 +3733,10 @@
/area/overmap_encounter/planetoid/beachplanet/explored)
"SS" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut,
-/obj/effect/spawner/lootdrop/donut,
-/obj/effect/spawner/lootdrop/donut/slimejelly,
-/obj/effect/spawner/lootdrop/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
+/obj/effect/spawner/random/food_or_drink/donut/slimejelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"SY" = (
@@ -3906,7 +3906,7 @@
/area/ruin/beach/oceantown/bar)
"Vr" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/carpet,
/area/ruin/beach/oceantown)
"VI" = (
@@ -3945,9 +3945,9 @@
/area/ruin/beach/oceantown/shop)
"VQ" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut/jelly,
-/obj/effect/spawner/lootdrop/donut/jelly,
-/obj/effect/spawner/lootdrop/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"VS" = (
@@ -4112,11 +4112,11 @@
/area/overmap_encounter/planetoid/beachplanet/explored)
"XQ" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donut/jelly,
-/obj/effect/spawner/lootdrop/donut/jelly,
-/obj/effect/spawner/lootdrop/donut/jelly,
-/obj/effect/spawner/lootdrop/donut/slimejelly,
-/obj/effect/spawner/lootdrop/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/slimejelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
/turf/open/floor/plasteel/patterned/grid,
/area/ruin/beach/oceantown/shop)
"XS" = (
diff --git a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm
index 67ac69292603..fddfa5bdc00f 100644
--- a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm
@@ -1111,7 +1111,7 @@
/obj/structure/closet/crate,
/obj/effect/turf_decal/box,
/obj/item/stack/cable_coil/red,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ruin/beach/piratecrash/shuttle)
@@ -1350,7 +1350,7 @@
"Pf" = (
/obj/effect/turf_decal/box,
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/stack/sheet/mineral/gold/five,
/obj/item/stack/sheet/mineral/silver/five,
/obj/item/stack/sheet/mineral/silver/five,
@@ -1433,9 +1433,9 @@
"QG" = (
/obj/effect/turf_decal/box,
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/random_machine_circuit_rare,
-/obj/effect/spawner/lootdrop/maintenance/four,
-/obj/effect/spawner/lootdrop/random_machine_circuit_common,
+/obj/effect/spawner/random/circuit/machine/rare,
+/obj/effect/spawner/random/maintenance/four,
+/obj/effect/spawner/random/circuit/machine/common,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating/rust,
diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm
index 839e87815f93..fbf9bf8ed4eb 100644
--- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm
@@ -35,7 +35,7 @@
"bI" = (
/obj/effect/turf_decal/industrial/hatch/yellow,
/obj/machinery/light/small/directional/north,
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/concrete/slab_1,
/area/ruin/beach/treasure_cove)
"bN" = (
@@ -53,7 +53,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plating/dirt/jungle,
/area/ruin/unpowered)
"cJ" = (
@@ -543,7 +543,7 @@
pixel_x = -10;
pixel_y = 4
},
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/wood,
/area/ruin/beach/treasure_cove)
"rA" = (
diff --git a/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm b/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm
index 707be4573d13..294dd1056431 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm
@@ -473,9 +473,7 @@
/obj/structure/bed/double{
dir = 1
},
-/obj/item/bedsheet/dorms/double{
- dir = 1
- },
+/obj/effect/spawner/random/bedsheet/double,
/turf/open/floor/plasteel/dark,
/area/ruin/unpowered/crashed_holemaker)
"iN" = (
@@ -674,7 +672,7 @@
/area/ruin/unpowered/crashed_holemaker)
"lt" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/crate_spawner,
+/obj/effect/spawner/random/structure/crate_abandoned,
/turf/open/floor/plating,
/area/ruin/unpowered/crashed_holemaker)
"lu" = (
@@ -743,7 +741,7 @@
},
/obj/item/radio/intercom/directional/north,
/obj/structure/closet/cabinet,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/dark,
/area/ruin/unpowered/crashed_holemaker)
@@ -1441,7 +1439,7 @@
/turf/open/floor/carpet,
/area/ruin/unpowered/crashed_holemaker)
"ze" = (
-/obj/effect/spawner/lootdrop/crate_spawner,
+/obj/effect/spawner/random/structure/crate_abandoned,
/turf/open/floor/plating,
/area/ruin/unpowered/crashed_holemaker)
"zh" = (
@@ -2389,7 +2387,7 @@
/turf/open/floor/plasteel/icemoon,
/area/ruin/unpowered/crashed_holemaker)
"RL" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/spline/fancy/transparent/neutral/corner{
dir = 4
},
diff --git a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm
index 92b840e05aa0..a698cf49ea18 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm
@@ -337,7 +337,7 @@
/turf/open/floor/concrete/slab_3/icemoon,
/area/overmap_encounter/planetoid/cave/explored)
"fe" = (
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood,
/obj/structure/bed{
icon_state = "dirty_mattress"
@@ -1256,10 +1256,10 @@
/obj/item/clothing/head/frontier,
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
-/obj/effect/spawner/lootdrop/chem_jug,
-/obj/effect/spawner/lootdrop/chem_jug,
-/obj/effect/spawner/lootdrop/chem_jug,
-/obj/effect/spawner/lootdrop/chem_jug,
+/obj/effect/spawner/random/medical/chem_jug,
+/obj/effect/spawner/random/medical/chem_jug,
+/obj/effect/spawner/random/medical/chem_jug,
+/obj/effect/spawner/random/medical/chem_jug,
/obj/effect/turf_decal/corner/opaque/blue,
/obj/effect/turf_decal/corner/opaque/neutral{
dir = 4
@@ -1659,7 +1659,7 @@
/area/ruin/powered/icemoon/lodge/mainhall)
"wD" = (
/obj/structure/bed,
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 10
},
@@ -1771,7 +1771,7 @@
/turf/open/floor/wood/maple,
/area/ruin/powered/icemoon/lodge/mainhall)
"yi" = (
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 6
},
@@ -1968,9 +1968,9 @@
/obj/effect/turf_decal/spline/fancy/wood{
dir = 8
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/wood/mahogany{
icon_state = "wood-broken6"
},
@@ -2677,7 +2677,7 @@
/turf/closed/wall/mineral/wood,
/area/ruin/powered/icemoon/lodge/residential)
"Nq" = (
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood,
/obj/effect/decal/cleanable/dirt,
/obj/structure/bed{
diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm
index 42aa6b288469..f4db9fa9d9f7 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm
@@ -40,7 +40,7 @@
"fD" = (
/obj/structure/bed,
/obj/effect/decal/cleanable/blood/bubblegum,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/powered)
"fQ" = (
@@ -459,7 +459,7 @@
/area/overmap_encounter/planetoid/cave/explored)
"LZ" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/powered)
"Nq" = (
@@ -477,7 +477,7 @@
/turf/open/floor/carpet,
/area/ruin/powered)
"Pp" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/holofloor/wood,
/area/ruin/powered)
"PQ" = (
@@ -554,7 +554,7 @@
"WH" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/powered)
"Ze" = (
diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm
index d560e98b2f20..1a52405a3ec0 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm
@@ -478,7 +478,7 @@
/area/overmap_encounter/planetoid/cave/explored)
"xN" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating/snowed/smoothed/icemoon,
/area/ruin/unpowered)
"xQ" = (
@@ -1028,7 +1028,7 @@
/obj/structure/rack,
/obj/item/hatchet,
/obj/item/hatchet,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating/snowed/smoothed/icemoon,
/area/ruin/unpowered)
"Ul" = (
@@ -1086,7 +1086,7 @@
/obj/item/ammo_casing/shotgun/improvised,
/obj/item/ammo_casing/shotgun/improvised,
/obj/item/ammo_casing/shotgun/improvised,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating/snowed/smoothed/icemoon,
/area/ruin/unpowered)
"WH" = (
@@ -1181,7 +1181,7 @@
"Yx" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/rack_parts,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/wood{
icon_state = "wood-broken3";
initial_gas_mix = "ICEMOON_ATMOS"
diff --git a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm
index 77c280d07e90..1afed51826aa 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm
@@ -811,10 +811,10 @@
/area/overmap_encounter/planetoid/jungle/explored)
"fJ" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plasteel/dark,
/area/overmap_encounter/planetoid/jungle/explored)
"fL" = (
@@ -2699,7 +2699,7 @@
/area/overmap_encounter/planetoid/jungle/explored)
"sK" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plasteel/grimy,
/area/ruin/jungle/starport)
"sN" = (
diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm
index 923e58b4cb05..1159123d30f1 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm
@@ -167,7 +167,7 @@
/area/overmap_encounter/planetoid/cave/explored)
"bH" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth/grey,
/obj/effect/decal/cleanable/shreds,
/turf/open/floor/carpet/nanoweave/beige,
@@ -1028,10 +1028,10 @@
pixel_y = 32
},
/obj/structure/closet/secure_closet/freezer/wall/directional/west,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/condiment/enzyme{
pixel_x = -8;
pixel_y = 5
@@ -2221,7 +2221,7 @@
/area/ruin/jungle/cavecrew/bridge)
"Be" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth/grey,
/turf/open/floor/carpet/red_gold,
/area/ruin/jungle/cavecrew/dormitories)
diff --git a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm
index 75b7e390c540..467dd8e8abd7 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm
@@ -2108,7 +2108,7 @@
/obj/effect/turf_decal/corner/opaque/mauve{
dir = 1
},
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/dark,
/area/ship/crew/office)
"Ie" = (
diff --git a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm
index 47455933ec16..4429e0b8779a 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm
@@ -685,7 +685,7 @@
/turf/open/floor/plating/grass/jungle,
/area/overmap_encounter/planetoid/cave/explored)
"ei" = (
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plating/dirt/jungle/dark,
/area/overmap_encounter/planetoid/cave/explored)
"el" = (
@@ -989,7 +989,7 @@
/obj/structure/bed{
icon_state = "dirty_mattress"
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/decal/cleanable/dirt,
/obj/structure/railing{
color = "#A47449";
@@ -1446,7 +1446,7 @@
dir = 4;
layer = 3.9
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/cable/yellow{
icon_state = "1-9"
},
@@ -3204,7 +3204,7 @@
/obj/structure/bed{
icon_state = "dirty_mattress"
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/cable/yellow{
icon_state = "0-5"
},
@@ -4344,11 +4344,11 @@
/obj/effect/turf_decal/techfloor/corner{
dir = 1
},
-/obj/effect/spawner/lootdrop/three_course_meal,
-/obj/effect/spawner/lootdrop/three_course_meal,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/three_course_meal,
+/obj/effect/spawner/random/food_or_drink/three_course_meal,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plasteel/tech/grid,
/area/ruin/jungle/paradise/cargo)
"AT" = (
@@ -5764,9 +5764,9 @@
/obj/structure/cable/yellow{
icon_state = "1-6"
},
-/obj/effect/spawner/lootdrop/three_course_meal,
-/obj/effect/spawner/lootdrop/three_course_meal,
-/obj/effect/spawner/lootdrop/three_course_meal,
+/obj/effect/spawner/random/food_or_drink/three_course_meal,
+/obj/effect/spawner/random/food_or_drink/three_course_meal,
+/obj/effect/spawner/random/food_or_drink/three_course_meal,
/obj/item/reagent_containers/food/snacks/meat/slab,
/obj/item/reagent_containers/food/snacks/meat/slab,
/obj/item/reagent_containers/food/snacks/meat/slab,
@@ -7185,7 +7185,7 @@
/obj/structure/bed{
icon_state = "dirty_mattress"
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood/walnut,
/area/ruin/jungle/paradise/dorms)
"UC" = (
@@ -7411,7 +7411,7 @@
},
/area/overmap_encounter/planetoid/cave/explored)
"VV" = (
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plating/dirt/jungle,
/area/overmap_encounter/planetoid/cave/explored)
"VW" = (
diff --git a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm
index 2eba13537777..60d24171ad0f 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm
@@ -662,7 +662,7 @@
/obj/item/storage/box/donkpockets/donkpocketteriyaki,
/obj/item/storage/box/donkpockets,
/obj/item/storage/box/donkpockets/donkpocketberry,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plating,
/area/ruin/jungle/syndifort)
"ve" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm
index 24fea81ce05c..dd98807a4958 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm
@@ -77,7 +77,7 @@
/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{
dir = 4
},
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/white,
/area/ruin/unpowered/listening_post)
"cm" = (
@@ -2039,7 +2039,7 @@
/area/ruin/unpowered/listening_post/engineering)
"MZ" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/structure/sign/poster/official/high_class_martini{
pixel_y = 32
},
@@ -2124,8 +2124,8 @@
/area/ruin/unpowered/listening_post/commons)
"Om" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/dark,
/area/ruin/unpowered/listening_post/canteen)
"On" = (
@@ -2246,7 +2246,7 @@
icon_state = "trimline";
dir = 8
},
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/siding/thinplating/dark{
dir = 10
},
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm
index 336588e2d807..e0a98de791fc 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm
@@ -2415,7 +2415,7 @@
pixel_x = -26
},
/obj/structure/spider/stickyweb,
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/pod/light,
/area/ruin/unpowered/crashed_starwalker)
"MO" = (
@@ -2447,7 +2447,7 @@
/turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit,
/area/ruin/unpowered/crashed_starwalker)
"MX" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/structure/railing{
dir = 4
},
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm
index 768c6275cf56..3a6b545859b7 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm
@@ -164,8 +164,8 @@
/area/ruin/lavaland/factory/manager_office)
"bE" = (
/obj/structure/closet/crate/trashcart,
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
/obj/item/storage/bag/trash,
/obj/item/reagent_containers/glass/bucket,
/obj/item/mop,
@@ -216,7 +216,7 @@
"cm" = (
/obj/structure/table/wood,
/obj/machinery/light/directional/east,
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/wood,
/area/ruin/lavaland/factory/adminstrative)
"co" = (
@@ -341,7 +341,7 @@
/area/ruin/lavaland/factory/warehouse)
"dc" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth,
/obj/effect/turf_decal/corner/opaque/ntblue,
/obj/effect/turf_decal/corner/opaque/ntblue{
@@ -641,7 +641,7 @@
},
/obj/item/modular_computer/laptop,
/obj/item/stack/arcadeticket,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/white,
/area/ruin/lavaland/factory/dorms)
"go" = (
@@ -1506,7 +1506,7 @@
},
/obj/item/storage/wallet/random,
/obj/item/instrument/guitar,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/white,
/area/ruin/lavaland/factory/dorms)
"oh" = (
@@ -1887,7 +1887,7 @@
/obj/item/poster/random_contraband,
/obj/item/toy/eightball,
/obj/item/toy/cards/deck/tarot,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/white,
/area/ruin/lavaland/factory/dorms)
"rh" = (
@@ -2287,7 +2287,7 @@
/obj/item/storage/fancy/cigarettes/cigpack_cannabis,
/obj/item/lighter/greyscale,
/obj/item/reagent_containers/food/drinks/bottle/whiskey,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/white,
/area/ruin/lavaland/factory/dorms)
"ve" = (
@@ -2985,7 +2985,7 @@
/obj/machinery/light/directional/west,
/obj/item/melee/knife/hunting,
/obj/item/clothing/suit/hooded/cloak/goliath,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/white,
/area/ruin/lavaland/factory/dorms)
"CW" = (
@@ -3149,18 +3149,18 @@
/obj/effect/turf_decal/corner/opaque/ntblue{
dir = 1
},
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/white,
/area/ruin/lavaland/factory/dorms)
"EP" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth,
/obj/effect/turf_decal/corner/opaque/ntblue,
/obj/effect/turf_decal/corner/opaque/ntblue{
@@ -4062,11 +4062,11 @@
/area/overmap_encounter/planetoid/cave/explored)
"Or" = (
/obj/structure/closet/crate/freezer,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
@@ -4945,9 +4945,9 @@
/obj/effect/turf_decal/corner/opaque/bar,
/obj/structure/closet/crate/bin,
/obj/machinery/light/directional/west,
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/plasteel,
/area/ruin/lavaland/factory/dorms)
"Xn" = (
@@ -5078,7 +5078,7 @@
/area/overmap_encounter/planetoid/lava/explored)
"YJ" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth,
/obj/effect/turf_decal/corner/opaque/ntblue,
/obj/effect/turf_decal/corner/opaque/ntblue{
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm
index 3b2b995fd979..c9c7ea2501f3 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm
@@ -109,7 +109,7 @@
/turf/open/floor/wood,
/area/ruin/rockplanet/nanotrasen)
"by" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/industrial/warning,
/obj/machinery/light/dim/directional/north,
/turf/open/floor/plasteel,
@@ -214,7 +214,7 @@
/area/ruin/rockplanet/nanotrasen)
"db" = (
/obj/structure/bed/pod,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/ruin/rockplanet/nanotrasen)
@@ -1551,7 +1551,7 @@
/obj/structure/railing{
dir = 4
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/rockplanet/nanotrasen)
"Ap" = (
@@ -1699,7 +1699,7 @@
/area/overmap_encounter/planetoid/rockplanet/explored)
"Cx" = (
/obj/structure/bed/pod,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light/dim/directional/east,
/turf/open/floor/wood,
/area/ruin/rockplanet/nanotrasen)
@@ -2493,7 +2493,7 @@
/area/ruin/rockplanet/nanotrasen)
"Rm" = (
/obj/structure/bed/pod,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light/dim/directional/east,
/turf/open/floor/carpet/black,
/area/ruin/rockplanet/nanotrasen)
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm
index 3926cffbbf81..6d6f81ffd5a0 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm
@@ -401,7 +401,7 @@
/turf/open/floor/plating/asteroid/rockplanet/lit,
/area/overmap_encounter/planetoid/rockplanet/explored)
"dZ" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/spline/fancy/opaque/white,
/turf/open/floor/plasteel/patterned/brushed,
/area/ruin/rockplanet/distillery/crew)
@@ -859,7 +859,7 @@
dir = 8;
icon_state = "dirty_mattress"
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/rockplanet/distillery/crew)
"kn" = (
@@ -1613,12 +1613,12 @@
"sQ" = (
/obj/effect/turf_decal/industrial/outline/red,
/obj/structure/closet/crate/freezer,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/patterned/brushed/rockplanet,
/area/ruin/rockplanet/distillery/crew)
"tc" = (
@@ -2187,7 +2187,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/pod,
/area/ruin/rockplanet/distillery/office)
"yO" = (
@@ -3032,10 +3032,10 @@
"Iz" = (
/obj/structure/closet/crate,
/obj/effect/turf_decal/industrial/outline/red,
-/obj/effect/spawner/lootdrop/random_computer_circuit_common,
-/obj/effect/spawner/lootdrop/maintenance/four,
-/obj/effect/spawner/lootdrop/random_machine_circuit_common,
-/obj/effect/spawner/lootdrop/random_machine_circuit_common,
+/obj/effect/spawner/random/circuit/computer/common,
+/obj/effect/spawner/random/maintenance/four,
+/obj/effect/spawner/random/circuit/machine/common,
+/obj/effect/spawner/random/circuit/machine/common,
/turf/open/floor/plasteel/patterned/brushed/rockplanet,
/area/ruin/rockplanet/distillery/crew)
"IA" = (
@@ -3419,7 +3419,7 @@
icon_state = "1-5"
},
/obj/machinery/light/small/directional/west,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/wood/rockplanet{
icon_state = "wood-broken6"
},
@@ -3582,9 +3582,7 @@
},
/area/overmap_encounter/planetoid/rockplanet/explored)
"Os" = (
-/obj/machinery/vending/snack/random{
- tilted = 1
- },
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/spline/fancy/opaque/white,
/turf/open/floor/plasteel/patterned/brushed,
/area/ruin/rockplanet/distillery/crew)
@@ -4185,7 +4183,7 @@
/obj/structure/fluff/glowshroom,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/wood,
/area/ruin/rockplanet/distillery/crew)
"Vg" = (
@@ -4199,7 +4197,7 @@
widenet = 1
},
/obj/machinery/light/small/broken/directional/east,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/patterned/brushed,
/area/ruin/rockplanet/distillery/crew)
"Vj" = (
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm
index ff58248ffc4e..6db4bf5240a2 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm
@@ -408,7 +408,7 @@
icon_state = "1-8"
},
/obj/structure/frame/machine,
-/obj/effect/spawner/lootdrop/salvage_matter_bin,
+/obj/effect/spawner/random/salvage_matter_bin,
/turf/open/floor/plasteel/rockplanet,
/area/ruin/rockplanet/nomad)
"oz" = (
@@ -558,7 +558,7 @@
},
/obj/structure/frame/machine,
/obj/machinery/light/small/directional/north,
-/obj/effect/spawner/lootdrop/salvage_matter_bin,
+/obj/effect/spawner/random/salvage_matter_bin,
/turf/open/floor/plating,
/area/ruin/rockplanet/nomad)
"sn" = (
@@ -1272,7 +1272,7 @@
icon_state = "spline_plain_cee"
},
/obj/structure/frame/machine,
-/obj/effect/spawner/lootdrop/salvage_matter_bin,
+/obj/effect/spawner/random/salvage_matter_bin,
/turf/open/floor/plasteel/tech/grid,
/area/ruin/rockplanet/nomad)
"Lk" = (
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm
index f18742a8aadb..1c518cceabca 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm
@@ -288,7 +288,7 @@
/turf/open/floor/wood,
/area/ruin/rockplanet/shippingdockoffice)
"cz" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ruin/rockplanet/shippingdock)
@@ -2068,7 +2068,7 @@
"sa" = (
/obj/effect/turf_decal/rechargefloor,
/obj/effect/turf_decal/industrial/warning/dust,
-/obj/effect/spawner/lootdrop/ripley,
+/obj/effect/spawner/random/exotic/ripley,
/turf/open/floor/plasteel/mono/dark,
/area/ruin/rockplanet/shippingdockwarehouse)
"sc" = (
@@ -2132,7 +2132,7 @@
/area/overmap_encounter/planetoid/rockplanet/explored)
"su" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/concrete/pavement{
light_power = 0.6;
light_range = 2
@@ -2426,7 +2426,7 @@
/area/ruin/rockplanet/shippingdockoffice)
"uo" = (
/obj/structure/closet/crate/trashcart,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/trash/can,
/obj/item/trash/can/food/peaches,
/obj/item/trash/tray,
@@ -4044,7 +4044,7 @@
},
/area/overmap_encounter/planetoid/rockplanet/explored)
"HL" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/concrete/pavement{
light_power = 0.6;
light_range = 2
@@ -4208,7 +4208,7 @@
/turf/open/floor/concrete/pavement,
/area/ruin/rockplanet/shippingdockwarehouse)
"Ju" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ruin/rockplanet/shippingdock)
"Jz" = (
@@ -5282,9 +5282,9 @@
"SJ" = (
/obj/structure/rack,
/obj/structure/window/reinforced,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plasteel/mono/white,
/area/ruin/rockplanet/shippingdockwarehouse)
"SM" = (
@@ -5968,7 +5968,7 @@
/obj/structure/window/reinforced{
dir = 1
},
-/obj/effect/spawner/lootdrop/maintenance/eight,
+/obj/effect/spawner/random/maintenance/eight,
/turf/open/floor/plasteel/mono/white,
/area/ruin/rockplanet/shippingdockwarehouse)
"XU" = (
@@ -6020,7 +6020,7 @@
"Yf" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/concrete/pavement{
light_power = 0.6;
light_range = 2
diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm
index c7b060634951..c19dd9de68a1 100644
--- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm
+++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm
@@ -115,7 +115,7 @@
/area/ruin)
"fb" = (
/obj/structure/flora/ash/cap_shroom,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/asteroid/whitesands{
light_range = 2
},
@@ -269,7 +269,7 @@
/area/overmap_encounter/planetoid/sand/explored)
"ko" = (
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/chair/stool/bar,
/turf/open/floor/wood,
/area/ruin)
@@ -290,7 +290,7 @@
},
/area/overmap_encounter/planetoid/sand/explored)
"kO" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/asteroid/whitesands{
light_range = 2
},
@@ -699,7 +699,7 @@
/area/ruin)
"AI" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin)
"AR" = (
@@ -915,7 +915,7 @@
/turf/open/floor/wood,
/area/ruin)
"HX" = (
-/obj/effect/spawner/lootdrop/armory_contraband/metastation,
+/obj/effect/spawner/random/exotic/armory,
/turf/open/floor/plating/asteroid/whitesands/dried{
light_range = 2
},
@@ -964,7 +964,7 @@
},
/area/overmap_encounter/planetoid/sand/explored)
"JE" = (
-/obj/effect/spawner/lootdrop/tool_engie_sydnie,
+/obj/effect/spawner/random/engineering/tool/sydnie,
/turf/open/floor/plating/asteroid/whitesands{
light_range = 2
},
@@ -1164,7 +1164,7 @@
},
/area/overmap_encounter/planetoid/sand/explored)
"SV" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/asteroid/whitesands/dried{
light_range = 2
},
@@ -1273,7 +1273,7 @@
/area/ruin)
"Xa" = (
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/wood,
/area/ruin)
"Xb" = (
diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm
index 219fc7a6b6b6..17a16c3fffc6 100644
--- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm
+++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm
@@ -133,7 +133,7 @@
/area/ruin/whitesands/saloon)
"eq" = (
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/directional/west,
/turf/open/floor/wood,
@@ -220,7 +220,7 @@
/area/ruin/whitesands/saloon)
"ge" = (
/obj/structure/closet/cabinet,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood{
icon_state = "wood-broken5"
@@ -426,7 +426,7 @@
/area/ruin/whitesands/saloon)
"lg" = (
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/wood,
/area/ruin/whitesands/saloon)
"lB" = (
@@ -444,7 +444,7 @@
/area/ruin/whitesands/saloon)
"lI" = (
/obj/structure/table/wood/poker,
-/obj/effect/spawner/lootdrop/gambling,
+/obj/effect/spawner/random/entertainment/gambling,
/turf/open/floor/carpet,
/area/ruin/whitesands/saloon)
"lV" = (
@@ -645,7 +645,7 @@
/area/ruin/whitesands/saloon)
"sj" = (
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/chair/stool/bar,
/turf/open/floor/wood,
/area/ruin/whitesands/saloon)
@@ -848,7 +848,7 @@
/area/ruin/whitesands/saloon)
"zv" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood{
icon_state = "wood-broken5"
},
@@ -1025,7 +1025,7 @@
/area/ruin/whitesands/saloon)
"EV" = (
/obj/structure/closet/cabinet,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt,
/obj/item/gun/energy/plasmacutter{
icon_state = "pulse_carbine";
@@ -1355,7 +1355,7 @@
/area/ruin/whitesands/saloon)
"Pi" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/whitesands/saloon)
"Px" = (
@@ -1590,7 +1590,7 @@
/area/ruin/whitesands/saloon)
"Wl" = (
/obj/structure/closet/cabinet,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/wood,
/area/ruin/whitesands/saloon)
"WP" = (
diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm
index 7ae333dcd541..60dfc9186132 100644
--- a/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm
+++ b/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm
@@ -751,7 +751,7 @@
/turf/open/floor/plasteel/dark,
/area/ruin/powered)
"uu" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/corner/transparent/neutral{
dir = 1
},
@@ -760,7 +760,7 @@
/turf/open/floor/plasteel/dark,
/area/ruin/powered)
"uz" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/corner/transparent/neutral{
dir = 1
},
@@ -848,7 +848,7 @@
},
/obj/effect/turf_decal/corner/transparent/neutral,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/dark,
/area/ruin/powered)
"xd" = (
@@ -1210,7 +1210,7 @@
/area/ruin/powered)
"KU" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/effect/turf_decal/corner/transparent/neutral{
dir = 1
},
diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm
index 6906e1dd2bed..5cfb5e8eb771 100644
--- a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm
+++ b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm
@@ -225,8 +225,8 @@
/obj/effect/turf_decal/industrial/warning{
dir = 1
},
-/obj/effect/spawner/lootdrop/maintenance/five,
-/obj/effect/spawner/lootdrop/maintenance/five,
+/obj/effect/spawner/random/maintenance/five,
+/obj/effect/spawner/random/maintenance/five,
/turf/open/floor/plasteel,
/area/ruin/whitesands/pubbycrash)
"fO" = (
@@ -405,7 +405,7 @@
dir = 8;
name = "engine fuel pump"
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/tech,
/area/ruin/whitesands/pubbycrash/engine_room)
"jt" = (
@@ -502,7 +502,7 @@
"ln" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/emcloset/wall/directional/south,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/tech/grid,
/area/ruin/whitesands/pubbycrash/engine_room)
"ly" = (
@@ -530,7 +530,7 @@
name = "engine fuel pump"
},
/obj/machinery/light/small/directional/north,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/stack/sheet/mineral/wood/fifty,
/obj/structure/closet/crate,
/turf/open/floor/plasteel/tech,
@@ -622,7 +622,7 @@
/area/ruin/whitesands/pubbycrash)
"nP" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/engine,
/area/ruin/whitesands/pubbycrash)
"nQ" = (
@@ -780,7 +780,7 @@
/obj/structure/cable{
icon_state = "0-4"
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/tech,
/area/ruin/whitesands/pubbycrash/engine_room)
"rT" = (
@@ -931,7 +931,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/engine,
/area/ruin/whitesands/pubbycrash)
"vL" = (
@@ -972,7 +972,7 @@
/obj/structure/sign/poster/official/random{
pixel_x = 32
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/dark,
/area/ruin/whitesands/pubbycrash)
@@ -1063,7 +1063,7 @@
/obj/structure/table,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/industrial/warning/corner,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/tech,
/area/ruin/whitesands/pubbycrash/engine_room)
"xX" = (
@@ -1792,7 +1792,7 @@
/obj/structure/sign/poster/retro/nanotrasen_logo_70s{
pixel_x = -32
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/ruin/whitesands/pubbycrash/engine_room)
"KT" = (
@@ -2003,7 +2003,7 @@
},
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/cable/yellow,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/tech,
/area/ruin/whitesands/pubbycrash/engine_room)
"PA" = (
@@ -2118,7 +2118,7 @@
/turf/open/floor/plasteel/tech/techmaint,
/area/ruin/whitesands/pubbycrash/engine_room)
"RC" = (
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/stack/ore/salvage/scraptitanium,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/engine,
@@ -2292,7 +2292,7 @@
/obj/structure/sign/number/two,
/obj/item/stack/ore/salvage/scrapmetal,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/engine,
/area/ruin/whitesands/pubbycrash)
"Wo" = (
diff --git a/_maps/RandomRuins/SpaceRuins/astraeus.dmm b/_maps/RandomRuins/SpaceRuins/astraeus.dmm
index 2c62420cef30..e790766a2a94 100644
--- a/_maps/RandomRuins/SpaceRuins/astraeus.dmm
+++ b/_maps/RandomRuins/SpaceRuins/astraeus.dmm
@@ -101,7 +101,7 @@
/turf/open/space,
/area/space/nearstation)
"dx" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/airless,
/area/ruin/space/has_grav/astraeus/hallway)
"dA" = (
@@ -326,7 +326,7 @@
/turf/open/space,
/area/space/nearstation)
"jd" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/astraeus/disposals)
"je" = (
@@ -349,7 +349,7 @@
/obj/machinery/conveyor{
dir = 6
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/astraeus/disposals)
"jT" = (
@@ -556,7 +556,7 @@
/area/ruin/space/has_grav/astraeus/bridge)
"pT" = (
/obj/item/stack/conveyor,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/astraeus/disposals)
"pU" = (
@@ -621,7 +621,7 @@
dir = 5
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/dark/airless,
/area/ruin/space/has_grav/astraeus/bridge)
"rk" = (
@@ -675,7 +675,7 @@
/turf/open/floor/plasteel/airless,
/area/ruin/space/has_grav/astraeus/hallway)
"sL" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/airless,
/area/ruin/space/has_grav/astraeus/dorms_med)
"sR" = (
@@ -731,8 +731,8 @@
"uH" = (
/obj/effect/turf_decal/industrial/hatch/yellow,
/obj/structure/closet,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
+/obj/effect/spawner/random/maintenance{
+ spawn_loot_count = 2;
name = "2maintenance loot spawner"
},
/turf/open/floor/plasteel/airless,
@@ -800,7 +800,7 @@
/obj/machinery/conveyor{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/airless,
/area/ruin/space/has_grav/astraeus/munitions)
"wl" = (
@@ -1374,7 +1374,7 @@
/obj/machinery/conveyor/inverted{
dir = 9
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/astraeus/disposals)
"KD" = (
@@ -1560,7 +1560,7 @@
/obj/machinery/power/apc/auto_name/directional/east{
start_charge = 0
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/airless,
/area/ruin/space/has_grav/astraeus/munitions)
"Pd" = (
@@ -1734,7 +1734,7 @@
/turf/open/floor/plating/asteroid/airless,
/area/ruin/unpowered)
"UK" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/astraeus/hallway)
"UU" = (
diff --git a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm
index a2cb21cd1c1c..956466fc4be0 100644
--- a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm
+++ b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm
@@ -462,7 +462,7 @@
/area/ruin/space/has_grav/corporatemine/bridge)
"kZ" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{
dir = 4
},
@@ -812,7 +812,7 @@
/obj/effect/decal/cleanable/oil/slippery,
/obj/structure/closet/crate,
/obj/effect/turf_decal/industrial/outline,
-/obj/effect/spawner/lootdrop/materials,
+/obj/effect/spawner/random/materials,
/turf/open/floor/plasteel/tech/grid,
/area/ruin/space/has_grav/corporatemine/hall)
"sb" = (
@@ -1590,8 +1590,8 @@
"IF" = (
/obj/structure/closet/crate,
/obj/effect/turf_decal/industrial/outline,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plasteel/tech/grid,
/area/ruin/space/has_grav/corporatemine/hall)
"IS" = (
@@ -1774,7 +1774,7 @@
"NH" = (
/obj/structure/closet/crate,
/obj/effect/turf_decal/industrial/outline,
-/obj/effect/spawner/lootdrop/materials,
+/obj/effect/spawner/random/materials,
/turf/open/floor/plasteel/tech/grid,
/area/ruin/space/has_grav/corporatemine/hall)
"NO" = (
@@ -2293,7 +2293,7 @@
/area/ruin/space/has_grav/corporatemine/crewquarters)
"ZU" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{
dir = 8
},
diff --git a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm
index e02a7e328b28..c052a6f0cd04 100644
--- a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm
+++ b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm
@@ -3,7 +3,7 @@
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
/obj/effect/turf_decal/corner/transparent/grey/diagonal,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle)
"ae" = (
@@ -365,9 +365,9 @@
/area/ruin/space/has_grav/powerpuzzle)
"br" = (
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/cobweb,
-/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears,
+/obj/effect/spawner/random/clothing/kittyears_or_rabbitears,
/obj/effect/turf_decal/corner/transparent/grey/diagonal,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle)
@@ -695,14 +695,14 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/powerpuzzle)
"cB" = (
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/generic,
/obj/effect/turf_decal/corner/transparent/grey/diagonal,
/obj/structure/closet/crate/secure,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle)
"cD" = (
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/obj/effect/decal/cleanable/glass,
/obj/effect/turf_decal/industrial/warning{
dir = 8
@@ -797,7 +797,7 @@
/obj/effect/decal/cleanable/greenglow,
/obj/item/stack/ore/salvage/scrapuranium,
/obj/item/bodypart/l_arm/robot,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/assembly/prox_sensor,
/obj/item/stack/ore/salvage/scrapuranium{
pixel_x = -4;
@@ -1116,7 +1116,7 @@
/area/ruin/space/has_grav/powerpuzzle)
"gM" = (
/obj/effect/turf_decal/corner/transparent/grey/diagonal,
-/obj/effect/spawner/lootdrop/maintenance/six,
+/obj/effect/spawner/random/maintenance/six,
/obj/structure/closet/crate/secure,
/obj/machinery/light/dim/directional/north,
/turf/open/floor/plasteel/dark,
@@ -1478,7 +1478,7 @@
pixel_x = 2;
pixel_y = 4
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/machinery/light/broken/directional/south,
/obj/item/poster/random_official,
/obj/item/poster/random_official,
@@ -1677,7 +1677,7 @@
/obj/structure/railing/corner{
dir = 1
},
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/powerpuzzle)
"rI" = (
@@ -1838,7 +1838,7 @@
/obj/structure/railing,
/obj/effect/turf_decal/corner/transparent/grey/diagonal,
/obj/item/stack/ore/salvage/scrapuranium/five,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/structure/closet/crate/engineering,
/obj/effect/turf_decal/box,
/turf/open/floor/plasteel/dark,
@@ -1850,8 +1850,8 @@
/obj/item/reagent_containers/food/drinks/waterbottle/empty,
/obj/item/reagent_containers/food/drinks/waterbottle/empty,
/obj/item/reagent_containers/food/drinks/waterbottle,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/snacks/sosjerky,
/obj/item/reagent_containers/food/snacks/sosjerky,
/obj/item/stack/medical/gauze/improvised,
@@ -2446,7 +2446,7 @@
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
/obj/effect/turf_decal/corner/transparent/grey/diagonal,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light/small/broken/directional/north,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle)
@@ -3273,7 +3273,7 @@
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
/obj/effect/turf_decal/corner/transparent/grey/diagonal,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light/small/broken/directional/south,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle)
@@ -3546,7 +3546,7 @@
dir = 4
},
/obj/structure/closet/crate/secure,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle)
"VV" = (
@@ -3589,7 +3589,7 @@
dir = 6
},
/obj/structure/table,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/structure/noticeboard{
pixel_x = -15;
pixel_y = 32
@@ -3647,7 +3647,7 @@
/obj/structure/railing{
dir = 6
},
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle/engineering)
"Xj" = (
@@ -3692,7 +3692,7 @@
dir = 5
},
/obj/structure/closet/crate/secure,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/powerpuzzle)
"Yr" = (
diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm
index 6b75031ae8ba..c5acb2629e09 100644
--- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm
@@ -708,7 +708,7 @@
/area/ruin/space/has_grav/spacemall/dorms)
"cO" = (
/obj/effect/turf_decal/box,
-/obj/effect/spawner/lootdrop/salvage_machine,
+/obj/effect/spawner/random/salvage_machine,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shuttle)
"cP" = (
@@ -1296,9 +1296,9 @@
"eS" = (
/obj/structure/rack,
/obj/effect/turf_decal/corner/transparent/black/diagonal,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
"eU" = (
@@ -1306,7 +1306,7 @@
pixel_y = -30
},
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/space/has_grav/spacemall/dorms)
"eV" = (
@@ -1323,7 +1323,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
"eX" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/corner/transparent/green/diagonal,
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 8
@@ -1391,7 +1391,7 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/stack/cable_coil/random/five,
-/obj/effect/spawner/lootdrop/techstorage/engineering,
+/obj/effect/spawner/random/techstorage/engineering,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/maint)
"fi" = (
@@ -1399,8 +1399,8 @@
dir = 2
},
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ruin/space/has_grav/spacemall/maint)
"fl" = (
@@ -1655,7 +1655,7 @@
/area/ruin/space/has_grav/spacemall/dorms)
"gu" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/effect/turf_decal/corner/transparent/black/diagonal,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
@@ -2516,9 +2516,9 @@
"jD" = (
/obj/effect/turf_decal/box,
/obj/structure/closet/crate/secure,
-/obj/effect/spawner/lootdrop/costume,
-/obj/effect/spawner/lootdrop/costume,
-/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/random/clothing/costume,
+/obj/effect/spawner/random/clothing/costume,
+/obj/effect/spawner/random/clothing/costume,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shuttle)
"jE" = (
@@ -3111,7 +3111,7 @@
/obj/effect/decal/cleanable/cobweb,
/obj/effect/turf_decal/box,
/obj/structure/closet/crate/wooden,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/maint)
"lR" = (
@@ -3255,7 +3255,7 @@
"mJ" = (
/obj/structure/rack,
/obj/machinery/light/small/directional/north,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ruin/space/has_grav/spacemall/maint)
"mK" = (
@@ -3638,7 +3638,7 @@
/area/ruin/space/has_grav/spacemall/dorms)
"ob" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/ruin/space/has_grav/spacemall/maint)
"od" = (
@@ -4048,7 +4048,7 @@
/area/ruin/space/has_grav/spacemall)
"pB" = (
/obj/effect/decal/cleanable/ash,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4,
/obj/structure/closet/crate,
/obj/structure/railing,
@@ -5749,7 +5749,7 @@
"vp" = (
/obj/structure/rack,
/obj/effect/turf_decal/corner/transparent/black/diagonal,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
"vs" = (
@@ -5866,7 +5866,7 @@
/area/ruin/space/has_grav/spacemall/shop2)
"vS" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/beaker_loot_spawner,
+/obj/effect/spawner/random/medical/beaker,
/obj/effect/turf_decal/corner/opaque/blue/diagonal,
/turf/open/floor/plasteel/white,
/area/ruin/space/has_grav/spacemall/shop2)
@@ -6451,8 +6451,8 @@
/obj/structure/closet/crate/secure,
/obj/effect/turf_decal/box,
/obj/structure/railing,
-/obj/effect/spawner/lootdrop/prison_contraband,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/exotic/prison_contraband,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/maint)
"yk" = (
@@ -6524,7 +6524,7 @@
/obj/structure/closet/crate/trashcart,
/obj/item/trash/popcorn,
/obj/item/trash/candy,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shuttle)
"yF" = (
@@ -6666,7 +6666,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shuttle)
"yZ" = (
@@ -6964,9 +6964,9 @@
"Ag" = (
/obj/structure/rack,
/obj/effect/turf_decal/corner/transparent/black/diagonal,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/random_computer_circuit_common,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/circuit/computer/common,
/obj/item/research_notes/loot,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
@@ -7269,9 +7269,9 @@
"Bq" = (
/obj/effect/turf_decal/box,
/obj/structure/closet/crate/secure,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shuttle)
"Bu" = (
@@ -7469,7 +7469,7 @@
dir = 10
},
/obj/structure/spider/stickyweb,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/maint)
"Cv" = (
@@ -7631,7 +7631,7 @@
/area/ruin/space/has_grav/spacemall)
"CR" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/decal/cleanable/blood,
/obj/item/reagent_containers/food/snacks/spiderling{
pixel_y = 5;
@@ -8230,9 +8230,9 @@
/turf/open/floor/eighties,
/area/ruin/space/has_grav/spacemall/shop2)
"EI" = (
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/ruin/space/has_grav/spacemall/maint)
"EJ" = (
@@ -9438,7 +9438,7 @@
/area/ruin/space/has_grav/spacemall)
"JE" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ruin/space/has_grav/spacemall/dorms)
"JF" = (
@@ -9569,7 +9569,7 @@
"Kl" = (
/obj/effect/decal/cleanable/robot_debris/old,
/obj/structure/closet/crate/wooden,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/maint)
"Kn" = (
@@ -9999,9 +9999,9 @@
"LS" = (
/obj/structure/rack,
/obj/effect/turf_decal/corner/transparent/black/diagonal,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/random_computer_circuit_common,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/circuit/computer/common,
/obj/machinery/firealarm/directional/north,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
@@ -10056,9 +10056,9 @@
/area/ruin/space/has_grav/spacemall/dorms)
"Mb" = (
/obj/effect/decal/cleanable/greenglow,
-/obj/effect/spawner/lootdrop/random_prosthetic,
-/obj/effect/spawner/lootdrop/memeorgans,
-/obj/effect/spawner/lootdrop/memeorgans,
+/obj/effect/spawner/random/medical/prosthetic,
+/obj/effect/spawner/random/medical/memeorgans,
+/obj/effect/spawner/random/medical/memeorgans,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{
dir = 4
},
@@ -11266,7 +11266,7 @@
/area/ruin/space/has_grav/spacemall)
"Qf" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/tool_engie_common,
+/obj/effect/spawner/random/engineering/tool/common,
/obj/effect/turf_decal/corner/transparent/black/diagonal,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
@@ -11297,7 +11297,7 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/spacemall/maint)
"Qn" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/corner/transparent/green/diagonal,
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 8
@@ -11311,7 +11311,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/maint)
"Qu" = (
@@ -11865,7 +11865,7 @@
/area/ruin/space/has_grav/spacemall/maint)
"SD" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/item/toy/plush/slimeplushie{
pixel_y = -4;
pixel_x = 4
@@ -12218,7 +12218,7 @@
/obj/structure/rack,
/obj/effect/turf_decal/corner/transparent/black/diagonal,
/obj/machinery/light/directional/east,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shop)
"TZ" = (
@@ -12290,10 +12290,10 @@
"Ul" = (
/obj/effect/turf_decal/box,
/obj/structure/closet/crate/engineering/electrical,
-/obj/effect/spawner/lootdrop/techstorage,
-/obj/effect/spawner/lootdrop/techstorage,
-/obj/effect/spawner/lootdrop/stockparts,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/techstorage,
+/obj/effect/spawner/random/techstorage,
+/obj/effect/spawner/random/stockparts,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/spacemall/shuttle)
"Um" = (
@@ -12606,7 +12606,7 @@
},
/obj/structure/closet/crate,
/obj/structure/catwalk/over/plated_catwalk,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/ruin/space/has_grav/spacemall/maint)
"Vr" = (
@@ -12655,8 +12655,8 @@
"VA" = (
/obj/structure/rack,
/obj/structure/window/reinforced/spawner,
-/obj/effect/spawner/lootdrop/beaker_loot_spawner,
-/obj/effect/spawner/lootdrop/beaker_loot_spawner,
+/obj/effect/spawner/random/medical/beaker,
+/obj/effect/spawner/random/medical/beaker,
/obj/effect/turf_decal/corner/opaque/blue/diagonal,
/obj/item/clothing/neck/stethoscope,
/turf/open/floor/plasteel/white,
@@ -13459,7 +13459,7 @@
dir = 2
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/turf_decal/box,
/turf/open/floor/plating,
/area/ruin/space/has_grav/spacemall/maint)
diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm
index e1a64004decb..50d9986ea756 100644
--- a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm
+++ b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm
@@ -612,7 +612,7 @@
/area/ruin/wasteplanet/abandoned_mechbay/mainhall)
"fX" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/machinery/light/dim/directional/south,
/turf/open/floor/plasteel/dark,
/area/ruin/wasteplanet/abandoned_mechbay/bay2)
@@ -1084,8 +1084,8 @@
/obj/effect/turf_decal/industrial/outline/yellow,
/obj/item/mop,
/obj/item/reagent_containers/glass/bucket,
-/obj/effect/spawner/lootdrop/maintenance/two,
-/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/random/maintenance/two,
+/obj/effect/spawner/random/clothing/costume,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/tech/grid,
/area/ruin/wasteplanet/abandoned_mechbay/crewquarters)
@@ -1445,7 +1445,7 @@
"qH" = (
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/six,
+/obj/effect/spawner/random/maintenance/six,
/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill,
/turf/open/floor/plasteel/dark,
/area/ruin/wasteplanet/abandoned_mechbay/bay2)
@@ -2278,7 +2278,7 @@
/area/ruin/wasteplanet/abandoned_mechbay/mainhall)
"Bg" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/effect/turf_decal/box/white,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plasteel/tech/grid,
@@ -2360,13 +2360,13 @@
/area/ruin/wasteplanet/abandoned_mechbay/bay2)
"BF" = (
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/effect/turf_decal/industrial/outline/yellow,
/obj/machinery/light/small/directional/north,
/obj/effect/decal/cleanable/food/salt,
@@ -2411,7 +2411,7 @@
"Cp" = (
/obj/structure/table,
/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/effect/spawner/lootdrop/materials,
+/obj/effect/spawner/random/materials,
/obj/item/stack/sheet/metal/fifty,
/obj/item/stack/sheet/glass/twenty,
/turf/open/floor/plasteel/tech/grid,
@@ -3424,7 +3424,7 @@
/area/overmap_encounter/planetoid/cave/explored)
"Oj" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
+/obj/effect/spawner/random/clothing/pirate_or_bandana,
/turf/open/floor/plasteel,
/area/ruin/wasteplanet/abandoned_mechbay/crewquarters)
"Om" = (
@@ -3933,7 +3933,7 @@
"Vx" = (
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill,
/turf/open/floor/plasteel/dark,
/area/ruin/wasteplanet/abandoned_mechbay/bay2)
diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm
index dba9f5e3c3c9..bdfc9c75a4a1 100644
--- a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm
+++ b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm
@@ -699,7 +699,7 @@
/turf/open/floor/plating/rust,
/area/ruin/powered)
"HW" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/turf/open/floor/plating,
/area/ruin/powered)
"Ie" = (
diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm
index c865138fb568..83c587268b34 100644
--- a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm
+++ b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm
@@ -1806,10 +1806,10 @@
/obj/effect/turf_decal/industrial/warning/full,
/obj/structure/closet/crate,
/obj/machinery/light/small/broken/directional/south,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/pod/dark,
/area/ruin/wasteplanet/tradepost/warehouse)
"ug" = (
diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm
index a53934c91013..e3e0c20ef75f 100644
--- a/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm
+++ b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm
@@ -152,10 +152,10 @@
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/effect/turf_decal/industrial/hatch/yellow,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/wasteplanet,
/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship)
"bB" = (
@@ -1542,10 +1542,10 @@
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/machinery/light/small/broken/directional/south,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/wasteplanet,
/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship)
"rd" = (
@@ -1965,8 +1965,8 @@
/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen)
"wc" = (
/obj/structure/closet/secure_closet/freezer/fridge,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/machinery/light/small/directional/west,
/obj/effect/turf_decal/corner/transparent/neutral/mono,
/obj/effect/turf_decal/corner/transparent/blue/border{
@@ -4045,7 +4045,7 @@
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/effect/turf_decal/industrial/hatch/yellow,
/obj/machinery/light/small/broken/directional/west,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/wasteplanet,
/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship)
"Zy" = (
diff --git a/_maps/outpost/hangar/nt_asteroid_40x20.dmm b/_maps/outpost/hangar/nt_asteroid_40x20.dmm
index 312e0443aeea..ab49a101ee1e 100644
--- a/_maps/outpost/hangar/nt_asteroid_40x20.dmm
+++ b/_maps/outpost/hangar/nt_asteroid_40x20.dmm
@@ -383,7 +383,7 @@
},
/area/hangar)
"kU" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/stack/sheet/mineral/wood{
pixel_x = -6
},
@@ -392,7 +392,7 @@
pixel_y = 7
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/stack/sheet/mineral/wood{
pixel_x = -6
},
@@ -861,7 +861,7 @@
},
/area/hangar)
"vh" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/structure/catwalk/over/plated_catwalk,
/turf/open/floor/plating{
planetary_atmos = 1
diff --git a/_maps/outpost/hangar/nt_asteroid_40x40.dmm b/_maps/outpost/hangar/nt_asteroid_40x40.dmm
index 005b657e38ee..eab944babc1c 100644
--- a/_maps/outpost/hangar/nt_asteroid_40x40.dmm
+++ b/_maps/outpost/hangar/nt_asteroid_40x40.dmm
@@ -1070,10 +1070,7 @@
/area/hangar)
"NE" = (
/obj/structure/catwalk/over/plated_catwalk,
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_x = 5;
- pixel_y = 9
- },
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plating{
planetary_atmos = 1
},
@@ -1333,7 +1330,7 @@
/obj/structure/catwalk/over/plated_catwalk,
/obj/item/stack/cable_coil/cut/yellow,
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating{
icon_state = "panelscorched";
planetary_atmos = 1
diff --git a/_maps/outpost/hangar/nt_asteroid_56x20.dmm b/_maps/outpost/hangar/nt_asteroid_56x20.dmm
index 11ba5baac070..070f2a949044 100644
--- a/_maps/outpost/hangar/nt_asteroid_56x20.dmm
+++ b/_maps/outpost/hangar/nt_asteroid_56x20.dmm
@@ -106,7 +106,7 @@
/area/hangar)
"cz" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating{
planetary_atmos = 1
},
@@ -1024,8 +1024,8 @@
/area/hangar)
"MI" = (
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/machinery/light/directional/east,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/dark{
@@ -1254,10 +1254,7 @@
/area/hangar)
"Wp" = (
/obj/structure/catwalk/over/plated_catwalk,
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_x = 5;
- pixel_y = 9
- },
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plating{
icon_state = "panelscorched";
planetary_atmos = 1
diff --git a/_maps/outpost/hangar/nt_asteroid_56x40.dmm b/_maps/outpost/hangar/nt_asteroid_56x40.dmm
index 5d66d8966d0b..020ab48b8d9f 100644
--- a/_maps/outpost/hangar/nt_asteroid_56x40.dmm
+++ b/_maps/outpost/hangar/nt_asteroid_56x40.dmm
@@ -277,8 +277,8 @@
/area/hangar)
"lZ" = (
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/machinery/light/directional/east,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/dark{
@@ -806,7 +806,7 @@
/area/hangar)
"Hs" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating{
planetary_atmos = 1
},
@@ -963,10 +963,7 @@
/area/hangar)
"KT" = (
/obj/structure/catwalk/over/plated_catwalk,
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_x = 5;
- pixel_y = 9
- },
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plating{
icon_state = "panelscorched";
planetary_atmos = 1
diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm
index 86a2a8d102b1..b10b86822c8c 100644
--- a/_maps/outpost/indie_space.dmm
+++ b/_maps/outpost/indie_space.dmm
@@ -113,7 +113,7 @@
/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{
dir = 8
},
-/obj/effect/spawner/lootdrop/plushie{
+/obj/effect/spawner/random/entertainment/plushie{
pixel_x = 16;
pixel_y = 4
},
@@ -270,7 +270,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 10
},
-/obj/effect/spawner/lootdrop/salvage/metal,
+/obj/effect/spawner/random/salvage/metal,
/turf/open/floor/plasteel/tech/techmaint,
/area/outpost/maintenance/central)
"bL" = (
@@ -287,7 +287,7 @@
/turf/open/floor/plasteel,
/area/outpost/hallway/port)
"bS" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/turf_decal/corner_techfloor_grid{
dir = 8
},
@@ -346,7 +346,7 @@
/turf/open/floor/plasteel,
/area/outpost/hallway/central)
"ci" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -481,7 +481,7 @@
/turf/open/floor/plasteel,
/area/outpost/vacant_rooms)
"dl" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/turf_decal/steeldecal/steel_decals7{
dir = 9
},
@@ -958,7 +958,7 @@
/turf/open/floor/plasteel/mono,
/area/outpost/vacant_rooms)
"gz" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/item/radio/intercom/directional/east,
/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{
dir = 1
@@ -1001,7 +1001,7 @@
/turf/open/floor/plating,
/area/outpost/maintenance/central)
"gS" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"gT" = (
@@ -1078,7 +1078,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 8
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/outpost/maintenance/central)
"hz" = (
@@ -1126,8 +1126,8 @@
/area/outpost/hallway/port)
"hK" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/salvage_laser,
-/obj/effect/spawner/lootdrop/salvage_capacitor,
+/obj/effect/spawner/random/salvage_laser,
+/obj/effect/spawner/random/salvage_capacitor,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"hM" = (
@@ -1188,7 +1188,7 @@
/area/outpost/maintenance/central)
"hZ" = (
/obj/structure/table/wood,
-/obj/effect/spawner/lootdrop/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
/turf/open/floor/wood,
/area/outpost/crew/bar)
"ib" = (
@@ -1269,7 +1269,7 @@
/turf/open/floor/wood,
/area/outpost/crew/library)
"iD" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"iG" = (
@@ -1350,7 +1350,7 @@
/area/outpost/crew/bar)
"jn" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/outpost/maintenance/central)
@@ -1430,7 +1430,7 @@
/turf/open/floor/plasteel/tech,
/area/outpost/hallway/central)
"jM" = (
-/obj/effect/spawner/lootdrop/chicken,
+/obj/effect/spawner/random/chicken,
/turf/open/floor/ship/dirt,
/area/outpost/hallway/port)
"jO" = (
@@ -1703,7 +1703,7 @@
/area/outpost/maintenance/central)
"lA" = (
/obj/structure/flora/grass/jungle,
-/obj/effect/spawner/lootdrop/chicken,
+/obj/effect/spawner/random/chicken,
/turf/open/floor/grass/ship/jungle,
/area/outpost/hallway/central)
"lB" = (
@@ -1858,7 +1858,7 @@
/area/outpost/hallway/central)
"mv" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears,
+/obj/effect/spawner/random/clothing/kittyears_or_rabbitears,
/obj/effect/decal/cleanable/wrapping,
/turf/open/floor/plasteel/mono,
/area/outpost/vacant_rooms)
@@ -2597,8 +2597,8 @@
/area/outpost/maintenance/fore)
"rp" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/maintenance/seven,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/maintenance/seven,
/turf/open/floor/plasteel/mono,
/area/outpost/vacant_rooms)
"rr" = (
@@ -2670,7 +2670,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -2782,7 +2782,7 @@
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 5
},
@@ -2988,9 +2988,9 @@
/area/outpost/crew/library)
"ta" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask,
+/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/gloves,
+/obj/effect/spawner/random/clothing/gloves,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/mono,
/area/outpost/storage)
@@ -3160,7 +3160,7 @@
/area/outpost/cargo)
"tS" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"tT" = (
@@ -3324,7 +3324,7 @@
/turf/open/floor/ship/dirt,
/area/outpost/hallway/central)
"uE" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
@@ -3791,7 +3791,7 @@
/turf/open/floor/plasteel,
/area/outpost/hallway/port)
"xu" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
@@ -3884,7 +3884,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"xZ" = (
@@ -3968,7 +3968,7 @@
/area/outpost/crew/bar)
"yN" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plasteel/mono,
/area/outpost/vacant_rooms)
"yQ" = (
@@ -4155,7 +4155,7 @@
/turf/open/floor/plating/asteroid,
/area/outpost/external)
"zS" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/plating,
/area/outpost/maintenance/central)
"zY" = (
@@ -4208,7 +4208,7 @@
/turf/open/floor/plasteel/tech,
/area/outpost/maintenance/fore)
"Am" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{
dir = 8
},
@@ -4858,8 +4858,8 @@
/area/outpost/hallway/port)
"DH" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/minor/bowler_or_that,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/clothing/bowler_or_that,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/mono,
/area/outpost/storage)
"DI" = (
@@ -4912,7 +4912,7 @@
/obj/effect/turf_decal/corner_techfloor_gray{
dir = 9
},
-/obj/effect/spawner/lootdrop/salvage/metal,
+/obj/effect/spawner/random/salvage/metal,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/tech/techmaint,
/area/outpost/maintenance/fore)
@@ -4984,7 +4984,7 @@
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"ER" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/outpost/maintenance/central)
"EV" = (
@@ -4995,7 +4995,7 @@
/area/outpost/crew/bar)
"EX" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"Fa" = (
@@ -5189,7 +5189,7 @@
/turf/open/floor/plasteel/patterned/cargo_one,
/area/outpost/vacant_rooms/office)
"Gj" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/structure/cable/yellow{
icon_state = "4-8"
},
@@ -5222,7 +5222,7 @@
/area/outpost/external)
"Gn" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/minor/bowler_or_that,
+/obj/effect/spawner/random/clothing/bowler_or_that,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"Gu" = (
@@ -5394,7 +5394,7 @@
/area/outpost/hallway/central)
"Hk" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears,
+/obj/effect/spawner/random/clothing/beret_or_rabbitears,
/obj/machinery/light/dim/directional/west,
/turf/open/floor/plasteel/mono,
/area/outpost/storage)
@@ -5853,7 +5853,7 @@
/area/outpost/cargo/office)
"JV" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
+/obj/effect/spawner/random/clothing/pirate_or_bandana,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/mono,
@@ -6213,8 +6213,8 @@
/turf/open/floor/wood,
/area/outpost/crew/library)
"LR" = (
-/obj/effect/spawner/lootdrop/tool_engie_common,
-/obj/effect/spawner/lootdrop/tool_engie_common,
+/obj/effect/spawner/random/engineering/tool/common,
+/obj/effect/spawner/random/engineering/tool/common,
/obj/structure/rack,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
@@ -6454,7 +6454,7 @@
/area/outpost/cargo/office)
"No" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/donut/jelly,
+/obj/effect/spawner/random/food_or_drink/donut/jelly,
/obj/effect/turf_decal/floordetail/tiled,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/outpost/security)
@@ -6531,7 +6531,7 @@
/obj/structure/table/wood,
/obj/effect/decal/cleanable/dirt,
/obj/item/reagent_containers/food/snacks/grown/citrus/orange,
-/obj/effect/spawner/lootdrop/salvage_capacitor,
+/obj/effect/spawner/random/salvage_capacitor,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"NV" = (
@@ -6718,7 +6718,7 @@
/area/outpost/crew/cryo)
"Pw" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/outpost/vacant_rooms/office)
"Px" = (
@@ -6914,8 +6914,8 @@
/area/outpost/maintenance/fore)
"Qx" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/minor/bowler_or_that,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/clothing/bowler_or_that,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/mono,
/area/outpost/storage)
"QA" = (
@@ -7079,7 +7079,7 @@
/obj/structure/cable/yellow{
icon_state = "4-6"
},
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/turf_decal/corner_techfloor_gray{
dir = 10
},
@@ -7166,7 +7166,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"RJ" = (
@@ -7390,8 +7390,8 @@
/area/outpost/hallway/port)
"SW" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/mono,
/area/outpost/vacant_rooms)
"SY" = (
@@ -7400,7 +7400,7 @@
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"Ta" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/oil,
/obj/effect/turf_decal/steeldecal/steel_decals9,
/turf/open/floor/plating,
@@ -7556,7 +7556,7 @@
/obj/effect/turf_decal/corner_techfloor_gray{
dir = 9
},
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/tech/techmaint,
/area/outpost/maintenance/fore)
@@ -7608,7 +7608,7 @@
/turf/open/floor/plating,
/area/outpost/maintenance/central)
"Uq" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/tech/techmaint,
/area/outpost/hallway/port)
"Us" = (
@@ -7618,7 +7618,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -7789,7 +7789,7 @@
},
/obj/item/bedsheet/double/captain,
/obj/effect/decal/cleanable/greenglow,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/head/papersack/smiley{
pixel_x = 7
@@ -7897,7 +7897,7 @@
/turf/open/floor/carpet/green,
/area/outpost/crew/bar)
"Wa" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/mouse/brown,
/turf/open/floor/plating,
@@ -8004,7 +8004,7 @@
/turf/open/floor/plasteel,
/area/outpost/hallway/central)
"WO" = (
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"WR" = (
@@ -8029,7 +8029,7 @@
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"WV" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{
dir = 1
},
@@ -8161,7 +8161,7 @@
/area/outpost/hallway/port)
"XA" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/five,
+/obj/effect/spawner/random/maintenance/five,
/turf/open/floor/plasteel/mono,
/area/outpost/vacant_rooms)
"XD" = (
@@ -8332,7 +8332,7 @@
/turf/open/floor/plasteel/patterned,
/area/outpost/cargo)
"YC" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/structure/rack,
/obj/effect/turf_decal/steeldecal/steel_decals_central2{
dir = 4
@@ -8528,8 +8528,8 @@
/area/outpost/hallway/central)
"ZP" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/tool_surgery_common,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/medical/surgery_tool/common,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/outpost/vacant_rooms/office)
"ZU" = (
diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm
index d5af45bfef2d..179aa234e780 100644
--- a/_maps/outpost/nanotrasen_asteroid.dmm
+++ b/_maps/outpost/nanotrasen_asteroid.dmm
@@ -63,7 +63,7 @@
/area/outpost/hallway/starboard)
"aw" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/machinery/light/small/broken/directional/south,
/turf/open/floor/plating/rust,
/area/outpost/maintenance/aft)
@@ -951,7 +951,7 @@
dir = 8
},
/obj/effect/turf_decal/box/corners,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/concrete/slab_1,
/area/outpost/hallway/central)
"dF" = (
@@ -1678,7 +1678,7 @@
dir = 8
},
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/paper/crumpled,
/turf/open/floor/concrete/slab_1,
/area/outpost/hallway/central)
@@ -1911,7 +1911,7 @@
/turf/closed/mineral/random/snow,
/area/outpost/crew/cryo)
"hd" = (
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/outpost/maintenance/aft)
"he" = (
@@ -2178,7 +2178,7 @@
/area/outpost/crew/bar)
"im" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/structure/grille/broken,
/turf/open/floor/plating{
icon_state = "foam_plating"
@@ -2337,7 +2337,7 @@
/area/outpost/vacant_rooms)
"iW" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/structure/sign/poster/contraband/random{
pixel_x = 32;
pixel_y = -32
@@ -5481,7 +5481,7 @@
/turf/open/floor/plasteel/dark,
/area/outpost/operations)
"tD" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/structure/catwalk/over/plated_catwalk,
/turf/open/floor/plating{
icon_state = "panelscorched"
@@ -6814,7 +6814,7 @@
"xV" = (
/obj/machinery/light/dim/directional/south,
/obj/structure/closet/cardboard,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"xW" = (
@@ -6990,7 +6990,7 @@
},
/area/outpost/maintenance/fore)
"yE" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating{
icon_state = "platingdmg1"
},
@@ -7386,7 +7386,7 @@
/area/outpost/engineering/atmospherics)
"zY" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/rust,
/area/outpost/maintenance/aft)
"zZ" = (
@@ -7614,7 +7614,7 @@
icon_state = "box_corners";
dir = 8
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/machinery/airalarm/directional/west,
/turf/open/floor/concrete/slab_1,
/area/outpost/hallway/central)
@@ -7899,7 +7899,7 @@
"BI" = (
/obj/machinery/door/window/brigdoor/southright,
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/concrete/tiles,
/area/outpost/hallway/central)
"BJ" = (
@@ -10357,7 +10357,7 @@
/obj/effect/turf_decal/box/corners{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/concrete/slab_1,
/area/outpost/hallway/central)
"Kj" = (
@@ -10560,7 +10560,7 @@
/area/outpost/hallway/starboard)
"KW" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/outpost/maintenance/aft)
"KX" = (
@@ -11767,7 +11767,7 @@
"Pb" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/item/stack/sheet/mineral/wood{
pixel_x = -6
},
@@ -12080,7 +12080,7 @@
/obj/effect/turf_decal/box/corners{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/paperplane,
/obj/item/radio/intercom/directional/south,
/obj/machinery/firealarm/directional/south,
@@ -12344,7 +12344,7 @@
"Ra" = (
/obj/structure/table/wood,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"Rc" = (
@@ -12447,7 +12447,7 @@
/area/outpost/maintenance/aft)
"Ru" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -12633,7 +12633,7 @@
"RZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/stack/rods/ten{
pixel_x = 9
},
@@ -12648,7 +12648,7 @@
/area/outpost/crew/canteen)
"Sd" = (
/obj/structure/grille/broken,
-/obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
+/obj/effect/spawner/random/clothing/pirate_or_bandana,
/turf/open/floor/plating,
/area/outpost/maintenance/fore)
"Se" = (
@@ -12868,8 +12868,8 @@
"Tc" = (
/obj/structure/closet/crate/trashcart/laundry,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance/two,
-/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears,
+/obj/effect/spawner/random/maintenance/two,
+/obj/effect/spawner/random/clothing/kittyears_or_rabbitears,
/obj/structure/grille/broken,
/obj/effect/turf_decal/box/white,
/turf/open/floor/plating{
@@ -13743,7 +13743,7 @@
/area/outpost/hallway/central)
"Wj" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/concrete/slab_1,
/area/outpost/hallway/central)
"Wn" = (
@@ -14038,7 +14038,7 @@
/obj/structure/railing{
layer = 3.1
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/item/trash/can{
pixel_x = -8;
pixel_y = -6
diff --git a/_maps/outpost/nanotrasen_ice.dmm b/_maps/outpost/nanotrasen_ice.dmm
index 70fb809c4c95..cfd32ad951ae 100644
--- a/_maps/outpost/nanotrasen_ice.dmm
+++ b/_maps/outpost/nanotrasen_ice.dmm
@@ -943,7 +943,7 @@
"gO" = (
/obj/effect/turf_decal/industrial/outline/yellow,
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/structure/sign/poster/retro/random{
pixel_x = -32
},
@@ -1168,7 +1168,7 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/rack,
/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/plasteel/tech,
/area/outpost/vacant_rooms/shop)
"iH" = (
@@ -1809,7 +1809,7 @@
"mV" = (
/obj/structure/rack,
/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/tech,
/area/outpost/vacant_rooms/shop)
"na" = (
@@ -2177,7 +2177,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
/obj/structure/grille/broken,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/outpost/maintenance/starboard)
"oF" = (
@@ -3267,7 +3267,7 @@
/area/outpost/maintenance/fore)
"vn" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating{
@@ -3476,7 +3476,7 @@
/area/outpost/engineering/atmospherics)
"wD" = (
/obj/structure/grille/broken,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/structure/spider/stickyweb,
/obj/machinery/light/small/directional/east,
/turf/open/floor/plating/rust,
@@ -4002,7 +4002,7 @@
/obj/structure/flora/grass/both{
layer = 3.1
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/asteroid/snow/temperatre{
light_color = "#1B1D2E";
light_range = 2
@@ -4396,7 +4396,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/trash/sosjerky,
/obj/item/trash/can,
/turf/open/floor/plasteel/patterned/brushed{
@@ -4552,7 +4552,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/trashcart,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{
dir = 8
},
@@ -4840,7 +4840,7 @@
dir = 5
},
/obj/item/trash/chips,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/trash/candy,
/turf/open/floor/wood/walnut,
/area/outpost/crew/bar)
@@ -6062,7 +6062,7 @@
"PN" = (
/obj/structure/rack,
/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/tech,
/area/outpost/vacant_rooms/shop)
"PT" = (
@@ -7551,7 +7551,7 @@
/obj/structure/flora/grass/green{
layer = 3.1
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/asteroid/snow/temperatre{
light_color = "#1B1D2E";
light_range = 2
@@ -7688,7 +7688,7 @@
layer = 3.1
},
/obj/item/shard,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/asteroid/snow/temperatre{
light_color = "#1B1D2E";
light_range = 2
diff --git a/_maps/shuttles/independent/independent_beluga.dmm b/_maps/shuttles/independent/independent_beluga.dmm
index c283c0d21584..ddbcfba512b3 100644
--- a/_maps/shuttles/independent/independent_beluga.dmm
+++ b/_maps/shuttles/independent/independent_beluga.dmm
@@ -1090,7 +1090,7 @@
pixel_y = -32
},
/obj/item/storage/bag/tray,
-/obj/effect/spawner/lootdrop/ration{
+/obj/effect/spawner/random/food_or_drink/ration{
pixel_x = 6;
pixel_y = 6
},
@@ -2631,7 +2631,7 @@
"zh" = (
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light/directional/south,
/turf/open/floor/wood,
/area/ship/crew/dorm)
@@ -3425,7 +3425,7 @@
/area/ship/crew/canteen)
"Hq" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/structure/sign/poster/official/ian{
pixel_x = 32
@@ -3803,7 +3803,7 @@
"Kc" = (
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light_switch{
pixel_x = -8;
pixel_y = -20;
@@ -3827,7 +3827,7 @@
/area/ship/crew)
"Ko" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/turf/open/floor/carpet/red,
/area/ship/crew)
@@ -4118,7 +4118,7 @@
"Nv" = (
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ship/crew/dorm)
"Nw" = (
diff --git a/_maps/shuttles/independent/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm
index 31891a371d8c..f64c84ca5b33 100644
--- a/_maps/shuttles/independent/independent_box.dmm
+++ b/_maps/shuttles/independent/independent_box.dmm
@@ -711,7 +711,7 @@
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/ship/crew/toilet)
"cG" = (
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/structure/closet/emcloset/anchored,
/obj/machinery/atmospherics/pipe/simple/orange/hidden{
dir = 4
@@ -968,7 +968,7 @@
dir = 8
},
/obj/structure/bed/pod,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/carpet/blue,
/area/ship/crew)
"dr" = (
@@ -1162,7 +1162,7 @@
/obj/structure/sign/poster/official/help_others{
pixel_x = -32
},
-/obj/effect/spawner/lootdrop/tool_surgery_adv,
+/obj/effect/spawner/random/medical/surgery_tool/adv,
/obj/item/megaphone/command,
/obj/effect/turf_decal/spline/fancy/opaque/black{
dir = 4
@@ -1421,7 +1421,7 @@
/turf/open/floor/plasteel/tech,
/area/ship/medical)
"mx" = (
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
@@ -1460,10 +1460,10 @@
/area/ship/medical)
"nA" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/ration{
+/obj/effect/spawner/random/food_or_drink/ration{
pixel_y = 3
},
-/obj/effect/spawner/lootdrop/ration{
+/obj/effect/spawner/random/food_or_drink/ration{
pixel_x = -5;
pixel_y = 3
},
@@ -2022,7 +2022,7 @@
/obj/item/circuitboard/machine/chem_master,
/obj/item/reagent_containers/glass/beaker/large,
/obj/item/stack/sheet/glass/two,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/trash/can/food/beans,
/turf/open/floor/plasteel/white,
/area/ship/medical)
@@ -2165,7 +2165,7 @@
/obj/item/vending_refill/medical,
/obj/item/screwdriver,
/obj/machinery/airalarm/directional/south,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/white,
/area/ship/cargo)
"Cn" = (
@@ -2808,7 +2808,7 @@
/obj/structure/cable/yellow{
icon_state = "0-10"
},
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/structure/rack,
/obj/item/areaeditor/shuttle,
/obj/item/flashlight{
diff --git a/_maps/shuttles/independent/independent_bubble.dmm b/_maps/shuttles/independent/independent_bubble.dmm
index 08fd116f2536..298a919bbaa7 100644
--- a/_maps/shuttles/independent/independent_bubble.dmm
+++ b/_maps/shuttles/independent/independent_bubble.dmm
@@ -248,7 +248,7 @@
/turf/open/floor/plasteel/mono,
/area/ship/hallway/central)
"jr" = (
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/bed,
/obj/structure/curtain/bounty,
/obj/effect/turf_decal/siding/wood{
@@ -905,7 +905,7 @@
/turf/open/floor/plating,
/area/ship/engineering)
"LK" = (
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/bed,
/obj/structure/curtain/bounty,
/obj/effect/turf_decal/siding/wood{
@@ -1228,7 +1228,7 @@
/turf/open/floor/plasteel,
/area/ship/engineering)
"Yi" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/structure/closet/firecloset/full,
/turf/open/floor/plating,
/area/ship/maintenance/port)
diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm
index 7f8e7b569c68..9d36cb61c748 100644
--- a/_maps/shuttles/independent/independent_dwayne.dmm
+++ b/_maps/shuttles/independent/independent_dwayne.dmm
@@ -257,7 +257,7 @@
/obj/structure/closet/crate,
/obj/machinery/firealarm/directional/north,
/obj/item/circuitboard/machine/pipedispenser,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/patterned/grid,
/area/ship/cargo)
"dh" = (
@@ -1442,7 +1442,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 1
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/patterned/grid,
/area/ship/cargo)
"vj" = (
@@ -1584,7 +1584,7 @@
},
/obj/machinery/light/directional/west,
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plasteel/patterned/grid,
/area/ship/cargo)
"yu" = (
@@ -1889,7 +1889,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/large,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/patterned/grid,
/area/ship/cargo)
"Ds" = (
@@ -2083,7 +2083,7 @@
/area/ship/external/dark)
"Gl" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/airalarm/directional/east,
/obj/item/radio/intercom/directional/south,
/turf/open/floor/carpet,
@@ -2213,7 +2213,7 @@
"Is" = (
/obj/structure/closet/crate/science,
/obj/item/paicard,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ship/cargo)
"IF" = (
@@ -2301,7 +2301,7 @@
/area/ship/storage/eva)
"JH" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/cable/yellow{
icon_state = "4-10"
},
@@ -2433,10 +2433,10 @@
/obj/structure/closet/secure_closet/freezer/wall/directional/south{
name = "kitchen cabinet"
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
@@ -2617,28 +2617,13 @@
/area/ship/storage/eva)
"NT" = (
/obj/structure/closet/cardboard,
-/obj/effect/spawner/lootdrop/glowstick,
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_y = 2
- },
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_y = -3;
- pixel_x = 7
- },
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_x = -6
- },
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_y = -3
- },
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_x = 2;
- pixel_y = 3
- },
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_x = -4;
- pixel_y = -4
- },
+/obj/effect/spawner/random/decoration/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plating,
/area/ship/storage/eva)
"NW" = (
@@ -2751,11 +2736,11 @@
/obj/effect/turf_decal/corner/opaque/yellow/half,
/obj/structure/closet/crate/large,
/obj/effect/turf_decal/industrial/warning,
-/obj/effect/spawner/lootdrop/plushie,
-/obj/effect/spawner/lootdrop/plushie,
-/obj/effect/spawner/lootdrop/plushie,
-/obj/effect/spawner/lootdrop/plushie,
-/obj/effect/spawner/lootdrop/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
/obj/structure/cable/cyan{
icon_state = "1-2"
},
@@ -3405,7 +3390,7 @@
/obj/item/trash/candy,
/obj/item/trash/sosjerky,
/obj/item/trash/can/food/beans,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/structure/cable/cyan{
icon_state = "2-5"
},
@@ -3473,7 +3458,7 @@
/area/ship/engineering)
"ZQ" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/carpet,
/area/ship/crew/dorm)
"ZR" = (
diff --git a/_maps/shuttles/independent/independent_junker.dmm b/_maps/shuttles/independent/independent_junker.dmm
index 0ae98ef37fe2..c7b7eb4ae673 100644
--- a/_maps/shuttles/independent/independent_junker.dmm
+++ b/_maps/shuttles/independent/independent_junker.dmm
@@ -48,7 +48,7 @@
/area/ship/maintenance/port)
"aq" = (
/obj/item/trash/sosjerky,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/item/areaeditor/shuttle{
pixel_y = 7
},
@@ -67,7 +67,7 @@
/obj/item/storage/backpack/explorer,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/pickaxe/rusted,
/turf/open/floor/plating,
/area/ship/engineering/electrical)
@@ -75,7 +75,7 @@
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/broken/directional/north,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/item/flashlight/pen,
/turf/open/floor/wood/walnut{
icon_state = "wood-broken"
@@ -399,7 +399,7 @@
},
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/ship/engineering/electrical)
"hb" = (
@@ -857,7 +857,7 @@
"qm" = (
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/item/reagent_containers/food/snacks/canned/peaches/maint,
/turf/open/floor/plating,
/area/ship/construction)
@@ -1232,7 +1232,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/effect/spawner/lootdrop/maintenance/eight,
+/obj/effect/spawner/random/maintenance/eight,
/obj/structure/safe/floor{
number_of_tumblers = 5
},
@@ -1610,7 +1610,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 6
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/maintenance/port)
"Df" = (
@@ -1735,7 +1735,7 @@
/obj/item/reagent_containers/glass/bottle/welding_fuel,
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/decal/cleanable/cobweb,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/ship/storage/eva)
"Fz" = (
@@ -1808,7 +1808,7 @@
/area/ship/storage/eva)
"Hj" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/decal_painter,
/obj/item/storage/box/mousetraps,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
@@ -2034,7 +2034,7 @@
"JZ" = (
/obj/structure/rack,
/obj/machinery/light/small/broken/directional/west,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/item/toner,
/obj/item/clothing/neck/stethoscope,
/turf/open/floor/plating,
@@ -2085,7 +2085,7 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/machinery/light/small/directional/north,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/wood/walnut{
icon_state = "wood-broken3"
},
@@ -2231,7 +2231,7 @@
dir = 1
},
/mob/living/simple_animal/hostile/cockroach/glockroach,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/machinery/light_switch{
dir = 8;
pixel_x = 20;
@@ -2487,7 +2487,7 @@
},
/obj/effect/decal/cleanable/sprayweb,
/obj/effect/decal/cleanable/cobweb,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/pod/light,
/area/ship/maintenance/aft)
"Wv" = (
@@ -2730,7 +2730,7 @@
/obj/structure/cable{
icon_state = "0-2"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/ship/maintenance/port)
diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm
index 43941169b66a..7783dff02df5 100644
--- a/_maps/shuttles/independent/independent_kilo.dmm
+++ b/_maps/shuttles/independent/independent_kilo.dmm
@@ -123,7 +123,7 @@
/turf/open/floor/plating,
/area/ship/hallway/port)
"bm" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"bn" = (
@@ -905,7 +905,7 @@
/area/ship/cargo)
"mz" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light_switch{
pixel_x = 7;
pixel_y = 20
@@ -1212,9 +1212,9 @@
/obj/item/reagent_containers/food/drinks/soda_cans/cola,
/obj/item/reagent_containers/food/drinks/soda_cans/cola,
/obj/item/reagent_containers/food/drinks/soda_cans/cola,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/snacks/icecreamsandwich,
/obj/item/reagent_containers/food/snacks/icecreamsandwich,
/obj/effect/turf_decal/corner/transparent/beige/full,
@@ -1789,7 +1789,7 @@
/obj/structure/cable/pink{
icon_state = "1-6"
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/light/directional/west,
/turf/open/floor/carpet,
/area/ship/crew/dorm)
diff --git a/_maps/shuttles/independent/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm
index 5130aed76be3..2855c6e0d686 100644
--- a/_maps/shuttles/independent/independent_lagoon.dmm
+++ b/_maps/shuttles/independent/independent_lagoon.dmm
@@ -4873,7 +4873,7 @@
/area/ship/hallway/aft)
"GN" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 4
},
@@ -6155,7 +6155,7 @@
/area/ship/hallway/port)
"QI" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 6
},
diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm
index 11d98b3c1475..676301c8271e 100644
--- a/_maps/shuttles/independent/independent_mudskipper.dmm
+++ b/_maps/shuttles/independent/independent_mudskipper.dmm
@@ -1412,7 +1412,7 @@
/area/ship/hallway/aft)
"Ft" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/machinery/light_switch{
dir = 1;
@@ -1727,10 +1727,10 @@
/obj/structure/closet/crate{
name = "ration crate"
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/snacks/canned/beans,
/obj/item/reagent_containers/food/snacks/canned/beans,
/obj/item/reagent_containers/food/snacks/canned/beans,
@@ -1990,7 +1990,7 @@
/area/ship/crew/toilet)
"ST" = (
/obj/item/storage/cans/sixbeer,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/structure/closet/secure_closet/freezer{
anchored = 1;
name = "fridge"
@@ -2140,7 +2140,7 @@
/area/ship/engineering/engine)
"Vy" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/light/dim/directional/north,
diff --git a/_maps/shuttles/independent/independent_raleigh.dmm b/_maps/shuttles/independent/independent_raleigh.dmm
index a6bff35f8dc7..906af974bfe5 100644
--- a/_maps/shuttles/independent/independent_raleigh.dmm
+++ b/_maps/shuttles/independent/independent_raleigh.dmm
@@ -714,16 +714,12 @@
/obj/structure/table,
/obj/effect/turf_decal/corner/opaque/yellow/mono,
/obj/structure/closet/wall/white/directional/east,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration{
- pixel_y = 1
- },
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/obj/item/storage/cans/sixbeer,
/obj/effect/decal/cleanable/food/flour,
-/obj/effect/spawner/lootdrop/ration{
- pixel_y = 1
- },
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/mono/white,
/area/ship/crew/canteen)
"jc" = (
@@ -1036,7 +1032,7 @@
/area/ship/crew/ccommons)
"my" = (
/obj/structure/bed,
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/item/toy/plush/flushed,
/turf/open/floor/carpet/green,
@@ -1055,7 +1051,7 @@
/area/ship/hallway/central)
"mE" = (
/obj/structure/bed,
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/item/toy/plush/carpplushie,
/turf/open/floor/carpet/green,
@@ -1625,7 +1621,7 @@
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"tg" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/corner_steel_grid{
dir = 9
},
@@ -1851,7 +1847,7 @@
"ws" = (
/obj/structure/curtain/bounty,
/obj/structure/bed,
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/carpet/green,
/area/ship/crew/dorm)
"wS" = (
@@ -4082,7 +4078,7 @@
dir = 8
},
/obj/structure/extinguisher_cabinet/directional/west,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ship/engineering/atmospherics)
"Wm" = (
@@ -4531,7 +4527,7 @@
"ZE" = (
/obj/structure/closet/crate,
/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/machinery/light/small/directional/east,
/turf/open/floor/plating,
/area/ship/engineering/engines/starboard)
diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm
index d87ae083832b..78053b7e5e8c 100644
--- a/_maps/shuttles/independent/independent_rigger.dmm
+++ b/_maps/shuttles/independent/independent_rigger.dmm
@@ -62,7 +62,7 @@
"bc" = (
/obj/structure/closet/cardboard,
/obj/item/paicard,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"bi" = (
@@ -239,8 +239,8 @@
populate = 0
},
/obj/item/storage/cans/sixbeer,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/condiment/flour,
/obj/item/reagent_containers/condiment/sugar,
/obj/item/radio/intercom/directional/north,
@@ -283,7 +283,7 @@
"eu" = (
/obj/structure/closet/crate,
/obj/machinery/airalarm/directional/north,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"eF" = (
@@ -430,7 +430,7 @@
dir = 1
},
/obj/structure/bed,
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/turf/open/floor/plasteel/grimy,
/area/ship/crew/dorm)
@@ -1102,7 +1102,7 @@
"nU" = (
/obj/machinery/light/directional/west,
/obj/effect/turf_decal/corner/opaque/yellow/diagonal,
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/white,
/area/ship/crew/canteen)
"od" = (
@@ -1160,7 +1160,7 @@
/turf/open/floor/plasteel/white,
/area/ship/crew/canteen)
"oX" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"ph" = (
@@ -2463,7 +2463,7 @@
/obj/structure/cable{
icon_state = "0-4"
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/tech,
/area/ship/engineering/engine)
"DG" = (
@@ -2616,7 +2616,7 @@
},
/obj/structure/closet/crate,
/obj/machinery/firealarm/directional/west,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/ship/maintenance/port)
"Fu" = (
@@ -3240,7 +3240,7 @@
/area/ship/medical)
"Ne" = (
/obj/structure/bed,
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/turf/open/floor/plasteel/grimy,
/area/ship/crew/dorm)
@@ -3552,7 +3552,7 @@
/area/ship/maintenance/central)
"Qv" = (
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel,
/area/ship/construction)
"QB" = (
@@ -3680,7 +3680,7 @@
},
/obj/structure/bed,
/obj/structure/curtain/bounty,
-/obj/item/bedsheet/random,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/plasteel/grimy,
/area/ship/crew/dorm)
"Sj" = (
@@ -3791,13 +3791,13 @@
dir = 1
},
/obj/structure/crate_shelf,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/drinks/waterbottle/large{
pixel_x = 1;
pixel_y = -3
@@ -3903,7 +3903,7 @@
/obj/machinery/power/apc/auto_name/directional/south,
/obj/structure/cable,
/obj/structure/closet/crate/bin,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/grimy,
/area/ship/crew)
"Ug" = (
diff --git a/_maps/shuttles/independent/independent_schmiedeberg.dmm b/_maps/shuttles/independent/independent_schmiedeberg.dmm
index 3ae3915db4d3..bf97b9b1a44b 100644
--- a/_maps/shuttles/independent/independent_schmiedeberg.dmm
+++ b/_maps/shuttles/independent/independent_schmiedeberg.dmm
@@ -167,7 +167,7 @@
/obj/machinery/door/window/brigdoor/northright{
dir = 2
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/turf_decal/siding/wood{
dir = 10
},
@@ -440,7 +440,7 @@
/area/ship/cargo)
"fq" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/greenglow/filled,
/obj/effect/turf_decal/siding/wood{
color = "#543C30";
@@ -462,7 +462,7 @@
/area/ship/engineering)
"fM" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
},
@@ -1176,8 +1176,8 @@
/obj/machinery/door/poddoor/shutters/preopen{
id = "pharmlobby"
},
-/obj/effect/spawner/lootdrop/maintenance/two,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/two,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/mineral/titanium,
/area/ship/cargo)
"qj" = (
@@ -1222,7 +1222,7 @@
/area/ship/medical)
"qU" = (
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/turf_decal/siding/wood{
color = "#543C30";
dir = 9
@@ -2360,7 +2360,7 @@
/obj/structure/rack,
/obj/structure/window/reinforced/spawner/east,
/obj/structure/window/reinforced/spawner/north,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/machinery/door/window/brigdoor/northright{
dir = 8
},
@@ -2728,14 +2728,14 @@
/obj/structure/rack,
/obj/structure/window/reinforced/spawner/east,
/obj/structure/window/reinforced/spawner/north,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/machinery/door/window/brigdoor/northright{
dir = 8
},
/obj/machinery/door/poddoor/shutters/preopen{
id = "pharmlobby"
},
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/wood/walnut,
/area/ship/cargo)
"OO" = (
@@ -2977,7 +2977,7 @@
pixel_y = -32
},
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/effect/turf_decal/siding/wood/corner{
dir = 1
@@ -3050,7 +3050,7 @@
/obj/item/flashlight/glowstick/blue,
/obj/item/flashlight/glowstick/cyan,
/obj/item/storage/pill_bottle/floorpill,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/turf_decal/siding/wood{
color = "#543C30";
dir = 1
@@ -3097,7 +3097,7 @@
dir = 8
},
/obj/item/storage/pill_bottle/zoom,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/machinery/door/poddoor/shutters/preopen{
id = "pharmlobby"
},
@@ -3205,7 +3205,7 @@
/obj/machinery/door/window/brigdoor/northright{
dir = 2
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/turf_decal/siding/wood{
dir = 6
},
diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm
index 75784c301eda..8cdb3dfae61a 100644
--- a/_maps/shuttles/independent/independent_shetland.dmm
+++ b/_maps/shuttles/independent/independent_shetland.dmm
@@ -735,7 +735,7 @@
/turf/open/floor/plasteel/patterned,
/area/ship/crew/janitor)
"gd" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/corner/opaque/neutral/half{
dir = 4
},
@@ -3100,7 +3100,7 @@
/turf/open/floor/plating,
/area/ship/hallway/port)
"zr" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{
dir = 8
},
@@ -4361,7 +4361,7 @@
"Li" = (
/obj/structure/bed,
/obj/structure/curtain/bounty,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/random{
pixel_x = -32;
@@ -4647,7 +4647,7 @@
"MS" = (
/obj/structure/bed,
/obj/structure/curtain/bounty,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/plasteel/grimy,
/area/ship/crew/dorm)
"MT" = (
@@ -4676,7 +4676,7 @@
"Ni" = (
/obj/structure/bed,
/obj/structure/curtain/bounty,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/random{
pixel_y = 32
@@ -4768,7 +4768,7 @@
"Ok" = (
/obj/structure/bed,
/obj/structure/curtain/bounty,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 4
},
@@ -5423,9 +5423,9 @@
pixel_x = -5;
pixel_y = 3
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/obj/item/reagent_containers/food/drinks/waterbottle/large{
pixel_x = 1;
diff --git a/_maps/shuttles/independent/independent_sunskipper.dmm b/_maps/shuttles/independent/independent_sunskipper.dmm
index 3edffc72acbc..12f34a8991ac 100644
--- a/_maps/shuttles/independent/independent_sunskipper.dmm
+++ b/_maps/shuttles/independent/independent_sunskipper.dmm
@@ -1182,9 +1182,7 @@
/obj/structure/bed{
dir = 1
},
-/obj/item/bedsheet/dorms{
- dir = 1
- },
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth/grey,
/obj/structure/cable/green{
icon_state = "1-2"
diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm
index 35b3044df741..0ecbfbe09e90 100644
--- a/_maps/shuttles/independent/independent_tranquility.dmm
+++ b/_maps/shuttles/independent/independent_tranquility.dmm
@@ -1721,7 +1721,7 @@
/area/ship/hallway/starboard)
"nr" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth/grey,
/obj/machinery/light/dim/directional/east,
/obj/structure/sign/poster/contraband/gec{
@@ -4731,7 +4731,7 @@
"LT" = (
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 4
},
@@ -5755,7 +5755,7 @@
/area/ship/crew/hydroponics)
"Tl" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth/grey,
/obj/machinery/light/dim/directional/east,
/obj/structure/sign/poster/contraband/hacking_guide{
@@ -5891,7 +5891,7 @@
/obj/structure/bed,
/obj/structure/curtain/cloth/grey,
/obj/machinery/light/dim/directional/north,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/carpet/black,
/area/ship/crew/dorm/dormthree)
"Up" = (
@@ -6197,10 +6197,10 @@
"WS" = (
/obj/machinery/light/dim/directional/north,
/obj/structure/closet/crate/hydroponics,
-/obj/effect/spawner/lootdrop/seeded,
-/obj/effect/spawner/lootdrop/seeded,
-/obj/effect/spawner/lootdrop/seeded,
-/obj/effect/spawner/lootdrop/seeded,
+/obj/effect/spawner/random/food_or_drink/seed,
+/obj/effect/spawner/random/food_or_drink/seed,
+/obj/effect/spawner/random/food_or_drink/seed,
+/obj/effect/spawner/random/food_or_drink/seed,
/obj/item/seeds/random,
/turf/open/floor/grass,
/area/ship/crew/hydroponics)
diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm
index 70f32bfb60f2..e6542ff6a355 100644
--- a/_maps/shuttles/inteq/inteq_colossus.dmm
+++ b/_maps/shuttles/inteq/inteq_colossus.dmm
@@ -228,8 +228,8 @@
locked = 0;
name = "fridge"
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/obj/effect/turf_decal/corner/opaque/yellow{
dir = 1
@@ -856,7 +856,7 @@
/turf/open/floor/plating,
/area/ship/maintenance/port)
"iT" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/trimline/opaque/yellow/line,
/obj/effect/turf_decal/siding/thinplating,
/obj/structure/cable,
@@ -1632,16 +1632,16 @@
dir = 1
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
@@ -2537,7 +2537,7 @@
},
/obj/structure/closet/cardboard,
/obj/item/radio/intercom/directional/south,
-/obj/effect/spawner/lootdrop/maintenance/seven,
+/obj/effect/spawner/random/maintenance/seven,
/obj/effect/turf_decal/corner_techfloor_gray{
dir = 4
},
@@ -3652,7 +3652,7 @@
/obj/structure/closet/crate/trashcart,
/obj/machinery/airalarm/directional/east,
/obj/machinery/firealarm/directional/south,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/turf_decal/corner_techfloor_gray{
dir = 4
},
@@ -4494,7 +4494,7 @@
/turf/open/floor/carpet/black,
/area/ship/crew)
"XS" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/trimline/opaque/yellow/line,
/obj/effect/turf_decal/siding/thinplating,
/obj/machinery/airalarm/directional/south,
diff --git a/_maps/shuttles/inteq/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm
index c6f9e34a653d..b0c1bdfb8171 100644
--- a/_maps/shuttles/inteq/inteq_hound.dmm
+++ b/_maps/shuttles/inteq/inteq_hound.dmm
@@ -27,8 +27,8 @@
locked = 0;
name = "fridge"
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/obj/item/reagent_containers/food/snacks/icecreamsandwich,
/obj/machinery/light/directional/south,
@@ -2043,11 +2043,11 @@
dir = 4
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/turf/open/floor/plasteel/patterned/cargo_one,
diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm
index 5df5060f6f06..b322c45ea99b 100644
--- a/_maps/shuttles/inteq/inteq_talos.dmm
+++ b/_maps/shuttles/inteq/inteq_talos.dmm
@@ -888,12 +888,12 @@
/area/ship/maintenance/starboard)
"fN" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ship/maintenance/port)
"fU" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"fX" = (
@@ -948,7 +948,7 @@
"gm" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ship/storage/starboard)
"go" = (
@@ -1262,7 +1262,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/item/cigbutt,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ship/storage/starboard)
"im" = (
@@ -1640,7 +1640,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/starboard)
"kD" = (
@@ -2132,7 +2132,7 @@
/area/ship/storage)
"nF" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"nH" = (
@@ -2345,7 +2345,7 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/structure/closet/cardboard,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating/airless,
/area/ship/maintenance/starboard)
"oR" = (
@@ -2484,8 +2484,8 @@
name = "fridge"
},
/obj/item/storage/cans/sixbeer,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange,
/obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange,
/obj/item/radio/intercom/directional/north,
@@ -2636,7 +2636,7 @@
"qp" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/port)
"qr" = (
@@ -2879,7 +2879,7 @@
/area/ship/security)
"rN" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/starboard)
"rP" = (
@@ -3028,7 +3028,7 @@
/area/ship/maintenance/port)
"sD" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/turf_decal/industrial/warning{
dir = 4
},
@@ -3041,7 +3041,7 @@
/obj/effect/turf_decal/corner/opaque/brown{
dir = 4
},
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/machinery/camera/autoname,
/obj/machinery/status_display/shuttle{
pixel_y = 32
@@ -4081,7 +4081,7 @@
/area/ship/maintenance/port)
"zg" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/port)
"zh" = (
@@ -4159,7 +4159,7 @@
"zB" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/crate/trashcart,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"zE" = (
@@ -4237,7 +4237,7 @@
"Aa" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"Ag" = (
@@ -4499,7 +4499,7 @@
/area/ship/crew/canteen)
"BN" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/storage/starboard)
"BP" = (
@@ -4545,7 +4545,7 @@
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/central)
"Cp" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/structure/sign/poster/contraband/inteq{
pixel_x = 32
},
@@ -5212,7 +5212,7 @@
icon_state = "1-8"
},
/obj/effect/decal/cleanable/blood/old,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/starboard)
"GR" = (
@@ -5286,7 +5286,7 @@
"Ho" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/storage/starboard)
"Hp" = (
@@ -5522,7 +5522,7 @@
/turf/open/floor/engine/vacuum,
/area/ship/engineering/engine)
"Jk" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ship/maintenance/starboard)
"Jo" = (
@@ -6161,7 +6161,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"NK" = (
@@ -6308,7 +6308,7 @@
"OP" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/port)
"Pf" = (
@@ -6360,7 +6360,7 @@
/obj/machinery/light/small/directional/west,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/structure/closet/crate,
/turf/open/floor/plating/airless,
/area/ship/storage/starboard)
@@ -6635,7 +6635,7 @@
/area/ship/hallway/central)
"Ri" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/port)
"Rp" = (
@@ -6717,7 +6717,7 @@
/obj/machinery/light/small/directional/north,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/plasma,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ship/maintenance/port)
"RY" = (
@@ -6888,7 +6888,7 @@
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/central)
"SS" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/machinery/airalarm/directional/east,
/turf/open/floor/plasteel/grimy,
/area/ship/crew)
@@ -7105,11 +7105,11 @@
/obj/structure/closet/crate{
name = "food crate"
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
@@ -7146,7 +7146,7 @@
/area/ship/storage/starboard)
"Uy" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"UD" = (
@@ -7684,7 +7684,7 @@
/area/ship/maintenance/starboard)
"YZ" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance/starboard)
"Zb" = (
@@ -7883,7 +7883,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/cardboard,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"ZY" = (
diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm
index 00b25f936eab..994041639613 100644
--- a/_maps/shuttles/inteq/inteq_valor.dmm
+++ b/_maps/shuttles/inteq/inteq_valor.dmm
@@ -92,7 +92,7 @@
},
/obj/effect/turf_decal/box/corners,
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/five,
+/obj/effect/spawner/random/maintenance/five,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo)
"bv" = (
@@ -586,9 +586,9 @@
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/ration/crayons,
/obj/effect/turf_decal/box/corners{
dir = 8
@@ -1491,7 +1491,7 @@
/obj/effect/turf_decal/trimline/opaque/yellow/line{
dir = 5
},
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/central)
@@ -2691,8 +2691,8 @@
dir = 1
},
/obj/item/reagent_containers/food/snacks/hotdog,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/plasteel/dark,
/area/ship/crew/canteen)
"yu" = (
@@ -4647,7 +4647,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
/turf/open/floor/plasteel/dark,
/area/ship/crew/canteen)
"Qn" = (
@@ -5393,7 +5393,7 @@
/obj/effect/turf_decal/trimline/opaque/yellow/line{
dir = 4
},
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/light/directional/east,
/turf/open/floor/plasteel/patterned/grid,
diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm
index 9ea8b60d9b89..cd79d41cc9cc 100644
--- a/_maps/shuttles/inteq/inteq_vaquero.dmm
+++ b/_maps/shuttles/inteq/inteq_vaquero.dmm
@@ -1520,16 +1520,16 @@
dir = 1
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
@@ -3217,7 +3217,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/central)
"XG" = (
@@ -3252,8 +3252,8 @@
name = "fridge"
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/item/storage/cans/sixbeer,
/obj/item/reagent_containers/food/snacks/carneburrito,
/obj/effect/turf_decal/corner/opaque/yellow{
diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm
index 325069e91a6e..1b9d5dc2dffb 100644
--- a/_maps/shuttles/minutemen/minutemen_atlas.dmm
+++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm
@@ -3749,11 +3749,11 @@
/obj/structure/closet/secure_closet/freezer/fridge/open{
populate = 0
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
/obj/item/reagent_containers/food/drinks/waterbottle/large,
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm
index 0d57e0ca165a..f4643679b3d0 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm
@@ -252,11 +252,11 @@
},
/obj/structure/closet/crate,
/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo)
"bd" = (
@@ -497,7 +497,7 @@
/turf/open/floor/plating,
/area/ship/engineering)
"cm" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/machinery/light/small/directional/east,
/turf/open/floor/plasteel/dark,
/area/ship/hallway/central)
@@ -1089,8 +1089,8 @@
dir = 1;
pixel_y = -32
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/turf/open/floor/plasteel,
/area/ship/crew)
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm
index 2cb4e641cd53..1e65ca7f3773 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm
@@ -130,7 +130,7 @@
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/aft)
"bh" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
@@ -246,7 +246,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"cj" = (
@@ -319,7 +319,7 @@
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"cP" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -357,7 +357,7 @@
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/ship/maintenance/fore)
"dp" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -435,7 +435,7 @@
/turf/open/floor/plasteel,
/area/ship/cargo/starboard)
"ej" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/borderfloor,
/obj/structure/extinguisher_cabinet/directional/west,
@@ -559,7 +559,7 @@
/turf/open/floor/engine/hull,
/area/ship/external)
"eQ" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -658,7 +658,7 @@
/area/ship/engineering/atmospherics)
"ga" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/obj/structure/window/reinforced{
dir = 4
@@ -676,7 +676,7 @@
/turf/open/floor/plating,
/area/ship/engineering/engine)
"gf" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
},
@@ -696,7 +696,7 @@
/turf/open/floor/plasteel/patterned,
/area/ship/cargo/port)
"gh" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -712,7 +712,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
dir = 1
@@ -776,7 +776,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/turf_decal/industrial/warning,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -815,7 +815,7 @@
/area/ship/crew)
"hA" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned,
/area/ship/cargo/port)
"hL" = (
@@ -907,7 +907,7 @@
/turf/open/floor/engine/airless,
/area/ship/engineering/engine)
"iJ" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned,
/area/ship/cargo/starboard)
"iK" = (
@@ -931,7 +931,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/port)
@@ -944,9 +944,9 @@
/area/ship/bridge)
"jc" = (
/obj/structure/table/reinforced,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/radio/intercom/directional/east,
/turf/open/floor/plasteel/grimy,
/area/ship/crew)
@@ -1144,13 +1144,13 @@
/area/ship/engineering/engine)
"lb" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/bounty,
/turf/open/floor/plasteel/grimy,
/area/ship/crew)
"lE" = (
/obj/effect/turf_decal/box/corners,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/starboard)
"lM" = (
@@ -1176,7 +1176,7 @@
/area/ship/hallway/central)
"lT" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -1219,7 +1219,7 @@
/area/ship/cargo/port)
"mb" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/starboard)
"mm" = (
@@ -1402,7 +1402,7 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -1418,10 +1418,10 @@
/obj/item/reagent_containers/food/snacks/canned/beans,
/obj/item/reagent_containers/food/snacks/canned/beans,
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel/patterned,
/area/ship/storage)
"oR" = (
@@ -1579,7 +1579,7 @@
/area/ship/storage)
"qn" = (
/obj/machinery/power/apc/auto_name/directional/west,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
icon_state = "0-4"
@@ -1604,7 +1604,7 @@
/turf/open/floor/plating,
/area/ship/maintenance/port)
"qu" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
@@ -1684,12 +1684,12 @@
/obj/effect/turf_decal/box/corners{
dir = 1
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/port)
"qY" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
dir = 6
@@ -1955,7 +1955,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 10
},
@@ -2078,7 +2078,7 @@
icon_state = "1-8"
},
/obj/machinery/light/small/directional/south,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -2113,7 +2113,7 @@
/turf/open/floor/plasteel/patterned,
/area/ship/storage)
"vi" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"vl" = (
@@ -2158,7 +2158,7 @@
/turf/open/floor/plastic,
/area/ship/crew/toilet)
"vG" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/effect/turf_decal/borderfloor{
dir = 1
},
@@ -2267,7 +2267,7 @@
/turf/open/floor/plasteel/tech,
/area/ship/engineering/communications)
"wP" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/effect/turf_decal/industrial/outline/yellow,
/turf/open/floor/plasteel,
/area/ship/cargo/port)
@@ -2294,7 +2294,7 @@
/turf/open/floor/plating,
/area/ship/engineering/engine)
"xd" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
@@ -2336,7 +2336,7 @@
/area/ship/cargo/port)
"xG" = (
/obj/item/radio/intercom/directional/north,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/effect/turf_decal/industrial/outline/yellow,
/turf/open/floor/plasteel,
/area/ship/cargo/port)
@@ -2397,7 +2397,7 @@
icon_state = "1-2"
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plasteel/stairs{
dir = 1
},
@@ -2453,7 +2453,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plasteel/stairs,
/area/ship/maintenance/port)
"yG" = (
@@ -2524,7 +2524,7 @@
/turf/open/floor/plasteel/telecomms_floor,
/area/ship/engineering/communications)
"zv" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/ntspaceworks_big/six{
dir = 4
@@ -2637,7 +2637,7 @@
/turf/open/floor/plasteel/tech/techmaint,
/area/ship/engineering/engine)
"AD" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -2684,7 +2684,7 @@
"AN" = (
/obj/item/radio/intercom/directional/south,
/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel,
/area/ship/cargo/starboard)
"AW" = (
@@ -2729,7 +2729,7 @@
/turf/open/floor/plasteel/tech/grid,
/area/ship/crew)
"BM" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/effect/turf_decal/trimline/transparent/white/filled/warning{
dir = 4
},
@@ -2752,7 +2752,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -2761,7 +2761,7 @@
"Cc" = (
/obj/machinery/light/directional/west,
/obj/effect/turf_decal/industrial/warning,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 1
},
@@ -3080,7 +3080,7 @@
/obj/effect/turf_decal/box/corners{
dir = 8
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/starboard)
@@ -3345,14 +3345,14 @@
/area/ship/bridge)
"HK" = (
/obj/machinery/light/directional/north,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/effect/turf_decal/borderfloor{
dir = 1
},
/turf/open/floor/plasteel,
/area/ship/hallway/aft)
"HN" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/port)
"HT" = (
@@ -3437,7 +3437,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
"Is" = (
@@ -3543,7 +3543,7 @@
"Jk" = (
/obj/effect/turf_decal/industrial/outline/yellow,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel,
/area/ship/cargo/starboard)
"Jn" = (
@@ -3568,7 +3568,7 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"JL" = (
@@ -3739,7 +3739,7 @@
/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{
dir = 9
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/engineering/engine)
"LK" = (
@@ -3771,7 +3771,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/sign/warning/electricshock{
pixel_y = 32
@@ -3875,7 +3875,7 @@
/area/ship/hallway/aft)
"Nz" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/port)
"NC" = (
@@ -3944,7 +3944,7 @@
/obj/effect/turf_decal/arrows{
dir = 1
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -3970,7 +3970,7 @@
/area/ship/external)
"OZ" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/engineering/engine)
"Pc" = (
@@ -4080,7 +4080,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
@@ -4160,7 +4160,7 @@
/obj/effect/turf_decal/box/corners{
dir = 4
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/starboard)
"Qz" = (
@@ -4243,7 +4243,7 @@
/obj/effect/turf_decal/box/corners{
dir = 8
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/starboard)
@@ -4318,7 +4318,7 @@
"Sa" = (
/obj/machinery/light/directional/east,
/obj/effect/turf_decal/industrial/warning,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/structure/cable{
icon_state = "2-8"
},
@@ -4340,7 +4340,7 @@
/obj/effect/turf_decal/borderfloor{
dir = 1
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel,
/area/ship/hallway/aft)
"Sl" = (
@@ -4382,7 +4382,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -4401,7 +4401,7 @@
/area/ship/cargo/port)
"SK" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/airalarm/directional/south,
/obj/effect/turf_decal/trimline/transparent/white/filled/warning{
dir = 4
@@ -4416,7 +4416,7 @@
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"SQ" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/engineering/engine)
"SV" = (
@@ -4482,7 +4482,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
dir = 1
},
@@ -4527,7 +4527,7 @@
/obj/effect/turf_decal/box/corners{
dir = 1
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/port)
@@ -4571,7 +4571,7 @@
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/ship/hallway/central)
"UC" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 8
},
@@ -4642,7 +4642,7 @@
/obj/structure/cable{
icon_state = "2-4"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating,
/area/ship/maintenance/port)
@@ -4704,7 +4704,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo/port)
"Vz" = (
@@ -4845,7 +4845,7 @@
/area/ship/cargo/port)
"Wo" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/ship/maintenance/port)
"Wq" = (
@@ -5106,7 +5106,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/sign/warning/electricshock{
pixel_y = -32
@@ -5248,7 +5248,7 @@
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/fore)
"ZS" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/turf_decal/industrial/outline/yellow,
/obj/machinery/button/ignition/incinerator/atmos{
dir = 4;
@@ -5265,7 +5265,7 @@
/turf/open/floor/plasteel/tech/grid,
/area/ship/crew)
"ZY" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/firealarm/directional/north,
/turf/open/floor/plasteel/patterned,
/area/ship/cargo/starboard)
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm
index 72bd430d743b..3ddabcf1253c 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm
@@ -1370,11 +1370,11 @@
/obj/structure/closet/crate{
name = "food crate"
},
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/obj/machinery/light/directional/west,
/turf/open/floor/plasteel/patterned,
@@ -5012,7 +5012,7 @@
/turf/open/floor/plasteel/white,
/area/ship/medical)
"BO" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line,
/turf/open/floor/plasteel,
/area/ship/hallway/central)
@@ -7448,7 +7448,7 @@
/turf/open/floor/plasteel/mono,
/area/ship/hallway/central)
"OD" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/machinery/light/directional/south,
/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line,
/turf/open/floor/plasteel,
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm
index a02ec78fc9e6..1a07763671e5 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm
@@ -1,6 +1,6 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 8
},
@@ -807,7 +807,7 @@
/area/ship/science/robotics)
"dq" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 10
},
@@ -1740,10 +1740,7 @@
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"hn" = (
-/obj/effect/spawner/lootdrop/glowstick{
- pixel_x = 5;
- pixel_y = 9
- },
+/obj/effect/spawner/random/decoration/glowstick,
/obj/effect/decal/cleanable/plastic,
/obj/machinery/atmospherics/pipe/simple/purple/hidden,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
@@ -1889,7 +1886,7 @@
/area/ship/crew/dorm/dormtwo)
"hM" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 6
},
@@ -2452,7 +2449,7 @@
/obj/effect/turf_decal/trimline/opaque/blue/line{
dir = 9
},
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/machinery/light/directional/west,
/obj/machinery/light_switch{
pixel_y = 22;
@@ -4835,7 +4832,7 @@
/area/ship/medical)
"sr" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 9
},
@@ -6163,14 +6160,14 @@
/area/ship/bridge)
"wq" = (
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/turf_decal/corner_techfloor_gray/diagonal{
dir = 8
},
/obj/effect/turf_decal/industrial/warning{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance/five,
+/obj/effect/spawner/random/maintenance/five,
/obj/item/radio/intercom/directional/east,
/turf/open/floor/plasteel/dark,
/area/ship/storage)
@@ -6916,9 +6913,9 @@
dir = 10
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/spawner/lootdrop/gloves,
-/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/clothing/gloves,
+/obj/effect/spawner/random/clothing/beret_or_rabbitears,
/obj/effect/decal/cleanable/vomit/old,
/turf/open/floor/plasteel/dark,
/area/ship/storage)
@@ -7722,7 +7719,7 @@
/area/ship/crew/canteen)
"CP" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 4
},
@@ -8993,7 +8990,7 @@
/obj/effect/turf_decal/trimline/opaque/beige/filled/line{
dir = 10
},
-/obj/effect/spawner/lootdrop/salvage_50,
+/obj/effect/spawner/random/salvage/half,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -10464,7 +10461,7 @@
/obj/effect/turf_decal/industrial/warning{
dir = 8
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/machinery/light/small/directional/west,
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/official/get_your_legs{
@@ -10963,7 +10960,7 @@
/area/ship/engineering/atmospherics)
"OR" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 8
},
@@ -11575,8 +11572,8 @@
dir = 9
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/dark,
/area/ship/storage)
@@ -11813,7 +11810,7 @@
/area/ship/hangar)
"Sz" = (
/obj/structure/bed,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/effect/turf_decal/siding/wood{
dir = 5
},
@@ -11889,7 +11886,7 @@
dir = 5
},
/obj/item/toy/plush/beeplushie,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/machinery/power/apc/auto_name/directional/east,
/obj/structure/cable{
icon_state = "0-8"
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm
index 95b61c204b54..2f1d3b060077 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm
@@ -240,9 +240,9 @@
icon_state = "crateopen";
opened = 1
},
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/gloves,
+/obj/effect/spawner/random/clothing/gloves,
/turf/open/floor/plasteel/dark,
/area/ship/cargo)
"aF" = (
@@ -576,9 +576,9 @@
dir = 4
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/turf/open/floor/plasteel/dark,
/area/ship/cargo)
"bX" = (
@@ -2000,7 +2000,7 @@
/turf/open/floor/plasteel,
/area/ship/crew/canteen/kitchen)
"pF" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/corner/transparent/bar/diagonal,
/obj/machinery/light/directional/east,
/obj/effect/decal/cleanable/dirt/dust,
@@ -2172,8 +2172,8 @@
/obj/effect/turf_decal/ntspaceworks_big/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/tool_surgery_common,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/medical/surgery_tool/common,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/dark,
/area/ship/cargo)
"uk" = (
@@ -2520,8 +2520,8 @@
/obj/effect/decal/cleanable/oil,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/two,
-/obj/effect/spawner/lootdrop/random_prosthetic,
+/obj/effect/spawner/random/maintenance/two,
+/obj/effect/spawner/random/medical/prosthetic,
/turf/open/floor/plasteel/dark,
/area/ship/cargo)
"Ai" = (
@@ -2683,7 +2683,7 @@
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/radio/intercom/directional/east,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/item/extinguisher/mini,
/turf/open/floor/plasteel/dark,
/area/ship/cargo)
@@ -2846,7 +2846,7 @@
dir = 8
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/spacecash/bundle/pocketchange,
/turf/open/floor/plasteel/dark,
@@ -3064,7 +3064,7 @@
/turf/open/floor/plasteel/dark,
/area/ship/cargo)
"La" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/corner/transparent/bar/diagonal,
/obj/machinery/light/broken/directional/east,
/obj/effect/decal/cleanable/dirt/dust,
@@ -3701,11 +3701,11 @@
"Zf" = (
/obj/effect/turf_decal/corner/transparent/bar/diagonal,
/obj/structure/table,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration{
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration{
pixel_x = 7
},
-/obj/effect/spawner/lootdrop/ration{
+/obj/effect/spawner/random/food_or_drink/ration{
pixel_x = -8
},
/obj/machinery/button/door{
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
index f749f60f7e52..25b3bb0a0c83 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
@@ -50,7 +50,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/techfloor/orange,
/turf/open/floor/plasteel/tech/grid,
@@ -876,7 +876,7 @@
/area/ship/engineering)
"fd" = (
/obj/structure/table/wood/reinforced,
-/obj/effect/spawner/lootdrop/ration{
+/obj/effect/spawner/random/food_or_drink/ration{
pixel_x = 5;
pixel_y = 5
},
@@ -908,7 +908,7 @@
pixel_x = -5;
pixel_y = -7
},
-/obj/effect/spawner/lootdrop/ration{
+/obj/effect/spawner/random/food_or_drink/ration{
pixel_x = 6;
pixel_y = 11
},
@@ -1035,7 +1035,7 @@
/obj/structure/railing{
dir = 8
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/port)
@@ -1412,7 +1412,7 @@
/turf/open/floor/plasteel/white,
/area/ship/medical)
"hZ" = (
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
@@ -1441,7 +1441,7 @@
/obj/structure/railing/corner{
dir = 1
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -2092,7 +2092,7 @@
dir = 6
},
/obj/structure/railing,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating,
@@ -2117,7 +2117,7 @@
/turf/open/floor/plating,
/area/ship/engineering/atmospherics)
"lW" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/port)
@@ -2330,7 +2330,7 @@
/area/ship/security/prison)
"nk" = (
/obj/structure/railing,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
@@ -2745,12 +2745,12 @@
/area/ship/engineering/electrical)
"pV" = (
/obj/structure/railing,
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/port)
"pY" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/siding/red{
dir = 4
},
@@ -2956,7 +2956,7 @@
/obj/structure/railing{
dir = 9
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -3258,7 +3258,7 @@
/obj/structure/railing{
dir = 1
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/tech/grid,
/area/ship/maintenance/starboard)
@@ -3321,7 +3321,7 @@
icon_state = "5-8"
},
/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/techfloor/orange,
@@ -4610,7 +4610,7 @@
/obj/structure/railing/corner{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/techfloor/orange{
@@ -4726,7 +4726,7 @@
/obj/structure/window/reinforced/tinted/frosted{
dir = 8
},
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/curtain/cloth/grey,
/obj/machinery/light_switch{
dir = 8;
@@ -4851,7 +4851,7 @@
/area/ship/crew/canteen)
"Dh" = (
/obj/structure/table/wood,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/plasteel,
/area/ship/security/prison)
"Dj" = (
@@ -5222,7 +5222,7 @@
/obj/item/canvas/twentythreeXtwentythree,
/obj/structure/closet/crate/trashcart,
/obj/item/paint/anycolor,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/sprayweb,
/turf/open/floor/plating,
@@ -5644,7 +5644,7 @@
/turf/open/floor/mineral/plastitanium/red/brig,
/area/ship/hallway/central)
"GZ" = (
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/plating,
/area/ship/maintenance/fore)
"Ha" = (
@@ -5657,7 +5657,7 @@
/obj/structure/railing{
dir = 1
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/engineering)
@@ -5752,7 +5752,7 @@
/obj/structure/railing{
dir = 1
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -6434,7 +6434,7 @@
dir = 4
},
/obj/structure/curtain/cloth/grey,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/wood,
/area/ship/crew/dorm)
"Lt" = (
@@ -6870,7 +6870,7 @@
/obj/structure/railing{
dir = 1
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
@@ -7102,7 +7102,7 @@
/turf/open/floor/plasteel/tech/grid,
/area/ship/maintenance/starboard)
"PC" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/siding/red{
dir = 4
},
@@ -7467,7 +7467,7 @@
/obj/structure/railing{
dir = 6
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/port)
@@ -7713,7 +7713,7 @@
/turf/open/floor/plasteel/patterned/grid,
/area/ship/crew/dorm/dormthree)
"Ti" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/railing{
dir = 9
@@ -7737,7 +7737,7 @@
/obj/structure/railing{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ship/maintenance/port)
@@ -8532,7 +8532,7 @@
/area/ship/engineering/atmospherics)
"XY" = (
/obj/structure/table/wood,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/effect/turf_decal/spline/plain/opaque/blue,
/turf/open/floor/plasteel,
/area/ship/security/prison)
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm
index f50061aaa28f..5d181bcf584c 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm
@@ -1137,7 +1137,7 @@
},
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
/obj/machinery/firealarm/directional/east,
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/plasma,
/turf/open/floor/plating,
/area/ship/maintenance/port)
@@ -3923,7 +3923,7 @@
/turf/open/floor/plasteel/dark,
/area/ship/hallway/port)
"EP" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/plasteel/lightgrey,
/area/ship/hallway/central)
"Ff" = (
@@ -4272,7 +4272,7 @@
id = "Ranger_Port_maint_shut";
req_ship_access = 1
},
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/plating,
/area/ship/maintenance/port)
"Ih" = (
@@ -5558,11 +5558,11 @@
/obj/effect/turf_decal/techfloor{
dir = 5
},
-/obj/effect/spawner/lootdrop/lpaid{
+/obj/effect/spawner/random/lpaid{
pixel_x = 2;
pixel_y = -2
},
-/obj/effect/spawner/lootdrop/lpretrieval{
+/obj/effect/spawner/random/lpretrieval{
pixel_x = -10;
pixel_y = 10
},
diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm
index 933d8f7fbfe0..ca6e86f10345 100644
--- a/_maps/shuttles/pgf/pgf_crying_sun.dmm
+++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm
@@ -2667,7 +2667,7 @@
/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{
dir = 8
},
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/machinery/light/directional/east,
/turf/open/floor/plasteel/dark,
/area/ship/crew/canteen)
@@ -2935,7 +2935,7 @@
/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{
dir = 1
},
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/turf/open/floor/plasteel/dark,
/area/ship/crew/canteen)
"zc" = (
@@ -6330,10 +6330,10 @@
/obj/item/storage/ration/vegan_chili,
/obj/item/storage/ration/beef_strips,
/obj/item/storage/ration/beef_strips,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/storage/cans/sixbeer,
/turf/open/floor/plasteel/white,
/area/ship/crew/canteen)
diff --git a/_maps/shuttles/pirate/pirate_libertatia.dmm b/_maps/shuttles/pirate/pirate_libertatia.dmm
index 46d00806edd7..2890fa5ba815 100644
--- a/_maps/shuttles/pirate/pirate_libertatia.dmm
+++ b/_maps/shuttles/pirate/pirate_libertatia.dmm
@@ -842,8 +842,8 @@
/area/ship/crew)
"AL" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4,
/obj/item/radio/intercom/directional/north,
/obj/item/lighter{
@@ -876,8 +876,8 @@
/turf/open/floor/plasteel/grimy,
/area/ship/crew)
"Bw" = (
-/obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
-/obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
+/obj/effect/spawner/random/clothing/pirate_or_bandana,
+/obj/effect/spawner/random/clothing/pirate_or_bandana,
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/shoes/jackboots,
@@ -1569,12 +1569,12 @@
name = "food crate"
},
/obj/item/storage/cans/sixbeer,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
},
diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm
index 3e48d25a962c..35387ea53cd5 100644
--- a/_maps/shuttles/pirate/pirate_tortuga.dmm
+++ b/_maps/shuttles/pirate/pirate_tortuga.dmm
@@ -158,7 +158,7 @@
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
"bR" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
"cb" = (
@@ -555,7 +555,7 @@
/turf/open/floor/plasteel/tech/grid,
/area/ship/security/armory)
"gG" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/glass,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
@@ -918,7 +918,7 @@
/turf/open/floor/mineral/plastitanium,
/area/ship/security/armory)
"kp" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/structure/cable/yellow{
icon_state = "4-8"
},
@@ -928,7 +928,7 @@
},
/area/ship/maintenance)
"kv" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
@@ -942,7 +942,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
"la" = (
@@ -977,7 +977,7 @@
/turf/open/floor/plasteel/tech/techmaint,
/area/ship/cargo)
"li" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
@@ -1022,7 +1022,7 @@
/turf/open/floor/mineral/plastitanium,
/area/ship/security/armory)
"mf" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/structure/cable/yellow{
icon_state = "5-9"
},
@@ -1297,8 +1297,8 @@
/turf/open/floor/plasteel,
/area/ship/crew/canteen)
"oK" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/trash/grille_or_waste,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
@@ -1391,7 +1391,7 @@
/turf/closed/wall,
/area/ship/crew/canteen)
"qi" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/crayon{
icon_state = "med"
@@ -1448,7 +1448,7 @@
/obj/structure/cable/yellow{
icon_state = "0-2"
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless{
icon_state = "plating_rust"
@@ -1546,7 +1546,7 @@
/turf/open/floor/plasteel,
/area/ship/crew/canteen)
"ti" = (
-/obj/effect/spawner/lootdrop/donut,
+/obj/effect/spawner/random/food_or_drink/donut,
/turf/open/floor/plating/airless{
icon_state = "plating_rust"
},
@@ -1577,7 +1577,7 @@
dir = 1
},
/obj/structure/curtain/cloth,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/carpet,
/area/ship/crew)
@@ -1936,7 +1936,7 @@
/turf/open/floor/plasteel,
/area/ship/crew/canteen)
"yc" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
@@ -2051,7 +2051,7 @@
"Ar" = (
/obj/structure/bed,
/obj/structure/curtain/cloth,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/turf/open/floor/carpet,
/area/ship/crew)
"Av" = (
@@ -2072,7 +2072,7 @@
/turf/open/floor/plasteel,
/area/ship/crew)
"AG" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
"AQ" = (
@@ -2199,7 +2199,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless{
icon_state = "plating_rust"
@@ -2233,7 +2233,7 @@
dir = 1
},
/obj/structure/curtain/cloth,
-/obj/item/bedsheet/dorms,
+/obj/effect/spawner/random/bedsheet,
/obj/machinery/airalarm/directional/north,
/turf/open/floor/carpet,
/area/ship/crew)
@@ -2255,7 +2255,7 @@
/turf/open/floor/plating/airless,
/area/ship/maintenance)
"Eb" = (
-/obj/effect/spawner/lootdrop/waste/trash,
+/obj/effect/spawner/random/trash/decal,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless{
icon_state = "plating_rust"
@@ -2820,9 +2820,9 @@
/area/ship/crew/canteen)
"Lb" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/effect/turf_decal/siding/wideplating{
dir = 5
},
@@ -2998,7 +2998,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless{
icon_state = "plating_rust"
@@ -3216,7 +3216,7 @@
/turf/open/floor/plasteel/white,
/area/ship/crew/canteen)
"Pb" = (
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless{
icon_state = "platingdmg1"
},
@@ -3309,7 +3309,7 @@
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"QM" = (
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/obj/structure/closet/cardboard,
/turf/open/floor/plating/airless,
/area/ship/maintenance)
@@ -3358,7 +3358,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/airless{
icon_state = "plating_rust"
},
@@ -4044,7 +4044,7 @@
/turf/open/floor/plating,
/area/ship/cargo)
"YU" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/airless{
icon_state = "plating_rust"
diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm
index 0a63ed263799..8ed63dcfac50 100644
--- a/_maps/shuttles/solgov/solgov_inkwell.dmm
+++ b/_maps/shuttles/solgov/solgov_inkwell.dmm
@@ -2536,7 +2536,7 @@
/obj/effect/turf_decal/industrial/stand_clear{
dir = 1
},
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"qw" = (
@@ -2645,7 +2645,7 @@
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"rm" = (
-/obj/effect/spawner/lootdrop/crate_spawner,
+/obj/effect/spawner/random/structure/crate_abandoned,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 1
},
@@ -2862,7 +2862,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"sn" = (
@@ -5208,7 +5208,7 @@
/obj/structure/closet/crate,
/obj/effect/turf_decal/techfloor,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/tech/grid,
/area/ship/storage)
"GN" = (
@@ -5450,7 +5450,7 @@
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"IC" = (
-/obj/effect/spawner/lootdrop/crate_spawner,
+/obj/effect/spawner/random/structure/crate_abandoned,
/obj/machinery/light/small/directional/east,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plasteel/tech/grid,
@@ -5613,7 +5613,7 @@
dir = 1
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"JN" = (
@@ -6128,7 +6128,7 @@
/area/ship/crew/canteen/kitchen)
"Nj" = (
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"Np" = (
@@ -6776,7 +6776,7 @@
/area/ship/bridge)
"RS" = (
/obj/structure/closet/cardboard,
-/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plasteel/mono,
/area/ship/cargo)
"RX" = (
diff --git a/_maps/shuttles/subshuttles/independent_sugarcube.dmm b/_maps/shuttles/subshuttles/independent_sugarcube.dmm
index 0504142f55b3..ad9ef66d3d5d 100644
--- a/_maps/shuttles/subshuttles/independent_sugarcube.dmm
+++ b/_maps/shuttles/subshuttles/independent_sugarcube.dmm
@@ -56,8 +56,8 @@
/turf/open/floor/plating,
/area/ship/engineering)
"h" = (
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/trash/cheesie,
/obj/item/trash/cheesie,
/obj/item/trash/candy,
@@ -259,8 +259,8 @@
/obj/item/circuitboard/machine/autolathe,
/obj/item/pickaxe/improvised,
/obj/item/pickaxe/improvised,
-/obj/effect/spawner/lootdrop/glowstick,
-/obj/effect/spawner/lootdrop/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
+/obj/effect/spawner/random/decoration/glowstick,
/obj/machinery/power/terminal{
dir = 8
},
diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm
index 253a82277fdf..71019ff4131e 100644
--- a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm
+++ b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm
@@ -849,9 +849,9 @@
/obj/structure/railing{
dir = 4
},
-/obj/effect/spawner/lootdrop/maintenance/five,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/maintenance/five,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/item/stack/marker_beacon/thirty,
/turf/open/floor/plasteel/tech/grid,
/area/ship/cargo)
diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm
index 4aafbcf9dc72..711a9f2033ae 100644
--- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm
+++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm
@@ -222,12 +222,12 @@
name = "food crate"
},
/obj/item/storage/cans/sixbeer,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/effect/turf_decal/industrial/outline,
/turf/open/floor/plasteel/mono/dark,
/area/ship/cargo)
@@ -1284,8 +1284,8 @@
/area/ship/security/armory)
"wO" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/obj/effect/turf_decal/corner/transparent/bar{
dir = 1
},
diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm
index fedc993738bd..6b63e3626a88 100644
--- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm
+++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm
@@ -998,7 +998,7 @@
/turf/open/floor/plasteel/tech/grid,
/area/ship/cargo)
"jD" = (
-/obj/effect/spawner/lootdrop/salvage_capacitor,
+/obj/effect/spawner/random/salvage_capacitor,
/obj/effect/decal/cleanable/shreds,
/obj/structure/cable{
icon_state = "4-8"
@@ -1461,7 +1461,7 @@
dir = 9
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/effect/turf_decal/box,
/obj/machinery/camera/autoname{
dir = 10
@@ -2009,7 +2009,7 @@
dir = 4
},
/obj/machinery/light/dim/directional/north,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plasteel/tech,
/area/ship/maintenance/starboard)
"sV" = (
@@ -2058,9 +2058,9 @@
dir = 10
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/random/clothing/costume,
/obj/item/storage/box/emptysandbags,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/obj/machinery/button/door{
dir = 4;
id = "syndie_mechbay";
@@ -3151,22 +3151,14 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 1
},
-/obj/effect/spawner/lootdrop/ration{
- pixel_x = -6
- },
-/obj/effect/spawner/lootdrop/ration{
- pixel_x = -6
- },
-/obj/effect/spawner/lootdrop/ration{
- pixel_x = -6
- },
-/obj/effect/spawner/lootdrop/ration{
- pixel_x = -6
- },
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/machinery/airalarm/directional/south,
/turf/open/floor/mineral/plastitanium,
/area/ship/hallway/aft)
@@ -3257,7 +3249,7 @@
/turf/open/floor/plasteel/tech/techmaint,
/area/ship/engineering)
"FV" = (
-/obj/effect/spawner/lootdrop/salvage_scanning,
+/obj/effect/spawner/random/salvage_scanning,
/obj/effect/decal/cleanable/shreds{
pixel_y = 14
},
@@ -3884,10 +3876,10 @@
/obj/structure/table/reinforced,
/obj/item/hemostat,
/obj/machinery/light/directional/west,
-/obj/effect/spawner/lootdrop/random_prosthetic{
+/obj/effect/spawner/random/medical/prosthetic{
pixel_x = 6
},
-/obj/effect/spawner/lootdrop/random_prosthetic{
+/obj/effect/spawner/random/medical/prosthetic{
pixel_x = -6
},
/turf/open/floor/pod/dark,
@@ -4460,7 +4452,7 @@
/obj/structure/railing{
dir = 8
},
-/obj/effect/spawner/lootdrop/salvage_manipulator,
+/obj/effect/spawner/random/salvage_manipulator,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/industrial/warning{
dir = 1
@@ -5348,7 +5340,7 @@
/turf/open/floor/plasteel/tech,
/area/ship/engineering)
"YT" = (
-/obj/effect/spawner/lootdrop/salvage_manipulator,
+/obj/effect/spawner/random/salvage_manipulator,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/cable{
icon_state = "4-8"
@@ -5431,7 +5423,7 @@
},
/area/ship/cargo)
"Zf" = (
-/obj/effect/spawner/lootdrop/salvage_matter_bin,
+/obj/effect/spawner/random/salvage_matter_bin,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/industrial/warning{
@@ -5447,7 +5439,7 @@
/obj/effect/turf_decal/techfloor{
dir = 8
},
-/obj/effect/spawner/lootdrop/maintenance/two,
+/obj/effect/spawner/random/maintenance/two,
/obj/machinery/button/door{
dir = 1;
id = "Artillery2shutter";
diff --git a/_maps/shuttles/syndicate/syndicate_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_litieguai.dmm
index 2b12f177f57e..750f3016b14e 100644
--- a/_maps/shuttles/syndicate/syndicate_litieguai.dmm
+++ b/_maps/shuttles/syndicate/syndicate_litieguai.dmm
@@ -266,7 +266,7 @@
/turf/open/floor/plasteel/patterned/brushed,
/area/ship/medical)
"fX" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/trimline/opaque/red/filled/line{
dir = 8
},
@@ -397,8 +397,8 @@
/area/ship/crew)
"jh" = (
/obj/structure/table,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/obj/item/radio/intercom/directional/west,
/turf/open/floor/wood/ebony,
/area/ship/crew)
@@ -538,7 +538,7 @@
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/ship/maintenance/port)
"na" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/trimline/opaque/red/filled/line{
dir = 8
},
diff --git a/_maps/shuttles/syndicate/syndicate_panacea.dmm b/_maps/shuttles/syndicate/syndicate_panacea.dmm
index 3d26ff6512b5..875d5806131c 100644
--- a/_maps/shuttles/syndicate/syndicate_panacea.dmm
+++ b/_maps/shuttles/syndicate/syndicate_panacea.dmm
@@ -47,7 +47,7 @@
/turf/open/floor/plasteel/sepia,
/area/ship/crew/ccommons)
"az" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/suns/diagonal{
color = "#543C30"
},
@@ -7126,7 +7126,7 @@
/turf/open/floor/carpet/red,
/area/ship/crew/dorm/dormtwo)
"Qi" = (
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/turf/open/floor/suns/diagonal{
color = "#543C30"
},
@@ -8163,7 +8163,7 @@
/area/ship/engineering)
"Wr" = (
/obj/machinery/light/directional/north,
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/turf/open/floor/suns/dark/plain,
/area/ship/crew/ccommons)
"Wu" = (
diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm
index 9b789add9c3e..f52d41d021c3 100644
--- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm
+++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm
@@ -272,7 +272,7 @@
"bR" = (
/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters,
/obj/machinery/light/directional/south,
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/obj/effect/turf_decal/borderfloorblack{
dir = 1
},
@@ -358,7 +358,7 @@
/area/ship/medical)
"cp" = (
/obj/structure/closet/emcloset,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/item/trash/syndi_cakes,
/turf/open/floor/plating,
/area/ship/engineering/atmospherics)
@@ -815,7 +815,7 @@
/turf/open/floor/plasteel/dark,
/area/ship/security)
"eQ" = (
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/pod/dark,
/area/ship/engineering/atmospherics)
"eR" = (
@@ -3005,8 +3005,8 @@
/obj/item/storage/box/ingredients/vegetarian,
/obj/item/reagent_containers/condiment/milk,
/obj/item/reagent_containers/condiment/milk,
-/obj/effect/spawner/lootdrop/donkpockets,
-/obj/effect/spawner/lootdrop/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/carpet/red,
/area/ship/crew/canteen)
"qQ" = (
@@ -5820,7 +5820,7 @@
dir = 8
},
/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance/eight,
+/obj/effect/spawner/random/maintenance/eight,
/obj/item/circuitboard/machine/autolathe,
/obj/item/stock_parts/manipulator,
/obj/item/stock_parts/matter_bin,
@@ -6329,7 +6329,7 @@
dir = 8
},
/obj/machinery/light/directional/north,
-/obj/machinery/vending/cola/random,
+/obj/effect/spawner/random/vending/cola,
/obj/effect/turf_decal/borderfloorblack/corner{
dir = 8
},
@@ -7487,7 +7487,7 @@
icon_state = "2-8"
},
/obj/structure/closet/emcloset,
-/obj/effect/spawner/lootdrop/maintenance/four,
+/obj/effect/spawner/random/maintenance/four,
/obj/item/reagent_containers/food/snacks/burger/red{
name = "suspicious red burger";
desc = "A suspicious looking burger.";
@@ -8597,9 +8597,9 @@
"Xf" = (
/obj/structure/table/wood,
/obj/machinery/door/firedoor/border_only,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
-/obj/effect/spawner/lootdrop/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
+/obj/effect/spawner/random/food_or_drink/ration,
/turf/open/floor/carpet/red,
/area/ship/crew/canteen)
"Xg" = (
diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm
index c12d8dd837da..6a076e34555b 100644
--- a/_maps/templates/shelter_2.dmm
+++ b/_maps/templates/shelter_2.dmm
@@ -161,7 +161,7 @@
pixel_x = 7;
pixel_y = 2
},
-/obj/effect/spawner/lootdrop/three_course_meal,
+/obj/effect/spawner/random/food_or_drink/three_course_meal,
/turf/open/floor/carpet/black,
/area/survivalpod)
"y" = (
diff --git a/_maps/templates/shelter_3.dmm b/_maps/templates/shelter_3.dmm
index 570483a06a1d..56743e38b0f7 100644
--- a/_maps/templates/shelter_3.dmm
+++ b/_maps/templates/shelter_3.dmm
@@ -225,7 +225,7 @@
/turf/open/floor/carpet/black,
/area/survivalpod)
"L" = (
-/obj/machinery/vending/snack/random,
+/obj/effect/spawner/random/vending/snack,
/turf/open/floor/carpet/black,
/area/survivalpod)
"M" = (
diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm
index b231b4e944c9..776014c4dfb5 100644
--- a/code/__HELPERS/_lists.dm
+++ b/code/__HELPERS/_lists.dm
@@ -261,43 +261,99 @@
result = first ^ second
return result
-//Picks a random element from a list based on a weighting system:
-//1. Adds up the total of weights for each element
-//2. Gets a number between 1 and that total
-//3. For each element in the list, subtracts its weighting from that number
-//4. If that makes the number 0 or less, return that element.
-/proc/pickweight(list/L)
+/**
+ * Picks a random element from a list based on a weighting system:
+ * 1. Adds up the total of weights for each element
+ * 2. Gets a number between 1 and that total
+ * 3. For each element in the list, subtracts its weighting from that number
+ * 4. If that makes the number 0 or less, return that element.
+ * Will output null sometimes if you use decimals (e.g. 0.1 instead of 10) as rand() uses integers, not floats
+**/
+/proc/pick_weight(list/list_to_pick)
var/total = 0
var/item
- for (item in L)
- if (!L[item])
- L[item] = 1
- total += L[item]
+ for(item in list_to_pick)
+ if(!list_to_pick[item])
+ list_to_pick[item] = 1
+ total += list_to_pick[item]
total = rand(1, total)
- for (item in L)
- total -=L [item]
- if (total <= 0)
+ for(item in list_to_pick)
+ total -= list_to_pick[item]
+ if(total <= 0)
return item
return null
-/proc/pickweightAllowZero(list/L) //The original pickweight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be.
+/**
+ * Picks a random element from a list based on a weighting system.
+ * For example, given the following list:
+ * A = 6, B = 3, C = 1, D = 0
+ * A would have a 60% chance of being picked,
+ * B would have a 30% chance of being picked,
+ * C would have a 10% chance of being picked,
+ * and D would have a 0% chance of being picked.
+ * You should only pass integers in.
+ */
+/proc/pick_weight_allow_zero(list/list_to_pick) //The original pick_weight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be.
+ if(length(list_to_pick) == 0)
+ return null
+
var/total = 0
- var/item
- for (item in L)
- if (!L[item])
- L[item] = 0
- total += L[item]
+ for(var/item in list_to_pick)
+ if(!list_to_pick[item])
+ list_to_pick[item] = 0
+ total += list_to_pick[item]
- total = rand(0, total)
- for (item in L)
- total -=L [item]
- if (total <= 0 && L[item])
+ total = rand(1, total)
+ for(var/item in list_to_pick)
+ var/item_weight = list_to_pick[item]
+ if(item_weight == 0)
+ continue
+
+ total -= item_weight
+ if(total <= 0)
return item
return null
+/**
+ * Like pick_weight, but allowing for nested lists.
+ *
+ * For example, given the following list:
+ * list(A = 1, list(B = 1, C = 1))
+ * A would have a 50% chance of being picked,
+ * and list(B, C) would have a 50% chance of being picked.
+ * If list(B, C) was picked, B and C would then each have a 50% chance of being picked.
+ * So the final probabilities would be 50% for A, 25% for B, and 25% for C.
+ *
+ * Weights should be integers. Entries without weights are assigned weight 1 (so unweighted lists can be used as well)
+ */
+/proc/pick_weight_recursive(list/list_to_pick)
+ var/result = pick_weight(fill_with_ones(list_to_pick))
+ while(islist(result))
+ result = pick_weight(fill_with_ones(result))
+ return result
+
+/**
+ * Given a list, return a copy where values without defined weights are given weight 1.
+ * For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1)
+ * Useful for weighted random choices (loot tables, syllables in languages, etc.)
+ */
+/proc/fill_with_ones(list/list_to_pad)
+ if (!islist(list_to_pad))
+ return list_to_pad
+
+ var/list/final_list = list()
+
+ for (var/key in list_to_pad)
+ if (list_to_pad[key])
+ final_list[key] = list_to_pad[key]
+ else
+ final_list[key] = 1
+
+ return final_list
+
/// Takes a weighted list (see above) and expands it into raw entries
/// This eats more memory, but saves time when actually picking from it
/proc/expand_weights(list/list_to_pick)
diff --git a/code/__HELPERS/_string_lists.dm b/code/__HELPERS/_string_lists.dm
index cdbee26f9ba7..5dab48761ecc 100644
--- a/code/__HELPERS/_string_lists.dm
+++ b/code/__HELPERS/_string_lists.dm
@@ -1,5 +1,5 @@
#define pick_list(FILE, KEY) (pick(strings(FILE, KEY)))
-#define pick_list_weighted(FILE, KEY) (pickweight(strings(FILE, KEY)))
+#define pick_list_weighted(FILE, KEY) (pick_weight(strings(FILE, KEY)))
#define pick_list_replacements(FILE, KEY) (strings_replacement(FILE, KEY))
#define json_load(FILE) (json_decode(file2text(FILE)))
diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm
index 15fbf39c6e24..505734d6cd5d 100644
--- a/code/_globalvars/lists/maintenance_loot.dm
+++ b/code/_globalvars/lists/maintenance_loot.dm
@@ -92,7 +92,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items
/obj/item/clothing/suit/toggle/labcoat = 1,
/obj/item/clothing/under/color/grey = 1,
/obj/item/clothing/gloves/color/fyellow = 1,
- /obj/effect/spawner/lootdrop/gloves = 1,
+ /obj/effect/spawner/random/clothing/gloves = 1,
/obj/item/storage/wallet/random = 1,
/obj/item/clothing/glasses/science = 1,
/obj/item/clothing/glasses/meson = 1,
@@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items
//light sources
/obj/item/flashlight = 1,
- /obj/effect/spawner/lootdrop/glowstick = 1,
+ /obj/effect/spawner/random/decoration/glowstick = 1,
/obj/item/clothing/head/hardhat/red = 1,
/obj/item/flashlight/flare = 1,
) = 1,
@@ -233,7 +233,7 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items
/obj/item/storage/box/donkpockets/donkpockethonk = 1,
) = 1,
/obj/item/reagent_containers/food/snacks/monkeycube = 1,
- /obj/effect/spawner/lootdrop/ration = 1,
+ /obj/effect/spawner/random/food_or_drink/ration = 1,
) = 8,
list(//fakeout items, keep this list at low relative weight
diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm
index ac7298dc100d..37256f9ce833 100644
--- a/code/controllers/configuration/entries/game_options.dm
+++ b/code/controllers/configuration/entries/game_options.dm
@@ -431,3 +431,13 @@
max_val = 255
config_entry_value = 127
min_val = 127
+
+/**
+ * A config that skews with the random spawners weights
+ * If the value is lower than 1, it'll tend to even out the odds
+ * If higher than 1, it'll lean toward common spawns even more.
+ */
+/datum/config_entry/number/random_loot_weight_modifier
+ integer = FALSE
+ default = 1
+ min_val = 0.05
diff --git a/code/controllers/subsystem/overmap.dm b/code/controllers/subsystem/overmap.dm
index 113bfefa7a52..dd5515397277 100644
--- a/code/controllers/subsystem/overmap.dm
+++ b/code/controllers/subsystem/overmap.dm
@@ -154,7 +154,7 @@ SUBSYSTEM_DEF(overmap)
return
if(!length(orbits))
break // Can't fit any more in
- var/event_type = pickweight(GLOB.overmap_event_pick_list)
+ var/event_type = pick_weight(GLOB.overmap_event_pick_list)
var/selected_orbit = pick(orbits)
var/list/T = get_unused_overmap_square_in_radius(selected_orbit)
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 5ca963c53472..7f0e9c8ee627 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -225,7 +225,7 @@ SUBSYSTEM_DEF(ticker)
if(!runnable_modes.len)
to_chat(world, "Unable to choose playable game mode. Reverting to pre-game lobby.")
return 0
- mode = pickweight(runnable_modes)
+ mode = pick_weight(runnable_modes)
if(!mode) //too few roundtypes all run too recently
mode = pick(runnable_modes)
diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm
index acaa03d3ff7a..148bf17ed210 100644
--- a/code/datums/ai_laws.dm
+++ b/code/datums/ai_laws.dm
@@ -264,7 +264,7 @@
var/datum/ai_laws/lawtype
var/list/law_weights = CONFIG_GET(keyed_list/law_weight)
while(!lawtype && law_weights.len)
- var/possible_id = pickweightAllowZero(law_weights)
+ var/possible_id = pick_weight_allow_zero(law_weights)
lawtype = lawid_to_type(possible_id)
if(!lawtype)
law_weights -= possible_id
@@ -331,7 +331,7 @@
replaceable_groups[LAW_INHERENT] = inherent.len
if(supplied.len && (LAW_SUPPLIED in groups))
replaceable_groups[LAW_SUPPLIED] = supplied.len
- var/picked_group = pickweight(replaceable_groups)
+ var/picked_group = pick_weight(replaceable_groups)
switch(picked_group)
if(LAW_ZEROTH)
. = zeroth
diff --git a/code/datums/components/fantasy/_fantasy.dm b/code/datums/components/fantasy/_fantasy.dm
index 92bd0868a746..6941f6c169b4 100644
--- a/code/datums/components/fantasy/_fantasy.dm
+++ b/code/datums/components/fantasy/_fantasy.dm
@@ -75,7 +75,7 @@
var/usedSlots = NONE
for(var/i in 1 to max(1, abs(quality))) // We want at least 1 affix applied
- var/datum/fantasy_affix/affix = pickweight(affixListing)
+ var/datum/fantasy_affix/affix = pick_weight(affixListing)
if(affix.placement & usedSlots)
continue
if(!(affix.alignment & alignment))
diff --git a/code/datums/components/fantasy/suffixes.dm b/code/datums/components/fantasy/suffixes.dm
index 8cabee42d21c..7035c143ae4f 100644
--- a/code/datums/components/fantasy/suffixes.dm
+++ b/code/datums/components/fantasy/suffixes.dm
@@ -138,7 +138,7 @@
/obj/projectile/beam/disabler = 15
)
- var/obj/projectile/picked_projectiletype = pickweight(weighted_projectile_types)
+ var/obj/projectile/picked_projectiletype = pick_weight(weighted_projectile_types)
var/obj/item/master = comp.parent
comp.appliedComponents += master.AddComponent(/datum/component/mirv, picked_projectiletype)
diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm
index 1307d5d0ec8e..7f4b8b50229e 100644
--- a/code/datums/components/squeak.dm
+++ b/code/datums/components/squeak.dm
@@ -67,9 +67,9 @@
if(prob(squeak_chance))
if(!override_squeak_sounds)
- playsound(parent, pickweight(default_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance)
+ playsound(parent, pick_weight(default_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance)
else
- playsound(parent, pickweight(override_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance)
+ playsound(parent, pick_weight(override_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance)
/datum/component/squeak/proc/step_squeak()
SIGNAL_HANDLER
diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm
index bb7a33846a34..f88e594e3fc7 100644
--- a/code/datums/looping_sounds/_looping_sound.dm
+++ b/code/datums/looping_sounds/_looping_sound.dm
@@ -100,7 +100,7 @@
/datum/looping_sound/proc/get_sound(starttime, _mid_sounds)
. = _mid_sounds || mid_sounds
while(!isfile(.) && !isnull(.))
- . = pickweight(.)
+ . = pick_weight(.)
/datum/looping_sound/proc/on_start()
var/start_wait = 0
diff --git a/code/datums/mapgen/planetary/JungleGenerator.dm b/code/datums/mapgen/planetary/JungleGenerator.dm
index 077065c8e44e..f64e47504957 100644
--- a/code/datums/mapgen/planetary/JungleGenerator.dm
+++ b/code/datums/mapgen/planetary/JungleGenerator.dm
@@ -100,7 +100,7 @@
mob_spawn_list = list(
/mob/living/carbon/monkey = 10,
/mob/living/simple_animal/hostile/retaliate/chicken = 10,
- /obj/effect/spawner/lootdrop/chicken/jungle/flock = 1
+ /obj/effect/spawner/random/chicken/jungle/flock = 1
)
/datum/biome/jungle/dense
@@ -123,7 +123,7 @@
/mob/living/simple_animal/hostile/gorilla = 1,
/mob/living/carbon/monkey = 6,
/mob/living/simple_animal/hostile/retaliate/chicken = 4,
- /obj/effect/spawner/lootdrop/chicken/jungle/flock = 1
+ /obj/effect/spawner/random/chicken/jungle/flock = 1
)
/datum/biome/jungle/plains
@@ -181,7 +181,7 @@
feature_spawn_list = list(
/obj/item/pickaxe/rusted = 1,
/obj/structure/spawner/burrow/jungle_planet = 1,
- /obj/effect/spawner/lootdrop/anomaly/jungle = 1
+ /obj/effect/spawner/random/anomaly/jungle = 1
)
/datum/biome/cave/jungle/dirt
diff --git a/code/datums/mapgen/planetary/LavaGenerator.dm b/code/datums/mapgen/planetary/LavaGenerator.dm
index bca54d019397..846d4145a66c 100644
--- a/code/datums/mapgen/planetary/LavaGenerator.dm
+++ b/code/datums/mapgen/planetary/LavaGenerator.dm
@@ -100,7 +100,7 @@
/obj/structure/flora/rock/hell = 20,
/obj/structure/elite_tumor = 4,
/obj/structure/geyser/random = 4,
- /obj/effect/spawner/lootdrop/anomaly/lava = 2,
+ /obj/effect/spawner/random/anomaly/lava = 2,
/obj/structure/flora/rock/hell = 14,
/obj/structure/vein = 5,
/obj/structure/vein/classtwo = 2,
@@ -108,7 +108,7 @@
/obj/structure/geyser/random = 2,
/obj/structure/vein/classthree = 1,
/obj/effect/spawner/minefield = 1,
- /obj/effect/spawner/lootdrop/anomaly/lava = 1,
+ /obj/effect/spawner/random/anomaly/lava = 1,
)
mob_spawn_chance = 4
mob_spawn_list = list(
@@ -167,7 +167,7 @@
feature_spawn_list = list(
/obj/structure/flora/tree/dead/barren = 50,
/obj/structure/flora/tree/dead/tall/grey = 45,
- /obj/effect/spawner/lootdrop/anomaly/lava = 10,
+ /obj/effect/spawner/random/anomaly/lava = 10,
/obj/structure/vein = 5,
/obj/structure/vein/classtwo = 2,
/obj/structure/vein/classthree = 1,
diff --git a/code/datums/mapgen/planetary/RockGenerator.dm b/code/datums/mapgen/planetary/RockGenerator.dm
index 30349a2ea53b..b7ab59f5d843 100644
--- a/code/datums/mapgen/planetary/RockGenerator.dm
+++ b/code/datums/mapgen/planetary/RockGenerator.dm
@@ -89,10 +89,10 @@
/obj/structure/vein = 60,
/obj/structure/elite_tumor = 40,
/obj/structure/vein/classtwo = 40,
- /obj/effect/spawner/lootdrop/anomaly/rock = 10,
+ /obj/effect/spawner/random/anomaly/rock = 10,
/obj/structure/vein/classthree = 10,
/obj/effect/spawner/minefield = 2,
- /obj/effect/spawner/lootdrop/anomaly/big = 1 //get out of here stalker
+ /obj/effect/spawner/random/anomaly/big = 1 //get out of here stalker
)
flora_spawn_chance = 5
@@ -162,7 +162,7 @@
/obj/structure/vein/classthree = 1,
/obj/structure/spawner/burrow/rock_plant = 4,
/obj/effect/spawner/minefield = 1,
- /obj/effect/spawner/lootdrop/anomaly/rock/cave = 1,
+ /obj/effect/spawner/random/anomaly/rock/cave = 1,
)
mob_spawn_chance = 6
mob_spawn_list = list(
diff --git a/code/datums/mapgen/planetary/SandGenerator.dm b/code/datums/mapgen/planetary/SandGenerator.dm
index e285f5b1ac6c..37615a6b961e 100644
--- a/code/datums/mapgen/planetary/SandGenerator.dm
+++ b/code/datums/mapgen/planetary/SandGenerator.dm
@@ -96,7 +96,7 @@
/obj/structure/vein/classtwo = 4,
/obj/structure/elite_tumor = 4,
/obj/structure/vein/classthree = 2,
- /obj/effect/spawner/lootdrop/anomaly/sand = 1,
+ /obj/effect/spawner/random/anomaly/sand = 1,
)
mob_spawn_chance = 4
mob_spawn_list = list(
@@ -120,7 +120,7 @@
/obj/structure/flora/ash/cap_shroom = 4,
/obj/structure/flora/ash/stem_shroom = 4,
/obj/effect/decal/remains/human = 4,
- /obj/effect/spawner/lootdrop/maintenance = 40,
+ /obj/effect/spawner/random/maintenance = 40,
)
/datum/biome/sand/grass
@@ -199,7 +199,7 @@
/obj/structure/geyser/random = 4,
/obj/structure/vein/classtwo = 4,
/obj/structure/elite_tumor = 4,
- /obj/effect/spawner/lootdrop/anomaly/sand/cave = 1
+ /obj/effect/spawner/random/anomaly/sand/cave = 1
)
mob_spawn_chance = 4
mob_spawn_list = list(
diff --git a/code/datums/mapgen/planetary/SnowGenerator.dm b/code/datums/mapgen/planetary/SnowGenerator.dm
index 7fddcd176c66..4297f8a50f2c 100644
--- a/code/datums/mapgen/planetary/SnowGenerator.dm
+++ b/code/datums/mapgen/planetary/SnowGenerator.dm
@@ -112,8 +112,8 @@
)
feature_spawn_chance = 0.1
feature_spawn_list = list(
- /obj/effect/spawner/lootdrop/anomaly/ice = 12,
- /obj/effect/spawner/lootdrop/anomaly/big = 1,
+ /obj/effect/spawner/random/anomaly/ice = 12,
+ /obj/effect/spawner/random/anomaly/big = 1,
/obj/structure/spawner/burrow/ice_planet = 80,
/obj/structure/vein/ice = 25,
/obj/effect/spawner/minefield = 2,
@@ -212,8 +212,8 @@
)
feature_spawn_chance = 0.3
feature_spawn_list = list(
- /obj/effect/spawner/lootdrop/anomaly/ice = 100,
- /obj/effect/spawner/lootdrop/anomaly/big = 1,
+ /obj/effect/spawner/random/anomaly/ice = 100,
+ /obj/effect/spawner/random/anomaly/big = 1,
/obj/structure/spawner/burrow/ice_planet/hard = 600,
/obj/structure/vein/ice = 300,
/obj/structure/vein/ice/classtwo = 500,
@@ -268,7 +268,7 @@
feature_spawn_list = list(
/obj/structure/spawner/burrow/ice_planet = 60,
/obj/structure/spawner/burrow/ice_planet = 40,
- /obj/effect/spawner/lootdrop/anomaly/ice/cave = 10,
+ /obj/effect/spawner/random/anomaly/ice/cave = 10,
/obj/structure/vein/ice = 30,
/obj/structure/vein/ice/classtwo = 50,
/obj/structure/vein/ice/classthree = 6,
diff --git a/code/datums/mapgen/planetary/WasteGenerator.dm b/code/datums/mapgen/planetary/WasteGenerator.dm
index 621d5e3b9c4d..3f87e6879c1b 100644
--- a/code/datums/mapgen/planetary/WasteGenerator.dm
+++ b/code/datums/mapgen/planetary/WasteGenerator.dm
@@ -96,27 +96,27 @@
flora_spawn_list = list(
//mech spawners
- /obj/effect/spawner/lootdrop/waste/mechwreck = 100,
- /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 20,
+ /obj/effect/spawner/random/waste/mechwreck = 100,
+ /obj/effect/spawner/random/waste/mechwreck/rare = 20,
//decals and fluff structures
- /obj/effect/spawner/lootdrop/waste/trash = 1800,
- /obj/effect/spawner/lootdrop/waste/radiation = 80,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 10,
+ /obj/effect/spawner/random/trash/decal = 1800,
+ /obj/effect/spawner/random/waste/radiation = 80,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 10,
//stuff you can actually use
- /obj/effect/spawner/lootdrop/waste/girder = 600,
+ /obj/effect/spawner/random/waste/girder = 600,
/obj/structure/reagent_dispensers/watertank = 200,
/obj/item/stack/cable_coil/cut = 500,
/obj/structure/closet/crate/secure/loot = 30,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 50,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1,
- /obj/effect/spawner/lootdrop/waste/salvageable = 300,
- /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200,
- /obj/effect/spawner/lootdrop/maintenance = 200,
- /obj/effect/spawner/lootdrop/maintenance/two = 100,
- /obj/effect/spawner/lootdrop/maintenance/three = 50,
- /obj/effect/spawner/lootdrop/maintenance/four = 20,
+ /obj/effect/spawner/random/waste/atmos_can = 50,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 1,
+ /obj/effect/spawner/random/waste/salvageable = 300,
+ /obj/effect/spawner/random/waste/grille_or_trash = 200,
+ /obj/effect/spawner/random/maintenance = 200,
+ /obj/effect/spawner/random/maintenance/two = 100,
+ /obj/effect/spawner/random/maintenance/three = 50,
+ /obj/effect/spawner/random/maintenance/four = 20,
//plants
/obj/structure/flora/ash/garden/waste = 70,
@@ -125,7 +125,7 @@
//the illusive shrapnel plant
/obj/item/mine/pressure/explosive/shrapnel/live = 30,
- /obj/effect/spawner/lootdrop/mine = 8,
+ /obj/effect/spawner/random/mine = 8,
/obj/effect/spawner/minefield = 2
)
@@ -133,7 +133,7 @@
/obj/effect/radiation/waste = 30,
/obj/effect/radiation/waste/intense = 10,
/obj/structure/geyser/random = 1,
- /obj/effect/spawner/lootdrop/anomaly/waste = 1
+ /obj/effect/spawner/random/anomaly/waste = 1
)
mob_spawn_list = list(
@@ -159,23 +159,23 @@
)
flora_spawn_list = list(
- /obj/effect/spawner/lootdrop/waste/trash = 180,
- /obj/effect/spawner/lootdrop/waste/radiation = 16,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 2,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 36,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1,
- /obj/effect/spawner/lootdrop/waste/salvageable = 60,
+ /obj/effect/spawner/random/trash/decal = 180,
+ /obj/effect/spawner/random/waste/radiation = 16,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 2,
+ /obj/effect/spawner/random/waste/atmos_can = 36,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 1,
+ /obj/effect/spawner/random/waste/salvageable = 60,
)
mob_spawn_chance = 1
/datum/biome/waste/crater/rad
flora_spawn_list = list(
/obj/structure/flora/ash/glowshroom = 180,
- /obj/effect/spawner/lootdrop/waste/trash = 90,
- /obj/effect/spawner/lootdrop/waste/radiation = 25,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 7,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 7,
- /obj/effect/spawner/lootdrop/waste/salvageable = 15
+ /obj/effect/spawner/random/trash/decal = 90,
+ /obj/effect/spawner/random/waste/radiation = 25,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 7,
+ /obj/effect/spawner/random/waste/atmos_can = 7,
+ /obj/effect/spawner/random/waste/salvageable = 15
)
/datum/biome/waste/clearing
@@ -184,26 +184,26 @@
/datum/biome/waste/clearing/mushroom
flora_spawn_list = list(
- /obj/effect/spawner/lootdrop/waste/mechwreck = 100,
- /obj/effect/spawner/lootdrop/waste/trash = 900,
- /obj/effect/spawner/lootdrop/waste/radiation = 300,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 120,
- /obj/effect/spawner/lootdrop/waste/girder = 600,
+ /obj/effect/spawner/random/waste/mechwreck = 100,
+ /obj/effect/spawner/random/trash/decal = 900,
+ /obj/effect/spawner/random/waste/radiation = 300,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 120,
+ /obj/effect/spawner/random/waste/girder = 600,
/obj/structure/reagent_dispensers/watertank = 200,
/obj/item/stack/cable_coil/cut = 500,
/obj/structure/closet/crate/secure/loot = 30,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 50,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1,
- /obj/effect/spawner/lootdrop/waste/salvageable = 300,
- /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200,
- /obj/effect/spawner/lootdrop/maintenance = 200,
- /obj/effect/spawner/lootdrop/maintenance/two = 100,
- /obj/effect/spawner/lootdrop/maintenance/three = 50,
- /obj/effect/spawner/lootdrop/maintenance/four = 20,
+ /obj/effect/spawner/random/waste/atmos_can = 50,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 1,
+ /obj/effect/spawner/random/waste/salvageable = 300,
+ /obj/effect/spawner/random/waste/grille_or_trash = 200,
+ /obj/effect/spawner/random/maintenance = 200,
+ /obj/effect/spawner/random/maintenance/two = 100,
+ /obj/effect/spawner/random/maintenance/three = 50,
+ /obj/effect/spawner/random/maintenance/four = 20,
/obj/structure/flora/ash/garden/waste = 300,
/obj/structure/flora/ash/glowshroom = 1800,
/obj/item/mine/pressure/explosive/shrapnel/live = 30,
- /obj/effect/spawner/lootdrop/mine = 8,
+ /obj/effect/spawner/random/mine = 8,
/obj/effect/spawner/minefield = 2
)
@@ -227,29 +227,29 @@
)
flora_spawn_list = list( //there are no plants here
- /obj/effect/spawner/lootdrop/waste/mechwreck = 200,
- /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 50,
- /obj/effect/spawner/lootdrop/waste/trash = 900,
- /obj/effect/spawner/lootdrop/waste/radiation = 80,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 20,
- /obj/effect/spawner/lootdrop/waste/girder = 600,
+ /obj/effect/spawner/random/waste/mechwreck = 200,
+ /obj/effect/spawner/random/waste/mechwreck/rare = 50,
+ /obj/effect/spawner/random/trash/decal = 900,
+ /obj/effect/spawner/random/waste/radiation = 80,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 20,
+ /obj/effect/spawner/random/waste/girder = 600,
/obj/structure/reagent_dispensers/watertank = 200,
/obj/item/stack/cable_coil/cut = 500,
/obj/structure/closet/crate/secure/loot = 30,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 50,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1,
- /obj/effect/spawner/lootdrop/waste/salvageable = 300,
- /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200,
- /obj/effect/spawner/lootdrop/maintenance = 200,
- /obj/effect/spawner/lootdrop/maintenance/two = 100,
- /obj/effect/spawner/lootdrop/maintenance/three = 50,
- /obj/effect/spawner/lootdrop/maintenance/four = 20,
+ /obj/effect/spawner/random/waste/atmos_can = 50,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 1,
+ /obj/effect/spawner/random/waste/salvageable = 300,
+ /obj/effect/spawner/random/waste/grille_or_trash = 200,
+ /obj/effect/spawner/random/maintenance = 200,
+ /obj/effect/spawner/random/maintenance/two = 100,
+ /obj/effect/spawner/random/maintenance/three = 50,
+ /obj/effect/spawner/random/maintenance/four = 20,
/obj/structure/closet/crate/secure/loot = 30,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 180,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1,
- /obj/effect/spawner/lootdrop/waste/salvageable = 300,
+ /obj/effect/spawner/random/waste/atmos_can = 180,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 1,
+ /obj/effect/spawner/random/waste/salvageable = 300,
/obj/item/mine/pressure/explosive/rad/live = 30,
- /obj/effect/spawner/lootdrop/mine = 8,
+ /obj/effect/spawner/random/mine = 8,
/obj/effect/spawner/minefield = 2
)
mob_spawn_list = list( //nor organics, more biased towards hivebots though
@@ -288,28 +288,28 @@
)
flora_spawn_list = list(
- /obj/effect/spawner/lootdrop/waste/mechwreck = 100,
- /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 20,
- /obj/effect/spawner/lootdrop/waste/trash = 1800,
- /obj/effect/spawner/lootdrop/waste/radiation = 80,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 10,
- /obj/effect/spawner/lootdrop/waste/girder = 600,
+ /obj/effect/spawner/random/waste/mechwreck = 100,
+ /obj/effect/spawner/random/waste/mechwreck/rare = 20,
+ /obj/effect/spawner/random/trash/decal = 1800,
+ /obj/effect/spawner/random/waste/radiation = 80,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 10,
+ /obj/effect/spawner/random/waste/girder = 600,
/obj/structure/reagent_dispensers/watertank = 200,
/obj/item/stack/cable_coil/cut = 500,
/obj/structure/closet/crate/secure/loot = 30,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 50,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 5,
- /obj/effect/spawner/lootdrop/waste/salvageable = 300,
- /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200,
- /obj/effect/spawner/lootdrop/maintenance = 20,
- /obj/effect/spawner/lootdrop/maintenance/two = 50,
- /obj/effect/spawner/lootdrop/maintenance/three = 100,
- /obj/effect/spawner/lootdrop/maintenance/four = 200,
- /obj/effect/spawner/lootdrop/waste/salvageable = 400,
+ /obj/effect/spawner/random/waste/atmos_can = 50,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 5,
+ /obj/effect/spawner/random/waste/salvageable = 300,
+ /obj/effect/spawner/random/waste/grille_or_trash = 200,
+ /obj/effect/spawner/random/maintenance = 20,
+ /obj/effect/spawner/random/maintenance/two = 50,
+ /obj/effect/spawner/random/maintenance/three = 100,
+ /obj/effect/spawner/random/maintenance/four = 200,
+ /obj/effect/spawner/random/waste/salvageable = 400,
/obj/structure/flora/ash/garden/waste = 70,
/obj/structure/flora/ash/glowshroom = 400, //more common in caves
/obj/item/mine/pressure/explosive/rad/live = 10,
- /obj/effect/spawner/lootdrop/mine = 8,
+ /obj/effect/spawner/random/mine = 8,
/obj/effect/spawner/minefield = 2
)
@@ -317,7 +317,7 @@
/obj/effect/radiation/waste = 30,
/obj/effect/radiation/waste/intense = 10,
/obj/structure/geyser/random = 1,
- /obj/effect/spawner/lootdrop/anomaly/waste/cave = 1
+ /obj/effect/spawner/random/anomaly/waste/cave = 1
)
mob_spawn_list = list(
/mob/living/simple_animal/hostile/hivebot/strong/rockplanet = 70,
@@ -348,24 +348,24 @@
/datum/biome/cave/waste/rad
flora_spawn_list = list(
- /obj/effect/spawner/lootdrop/waste/trash = 900,
- /obj/effect/spawner/lootdrop/waste/radiation = 250,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 70,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 50,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 5,
- /obj/effect/spawner/lootdrop/waste/salvageable = 150,
- /obj/effect/spawner/lootdrop/waste/girder = 200,
+ /obj/effect/spawner/random/trash/decal = 900,
+ /obj/effect/spawner/random/waste/radiation = 250,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 70,
+ /obj/effect/spawner/random/waste/atmos_can = 50,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 5,
+ /obj/effect/spawner/random/waste/salvageable = 150,
+ /obj/effect/spawner/random/waste/girder = 200,
/obj/structure/reagent_dispensers/watertank = 10,
/obj/item/stack/cable_coil/cut = 500,
/obj/structure/closet/crate/secure/loot = 30,
- /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200,
- /obj/effect/spawner/lootdrop/maintenance = 20,
- /obj/effect/spawner/lootdrop/maintenance/two = 50,
- /obj/effect/spawner/lootdrop/maintenance/three = 100,
- /obj/effect/spawner/lootdrop/maintenance/four = 200,
+ /obj/effect/spawner/random/waste/grille_or_trash = 200,
+ /obj/effect/spawner/random/maintenance = 20,
+ /obj/effect/spawner/random/maintenance/two = 50,
+ /obj/effect/spawner/random/maintenance/three = 100,
+ /obj/effect/spawner/random/maintenance/four = 200,
/obj/structure/flora/ash/glowshroom = 1800,
/obj/item/mine/pressure/explosive/rad/live = 30,
- /obj/effect/spawner/lootdrop/mine = 8,
+ /obj/effect/spawner/random/mine = 8,
/obj/effect/spawner/minefield = 2
)
feature_spawn_chance = 12
@@ -382,26 +382,26 @@
/turf/closed/wall/rust/wasteplanet = 10
)
flora_spawn_list = list(
- /obj/effect/spawner/lootdrop/waste/mechwreck = 40,
- /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 10,
- /obj/effect/spawner/lootdrop/waste/trash = 180,
- /obj/effect/spawner/lootdrop/waste/radiation = 32,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 4,
- /obj/effect/spawner/lootdrop/waste/girder = 120,
+ /obj/effect/spawner/random/waste/mechwreck = 40,
+ /obj/effect/spawner/random/waste/mechwreck/rare = 10,
+ /obj/effect/spawner/random/trash/decal = 180,
+ /obj/effect/spawner/random/waste/radiation = 32,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 4,
+ /obj/effect/spawner/random/waste/girder = 120,
/obj/structure/reagent_dispensers/watertank = 40,
/obj/item/stack/cable_coil/cut = 100,
/obj/structure/closet/crate/secure/loot = 6,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 10,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1,
- /obj/effect/spawner/lootdrop/waste/salvageable = 60,
- /obj/effect/spawner/lootdrop/waste/grille_or_trash = 40,
- /obj/effect/spawner/lootdrop/maintenance = 4,
- /obj/effect/spawner/lootdrop/maintenance/two = 10,
- /obj/effect/spawner/lootdrop/maintenance/three = 20,
- /obj/effect/spawner/lootdrop/maintenance/four = 40,
- /obj/effect/spawner/lootdrop/waste/salvageable = 80,
+ /obj/effect/spawner/random/waste/atmos_can = 10,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 1,
+ /obj/effect/spawner/random/waste/salvageable = 60,
+ /obj/effect/spawner/random/waste/grille_or_trash = 40,
+ /obj/effect/spawner/random/maintenance = 4,
+ /obj/effect/spawner/random/maintenance/two = 10,
+ /obj/effect/spawner/random/maintenance/three = 20,
+ /obj/effect/spawner/random/maintenance/four = 40,
+ /obj/effect/spawner/random/waste/salvageable = 80,
/obj/item/mine/proximity/spawner/manhack/live = 40,
- /obj/effect/spawner/lootdrop/mine = 8,
+ /obj/effect/spawner/random/mine = 8,
/obj/effect/spawner/minefield/manhack = 2
)
mob_spawn_list = list( //nor organics, more biased towards hivebots though
@@ -417,18 +417,18 @@
/datum/biome/cave/waste/metal/hivebot
flora_spawn_list = list(
- /obj/effect/spawner/lootdrop/waste/trash = 90,
- /obj/effect/spawner/lootdrop/waste/radiation = 16,
- /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 2,
- /obj/effect/spawner/lootdrop/waste/girder = 60,
+ /obj/effect/spawner/random/trash/decal = 90,
+ /obj/effect/spawner/random/waste/radiation = 16,
+ /obj/effect/spawner/random/waste/radiation/more_rads = 2,
+ /obj/effect/spawner/random/waste/girder = 60,
/obj/structure/reagent_dispensers/watertank = 20,
/obj/item/stack/cable_coil/cut = 50,
/obj/structure/closet/crate/secure/loot = 3,
- /obj/effect/spawner/lootdrop/maintenance = 2,
- /obj/effect/spawner/lootdrop/maintenance/two = 5,
- /obj/effect/spawner/lootdrop/maintenance/three = 10,
- /obj/effect/spawner/lootdrop/maintenance/four = 20,
- /obj/effect/spawner/lootdrop/waste/salvageable = 40,
+ /obj/effect/spawner/random/maintenance = 2,
+ /obj/effect/spawner/random/maintenance/two = 5,
+ /obj/effect/spawner/random/maintenance/three = 10,
+ /obj/effect/spawner/random/maintenance/four = 20,
+ /obj/effect/spawner/random/waste/salvageable = 40,
/obj/structure/foamedmetal = 100,
/obj/item/mine/proximity/spawner/manhack/live = 20
)
@@ -456,19 +456,19 @@
)
flora_spawn_list = list(
- /obj/effect/spawner/lootdrop/waste/mechwreck = 20,
- /obj/effect/spawner/lootdrop/waste/trash = 90,
- /obj/effect/spawner/lootdrop/waste/radiation = 16,
+ /obj/effect/spawner/random/waste/mechwreck = 20,
+ /obj/effect/spawner/random/trash/decal = 90,
+ /obj/effect/spawner/random/waste/radiation = 16,
/obj/structure/reagent_dispensers/watertank = 20,
/obj/item/stack/cable_coil/cut = 50,
/obj/structure/closet/crate/secure/loot = 3,
- /obj/effect/spawner/lootdrop/waste/atmos_can = 5,
- /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1,
- /obj/effect/spawner/lootdrop/waste/salvageable = 30,
- /obj/effect/spawner/lootdrop/maintenance = 2,
- /obj/effect/spawner/lootdrop/maintenance/two = 5,
- /obj/effect/spawner/lootdrop/maintenance/three = 10,
- /obj/effect/spawner/lootdrop/waste/salvageable = 40,
+ /obj/effect/spawner/random/waste/atmos_can = 5,
+ /obj/effect/spawner/random/waste/atmos_can/rare = 1,
+ /obj/effect/spawner/random/waste/salvageable = 30,
+ /obj/effect/spawner/random/maintenance = 2,
+ /obj/effect/spawner/random/maintenance/two = 5,
+ /obj/effect/spawner/random/maintenance/three = 10,
+ /obj/effect/spawner/random/waste/salvageable = 40,
)
mob_spawn_list = list(
/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 80,
diff --git a/code/datums/mapgen/single_biome/WasteplanetCaves.dm b/code/datums/mapgen/single_biome/WasteplanetCaves.dm
index 08f63ba3149a..3caf1c9429ad 100644
--- a/code/datums/mapgen/single_biome/WasteplanetCaves.dm
+++ b/code/datums/mapgen/single_biome/WasteplanetCaves.dm
@@ -40,7 +40,7 @@
/obj/structure/salvageable/destructive_analyzer = 8,
/obj/structure/salvageable/server = 8,
/obj/item/mine/pressure/explosive/rusty/live = 30,
- /obj/effect/spawner/lootdrop/mine = 8
+ /obj/effect/spawner/random/mine = 8
)
feature_spawn_list = list(
/obj/structure/geyser/random = 1,
diff --git a/code/datums/votes/_vote_datum.dm b/code/datums/votes/_vote_datum.dm
index 8c7b7234b516..7118695bf1bb 100644
--- a/code/datums/votes/_vote_datum.dm
+++ b/code/datums/votes/_vote_datum.dm
@@ -156,7 +156,7 @@
/// Gets the winner of the vote, selecting a random choice from all choices based on their vote count.
/datum/vote/proc/get_random_winner()
- var/winner = pickweight(choices)
+ var/winner = pick_weight(choices)
return winner ? list(winner) : list()
/**
diff --git a/code/datums/weather/weather_controller.dm b/code/datums/weather/weather_controller.dm
index ad4d5005c049..30be3ebb23c5 100644
--- a/code/datums/weather/weather_controller.dm
+++ b/code/datums/weather/weather_controller.dm
@@ -60,7 +60,7 @@
if(!possible_weathers)
return
next_weather = world.time + rand(wait_interval_low, wait_interval_high)
- next_weather_type = pickweight(possible_weathers)
+ next_weather_type = pick_weight(possible_weathers)
/datum/weather_controller/proc/run_weather(datum/weather/weather_datum_type, telegraph = TRUE)
if(!ispath(weather_datum_type, /datum/weather))
diff --git a/code/game/MapData/shuttles/nanotrasen_ranger.dm b/code/game/MapData/shuttles/nanotrasen_ranger.dm
index 08f1a7c670d2..06d988760722 100644
--- a/code/game/MapData/shuttles/nanotrasen_ranger.dm
+++ b/code/game/MapData/shuttles/nanotrasen_ranger.dm
@@ -283,9 +283,9 @@
//lootdrop
-/obj/effect/spawner/lootdrop/lpretrieval
+/obj/effect/spawner/random/lpretrieval
name = "LP Retrieval Missions"
- lootdoubles = FALSE
+ spawn_loot_double = FALSE
loot = list(
/obj/item/disk/holodisk/lp/retrieval/phazon = 1,
@@ -294,11 +294,11 @@
/obj/item/disk/holodisk/lp/retrieval/materials = 1
)
- lootcount = 2
+ spawn_loot_count = 2
-/obj/effect/spawner/lootdrop/lpaid
+/obj/effect/spawner/random/lpaid
name = "LP Aid Missions"
- lootdoubles = FALSE
+ spawn_loot_double = FALSE
loot = list(
/obj/item/disk/holodisk/lp/aid/repairs = 1,
@@ -306,5 +306,5 @@
/obj/item/disk/holodisk/lp/aid/guard = 1,
)
- lootcount = 4
+ spawn_loot_count = 4
diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm
index b8dcd669d385..f8d681199094 100644
--- a/code/game/gamemodes/dynamic/dynamic.dm
+++ b/code/game/gamemodes/dynamic/dynamic.dm
@@ -435,7 +435,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
/// Picks a random roundstart rule from the list given as an argument and executes it.
/datum/game_mode/dynamic/proc/picking_roundstart_rule(list/drafted_rules = list(), forced = FALSE)
- var/datum/dynamic_ruleset/roundstart/starting_rule = pickweight(drafted_rules)
+ var/datum/dynamic_ruleset/roundstart/starting_rule = pick_weight(drafted_rules)
if(!starting_rule)
log_game("DYNAMIC: Couldn't pick a starting ruleset. No rulesets available")
return FALSE
@@ -450,7 +450,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
if(drafted_rules.len <= 0)
log_game("DYNAMIC: Picking [starting_rule.name] failed due to blocking_rules and no more rulesets available. Report this.")
return FALSE
- starting_rule = pickweight(drafted_rules)
+ starting_rule = pick_weight(drafted_rules)
// Check if the ruleset is highlander and if a highlander ruleset has been executed
else if(starting_rule.flags & HIGHLANDER_RULESET) // Should already be filtered out, but making sure. Check filtering at end of proc if reported.
if(threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking)
@@ -459,14 +459,14 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
if(drafted_rules.len <= 0)
log_game("DYNAMIC: Picking [starting_rule.name] failed due to no highlander stacking and no more rulesets available. Report this.")
return FALSE
- starting_rule = pickweight(drafted_rules)
+ starting_rule = pick_weight(drafted_rules)
// With low pop and high threat there might be rulesets that get executed with no valid candidates.
else if(!starting_rule.ready()) // Should already be filtered out, but making sure. Check filtering at end of proc if reported.
drafted_rules -= starting_rule
if(drafted_rules.len <= 0)
log_game("DYNAMIC: Picking [starting_rule.name] failed because there were not enough candidates and no more rulesets available. Report this.")
return FALSE
- starting_rule = pickweight(drafted_rules)
+ starting_rule = pick_weight(drafted_rules)
log_game("DYNAMIC: Picked a ruleset: [starting_rule.name]")
@@ -512,7 +512,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
/// Picks a random midround OR latejoin rule from the list given as an argument and executes it.
/// Also this could be named better.
/datum/game_mode/dynamic/proc/picking_midround_latejoin_rule(list/drafted_rules = list(), forced = FALSE)
- var/datum/dynamic_ruleset/rule = pickweight(drafted_rules)
+ var/datum/dynamic_ruleset/rule = pick_weight(drafted_rules)
if(!rule)
return FALSE
@@ -524,7 +524,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
drafted_rules -= rule
if(drafted_rules.len <= 0)
return FALSE
- rule = pickweight(drafted_rules)
+ rule = pick_weight(drafted_rules)
// Check if the ruleset is highlander and if a highlander ruleset has been executed
else if(rule.flags & HIGHLANDER_RULESET)
if(threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking)
@@ -532,7 +532,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
drafted_rules -= rule
if(drafted_rules.len <= 0)
return FALSE
- rule = pickweight(drafted_rules)
+ rule = pick_weight(drafted_rules)
if(!rule.repeatable)
if(rule.ruletype == "Latejoin")
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 00bc1bc95e13..eca77ba4df5a 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -149,7 +149,7 @@
message_admins("Convert_roundtype failed due to no valid modes to convert to. Please report this error to the Coders.")
return null
- replacementmode = pickweight(usable_modes)
+ replacementmode = pick_weight(usable_modes)
var/matc = CONFIG_GET(number/midround_antag_time_check)
if(world.time >= (matc * 600))
@@ -272,7 +272,7 @@
reports += config.mode_reports[report_type]
Count++
for(var/i in Count to rand(3,5)) //Between three and five wrong entries on the list.
- var/false_report_type = pickweightAllowZero(report_weights)
+ var/false_report_type = pick_weight_allow_zero(report_weights)
report_weights[false_report_type] = 0 //Make it so the same false report won't be selected twice
reports += config.mode_reports[false_report_type]
diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm
index 7e9d90bb482f..93f3e5d98a15 100644
--- a/code/game/gamemodes/meteor/meteors.dm
+++ b/code/game/gamemodes/meteor/meteors.dm
@@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event
max_i--
if(max_i<=0)
return
- var/Me = pickweight(meteortypes)
+ var/Me = pick_weight(meteortypes)
var/obj/effect/meteor/M = new Me(pickedstart, pickedgoal)
M.dest = pickedgoal
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 96fbbd8254d1..4caca6b376d3 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -72,7 +72,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
var/list/gameodds = list(/obj/item/circuitboard/computer/arcade/battle = 49,
/obj/item/circuitboard/computer/arcade/orion_trail = 49,
/obj/item/circuitboard/computer/arcade/amputation = 2)
- var/thegame = pickweight(gameodds)
+ var/thegame = pick_weight(gameodds)
var/obj/item/circuitboard/CB = new thegame()
new CB.build_path(loc, CB)
return INITIALIZE_HINT_QDEL
@@ -93,9 +93,9 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
return
var/prizeselect
if(prize_override)
- prizeselect = pickweight(prize_override)
+ prizeselect = pick_weight(prize_override)
else
- prizeselect = pickweight(GLOB.arcade_prize_pool)
+ prizeselect = pick_weight(GLOB.arcade_prize_pool)
var/atom/movable/the_prize = new prizeselect(get_turf(src))
playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3)
visible_message("[src] dispenses [the_prize]!", "You hear a chime and a clunk.")
@@ -118,9 +118,9 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
num_of_prizes = rand(0,2)
for(var/i = num_of_prizes; i > 0; i--)
if(override)
- empprize = pickweight(prize_override)
+ empprize = pick_weight(prize_override)
else
- empprize = pickweight(GLOB.arcade_prize_pool)
+ empprize = pick_weight(GLOB.arcade_prize_pool)
new empprize(loc)
explosion(loc, -1, 0, 1+num_of_prizes, flame_range = 1+num_of_prizes)
@@ -635,7 +635,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
event = ORION_TRAIL_COLLISION
event()
else if(prob(75-gamerSkill))
- event = pickweight(events)
+ event = pick_weight(events)
if(lings_aboard)
if(event == ORION_TRAIL_LING || prob(55-gamerSkill))
event = ORION_TRAIL_LING_ATTACK
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index ccc3e4f0286a..495b4c9ab666 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -1,6 +1,6 @@
/obj/effect/landmark
name = "landmark"
- icon = 'icons/effects/landmarks_static.dmi'
+ icon = 'icons/effects/mapping/landmarks_static.dmi'
icon_state = "x2"
anchored = TRUE
layer = MID_LANDMARK_LAYER
@@ -210,7 +210,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
return ..()
/obj/effect/landmark/start/ai/secondary
- icon = 'icons/effects/landmarks_static.dmi'
+ icon = 'icons/effects/mapping/landmarks_static.dmi'
icon_state = "ai_spawn"
primary_ai = FALSE
latejoin_active = FALSE
@@ -249,7 +249,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
/obj/effect/landmark/start/wizard
name = "wizard"
- icon = 'icons/effects/landmarks_static.dmi'
+ icon = 'icons/effects/mapping/landmarks_static.dmi'
icon_state = "wiznerd_spawn"
/obj/effect/landmark/start/wizard/Initialize()
@@ -259,7 +259,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
/obj/effect/landmark/start/nukeop
name = "nukeop"
- icon = 'icons/effects/landmarks_static.dmi'
+ icon = 'icons/effects/mapping/landmarks_static.dmi'
icon_state = "snukeop_spawn"
/obj/effect/landmark/start/nukeop/Initialize()
@@ -269,7 +269,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
/obj/effect/landmark/start/nukeop_leader
name = "nukeop leader"
- icon = 'icons/effects/landmarks_static.dmi'
+ icon = 'icons/effects/mapping/landmarks_static.dmi'
icon_state = "snukeop_leader_spawn"
/obj/effect/landmark/start/nukeop_leader/Initialize()
diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm
index 73b96c29768c..986ad10eb187 100644
--- a/code/game/objects/effects/misc.dm
+++ b/code/game/objects/effects/misc.dm
@@ -9,26 +9,6 @@
/obj/effect/beam/singularity_pull()
return
-/obj/effect/spawner
- name = "object spawner"
-
-// Brief explanation:
-// Rather then setting up and then deleting spawners, we block all atomlike setup
-// and do the absolute bare minimum
-// This is with the intent of optimizing mapload
-/obj/effect/spawner/Initialize(mapload)
- SHOULD_CALL_PARENT(FALSE)
- if(flags_1 & INITIALIZED_1)
- stack_trace("Warning: [src]([type]) initialized multiple times!")
- flags_1 |= INITIALIZED_1
-
- return INITIALIZE_HINT_QDEL
-
-/obj/effect/spawner/Destroy(force)
- SHOULD_CALL_PARENT(FALSE)
- moveToNullspace()
- return QDEL_HINT_QUEUE
-
/obj/effect/list_container
name = "list container"
diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm
index f9f465bf47ab..8ccaf334feae 100644
--- a/code/game/objects/effects/spawners/bundle.dm
+++ b/code/game/objects/effects/spawners/bundle.dm
@@ -1,134 +1,150 @@
-/obj/effect/spawner/bundle
- name = "bundle spawner"
+/obj/effect/spawner/costume
+ name = "costume spawner"
icon = 'icons/hud/screen_gen.dmi'
icon_state = "x2"
- color = "#00FF00"
+ color = COLOR_VIBRANT_LIME
var/list/items
-/obj/effect/spawner/bundle/Initialize(mapload)
+/obj/effect/spawner/costume/Initialize(mapload)
. = ..()
- if(items && items.len)
+ if(items?.len)
for(var/path in items)
new path(loc)
-/obj/effect/spawner/bundle/costume/gladiator
+/obj/effect/spawner/costume/gladiator
name = "gladiator costume spawner"
items = list(
/obj/item/clothing/under/costume/gladiator,
- /obj/item/clothing/head/helmet/gladiator)
+ /obj/item/clothing/head/helmet/gladiator
+ )
-/obj/effect/spawner/bundle/costume/madscientist
+/obj/effect/spawner/costume/madscientist
name = "mad scientist costume spawner"
items = list(
/obj/item/clothing/under/rank/command/captain/suit,
/obj/item/clothing/head/flatcap,
- /obj/item/clothing/suit/toggle/labcoat/mad)
+ /obj/item/clothing/suit/toggle/labcoat/mad
+ )
-/obj/effect/spawner/bundle/costume/elpresidente
+/obj/effect/spawner/costume/elpresidente
name = "el presidente costume spawner"
items = list(
/obj/item/clothing/under/rank/command/captain/suit,
/obj/item/clothing/head/flatcap,
/obj/item/clothing/mask/cigarette/cigar/havana,
- /obj/item/clothing/shoes/jackboots)
+ /obj/item/clothing/shoes/jackboots
+ )
-/obj/effect/spawner/bundle/costume/nyangirl
+/obj/effect/spawner/costume/nyangirl
name = "nyangirl costume spawner"
items = list(
/obj/item/clothing/under/costume/schoolgirl,
/obj/item/clothing/head/kitty,
- /obj/item/clothing/glasses/blindfold)
+ /obj/item/clothing/glasses/blindfold
+ )
-/obj/effect/spawner/bundle/costume/maid
+/obj/effect/spawner/costume/maid
name = "maid costume spawner"
items = list(
/obj/item/clothing/under/dress/skirt/color,
- /obj/effect/spawner/lootdrop/minor/beret_or_rabbitears,
- /obj/item/clothing/glasses/blindfold)
+ /obj/effect/spawner/random/clothing/beret_or_rabbitears,
+ /obj/item/clothing/glasses/blindfold
+ )
-
-/obj/effect/spawner/bundle/costume/butler
+/obj/effect/spawner/costume/butler
name = "butler costume spawner"
items = list(
/obj/item/clothing/accessory/waistcoat,
/obj/item/clothing/under/suit/black,
- /obj/item/clothing/head/that)
+ /obj/item/clothing/head/that
+ )
-/obj/effect/spawner/bundle/costume/highlander
+/obj/effect/spawner/costume/highlander
name = "highlander costume spawner"
items = list(
/obj/item/clothing/under/costume/kilt,
- /obj/item/clothing/head/beret)
+ /obj/item/clothing/head/beret
+ )
-/obj/effect/spawner/bundle/costume/prig
+/obj/effect/spawner/costume/prig
name = "prig costume spawner"
items = list(
/obj/item/clothing/accessory/waistcoat,
- /obj/effect/spawner/lootdrop/minor/bowler_or_that,
+ /obj/effect/spawner/random/clothing/bowler_or_that,
/obj/item/clothing/shoes/sneakers/black,
/obj/item/cane,
/obj/item/clothing/under/suit/sl,
- /obj/item/clothing/mask/fakemoustache)
+ /obj/item/clothing/mask/fakemoustache
+ )
-/obj/effect/spawner/bundle/costume/plaguedoctor
+/obj/effect/spawner/costume/plaguedoctor
name = "plague doctor costume spawner"
items = list(
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit,
- /obj/item/clothing/mask/gas/plaguedoctor)
+ /obj/item/clothing/mask/gas/plaguedoctor
+ )
-/obj/effect/spawner/bundle/costume/nightowl
+/obj/effect/spawner/costume/nightowl
name = "night owl costume spawner"
items = list(
/obj/item/clothing/suit/toggle/owlwings,
/obj/item/clothing/under/costume/owl,
- /obj/item/clothing/mask/gas/owl_mask)
+ /obj/item/clothing/mask/gas/owl_mask
+ )
-/obj/effect/spawner/bundle/costume/waiter
+/obj/effect/spawner/costume/waiter
name = "waiter costume spawner"
items = list(
/obj/item/clothing/under/suit/waiter,
- /obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears,
- /obj/item/clothing/suit/apron)
+ /obj/effect/spawner/random/clothing/kittyears_or_rabbitears,
+ /obj/item/clothing/suit/apron
+ )
-/obj/effect/spawner/bundle/costume/pirate
+/obj/effect/spawner/costume/pirate
name = "pirate costume spawner"
items = list(
/obj/item/clothing/under/costume/pirate,
/obj/item/clothing/suit/pirate,
- /obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
- /obj/item/clothing/glasses/eyepatch)
+ /obj/effect/spawner/random/clothing/pirate_or_bandana,
+ /obj/item/clothing/glasses/eyepatch
+ )
-/obj/effect/spawner/bundle/costume/cutewitch
+/obj/effect/spawner/costume/cutewitch
name = "cute witch costume spawner"
items = list(
/obj/item/clothing/under/dress/sundress,
- /obj/item/staff/broom)
+ /obj/item/staff/broom
+ )
-/obj/effect/spawner/bundle/costume/mafia
+/obj/effect/spawner/costume/mafia
name = "black mafia outfit spawner"
items = list(
/obj/item/clothing/head/fedora,
/obj/item/clothing/under/suit/blacktwopiece,
- /obj/item/clothing/shoes/laceup)
+ /obj/item/clothing/shoes/laceup
+ )
-/obj/effect/spawner/bundle/costume/mafia/white
+/obj/effect/spawner/costume/mafia/white
name = "white mafia outfit spawner"
items = list(
/obj/item/clothing/head/fedora/white,
/obj/item/clothing/under/suit/white,
- /obj/item/clothing/shoes/laceup)
+ /obj/item/clothing/shoes/laceup
+ )
-/obj/effect/spawner/bundle/costume/mafia/checkered
+/obj/effect/spawner/costume/mafia/checkered
name = "checkered mafia outfit spawner"
items = list(
/obj/item/clothing/head/fedora,
/obj/item/clothing/under/suit/checkered,
- /obj/item/clothing/shoes/laceup)
+ /obj/item/clothing/shoes/laceup
+ )
-/obj/effect/spawner/bundle/costume/mafia/beige
+/obj/effect/spawner/costume/mafia/beige
name = "beige mafia outfit spawner"
items = list(
/obj/item/clothing/head/fedora/beige,
/obj/item/clothing/under/suit/beige,
- /obj/item/clothing/shoes/laceup)
+ /obj/item/clothing/shoes/laceup
+ )
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
deleted file mode 100644
index b0239c8f5fdd..000000000000
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ /dev/null
@@ -1,1314 +0,0 @@
-/obj/effect/spawner/lootdrop
- icon = 'icons/effects/landmarks_static.dmi'
- icon_state = "random_loot"
- layer = OBJ_LAYER
- var/lootcount = 1 //how many items will be spawned
- var/lootdoubles = TRUE //if the same item can be spawned twice
- var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
- var/fan_out_items = FALSE //Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself
-
-/obj/effect/spawner/lootdrop/Initialize(mapload)
- . = ..()
- if(loot && loot.len)
- var/loot_spawned = 0
- while((lootcount-loot_spawned) && loot.len)
- var/lootspawn = pickweight_float(loot) // WS edit - Fix various startup runtimes
- while(islist(lootspawn))
- lootspawn = pickweight_float(lootspawn) // WS edit - Fix various startup runtimes
- if(!lootdoubles)
- loot.Remove(lootspawn)
-
- if(lootspawn)
- var/atom/movable/spawned_loot = new lootspawn(loc)
- if (!fan_out_items)
- if (pixel_x != 0)
- spawned_loot.pixel_x = pixel_x
- if (pixel_y != 0)
- spawned_loot.pixel_y = pixel_y
- else
- if (loot_spawned)
- spawned_loot.pixel_x = spawned_loot.pixel_y = ((!(loot_spawned%2)*loot_spawned/2)*-1)+((loot_spawned%2)*(loot_spawned+1)/2*1)
- else
- break // WS edit - Support spawn weights of 0 in loot tables and ruins
- loot_spawned++
-
-/obj/effect/spawner/lootdrop/donkpockets
- name = "donk pocket box spawner"
- lootdoubles = FALSE
-
- loot = list(
- /obj/item/storage/box/donkpockets/donkpocketspicy = 1,
- /obj/item/storage/box/donkpockets/donkpocketteriyaki = 1,
- /obj/item/storage/box/donkpockets/donkpocketpizza = 1,
- /obj/item/storage/box/donkpockets/donkpocketberry = 1,
- /obj/item/storage/box/donkpockets/donkpockethonk = 1,
- )
-
-
-/obj/effect/spawner/lootdrop/armory_contraband
- name = "armory contraband gun spawner"
- lootdoubles = FALSE
-
- loot = list(
- /obj/item/gun/ballistic/automatic/pistol/ringneck = 8,
- /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
- /obj/item/gun/ballistic/automatic/pistol/deagle,
- /obj/item/gun/ballistic/revolver/mateba
- )
-
-/obj/effect/spawner/lootdrop/armory_contraband/metastation
- loot = list(/obj/item/gun/ballistic/automatic/pistol/ringneck = 5,
- /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
- /obj/item/gun/ballistic/automatic/pistol/deagle,
- /obj/item/storage/box/syndie_kit/throwing_weapons = 3,
- /obj/item/gun/ballistic/revolver/mateba)
-
-/obj/effect/spawner/lootdrop/armory_contraband/donutstation
- loot = list(/obj/item/grenade/clusterbuster/teargas = 5,
- /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
- /obj/item/bikehorn/golden,
- /obj/item/grenade/clusterbuster,
- /obj/item/storage/box/syndie_kit/throwing_weapons = 3,
- /obj/item/gun/ballistic/revolver/mateba)
-
-/obj/effect/spawner/lootdrop/prison_contraband
- name = "prison contraband loot spawner"
- loot = list(/obj/item/clothing/mask/cigarette/space_cigarette = 4,
- /obj/item/clothing/mask/cigarette/robust = 2,
- /obj/item/clothing/mask/cigarette/carp = 3,
- /obj/item/clothing/mask/cigarette/uplift = 2,
- /obj/item/clothing/mask/cigarette/dromedary = 3,
- /obj/item/clothing/mask/cigarette/robustgold = 1,
- /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3,
- /obj/item/storage/fancy/cigarettes = 3,
- /obj/item/clothing/mask/cigarette/rollie/cannabis = 4,
- /obj/item/toy/crayon/spraycan = 2,
- /obj/item/crowbar = 1,
- /obj/item/assembly/flash/handheld = 1,
- /obj/item/restraints/handcuffs/cable/zipties = 1,
- /obj/item/restraints/handcuffs = 1,
- /obj/item/radio = 1,
- /obj/item/lighter = 3,
- /obj/item/storage/box/matches = 3,
- /obj/item/reagent_containers/syringe/contraband/space_drugs = 1,
- /obj/item/reagent_containers/syringe/contraband/krokodil = 1,
- /obj/item/reagent_containers/syringe/contraband/crank = 1,
- /obj/item/reagent_containers/syringe/contraband/methamphetamine = 1,
- /obj/item/reagent_containers/syringe/contraband/bath_salts = 1,
- /obj/item/reagent_containers/syringe/contraband/fentanyl = 1,
- /obj/item/reagent_containers/syringe/contraband/morphine = 1,
- /obj/item/storage/pill_bottle/happy = 1,
- /obj/item/storage/pill_bottle/lsd = 1,
- /obj/item/storage/pill_bottle/psicodine = 1,
- /obj/item/reagent_containers/food/drinks/beer = 4,
- /obj/item/reagent_containers/food/drinks/bottle/whiskey = 1,
- /obj/item/paper/fluff/jobs/prisoner/letter = 1,
- /obj/item/grenade/smokebomb = 1,
- /obj/item/flashlight/seclite = 1,
- /obj/item/melee/knife/shiv = 4,
- /obj/item/melee/knife/shiv/carrot = 1,
- /obj/item/melee/knife/kitchen = 1,
- /obj/item/storage/wallet/random = 1,
- /obj/item/pda = 1
- )
-
-/obj/effect/spawner/lootdrop/gambling
- name = "gambling valuables spawner"
- loot = list(
- /obj/item/clothing/head/trapper = 3,
- /obj/item/storage/box/syndie_kit/throwing_weapons,
- /obj/item/coin/gold,
- /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,
- )
-
-/obj/effect/spawner/lootdrop/grille_or_trash
- name = "maint grille or trash spawner"
- loot = list(/obj/structure/grille = 5,
- /obj/item/flashlight/flare/burnt = 1,
- /obj/item/cigbutt = 1,
- /obj/item/trash/cheesie = 1,
- /obj/item/trash/candy = 1,
- /obj/item/trash/chips = 1,
- /obj/item/reagent_containers/food/snacks/deadmouse = 1,
- /obj/item/trash/pistachios = 1,
- /obj/item/trash/plate = 1,
- /obj/item/trash/popcorn = 1,
- /obj/item/trash/raisins = 1,
- /obj/item/trash/sosjerky = 1,
- /obj/item/trash/syndi_cakes = 1)
-
-/obj/effect/spawner/lootdrop/three_course_meal
- name = "three course meal spawner"
- lootcount = 3
- lootdoubles = FALSE
- var/soups = list(
- /obj/item/reagent_containers/food/snacks/soup/beet,
- /obj/item/reagent_containers/food/snacks/soup/sweetpotato,
- /obj/item/reagent_containers/food/snacks/soup/stew,
- /obj/item/reagent_containers/food/snacks/soup/hotchili,
- /obj/item/reagent_containers/food/snacks/soup/nettle,
- /obj/item/reagent_containers/food/snacks/soup/meatball)
- var/salads = list(
- /obj/item/reagent_containers/food/snacks/salad/herbsalad,
- /obj/item/reagent_containers/food/snacks/salad/validsalad,
- /obj/item/reagent_containers/food/snacks/salad/fruit,
- /obj/item/reagent_containers/food/snacks/salad/jungle,
- /obj/item/reagent_containers/food/snacks/salad/aesirsalad)
- var/mains = list(
- /obj/item/reagent_containers/food/snacks/bearsteak,
- /obj/item/reagent_containers/food/snacks/enchiladas,
- /obj/item/reagent_containers/food/snacks/stewedsoymeat,
- /obj/item/reagent_containers/food/snacks/burger/bigbite,
- /obj/item/reagent_containers/food/snacks/burger/superbite,
- /obj/item/reagent_containers/food/snacks/burger/fivealarm)
-
-/obj/effect/spawner/lootdrop/three_course_meal/Initialize(mapload)
- loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1)
- . = ..()
-
-/obj/effect/spawner/lootdrop/maintenance
- name = "maintenance loot spawner"
- // see code/_globalvars/lists/maintenance_loot.dm for loot table
-
-/obj/effect/spawner/lootdrop/maintenance/Initialize(mapload)
- loot = GLOB.maintenance_loot
- . = ..()
-
-/obj/effect/spawner/lootdrop/maintenance/two
- name = "2 x maintenance loot spawner"
- lootcount = 2
-
-/obj/effect/spawner/lootdrop/maintenance/three
- name = "3 x maintenance loot spawner"
- lootcount = 3
-
-/obj/effect/spawner/lootdrop/maintenance/four
- name = "4 x maintenance loot spawner"
- lootcount = 4
-
-/obj/effect/spawner/lootdrop/maintenance/five
- name = "5 x maintenance loot spawner"
- lootcount = 5
-
-/obj/effect/spawner/lootdrop/maintenance/six
- name = "6 x maintenance loot spawner"
- lootcount = 6
-
-/obj/effect/spawner/lootdrop/maintenance/seven
- name = "7 x maintenance loot spawner"
- lootcount = 7
-
-/obj/effect/spawner/lootdrop/maintenance/eight
- name = "8 x maintenance loot spawner"
- lootcount = 8
-
-/obj/effect/spawner/lootdrop/crate_spawner
- name = "lootcrate spawner" //USE PROMO CODE "SELLOUT" FOR 20% OFF!
- lootdoubles = FALSE
-
- loot = list(
- /obj/structure/closet/crate/secure/loot = 20,
- "" = 80
- )
-
-/obj/effect/spawner/lootdrop/organ_spawner
- name = "ayylien organ spawner"
- loot = list(
- /obj/item/organ/heart/gland/electric = 3,
- /obj/item/organ/heart/gland/trauma = 4,
- /obj/item/organ/heart/gland/egg = 7,
- /obj/item/organ/heart/gland/chem = 5,
- /obj/item/organ/heart/gland/mindshock = 5,
- /obj/item/organ/heart/gland/plasma = 7,
- /obj/item/organ/heart/gland/transform = 5,
- /obj/item/organ/heart/gland/slime = 4,
- /obj/item/organ/heart/gland/spiderman = 5,
- /obj/item/organ/heart/gland/ventcrawling = 1,
- /obj/item/organ/body_egg/alien_embryo = 1,
- /obj/item/organ/regenerative_core = 2)
- lootcount = 3
-
-/obj/effect/spawner/lootdrop/memeorgans
- name = "meme organ spawner"
- loot = list(
- /obj/item/organ/ears/penguin,
- /obj/item/organ/ears/cat,
- /obj/item/organ/eyes/compound,
- /obj/item/organ/eyes/snail,
- /obj/item/organ/tongue/bone,
- /obj/item/organ/tongue/fly,
- /obj/item/organ/tongue/snail,
- /obj/item/organ/tongue/lizard,
- /obj/item/organ/tongue/alien,
- /obj/item/organ/tongue/ethereal,
- /obj/item/organ/tongue/robot,
- /obj/item/organ/tongue/zombie,
- /obj/item/organ/appendix,
- /obj/item/organ/liver/fly,
- /obj/item/organ/lungs/plasmaman,
- /obj/item/organ/tail/cat,
- /obj/item/organ/tail/lizard)
- lootcount = 5
-
-/obj/effect/spawner/lootdrop/rnd
- name = "random RND spawner"
- loot = list(
- /obj/item/storage/box/rndmining,
- /obj/item/storage/box/rndengi,
- /obj/item/storage/box/rndsec,
- /obj/item/storage/box/rndciv,
- /obj/item/storage/box/rndmed)
- lootcount = 1
-
-/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner
- name = "2% chance xeno egg spawner"
- loot = list(
- /obj/effect/decal/remains/xeno = 49,
- /obj/effect/spawner/xeno_egg_delivery = 1)
-
-/obj/effect/spawner/lootdrop/costume
- name = "random costume spawner"
-
-/obj/effect/spawner/lootdrop/costume/Initialize()
- loot = list()
- for(var/path in subtypesof(/obj/effect/spawner/bundle/costume))
- loot[path] = TRUE
- . = ..()
-
-// Minor lootdrops follow
-
-/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears
- name = "beret or rabbit ears spawner"
- loot = list(
- /obj/item/clothing/head/beret = 1)
-
-/obj/effect/spawner/lootdrop/minor/bowler_or_that
- name = "bowler or top hat spawner"
- loot = list(
- /obj/item/clothing/head/that = 1)
-
-/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears
- name = "kitty ears or rabbit ears spawner"
- loot = list(
- /obj/item/clothing/head/kitty = 1)
-
-/obj/effect/spawner/lootdrop/minor/pirate_or_bandana
- name = "pirate hat or bandana spawner"
- loot = list(
- /obj/item/clothing/head/pirate = 1,
- /obj/item/clothing/head/bandana = 1)
-
-/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask
- name = "25% cyborg mask spawner"
- loot = list(
- /obj/item/clothing/mask/gas/cyborg = 25,
- "" = 75)
-
-/obj/effect/spawner/lootdrop/aimodule_harmless // These shouldn't allow the AI to start butchering people
- name = "harmless AI module spawner"
- loot = list(
- /obj/item/aiModule/core/full/asimov,
- /obj/item/aiModule/core/full/asimovpp,
- /obj/item/aiModule/core/full/hippocratic,
- /obj/item/aiModule/core/full/paladin_devotion,
- /obj/item/aiModule/core/full/paladin
- )
-
-/obj/effect/spawner/lootdrop/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason
- name = "neutral AI module spawner"
- loot = list(
- /obj/item/aiModule/core/full/corp,
- /obj/item/aiModule/core/full/maintain,
- /obj/item/aiModule/core/full/drone,
- /obj/item/aiModule/core/full/peacekeeper,
- /obj/item/aiModule/core/full/reporter,
- /obj/item/aiModule/core/full/robocop,
- /obj/item/aiModule/core/full/liveandletlive,
- /obj/item/aiModule/core/full/hulkamania
- )
-
-/obj/effect/spawner/lootdrop/aimodule_harmful // These will get the shuttle called
- name = "harmful AI module spawner"
- loot = list(
- /obj/item/aiModule/core/full/antimov,
- /obj/item/aiModule/core/full/balance,
- /obj/item/aiModule/core/full/tyrant,
- /obj/item/aiModule/core/full/thermurderdynamic,
- /obj/item/aiModule/core/full/damaged,
- /obj/item/aiModule/reset/purge
- )
-
-// Tech storage circuit board spawners
-
-/obj/effect/spawner/lootdrop/techstorage
- name = "generic circuit board spawner"
- lootdoubles = FALSE
- fan_out_items = TRUE
- lootcount = INFINITY
-
-/obj/effect/spawner/lootdrop/techstorage/service
- name = "service circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/arcade/battle,
- /obj/item/circuitboard/computer/arcade/orion_trail,
- /obj/item/circuitboard/machine/autolathe,
- /obj/item/circuitboard/computer/mining,
- /obj/item/circuitboard/machine/ore_redemption,
- /obj/item/circuitboard/machine/vending/mining_equipment,
- /obj/item/circuitboard/machine/microwave,
- /obj/item/circuitboard/machine/chem_dispenser/drinks,
- /obj/item/circuitboard/machine/chem_dispenser/drinks/beer,
- /obj/item/circuitboard/computer/slot_machine
- )
-
-/obj/effect/spawner/lootdrop/techstorage/rnd
- name = "RnD circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/aifixer,
- /obj/item/circuitboard/machine/rdserver,
- /obj/item/circuitboard/machine/mechfab,
- /obj/item/circuitboard/machine/circuit_imprinter/department,
- /obj/item/circuitboard/computer/teleporter,
- /obj/item/circuitboard/machine/destructive_analyzer,
- /obj/item/circuitboard/computer/rdconsole,
- /obj/item/circuitboard/computer/nanite_chamber_control,
- /obj/item/circuitboard/computer/nanite_cloud_controller,
- /obj/item/circuitboard/machine/nanite_chamber,
- /obj/item/circuitboard/machine/nanite_programmer,
- /obj/item/circuitboard/machine/nanite_program_hub
- )
-
-/obj/effect/spawner/lootdrop/techstorage/security
- name = "security circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/secure_data,
- /obj/item/circuitboard/computer/security,
- /obj/item/circuitboard/computer/prisoner
- )
-
-/obj/effect/spawner/lootdrop/techstorage/engineering
- name = "engineering circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/atmos_alert,
- /obj/item/circuitboard/computer/stationalert,
- /obj/item/circuitboard/computer/powermonitor
- )
-
-/obj/effect/spawner/lootdrop/techstorage/tcomms
- name = "tcomms circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/message_monitor,
- /obj/item/circuitboard/machine/telecomms/broadcaster,
- /obj/item/circuitboard/machine/telecomms/bus,
- /obj/item/circuitboard/machine/telecomms/server,
- /obj/item/circuitboard/machine/telecomms/receiver,
- /obj/item/circuitboard/machine/telecomms/processor,
- /obj/item/circuitboard/machine/announcement_system,
- /obj/item/circuitboard/computer/comm_server,
- /obj/item/circuitboard/computer/comm_monitor
- )
-
-/obj/effect/spawner/lootdrop/techstorage/medical
- name = "medical circuit board spawner"
- loot = list(
- /obj/item/circuitboard/machine/chem_dispenser,
- /obj/item/circuitboard/computer/scan_consolenew,
- /obj/item/circuitboard/computer/med_data,
- /obj/item/circuitboard/machine/smoke_machine,
- /obj/item/circuitboard/machine/chem_master,
- /obj/item/circuitboard/machine/dnascanner,
- /obj/item/circuitboard/computer/pandemic
- )
-
-/obj/effect/spawner/lootdrop/techstorage/AI
- name = "secure AI circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/aiupload,
- /obj/item/circuitboard/computer/borgupload,
- /obj/item/circuitboard/aicore
- )
-
-/obj/effect/spawner/lootdrop/techstorage/command
- name = "secure command circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/crew,
- /obj/item/circuitboard/computer/communications,
- /obj/item/circuitboard/computer/card
- )
-
-/obj/effect/spawner/lootdrop/techstorage/RnD_secure
- name = "secure RnD circuit board spawner"
- loot = list(
- /obj/item/circuitboard/computer/mecha_control,
- /obj/item/circuitboard/computer/apc_control,
- /obj/item/circuitboard/computer/robotics
- )
-
-/obj/effect/spawner/lootdrop/mafia_outfit
- name = "mafia outfit spawner"
- loot = list(
- /obj/effect/spawner/bundle/costume/mafia = 20,
- /obj/effect/spawner/bundle/costume/mafia/white = 5,
- /obj/effect/spawner/bundle/costume/mafia/checkered = 2,
- /obj/effect/spawner/bundle/costume/mafia/beige = 5
- )
-
-/obj/effect/spawner/lootdrop/salvage_machine
- name = "salvageable machine spawner"
- loot = list(
- /obj/structure/salvageable/protolathe,
- /obj/structure/salvageable/circuit_imprinter,
- /obj/structure/salvageable/server,
- /obj/structure/salvageable/machine,
- /obj/structure/salvageable/autolathe,
- /obj/structure/salvageable/computer,
- /obj/structure/salvageable/destructive_analyzer
- )
-
-/obj/effect/spawner/lootdrop/ripley
- name = "25% exosuit 75% wreckage ripley spawner"
- loot = list(/obj/mecha/working/ripley/mining = 1,
- /obj/structure/mecha_wreckage/ripley = 5)
- lootdoubles = FALSE
-
-/obj/effect/spawner/lootdrop/salvage_50
- name = "50% salvage spawner"
- loot = list(
- /obj/effect/spawner/lootdrop/maintenance = 13,
- /obj/effect/spawner/lootdrop/salvage_machine = 12,
- /obj/effect/spawner/lootdrop/ripley = 12,
- /obj/structure/closet/crate/secure/loot = 13,
- "" = 50
- )
-
-//finds the probabilities of items spawning from a loot spawner's loot pool
-/obj/item/loot_table_maker
- icon = 'icons/effects/landmarks_static.dmi'
- icon_state = "random_loot"
- var/spawner_to_test = /obj/effect/spawner/lootdrop/maintenance //what lootdrop spawner to use the loot pool of
- var/loot_count = 180 //180 is about how much maint loot spawns per map as of 11/14/2019
- //result outputs
- var/list/spawned_table //list of all items "spawned" and how many
- var/list/stat_table //list of all items "spawned" and their occurrance probability
-
-/obj/item/loot_table_maker/Initialize()
- . = ..()
- make_table()
-
-/obj/item/loot_table_maker/attack_self(mob/user)
- to_chat(user, "Loot pool re-rolled.")
- make_table()
-
-/obj/item/loot_table_maker/proc/make_table()
- spawned_table = list()
- stat_table = list()
- var/obj/effect/spawner/lootdrop/spawner_to_table = new spawner_to_test
- var/lootpool = spawner_to_table.loot
- qdel(spawner_to_table)
- for(var/i in 1 to loot_count)
- var/loot_spawn = pick_loot(lootpool)
- if(!loot_spawn) // WS edit - Support spawn weights of 0 in loot tables and ruins
- continue
- if(!(loot_spawn in spawned_table))
- spawned_table[loot_spawn] = 1
- else
- spawned_table[loot_spawn] += 1
- stat_table += spawned_table
- for(var/item in stat_table)
- stat_table[item] /= loot_count
-
-/obj/item/loot_table_maker/proc/pick_loot(lootpool) //selects path from loot table and returns it
- var/lootspawn = pickweight_float(lootpool) // WS edit - Fix various startup runtimes
- while(islist(lootspawn))
- lootspawn = pickweight_float(lootspawn) // WS edit - Fix various startup runtimes
- return lootspawn
-
-/obj/effect/spawner/lootdrop/stockparts
- name = "random good stock parts"
- lootcount = 6
- loot = list(
- /obj/item/stock_parts/capacitor/adv,
- /obj/item/stock_parts/capacitor/quadratic,
- /obj/item/stock_parts/capacitor/super,
- /obj/item/stock_parts/cell/hyper,
- /obj/item/stock_parts/cell/super,
- /obj/item/stock_parts/cell/bluespace,
- /obj/item/stock_parts/matter_bin/bluespace,
- /obj/item/stock_parts/matter_bin/super,
- /obj/item/stock_parts/matter_bin/adv,
- /obj/item/stock_parts/micro_laser/ultra,
- /obj/item/stock_parts/micro_laser/quadultra,
- /obj/item/stock_parts/micro_laser/high,
- /obj/item/stock_parts/scanning_module/triphasic,
- /obj/item/stock_parts/scanning_module/phasic,
- /obj/item/stock_parts/scanning_module/adv,
- /obj/item/reagent_containers/glass/beaker/bluespace,
- /obj/item/reagent_containers/glass/beaker/plastic,
- /obj/item/reagent_containers/glass/beaker/large,
- /obj/item/stock_parts/manipulator/nano,
- /obj/item/stock_parts/manipulator/pico,
- /obj/item/stock_parts/manipulator/femto
- )
-
-/obj/effect/spawner/lootdrop/materials
- name = "random bulk materials"
- lootcount = 2
- loot = list(
- /obj/item/stack/sheet/plastic/fifty,
- /obj/item/stack/sheet/bluespace_crystal/twenty,
- /obj/item/stack/sheet/cardboard/fifty,
- /obj/item/stack/sheet/glass/fifty,
- /obj/item/stack/sheet/metal/fifty,
- /obj/item/stack/sheet/plasteel/twenty,
- /obj/item/stack/sheet/mineral/plasma/fifty,
- /obj/item/stack/sheet/mineral/silver/fifty,
- /obj/item/stack/sheet/mineral/titanium/fifty,
- /obj/item/stack/sheet/mineral/uranium/fifty,
- /obj/item/stack/sheet/mineral/wood/fifty,
- /obj/item/stack/sheet/mineral/diamond/twenty,
- /obj/item/stack/sheet/mineral/gold/fifty,
-
- /obj/item/stack/cable_coil/red,
- /obj/item/stack/rods/fifty
- )
-
-/obj/effect/spawner/lootdrop/singularitygen
- name = "Tesla or Singulo spawner"
- lootdoubles = FALSE
-
- loot = list(
- /obj/machinery/the_singularitygen/tesla = 1,
- /obj/machinery/the_singularitygen = 1,
- )
-
-/obj/effect/spawner/lootdrop/stockparts
- name = "random good stock parts"
- lootcount = 5
- loot = list(
- /obj/item/stock_parts/capacitor/adv,
- /obj/item/stock_parts/capacitor/quadratic,
- /obj/item/stock_parts/capacitor/super,
- /obj/item/stock_parts/cell/hyper,
- /obj/item/stock_parts/cell/super,
- /obj/item/stock_parts/cell/bluespace,
- /obj/item/stock_parts/matter_bin/bluespace,
- /obj/item/stock_parts/matter_bin/super,
- /obj/item/stock_parts/matter_bin/adv,
- /obj/item/stock_parts/micro_laser/ultra,
- /obj/item/stock_parts/micro_laser/quadultra,
- /obj/item/stock_parts/micro_laser/high,
- /obj/item/stock_parts/scanning_module/triphasic,
- /obj/item/stock_parts/scanning_module/phasic,
- /obj/item/stock_parts/scanning_module/adv,
- /obj/item/reagent_containers/glass/beaker/bluespace,
- /obj/item/reagent_containers/glass/beaker/plastic,
- /obj/item/reagent_containers/glass/beaker/large,
- /obj/item/stock_parts/manipulator/nano,
- /obj/item/stock_parts/manipulator/pico,
- /obj/item/stock_parts/manipulator/femto
- )
-
-/obj/effect/spawner/lootdrop/materials
- name = "random materials"
- lootcount = 3
- loot = list(
- /obj/item/stack/sheet/plastic/fifty,
- /obj/item/stack/sheet/plastic/five,
- /obj/item/stack/sheet/bluespace_crystal/twenty,
- /obj/item/stack/sheet/bluespace_crystal/five,
- /obj/item/stack/sheet/cardboard/fifty,
- /obj/item/stack/sheet/glass/fifty,
- /obj/item/stack/sheet/metal/fifty,
- /obj/item/stack/sheet/metal/twenty,
- /obj/item/stack/sheet/plasteel/twenty,
- /obj/item/stack/sheet/mineral/plasma/fifty,
- /obj/item/stack/sheet/mineral/plasma/twenty,
- /obj/item/stack/sheet/mineral/silver/fifty,
- /obj/item/stack/sheet/mineral/titanium/twenty,
- /obj/item/stack/sheet/mineral/uranium/twenty,
- /obj/item/stack/sheet/mineral/wood/fifty,
- /obj/item/stack/sheet/mineral/diamond/twenty,
- /obj/item/stack/sheet/mineral/gold/fifty,
- /obj/item/stack/cable_coil/red,
- /obj/item/stack/rods/fifty
- )
-
-/obj/effect/spawner/lootdrop/donut
- name = "random donut" //donut :)
- lootcount = 1
- loot = list(
- /obj/item/reagent_containers/food/snacks/donut/apple = 1,
- /obj/item/reagent_containers/food/snacks/donut/berry = 1,
- /obj/item/reagent_containers/food/snacks/donut/caramel = 1,
- /obj/item/reagent_containers/food/snacks/donut/choco = 1,
- /obj/item/reagent_containers/food/snacks/donut/laugh = 1,
- /obj/item/reagent_containers/food/snacks/donut/matcha = 1,
- /obj/item/reagent_containers/food/snacks/donut/meat = 1,
- /obj/item/reagent_containers/food/snacks/donut/plain = 1,
- /obj/item/reagent_containers/food/snacks/donut/trumpet = 1,
- /obj/item/reagent_containers/food/snacks/donut/blumpkin = 1,
- /obj/item/reagent_containers/food/snacks/donut/bungo = 1,
- /obj/item/reagent_containers/food/snacks/donut/chaos = 1,
- )
-
-/obj/effect/spawner/lootdrop/donut/jelly
- name = "random jelly donut"
- lootcount = 1
- loot = list(
- /obj/item/reagent_containers/food/snacks/donut/jelly/berry = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/apple = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/bungo = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/caramel = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/choco = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/laugh = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/matcha = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet = 1,
- )
-
-/obj/effect/spawner/lootdrop/donut/slimejelly
- name = "random slimejelly donut"
- lootcount = 1
- loot = list(
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/laugh = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet = 1,
- )
-
-/obj/effect/spawner/lootdrop/seeded
- name = "GO FORTH AND CULTIVATE"
- icon = 'icons/obj/hydroponics/seeds.dmi'
- icon_state = "seed"//sneed
- loot = list(
- /obj/item/seeds/aloe,
- /obj/item/seeds/ambrosia,
- /obj/item/seeds/apple,
- /obj/item/seeds/cotton,
- /obj/item/seeds/banana,
- /obj/item/seeds/berry,
- /obj/item/seeds/cabbage,
- /obj/item/seeds/carrot,
- /obj/item/seeds/cherry,
- /obj/item/seeds/chanter,
- /obj/item/seeds/chili,
- /obj/item/seeds/cocoapod,
- /obj/item/seeds/coffee,
- /obj/item/seeds/corn,
- /obj/item/seeds/eggplant,
- /obj/item/seeds/garlic,
- /obj/item/seeds/grape,
- /obj/item/seeds/grass,
- /obj/item/seeds/lemon,
- /obj/item/seeds/lime,
- /obj/item/seeds/onion,
- /obj/item/seeds/orange,
- /obj/item/seeds/peas,
- /obj/item/seeds/pineapple,
- /obj/item/seeds/potato,
- /obj/item/seeds/poppy,
- /obj/item/seeds/pumpkin,
- /obj/item/seeds/wheat/rice,
- /obj/item/seeds/soya,
- /obj/item/seeds/sugarcane,
- /obj/item/seeds/sunflower,
- /obj/item/seeds/tea,
- /obj/item/seeds/tobacco,
- /obj/item/seeds/tomato,
- /obj/item/seeds/tower,
- /obj/item/seeds/watermelon,
- /obj/item/seeds/wheat,
- /obj/item/seeds/whitebeet,
- /obj/item/seeds/amanita,
- /obj/item/seeds/glowshroom,
- /obj/item/seeds/liberty,
- /obj/item/seeds/nettle,
- /obj/item/seeds/plump,
- /obj/item/seeds/reishi,
- /obj/item/seeds/cannabis,
- /obj/item/seeds/starthistle,
- /obj/item/seeds/cherry/bomb,
- /obj/item/seeds/berry/glow,
- /obj/item/seeds/sunflower/moonflower
- )
-
-/obj/effect/spawner/lootdrop/flora
- name = "random flora spawner"
- loot = list(
- /obj/structure/flora/tree/chapel,
- /obj/structure/flora/tree/pine,
- /obj/structure/flora/tree/jungle/small,
- /obj/structure/flora/tree/jungle,
- /obj/structure/flora/ash/puce,
- /obj/structure/flora/ash/fireblossom,
- /obj/structure/flora/ash/fern,
- /obj/structure/flora/ash/tall_shroom,
- /obj/structure/flora/ash/stem_shroom,
- /obj/structure/flora/ash/space/voidmelon,
- /obj/structure/flora/ash/leaf_shroom,
- /obj/structure/flora/junglebush/large,
- /obj/structure/flora/junglebush/b,
- /obj/structure/flora/junglebush/c,
- /obj/structure/flora/ausbushes/fernybush,
- /obj/structure/flora/ausbushes/genericbush,
- /obj/structure/flora/ausbushes/grassybush,
- /obj/structure/flora/ausbushes/leafybush,
- /obj/structure/flora/ausbushes/palebush,
- /obj/structure/flora/ausbushes/pointybush,
- /obj/structure/flora/ausbushes/reedbush,
- /obj/structure/flora/ausbushes/stalkybush,
- /obj/structure/flora/ausbushes/sunnybush,
- /obj/structure/flora/bush,
- /obj/structure/flora/grass/jungle,
- /obj/structure/flora/junglebush,
- /obj/structure/flora/junglebush/b,
- /obj/structure/flora/junglebush/c,
- /obj/structure/flora/ash,
- /obj/structure/flora/ash/cacti,
- /obj/structure/flora/ash/cap_shroom,
- /obj/structure/flora/ash/chilly,
- /obj/structure/flora/tree/palm
- )
- lootcount = 1
-
-/obj/effect/spawner/lootdrop/flower
- name = "random flower spawner"
- loot = list(
- /obj/structure/flora/ausbushes/brflowers,
- /obj/structure/flora/ausbushes/ywflowers,
- /obj/structure/flora/ausbushes/ppflowers,
- /obj/structure/flora/ausbushes/fullgrass,
- /obj/structure/flora/ausbushes/sparsegrass
- )
- lootcount = 1
-
-/obj/effect/spawner/lootdrop/anomaly
- name = "random anomaly spawner"
- loot = list(
- /obj/effect/anomaly/bluespace/planetary,
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/grav/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/pyro/planetary,
- /obj/effect/anomaly/vortex/planetary,
- /obj/effect/anomaly/grav/high/planetary,
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/tvstatic/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/phantom/planetary,
- /obj/effect/anomaly/melter/planetary,
- /obj/effect/anomaly/transfusion/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/safe
- name = "relatively safe anomaly spawner"
- loot = list(
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/pyro/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/phantom/planetary,
- /obj/effect/anomaly/transfusion/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/dangerous
- name = "relatively dangerous anomaly spawner"
- loot = list(
- /obj/effect/anomaly/bluespace/planetary,
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/grav/planetary,
- /obj/effect/anomaly/vortex/planetary,
- /obj/effect/anomaly/grav/high/planetary,
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/tvstatic/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/melter/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/big
- name = "random big anomaly spawner"
- loot = list(
- /obj/effect/anomaly/bluespace/big/planetary,
- /obj/effect/anomaly/flux/big/planetary,
- /obj/effect/anomaly/grav/high/big/planetary,
- /obj/effect/anomaly/pyro/big/planetary
-
- )
-
-//handpicked lists relevant to the planets they're on
-// /cave lists are made for spawning in cave biomes. Not every anomaly goes well there. We don't have enough anomalies to really populate them all though
-
-/obj/effect/spawner/lootdrop/anomaly/jungle
- name = "Jungle Anomaly Spawner"
- loot = list(
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/tvstatic/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/phantom/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/jungle/cave
- loot = list(
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/tvstatic/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/phantom/planetary,
- )
-
-//beaches don't currently have anomalies, but I don't see a reason why they couldn't have *some*
-
-/obj/effect/spawner/lootdrop/anomaly/beach
- name = "Beach anomaly spawner"
- loot = list(
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/phantom/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/beach/cave
- loot = list(
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/phantom/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/sand
- name = "Sand anomaly spawner"
- loot = list(
- /obj/effect/anomaly/bluespace/planetary,
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/tvstatic/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/phantom/planetary,
- /obj/effect/anomaly/melter/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/sand/cave
- loot = list(
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/pyro/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/tvstatic/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/phantom/planetary,
- /obj/effect/anomaly/melter/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/rock
- name = "Rock anomaly spawner"
- loot = list(
- /obj/effect/anomaly/bluespace/planetary,
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/grav/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/pyro/planetary,
- /obj/effect/anomaly/vortex/planetary,
- /obj/effect/anomaly/grav/high/planetary,
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/tvstatic/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/phantom/planetary,
- /obj/effect/anomaly/melter/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/rock/cave
- loot = list(
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/pyro/planetary,
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/sparkler/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/phantom/planetary,
- /obj/effect/anomaly/melter/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/lava
- name = "Lava anomaly spawner"
- loot = list(
- /obj/effect/anomaly/bluespace/planetary,
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/grav/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/pyro/planetary,
- /obj/effect/anomaly/vortex/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/lava/cave
- loot = list(
- /obj/effect/anomaly/flux/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/pyro/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/ice
- name = "Ice anomaly spawner"
- loot = list(
- /obj/effect/anomaly/bluespace/planetary,
- /obj/effect/anomaly/grav/planetary,
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/vortex/planetary,
- /obj/effect/anomaly/grav/high/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/phantom/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/ice/cave
- loot = list(
- /obj/effect/anomaly/hallucination/planetary,
- /obj/effect/anomaly/grav/high/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/phantom/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/waste
- name = "Waste anomaly spawner"
- loot = list(
- /obj/effect/anomaly/vortex/planetary,
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/melter/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/waste/cave
- loot = list(
- /obj/effect/anomaly/heartbeat/planetary,
- /obj/effect/anomaly/veins/planetary,
- /obj/effect/anomaly/plasmasoul/planetary,
- /obj/effect/anomaly/melter/planetary,
- )
-
-/obj/effect/spawner/lootdrop/anomaly/storm
- loot = list(
- /obj/effect/anomaly/flux/storm,
- /obj/effect/anomaly/pyro/storm,
- /obj/effect/anomaly/sparkler,
- /obj/effect/anomaly/veins,
- /obj/effect/anomaly/phantom,
- /obj/effect/anomaly/melter,
- )
-
-//wasteplanet things
-
-/obj/effect/spawner/lootdrop/waste/grille_or_trash
- name = "wasteplanet loot spawner"
- loot = list(
- /obj/structure/grille/broken = 5,
- /obj/structure/grille = 5,
- /obj/item/flashlight/flare/burnt = 1,
- /obj/item/cigbutt = 1,
- /obj/item/trash/cheesie = 1,
- /obj/item/trash/candy = 1,
- /obj/item/trash/chips = 1,
- /obj/item/reagent_containers/food/snacks/deadmouse = 1,
- /obj/item/trash/pistachios = 1,
- /obj/item/trash/plate = 1,
- /obj/item/trash/popcorn = 1,
- /obj/item/trash/raisins = 1,
- /obj/item/trash/sosjerky = 1,
- /obj/item/trash/syndi_cakes = 1
- )
-
-/obj/effect/spawner/lootdrop/waste/mechwreck
- name = "wasteplanet exosuit wreckage"
- loot = list(
- /obj/structure/mecha_wreckage/ripley = 15,
- /obj/structure/mecha_wreckage/ripley/firefighter = 9,
- /obj/structure/mecha_wreckage/ripley/mkii = 9,
- /obj/structure/mecha_wreckage/ripley/clip = 9
- )
-
-/obj/effect/spawner/lootdrop/waste/mechwreck/rare
- loot = list(
- /obj/structure/mecha_wreckage/durand = 12.5,
- /obj/structure/mecha_wreckage/durand/clip = 12.5,
- /obj/structure/mecha_wreckage/odysseus = 25,
- /obj/structure/mecha_wreckage/gygax = 25
- )
-
-/obj/effect/spawner/lootdrop/waste/trash //debatable if this is actually loot
- loot = list(
- /obj/item/flashlight/flare/burnt = 30,
- /obj/effect/decal/cleanable/greenglow/filled = 30,
- /obj/effect/decal/cleanable/greenglow/ecto = 1,
- /obj/effect/decal/cleanable/glass = 30,
- /obj/effect/decal/cleanable/glass/plasma = 30,
- /obj/effect/decal/cleanable/glass/strange = 30,
- /obj/effect/decal/cleanable/molten_object = 30,
- /obj/effect/decal/cleanable/molten_object/large = 30,
- /obj/effect/decal/cleanable/oil = 30,
- /obj/effect/decal/cleanable/oil/slippery = 1, // :)
- /obj/effect/decal/cleanable/plastic = 30,
- /obj/effect/decal/cleanable/ash = 30,
- /obj/effect/decal/cleanable/ash/large = 30,
- )
-
-/obj/effect/spawner/lootdrop/waste/radiation
- loot = list(
- /obj/structure/radioactive = 6,
- /obj/structure/radioactive/stack = 6,
- /obj/structure/radioactive/waste = 6
- )
-
-/obj/effect/spawner/lootdrop/waste/radiation/more_rads
- loot = list(
- /obj/structure/radioactive = 3,
- /obj/structure/radioactive/stack = 12,
- /obj/structure/radioactive/waste = 12
- )
-
-/obj/effect/spawner/lootdrop/waste/atmos_can
- loot = list(
- /obj/machinery/portable_atmospherics/canister/toxins = 3,
- /obj/machinery/portable_atmospherics/canister/carbon_dioxide = 3,
- /obj/machinery/portable_atmospherics/canister/nitrogen = 3,
- /obj/machinery/portable_atmospherics/canister/oxygen = 3,
- /obj/machinery/portable_atmospherics/canister/nitrous_oxide = 1,
- /obj/machinery/portable_atmospherics/canister/water_vapor = 1
- )
-
-/obj/effect/spawner/lootdrop/waste/atmos_can/rare
- loot = list(
- /obj/machinery/portable_atmospherics/canister/tritium = 3,
- /obj/machinery/portable_atmospherics/canister/pluoxium = 3
- )
-
-/obj/effect/spawner/lootdrop/waste/salvageable
- loot = list(
- /obj/structure/salvageable/machine = 20,
- /obj/structure/salvageable/autolathe = 15,
- /obj/structure/salvageable/computer = 10,
- /obj/structure/salvageable/protolathe = 10,
- /obj/structure/salvageable/circuit_imprinter = 8,
- /obj/structure/salvageable/destructive_analyzer = 8,
- /obj/structure/salvageable/server = 8
- )
-
-/obj/effect/spawner/lootdrop/waste/girder
- loot = list(
- /obj/structure/girder,
- /obj/structure/girder/displaced,
- /obj/structure/girder/reinforced
- )
-/obj/effect/spawner/lootdrop/waste/hivebot
- loot = list(
- /obj/effect/spawner/lootdrop/salvage/metal,
- /obj/effect/spawner/lootdrop/salvage/metal,
- /obj/effect/spawner/lootdrop/salvage/metal,
- /obj/effect/spawner/lootdrop/salvage/gold,
- /obj/effect/spawner/lootdrop/salvage/plasma,
- /obj/effect/spawner/lootdrop/salvage/silver,
- /obj/effect/spawner/lootdrop/salvage/titanium,
- /obj/item/stack/ore/salvage/scrapbluespace,
- /obj/item/stack/ore/salvage/scrapbluespace,
- /obj/item/stack/ore/salvage/scrapuranium
- )
- lootcount = 2
-
-/obj/effect/spawner/lootdrop/waste/hivebot/beacon
- lootcount = 6
-
-/obj/effect/spawner/lootdrop/salvage
- name = "salvage mats spawner"
- loot = list(
- /obj/item/stack/ore/salvage/scrapmetal,
- /obj/item/stack/ore/salvage/scrapgold,
- /obj/item/stack/ore/salvage/scrapplasma,
- /obj/item/stack/ore/salvage/scrapsilver,
- /obj/item/stack/ore/salvage/scraptitanium,
- /obj/item/stack/ore/salvage/scrapbluespace,
- /obj/item/stack/ore/salvage/scrapuranium
- )
-
-/obj/effect/spawner/lootdrop/salvage/metal
- loot = list(
- /obj/item/stack/ore/salvage/scrapmetal
- )
-
-/obj/effect/spawner/lootdrop/salvage/metal/Initialize()
- lootcount = pick(list(
- 1,
- 2,
- 3,
- 4
- ))
- return ..()
-
-/obj/effect/spawner/lootdrop/salvage/gold
- loot = list(
- /obj/item/stack/ore/salvage/scrapgold
- )
-
-/obj/effect/spawner/lootdrop/salvage/gold/Initialize()
- lootcount = pick(list(
- 1,
- 2,
- 3,
- 4
- ))
- return ..()
-
-/obj/effect/spawner/lootdrop/salvage/plasma
- loot = list(
- /obj/item/stack/ore/salvage/scrapplasma
- )
-/obj/effect/spawner/lootdrop/salvage/plasma/Initialize()
- lootcount = pick(list(
- 1,
- 2,
- 3,
- 4
- ))
- return ..()
-
-
-/obj/effect/spawner/lootdrop/salvage/silver
- loot = list(
- /obj/item/stack/ore/salvage/scrapsilver
- )
-/obj/effect/spawner/lootdrop/salvage/silver/Initialize()
- lootcount = pick(list(
- 1,
- 2,
- 3,
- 4
- ))
- return ..()
-
-
-/obj/effect/spawner/lootdrop/salvage/titanium
- loot = list(
- /obj/item/stack/ore/salvage/scraptitanium
- )
-/obj/effect/spawner/lootdrop/salvage/titanium/Initialize()
- lootcount = pick(list(
- 1,
- 2,
- 3,
- 4
- ))
- return ..()
-
-/obj/effect/spawner/lootdrop/salvage/bluespace
- loot = list(
- /obj/item/stack/ore/salvage/scrapbluespace
- )
-/obj/effect/spawner/lootdrop/salvage/bluespace/Initialize()
- lootcount = pick(list(
- 1,
- 2,
- 3,
- 4
- ))
- return ..()
-
-/obj/effect/spawner/lootdrop/salvage/uranium
- loot = list(
- /obj/item/stack/ore/salvage/scrapuranium
- )
-/obj/effect/spawner/lootdrop/salvage/uranium/Initialize()
- lootcount = pick(list(
- 1,
- 2,
- 3,
- 4
- ))
- return ..()
-
-
-//random RND imprinter/protolathe board spawners. Do not use on maps without a good reason
-/obj/effect/spawner/lootdrop/randomprotolathe
- name = "random departmental protolathe"
- loot = list(
- /obj/item/circuitboard/machine/protolathe/department/cargo,
- /obj/item/circuitboard/machine/protolathe/department/engineering,
- /obj/item/circuitboard/machine/protolathe/department/service,
- /obj/item/circuitboard/machine/protolathe/department/medical,
- /obj/item/circuitboard/machine/protolathe/department/science,
- /obj/item/circuitboard/machine/protolathe/department/security
- )
-
-/obj/effect/spawner/lootdrop/randomimprinter
- name = "random departmental circuit imprinter"
- loot = list(
- /obj/item/circuitboard/machine/circuit_imprinter/department/cargo,
- /obj/item/circuitboard/machine/circuit_imprinter/department/engi,
- /obj/item/circuitboard/machine/circuit_imprinter/department/civ,
- /obj/item/circuitboard/machine/circuit_imprinter/department/med,
- /obj/item/circuitboard/machine/circuit_imprinter/department/science,
- /obj/item/circuitboard/machine/circuit_imprinter/department/sec
- )
-
-/obj/effect/spawner/lootdrop/randomtechfab
- name = "random departmental techfab"
- loot = list(
- /obj/item/circuitboard/machine/techfab/department/service,
- /obj/item/circuitboard/machine/techfab/department/cargo,
- /obj/item/circuitboard/machine/techfab/department/engineering,
- /obj/item/circuitboard/machine/techfab/department/service,
- /obj/item/circuitboard/machine/techfab/department/medical,
- /obj/item/circuitboard/machine/techfab/department/science,
- /obj/item/circuitboard/machine/techfab/department/security
- )
-
-/obj/effect/spawner/lootdrop/ration
- loot = list (
- /obj/item/storage/ration/vegan_chili = 5,
- /obj/item/storage/ration/shredded_beef = 5,
- /obj/item/storage/ration/pork_spaghetti = 5,
- /obj/item/storage/ration/fried_fish = 5,
- /obj/item/storage/ration/beef_strips = 5,
- /obj/item/storage/ration/chili_macaroni = 5,
- /obj/item/storage/ration/chicken_wings_hot_sauce = 5,
- /obj/item/storage/ration/fish_stew = 5,
- /obj/item/storage/ration/lemon_pepper_chicken = 5,
- /obj/item/storage/ration/sausage_peppers_onions = 5,
- /obj/item/storage/ration/pork_dumplings_chili_sauce = 5,
- /obj/item/storage/ration/battered_fish_sticks = 5,
- /obj/item/storage/ration/assorted_salted_offal = 5,
- /obj/item/storage/ration/maple_pork_sausage_patty = 5,
- /obj/item/storage/ration/pepper_jack_beef_patty = 5,
- /obj/item/storage/ration/beef_goulash = 5,
- /obj/item/storage/ration/pepperoni_pizza_slice = 5,
- /obj/item/storage/ration/blackened_calamari = 5,
- /obj/item/storage/ration/elbow_macaroni = 5,
- /obj/item/storage/ration/cheese_pizza_slice = 5,
- /obj/item/storage/ration/crayons = 2 // :)
- )
-
-/obj/effect/spawner/lootdrop/chem_jug
- loot = list(
- /obj/item/reagent_containers/glass/chem_jug/carbon,
- /obj/item/reagent_containers/glass/chem_jug/oxygen,
- /obj/item/reagent_containers/glass/chem_jug/nitrogen,
- /obj/item/reagent_containers/glass/chem_jug/hydrogen,
- /obj/item/reagent_containers/glass/chem_jug/radium,
- /obj/item/reagent_containers/glass/chem_jug/aluminium,
- /obj/item/reagent_containers/glass/chem_jug/chlorine,
- /obj/item/reagent_containers/glass/chem_jug/copper,
- /obj/item/reagent_containers/glass/chem_jug/bromine,
- /obj/item/reagent_containers/glass/chem_jug/iodine,
- /obj/item/reagent_containers/glass/chem_jug/potassium,
- /obj/item/reagent_containers/glass/chem_jug/sulfur)
diff --git a/code/game/objects/effects/spawners/mobspawner.dm b/code/game/objects/effects/spawners/mobspawner.dm
index 187b7c155fe0..2161ebd06bb5 100644
--- a/code/game/objects/effects/spawners/mobspawner.dm
+++ b/code/game/objects/effects/spawners/mobspawner.dm
@@ -1,11 +1,11 @@
-/obj/effect/spawner/lootdrop/randomthreat
+/obj/effect/spawner/random/randomthreat
var/static/mob_category = rand(1, 3)
-/obj/effect/spawner/lootdrop/randomthreat/Initialize(mapload)
+/obj/effect/spawner/random/randomthreat/Initialize(mapload)
switch(mob_category)
if(1)
loot = list(
- /obj/effect/spawner/lootdrop/hivebotspawner
+ /obj/effect/spawner/random/hivebotspawner
)
if(2)
loot = list(
@@ -13,28 +13,28 @@
)
if(3)
loot = list(
- /obj/effect/spawner/lootdrop/spiderspawner
+ /obj/effect/spawner/random/spiderspawner
)
return ..()
-/obj/effect/spawner/lootdrop/xenospawner
+/obj/effect/spawner/random/xenospawner
name = "Xenomorph spawner"
loot = list(
/mob/living/simple_animal/hostile/alien = 0.3,
/mob/living/simple_animal/hostile/alien/drone = 0.2,
/mob/living/simple_animal/hostile/alien/sentinel = 0.3,
- /obj/effect/spawner/lootdrop/xenoqueenspawner = 0.1
+ /obj/effect/spawner/random/xenoqueenspawner = 0.1
)
-/obj/effect/spawner/lootdrop/xenoqueenspawner
+/obj/effect/spawner/random/xenoqueenspawner
name = "xenomorph queen spawner"
loot = list(
/mob/living/simple_animal/hostile/alien/queen = 0.2, //regular queen mob isn't actually that strong
/mob/living/simple_animal/hostile/alien/queen/large = 0.8
)
-/obj/effect/spawner/lootdrop/hivebotspawner
+/obj/effect/spawner/random/hivebotspawner
name = "Hivebot spawner"
loot = list(
@@ -42,7 +42,7 @@
/mob/living/simple_animal/hostile/hivebot,
)
-/obj/effect/spawner/lootdrop/spiderspawner
+/obj/effect/spawner/random/spiderspawner
name = "Spider spawner"
loot = list(
@@ -51,29 +51,29 @@
/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper,
)
-/obj/effect/spawner/lootdrop/thirtyfive_percent_borerspawner
+/obj/effect/spawner/random/thirtyfive_percent_borerspawner
name = "35 percent neutered borer spawner"
loot = list(
/mob/living/simple_animal/borer/sterile = 0.35,
- /obj/effect/spawner/lootdrop/maintenance = 0.65,
+ /obj/effect/spawner/random/maintenance = 0.65,
)
-/obj/effect/spawner/lootdrop/chicken
+/obj/effect/spawner/random/chicken
name = "chicken spawner"
loot = list(
/mob/living/simple_animal/chicken
)
-/obj/effect/spawner/lootdrop/chicken/jungle
+/obj/effect/spawner/random/chicken/jungle
name = "jungle chicken spawner"
loot = list(
/mob/living/simple_animal/hostile/retaliate/chicken
)
-/obj/effect/spawner/lootdrop/chicken/jungle/flock
+/obj/effect/spawner/random/chicken/jungle/flock
loot = list(
/mob/living/simple_animal/hostile/retaliate/chicken
)
- lootcount = 7
- lootdoubles = TRUE
+ spawn_loot_count = 7
+ spawn_loot_double = TRUE
diff --git a/code/game/objects/effects/spawners/random.dm/ai_module.dm b/code/game/objects/effects/spawners/random.dm/ai_module.dm
new file mode 100644
index 000000000000..7f5eed59e4a0
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/ai_module.dm
@@ -0,0 +1,41 @@
+/obj/effect/spawner/random/aimodule
+ name = "AI module spawner"
+ desc = "State laws human."
+ icon_state = "circuit"
+ spawn_loot_double = FALSE
+ spawn_loot_count = 3
+ spawn_loot_split = TRUE
+
+/obj/effect/spawner/random/aimodule_harmless // These shouldn't allow the AI to start butchering people
+ name = "harmless AI module spawner"
+ loot = list(
+ /obj/item/aiModule/core/full/asimov,
+ /obj/item/aiModule/core/full/asimovpp,
+ /obj/item/aiModule/core/full/hippocratic,
+ /obj/item/aiModule/core/full/paladin_devotion,
+ /obj/item/aiModule/core/full/paladin
+ )
+
+/obj/effect/spawner/random/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason
+ name = "neutral AI module spawner"
+ loot = list(
+ /obj/item/aiModule/core/full/corp,
+ /obj/item/aiModule/core/full/maintain,
+ /obj/item/aiModule/core/full/drone,
+ /obj/item/aiModule/core/full/peacekeeper,
+ /obj/item/aiModule/core/full/reporter,
+ /obj/item/aiModule/core/full/robocop,
+ /obj/item/aiModule/core/full/liveandletlive,
+ /obj/item/aiModule/core/full/hulkamania
+ )
+
+/obj/effect/spawner/random/aimodule_harmful // These will get the shuttle called
+ name = "harmful AI module spawner"
+ loot = list(
+ /obj/item/aiModule/core/full/antimov,
+ /obj/item/aiModule/core/full/balance,
+ /obj/item/aiModule/core/full/tyrant,
+ /obj/item/aiModule/core/full/thermurderdynamic,
+ /obj/item/aiModule/core/full/damaged,
+ /obj/item/aiModule/reset/purge
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/anomaly.dm b/code/game/objects/effects/spawners/random.dm/anomaly.dm
new file mode 100644
index 000000000000..aa8fa472de2c
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/anomaly.dm
@@ -0,0 +1,222 @@
+/obj/effect/spawner/random/anomaly
+ name = "random anomaly spawner"
+ icon_state = "anomaly"
+ loot = list(
+ /obj/effect/anomaly/bluespace/planetary,
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/grav/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/pyro/planetary,
+ /obj/effect/anomaly/vortex/planetary,
+ /obj/effect/anomaly/grav/high/planetary,
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/tvstatic/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ /obj/effect/anomaly/transfusion/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/safe
+ name = "relatively safe anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/pyro/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ /obj/effect/anomaly/transfusion/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/dangerous
+ name = "relatively dangerous anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/bluespace/planetary,
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/grav/planetary,
+ /obj/effect/anomaly/vortex/planetary,
+ /obj/effect/anomaly/grav/high/planetary,
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/tvstatic/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/big
+ name = "random big anomaly spawner"
+ icon_state = "big_anomaly"
+ loot = list(
+ /obj/effect/anomaly/bluespace/big/planetary,
+ /obj/effect/anomaly/flux/big/planetary,
+ /obj/effect/anomaly/grav/high/big/planetary,
+ /obj/effect/anomaly/pyro/big/planetary
+
+ )
+
+//handpicked lists relevant to the planets they're on
+// /cave lists are made for spawning in cave biomes. Not every anomaly goes well there. We don't have enough anomalies to really populate them all though
+
+/obj/effect/spawner/random/anomaly/jungle
+ name = "Jungle Anomaly Spawner"
+ loot = list(
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/tvstatic/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/jungle/cave
+ loot = list(
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/tvstatic/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ )
+
+//beaches don't currently have anomalies, but I don't see a reason why they couldn't have *some*
+
+/obj/effect/spawner/random/anomaly/beach
+ name = "Beach anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/beach/cave
+ loot = list(
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/sand
+ name = "Sand anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/bluespace/planetary,
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/tvstatic/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/sand/cave
+ loot = list(
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/pyro/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/tvstatic/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/rock
+ name = "Rock anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/bluespace/planetary,
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/grav/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/pyro/planetary,
+ /obj/effect/anomaly/vortex/planetary,
+ /obj/effect/anomaly/grav/high/planetary,
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/tvstatic/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/rock/cave
+ loot = list(
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/pyro/planetary,
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/sparkler/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/lava
+ name = "Lava anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/bluespace/planetary,
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/grav/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/pyro/planetary,
+ /obj/effect/anomaly/vortex/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/lava/cave
+ loot = list(
+ /obj/effect/anomaly/flux/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/pyro/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/ice
+ name = "Ice anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/bluespace/planetary,
+ /obj/effect/anomaly/grav/planetary,
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/vortex/planetary,
+ /obj/effect/anomaly/grav/high/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/ice/cave
+ loot = list(
+ /obj/effect/anomaly/hallucination/planetary,
+ /obj/effect/anomaly/grav/high/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/phantom/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/waste
+ name = "Waste anomaly spawner"
+ loot = list(
+ /obj/effect/anomaly/vortex/planetary,
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/waste/cave
+ loot = list(
+ /obj/effect/anomaly/heartbeat/planetary,
+ /obj/effect/anomaly/veins/planetary,
+ /obj/effect/anomaly/plasmasoul/planetary,
+ /obj/effect/anomaly/melter/planetary,
+ )
+
+/obj/effect/spawner/random/anomaly/storm
+ loot = list(
+ /obj/effect/anomaly/flux/storm,
+ /obj/effect/anomaly/pyro/storm,
+ /obj/effect/anomaly/sparkler,
+ /obj/effect/anomaly/veins,
+ /obj/effect/anomaly/phantom,
+ /obj/effect/anomaly/melter,
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/bedsheet.dm b/code/game/objects/effects/spawners/random.dm/bedsheet.dm
new file mode 100644
index 000000000000..f8a53fffd2c9
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/bedsheet.dm
@@ -0,0 +1,33 @@
+/obj/effect/spawner/random/bedsheet
+ name = "random dorm bedsheet"
+ icon_state = "random_bedsheet"
+ loot = list(
+ /obj/item/bedsheet,
+ /obj/item/bedsheet/blue,
+ /obj/item/bedsheet/green,
+ /obj/item/bedsheet/grey,
+ /obj/item/bedsheet/orange,
+ /obj/item/bedsheet/purple,
+ /obj/item/bedsheet/red,
+ /obj/item/bedsheet/yellow,
+ /obj/item/bedsheet/brown,
+ /obj/item/bedsheet/black,
+ /obj/item/bedsheet/rainbow
+ )
+
+/obj/effect/spawner/random/bedsheet/double
+ name = "random dorm double bedsheet"
+ icon_state = "random_doublesheet"
+ loot = list(
+ /obj/item/bedsheet/double,
+ /obj/item/bedsheet/double/blue,
+ /obj/item/bedsheet/double/green,
+ /obj/item/bedsheet/double/grey,
+ /obj/item/bedsheet/double/orange,
+ /obj/item/bedsheet/double/purple,
+ /obj/item/bedsheet/double/red,
+ /obj/item/bedsheet/double/yellow,
+ /obj/item/bedsheet/double/brown,
+ /obj/item/bedsheet/double/black,
+ /obj/item/bedsheet/double/rainbow
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/boards.dm b/code/game/objects/effects/spawners/random.dm/boards.dm
new file mode 100644
index 000000000000..0104d17326d7
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/boards.dm
@@ -0,0 +1,245 @@
+// Tech storage circuit board spawners
+
+/obj/effect/spawner/random/techstorage
+ name = "generic circuit board spawner"
+ icon_state = "circuit"
+ spawn_loot_split = TRUE
+ spawn_all_loot = TRUE
+
+/obj/effect/spawner/random/techstorage/service
+ name = "service circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/arcade/battle,
+ /obj/item/circuitboard/computer/arcade/orion_trail,
+ /obj/item/circuitboard/machine/autolathe,
+ /obj/item/circuitboard/computer/mining,
+ /obj/item/circuitboard/machine/ore_redemption,
+ /obj/item/circuitboard/machine/vending/mining_equipment,
+ /obj/item/circuitboard/machine/microwave,
+ /obj/item/circuitboard/machine/chem_dispenser/drinks,
+ /obj/item/circuitboard/machine/chem_dispenser/drinks/beer,
+ /obj/item/circuitboard/computer/slot_machine
+ )
+
+/obj/effect/spawner/random/techstorage/rnd
+ name = "RnD circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/aifixer,
+ /obj/item/circuitboard/machine/rdserver,
+ /obj/item/circuitboard/machine/mechfab,
+ /obj/item/circuitboard/machine/circuit_imprinter/department,
+ /obj/item/circuitboard/computer/teleporter,
+ /obj/item/circuitboard/machine/destructive_analyzer,
+ /obj/item/circuitboard/computer/rdconsole,
+ /obj/item/circuitboard/computer/nanite_chamber_control,
+ /obj/item/circuitboard/computer/nanite_cloud_controller,
+ /obj/item/circuitboard/machine/nanite_chamber,
+ /obj/item/circuitboard/machine/nanite_programmer,
+ /obj/item/circuitboard/machine/nanite_program_hub
+ )
+
+/obj/effect/spawner/random/techstorage/security
+ name = "security circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/secure_data,
+ /obj/item/circuitboard/computer/security,
+ /obj/item/circuitboard/computer/prisoner
+ )
+
+/obj/effect/spawner/random/techstorage/engineering
+ name = "engineering circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/atmos_alert,
+ /obj/item/circuitboard/computer/stationalert,
+ /obj/item/circuitboard/computer/powermonitor
+ )
+
+/obj/effect/spawner/random/techstorage/tcomms
+ name = "tcomms circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/message_monitor,
+ /obj/item/circuitboard/machine/telecomms/broadcaster,
+ /obj/item/circuitboard/machine/telecomms/bus,
+ /obj/item/circuitboard/machine/telecomms/server,
+ /obj/item/circuitboard/machine/telecomms/receiver,
+ /obj/item/circuitboard/machine/telecomms/processor,
+ /obj/item/circuitboard/machine/announcement_system,
+ /obj/item/circuitboard/computer/comm_server,
+ /obj/item/circuitboard/computer/comm_monitor
+ )
+
+/obj/effect/spawner/random/techstorage/medical
+ name = "medical circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/machine/chem_dispenser,
+ /obj/item/circuitboard/computer/scan_consolenew,
+ /obj/item/circuitboard/computer/med_data,
+ /obj/item/circuitboard/machine/smoke_machine,
+ /obj/item/circuitboard/machine/chem_master,
+ /obj/item/circuitboard/machine/dnascanner,
+ /obj/item/circuitboard/computer/pandemic
+ )
+
+/obj/effect/spawner/random/techstorage/ai_all
+ name = "secure AI circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/aiupload,
+ /obj/item/circuitboard/computer/borgupload,
+ /obj/item/circuitboard/aicore
+ )
+
+/obj/effect/spawner/random/techstorage/command
+ name = "secure command circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/crew,
+ /obj/item/circuitboard/computer/communications,
+ /obj/item/circuitboard/computer/card
+ )
+
+/obj/effect/spawner/random/techstorage/rnd_secure
+ name = "secure RnD circuit board spawner"
+ loot = list(
+ /obj/item/circuitboard/computer/mecha_control,
+ /obj/item/circuitboard/computer/apc_control,
+ /obj/item/circuitboard/computer/robotics
+ )
+
+//random RND imprinter/protolathe board spawners. Do not use on maps without a good reason
+/obj/effect/spawner/random/circuit/protolathe
+ name = "random departmental protolathe"
+ icon_state = "circuit"
+ loot = list(
+ /obj/item/circuitboard/machine/protolathe/department/cargo,
+ /obj/item/circuitboard/machine/protolathe/department/engineering,
+ /obj/item/circuitboard/machine/protolathe/department/service,
+ /obj/item/circuitboard/machine/protolathe/department/medical,
+ /obj/item/circuitboard/machine/protolathe/department/science,
+ /obj/item/circuitboard/machine/protolathe/department/security
+ )
+
+/obj/effect/spawner/random/circuit/imprinter
+ name = "random departmental circuit imprinter"
+ icon_state = "circuit"
+ loot = list(
+ /obj/item/circuitboard/machine/circuit_imprinter/department/cargo,
+ /obj/item/circuitboard/machine/circuit_imprinter/department/engi,
+ /obj/item/circuitboard/machine/circuit_imprinter/department/civ,
+ /obj/item/circuitboard/machine/circuit_imprinter/department/med,
+ /obj/item/circuitboard/machine/circuit_imprinter/department/science,
+ /obj/item/circuitboard/machine/circuit_imprinter/department/sec
+ )
+
+/obj/effect/spawner/random/circuit/techfab
+ name = "random departmental techfab"
+ icon_state = "circuit"
+ loot = list(
+ /obj/item/circuitboard/machine/techfab/department/service,
+ /obj/item/circuitboard/machine/techfab/department/cargo,
+ /obj/item/circuitboard/machine/techfab/department/engineering,
+ /obj/item/circuitboard/machine/techfab/department/service,
+ /obj/item/circuitboard/machine/techfab/department/medical,
+ /obj/item/circuitboard/machine/techfab/department/science,
+ /obj/item/circuitboard/machine/techfab/department/security
+ )
+
+/obj/effect/spawner/random/rnd
+ name = "random RND spawner"
+ icon_state = "circuit"
+ loot = list(
+ /obj/item/storage/box/rndmining,
+ /obj/item/storage/box/rndengi,
+ /obj/item/storage/box/rndsec,
+ /obj/item/storage/box/rndciv,
+ /obj/item/storage/box/rndmed
+ )
+
+/obj/effect/spawner/random/circuit/machine/common
+ loot = list(
+ /obj/item/circuitboard/machine/autolathe = 5,
+ /obj/item/circuitboard/machine/biogenerator = 5,
+ /obj/item/circuitboard/machine/cell_charger = 5,
+ /obj/item/circuitboard/machine/chem_heater = 5,
+ /obj/item/circuitboard/machine/chem_master = 5,
+ /obj/item/circuitboard/machine/clonescanner = 5,
+ /obj/item/circuitboard/machine/cryo_tube = 5,
+ /obj/item/circuitboard/machine/cyborgrecharger = 5,
+ /obj/item/circuitboard/machine/deep_fryer = 5,
+ /obj/item/circuitboard/machine/experimentor = 5,
+ /obj/item/circuitboard/machine/holopad = 5,
+ /obj/item/circuitboard/machine/hydroponics = 5,
+ /obj/item/circuitboard/machine/limbgrower = 5,
+ /obj/item/circuitboard/machine/ltsrbt = 5,
+ /obj/item/circuitboard/machine/mech_recharger = 5,
+ /obj/item/circuitboard/machine/mechfab = 5,
+ /obj/item/circuitboard/machine/medical_kiosk = 5,
+ /obj/item/circuitboard/machine/medipen_refiller = 5,
+ /obj/item/circuitboard/machine/microwave = 5,
+ /obj/item/circuitboard/machine/ore_redemption = 5,
+ /obj/item/circuitboard/machine/ore_silo = 5,
+ /obj/item/circuitboard/machine/reagentgrinder = 5,
+ /obj/item/circuitboard/machine/recharger = 5,
+ /obj/item/circuitboard/machine/seed_extractor = 5,
+ /obj/item/circuitboard/machine/selling_pad = 5,
+ /obj/item/circuitboard/machine/emitter = 5,
+ )
+
+/obj/effect/spawner/random/circuit
+ icon_state = "circuit"
+
+/obj/effect/spawner/random/circuit/machine/rare
+ loot = list(
+ /obj/item/circuitboard/aicore = 5,
+ /obj/item/circuitboard/machine/chem_dispenser = 5,
+ /obj/item/circuitboard/machine/circuit_imprinter = 5,
+ /obj/item/circuitboard/machine/protolathe = 5,
+ /obj/item/circuitboard/machine/clonepod/experimental = 5,
+ /obj/item/circuitboard/machine/rad_collector = 5,
+ /obj/item/circuitboard/machine/launchpad = 5,
+ )
+
+/obj/effect/spawner/random/circuit/machine/mech
+ loot = list(
+ /obj/item/circuitboard/mecha/ripley/main = 100,
+ /obj/item/circuitboard/mecha/ripley/peripherals = 100,
+ /obj/item/circuitboard/mecha/honker/main = 5,
+ /obj/item/circuitboard/mecha/honker/peripherals = 5,
+ /obj/item/circuitboard/mecha/odysseus/main = 5,
+ /obj/item/circuitboard/mecha/odysseus/peripherals = 5,
+ /obj/item/circuitboard/mecha/gygax/main = 1,
+ /obj/item/circuitboard/mecha/gygax/peripherals = 1,
+ /obj/item/circuitboard/mecha/gygax/targeting = 1,
+ /obj/item/circuitboard/mecha/durand/main = 1,
+ /obj/item/circuitboard/mecha/durand/peripherals = 1,
+ /obj/item/circuitboard/mecha/durand/targeting = 1,
+ )
+
+//COMPUTER
+/obj/effect/spawner/random/circuit/computer/common
+ loot = list(
+ /obj/item/circuitboard/computer/aifixer = 5,
+ /obj/item/circuitboard/computer/arcade/amputation = 5,
+ /obj/item/circuitboard/computer/arcade/battle = 5,
+ /obj/item/circuitboard/computer/arcade/orion_trail = 5,
+ /obj/item/circuitboard/computer/atmos_alert = 5,
+ /obj/item/circuitboard/computer/card = 5,
+ /obj/item/circuitboard/computer/cloning = 5,
+ /obj/item/circuitboard/computer/communications = 5,
+ /obj/item/circuitboard/computer/launchpad_console = 5,
+ /obj/item/circuitboard/computer/mech_bay_power_console = 5,
+ /obj/item/circuitboard/computer/pandemic = 5,
+ /obj/item/circuitboard/computer/powermonitor/secret = 5,
+ /obj/item/circuitboard/computer/prototype_cloning = 5,
+ /obj/item/circuitboard/computer/stationalert = 5,
+ /obj/item/circuitboard/computer/teleporter = 5,
+ /obj/item/circuitboard/computer/operating = 5,
+ /obj/item/circuitboard/computer/crew = 5,
+ /obj/item/circuitboard/computer/scan_consolenew = 5,
+ )
+
+/obj/effect/spawner/random/circuit/computer/rare
+ loot = list(
+ /obj/item/circuitboard/computer/cargo = 5,
+ /obj/item/circuitboard/computer/communications = 5,
+ /obj/item/circuitboard/computer/shuttle/helm = 5,
+ /obj/item/circuitboard/computer/med_data = 5,
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/bureaucracy.dm b/code/game/objects/effects/spawners/random.dm/bureaucracy.dm
new file mode 100644
index 000000000000..b55c9dc7b364
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/bureaucracy.dm
@@ -0,0 +1,68 @@
+/obj/effect/spawner/random/bureaucracy
+ name = "bureaucracy loot spawner"
+ desc = "For the exotic art of paper shuffling."
+
+/obj/effect/spawner/random/bureaucracy/pen
+ name = "pen spawner"
+ icon_state = "pen"
+ loot = list(
+ /obj/item/pen = 30,
+ /obj/item/pen/blue = 5,
+ /obj/item/pen/red = 5,
+ /obj/item/flashlight/pen = 5,
+ /obj/item/pen/fourcolor = 2,
+ /obj/item/pen/fountain = 1,
+ )
+
+/obj/effect/spawner/random/bureaucracy/stamp
+ name = "stamp spawner"
+ icon_state = "stamp"
+ loot = list(
+ /obj/item/stamp = 3,
+ /obj/item/stamp/denied = 1,
+ )
+
+/obj/effect/spawner/random/bureaucracy/crayon
+ name = "crayon spawner"
+ icon_state = "crayon"
+ loot = list(
+ /obj/item/toy/crayon/red,
+ /obj/item/toy/crayon/orange,
+ /obj/item/toy/crayon/yellow,
+ /obj/item/toy/crayon/green,
+ /obj/item/toy/crayon/blue,
+ /obj/item/toy/crayon/purple,
+ /obj/item/toy/crayon/black,
+ /obj/item/toy/crayon/white,
+ )
+
+/obj/effect/spawner/random/bureaucracy/paper
+ name = "paper spawner"
+ icon_state = "paper"
+ loot = list(
+ /obj/item/paper = 20,
+ /obj/item/paper/crumpled = 2,
+ /obj/item/paper/crumpled/bloody = 2,
+ /obj/item/paper/crumpled/muddy = 2,
+ /obj/item/paper/construction = 1,
+ /obj/item/paper/carbon = 1,
+ )
+
+/obj/effect/spawner/random/bureaucracy/briefcase
+ name = "briefcase spawner"
+ icon_state = "briefcase"
+ loot = list(
+ /obj/item/storage/briefcase = 3,
+ /obj/item/storage/briefcase/lawyer = 1,
+ )
+
+/obj/effect/spawner/random/bureaucracy/folder
+ name = "folder spawner"
+ icon_state = "folder"
+ loot = list(
+ /obj/item/folder/blue,
+ /obj/item/folder/red,
+ /obj/item/folder/yellow,
+ /obj/item/folder/white,
+ /obj/item/folder,
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/clothing.dm b/code/game/objects/effects/spawners/random.dm/clothing.dm
new file mode 100644
index 000000000000..e5137f9e5078
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/clothing.dm
@@ -0,0 +1,67 @@
+/obj/effect/spawner/random/clothing
+ name = "clothing loot spawner"
+ desc = "Time to look pretty."
+ icon_state = "suit"
+
+/obj/effect/spawner/random/clothing/gloves
+ name = "random gloves"
+ desc = "These gloves are supposed to be a random color..."
+ icon_state = "gloves"
+ loot = list(
+ /obj/item/clothing/gloves/color/orange,
+ /obj/item/clothing/gloves/color/red,
+ /obj/item/clothing/gloves/color/blue,
+ /obj/item/clothing/gloves/color/purple,
+ /obj/item/clothing/gloves/color/green,
+ /obj/item/clothing/gloves/color/grey,
+ /obj/item/clothing/gloves/color/light_brown,
+ /obj/item/clothing/gloves/color/brown,
+ /obj/item/clothing/gloves/color/white,
+ /obj/item/clothing/gloves/color/rainbow
+ )
+
+/obj/effect/spawner/random/clothing/costume
+ name = "random costume spawner"
+ icon_state = "costume"
+ loot_subtype_path = /obj/effect/spawner/costume
+ loot = list()
+
+/obj/effect/spawner/random/clothing/beret_or_rabbitears
+ name = "beret or rabbit ears spawner"
+ loot = list(
+ /obj/item/clothing/head/beret
+ )
+
+/obj/effect/spawner/random/clothing/bowler_or_that
+ name = "bowler or top hat spawner"
+ loot = list(
+ /obj/item/clothing/head/that
+ )
+
+/obj/effect/spawner/random/clothing/kittyears_or_rabbitears
+ name = "kitty ears or rabbit ears spawner"
+ loot = list(
+ /obj/item/clothing/head/kitty
+ )
+
+/obj/effect/spawner/random/clothing/pirate_or_bandana
+ name = "pirate hat or bandana spawner"
+ loot = list(
+ /obj/item/clothing/head/pirate,
+ /obj/item/clothing/head/bandana
+ )
+
+/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask
+ name = "25% cyborg mask spawner"
+ spawn_loot_chance = 25
+ loot = list(/obj/item/clothing/mask/gas/cyborg)
+
+/obj/effect/spawner/random/clothing/mafia_outfit
+ name = "mafia outfit spawner"
+ icon_state = "costume"
+ loot = list(
+ /obj/effect/spawner/costume/mafia = 20,
+ /obj/effect/spawner/costume/mafia/white = 5,
+ /obj/effect/spawner/costume/mafia/checkered = 2,
+ /obj/effect/spawner/costume/mafia/beige = 5
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/decoration.dm b/code/game/objects/effects/spawners/random.dm/decoration.dm
new file mode 100644
index 000000000000..7af7af7fe85b
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/decoration.dm
@@ -0,0 +1,118 @@
+/obj/effect/spawner/random/decoration
+ name = "decoration loot spawner"
+ desc = "Time for some bling bling."
+ icon_state = "lamp"
+
+/obj/effect/spawner/random/decoration/material
+ name = "decoration material spawner"
+ icon_state = "tile"
+ loot = list(
+ /obj/item/stack/sheet/sandblock{amount = 30} = 25,
+ /obj/item/stack/sheet/mineral/wood{amount = 30} = 25,
+ /obj/item/stack/tile/noslip{amount = 20} = 10,
+ /obj/item/stack/sheet/plastic{amount = 30} = 10,
+ /obj/item/stack/tile/pod{amount = 20} = 4,
+ /obj/item/stack/tile/pod/light{amount = 20} = 3,
+ /obj/item/stack/tile/pod/dark{amount = 20} = 3,
+ )
+
+/obj/effect/spawner/random/decoration/carpet
+ name = "carpet spawner"
+ icon_state = "carpet"
+ loot = list(
+ /obj/item/stack/tile/carpet{amount = 30} = 35,
+ /obj/item/stack/tile/carpet/black{amount = 30} = 20,
+ )
+
+/obj/effect/spawner/random/decoration/ornament
+ name = "ornament spawner"
+ icon_state = "lamp"
+ loot = list(
+ /obj/item/flashlight/lamp = 35,
+ /obj/item/flashlight/lamp/green = 35,
+ /obj/item/flashlight/lantern = 10,
+ /obj/item/flashlight/lamp/bananalamp = 5,
+ )
+/obj/effect/spawner/random/decoration/glowstick
+ name = "random colored glowstick"
+ icon_state = "glowstick"
+ loot_type_path = /obj/item/flashlight/glowstick
+ loot = list()
+
+/obj/effect/spawner/random/decoration/glowstick/on
+ name = "random colored glowstick (on)"
+ icon_state = "glowstick"
+
+/obj/effect/spawner/random/decoration/glowstick/on/make_item(spawn_loc, type_path_to_make)
+ . = ..()
+
+ var/obj/item/flashlight/glowstick = .
+
+ glowstick.set_light_on(TRUE)
+
+/obj/effect/spawner/random/decoration/paint
+ name = "paint spawner"
+ icon_state = "paint"
+ loot_subtype_path = /obj/item/paint
+ loot = list()
+
+/obj/effect/spawner/random/decoration/flower
+ name = "random grown flower spawner"
+ icon_state = "flower"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/grown/poppy,
+ /obj/item/reagent_containers/food/snacks/grown/harebell,
+ /obj/item/reagent_containers/food/snacks/grown/trumpet,
+ )
+
+/obj/effect/spawner/random/flora
+ name = "random flora spawner"
+ loot = list(
+ /obj/structure/flora/tree/chapel,
+ /obj/structure/flora/tree/pine,
+ /obj/structure/flora/tree/jungle/small,
+ /obj/structure/flora/tree/jungle,
+ /obj/structure/flora/ash/puce,
+ /obj/structure/flora/ash/fireblossom,
+ /obj/structure/flora/ash/fern,
+ /obj/structure/flora/ash/tall_shroom,
+ /obj/structure/flora/ash/stem_shroom,
+ /obj/structure/flora/ash/space/voidmelon,
+ /obj/structure/flora/ash/leaf_shroom,
+ /obj/structure/flora/junglebush/large,
+ /obj/structure/flora/junglebush/b,
+ /obj/structure/flora/junglebush/c,
+ /obj/structure/flora/ausbushes/fernybush,
+ /obj/structure/flora/ausbushes/genericbush,
+ /obj/structure/flora/ausbushes/grassybush,
+ /obj/structure/flora/ausbushes/leafybush,
+ /obj/structure/flora/ausbushes/palebush,
+ /obj/structure/flora/ausbushes/pointybush,
+ /obj/structure/flora/ausbushes/reedbush,
+ /obj/structure/flora/ausbushes/stalkybush,
+ /obj/structure/flora/ausbushes/sunnybush,
+ /obj/structure/flora/bush,
+ /obj/structure/flora/grass/jungle,
+ /obj/structure/flora/junglebush,
+ /obj/structure/flora/junglebush/b,
+ /obj/structure/flora/junglebush/c,
+ /obj/structure/flora/ash,
+ /obj/structure/flora/ash/cacti,
+ /obj/structure/flora/ash/cap_shroom,
+ /obj/structure/flora/ash/chilly,
+ /obj/structure/flora/tree/palm
+ )
+ spawn_loot_count = 1
+
+/obj/effect/spawner/random/flower
+ name = "random flower spawner"
+ icon_state = "flower"
+ loot = list(
+ /obj/structure/flora/ausbushes/brflowers,
+ /obj/structure/flora/ausbushes/ywflowers,
+ /obj/structure/flora/ausbushes/ppflowers,
+ /obj/structure/flora/ausbushes/fullgrass,
+ /obj/structure/flora/ausbushes/sparsegrass
+ )
+ spawn_loot_count = 1
+
diff --git a/code/game/objects/effects/spawners/random.dm/engineering.dm b/code/game/objects/effects/spawners/random.dm/engineering.dm
new file mode 100644
index 000000000000..81f264039feb
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/engineering.dm
@@ -0,0 +1,138 @@
+/obj/effect/spawner/random/engineering
+ name = "engineering loot spawner"
+ desc = "All engineering related spawners go here"
+ icon_state = "toolbox"
+
+/obj/effect/spawner/random/engineering/tool
+ loot = list(
+ /obj/effect/spawner/random/engineering/tool/common = 120,
+ /obj/effect/spawner/random/engineering/tool/sydnie = 20,
+ /obj/effect/spawner/random/engineering/tool/adv = 5,
+ )
+
+/obj/effect/spawner/random/engineering/tool/common
+ loot = list(
+ /obj/item/wrench/crescent = 1,
+ /obj/item/screwdriver = 1,
+ /obj/item/weldingtool = 1,
+ /obj/item/crowbar = 1,
+ /obj/item/wirecutters = 1,
+ /obj/item/multitool = 1,
+ )
+
+/obj/effect/spawner/random/engineering/tool/sydnie
+ loot = list(
+ /obj/item/wrench/syndie = 1,
+ /obj/item/screwdriver/nuke = 1,
+ /obj/item/weldingtool/largetank = 1,
+ /obj/item/crowbar/syndie = 1,
+ /obj/item/wirecutters/syndie = 1,
+ /obj/item/multitool/syndie = 1,
+ )
+
+/obj/effect/spawner/random/engineering/tool/adv
+ loot = list(
+ /obj/item/screwdriver/power = 1,
+ /obj/item/weldingtool/experimental = 1,
+ /obj/item/crowbar/power = 1,
+ )
+
+/obj/effect/spawner/random/stockparts
+ name = "random good stock parts"
+ spawn_loot_count = 6
+ loot = list(
+ /obj/item/stock_parts/capacitor/adv,
+ /obj/item/stock_parts/capacitor/quadratic,
+ /obj/item/stock_parts/capacitor/super,
+ /obj/item/stock_parts/cell/hyper,
+ /obj/item/stock_parts/cell/super,
+ /obj/item/stock_parts/cell/bluespace,
+ /obj/item/stock_parts/matter_bin/bluespace,
+ /obj/item/stock_parts/matter_bin/super,
+ /obj/item/stock_parts/matter_bin/adv,
+ /obj/item/stock_parts/micro_laser/ultra,
+ /obj/item/stock_parts/micro_laser/quadultra,
+ /obj/item/stock_parts/micro_laser/high,
+ /obj/item/stock_parts/scanning_module/triphasic,
+ /obj/item/stock_parts/scanning_module/phasic,
+ /obj/item/stock_parts/scanning_module/adv,
+ /obj/item/reagent_containers/glass/beaker/bluespace,
+ /obj/item/reagent_containers/glass/beaker/plastic,
+ /obj/item/reagent_containers/glass/beaker/large,
+ /obj/item/stock_parts/manipulator/nano,
+ /obj/item/stock_parts/manipulator/pico,
+ /obj/item/stock_parts/manipulator/femto
+ )
+
+/obj/effect/spawner/random/materials
+ name = "random bulk materials"
+ spawn_loot_count = 2
+ loot = list(
+ /obj/item/stack/sheet/plastic/fifty,
+ /obj/item/stack/sheet/bluespace_crystal/twenty,
+ /obj/item/stack/sheet/cardboard/fifty,
+ /obj/item/stack/sheet/glass/fifty,
+ /obj/item/stack/sheet/metal/fifty,
+ /obj/item/stack/sheet/plasteel/twenty,
+ /obj/item/stack/sheet/mineral/plasma/fifty,
+ /obj/item/stack/sheet/mineral/silver/fifty,
+ /obj/item/stack/sheet/mineral/titanium/fifty,
+ /obj/item/stack/sheet/mineral/uranium/fifty,
+ /obj/item/stack/sheet/mineral/wood/fifty,
+ /obj/item/stack/sheet/mineral/diamond/twenty,
+ /obj/item/stack/sheet/mineral/gold/fifty,
+ /obj/item/stack/cable_coil/red,
+ /obj/item/stack/rods/fifty
+ )
+
+/obj/effect/spawner/random/stockparts
+ name = "random good stock parts"
+ spawn_loot_count = 5
+ loot = list(
+ /obj/item/stock_parts/capacitor/adv,
+ /obj/item/stock_parts/capacitor/quadratic,
+ /obj/item/stock_parts/capacitor/super,
+ /obj/item/stock_parts/cell/hyper,
+ /obj/item/stock_parts/cell/super,
+ /obj/item/stock_parts/cell/bluespace,
+ /obj/item/stock_parts/matter_bin/bluespace,
+ /obj/item/stock_parts/matter_bin/super,
+ /obj/item/stock_parts/matter_bin/adv,
+ /obj/item/stock_parts/micro_laser/ultra,
+ /obj/item/stock_parts/micro_laser/quadultra,
+ /obj/item/stock_parts/micro_laser/high,
+ /obj/item/stock_parts/scanning_module/triphasic,
+ /obj/item/stock_parts/scanning_module/phasic,
+ /obj/item/stock_parts/scanning_module/adv,
+ /obj/item/reagent_containers/glass/beaker/bluespace,
+ /obj/item/reagent_containers/glass/beaker/plastic,
+ /obj/item/reagent_containers/glass/beaker/large,
+ /obj/item/stock_parts/manipulator/nano,
+ /obj/item/stock_parts/manipulator/pico,
+ /obj/item/stock_parts/manipulator/femto
+ )
+
+/obj/effect/spawner/random/materials
+ name = "random materials"
+ spawn_loot_count = 3
+ loot = list(
+ /obj/item/stack/sheet/plastic/fifty,
+ /obj/item/stack/sheet/plastic/five,
+ /obj/item/stack/sheet/bluespace_crystal/twenty,
+ /obj/item/stack/sheet/bluespace_crystal/five,
+ /obj/item/stack/sheet/cardboard/fifty,
+ /obj/item/stack/sheet/glass/fifty,
+ /obj/item/stack/sheet/metal/fifty,
+ /obj/item/stack/sheet/metal/twenty,
+ /obj/item/stack/sheet/plasteel/twenty,
+ /obj/item/stack/sheet/mineral/plasma/fifty,
+ /obj/item/stack/sheet/mineral/plasma/twenty,
+ /obj/item/stack/sheet/mineral/silver/fifty,
+ /obj/item/stack/sheet/mineral/titanium/twenty,
+ /obj/item/stack/sheet/mineral/uranium/twenty,
+ /obj/item/stack/sheet/mineral/wood/fifty,
+ /obj/item/stack/sheet/mineral/diamond/twenty,
+ /obj/item/stack/sheet/mineral/gold/fifty,
+ /obj/item/stack/cable_coil/red,
+ /obj/item/stack/rods/fifty
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/entertainment.dm b/code/game/objects/effects/spawners/random.dm/entertainment.dm
new file mode 100644
index 000000000000..8e51ddf384c0
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/entertainment.dm
@@ -0,0 +1,282 @@
+/obj/effect/spawner/random/entertainment
+ name = "entertainment loot spawner"
+ desc = "It's time to paaaaaarty!"
+
+/obj/effect/spawner/random/entertainment/arcade
+ name = "spawn random arcade machine"
+ desc = "Automagically transforms into a random arcade machine. If you see this while in a shift, please create a bug report."
+ icon_state = "arcade"
+ loot = list(
+ /obj/machinery/computer/arcade/orion_trail = 49,
+ /obj/machinery/computer/arcade/battle = 49,
+ /obj/machinery/computer/arcade/amputation = 2,
+ )
+
+/obj/effect/spawner/random/entertainment/musical_instrument
+ name = "musical instrument spawner"
+ icon_state = "eguitar"
+ loot = list(
+ /obj/item/instrument/violin = 5,
+ /obj/item/instrument/banjo = 5,
+ /obj/item/instrument/guitar = 5,
+ /obj/item/instrument/eguitar = 5,
+ /obj/item/instrument/glockenspiel = 5,
+ /obj/item/instrument/accordion = 5,
+ /obj/item/instrument/trumpet = 5,
+ /obj/item/instrument/saxophone = 5,
+ /obj/item/instrument/trombone = 5,
+ /obj/item/instrument/recorder = 5,
+ /obj/item/instrument/harmonica = 5,
+ /obj/item/instrument/bikehorn = 2,
+ /obj/item/instrument/violin/golden = 2,
+ )
+
+/obj/effect/spawner/random/entertainment/gambling
+ name = "gambling valuables spawner"
+ icon_state = "dice"
+ loot = list(
+ /obj/item/clothing/head/trapper = 3,
+ /obj/effect/spawner/random/entertainment/coin = 3,
+ /obj/effect/spawner/random/entertainment/money = 3,
+ /obj/item/dice/d6 = 3,
+ /obj/item/storage/box/syndie_kit/throwing_weapons = 1,
+ /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,
+ )
+
+/obj/effect/spawner/random/entertainment/coin
+ name = "coin spawner"
+ icon_state = "coin"
+ loot = list(
+ /obj/item/coin/iron = 5,
+ /obj/item/coin/plastic = 5,
+ /obj/item/coin/silver = 4,
+ /obj/item/coin/plasma = 4,
+ /obj/item/coin/uranium = 3,
+ /obj/item/coin/titanium = 3,
+ /obj/item/coin/diamond = 2,
+ /obj/item/coin/twoheaded = 1,
+ /obj/item/coin/antagtoken = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/money_small
+ name = "small money spawner"
+ icon_state = "cash"
+ spawn_loot_count = 3
+ spawn_loot_split = TRUE
+ loot = list(
+ /obj/item/spacecash/bundle/c1 = 5,
+ /obj/item/spacecash/bundle/c10 = 3,
+ /obj/item/spacecash/bundle/c20 = 2,
+ )
+
+/obj/effect/spawner/random/entertainment/money
+ name = "money spawner"
+ icon_state = "cash"
+ spawn_loot_count = 3
+ spawn_loot_split = TRUE
+ loot = list(
+ /obj/item/spacecash/bundle/c1 = 10,
+ /obj/item/spacecash/bundle/c10 = 5,
+ /obj/item/spacecash/bundle/c20 = 3,
+ /obj/item/spacecash/bundle/c50 = 2,
+ /obj/item/spacecash/bundle/c100 = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/money_medium
+ name = "money spawner"
+ icon_state = "cash"
+ loot = list(
+ /obj/item/spacecash/bundle/c100 = 25,
+ /obj/item/spacecash/bundle/c200 = 15,
+ /obj/item/spacecash/bundle/c50 = 10,
+ /obj/item/spacecash/bundle/c500 = 5,
+ /obj/item/spacecash/bundle/c1000 = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/money_large
+ name = "large money spawner"
+ icon_state = "cash"
+ spawn_loot_count = 5
+ spawn_loot_split = TRUE
+ loot = list(
+ /obj/item/spacecash/bundle/c1 = 100,
+ /obj/item/spacecash/bundle/c10 = 80,
+ /obj/item/spacecash/bundle/c20 = 60,
+ /obj/item/spacecash/bundle/c50 = 40,
+ /obj/item/spacecash/bundle/c100 = 30,
+ /obj/item/spacecash/bundle/c200 = 20,
+ /obj/item/spacecash/bundle/c500 = 10,
+ /obj/item/spacecash/bundle/c1000 = 5,
+ /obj/item/spacecash/bundle/c10000 = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/drugs
+ name = "recreational drugs spawner"
+ icon_state = "pill"
+ loot = list(
+ /obj/item/reagent_containers/food/drinks/bottle/hooch = 50,
+ /obj/item/clothing/mask/cigarette/rollie/cannabis = 15,
+ /obj/item/reagent_containers/syringe = 15,
+ /obj/item/cigbutt/roach = 15,
+ /obj/item/clothing/mask/cigarette/rollie/mindbreaker = 5,
+ )
+
+/obj/effect/spawner/random/entertainment/dice
+ name = "dice spawner"
+ icon_state = "dice_bag"
+ loot = list(
+ /obj/item/dice/d4,
+ /obj/item/dice/d6,
+ /obj/item/dice/d8,
+ /obj/item/dice/d10,
+ /obj/item/dice/d12,
+ /obj/item/dice/d20,
+ )
+
+/obj/effect/spawner/random/entertainment/cigarette_pack
+ name = "cigarette pack spawner"
+ icon_state = "cigarettes"
+ loot = list(
+ /obj/item/storage/fancy/cigarettes = 3,
+ /obj/item/storage/fancy/cigarettes/dromedaryco = 3,
+ /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3,
+ /obj/item/storage/fancy/cigarettes/cigpack_robust = 3,
+ /obj/item/storage/fancy/cigarettes/cigpack_carp = 3,
+ /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 1,
+ /obj/item/storage/fancy/cigarettes/cigpack_midori = 1,
+ /obj/item/storage/fancy/cigarettes/cigpack_candy = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/cigarette
+ name = "cigarette spawner"
+ icon_state = "cigarettes"
+ loot = list(
+ /obj/item/clothing/mask/cigarette/space_cigarette = 3,
+ /obj/item/clothing/mask/cigarette/rollie/cannabis = 3,
+ /obj/item/clothing/mask/cigarette/rollie/nicotine = 3,
+ /obj/item/clothing/mask/cigarette/dromedary = 2,
+ /obj/item/clothing/mask/cigarette/uplift = 2,
+ /obj/item/clothing/mask/cigarette/robust = 2,
+ /obj/item/clothing/mask/cigarette/carp = 1,
+ /obj/item/clothing/mask/cigarette/robustgold = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/cigar
+ name = "cigar spawner"
+ icon_state = "cigarettes"
+ loot = list(
+ /obj/item/clothing/mask/cigarette/cigar = 3,
+ /obj/item/clothing/mask/cigarette/cigar/havana = 2,
+ /obj/item/clothing/mask/cigarette/cigar/cohiba = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/wallet_lighter
+ name = "lighter wallet spawner"
+ icon_state = "lighter"
+ loot = list( // these fit inside a wallet
+ /obj/item/match = 10,
+ /obj/item/lighter/greyscale = 10,
+ /obj/item/lighter = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/lighter
+ name = "lighter spawner"
+ icon_state = "lighter"
+ loot = list(
+ /obj/item/storage/box/matches = 10,
+ /obj/item/lighter/greyscale = 10,
+ /obj/item/lighter = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/wallet_storage
+ name = "wallet contents spawner"
+ icon_state = "wallet"
+ spawn_loot_count = 1
+ loot = list( // random photos would go here. IF I HAD ONE. :'(
+ /obj/item/lipstick/random,
+ /obj/effect/spawner/random/food_or_drink/seed,
+ /obj/effect/spawner/random/medical/minor_healing,
+ /obj/effect/spawner/random/entertainment/coin,
+ /obj/effect/spawner/random/entertainment/dice,
+ /obj/effect/spawner/random/entertainment/cigarette,
+ /obj/effect/spawner/random/entertainment/wallet_lighter,
+ /obj/effect/spawner/random/bureaucracy/paper,
+ /obj/effect/spawner/random/bureaucracy/crayon,
+ /obj/effect/spawner/random/bureaucracy/pen,
+ /obj/effect/spawner/random/bureaucracy/stamp,
+ )
+
+/obj/effect/spawner/random/entertainment/deck
+ name = "deck spawner"
+ icon_state = "deck"
+ loot = list(
+ /obj/item/toy/cards/deck = 5,
+ /obj/item/toy/cards/deck/kotahi = 2,
+ /obj/item/toy/cards/deck/tarot = 1,
+ )
+
+/obj/effect/spawner/random/entertainment/toy_figure
+ name = "toy figure spawner"
+ icon_state = "toy"
+ loot_subtype_path = /obj/item/toy/figure
+ loot = list()
+
+/obj/effect/spawner/random/entertainment/toy
+ name = "toy spawner"
+ icon_state = "toy"
+ loot = list()
+
+/obj/effect/spawner/random/entertainment/toy/Initialize(mapload)
+ loot += GLOB.arcade_prize_pool
+ return ..()
+
+/obj/effect/spawner/random/entertainment/plushie
+ name = "plushie spawner"
+ icon_state = "plushie"
+ loot = list (
+ /obj/item/toy/plush/beeplushie,
+ /obj/item/toy/plush/blahaj,
+ /obj/item/toy/plush/carpplushie,
+ /obj/item/toy/plush/flushed,
+ /obj/item/toy/plush/kari,
+ /obj/item/toy/plush/lizardplushie,
+ /obj/item/toy/plush/mora,
+ /obj/item/toy/plush/realgoat,
+ /obj/item/toy/plush/rilena,
+ /obj/item/toy/plush/sharai,
+ /obj/item/toy/plush/slimeplushie,
+ /obj/item/toy/plush/snakeplushie,
+ /obj/item/toy/plush/spider,
+ /obj/item/toy/plush/tali,
+ /obj/item/toy/plush/xader,
+ /obj/effect/spawner/random/entertainment/plushie/moth // fair chances
+ )
+
+/obj/effect/spawner/random/entertainment/plushie/moth
+ loot = list (
+ /obj/item/toy/plush/moth,
+ /obj/item/toy/plush/moth/monarch,
+ /obj/item/toy/plush/moth/luna,
+ /obj/item/toy/plush/moth/atlas,
+ /obj/item/toy/plush/moth/redish,
+ /obj/item/toy/plush/moth/royal,
+ /obj/item/toy/plush/moth/gothic,
+ /obj/item/toy/plush/moth/lovers,
+ /obj/item/toy/plush/moth/whitefly,
+ /obj/item/toy/plush/moth/punished,
+ /obj/item/toy/plush/moth/firewatch,
+ /obj/item/toy/plush/moth/deadhead,
+ /obj/item/toy/plush/moth/poison,
+ /obj/item/toy/plush/moth/ragged,
+ /obj/item/toy/plush/moth/snow,
+ /obj/item/toy/plush/moth/moonfly
+ )
+
+/obj/effect/spawner/random/entertainment/colorful_grenades
+ name = "colorful/glitter grenades spawner"
+ loot = list(
+ /obj/item/grenade/chem_grenade/glitter/pink,
+ /obj/item/grenade/chem_grenade/glitter/blue,
+ /obj/item/grenade/chem_grenade/glitter/white,
+ /obj/item/grenade/chem_grenade/colorful
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/exotic.dm b/code/game/objects/effects/spawners/random.dm/exotic.dm
new file mode 100644
index 000000000000..9d55fa9b69ff
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/exotic.dm
@@ -0,0 +1,69 @@
+/obj/effect/spawner/random/exotic
+ name = "exotic spawner"
+ desc = "Super duper rare stuff."
+ icon_state = "showcase"
+
+/obj/effect/spawner/random/exotic/ripley
+ name = "25% exosuit 75% wreckage ripley spawner"
+ icon_state = "ripley"
+ loot = list(
+ /obj/mecha/working/ripley/mining = 1,
+ /obj/structure/mecha_wreckage/ripley = 5
+ )
+
+/obj/effect/spawner/random/exotic/prison_contraband
+ name = "prison contraband loot spawner"
+ icon_state = "prisoner"
+ loot = list(
+ /obj/item/clothing/mask/cigarette/space_cigarette = 4,
+ /obj/item/clothing/mask/cigarette/robust = 2,
+ /obj/item/clothing/mask/cigarette/carp = 3,
+ /obj/item/clothing/mask/cigarette/uplift = 2,
+ /obj/item/clothing/mask/cigarette/dromedary = 3,
+ /obj/item/clothing/mask/cigarette/robustgold = 1,
+ /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3,
+ /obj/item/storage/fancy/cigarettes = 3,
+ /obj/item/clothing/mask/cigarette/rollie/cannabis = 4,
+ /obj/item/toy/crayon/spraycan = 2,
+ /obj/item/crowbar = 1,
+ /obj/item/assembly/flash/handheld = 1,
+ /obj/item/restraints/handcuffs/cable/zipties = 1,
+ /obj/item/restraints/handcuffs = 1,
+ /obj/item/radio = 1,
+ /obj/item/lighter = 3,
+ /obj/item/storage/box/matches = 3,
+ /obj/item/reagent_containers/syringe/contraband/space_drugs = 1,
+ /obj/item/reagent_containers/syringe/contraband/krokodil = 1,
+ /obj/item/reagent_containers/syringe/contraband/crank = 1,
+ /obj/item/reagent_containers/syringe/contraband/methamphetamine = 1,
+ /obj/item/reagent_containers/syringe/contraband/bath_salts = 1,
+ /obj/item/reagent_containers/syringe/contraband/fentanyl = 1,
+ /obj/item/reagent_containers/syringe/contraband/morphine = 1,
+ /obj/item/storage/pill_bottle/happy = 1,
+ /obj/item/storage/pill_bottle/lsd = 1,
+ /obj/item/storage/pill_bottle/psicodine = 1,
+ /obj/item/reagent_containers/food/drinks/beer = 4,
+ /obj/item/reagent_containers/food/drinks/bottle/whiskey = 1,
+ /obj/item/paper/fluff/jobs/prisoner/letter = 1,
+ /obj/item/grenade/smokebomb = 1,
+ /obj/item/flashlight/seclite = 1,
+ /obj/item/melee/knife/shiv = 4,
+ /obj/item/melee/knife/shiv/carrot = 1,
+ /obj/item/melee/knife/kitchen = 1,
+ /obj/item/storage/wallet/random = 1,
+ /obj/item/pda = 1
+ )
+
+/obj/effect/spawner/random/exotic/armory
+ name = "generic armory spawner"
+ spawn_loot_split = TRUE
+ spawn_loot_count = 3
+ spawn_loot_split_pixel_offsets = 4
+
+ loot = list(
+ /obj/item/gun/ballistic/automatic/pistol/ringneck = 8,
+ /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+ /obj/item/gun/ballistic/automatic/pistol/deagle,
+ /obj/item/gun/ballistic/revolver/mateba
+ )
+
diff --git a/code/game/objects/effects/spawners/random.dm/food_or_drink.dm b/code/game/objects/effects/spawners/random.dm/food_or_drink.dm
new file mode 100644
index 000000000000..300f94260ee1
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/food_or_drink.dm
@@ -0,0 +1,284 @@
+/obj/effect/spawner/random/food_or_drink
+ name = "food or drink loot spawner"
+ desc = "Nom nom nom"
+ icon_state = "soup"
+
+/obj/effect/spawner/random/food_or_drink/donkpockets
+ name = "donk pocket box spawner"
+ icon_state = "donkpocket"
+ loot = list(
+ /obj/item/storage/box/donkpockets/donkpocketspicy = 1,
+ /obj/item/storage/box/donkpockets/donkpocketteriyaki = 1,
+ /obj/item/storage/box/donkpockets/donkpocketpizza = 1,
+ /obj/item/storage/box/donkpockets/donkpocketberry = 1,
+ /obj/item/storage/box/donkpockets/donkpockethonk = 1,
+ )
+
+/obj/effect/spawner/random/food_or_drink/ration
+ name = "ration spawner"
+ icon_state = "pizzabox"
+ loot = list (
+ /obj/item/storage/ration/vegan_chili = 5,
+ /obj/item/storage/ration/shredded_beef = 5,
+ /obj/item/storage/ration/pork_spaghetti = 5,
+ /obj/item/storage/ration/fried_fish = 5,
+ /obj/item/storage/ration/beef_strips = 5,
+ /obj/item/storage/ration/chili_macaroni = 5,
+ /obj/item/storage/ration/chicken_wings_hot_sauce = 5,
+ /obj/item/storage/ration/fish_stew = 5,
+ /obj/item/storage/ration/lemon_pepper_chicken = 5,
+ /obj/item/storage/ration/sausage_peppers_onions = 5,
+ /obj/item/storage/ration/pork_dumplings_chili_sauce = 5,
+ /obj/item/storage/ration/battered_fish_sticks = 5,
+ /obj/item/storage/ration/assorted_salted_offal = 5,
+ /obj/item/storage/ration/maple_pork_sausage_patty = 5,
+ /obj/item/storage/ration/pepper_jack_beef_patty = 5,
+ /obj/item/storage/ration/beef_goulash = 5,
+ /obj/item/storage/ration/pepperoni_pizza_slice = 5,
+ /obj/item/storage/ration/blackened_calamari = 5,
+ /obj/item/storage/ration/elbow_macaroni = 5,
+ /obj/item/storage/ration/cheese_pizza_slice = 5,
+ /obj/item/storage/ration/crayons = 2 // :)
+ )
+
+/obj/effect/spawner/random/food_or_drink/donut
+ name = "random donut" //donut :)
+ icon_state = "pizzabox"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/donut/apple = 1,
+ /obj/item/reagent_containers/food/snacks/donut/berry = 1,
+ /obj/item/reagent_containers/food/snacks/donut/caramel = 1,
+ /obj/item/reagent_containers/food/snacks/donut/choco = 1,
+ /obj/item/reagent_containers/food/snacks/donut/laugh = 1,
+ /obj/item/reagent_containers/food/snacks/donut/matcha = 1,
+ /obj/item/reagent_containers/food/snacks/donut/meat = 1,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1,
+ /obj/item/reagent_containers/food/snacks/donut/trumpet = 1,
+ /obj/item/reagent_containers/food/snacks/donut/blumpkin = 1,
+ /obj/item/reagent_containers/food/snacks/donut/bungo = 1,
+ /obj/item/reagent_containers/food/snacks/donut/chaos = 1,
+ )
+
+/obj/effect/spawner/random/food_or_drink/donut/jelly
+ name = "random jelly donut"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/donut/jelly/berry = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/apple = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/bungo = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/caramel = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/choco = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/laugh = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/matcha = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet = 1,
+ )
+
+/obj/effect/spawner/random/food_or_drink/donut/slimejelly
+ name = "random slimejelly donut"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/laugh = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet = 1,
+ )
+
+/obj/effect/spawner/random/food_or_drink/three_course_meal
+ name = "three course meal spawner"
+ spawn_loot_count = 3
+ spawn_loot_double = FALSE
+ var/soups = list(
+ /obj/item/reagent_containers/food/snacks/soup/beet,
+ /obj/item/reagent_containers/food/snacks/soup/sweetpotato,
+ /obj/item/reagent_containers/food/snacks/soup/stew,
+ /obj/item/reagent_containers/food/snacks/soup/hotchili,
+ /obj/item/reagent_containers/food/snacks/soup/nettle,
+ /obj/item/reagent_containers/food/snacks/soup/meatball)
+ var/salads = list(
+ /obj/item/reagent_containers/food/snacks/salad/herbsalad,
+ /obj/item/reagent_containers/food/snacks/salad/validsalad,
+ /obj/item/reagent_containers/food/snacks/salad/fruit,
+ /obj/item/reagent_containers/food/snacks/salad/jungle,
+ /obj/item/reagent_containers/food/snacks/salad/aesirsalad)
+ var/mains = list(
+ /obj/item/reagent_containers/food/snacks/bearsteak,
+ /obj/item/reagent_containers/food/snacks/enchiladas,
+ /obj/item/reagent_containers/food/snacks/stewedsoymeat,
+ /obj/item/reagent_containers/food/snacks/burger/bigbite,
+ /obj/item/reagent_containers/food/snacks/burger/superbite,
+ /obj/item/reagent_containers/food/snacks/burger/fivealarm)
+
+/obj/effect/spawner/random/food_or_drink/three_course_meal/Initialize(mapload)
+ loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1)
+ . = ..()
+
+/obj/effect/spawner/random/food_or_drink/garden
+ name = "lush garden seeder"
+ spawn_loot_count = 3
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 1,
+ /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 2,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d = 1,
+ /obj/item/reagent_containers/food/snacks/grown/trumpet = 1,
+ /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
+ /obj/item/seeds/random = 1,
+ /obj/item/grown/log/bamboo = 2,
+ /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 2,
+ /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 5,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2,
+ /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2,
+ /obj/item/reagent_containers/food/snacks/grown/moonflower = 2,
+ /obj/item/reagent_containers/food/snacks/grown/cocoapod = 2,
+ /obj/item/reagent_containers/food/snacks/grown/pineapple = 2,
+ /obj/item/reagent_containers/food/snacks/grown/poppy/lily = 2,
+ /obj/item/reagent_containers/food/snacks/grown/poppy/geranium = 2,
+ /obj/item/reagent_containers/food/snacks/grown/sugarcane = 2,
+ /obj/item/reagent_containers/food/snacks/grown/tea = 2,
+ /obj/item/reagent_containers/food/snacks/grown/tobacco = 2,
+ /obj/item/reagent_containers/food/snacks/grown/watermelon = 4,
+ /obj/item/grown/sunflower = 4,
+ /obj/item/reagent_containers/food/snacks/grown/banana = 4,
+ /obj/item/reagent_containers/food/snacks/grown/apple = 4,
+ /obj/item/reagent_containers/food/snacks/grown/berries = 5,
+ /obj/item/reagent_containers/food/snacks/grown/cherries = 4,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 4,
+ /obj/item/reagent_containers/food/snacks/grown/garlic = 4,
+ /obj/item/reagent_containers/food/snacks/grown/grapes = 4,
+ /obj/item/reagent_containers/food/snacks/grown/grass = 5,
+ /obj/item/reagent_containers/food/snacks/grown/pumpkin = 4,
+ /obj/item/reagent_containers/food/snacks/grown/rainbow_flower = 4,
+ /obj/item/reagent_containers/food/snacks/grown/wheat = 4,
+ /obj/item/reagent_containers/food/snacks/grown/parsnip = 4,
+ /obj/item/reagent_containers/food/snacks/grown/peas = 4,
+ /obj/item/reagent_containers/food/snacks/grown/rice = 4,
+ /obj/item/reagent_containers/food/snacks/grown/soybeans = 4,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 4,
+ /obj/item/reagent_containers/food/snacks/grown/cabbage = 4,
+ /obj/item/reagent_containers/food/snacks/grown/onion = 4,
+ /obj/item/reagent_containers/food/snacks/grown/carrot = 4)
+
+/obj/effect/spawner/random/food_or_drink/garden/arid
+ name = "arid garden seeder"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 1,
+ /obj/item/reagent_containers/food/snacks/grown/nettle = 1,
+ /obj/item/grown/cotton/durathread = 1,
+ /obj/item/seeds/random = 1,
+ /obj/item/reagent_containers/food/snacks/grown/redbeet = 1,
+ /obj/item/reagent_containers/food/snacks/grown/aloe = 2,
+ /obj/item/grown/cotton = 2,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 2,
+ /obj/item/reagent_containers/food/snacks/grown/chili = 2,
+ /obj/item/reagent_containers/food/snacks/grown/whitebeet = 5,
+ /obj/item/reagent_containers/food/snacks/grown/potato = 4,
+ /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 4,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 4,
+ /obj/item/reagent_containers/food/snacks/grown/corn = 4
+ )
+
+/obj/effect/spawner/random/food_or_drink/garden/cold
+ name = "frigid garden seeder"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1,
+ /obj/item/reagent_containers/food/snacks/grown/galaxythistle = 1,
+ /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 1,
+ /obj/item/seeds/random = 1,
+ /obj/item/reagent_containers/food/snacks/grown/poppy = 2,
+ /obj/item/reagent_containers/food/snacks/grown/tomato/blue = 2,
+ /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 2,
+ /obj/item/reagent_containers/food/snacks/grown/berries = 4,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4,
+ /obj/item/reagent_containers/food/snacks/grown/oat = 4,
+ /obj/item/reagent_containers/food/snacks/grown/grapes/green = 4,
+ /obj/item/reagent_containers/food/snacks/grown/grass = 4,
+ /obj/item/reagent_containers/food/snacks/grown/harebell = 5,
+ /obj/item/seeds/starthistle = 5
+ )
+
+/obj/effect/spawner/random/food_or_drink/garden/sick
+ name = "sickly garden seeder"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cannabis/death = 1,
+ /obj/item/seeds/replicapod = 1,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 1,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 2,
+ /obj/item/seeds/tower/steel = 2,
+ /obj/item/reagent_containers/food/snacks/grown/cannabis = 2,
+ /obj/item/seeds/random = 2,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup = 2,
+ /obj/item/reagent_containers/food/snacks/grown/cherrybulbs = 4,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 4,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 4,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi = 4,
+ /obj/item/reagent_containers/food/snacks/grown/berries/glow = 4
+ )
+
+/obj/effect/spawner/random/food_or_drink/garden/seaweed
+ name = "seaweed patch seeder"
+ loot = list(
+ /obj/item/reagent_containers/food/snacks/grown/seaweed
+ )
+
+/obj/effect/spawner/random/food_or_drink/seed
+ name = "GO FORTH AND CULTIVATE"
+ icon_state = "seed"//sneed
+ loot = list(
+ /obj/item/seeds/aloe,
+ /obj/item/seeds/ambrosia,
+ /obj/item/seeds/apple,
+ /obj/item/seeds/cotton,
+ /obj/item/seeds/banana,
+ /obj/item/seeds/berry,
+ /obj/item/seeds/cabbage,
+ /obj/item/seeds/carrot,
+ /obj/item/seeds/cherry,
+ /obj/item/seeds/chanter,
+ /obj/item/seeds/chili,
+ /obj/item/seeds/cocoapod,
+ /obj/item/seeds/coffee,
+ /obj/item/seeds/corn,
+ /obj/item/seeds/eggplant,
+ /obj/item/seeds/garlic,
+ /obj/item/seeds/grape,
+ /obj/item/seeds/grass,
+ /obj/item/seeds/lemon,
+ /obj/item/seeds/lime,
+ /obj/item/seeds/onion,
+ /obj/item/seeds/orange,
+ /obj/item/seeds/peas,
+ /obj/item/seeds/pineapple,
+ /obj/item/seeds/potato,
+ /obj/item/seeds/poppy,
+ /obj/item/seeds/pumpkin,
+ /obj/item/seeds/wheat/rice,
+ /obj/item/seeds/soya,
+ /obj/item/seeds/sugarcane,
+ /obj/item/seeds/sunflower,
+ /obj/item/seeds/tea,
+ /obj/item/seeds/tobacco,
+ /obj/item/seeds/tomato,
+ /obj/item/seeds/tower,
+ /obj/item/seeds/watermelon,
+ /obj/item/seeds/wheat,
+ /obj/item/seeds/whitebeet,
+ /obj/item/seeds/amanita,
+ /obj/item/seeds/glowshroom,
+ /obj/item/seeds/liberty,
+ /obj/item/seeds/nettle,
+ /obj/item/seeds/plump,
+ /obj/item/seeds/reishi,
+ /obj/item/seeds/cannabis,
+ /obj/item/seeds/starthistle,
+ /obj/item/seeds/cherry/bomb,
+ /obj/item/seeds/berry/glow,
+ /obj/item/seeds/sunflower/moonflower
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/maintenance.dm b/code/game/objects/effects/spawners/random.dm/maintenance.dm
new file mode 100644
index 000000000000..53a61e0f877d
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/maintenance.dm
@@ -0,0 +1,57 @@
+/obj/effect/spawner/random/maintenance
+ name = "maintenance loot spawner"
+ desc = "Come on Lady Luck, spawn me a pair of sunglasses."
+ icon_state = "loot"
+ // see code/_globalvars/lists/maintenance_loot.dm for loot table
+
+/obj/effect/spawner/random/maintenance/Initialize(mapload)
+ loot = GLOB.maintenance_loot
+ . = ..()
+
+/obj/effect/spawner/random/maintenance/skew_loot_weights(list/loot_list, exponent)
+ ///We only need to skew the weights once, since it's a global list used by all maint spawners.
+ var/static/already_done = FALSE
+ if(loot_list == GLOB.maintenance_loot && already_done)
+ return
+ already_done = TRUE
+ return ..()
+
+/obj/effect/spawner/random/maintenance/spawn_loot(lootcount_override)
+ if(isnull(lootcount_override))
+ lootcount_override = spawn_loot_count
+ . = ..()
+
+ /* Fucks everything. Investigate further
+ // In addition, closets that are closed will have the maintenance loot inserted inside.
+ for(var/obj/structure/closet/closet in get_turf(src))
+ if(!closet.opened)
+ closet.take_contents()
+ */
+
+/obj/effect/spawner/random/maintenance/two
+ name = "2 x maintenance loot spawner"
+ spawn_loot_count = 2
+
+/obj/effect/spawner/random/maintenance/three
+ name = "3 x maintenance loot spawner"
+ spawn_loot_count = 3
+
+/obj/effect/spawner/random/maintenance/four
+ name = "4 x maintenance loot spawner"
+ spawn_loot_count = 4
+
+/obj/effect/spawner/random/maintenance/five
+ name = "5 x maintenance loot spawner"
+ spawn_loot_count = 5
+
+/obj/effect/spawner/random/maintenance/six
+ name = "6 x maintenance loot spawner"
+ spawn_loot_count = 6
+
+/obj/effect/spawner/random/maintenance/seven
+ name = "7 x maintenance loot spawner"
+ spawn_loot_count = 7
+
+/obj/effect/spawner/random/maintenance/eight
+ name = "8 x maintenance loot spawner"
+ spawn_loot_count = 8
diff --git a/code/game/objects/effects/spawners/random.dm/medical.dm b/code/game/objects/effects/spawners/random.dm/medical.dm
new file mode 100644
index 000000000000..a0d5a6db53b9
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/medical.dm
@@ -0,0 +1,145 @@
+/obj/effect/spawner/random/medical
+ name = "medical loot spawner"
+ desc = "Doc, gimmie something good."
+
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ icon_state = "gauze"
+ loot = list(
+ /obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze,
+ )
+
+/obj/effect/spawner/random/medical/organs
+ name = "ayylien organ spawner"
+ loot = list(
+ /obj/item/organ/heart/gland/electric = 3,
+ /obj/item/organ/heart/gland/trauma = 4,
+ /obj/item/organ/heart/gland/egg = 7,
+ /obj/item/organ/heart/gland/chem = 5,
+ /obj/item/organ/heart/gland/mindshock = 5,
+ /obj/item/organ/heart/gland/plasma = 7,
+ /obj/item/organ/heart/gland/transform = 5,
+ /obj/item/organ/heart/gland/slime = 4,
+ /obj/item/organ/heart/gland/spiderman = 5,
+ /obj/item/organ/heart/gland/ventcrawling = 1,
+ /obj/item/organ/body_egg/alien_embryo = 1,
+ /obj/item/organ/regenerative_core = 2)
+ spawn_loot_count = 3
+
+/obj/effect/spawner/random/medical/memeorgans
+ name = "meme organ spawner"
+ loot = list(
+ /obj/item/organ/ears/penguin,
+ /obj/item/organ/ears/cat,
+ /obj/item/organ/eyes/compound,
+ /obj/item/organ/eyes/snail,
+ /obj/item/organ/tongue/bone,
+ /obj/item/organ/tongue/fly,
+ /obj/item/organ/tongue/snail,
+ /obj/item/organ/tongue/lizard,
+ /obj/item/organ/tongue/alien,
+ /obj/item/organ/tongue/ethereal,
+ /obj/item/organ/tongue/robot,
+ /obj/item/organ/tongue/zombie,
+ /obj/item/organ/appendix,
+ /obj/item/organ/liver/fly,
+ /obj/item/organ/lungs/plasmaman,
+ /obj/item/organ/tail/cat,
+ /obj/item/organ/tail/lizard
+ )
+ spawn_loot_count = 5
+
+/obj/effect/spawner/random/medical/surgery_tool/common
+ name = "Surgery tool spawner"
+ icon_state = "scapel"
+ loot = list(
+ /obj/item/scalpel,
+ /obj/item/hemostat,
+ /obj/item/retractor,
+ /obj/item/circular_saw,
+ /obj/item/surgicaldrill,
+ /obj/item/cautery,
+ )
+
+/obj/effect/spawner/random/medical/surgery_tool/adv
+ loot = list(
+ /obj/item/scalpel/advanced,
+ /obj/item/retractor/advanced,
+ /obj/item/surgicaldrill/advanced,
+ )
+
+/obj/effect/spawner/random/medical/surgery_tool
+ loot = list(
+ /obj/effect/spawner/random/medical/surgery_tool/common = 120,
+ /obj/effect/spawner/random/medical/surgery_tool/adv = 10,
+ )
+
+/obj/effect/spawner/random/medical/medkit
+ name = "medkit spawner"
+ icon_state = "medkit"
+ loot = list(
+ /obj/item/storage/firstaid/regular = 10,
+ /obj/item/storage/firstaid/o2 = 10,
+ /obj/item/storage/firstaid/fire = 10,
+ /obj/item/storage/firstaid/brute = 10,
+ /obj/item/storage/firstaid/toxin = 10,
+ /obj/item/storage/firstaid/advanced = 1,
+ )
+
+/obj/effect/spawner/random/medical/patient_stretcher
+ name = "patient stretcher spawner"
+ icon_state = "rollerbed"
+ loot = list(
+ /obj/structure/bed/roller,
+ /obj/vehicle/ridden/wheelchair,
+ )
+
+/obj/effect/spawner/random/medical/supplies
+ name = "medical supplies spawner"
+ icon_state = "box_small"
+ loot = list(
+ /obj/item/storage/box/hug,
+ /obj/item/storage/box/pillbottles,
+ /obj/item/storage/box/bodybags,
+ /obj/item/storage/box/rxglasses,
+ /obj/item/storage/box/beakers,
+ /obj/item/storage/box/gloves,
+ /obj/item/storage/box/masks,
+ /obj/item/storage/box/syringes,
+ )
+
+/obj/effect/spawner/random/medical/beaker
+ loot = list(
+ /obj/item/reagent_containers/glass/beaker = 300,
+ /obj/item/reagent_containers/glass/beaker/large = 200,
+ /obj/item/reagent_containers/glass/beaker/plastic = 50,
+ /obj/item/reagent_containers/glass/beaker/meta = 10,
+ /obj/item/reagent_containers/glass/beaker/noreact = 5,
+ /obj/item/reagent_containers/glass/beaker/bluespace = 1,
+ )
+
+/obj/effect/spawner/random/medical/prosthetic
+ loot = list(
+ /obj/item/bodypart/l_arm/robot/surplus = 1,
+ /obj/item/bodypart/r_arm/robot/surplus = 1,
+ /obj/item/bodypart/leg/left/robot/surplus = 1,
+ /obj/item/bodypart/leg/right/robot/surplus = 1,
+ )
+
+/obj/effect/spawner/random/medical/chem_jug
+ loot = list(
+ /obj/item/reagent_containers/glass/chem_jug/carbon,
+ /obj/item/reagent_containers/glass/chem_jug/oxygen,
+ /obj/item/reagent_containers/glass/chem_jug/nitrogen,
+ /obj/item/reagent_containers/glass/chem_jug/hydrogen,
+ /obj/item/reagent_containers/glass/chem_jug/radium,
+ /obj/item/reagent_containers/glass/chem_jug/aluminium,
+ /obj/item/reagent_containers/glass/chem_jug/chlorine,
+ /obj/item/reagent_containers/glass/chem_jug/copper,
+ /obj/item/reagent_containers/glass/chem_jug/bromine,
+ /obj/item/reagent_containers/glass/chem_jug/iodine,
+ /obj/item/reagent_containers/glass/chem_jug/potassium,
+ /obj/item/reagent_containers/glass/chem_jug/sulfur
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/random.dm b/code/game/objects/effects/spawners/random.dm/random.dm
new file mode 100644
index 000000000000..0e6606f3b9ee
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/random.dm
@@ -0,0 +1,175 @@
+/**
+ * Base class for all random spawners.
+ */
+/obj/effect/spawner/random
+ icon = 'icons/effects/mapping/random_spawners.dmi'
+ icon_state = "loot"
+ layer = OBJ_LAYER
+ /// Stops persistent lootdrop spawns from being shoved into lockers
+ anchored = TRUE
+ /// A list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
+ var/list/loot
+ /// The subtypes AND type to combine with the loot list
+ var/loot_type_path
+ /// The subtypes (this excludes the provided path) to combine with the loot list
+ var/loot_subtype_path
+ /// How many items will be spawned
+ var/spawn_loot_count = 1
+ /// If the same item can be spawned twice
+ var/spawn_loot_double = TRUE
+ /// Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself
+ var/spawn_loot_split = FALSE
+ /// The pixel x/y divider offsets for spawn_loot_split (spaced 1 pixel apart by default)
+ var/spawn_loot_split_pixel_offsets = 2
+ /// Whether the spawner should spawn all the loot in the list
+ var/spawn_all_loot = FALSE
+ /// The chance for the spawner to create loot (ignores spawn_loot_count)
+ var/spawn_loot_chance = 100
+ /// Determines how big of a range (in tiles) we should scatter things in.
+ var/spawn_scatter_radius = 0
+ /// Whether the items should have a random pixel_x/y offset (maxium offset distance is ±16 pixels for x/y)
+ var/spawn_random_offset = FALSE
+ /// Whether items that cannot be spawned will be removed from the loot list. Keep it TRUE unless you've a good reason.
+ var/remove_if_cant_spawn = TRUE
+
+/obj/effect/spawner/random/Initialize(mapload)
+ . = ..()
+ spawn_loot()
+
+///If the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner.
+/obj/effect/spawner/random/proc/spawn_loot(lootcount_override)
+ if(!prob(spawn_loot_chance))
+ return
+
+ var/list/spawn_locations = get_spawn_locations(spawn_scatter_radius)
+ var/spawn_loot_count = isnull(lootcount_override) ? src.spawn_loot_count : lootcount_override
+
+ if(spawn_all_loot)
+ spawn_loot_count = INFINITY
+ spawn_loot_double = FALSE
+
+ if(loot_type_path)
+ loot += typesof(loot_type_path)
+
+ if(loot_subtype_path)
+ loot += subtypesof(loot_subtype_path)
+
+ if(CONFIG_GET(number/random_loot_weight_modifier) != 1)
+ skew_loot_weights(loot, CONFIG_GET(number/random_loot_weight_modifier))
+
+ if(loot?.len)
+ var/loot_spawned = 0
+ var/pixel_divider = FLOOR(16 / spawn_loot_split_pixel_offsets, 1) // 16 pixels offsets is max that should be allowed in any direction
+ while((spawn_loot_count-loot_spawned) && loot.len)
+ var/lootspawn = pick_weight_recursive(loot)
+ if(!can_spawn(lootspawn))
+ if(remove_if_cant_spawn)
+ loot.Remove(lootspawn)
+ continue
+ if(!spawn_loot_double)
+ loot.Remove(lootspawn)
+ if(lootspawn && (spawn_scatter_radius == 0 || spawn_locations.len))
+ var/turf/spawn_loc = loc
+ if(spawn_scatter_radius > 0)
+ spawn_loc = pick_n_take(spawn_locations)
+
+ var/atom/movable/spawned_loot = make_item(spawn_loc, lootspawn)
+ spawned_loot.setDir(dir)
+
+ if (!spawn_loot_split && !spawn_random_offset)
+ if (pixel_x != 0)
+ spawned_loot.pixel_x = pixel_x
+ if (pixel_y != 0)
+ spawned_loot.pixel_y = pixel_y
+ else if (spawn_random_offset)
+ spawned_loot.pixel_x = rand(-16, 16)
+ spawned_loot.pixel_y = rand(-16, 16)
+ else if (spawn_loot_split)
+ if (loot_spawned)
+ var/column = FLOOR(loot_spawned / pixel_divider, 1)
+ spawned_loot.pixel_x = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider) + (column * spawn_loot_split_pixel_offsets)
+ spawned_loot.pixel_y = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider)
+ loot_spawned++
+
+///Levels out the weights of loot if lower than 1, or makes rarer spawns even more rare.
+/obj/effect/spawner/random/proc/skew_loot_weights(list/loot_list, exponent)
+ ///This helps keeping the modified weights more or less correct, since pick_weight doesn't appreciate decimals.
+ var/precision = 1
+ if(exponent < 1)
+ precision = round((1 - exponent) * 10) + 1
+ for(var/loot_type in loot_list)
+ if(islist(loot_type))
+ skew_loot_weights(loot_type, exponent)
+ var/loot_weight = loot_list[loot_type]
+ if(loot_weight <= 1)
+ if(exponent < 1)
+ loot_list[loot_type] = precision
+ continue
+ loot_list[loot_type] = round(loot_weight ** exponent * precision, 1)
+
+/**
+ * Makes the actual item related to our spawner.
+ *
+ * spawn_loc - where are we spawning it?
+ * type_path_to_make - what are we spawning?
+ **/
+/obj/effect/spawner/random/proc/make_item(spawn_loc, type_path_to_make)
+ return new type_path_to_make(spawn_loc)
+
+///If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available that are in view and have an unblocked line to them.
+/obj/effect/spawner/random/proc/get_spawn_locations(radius)
+ var/list/scatter_locations = list()
+
+ if(!radius)
+ return scatter_locations
+
+ for(var/turf/turf_in_view in view(radius, get_turf(src)))
+ if(isclosedturf(turf_in_view))
+ continue
+ if(!has_unblocked_line(turf_in_view))
+ continue
+
+ scatter_locations += turf_in_view
+
+ return scatter_locations
+
+/obj/effect/spawner/random/proc/has_unblocked_line(destination)
+ for(var/turf/potential_blockage as anything in get_line(get_turf(src), destination))
+ if(!potential_blockage.is_blocked_turf(exclude_mobs = TRUE))
+ continue
+ return FALSE
+ return TRUE
+
+//finds the probabilities of items spawning from a loot spawner's loot pool
+/obj/item/loot_table_maker
+ icon = 'icons/effects/mapping/landmarks_static.dmi'
+ icon_state = "random_loot"
+ var/spawner_to_test = /obj/effect/spawner/random/maintenance //what lootdrop spawner to use the loot pool of
+ var/loot_count = 180 //180 is about how much maint loot spawns per map as of 11/14/2019
+ //result outputs
+ var/list/spawned_table //list of all items "spawned" and how many
+ var/list/stat_table //list of all items "spawned" and their occurrance probability
+
+/obj/item/loot_table_maker/Initialize(mapload)
+ . = ..()
+ make_table()
+
+/obj/item/loot_table_maker/attack_self(mob/user)
+ to_chat(user, "Loot pool re-rolled.")
+ make_table()
+
+/obj/item/loot_table_maker/proc/make_table()
+ spawned_table = list()
+ stat_table = list()
+ var/obj/effect/spawner/random/spawner_to_table = new spawner_to_test
+ var/lootpool = spawner_to_table.loot
+ qdel(spawner_to_table)
+ for(var/i in 1 to loot_count)
+ var/loot_spawn = pick_weight_recursive(lootpool)
+ if(!(loot_spawn in spawned_table))
+ spawned_table[loot_spawn] = 1
+ else
+ spawned_table[loot_spawn] += 1
+ stat_table += spawned_table
+ for(var/item in stat_table)
+ stat_table[item] /= loot_count
diff --git a/code/game/objects/effects/spawners/random.dm/readme.md b/code/game/objects/effects/spawners/random.dm/readme.md
new file mode 100644
index 000000000000..97db867f2de6
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/readme.md
@@ -0,0 +1,425 @@
+# Random Spawners
+
+## About
+
+Random spawners are an organized tool primarily for mapping to enhance replayability. The spawners can create objects, effects, and structures with different tweakable settings to get the desired outcome. You can make a spawner determine direction, rarity, number of items to spawn, pixel spacing between items, and even spread it over a large tile radius. This lets you control the atmosphere of a location. You could for instance spawn different piles of trash in maint or spawn decoration items for a room to give it more randomized flavor. The choice is yours!
+
+*(note the audience of this README is directed towards mappers who lack knowledge of coding)*
+
+## Variables
+
+The following variables are defined in `code/game/objects/effects/spawners/random/random.dm` that control how a spawner works.
+
+- `loot` - a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
+- `loot_type_path` - this combines the subtypes AND type list with the loot list
+- `loot_subtype_path` - this combines ONLY the subtypes (excludes the `loot_subtype_path`) with the loot list
+- `spawn_loot_count` - how many items will be spawned
+- `spawn_loot_double` - if the same item can be spawned twice from the loot list
+- `spawn_loot_split` - whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself
+- `spawn_all_loot` - whether the spawner should spawn all the loot in the list (ignores `spawn_loot_count`)
+- `spawn_loot_chance` - the chance for the spawner to create loot (ignores `spawn_loot_count`)
+- `spawn_scatter_radius` - determines how big of a range (in tiles) we should scatter things in
+
+These variables are set to the following default values for the base `random.dm` object that all objects inherit from:
+
+```dm
+ /// these three loot values are all empty
+ var/list/loot
+ var/loot_type_path
+ var/loot_subtype_path
+
+ var/spawn_loot_count = 1 // by default one item will be selected from the loot list
+ var/spawn_loot_double = TRUE // by default duplicate items CAN be spawned from the loot list
+ var/spawn_loot_split = FALSE // by default items will NOT spread out on the same tile
+ var/spawn_all_loot = FALSE // by default the spawner will only spawn the number of items set in spawn_loot_count
+ var/spawn_loot_chance = 100 // by default the spawner has a 100% chance to spawn the item(s)
+ var/spawn_scatter_radius = 0 // by default the spawner will spawn the items ONLY on the tile it is on
+```
+
+However there are some categories that overwrite these default values so pay attention to the folder or category you group your spawner in. For instance the `obj/effect/spawner/random/techstorage` category overwrites the `spawn_all_loot` and the `spawn_loot_split` variables.
+
+```dm
+// Tech storage circuit board spawners
+/obj/effect/spawner/random/techstorage
+ name = "generic circuit board spawner"
+ spawn_loot_split = TRUE
+ spawn_all_loot = TRUE
+```
+
+This means any spawner you create under the techstorage will also have those variables set to that by default. This can be overridden quite easily just be resetting the variables back to the normal state like so:
+
+```dm
+/obj/effect/spawner/random/techstorage/data_disk
+ name = "data disk spawner"
+ spawn_all_loot = FALSE // now our loot won't all be spawned
+ loot = list(
+ /obj/item/disk/data = 49,
+ /obj/item/disk/nuclear/fake/obvious = 1,
+ )
+```
+
+## Template
+
+All the random spawners follow the same template format to keep things consistent and unison.
+
+```dm
+/obj/effect/spawner/random/INSERT_SPAWNER_GROUP/INSERT_SPAWNER_NAME
+ name = "INSERT_SPAWNER_NAME spawner"
+ loot = list(
+ /obj/item/PATH/INSERT_OBJ_1,
+ /obj/item/PATH/INSERT_OBJ_2,
+ /obj/item/PATH/INSERT_OBJ_3,
+ )
+```
+
+All the capitalized code is the parts where you are supposed to swap out with your objects like so:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze,
+ )
+```
+
+Find the path to different objects and add them to the list but try to be consistent with the types of the object and the spawner. For example a medical spawner shouldn't have a emag in the loot list. (use an antag spawner for that instead!)
+
+## Probability
+
+Be aware that the `loot` list uses a *weighted chance* formula to determine probability. So if there are no numbers set in the `loot` list then each object defaults to 1 and has the same probability to be selected. For our above example for the `minor_healing` spawner each medical item has a 1/3 chance to be spawned. But if we rearranged the values to this:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture = 2,
+ /obj/item/stack/medical/mesh = 1,
+ /obj/item/stack/medical/gauze = 1,
+ )
+```
+
+Then now `suture` has a 50% chance of being spawned (2/4), `mesh` has a 25% chance of being spawned (1/4), and `gauze` also has a 25% chance of being spawned (1/4). If we add another item into the mix then we get the following:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture = 2,
+ /obj/item/stack/medical/mesh = 1,
+ /obj/item/stack/medical/gauze = 1,
+ /obj/item/reagent_containers/syringe = 1,
+ )
+```
+
+Suture is 40% (2/5), Mesh is 20% (1/5), Gauze is 20% (1/5), and Syringe is 20% (1/5). A weighted list has the advantage of not needing to update every item in the list when adding a new item. If the list was based on a straight percent values, then each new item would require to manually go and edit ALL the items in the list. For big lists that would become very tedious. This is why we use weighted lists to determine probability!
+
+## Style
+
+Here are some simple guidelines that you should stick to when making a new spawner:
+
+### If ALL the items have the same chance, we should not set a weighted value to the item
+
+Do not put `/obj/item/ = 1` unless other items have different spawn chances
+
+Good:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture = 2,
+ /obj/item/stack/medical/mesh = 1,
+ /obj/item/stack/medical/gauze = 1,
+ /obj/item/reagent_containers/syringe = 1,
+ )
+```
+
+Also Good:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze,
+ /obj/item/reagent_containers/syringe,
+ )
+```
+
+Bad:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture = 1,
+ /obj/item/stack/medical/mesh = 1,
+ /obj/item/stack/medical/gauze = 1,
+ /obj/item/reagent_containers/syringe = 1,
+ )
+```
+
+
+### Sort the list from highest probability to lowest
+
+Sort from top to bottom. The rarest items for your spawner should be at the bottom of the list.
+
+Good:
+
+```dm
+/obj/effect/spawner/random/exotic/armory
+ name = "armory loot spawner"
+ loot = list(
+ /obj/item/gun/ballistic/automatic/pistol = 8,
+ /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+ /obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+ /obj/item/grenade/clusterbuster/teargas = 2,
+ /obj/item/grenade/clusterbuster = 2,
+ /obj/item/gun/ballistic/automatic/pistol/deagle = 1,
+ /obj/item/gun/ballistic/revolver/mateba = 1,
+ )
+```
+
+Bad:
+
+```dm
+/obj/effect/spawner/random/exotic/armory
+ name = "armory loot spawner"
+ loot = list(
+ /obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+ /obj/item/gun/ballistic/automatic/pistol = 8,
+ /obj/item/gun/ballistic/revolver/mateba = 1,
+ /obj/item/grenade/clusterbuster/teargas = 2,
+ /obj/item/gun/ballistic/automatic/pistol/deagle = 1,
+ /obj/item/grenade/clusterbuster = 2,
+ /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+ )
+```
+
+### Always put the `loot` list at the bottom of your spawner
+
+This is just to keep things organized.
+
+Good:
+
+```dm
+/obj/effect/spawner/random/food_or_drink/donkpockets
+ name = "donk pocket box spawner"
+ spawn_loot_double = FALSE
+ loot = list(
+ /obj/item/storage/box/donkpockets/donkpocketspicy,
+ /obj/item/storage/box/donkpockets/donkpocketteriyaki,
+ /obj/item/storage/box/donkpockets/donkpocketpizza,
+ /obj/item/storage/box/donkpockets/donkpocketberry,
+ /obj/item/storage/box/donkpockets/donkpockethonk,
+ )
+```
+
+Bad:
+
+```dm
+/obj/effect/spawner/random/food_or_drink/donkpockets
+ name = "donk pocket box spawner"
+ loot = list(
+ /obj/item/storage/box/donkpockets/donkpocketspicy,
+ /obj/item/storage/box/donkpockets/donkpocketteriyaki,
+ /obj/item/storage/box/donkpockets/donkpocketpizza,
+ /obj/item/storage/box/donkpockets/donkpocketberry,
+ /obj/item/storage/box/donkpockets/donkpockethonk,
+ )
+ spawn_loot_double = FALSE
+```
+
+### Always put a comma at the last item in the `loot` list
+
+This will make it easier for people to add items to your spawner later without getting frustrating code errors.
+
+Good:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze,
+ )
+```
+
+Bad:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze // if someone adds an item to the list later it will cause an error
+ )
+```
+
+### Keep the same tab formatting for the `loot` list (unless there is only one item)
+
+Again, this is just good code organization. If there is only one item, then encase that item in `loot = list(item)`
+
+Good:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze,
+ )
+```
+
+Also Good:
+
+```dm
+/obj/effect/spawner/random/structure/crate_abandoned
+ icon = 'icons/effects/landmarks_static.dmi'
+ icon_state = "loot_site"
+ spawn_loot_chance = 20
+ loot = list(/obj/structure/closet/crate/secure/loot)
+```
+
+Bad:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(
+ /obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze,
+ )
+```
+
+Also Bad:
+
+```dm
+/obj/effect/spawner/random/medical/minor_healing
+ name = "minor healing spawner"
+ loot = list(/obj/item/stack/medical/suture,
+ /obj/item/stack/medical/mesh,
+ /obj/item/stack/medical/gauze,)
+```
+
+### Try to keep the total combined weight of your `loot` list to sane values (Aim for 5, 10, 20, 50, or 100)
+
+This makes the math probability easier for people to calculate. (this is recommended, but not always possible)
+
+Good:
+
+```dm
+/obj/effect/spawner/random/trash/cigbutt
+ name = "cigarette butt spawner"
+ loot = list(
+ /obj/item/cigbutt = 65,
+ /obj/item/cigbutt/roach = 20,
+ /obj/item/cigbutt/cigarbutt = 15,
+ )
+```
+
+Also Good:
+
+```dm
+/obj/effect/spawner/random/trash/botanical_waste
+ name = "botanical waste spawner"
+ loot = list(
+ /obj/item/grown/bananapeel = 6,
+ /obj/item/grown/corncob = 3,
+ /obj/item/food/grown/bungopit = 1,
+ )
+```
+
+Bad:
+
+```dm
+/obj/effect/spawner/random/entertainment/money_large
+ name = "large money spawner"
+ loot = list(
+ /obj/item/stack/spacecash/c1 = 521,
+ /obj/item/stack/spacecash/c10 = 378,
+ /obj/item/stack/spacecash/c20 = 212,
+ /obj/item/stack/spacecash/c50 = 205,
+ /obj/item/stack/spacecash/c100 = 71,
+ /obj/item/stack/spacecash/c200 = 60,
+ /obj/item/stack/spacecash/c500 = 57,
+ /obj/item/stack/spacecash/c1000 = 41,
+ /obj/item/stack/spacecash/c10000 = 12,
+ )
+```
+
+### Do not put empty items in the loot list
+
+Instead use the `spawn_loot_chance` var to control the chance for the spawner to spawn nothing.
+
+Good:
+
+```dm
+/obj/effect/spawner/random/structure/crate_abandoned
+ name = "locked crate spawner"
+ spawn_loot_chance = 20
+ loot = list(/obj/structure/closet/crate/secure/loot)
+```
+
+
+Bad:
+
+```dm
+/obj/effect/spawner/lootdrop/crate_spawner
+ name = "lootcrate spawner"
+ loot = list(
+ "" = 80
+ /obj/structure/closet/crate/secure/loot = 20,
+ )
+```
+
+### Avoid making a spawner that is a duplicate
+
+We don't want copy-cat spawners that are almost identical. Instead merge spawners together if possible.
+
+Good:
+
+```dm
+/obj/effect/spawner/random/exotic/armory
+ name = "armory loot spawner"
+ icon_state = "pistol"
+ loot = list(
+ /obj/item/gun/ballistic/automatic/pistol = 8,
+ /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+ /obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+ /obj/item/grenade/clusterbuster/teargas = 2,
+ /obj/item/grenade/clusterbuster = 2,
+ /obj/item/gun/ballistic/automatic/pistol/deagle,
+ /obj/item/gun/ballistic/revolver/mateba,
+ )
+```
+
+
+Bad:
+
+```dm
+/obj/effect/spawner/lootdrop/armory_contraband
+ loot = list(
+ /obj/item/gun/ballistic/automatic/pistol = 8,
+ /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+ /obj/item/gun/ballistic/automatic/pistol/deagle,
+ /obj/item/gun/ballistic/revolver/mateba
+ )
+
+/obj/effect/spawner/lootdrop/armory_contraband/metastation
+ loot = list(
+ /obj/item/gun/ballistic/automatic/pistol = 8,
+ /obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+ /obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+ /obj/item/gun/ballistic/automatic/pistol/deagle,
+ /obj/item/gun/ballistic/revolver/mateba
+ )
+
+```
diff --git a/code/game/objects/effects/spawners/random.dm/salvaging.dm b/code/game/objects/effects/spawners/random.dm/salvaging.dm
new file mode 100644
index 000000000000..66543e3ef47a
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/salvaging.dm
@@ -0,0 +1,207 @@
+//GENERIC
+/obj/effect/spawner/random/salvage_capacitor
+ icon_state = "matter_bin"
+ loot = list(
+ /obj/item/stock_parts/capacitor = 120,
+ /obj/item/stock_parts/capacitor/adv = 20,
+ /obj/item/stock_parts/capacitor/super = 5,
+ )
+
+/obj/effect/spawner/random/salvage_scanning
+ icon_state = "matter_bin"
+ loot = list(
+ /obj/item/stock_parts/scanning_module = 120,
+ /obj/item/stock_parts/scanning_module/adv = 20,
+ /obj/item/stock_parts/scanning_module/phasic = 5,
+ )
+
+/obj/effect/spawner/random/salvage_manipulator
+ icon_state = "matter_bin"
+ loot = list(
+ /obj/item/stock_parts/manipulator = 120,
+ /obj/item/stock_parts/manipulator/nano = 20,
+ /obj/item/stock_parts/manipulator/pico = 5,
+ )
+
+/obj/effect/spawner/random/salvage_matter_bin
+ icon_state = "matter_bin"
+ loot = list(
+ /obj/item/stock_parts/matter_bin = 120,
+ /obj/item/stock_parts/matter_bin/adv = 20,
+ /obj/item/stock_parts/matter_bin/super = 5,
+ )
+
+/obj/effect/spawner/random/salvage_laser
+ icon_state = "matter_bin"
+ loot = list(
+ /obj/item/stock_parts/micro_laser = 120,
+ /obj/item/stock_parts/micro_laser/high = 20,
+ /obj/item/stock_parts/micro_laser/ultra = 5,
+ )
+
+//PROTOLATHE
+
+/obj/effect/spawner/random/random_gun_protolathe_lootdrop
+ icon_state = "laser_gun"
+ loot = list(
+ /obj/item/gun/energy/lasercannon = 1,
+ /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto = 1,
+ /obj/item/gun/energy/temperature/security = 1,
+ )
+
+/obj/effect/spawner/random/random_ammo_protolathe_lootdrop
+ icon_state = "rubbershot"
+ loot = list(
+ /obj/item/stock_parts/cell/gun/upgraded = 5,
+ /obj/item/ammo_box/magazine/smgm9mm = 7,
+ )
+
+//DESTRUCTIVE ANAL //i'm killing you
+/obj/effect/spawner/random/destructive_anal_loot //what do people usually put in these things anayways
+ loot = list(
+ /obj/item/storage/toolbox/syndicate/empty = 650,
+ /obj/item/gun/ballistic/automatic/pistol/ringneck = 500,
+ /obj/item/camera_bug = 500,
+ /obj/item/clothing/gloves/combat = 200,
+ /obj/item/clothing/head/chameleon = 200,
+ /obj/item/pen/sleepy = 200,
+ /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 100,
+ /obj/item/grenade/c4 = 100,
+
+ /obj/item/wrench/syndie = 30,
+ /obj/item/screwdriver/nuke = 30,
+ /obj/item/crowbar/syndie = 30,
+ /obj/item/wirecutters/syndie = 30,
+ /obj/item/multitool/syndie = 30,
+ )
+
+/obj/effect/spawner/random/salvage_machine
+ name = "salvageable machine spawner"
+ icon_state = "arcade"
+ loot = list(
+ /obj/structure/salvageable/protolathe,
+ /obj/structure/salvageable/circuit_imprinter,
+ /obj/structure/salvageable/server,
+ /obj/structure/salvageable/machine,
+ /obj/structure/salvageable/autolathe,
+ /obj/structure/salvageable/computer,
+ /obj/structure/salvageable/destructive_analyzer
+ )
+
+/obj/effect/spawner/random/salvage
+ name = "salvage mats spawner"
+ icon_state = "rods"
+ loot = list(
+ /obj/item/stack/ore/salvage/scrapmetal,
+ /obj/item/stack/ore/salvage/scrapgold,
+ /obj/item/stack/ore/salvage/scrapplasma,
+ /obj/item/stack/ore/salvage/scrapsilver,
+ /obj/item/stack/ore/salvage/scraptitanium,
+ /obj/item/stack/ore/salvage/scrapbluespace,
+ /obj/item/stack/ore/salvage/scrapuranium
+ )
+
+/obj/effect/spawner/random/salvage/half
+ name = "50% salvage spawner"
+ spawn_loot_chance = 50
+ loot = list(
+ /obj/effect/spawner/random/maintenance,
+ /obj/effect/spawner/random/salvage_machine,
+ /obj/effect/spawner/random/exotic/ripley,
+ /obj/structure/closet/crate/secure/loot,
+ )
+
+/obj/effect/spawner/random/salvage/metal
+ loot = list(
+ /obj/item/stack/ore/salvage/scrapmetal
+ )
+
+/obj/effect/spawner/random/salvage/metal/Initialize()
+ spawn_loot_count = pick(list(
+ 1,
+ 2,
+ 3,
+ 4
+ ))
+ return ..()
+
+/obj/effect/spawner/random/salvage/gold
+ loot = list(
+ /obj/item/stack/ore/salvage/scrapgold
+ )
+
+/obj/effect/spawner/random/salvage/gold/Initialize()
+ spawn_loot_count = pick(list(
+ 1,
+ 2,
+ 3,
+ 4
+ ))
+ return ..()
+
+/obj/effect/spawner/random/salvage/plasma
+ loot = list(
+ /obj/item/stack/ore/salvage/scrapplasma
+ )
+/obj/effect/spawner/random/salvage/plasma/Initialize()
+ spawn_loot_count = pick(list(
+ 1,
+ 2,
+ 3,
+ 4
+ ))
+ return ..()
+
+
+/obj/effect/spawner/random/salvage/silver
+ loot = list(
+ /obj/item/stack/ore/salvage/scrapsilver
+ )
+/obj/effect/spawner/random/salvage/silver/Initialize()
+ spawn_loot_count = pick(list(
+ 1,
+ 2,
+ 3,
+ 4
+ ))
+ return ..()
+
+
+/obj/effect/spawner/random/salvage/titanium
+ loot = list(
+ /obj/item/stack/ore/salvage/scraptitanium
+ )
+/obj/effect/spawner/random/salvage/titanium/Initialize()
+ spawn_loot_count = pick(list(
+ 1,
+ 2,
+ 3,
+ 4
+ ))
+ return ..()
+
+/obj/effect/spawner/random/salvage/bluespace
+ loot = list(
+ /obj/item/stack/ore/salvage/scrapbluespace
+ )
+/obj/effect/spawner/random/salvage/bluespace/Initialize()
+ spawn_loot_count = pick(list(
+ 1,
+ 2,
+ 3,
+ 4
+ ))
+ return ..()
+
+/obj/effect/spawner/random/salvage/uranium
+ loot = list(
+ /obj/item/stack/ore/salvage/scrapuranium
+ )
+/obj/effect/spawner/random/salvage/uranium/Initialize()
+ spawn_loot_count = pick(list(
+ 1,
+ 2,
+ 3,
+ 4
+ ))
+ return ..()
diff --git a/code/game/objects/effects/spawners/random.dm/structure.dm b/code/game/objects/effects/spawners/random.dm/structure.dm
new file mode 100644
index 000000000000..0264b3d76a9e
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/structure.dm
@@ -0,0 +1,91 @@
+
+/obj/effect/spawner/random/structure
+ name = "structure spawner"
+ desc = "Now you see me, now you don't..."
+ icon_state = "girder"
+
+/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/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/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/barricade
+ name = "barricade spawner"
+ icon_state = "barricade"
+ spawn_loot_chance = 80
+ loot = list(
+ /obj/structure/barricade/wooden,
+ /obj/structure/barricade/wooden/crude,
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/trash.dm b/code/game/objects/effects/spawners/random.dm/trash.dm
new file mode 100644
index 000000000000..3c15e77106a3
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/trash.dm
@@ -0,0 +1,282 @@
+/obj/effect/spawner/random/trash
+ name = "trash spawner"
+ desc = "Ewwwwwww gross."
+ icon_state = "trash"
+
+/obj/effect/spawner/random/trash/garbage
+ name = "garbage spawner"
+ loot = list(
+ /obj/effect/spawner/random/trash/food_packaging = 20,
+ /obj/item/trash/can = 15,
+ /obj/item/shard = 10,
+ /obj/effect/spawner/random/trash/cigbutt = 10,
+ /obj/effect/spawner/random/trash/botanical_waste = 5,
+ /obj/item/broken_bottle = 5,
+ /obj/item/light/tube/broken = 5,
+ /obj/item/light/bulb/broken = 5,
+ /obj/item/assembly/mousetrap/armed = 5,
+ /obj/item/stack/cable_coil = 5,
+ /obj/item/trash/candle = 1,
+ /obj/item/reagent_containers/glass/rag = 1,
+ /obj/item/popsicle_stick = 1,
+ /obj/item/reagent_containers/syringe = 1,
+ /obj/item/shard/plasma = 1,
+ )
+
+/obj/effect/spawner/random/trash/deluxe_garbage
+ name = "fancy deluxe garbage spawner"
+ loot = list(
+ /obj/effect/spawner/random/trash/garbage = 25,
+ /obj/effect/spawner/random/trash/food_packaging = 10,
+ /obj/effect/spawner/random/entertainment/money = 10,
+ /obj/effect/spawner/random/trash/crushed_can = 10,
+ /obj/item/shard/plasma = 5,
+ /obj/item/reagent_containers/pill/floorpill = 5,
+ /obj/effect/spawner/random/trash/soap = 3,
+ /obj/item/broken_bottle = 3,
+ /obj/effect/spawner/random/engineering/tool/common = 1,
+ /mob/living/simple_animal/mouse = 1,
+ /obj/item/reagent_containers/glass/rag = 1,
+ /obj/effect/spawner/random/entertainment/drugs= 1,
+ /obj/item/reagent_containers/syringe = 1,
+ /obj/effect/spawner/random/entertainment/cigar = 1,
+ /obj/item/stack/ore/gold = 1,
+ )
+
+/obj/effect/spawner/random/trash/cigbutt
+ name = "cigarette butt spawner"
+ loot = list(
+ /obj/item/cigbutt = 25,
+ /obj/item/cigbutt/roach = 25,
+ /obj/effect/decal/cleanable/ash = 25,
+ /obj/item/cigbutt/cigarbutt = 15,
+ )
+
+/obj/effect/spawner/random/trash/food_packaging
+ name = "empty food packaging spawner"
+ icon_state = "chips"
+ loot = list(
+ /obj/item/trash/raisins = 2,
+ /obj/item/trash/cheesie = 2,
+ /obj/item/trash/candy = 2,
+ /obj/item/trash/chips = 2,
+ /obj/item/trash/sosjerky = 2,
+ /obj/item/trash/pistachios = 2,
+ /obj/item/trash/boritos = 1,
+ /obj/item/trash/can/food/beans = 1,
+ /obj/item/trash/can/food/peaches = 1,
+ /obj/item/trash/popcorn = 1,
+ /obj/item/trash/energybar = 1,
+ /obj/item/trash/can/food/peaches/maint = 1,
+ /obj/item/trash/semki = 1,
+ /obj/item/trash/syndi_cakes = 1,
+ /obj/item/trash/tray = 1,
+ )
+
+/obj/effect/spawner/random/trash/botanical_waste
+ name = "botanical waste spawner"
+ icon_state = "peel"
+ loot = list(
+ /obj/item/grown/bananapeel = 6,
+ /obj/item/grown/corncob = 3,
+ )
+
+/obj/effect/spawner/random/trash/grille_or_waste
+ name = "grille or waste spawner"
+ icon_state = "grille"
+ loot = list(
+ /obj/structure/grille = 5,
+ /obj/effect/spawner/random/trash/food_packaging = 3,
+ /obj/effect/spawner/random/trash/cigbutt = 1,
+ /obj/item/reagent_containers/food/snacks/deadmouse = 1,
+ )
+
+/obj/effect/spawner/random/trash/decal
+ icon_state = "vomit"
+ loot = list(
+ /obj/effect/decal/cleanable/greenglow/filled = 30,
+ /obj/effect/decal/cleanable/greenglow/ecto = 1,
+ /obj/effect/decal/cleanable/glass = 30,
+ /obj/effect/decal/cleanable/glass/plasma = 30,
+ /obj/effect/decal/cleanable/glass/strange = 30,
+ /obj/effect/decal/cleanable/molten_object = 30,
+ /obj/effect/decal/cleanable/molten_object/large = 30,
+ /obj/effect/decal/cleanable/oil = 30,
+ /obj/effect/decal/cleanable/oil/slippery = 1, // :)
+ /obj/effect/decal/cleanable/plastic = 30,
+ /obj/effect/decal/cleanable/ash = 30,
+ /obj/effect/decal/cleanable/ash/large = 30,
+ )
+
+/obj/effect/spawner/random/trash/mess
+ name = "gross decal spawner"
+ icon_state = "vomit"
+ loot = list(
+ /obj/effect/decal/cleanable/dirt = 6,
+ /obj/effect/decal/cleanable/garbage = 3,
+ /obj/effect/decal/cleanable/vomit/old = 3,
+ /obj/effect/decal/cleanable/blood/gibs/old = 3,
+ /obj/effect/decal/cleanable/insectguts = 1,
+ /obj/effect/decal/cleanable/greenglow/ecto = 1,
+ /obj/effect/decal/cleanable/wrapping = 1,
+ /obj/effect/decal/cleanable/plastic = 1,
+ /obj/effect/decal/cleanable/glass = 1,
+ )
+
+/obj/effect/spawner/random/trash/grime
+ name = "trash and grime spawner"
+ spawn_loot_count = 5
+ spawn_scatter_radius = 2
+ loot = list( // This spawner will scatter garbage around a dirty site.
+ /obj/effect/spawner/random/trash/garbage = 6,
+ /mob/living/simple_animal/hostile/cockroach = 5,
+ /obj/effect/decal/cleanable/garbage = 4,
+ /obj/effect/decal/cleanable/vomit/old = 3,
+ /obj/effect/spawner/random/trash/cigbutt = 2,
+ )
+
+/obj/effect/spawner/random/trash/moisture
+ name = "water hazard spawner"
+ icon_state = "caution"
+ spawn_loot_count = 2
+ spawn_scatter_radius = 1
+ loot = list( // This spawner will scatter water related items around a moist site.
+ /obj/item/clothing/head/cone = 7,
+ /obj/item/clothing/suit/caution = 3,
+ /mob/living/simple_animal/hostile/retaliate/frog = 2,
+ /obj/item/reagent_containers/glass/rag = 2,
+ /obj/item/reagent_containers/glass/bucket = 2,
+ /obj/effect/decal/cleanable/blood/old = 2,
+ )
+
+/obj/effect/spawner/random/trash/graffiti
+ name = "random graffiti spawner"
+ icon_state = "rune"
+ loot = list(/obj/effect/decal/cleanable/crayon)
+ var/graffiti_icons = list(
+ "rune1", "rune2", "rune3", "rune4", "rune5", "rune6",
+ "amyjon", "face", "matt", "revolution", "engie", "guy",
+ "end", "dwarf", "uboa", "body", "cyka", "star",
+ "prolizard", "antilizard", "danger", "firedanger", "electricdanger",
+ "biohazard", "radiation", "safe", "evac", "space", "med", "trade", "shop",
+ "food", "peace", "like", "skull", "nay", "heart", "credit",
+ "smallbrush", "brush", "largebrush", "splatter", "snake", "stickman",
+ "carp", "ghost", "clown", "taser", "disk", "fireaxe", "toolbox",
+ "corgi", "cat", "toilet", "blueprint", "beepsky", "scroll", "bottle",
+ "shotgun", "arrow", "line", "thinline", "shortline", "body", "chevron",
+ "footprint", "clawprint", "pawprint",
+ )
+ // This sets the color of the graffiti (used for mapedits)
+ color = COLOR_WHITE
+ /// Whether the graffiti will spawn with a random color (used for mapedits)
+ var/random_color = TRUE
+ /// Whether the graffiti will spawn with this spawner's icon_state instead of a random one (used for mapedits)
+ var/random_icon = TRUE
+
+/obj/effect/spawner/random/trash/graffiti/make_item(spawn_loc, type_path_to_make)
+ var/obj/effect/decal/cleanable/crayon/graffiti_decal = ..()
+ if(istype(graffiti_decal))
+ color = random_color && "#[random_short_color()]" || color
+ icon_state = random_icon && pick(graffiti_icons) || icon_state
+
+ graffiti_decal.add_atom_colour(color, FIXED_COLOUR_PRIORITY)
+ graffiti_decal.icon_state = icon_state
+
+ return graffiti_decal
+
+/obj/effect/spawner/random/trash/mopbucket
+ name = "mop bucket spawner"
+ icon_state = "mopbucket"
+ spawn_loot_count = 2
+ spawn_loot_double = FALSE
+ loot = list(
+ /obj/item/mop = 5,
+ /obj/item/clothing/suit/caution = 3,
+ /obj/item/reagent_containers/glass/bucket = 1,
+ /obj/item/reagent_containers/glass/bucket/wooden = 1,
+ )
+
+/obj/effect/spawner/random/trash/caution_sign
+ name = "caution sign spawner"
+ icon_state = "caution"
+ loot = list(
+ /obj/item/clothing/suit/caution = 40,
+ /obj/structure/holosign/wetsign = 5,
+ /obj/structure/holosign/barrier = 3,
+ /obj/structure/holosign/barrier/wetsign = 2,
+ )
+
+/obj/effect/spawner/random/trash/bucket
+ name = "bucket spawner"
+ icon_state = "caution"
+ loot = list(
+ /obj/item/reagent_containers/glass/bucket,
+ /obj/item/reagent_containers/glass/bucket/wooden,
+ )
+
+/obj/effect/spawner/random/trash/soap
+ name = "soap spawner"
+ icon_state = "soap"
+ loot = list(
+ /obj/item/soap = 25,
+ /obj/item/bikehorn/rubberducky = 20,
+ /obj/item/soap/homemade = 20,
+ /obj/item/soap/deluxe = 15,
+ /obj/item/soap/nanotrasen = 10,
+ )
+
+/obj/effect/spawner/random/trash/box
+ name = "box spawner"
+ icon_state = "box"
+ loot = list(
+ /obj/structure/closet/cardboard = 9,
+ /obj/structure/closet/cardboard/metal = 1,
+ )
+
+/obj/effect/spawner/random/trash/bin
+ name = "trashbin spawner"
+ icon_state = "trash_bin"
+ loot = list(
+ /obj/structure/closet/crate/bin = 10,
+ /obj/structure/closet/crate/trashcart = 3,
+ /obj/effect/spawner/random/trash/box = 3,
+ /obj/structure/closet/crate/trashcart/laundry = 1,
+ )
+
+
+/obj/effect/spawner/random/trash/janitor_supplies
+ name = "janitor supplies spawner"
+ icon_state = "box_small"
+ loot = list(
+ /obj/item/storage/box/mousetraps,
+ /obj/item/storage/box/lights/tubes,
+ /obj/item/storage/box/lights/mixed,
+ /obj/item/storage/box/lights/bulbs,
+ )
+
+/obj/effect/spawner/random/trash/crushed_can
+ name = "crushed can spawner"
+ icon_state = "crushed_can"
+ loot = list(/obj/item/trash/can)
+ /// Whether the can will spawn with this spawner's icon_state instead of a random one (used for mapedits)
+ var/soda_icons = list(
+ "energy_drink", "monkey_energy", "thirteen_loko", "space_mountain_wind", "dr_gibb", "starkist",
+ "sodawater", "tonic", "cola", "purple_can", "ice_tea_can",
+ "sol_dry", "wellcheers", "space beer", "ebisu", "shimauma", "moonlabor",
+ "space_up", "lemon_lime", "shamblers", "shamblerseldritch", "air", "laughter",
+ "volt_energy", "melon_soda",
+ )
+
+/obj/effect/spawner/random/trash/crushed_can/make_item(spawn_loc, type_path_to_make)
+ var/obj/item/trash/can/crushed_can = .. ()
+ if(istype(crushed_can))
+ crushed_can.icon_state = pick(soda_icons)
+ return crushed_can
+
+/obj/effect/spawner/random/trash/ghetto_containers
+ name = "ghetto container spawner"
+ loot = list(
+ /obj/item/reagent_containers/glass/bucket = 5,
+ /obj/item/reagent_containers/glass/bottle = 5,
+ /obj/item/reagent_containers/glass/mortar = 2,
+ )
diff --git a/code/game/objects/effects/spawners/random.dm/vending.dm b/code/game/objects/effects/spawners/random.dm/vending.dm
new file mode 100644
index 000000000000..595746e14e19
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/vending.dm
@@ -0,0 +1,17 @@
+/obj/effect/spawner/random/vending
+ name = "machinery spawner"
+ desc = "Randomized electronics for extra fun."
+
+/obj/effect/spawner/random/vending/snack
+ name = "spawn random snack vending machine"
+ desc = "Automagically transforms into a random snack vendor. If you see this while in a shift, please create a bug report."
+ icon_state = "snack"
+ loot_type_path = /obj/machinery/vending/snack
+ loot = list()
+
+/obj/effect/spawner/random/vending/cola
+ name = "spawn random cola vending machine"
+ desc = "Automagically transforms into a random cola vendor. If you see this while in a shift, please create a bug report."
+ icon_state = "cola"
+ loot_type_path = /obj/machinery/vending/cola
+ loot = list()
diff --git a/code/game/objects/effects/spawners/random.dm/waste_planet.dm b/code/game/objects/effects/spawners/random.dm/waste_planet.dm
new file mode 100644
index 000000000000..46ad61a754a6
--- /dev/null
+++ b/code/game/objects/effects/spawners/random.dm/waste_planet.dm
@@ -0,0 +1,101 @@
+/obj/effect/spawner/random/waste/grille_or_trash
+ icon_state = "grille"
+ name = "wasteplanet loot spawner"
+ loot = list(
+ /obj/structure/grille/broken = 5,
+ /obj/structure/grille = 5,
+ /obj/item/cigbutt = 1,
+ /obj/item/trash/cheesie = 1,
+ /obj/item/trash/candy = 1,
+ /obj/item/trash/chips = 1,
+ /obj/item/reagent_containers/food/snacks/deadmouse = 1,
+ /obj/item/trash/pistachios = 1,
+ /obj/item/trash/plate = 1,
+ /obj/item/trash/popcorn = 1,
+ /obj/item/trash/raisins = 1,
+ /obj/item/trash/sosjerky = 1,
+ /obj/item/trash/syndi_cakes = 1
+ )
+
+/obj/effect/spawner/random/waste/mechwreck
+ icon_state = "ripley"
+ name = "wasteplanet exosuit wreckage"
+ loot = list(
+ /obj/structure/mecha_wreckage/ripley = 15,
+ /obj/structure/mecha_wreckage/ripley/firefighter = 9,
+ /obj/structure/mecha_wreckage/ripley/mkii = 9,
+ /obj/structure/mecha_wreckage/ripley/clip = 9
+ )
+
+/obj/effect/spawner/random/waste/mechwreck/rare
+ loot = list(
+ /obj/structure/mecha_wreckage/durand = 12.5,
+ /obj/structure/mecha_wreckage/durand/clip = 12.5,
+ /obj/structure/mecha_wreckage/odysseus = 25,
+ /obj/structure/mecha_wreckage/gygax = 25
+ )
+
+/obj/effect/spawner/random/waste/radiation
+ loot = list(
+ /obj/structure/radioactive = 6,
+ /obj/structure/radioactive/stack = 6,
+ /obj/structure/radioactive/waste = 6
+ )
+
+/obj/effect/spawner/random/waste/radiation/more_rads
+ loot = list(
+ /obj/structure/radioactive = 3,
+ /obj/structure/radioactive/stack = 12,
+ /obj/structure/radioactive/waste = 12
+ )
+
+/obj/effect/spawner/random/waste/atmos_can
+ loot = list(
+ /obj/machinery/portable_atmospherics/canister/toxins = 3,
+ /obj/machinery/portable_atmospherics/canister/carbon_dioxide = 3,
+ /obj/machinery/portable_atmospherics/canister/nitrogen = 3,
+ /obj/machinery/portable_atmospherics/canister/oxygen = 3,
+ /obj/machinery/portable_atmospherics/canister/nitrous_oxide = 1,
+ /obj/machinery/portable_atmospherics/canister/water_vapor = 1
+ )
+
+/obj/effect/spawner/random/waste/atmos_can/rare
+ loot = list(
+ /obj/machinery/portable_atmospherics/canister/tritium = 3,
+ /obj/machinery/portable_atmospherics/canister/pluoxium = 3
+ )
+
+/obj/effect/spawner/random/waste/salvageable
+ loot = list(
+ /obj/structure/salvageable/machine = 20,
+ /obj/structure/salvageable/autolathe = 15,
+ /obj/structure/salvageable/computer = 10,
+ /obj/structure/salvageable/protolathe = 10,
+ /obj/structure/salvageable/circuit_imprinter = 8,
+ /obj/structure/salvageable/destructive_analyzer = 8,
+ /obj/structure/salvageable/server = 8
+ )
+
+/obj/effect/spawner/random/waste/girder
+ loot = list(
+ /obj/structure/girder,
+ /obj/structure/girder/displaced,
+ /obj/structure/girder/reinforced
+ )
+/obj/effect/spawner/random/waste/hivebot
+ loot = list(
+ /obj/effect/spawner/random/salvage/metal,
+ /obj/effect/spawner/random/salvage/metal,
+ /obj/effect/spawner/random/salvage/metal,
+ /obj/effect/spawner/random/salvage/gold,
+ /obj/effect/spawner/random/salvage/plasma,
+ /obj/effect/spawner/random/salvage/silver,
+ /obj/effect/spawner/random/salvage/titanium,
+ /obj/item/stack/ore/salvage/scrapbluespace,
+ /obj/item/stack/ore/salvage/scrapbluespace,
+ /obj/item/stack/ore/salvage/scrapuranium
+ )
+ spawn_loot_count = 2
+
+/obj/effect/spawner/random/waste/hivebot/beacon
+ spawn_loot_count = 6
diff --git a/code/game/objects/effects/spawners/spawner.dm b/code/game/objects/effects/spawners/spawner.dm
new file mode 100644
index 000000000000..d8091c6cfc65
--- /dev/null
+++ b/code/game/objects/effects/spawners/spawner.dm
@@ -0,0 +1,23 @@
+/obj/effect/spawner
+ name = "object spawner"
+
+// Brief explanation:
+// Rather then setting up and then deleting spawners, we block all atomlike setup
+// and do the absolute bare minimum
+// This is with the intent of optimizing mapload
+/obj/effect/spawner/Initialize(mapload)
+ SHOULD_CALL_PARENT(FALSE)
+ if(flags_1 & INITIALIZED_1)
+ stack_trace("Warning: [src]([type]) initialized multiple times!")
+ flags_1 |= INITIALIZED_1
+
+ return INITIALIZE_HINT_QDEL
+
+/obj/effect/spawner/Destroy(force)
+ SHOULD_CALL_PARENT(FALSE)
+ moveToNullspace()
+ return QDEL_HINT_QUEUE
+
+/// Override to define loot blacklist behavior
+/obj/effect/spawner/proc/can_spawn(atom/loot)
+ return TRUE
diff --git a/code/game/objects/effects/spawners/traps.dm b/code/game/objects/effects/spawners/traps.dm
deleted file mode 100644
index 0409d9944b9b..000000000000
--- a/code/game/objects/effects/spawners/traps.dm
+++ /dev/null
@@ -1,9 +0,0 @@
-/obj/effect/spawner/trap
- name = "random trap"
- icon = 'icons/obj/hand_of_god_structures.dmi'
- icon_state = "trap_rand"
-
-/obj/effect/spawner/trap/Initialize(mapload)
- . = ..()
- var/new_type = pick(subtypesof(/obj/structure/trap) - typesof(/obj/structure/trap/ctf))
- new new_type(get_turf(src))
diff --git a/code/game/objects/effects/spawners/vaultspawner.dm b/code/game/objects/effects/spawners/vaultspawner.dm
deleted file mode 100644
index 9bdf0a673ed9..000000000000
--- a/code/game/objects/effects/spawners/vaultspawner.dm
+++ /dev/null
@@ -1,28 +0,0 @@
-/obj/effect/vaultspawner
- var/maxX = 6
- var/maxY = 6
- var/minX = 2
- var/minY = 2
-
-/obj/effect/vaultspawner/New(turf/location,lX = minX,uX = maxX,lY = minY,uY = maxY,type = null)
- if(!type)
- type = pick("sandstone","rock","alien")
-
- var/lowBoundX = location.x
- var/lowBoundY = location.y
-
- var/hiBoundX = location.x + rand(lX,uX)
- var/hiBoundY = location.y + rand(lY,uY)
-
- var/z = location.z
-
- for(var/i = lowBoundX,i<=hiBoundX,i++)
- for(var/j = lowBoundY,j<=hiBoundY,j++)
- var/turf/T = locate(i,j,z)
- if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY)
- T.PlaceOnTop(/turf/closed/wall/vault)
- else
- T.PlaceOnTop(/turf/open/floor/vault)
- T.icon_state = "[type]vault"
-
- qdel(src)
diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm
deleted file mode 100644
index 1eb4fd0dda94..000000000000
--- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm
+++ /dev/null
@@ -1,18 +0,0 @@
-/obj/effect/spawner/xeno_egg_delivery
- name = "xeno egg delivery"
- icon = 'icons/mob/alien.dmi'
- icon_state = "egg_growing"
- var/announcement_time = 1200
-
-/obj/effect/spawner/xeno_egg_delivery/Initialize(mapload)
- . = ..()
- var/turf/T = get_turf(src)
-
- new /obj/structure/alien/egg(T)
- new /obj/effect/temp_visual/gravpush(T)
- playsound(T, 'sound/items/party_horn.ogg', 50, TRUE, -1)
-
- message_admins("An alien egg has been delivered to [ADMIN_VERBOSEJMP(T)].")
- log_game("An alien egg has been delivered to [AREACOORD(T)]")
- var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen."
- SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(print_command_report), message), announcement_time))
diff --git a/code/game/objects/items/chromosome.dm b/code/game/objects/items/chromosome.dm
index 3acf3cfe5cb3..c6ee7f174aab 100644
--- a/code/game/objects/items/chromosome.dm
+++ b/code/game/objects/items/chromosome.dm
@@ -48,7 +48,7 @@
if(!initial(CM.weight))
break
chromosomes[A] = initial(CM.weight)
- return pickweight(chromosomes)
+ return pick_weight(chromosomes)
/obj/item/chromosome/stabilizer
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 26b23c509838..0606e999b1ce 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -564,15 +564,6 @@
name = "pink glowstick"
color = LIGHT_COLOR_PINK
-/obj/effect/spawner/lootdrop/glowstick
- name = "random colored glowstick"
- icon = 'icons/obj/lighting.dmi'
- icon_state = "random_glowstick"
-
-/obj/effect/spawner/lootdrop/glowstick/Initialize()
- loot = typesof(/obj/item/flashlight/glowstick)
- . = ..()
-
/obj/item/flashlight/spotlight //invisible lighting source
name = "disco light"
desc = "Groovy..."
diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm
index 9f0896f946bf..6319cc1a638d 100644
--- a/code/game/objects/items/devices/mines.dm
+++ b/code/game/objects/items/devices/mines.dm
@@ -841,10 +841,10 @@ LIVE_MINE_HELPER(pressure/sound)
// spawners (random mines, minefields, non-guaranteed mine)
//
-/obj/effect/spawner/lootdrop/mine
+/obj/effect/spawner/random/mine
name = "live mine spawner (random)"
- lootcount = 1
- fan_out_items = TRUE
+ spawn_loot_count = 1
+ spawn_loot_split = TRUE
loot = list(
/obj/item/mine/pressure/explosive/live = 10,
/obj/item/mine/pressure/explosive/shrapnel/live = 3,
@@ -864,7 +864,7 @@ LIVE_MINE_HELPER(pressure/sound)
/obj/effect/spawner/minefield/random
name = "random minefield spawner"
- minetype = /obj/effect/spawner/lootdrop/mine
+ minetype = /obj/effect/spawner/random/mine
/obj/effect/spawner/minefield/manhack
name = "manhack field spawner"
diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm
index 915011b81b11..247ca439c8bd 100644
--- a/code/game/objects/items/grenades/ghettobomb.dm
+++ b/code/game/objects/items/grenades/ghettobomb.dm
@@ -25,7 +25,7 @@
add_overlay("improvised_grenade_filled")
add_overlay("improvised_grenade_wired")
times = list("5" = 10, "-1" = 20, "[rand(30,80)]" = 50, "[rand(65,180)]" = 20)// "Premature, Dud, Short Fuse, Long Fuse"=[weighting value]
- det_time = text2num(pickweight(times))
+ det_time = text2num(pick_weight(times))
if(det_time < 0) //checking for 'duds'
range = 1
det_time = rand(30,80)
diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm
index 4b16ee60942d..dd00d3abd1fd 100644
--- a/code/game/objects/items/plushes.dm
+++ b/code/game/objects/items/plushes.dm
@@ -863,43 +863,3 @@
var/mutable_appearance/base_overlay_among = mutable_appearance(icon, "plushie_among_visor")
base_overlay_among.appearance_flags = RESET_COLOR
add_overlay(base_overlay_among)
-
-/obj/effect/spawner/lootdrop/plushie
- loot = list (
- /obj/item/toy/plush/beeplushie,
- /obj/item/toy/plush/blahaj,
- /obj/item/toy/plush/carpplushie,
- /obj/item/toy/plush/flushed,
- /obj/item/toy/plush/kari,
- /obj/item/toy/plush/lizardplushie,
- /obj/item/toy/plush/mora,
- /obj/item/toy/plush/realgoat,
- /obj/item/toy/plush/rilena,
- /obj/item/toy/plush/sharai,
- /obj/item/toy/plush/slimeplushie,
- /obj/item/toy/plush/snakeplushie,
- /obj/item/toy/plush/spider,
- /obj/item/toy/plush/tali,
- /obj/item/toy/plush/xader,
- /obj/effect/spawner/lootdrop/plushie/moth // fair chances
- )
-
-/obj/effect/spawner/lootdrop/plushie/moth
- loot = list (
- /obj/item/toy/plush/moth,
- /obj/item/toy/plush/moth/monarch,
- /obj/item/toy/plush/moth/luna,
- /obj/item/toy/plush/moth/atlas,
- /obj/item/toy/plush/moth/redish,
- /obj/item/toy/plush/moth/royal,
- /obj/item/toy/plush/moth/gothic,
- /obj/item/toy/plush/moth/lovers,
- /obj/item/toy/plush/moth/whitefly,
- /obj/item/toy/plush/moth/punished,
- /obj/item/toy/plush/moth/firewatch,
- /obj/item/toy/plush/moth/deadhead,
- /obj/item/toy/plush/moth/poison,
- /obj/item/toy/plush/moth/ragged,
- /obj/item/toy/plush/moth/snow,
- /obj/item/toy/plush/moth/moonfly
- )
diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index e8b619b0d712..5a1bdaabe340 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -2,7 +2,7 @@
/obj/item/storage/box/syndicate
/obj/item/storage/box/syndicate/bundle_A/PopulateContents()
- switch (pickweight(list("recon" = 2, "bloodyspai" = 3, "stealth" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "sniper" = 1, "metaops" = 1)))
+ switch (pick_weight(list("recon" = 2, "bloodyspai" = 3, "stealth" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "sniper" = 1, "metaops" = 1)))
if("recon")
new /obj/item/clothing/glasses/thermal/xray(src) // ~8 tc?
new /obj/item/storage/briefcase/launchpad(src) //6 tc
@@ -117,7 +117,7 @@
new /obj/item/card/emag(src) // 6 tc
/obj/item/storage/box/syndicate/bundle_B/PopulateContents()
- switch (pickweight(list( "bond" = 2, "ninja" = 1, "darklord" = 1, "white_whale_holy_grail" = 2, "mad_scientist" = 2, "mr_freeze" = 2, "made_man"= 1)))
+ switch (pick_weight(list( "bond" = 2, "ninja" = 1, "darklord" = 1, "white_whale_holy_grail" = 2, "mad_scientist" = 2, "mr_freeze" = 2, "made_man"= 1)))
if("bond")
new /obj/item/gun/ballistic/automatic/pistol/ringneck(src)
new /obj/item/attachment/silencer(src)
@@ -181,7 +181,7 @@
new /obj/item/melee/transforming/energy/sword/saber/blue(src) //see see it fits the theme bc its blue and ice is blue
if("made_man")
- new /obj/effect/spawner/lootdrop/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family
+ new /obj/effect/spawner/random/clothing/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family
new /obj/item/gun/ballistic/automatic/smg/firestorm/pan(src) // 20 TC, a gun with 50 .45 bullets on a three round burst is kinda outstanding
new /obj/item/melee/knife/switchblade(src) // 3 TC? It's nice, but it's really a stealth/oh fuck I'm out of ammo weapon
new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) // 5 TC, free molotov assemblies
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 81e6ea9d54ec..220e0e605828 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1392,7 +1392,7 @@
pixel_x = rand(-5, 5)
pixel_y = rand(-5, 5)
icon_state = "shell[rand(1,3)]"
- color = pickweight(possible_colors)
+ color = pick_weight(possible_colors)
setDir(pick(GLOB.cardinals))
/obj/item/toy/brokenradio
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 8ee8d8214f80..5b140a5b2428 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -383,7 +383,7 @@ LINEN BINS
/obj/item/bedsheet/dorms/Initialize()
..()
- var/type = pickweight(list("Colors" = 80, "Special" = 20))
+ var/type = pick_weight(list("Colors" = 80, "Special" = 20))
switch(type)
if("Colors")
type = pick(list(/obj/item/bedsheet,
@@ -408,7 +408,7 @@ LINEN BINS
/obj/item/bedsheet/dorms/double/Initialize()
..()
- var/type = pickweight(list("Colors" = 80, "Special" = 20))
+ var/type = pick_weight(list("Colors" = 80, "Special" = 20))
switch(type)
if("Colors")
type = pick(list(/obj/item/bedsheet/double,
diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
index cfea37148e55..a69a279bad77 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -14,7 +14,6 @@
desc = "It looks alien!"
icon_state = "alien"
-
/obj/structure/closet/gimmick
name = "administrative supply closet"
desc = "It's a storage unit for things that have no right being here."
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index fdc061e9769d..089b6f8f792c 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -29,7 +29,7 @@
if (prob(40))
new /obj/item/storage/toolbox/emergency(src)
- switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1)))
+ switch (pick_weight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1)))
if ("small")
new /obj/item/tank/internals/emergency_oxygen(src)
new /obj/item/tank/internals/emergency_oxygen(src)
diff --git a/code/game/objects/structures/geyser.dm b/code/game/objects/structures/geyser.dm
index af536d2e8c1c..d5c7dbeef362 100644
--- a/code/game/objects/structures/geyser.dm
+++ b/code/game/objects/structures/geyser.dm
@@ -45,7 +45,7 @@
/obj/structure/geyser/random/Initialize()
. = ..()
- reagent_id = pickweight(options)
+ reagent_id = pick_weight(options)
/obj/item/plunger
name = "plunger"
diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm
index a3b3b2b5763f..ccb76bd81c4a 100644
--- a/code/game/objects/structures/salvaging.dm
+++ b/code/game/objects/structures/salvaging.dm
@@ -56,16 +56,16 @@
/obj/item/stack/ore/salvage/scrapgold/five = 60,
/obj/item/stack/ore/salvage/scrapmetal/five = 60,
- /obj/effect/spawner/lootdrop/salvage_capacitor = 50,
- /obj/effect/spawner/lootdrop/salvage_capacitor = 50,
- /obj/effect/spawner/lootdrop/salvage_scanning = 50,
- /obj/effect/spawner/lootdrop/salvage_scanning = 50,
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_manipulator = 40,
- /obj/effect/spawner/lootdrop/salvage_manipulator = 40,
- /obj/effect/spawner/lootdrop/salvage_laser = 40,
- /obj/effect/spawner/lootdrop/salvage_laser = 40,
+ /obj/effect/spawner/random/salvage_capacitor = 50,
+ /obj/effect/spawner/random/salvage_capacitor = 50,
+ /obj/effect/spawner/random/salvage_scanning = 50,
+ /obj/effect/spawner/random/salvage_scanning = 50,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_manipulator = 40,
+ /obj/effect/spawner/random/salvage_manipulator = 40,
+ /obj/effect/spawner/random/salvage_laser = 40,
+ /obj/effect/spawner/random/salvage_laser = 40,
)
/obj/structure/salvageable/computer
@@ -79,7 +79,7 @@
/obj/item/stack/ore/salvage/scrapgold/five = 60,
/obj/item/stack/ore/salvage/scrapmetal/five = 60,
- /obj/effect/spawner/lootdrop/salvage_capacitor = 60,
+ /obj/effect/spawner/random/salvage_capacitor = 60,
/obj/item/computer_hardware/battery = 40,
/obj/item/computer_hardware/battery = 40,
@@ -91,8 +91,8 @@
/obj/item/computer_hardware/card_slot = 40,
/obj/item/computer_hardware/network_card/advanced = 20,
- /obj/effect/spawner/lootdrop/random_computer_circuit_common = 50,
- /obj/effect/spawner/lootdrop/random_computer_circuit_rare = 5,
+ /obj/effect/spawner/random/circuit/computer/common = 50,
+ /obj/effect/spawner/random/circuit/computer/rare = 5,
/obj/item/research_notes/loot/tiny = 10,
)
@@ -106,11 +106,10 @@
/obj/item/stack/ore/salvage/scraptitanium/five = 60,
/obj/item/stack/ore/salvage/scrapmetal/five = 60,
-
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_manipulator = 30,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_manipulator = 30,
/obj/item/circuitboard/machine/autolathe = 35,
@@ -134,17 +133,17 @@
/obj/item/stack/ore/salvage/scrapplasma/five = 60,
/obj/item/stack/ore/salvage/scrapmetal/five = 60,
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_manipulator = 30,
- /obj/effect/spawner/lootdrop/salvage_manipulator = 30,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_manipulator = 30,
+ /obj/effect/spawner/random/salvage_manipulator = 30,
- /obj/effect/spawner/lootdrop/tool_engie_proto = 45,
- /obj/effect/spawner/lootdrop/tool_surgery_proto = 55,
- /obj/effect/spawner/lootdrop/beaker_loot_spawner = 45,
- /obj/effect/spawner/lootdrop/random_prosthetic = 25,
- /obj/effect/spawner/lootdrop/random_gun_protolathe_lootdrop = 5, //:flushed:
- /obj/effect/spawner/lootdrop/random_ammo_protolathe_lootdrop = 5,
+ /obj/effect/spawner/random/engineering/tool = 45,
+ /obj/effect/spawner/random/medical/surgery_tool = 55,
+ /obj/effect/spawner/random/medical/beaker = 45,
+ /obj/effect/spawner/random/medical/prosthetic = 25,
+ /obj/effect/spawner/random/random_gun_protolathe_lootdrop = 5, //:flushed:
+ /obj/effect/spawner/random/random_ammo_protolathe_lootdrop = 5,
/obj/item/storage/part_replacer = 20,
/obj/item/storage/part_replacer/bluespace = 1,
@@ -172,13 +171,13 @@
/obj/item/stack/ore/salvage/scrapmetal/five = 60,
/obj/item/stack/ore/salvage/scrapbluespace = 60,
- /obj/effect/spawner/lootdrop/salvage_matter_bin = 40,
- /obj/effect/spawner/lootdrop/salvage_manipulator = 30,
+ /obj/effect/spawner/random/salvage_matter_bin = 40,
+ /obj/effect/spawner/random/salvage_manipulator = 30,
/obj/item/stack/circuit_stack = 50, //this might be the only way in the game to get a poly circuit, and the only way for many ships to get essensial electronics. huh.
- /obj/effect/spawner/lootdrop/random_machine_circuit_mech = 45, //with all the wonderful broken mechs lying around, this might be a chance to get something stupidly overpowered.
- /obj/effect/spawner/lootdrop/random_machine_circuit_common = 50, //well.... "common"
- /obj/effect/spawner/lootdrop/random_machine_circuit_rare = 5,
+ /obj/effect/spawner/random/circuit/machine/mech = 45, //with all the wonderful broken mechs lying around, this might be a chance to get something stupidly overpowered.
+ /obj/effect/spawner/random/circuit/machine/common = 50, //well.... "common"
+ /obj/effect/spawner/random/circuit/machine/rare = 5,
/obj/item/stack/sheet/metal/five = 15, //same as above but more geared towards stuff used by circuit imprinter
/obj/item/stack/sheet/glass/five = 15,
@@ -199,12 +198,12 @@
/obj/item/stack/ore/salvage/scrapmetal/five = 60,
/obj/item/stack/ore/salvage/scrapplasma = 60,
- /obj/effect/spawner/lootdrop/salvage_scanning = 40,
- /obj/effect/spawner/lootdrop/salvage_laser = 30,
- /obj/effect/spawner/lootdrop/salvage_manipulator = 30,
+ /obj/effect/spawner/random/salvage_scanning = 40,
+ /obj/effect/spawner/random/salvage_laser = 30,
+ /obj/effect/spawner/random/salvage_manipulator = 30,
/obj/item/storage/toolbox/syndicate/empty = 80,
- /obj/effect/spawner/lootdrop/destructive_anal_loot = 65,
+ /obj/effect/spawner/random/destructive_anal_loot = 65,
/obj/item/stack/sheet/metal/five = 15, //same as above but more geared towards stuff used by circuit imprinter
/obj/item/stack/sheet/glass/five = 15,
@@ -342,11 +341,11 @@
color = "#808080"
salvageable_parts = list(
- /obj/effect/spawner/lootdrop/seeded = 80,
- /obj/effect/spawner/lootdrop/seeded = 80,
- /obj/effect/spawner/lootdrop/seeded = 80,
- /obj/effect/spawner/lootdrop/seeded = 80,
- /obj/effect/spawner/lootdrop/seeded = 80,
+ /obj/effect/spawner/random/food_or_drink/seed = 80,
+ /obj/effect/spawner/random/food_or_drink/seed = 80,
+ /obj/effect/spawner/random/food_or_drink/seed = 80,
+ /obj/effect/spawner/random/food_or_drink/seed = 80,
+ /obj/effect/spawner/random/food_or_drink/seed = 80,
/obj/item/seeds/random = 80,
/obj/item/seeds/random = 40,
/obj/item/seeds/random = 40,
@@ -470,236 +469,3 @@
/obj/item/stack/ore/salvage/scrapbluespace/five
amount = 5
-
-//loot spawners as shown above
-
-//GENERIC
-/obj/effect/spawner/lootdrop/salvage_capacitor
- loot = list(
- /obj/item/stock_parts/capacitor = 120,
- /obj/item/stock_parts/capacitor/adv = 20,
- /obj/item/stock_parts/capacitor/super = 5,
- )
-
-/obj/effect/spawner/lootdrop/salvage_scanning
- loot = list(
- /obj/item/stock_parts/scanning_module = 120,
- /obj/item/stock_parts/scanning_module/adv = 20,
- /obj/item/stock_parts/scanning_module/phasic = 5,
- )
-
-/obj/effect/spawner/lootdrop/salvage_manipulator
- loot = list(
- /obj/item/stock_parts/manipulator = 120,
- /obj/item/stock_parts/manipulator/nano = 20,
- /obj/item/stock_parts/manipulator/pico = 5,
- )
-
-/obj/effect/spawner/lootdrop/salvage_matter_bin
- loot = list(
- /obj/item/stock_parts/matter_bin = 120,
- /obj/item/stock_parts/matter_bin/adv = 20,
- /obj/item/stock_parts/matter_bin/super = 5,
- )
-
-/obj/effect/spawner/lootdrop/salvage_laser
- loot = list(
- /obj/item/stock_parts/micro_laser = 120,
- /obj/item/stock_parts/micro_laser/high = 20,
- /obj/item/stock_parts/micro_laser/ultra = 5,
- )
-
-//PROTOLATHE
-/obj/effect/spawner/lootdrop/tool_engie_proto
- loot = list(
- /obj/effect/spawner/lootdrop/tool_engie_common = 120,
- /obj/effect/spawner/lootdrop/tool_engie_sydnie = 20,
- /obj/effect/spawner/lootdrop/tool_engie_adv = 5,
- )
-
-/obj/effect/spawner/lootdrop/tool_engie_common
- loot = list(
- /obj/item/wrench/crescent = 1,
- /obj/item/screwdriver = 1,
- /obj/item/weldingtool = 1,
- /obj/item/crowbar = 1,
- /obj/item/wirecutters = 1,
- /obj/item/multitool = 1,
- )
-
-/obj/effect/spawner/lootdrop/tool_engie_sydnie
- loot = list(
- /obj/item/wrench/syndie = 1,
- /obj/item/screwdriver/nuke = 1,
- /obj/item/weldingtool/largetank = 1,
- /obj/item/crowbar/syndie = 1,
- /obj/item/wirecutters/syndie = 1,
- /obj/item/multitool/syndie = 1,
- )
-
-/obj/effect/spawner/lootdrop/tool_engie_adv
- loot = list(
- /obj/item/screwdriver/power = 1,
- /obj/item/weldingtool/experimental = 1,
- /obj/item/crowbar/power = 1,
- )
-
-/obj/effect/spawner/lootdrop/tool_surgery_proto
- loot = list(
- /obj/effect/spawner/lootdrop/tool_surgery_common = 120,
- /obj/effect/spawner/lootdrop/tool_surgery_adv = 10,
- )
-
-/obj/effect/spawner/lootdrop/tool_surgery_common
- loot = list(
- /obj/item/scalpel = 1,
- /obj/item/hemostat = 1,
- /obj/item/cautery = 1,
- /obj/item/retractor = 1,
- /obj/item/circular_saw = 1,
- /obj/item/surgicaldrill = 1,
- )
-
-/obj/effect/spawner/lootdrop/tool_surgery_adv
- loot = list(
- /obj/item/scalpel/advanced = 1,
- /obj/item/retractor/advanced = 1,
- /obj/item/surgicaldrill/advanced = 1,
- )
-
-/obj/effect/spawner/lootdrop/beaker_loot_spawner
- loot = list(
- /obj/item/reagent_containers/glass/beaker = 300,
- /obj/item/reagent_containers/glass/beaker/large = 200,
- /obj/item/reagent_containers/glass/beaker/plastic = 50,
- /obj/item/reagent_containers/glass/beaker/meta = 10,
- /obj/item/reagent_containers/glass/beaker/noreact = 5,
- /obj/item/reagent_containers/glass/beaker/bluespace = 1,
- )
-/obj/effect/spawner/lootdrop/random_prosthetic
- loot = list(
- /obj/item/bodypart/l_arm/robot/surplus = 1,
- /obj/item/bodypart/r_arm/robot/surplus = 1,
- /obj/item/bodypart/leg/left/robot/surplus = 1,
- /obj/item/bodypart/leg/right/robot/surplus = 1,
- )
-/obj/effect/spawner/lootdrop/random_gun_protolathe_lootdrop
- loot = list(
- /obj/item/gun/energy/lasercannon = 1,
- /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto = 1,
- /obj/item/gun/energy/temperature/security = 1,
- )
-/obj/effect/spawner/lootdrop/random_ammo_protolathe_lootdrop
- loot = list(
- /obj/item/stock_parts/cell/gun/upgraded = 5,
- /obj/item/ammo_box/magazine/smgm9mm = 7,
- )
-
-//CIRCUIT IMPRINTER
-/obj/effect/spawner/lootdrop/random_machine_circuit_common
- loot = list(
- /obj/item/circuitboard/machine/autolathe = 5,
- /obj/item/circuitboard/machine/biogenerator = 5,
- /obj/item/circuitboard/machine/cell_charger = 5,
- /obj/item/circuitboard/machine/chem_heater = 5,
- /obj/item/circuitboard/machine/chem_master = 5,
- /obj/item/circuitboard/machine/clonescanner = 5,
- /obj/item/circuitboard/machine/cryo_tube = 5,
- /obj/item/circuitboard/machine/cyborgrecharger = 5,
- /obj/item/circuitboard/machine/deep_fryer = 5,
- /obj/item/circuitboard/machine/experimentor = 5,
- /obj/item/circuitboard/machine/holopad = 5,
- /obj/item/circuitboard/machine/hydroponics = 5,
- /obj/item/circuitboard/machine/limbgrower = 5,
- /obj/item/circuitboard/machine/ltsrbt = 5,
- /obj/item/circuitboard/machine/mech_recharger = 5,
- /obj/item/circuitboard/machine/mechfab = 5,
- /obj/item/circuitboard/machine/medical_kiosk = 5,
- /obj/item/circuitboard/machine/medipen_refiller = 5,
- /obj/item/circuitboard/machine/microwave = 5,
- /obj/item/circuitboard/machine/ore_redemption = 5,
- /obj/item/circuitboard/machine/ore_silo = 5,
- /obj/item/circuitboard/machine/reagentgrinder = 5,
- /obj/item/circuitboard/machine/recharger = 5,
- /obj/item/circuitboard/machine/seed_extractor = 5,
- /obj/item/circuitboard/machine/selling_pad = 5,
- /obj/item/circuitboard/machine/emitter = 5,
- )
-
-/obj/effect/spawner/lootdrop/random_machine_circuit_rare
- loot = list(
- /obj/item/circuitboard/aicore = 5,
- /obj/item/circuitboard/machine/chem_dispenser = 5,
- /obj/item/circuitboard/machine/circuit_imprinter = 5,
- /obj/item/circuitboard/machine/protolathe = 5,
- /obj/item/circuitboard/machine/clonepod/experimental = 5,
- /obj/item/circuitboard/machine/rad_collector = 5,
- /obj/item/circuitboard/machine/launchpad = 5,
- )
-
-/obj/effect/spawner/lootdrop/random_machine_circuit_mech
- loot = list(
- /obj/item/circuitboard/mecha/ripley/main = 100,
- /obj/item/circuitboard/mecha/ripley/peripherals = 100,
- /obj/item/circuitboard/mecha/honker/main = 5,
- /obj/item/circuitboard/mecha/honker/peripherals = 5,
- /obj/item/circuitboard/mecha/odysseus/main = 5,
- /obj/item/circuitboard/mecha/odysseus/peripherals = 5,
- /obj/item/circuitboard/mecha/gygax/main = 1,
- /obj/item/circuitboard/mecha/gygax/peripherals = 1,
- /obj/item/circuitboard/mecha/gygax/targeting = 1,
- /obj/item/circuitboard/mecha/durand/main = 1,
- /obj/item/circuitboard/mecha/durand/peripherals = 1,
- /obj/item/circuitboard/mecha/durand/targeting = 1,
- )
-
-//COMPUTER
-/obj/effect/spawner/lootdrop/random_computer_circuit_common
- loot = list(
- /obj/item/circuitboard/computer/aifixer = 5,
- /obj/item/circuitboard/computer/arcade/amputation = 5,
- /obj/item/circuitboard/computer/arcade/battle = 5,
- /obj/item/circuitboard/computer/arcade/orion_trail = 5,
- /obj/item/circuitboard/computer/atmos_alert = 5,
- /obj/item/circuitboard/computer/card = 5,
- /obj/item/circuitboard/computer/cloning = 5,
- /obj/item/circuitboard/computer/communications = 5,
- /obj/item/circuitboard/computer/launchpad_console = 5,
- /obj/item/circuitboard/computer/mech_bay_power_console = 5,
- /obj/item/circuitboard/computer/pandemic = 5,
- /obj/item/circuitboard/computer/powermonitor/secret = 5,
- /obj/item/circuitboard/computer/prototype_cloning = 5,
- /obj/item/circuitboard/computer/stationalert = 5,
- /obj/item/circuitboard/computer/teleporter = 5,
- /obj/item/circuitboard/computer/operating = 5,
- /obj/item/circuitboard/computer/crew = 5,
- /obj/item/circuitboard/computer/scan_consolenew = 5,
- )
-
-/obj/effect/spawner/lootdrop/random_computer_circuit_rare
- loot = list(
- /obj/item/circuitboard/computer/cargo = 5,
- /obj/item/circuitboard/computer/communications = 5,
- /obj/item/circuitboard/computer/shuttle/helm = 5,
- /obj/item/circuitboard/computer/med_data = 5,
- )
-
-//DESTRUCTIVE ANAL //i'm killing you
-/obj/effect/spawner/lootdrop/destructive_anal_loot //what do people usually put in these things anayways
- loot = list(
- /obj/item/storage/toolbox/syndicate/empty = 650,
- /obj/item/gun/ballistic/automatic/pistol/ringneck = 500,
- /obj/item/camera_bug = 500,
- /obj/item/clothing/gloves/combat = 200,
- /obj/item/clothing/head/chameleon = 200,
- /obj/item/pen/sleepy = 200,
- /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 100,
-
- /obj/item/grenade/c4 = 100,
-
- /obj/item/wrench/syndie = 30,
- /obj/item/screwdriver/nuke = 30,
- /obj/item/crowbar/syndie = 30,
- /obj/item/wirecutters/syndie = 30,
- /obj/item/multitool/syndie = 30,
- )
diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm
index 7b007bb98472..d3d2cc076ef2 100644
--- a/code/game/turfs/closed/minerals.dm
+++ b/code/game/turfs/closed/minerals.dm
@@ -196,7 +196,7 @@
. = ..()
if (prob(mineralChance))
- var/path = pickweight(mineralSpawnChanceList)
+ var/path = pick_weight(mineralSpawnChanceList)
if(ispath(path, /turf))
var/turf/T = ChangeTurf(path,null,CHANGETURF_IGNORE_AIR)
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 333b8b828022..68a2f4675bdb 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -854,7 +854,7 @@
switch(ruin_force)
if("Random")
- //Can't use pickweight as it might be from "everything"
+ //Can't use pick_weight as it might be from "everything"
ruin_target = select_from[pick(select_from)]
else
var/selected_ruin = tgui_input_list(usr, "Which ruin?", "Spawn Ruin", select_from, 60 SECONDS)
diff --git a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm
index 5980993958b0..93905c9d6aed 100644
--- a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm
+++ b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm
@@ -48,7 +48,7 @@
changelings[C] = (CHANGELING_PHEROMONE_MAX_DISTANCE ** 2) - (distance ** 2)
if(changelings.len)
- scan_target = pickweight(changelings) //Point at a 'random' changeling, biasing heavily towards closer ones.
+ scan_target = pick_weight(changelings) //Point at a 'random' changeling, biasing heavily towards closer ones.
else
scan_target = null
diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm
index a29d48657446..3b51ebb583d8 100644
--- a/code/modules/awaymissions/away_props.dm
+++ b/code/modules/awaymissions/away_props.dm
@@ -1,7 +1,7 @@
/obj/effect/oneway
name = "one way effect"
desc = "Only lets things in from it's dir."
- icon = 'icons/effects/mapping_helpers.dmi'
+ icon = 'icons/effects/mapping/mapping_helpers.dmi'
icon_state = "field_dir"
invisibility = INVISIBILITY_MAXIMUM
anchored = TRUE
@@ -14,7 +14,7 @@
/obj/effect/wind
name = "wind effect"
desc = "Creates pressure effect in it's direction. Use sparingly."
- icon = 'icons/effects/mapping_helpers.dmi'
+ icon = 'icons/effects/mapping/mapping_helpers.dmi'
icon_state = "field_dir"
invisibility = INVISIBILITY_MAXIMUM
var/strength = 30
@@ -32,7 +32,7 @@
/obj/effect/path_blocker
name = "magic barrier"
desc = "You shall not pass."
- icon = 'icons/effects/mapping_helpers.dmi'
+ icon = 'icons/effects/mapping/mapping_helpers.dmi'
icon_state = "blocker" //todo make this actually look fine when visible
anchored = TRUE
var/list/blocked_types = list()
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 26361b99cfc6..4fb7ceac4527 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -6,7 +6,7 @@
name = "Mob Spawner"
density = TRUE
anchored = TRUE
- icon = 'icons/effects/mapping_helpers.dmi' // These aren't *really* mapping helpers but it fits the most with it's common usage (to help place corpses in maps)
+ icon = 'icons/effects/mapping/mapping_helpers.dmi' // These aren't *really* mapping helpers but it fits the most with it's common usage (to help place corpses in maps)
icon_state = "mobspawner" // So it shows up in the map editor
var/mob_type = null
var/mob_name = ""
@@ -138,6 +138,7 @@
// Base version - place these on maps/templates.
/obj/effect/mob_spawn/human
mob_type = /mob/living/carbon/human
+ icon_state = "corpsehuman"
//Human specific stuff.
var/mob_species = null //Set to make them a mutant race such as lizard or skeleton. Uses the datum typepath instead of the ID.
var/datum/outfit/outfit = /datum/outfit //If this is a path, it will be instanced in Initialize()
@@ -326,12 +327,10 @@
/obj/effect/mob_spawn/human/corpse/cargo_tech
name = "Cargo Tech"
outfit = /datum/outfit/job/cargo_tech
- icon_state = "corpsecargotech"
/obj/effect/mob_spawn/human/cook
name = "Cook"
outfit = /datum/outfit/job/cook
- icon_state = "corpsecook"
/obj/effect/mob_spawn/human/cook/husked
husk = TRUE
@@ -339,8 +338,6 @@
/obj/effect/mob_spawn/human/doctor
name = "Doctor"
outfit = /datum/outfit/job/doctor
- icon_state = "corpsedoctor"
-
/obj/effect/mob_spawn/human/doctor/alive
death = FALSE
@@ -363,22 +360,18 @@
/obj/effect/mob_spawn/human/engineer
name = "Engineer"
outfit = /datum/outfit/job/engineer
- icon_state = "corpseengineer"
/obj/effect/mob_spawn/human/clown
name = "Clown"
outfit = /datum/outfit/job/clown
- icon_state = "corpseclown"
/obj/effect/mob_spawn/human/scientist
name = "Scientist"
outfit = /datum/outfit/job/scientist
- icon_state = "corpsescientist"
/obj/effect/mob_spawn/human/miner
name = "Shaft Miner"
outfit = /datum/outfit/job/miner
- icon_state = "corpseminer"
/obj/effect/mob_spawn/human/plasmaman
mob_species = /datum/species/plasmaman
@@ -405,7 +398,6 @@
/obj/effect/mob_spawn/human/bartender
name = "Space Bartender"
- icon_state = "corpsebartender"
id_job = "Bartender"
id_access_list = list(ACCESS_BAR)
outfit = /datum/outfit/spacebartender
diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm
index a240bf9f8404..210a5cec7a47 100644
--- a/code/modules/awaymissions/mission_code/snowdin.dm
+++ b/code/modules/awaymissions/mission_code/snowdin.dm
@@ -453,83 +453,6 @@
SAY AAAAAAAAAAAAAAAA FUCK THAT
DELAY 15;"}
-//lootspawners//--
-
-/obj/effect/spawner/lootdrop/snowdin
- name = "why are you using this dummy"
- lootdoubles = 0
- lootcount = 1
- loot = list(/obj/item/bikehorn = 100)
-
-/obj/effect/spawner/lootdrop/snowdin/dungeonlite
- name = "dungeon lite"
- loot = list(/obj/item/melee/classic_baton = 11,
- /obj/item/melee/classic_baton/telescopic = 12,
- /obj/item/book/granter/spell/smoke = 10,
- /obj/item/book/granter/spell/blind = 10,
- /obj/item/storage/firstaid/regular = 45,
- /obj/item/storage/firstaid/toxin = 35,
- /obj/item/storage/firstaid/brute = 27,
- /obj/item/storage/firstaid/fire = 27,
- /obj/item/storage/toolbox/syndicate = 12,
- /obj/item/grenade/c4 = 7,
- /obj/item/grenade/clusterbuster/smoke = 15,
- /obj/item/clothing/under/chameleon = 13,
- /obj/item/clothing/shoes/chameleon/noslip = 10,
- /obj/item/borg/upgrade/ddrill = 3,
- /obj/item/borg/upgrade/soh = 3)
-
-/obj/effect/spawner/lootdrop/snowdin/dungeonmid
- name = "dungeon mid"
- loot = list(/obj/item/defibrillator/compact = 6,
- /obj/item/storage/firstaid/tactical = 35,
- /obj/item/shield/energy = 6,
- /obj/item/shield/riot/tele = 12,
- /obj/item/dnainjector/lasereyesmut = 7,
- /obj/item/pneumatic_cannon = 15,
- /obj/item/melee/transforming/energy/sword = 7,
- /obj/item/book/granter/spell/knock = 15,
- /obj/item/book/granter/spell/summonitem = 20,
- /obj/item/book/granter/spell/forcewall = 17,
- /obj/item/storage/backpack/holding = 12,
- /obj/item/grenade/spawnergrenade/manhacks = 6,
- /obj/item/grenade/spawnergrenade/spesscarp = 7,
- /obj/item/grenade/clusterbuster/inferno = 3,
- /obj/item/stack/sheet/mineral/diamond{amount = 15} = 10,
- /obj/item/stack/sheet/mineral/uranium{amount = 15} = 10,
- /obj/item/stack/sheet/mineral/plasma{amount = 15} = 10,
- /obj/item/stack/sheet/mineral/gold{amount = 15} = 10,
- /obj/item/book/granter/spell/barnyard = 4,
- /obj/item/pickaxe/drill/diamonddrill = 6,
- /obj/item/borg/upgrade/disablercooler = 7)
-
-
-/obj/effect/spawner/lootdrop/snowdin/dungeonheavy
- name = "dungeon heavy"
- loot = list(/obj/item/melee/axe/fire = 25,
- /obj/item/organ/brain/alien = 17,
- /obj/item/dualsaber = 15,
- /obj/item/organ/heart/demon = 7,
- /obj/item/gun/ballistic/automatic/smg/cobra = 16,
- /obj/item/uplink/old = 2,
- /obj/item/book/granter/spell/charge = 12,
- /obj/item/grenade/clusterbuster/spawner_manhacks = 15,
- /obj/item/book/granter/spell/fireball = 10,
- /obj/item/pickaxe/drill/jackhammer = 30,
- /obj/item/borg/upgrade/syndicate = 13,
- /obj/item/borg/upgrade/selfrepair = 17)
-
-/obj/effect/spawner/lootdrop/snowdin/dungeonmisc
- name = "dungeon misc"
- lootdoubles = 2
- lootcount = 1
-
- loot = list(/obj/item/stack/sheet/mineral/snow{amount = 25} = 10,
- /obj/item/toy/snowball = 15,
- /obj/item/shovel = 10,
- /obj/item/melee/spear = 8,
- )
-
//special items//--
/obj/structure/barricade/wooden/snowed
diff --git a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm
index 2d9f3af83c06..65a72290bf07 100644
--- a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm
+++ b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm
@@ -4,7 +4,7 @@
/datum/blackmarket_item/consumable/donk_pocket_box
name = "Box of Donk Pockets"
desc = "A well packaged box containing the favourite snack of every spacefarer."
- item = /obj/effect/spawner/lootdrop/donkpockets
+ item = /obj/effect/spawner/random/food_or_drink/donkpockets
stock_min = 2
stock_max = 5
@@ -186,7 +186,7 @@
/datum/blackmarket_item/consumable/ration
name = "Ration Pack"
desc = "PGF military surplus rations. What's in them? Who knows. Surprise is the spice of life after all."
- item = /obj/effect/spawner/lootdrop/ration
+ item = /obj/effect/spawner/random/food_or_drink/ration
price_min = 150
price_max = 300
diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm
index cab2ac8563af..a7bcbb2fe7d4 100644
--- a/code/modules/cargo/packs/costumes_toys.dm
+++ b/code/modules/cargo/packs/costumes_toys.dm
@@ -73,7 +73,7 @@
var/the_toy
for(var/i in 1 to 5)
if(prob(50))
- the_toy = pickweight(GLOB.arcade_prize_pool)
+ the_toy = pick_weight(GLOB.arcade_prize_pool)
else
the_toy = pick(subtypesof(/obj/item/toy/plush))
new the_toy(C)
@@ -103,7 +103,7 @@
/datum/supply_pack/costumes_toys/mafia/fill(obj/structure/closet/crate/C)
for(var/i in 1 to 4)
- new /obj/effect/spawner/lootdrop/mafia_outfit(C)
+ new /obj/effect/spawner/random/clothing/mafia_outfit(C)
new /obj/item/virgin_mary(C)
if(prob(30)) //Not all mafioso have mustaches, some people also find this item annoying.
new /obj/item/clothing/mask/fakemoustache/italian(C)
diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm
index 364c53ec9eb5..13402cce51b3 100644
--- a/code/modules/cargo/packs/food.dm
+++ b/code/modules/cargo/packs/food.dm
@@ -47,12 +47,12 @@
name = "Ration Crate"
desc = "6 standerd issue rations."
cost = 500
- contains = list(/obj/effect/spawner/lootdrop/ration,
- /obj/effect/spawner/lootdrop/ration,
- /obj/effect/spawner/lootdrop/ration,
- /obj/effect/spawner/lootdrop/ration,
- /obj/effect/spawner/lootdrop/ration,
- /obj/effect/spawner/lootdrop/ration)
+ contains = list(/obj/effect/spawner/random/food_or_drink/ration,
+ /obj/effect/spawner/random/food_or_drink/ration,
+ /obj/effect/spawner/random/food_or_drink/ration,
+ /obj/effect/spawner/random/food_or_drink/ration,
+ /obj/effect/spawner/random/food_or_drink/ration,
+ /obj/effect/spawner/random/food_or_drink/ration)
crate_name = "ration crate"
crate_type = /obj/structure/closet/crate
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index 0447f62aab9e..db9e2814b2c0 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -259,24 +259,6 @@
item_state = "lgloves"
custom_price = 200
-/obj/effect/spawner/lootdrop/gloves
- name = "random gloves"
- desc = "These gloves are supposed to be a random color..."
- icon = 'icons/obj/clothing/gloves.dmi'
- icon_state = "random_gloves"
- loot = list(
- /obj/item/clothing/gloves/color/orange = 1,
- /obj/item/clothing/gloves/color/red = 1,
- /obj/item/clothing/gloves/color/blue = 1,
- /obj/item/clothing/gloves/color/purple = 1,
- /obj/item/clothing/gloves/color/green = 1,
- /obj/item/clothing/gloves/color/grey = 1,
- /obj/item/clothing/gloves/color/light_brown = 1,
- /obj/item/clothing/gloves/color/brown = 1,
- /obj/item/clothing/gloves/color/white = 1,
- /obj/item/clothing/gloves/color/rainbow = 1,
- )
-
/obj/item/clothing/gloves/maid
name = "maid arm covers"
desc = "Cylindrical looking tubes that go over your arm, weird."
diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm
index f5e4ddcdf55b..8f1e0663ee31 100644
--- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm
+++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm
@@ -47,26 +47,26 @@
return
if(prob(90))
- head = pickweight(list(
+ head = pick_weight(list(
/obj/item/clothing/head/beret/sec/frontier = 10,
/obj/item/clothing/head/helmet/bulletproof/x11/frontier = 5,
/obj/item/reagent_containers/glass/bucket = 1))
if(prob(60))
- suit = pickweight(list(
+ suit = pick_weight(list(
/obj/item/clothing/suit/armor/vest = 5,
/obj/item/clothing/suit/armor/vest/bulletproof/frontier = 5,
/obj/item/clothing/suit/armor/vest/scrap = 1))
if(prob(50))
- mask = pickweight(list(
+ mask = pick_weight(list(
/obj/item/clothing/mask/gas/frontiersmen = 12,
/obj/item/clothing/mask/gas/sechailer/balaclava = 10,
/obj/item/clothing/mask/breath = 7,
/obj/item/clothing/mask/whistle/trench = 3))
if(prob(90))
- back = pickweight(list(
+ back = pick_weight(list(
/obj/item/storage/backpack = 20,
/obj/item/storage/backpack/satchel = 20,
/obj/item/storage/backpack/messenger = 20,
@@ -76,7 +76,7 @@
))
if(prob(90))
- shoes = pickweight(list(
+ shoes = pick_weight(list(
/obj/item/clothing/shoes/jackboots = 10,
/obj/item/clothing/shoes/sneakers = 5,
))
@@ -136,7 +136,7 @@
/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn,
/obj/item/gun/energy/e_gun/mini))
if("Melee")
- r_hand = pickweight(list(
+ r_hand = pick_weight(list(
/obj/item/melee/knife/survival = 15,
/obj/item/melee/baseball_bat = 10,
/obj/item/roastingstick = 2,
diff --git a/code/modules/events/brain_trauma.dm b/code/modules/events/brain_trauma.dm
index f7324e3c57dd..3c68b18d50f9 100644
--- a/code/modules/events/brain_trauma.dm
+++ b/code/modules/events/brain_trauma.dm
@@ -27,7 +27,7 @@
15;TRAUMA_RESILIENCE_LOBOTOMY,
5;TRAUMA_RESILIENCE_MAGIC)
- var/trauma_type = pickweight(list(
+ var/trauma_type = pick_weight(list(
BRAIN_TRAUMA_MILD = 60,
BRAIN_TRAUMA_SEVERE = 30,
BRAIN_TRAUMA_SPECIAL = 10
diff --git a/code/modules/events/heart_attack.dm b/code/modules/events/heart_attack.dm
index 35d8c4b141e1..73e3b721c067 100644
--- a/code/modules/events/heart_attack.dm
+++ b/code/modules/events/heart_attack.dm
@@ -18,7 +18,7 @@
heart_attack_contestants[victim] = 1
if(LAZYLEN(heart_attack_contestants))
- var/mob/living/carbon/human/winner = pickweight(heart_attack_contestants)
+ var/mob/living/carbon/human/winner = pick_weight(heart_attack_contestants)
var/datum/disease/D = new /datum/disease/heart_failure()
winner.ForceContractDisease(D, FALSE, TRUE)
announce_to_ghosts(winner)
diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm
index 43e60c3137c3..1fbb017b7dd4 100644
--- a/code/modules/events/holiday/xmas.dm
+++ b/code/modules/events/holiday/xmas.dm
@@ -42,7 +42,7 @@
/obj/effect/spawner/xmastree
name = "christmas tree spawner"
- icon = 'icons/effects/landmarks_static.dmi'
+ icon = 'icons/effects/mapping/landmarks_static.dmi'
icon_state = "x2"
layer = FLY_LAYER
diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm
index 4f2c3cd1343a..40b979a89577 100644
--- a/code/modules/fishing/fish/_fish.dm
+++ b/code/modules/fishing/fish/_fish.dm
@@ -386,6 +386,6 @@
if(initial(fish.available_in_random_cases) || !case_fish_only)
chance_table[fish] = initial(fish.random_case_rarity)
probability_table[argkey] = chance_table
- return pickweight(probability_table[argkey])
+ return pick_weight(probability_table[argkey])
diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm
index 136a650148cd..db051d69175e 100644
--- a/code/modules/fishing/sources/_fish_source.dm
+++ b/code/modules/fishing/sources/_fish_source.dm
@@ -79,7 +79,7 @@ GLOBAL_LIST_INIT(preset_fish_sources,init_fishing_configurations())
/// In case you want more complex rules for specific spots
/datum/fish_source/proc/roll_reward(obj/item/fishing_rod/rod, mob/fisherman)
- return pickweight(get_modified_fish_table(rod,fisherman))
+ return pick_weight(get_modified_fish_table(rod,fisherman))
/// Gives out the reward if possible
/datum/fish_source/proc/dispense_reward(reward_path, mob/fisherman)
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 29ff8ead2f62..30b768e702b0 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(hallucination_list, list(
if(world.time < next_hallucination)
return
- var/halpick = pickweight(GLOB.hallucination_list)
+ var/halpick = pick_weight(GLOB.hallucination_list)
new halpick(src, FALSE)
next_hallucination = world.time + rand(100, 600)
diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm
index b5c4c2c42b85..bfc9179c4893 100644
--- a/code/modules/food_and_drinks/pizzabox.dm
+++ b/code/modules/food_and_drinks/pizzabox.dm
@@ -341,13 +341,13 @@
/obj/item/pizzabox/infinite/proc/attune_pizza(mob/living/carbon/human/noms) //tonight on "proc names I never thought I'd type"
if(!pizza_preferences[noms.ckey])
- pizza_preferences[noms.ckey] = pickweight(pizza_types)
+ pizza_preferences[noms.ckey] = pick_weight(pizza_types)
if(noms.has_quirk(/datum/quirk/pineapple_liker))
pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/pineapple
else if(noms.has_quirk(/datum/quirk/pineapple_hater))
var/list/pineapple_pizza_liker = pizza_types.Copy()
pineapple_pizza_liker -= /obj/item/reagent_containers/food/snacks/pizza/pineapple
- pizza_preferences[noms.ckey] = pickweight(pineapple_pizza_liker)
+ pizza_preferences[noms.ckey] = pick_weight(pineapple_pizza_liker)
else if(noms.mind && noms.mind.assigned_role == "Botanist")
pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/dank
diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm
index 47e545c33663..52b5f7659305 100644
--- a/code/modules/mapping/mapping_helpers.dm
+++ b/code/modules/mapping/mapping_helpers.dm
@@ -4,7 +4,7 @@
/obj/effect/baseturf_helper //Set the baseturfs of every turf in the /area/ it is placed.
name = "baseturf editor"
- icon = 'icons/effects/mapping_helpers.dmi'
+ icon = 'icons/effects/mapping/mapping_helpers.dmi'
icon_state = ""
var/list/baseturf_to_replace
@@ -89,8 +89,9 @@
/obj/effect/mapping_helpers
- icon = 'icons/effects/mapping_helpers.dmi'
+ icon = 'icons/effects/mapping/mapping_helpers.dmi'
icon_state = ""
+ invisibility = INVISIBILITY_OBSERVER
var/late = FALSE
/obj/effect/mapping_helpers/Initialize()
@@ -272,7 +273,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
/obj/effect/mapping_helpers/ianbirthday
name = "Ian's Bday Helper"
late = TRUE
- icon_state = "iansbdayhelper"
var/balloon_clusters = 2
/obj/effect/mapping_helpers/ianbirthday/LateInitialize()
@@ -331,7 +331,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
/obj/effect/mapping_helpers/ianbirthday/admin//so admins may birthday any room
name = "generic birthday setup"
- icon_state = "bdayhelper"
/obj/effect/mapping_helpers/ianbirthday/admin/LateInitialize()
birthday()
@@ -341,7 +340,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
/obj/effect/mapping_helpers/iannewyear
name = "Ian's New Years Helper"
late = TRUE
- icon_state = "iansnewyrshelper"
/obj/effect/mapping_helpers/iannewyear/LateInitialize()
if(SSevents.holidays && SSevents.holidays[NEW_YEAR])
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index bf6fb15c9332..bf4ad80647ef 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -508,7 +508,7 @@
icon_state = "garden"
harvested_name = "lush garden"
harvested_desc = "In the soil and shade, something softly grew. It seems some industrious scavenger already passed by."
- harvest = /obj/effect/spawner/lootdrop/garden
+ harvest = /obj/effect/spawner/random/food_or_drink/garden
harvest_amount_high = 1
harvest_amount_low = 1
harvest_message_low = "You discover something nestled away in the growing bough."
@@ -527,7 +527,7 @@
icon_state = "gardenarid"
harvested_name = "sandy garden"
harvested_desc = "Beneath a bluff of soft silicate, a sheltered grove slumbered. Some desert wanderer seems to have picked it clean."
- harvest = /obj/effect/spawner/lootdrop/garden/arid
+ harvest = /obj/effect/spawner/random/food_or_drink/garden/arid
harvest_amount_high = 1
harvest_amount_low = 1
harvest_message_low = "You brush sand away from a verdant prize, nestled in the leaves."
@@ -540,7 +540,7 @@
icon_state = "gardencold"
harvested_name = "chilly garden"
harvested_desc = "A delicate layer of frost covers hardy brush. Someone came with the blizzard, and left with any prize this might contain."
- harvest = /obj/effect/spawner/lootdrop/garden/cold
+ harvest = /obj/effect/spawner/random/food_or_drink/garden/cold
harvest_amount_high = 1
harvest_amount_low = 1
harvest_message_low = "You unearth a snow-covered treat."
@@ -553,7 +553,7 @@
icon_state = "gardensick"
harvested_name = "sickly garden"
harvested_desc = "Polluted water wells up from the cracked earth, where it once fed a patch of something curious. Now only wilted leaves remain."
- harvest = /obj/effect/spawner/lootdrop/garden/sick
+ harvest = /obj/effect/spawner/random/food_or_drink/garden/sick
harvest_amount_high = 1
harvest_amount_low = 1
harvest_message_low = "You pry something odd from the poisoned soil."
@@ -567,124 +567,13 @@
icon_state = "seaweed"
harvested_name = "seaweed patch"
harvested_desc = "A patch of seaweed, floating on the surface of the water. It seems someone has already searched through this"
- harvest = /obj/effect/spawner/lootdrop/garden/seaweed
+ harvest = /obj/effect/spawner/random/food_or_drink/garden/seaweed
harvest_amount_high = 1
harvest_amount_low = 1
harvest_message_low = "You discover some edible weeds within the patch."
harvest_message_med = "You discover some edible weeds within the patch."
harvest_message_high = "You discover some edible weeds within the patch."
-/obj/effect/spawner/lootdrop/garden
- name = "lush garden seeder"
- lootcount = 3
- var/list/plant = list(
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 2,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d = 1,
- /obj/item/reagent_containers/food/snacks/grown/trumpet = 1,
- /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
- /obj/item/seeds/random = 1,
- /obj/item/grown/log/bamboo = 2,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 2,
- /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 5,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2,
- /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2,
- /obj/item/reagent_containers/food/snacks/grown/moonflower = 2,
- /obj/item/reagent_containers/food/snacks/grown/cocoapod = 2,
- /obj/item/reagent_containers/food/snacks/grown/pineapple = 2,
- /obj/item/reagent_containers/food/snacks/grown/poppy/lily = 2,
- /obj/item/reagent_containers/food/snacks/grown/poppy/geranium = 2,
- /obj/item/reagent_containers/food/snacks/grown/sugarcane = 2,
- /obj/item/reagent_containers/food/snacks/grown/tea = 2,
- /obj/item/reagent_containers/food/snacks/grown/tobacco = 2,
- /obj/item/reagent_containers/food/snacks/grown/watermelon = 4,
- /obj/item/grown/sunflower = 4,
- /obj/item/reagent_containers/food/snacks/grown/banana = 4,
- /obj/item/reagent_containers/food/snacks/grown/apple = 4,
- /obj/item/reagent_containers/food/snacks/grown/berries = 5,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 4,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 4,
- /obj/item/reagent_containers/food/snacks/grown/garlic = 4,
- /obj/item/reagent_containers/food/snacks/grown/grapes = 4,
- /obj/item/reagent_containers/food/snacks/grown/grass = 5,
- /obj/item/reagent_containers/food/snacks/grown/pumpkin = 4,
- /obj/item/reagent_containers/food/snacks/grown/rainbow_flower = 4,
- /obj/item/reagent_containers/food/snacks/grown/wheat = 4,
- /obj/item/reagent_containers/food/snacks/grown/parsnip = 4,
- /obj/item/reagent_containers/food/snacks/grown/peas = 4,
- /obj/item/reagent_containers/food/snacks/grown/rice = 4,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 4,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 4,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 4,
- /obj/item/reagent_containers/food/snacks/grown/onion = 4,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 4)
-
-/obj/effect/spawner/lootdrop/garden/Initialize(mapload)
- loot = plant
- . = ..()
-
-/obj/effect/spawner/lootdrop/garden/arid
- name = "arid garden seeder"
- plant = list(
- /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 1,
- /obj/item/reagent_containers/food/snacks/grown/nettle = 1,
- /obj/item/grown/cotton/durathread = 1,
- /obj/item/seeds/random = 1,
- /obj/item/reagent_containers/food/snacks/grown/redbeet = 1,
- /obj/item/reagent_containers/food/snacks/grown/aloe = 2,
- /obj/item/grown/cotton = 2,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 2,
- /obj/item/reagent_containers/food/snacks/grown/chili = 2,
- /obj/item/reagent_containers/food/snacks/grown/whitebeet = 5,
- /obj/item/reagent_containers/food/snacks/grown/potato = 4,
- /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 4,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 4,
- /obj/item/reagent_containers/food/snacks/grown/corn = 4)
-
-/obj/effect/spawner/lootdrop/garden/cold
- name = "frigid garden seeder"
- plant = list(
- /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1,
- /obj/item/reagent_containers/food/snacks/grown/galaxythistle = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 1,
- /obj/item/seeds/random = 1,
- /obj/item/reagent_containers/food/snacks/grown/poppy = 2,
- /obj/item/reagent_containers/food/snacks/grown/tomato/blue = 2,
- /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 2,
- /obj/item/reagent_containers/food/snacks/grown/berries = 4,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4,
- /obj/item/reagent_containers/food/snacks/grown/oat = 4,
- /obj/item/reagent_containers/food/snacks/grown/grapes/green = 4,
- /obj/item/reagent_containers/food/snacks/grown/grass = 4,
- /obj/item/reagent_containers/food/snacks/grown/harebell = 5,
- /obj/item/seeds/starthistle = 5)
-
-/obj/effect/spawner/lootdrop/garden/sick
- name = "sickly garden seeder"
- plant = list(
- /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow = 1,
- /obj/item/reagent_containers/food/snacks/grown/cannabis/death = 1,
- /obj/item/seeds/replicapod = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 2,
- /obj/item/seeds/tower/steel = 2,
- /obj/item/reagent_containers/food/snacks/grown/cannabis = 2,
- /obj/item/seeds/random = 2,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup = 2,
- /obj/item/reagent_containers/food/snacks/grown/cherrybulbs = 4,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 4,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 4,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi = 4,
- /obj/item/reagent_containers/food/snacks/grown/berries/glow = 4)
-
-/obj/effect/spawner/lootdrop/garden/seaweed
- name = "seaweed patch seeder"
- plant = list(
- /obj/item/reagent_containers/food/snacks/grown/seaweed = 1
- )
-
/obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth //careful eating from random jungle bushes
seed = /obj/item/seeds/berry/poison
name = "bunch of berries"
diff --git a/code/modules/mining/ore_veins.dm b/code/modules/mining/ore_veins.dm
index 16f6afa8da0c..fa497b44a323 100644
--- a/code/modules/mining/ore_veins.dm
+++ b/code/modules/mining/ore_veins.dm
@@ -72,7 +72,7 @@ GLOBAL_LIST_EMPTY(ore_veins)
else
ore_type_amount = 1
for(var/ore_count in 1 to ore_type_amount)
- var/picked = pickweight(ore_list)
+ var/picked = pick_weight(ore_list)
vein_contents.Add(picked)
ore_list.Remove(picked)
GLOB.ore_veins += src
diff --git a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm
index 58e48850c2b8..038aae0900de 100644
--- a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm
@@ -35,14 +35,14 @@
minimum_distance = 1
icon_state = "mining_drone_offense"
faction = list("mining", "turret")
- loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/effect/spawner/lootdrop/minebot)
+ loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/effect/spawner/random/minebot)
projectiletype = /obj/projectile/kinetic/miner/weak
/obj/projectile/kinetic/miner/weak
damage = 15
-/obj/effect/spawner/lootdrop/minebot
+/obj/effect/spawner/random/minebot
loot = list(/obj/item/borg/upgrade/modkit/minebot_passthrough = 15,
/obj/item/borg/upgrade/modkit/chassis_mod = 15,
/obj/item/borg/upgrade/modkit/tracer = 15,
diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
index b98da0a899fc..6dcff82cb7c4 100644
--- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
@@ -69,7 +69,7 @@
/mob/living/simple_animal/hostile/hivebot/death(gibbed)
do_sparks(3, TRUE, src)
- new /obj/effect/spawner/lootdrop/waste/hivebot(loc)
+ new /obj/effect/spawner/random/waste/hivebot(loc)
..(TRUE)
/mob/living/simple_animal/hostile/hivebot/range
diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm
index 8cfeeff0695a..772c277a0e8d 100644
--- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm
+++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm
@@ -80,7 +80,7 @@
var/survivor_type //room for alternatives inside the fuckoff grade init.
/obj/effect/mob_spawn/human/corpse/damaged/whitesands/Initialize() //everything here should equal out to 100 for the sake of my sanity.
- mob_species = pickweight(list(
+ mob_species = pick_weight(list(
/datum/species/human = 50,
/datum/species/lizard = 20,
/datum/species/ipc = 10,
@@ -92,7 +92,7 @@
//to-do: learn how to make mobsprites for other survivors
//gloves are a tossup
- gloves = pickweight(list(
+ gloves = pick_weight(list(
/obj/item/clothing/gloves/color/black = 60,
/obj/item/clothing/gloves/explorer = 30,
/obj/item/clothing/gloves/explorer/old = 10
@@ -100,7 +100,7 @@
)
//bags are semi-random.
- back = pickweight(list(
+ back = pick_weight(list(
/obj/item/storage/backpack = 20,
/obj/item/storage/backpack/explorer = 20,
/obj/item/storage/backpack/satchel = 20,
@@ -112,7 +112,7 @@
//as are bag contents
backpack_contents = list()
if(prob(70))
- backpack_contents += pickweight(list( //these could stand to be expanded, right now they're just mildly modified miner ones, and I don't know how to plus that up.
+ backpack_contents += pick_weight(list( //these could stand to be expanded, right now they're just mildly modified miner ones, and I don't know how to plus that up.
/obj/item/soap = 10,
/obj/item/stack/marker_beacon/ten = 15,
/obj/item/mining_scanner = 5,
@@ -128,7 +128,7 @@
)
)
if(prob(70))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/stack/sheet/animalhide/goliath_hide = 20,
/obj/item/stack/marker_beacon/ten = 10,
/obj/item/mining_scanner = 20,
@@ -140,7 +140,7 @@
)
)
if(prob(70))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/stack/sheet/animalhide/goliath_hide = 5,
/obj/item/stack/marker_beacon/ten = 5,
/obj/item/mining_scanner = 5,
@@ -154,7 +154,7 @@
)
)
if (prob(15)) //mayhaps a medkit
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/storage/firstaid/regular = 50,
/obj/item/storage/firstaid/brute = 15,
/obj/item/storage/firstaid/medical = 15,
@@ -167,7 +167,7 @@
backpack_contents += /obj/item/reagent_containers/hypospray/medipen/survival
//masks
- mask = pickweight(list(
+ mask = pick_weight(list(
/obj/item/clothing/mask/gas = 40,
/obj/item/clothing/mask/gas/explorer = 20,
/obj/item/clothing/mask/gas/explorer/old = 20,
@@ -177,7 +177,7 @@
//the eyes are the window into the soul.
if(prob(70))
- glasses = pickweight(list(
+ glasses = pick_weight(list(
/obj/item/clothing/glasses/heat = 20,
/obj/item/clothing/glasses/cold = 20,
/obj/item/clothing/glasses/meson = 40,
@@ -189,7 +189,7 @@
if(prob(1)) //oh my god they can't hear the sandstorm coming they've got airpods in
ears = /obj/item/instrument/piano_synth/headphones/spacepods
else
- ears = pickweight(list(
+ ears = pick_weight(list(
/obj/item/radio/headset = 50,
/obj/item/radio/headset/alt = 50
)
@@ -198,7 +198,7 @@
switch(survivor_type)
if("survivor")
//uniforms are random to show varied backgrounds, but similar goal
- uniform = pickweight(list(
+ uniform = pick_weight(list(
/obj/item/clothing/under/color/random = 65,
/obj/item/clothing/under/rank/cargo/miner/lavaland = 10,
/obj/item/clothing/under/rank/prisoner = 10,
@@ -207,7 +207,7 @@
)
)
//storage is semi-randomized, giving some variety
- belt = pickweight(list(
+ belt = pick_weight(list(
/obj/item/storage/belt/fannypack = 40,
/obj/item/storage/belt/mining = 20,
/obj/item/storage/belt/mining/alt = 15,
@@ -223,7 +223,7 @@
r_pocket = /obj/item/spacecash/bundle/smallrand
if("hunter")
- uniform = pickweight(list(
+ uniform = pick_weight(list(
/obj/item/clothing/under/color/random = 50,
/obj/item/clothing/under/rank/cargo/miner/lavaland = 25,
/obj/item/clothing/under/rank/cargo/miner/lavaland/old = 15,
@@ -231,7 +231,7 @@
/obj/item/clothing/under/utility = 5
)
)
- belt = pickweight(list(
+ belt = pick_weight(list(
/obj/item/storage/belt/mining = 30,
/obj/item/storage/belt/fannypack = 20,
/obj/item/storage/belt/mining/alt = 15,
@@ -251,7 +251,7 @@
visible_message(span_warning("The hunter's weapon shatters as they impact the ground!"))
if("gunslinger")
- uniform = pickweight(list(
+ uniform = pick_weight(list(
/obj/item/clothing/under/rank/cargo/miner/lavaland = 35,
/obj/item/clothing/under/color/random = 25,
/obj/item/clothing/under/rank/cargo/miner/lavaland/old = 15,
@@ -260,7 +260,7 @@
/obj/item/clothing/under/syndicate/combat = 5
)
)
- belt = pickweight(list(
+ belt = pick_weight(list(
/obj/item/storage/belt/mining = 30,
/obj/item/storage/belt/bandolier = 30,
/obj/item/storage/belt/military = 20,
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
index 2bae8ea2a5dc..7e3e217ecebd 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
@@ -463,7 +463,7 @@
H.transform = H.transform.Scale(0.8, 1)//somehow dwarf squashing is borked when not roundstart. I hate WS code
/obj/effect/mob_spawn/human/corpse/damaged/legioninfested/Initialize() //in an ideal world, these would generate, the legion would overlay over the corpse, and we'd get cool sprites
- mob_species = pickweight(list(
+ mob_species = pick_weight(list(
/datum/species/human = 50,
/datum/species/lizard = 20,
/datum/species/ipc = 10,
@@ -472,7 +472,7 @@
/datum/species/spider = 5
)
)
- var/type = pickweight(list(
+ var/type = pick_weight(list(
"Miner" = 40,
"Assistant" = 10,
"Engineer" = 5,
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm
index 15626099bff9..86476b21b3f4 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm
@@ -1,6 +1,6 @@
/datum/outfit/generic/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
- uniform = pickweight(list(
+ uniform = pick_weight(list(
/obj/item/clothing/under/utility = 5,
/obj/item/clothing/under/utility/skirt = 5,
/obj/item/clothing/under/color/black = 1,
@@ -21,7 +21,7 @@
/obj/item/clothing/under/syndicate/tacticool = 1,
)
)
- suit = pickweight(list(
+ suit = pick_weight(list(
/obj/item/clothing/suit/hooded/wintercoat = 1,
/obj/item/clothing/suit/jacket = 1,
/obj/item/clothing/suit/jacket/leather = 1,
@@ -33,7 +33,7 @@
/obj/item/clothing/suit/toggle/hazard = 1,
)
)
- back = pickweight(list(
+ back = pick_weight(list(
/obj/item/storage/backpack = 1,
/obj/item/storage/backpack/satchel = 1,
/obj/item/storage/backpack/duffelbag = 1,
@@ -42,7 +42,7 @@
)
)
if (prob(10))
- belt = pickweight(list(
+ belt = pick_weight(list(
/obj/item/gun/ballistic/automatic/pistol/candor = 2,
/obj/item/gun/ballistic/automatic/pistol/commander = 1,
/obj/item/gun/ballistic/automatic/pistol/ringneck = 1,
@@ -51,13 +51,13 @@
)
)
if(prob(50))
- gloves = pickweight(list(
+ gloves = pick_weight(list(
/obj/item/clothing/gloves/color/black = 1,
/obj/item/clothing/gloves/fingerless = 1,
/obj/item/clothing/gloves/color/white = 1,
)
)
- shoes = pickweight(list(
+ shoes = pick_weight(list(
/obj/item/clothing/shoes/laceup = 1,
/obj/item/clothing/shoes/sandal = 1,
/obj/item/clothing/shoes/winterboots = 1,
@@ -69,7 +69,7 @@
)
)
if(prob(50))
- head = pickweight(list(
+ head = pick_weight(list(
/obj/item/clothing/head/beret = 3,
/obj/item/clothing/head/beret/grey = 3,
/obj/item/clothing/head/flatcap = 3,
@@ -83,7 +83,7 @@
)
)
if(prob(50))
- mask = pickweight(list(
+ mask = pick_weight(list(
/obj/item/clothing/mask/balaclava = 1,
/obj/item/clothing/mask/bandana/red = 1,
/obj/item/clothing/mask/gas = 3,
@@ -91,7 +91,7 @@
)
)
if(prob(25))
- neck = pickweight(list(
+ neck = pick_weight(list(
/obj/item/clothing/neck/scarf/red = 1,
/obj/item/clothing/neck/scarf/green = 1,
/obj/item/clothing/neck/scarf/darkblue = 1,
@@ -103,7 +103,7 @@
)
ears = pick(/obj/item/radio/headset, /obj/item/radio/headset/alt)
if(prob(50))
- glasses = pickweight(list(
+ glasses = pick_weight(list(
/obj/item/clothing/glasses/regular = 1,
/obj/item/clothing/glasses/regular/circle = 1,
/obj/item/clothing/glasses/regular/jamjar = 1,
@@ -121,7 +121,7 @@
l_pocket = pick(/obj/item/radio, /obj/item/flashlight)
id = /obj/item/card/id
backpack_contents = list()
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/dice/d20 = 1,
/obj/item/lipstick = 1,
/obj/item/clothing/mask/vape = 1,
@@ -151,14 +151,14 @@
/datum/outfit/generic/miner/pre_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(prob(75))
- uniform = pickweight(list(
+ uniform = pick_weight(list(
/obj/item/clothing/under/rank/cargo/miner/lavaland = 5,
/obj/item/clothing/under/rank/cargo/miner = 4,
/obj/item/clothing/under/rank/cargo/miner/lavaland/old = 1,
)
)
if(prob(25))
- suit = pickweight(list(
+ suit = pick_weight(list(
/obj/item/clothing/suit/hooded/explorer = 18,
/obj/item/clothing/suit/hooded/explorer/old = 1,
/obj/item/clothing/suit/hooded/cloak/goliath = 1
@@ -167,13 +167,13 @@
if(prob(75))
back = /obj/item/storage/backpack/explorer
if(prob(75))
- belt = pickweight(list(
+ belt = pick_weight(list(
/obj/item/storage/belt/mining = 2,
/obj/item/storage/belt/mining/alt = 2
)
)
else if(prob(75))
- belt = pickweight(list(
+ belt = pick_weight(list(
/obj/item/pickaxe = 16,
/obj/item/pickaxe/mini = 8,
/obj/item/pickaxe/silver = 4,
@@ -183,7 +183,7 @@
)
)
if(prob(75))
- gloves = pickweight(list(
+ gloves = pick_weight(list(
/obj/item/clothing/gloves/color/black = 9,
/obj/item/clothing/gloves/explorer/old = 1
)
@@ -191,7 +191,7 @@
if(prob(75))
shoes = /obj/item/clothing/shoes/workboots/mining
if(prob(75))
- mask = pickweight(list(
+ mask = pick_weight(list(
/obj/item/clothing/mask/gas/explorer = 9,
/obj/item/clothing/mask/gas/explorer/old = 1
)
@@ -199,7 +199,7 @@
if(prob(50))
glasses = /obj/item/clothing/glasses/meson
if(prob(50))
- r_pocket = pickweight(list(
+ r_pocket = pick_weight(list(
/obj/item/stack/marker_beacon = 20,
/obj/item/spacecash/bundle/smallrand = 7,
/obj/item/reagent_containers/hypospray/medipen/survival = 2,
@@ -207,7 +207,7 @@
)
)
if(prob(25))
- l_pocket = pickweight(list(
+ l_pocket = pick_weight(list(
/obj/item/spacecash/bundle/smallrand = 5,
/obj/item/reagent_containers/hypospray/medipen/survival = 2,
/obj/item/borg/upgrade/modkit/cooldown = 1
@@ -216,7 +216,7 @@
if(prob(75))
for(var/count in 1 to 3)
if(prob(70))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/borg/upgrade/modkit/damage = 1,
/obj/item/borg/upgrade/modkit/trigger_guard = 1,
/obj/item/soap/nanotrasen = 1,
@@ -236,7 +236,7 @@
)
if(prob(30))
backpack_contents += list(
- /obj/item/reagent_containers/hypospray/medipen/survival = pickweight(list(
+ /obj/item/reagent_containers/hypospray/medipen/survival = pick_weight(list(
1 = 3,
2 = 2,
3 = 1
@@ -245,7 +245,7 @@
)
else if (prob(75))
backpack_contents = list()
- back = pickweight(list(
+ back = pick_weight(list(
/obj/item/kinetic_crusher = 9,
/obj/item/kinetic_crusher/old = 1
)
@@ -276,7 +276,7 @@
back = /obj/item/melee/axe/fire
for(var/i = 1 to 3)
if(prob(75))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/stack/tape/industrial/electrical = 1,
/obj/item/electronics/apc = 1,
/obj/item/multitool = 1,
@@ -305,7 +305,7 @@
else if (prob(75))
back = /obj/item/defibrillator/loaded
if(prob(75))
- belt = pickweight(list(/obj/item/storage/belt/medical = 5, /obj/item/defibrillator/compact/loaded = 1))
+ belt = pick_weight(list(/obj/item/storage/belt/medical = 5, /obj/item/defibrillator/compact/loaded = 1))
if(prob(75))
gloves = pick(/obj/item/clothing/gloves/color/white, /obj/item/clothing/gloves/color/latex/nitrile)
if(prob(75))
@@ -320,7 +320,7 @@
glasses = pick(/obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/health/prescription)
for(var/i = 1 to 3)
if(prob(75))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/reagent_containers/pill/patch/styptic = 5,
/obj/item/reagent_containers/pill/patch/silver_sulf = 5,
/obj/item/storage/firstaid/medical = 3,
@@ -365,7 +365,7 @@
neck = /obj/item/clothing/neck/tie/horrible
for(var/i = 1 to 3)
if(prob(75))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/research_notes/loot/tiny = 3,
/obj/item/research_notes/loot/small = 3,
/obj/item/reagent_scanner = 3,
@@ -408,7 +408,7 @@
ears = /obj/item/radio/headset/headset_cargo
for(var/i = 1 to 3)
if(prob(75))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/spacecash/bundle/smallrand = 5,
/obj/item/ammo_box/magazine/illestren_a850r = 5,
/obj/item/ammo_box/magazine/zip_ammo_9mm = 5,
@@ -456,7 +456,7 @@
suit_store = pick(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/smg, /obj/item/gun/energy/e_gun/iot)
for(var/i = 1 to 3)
if(prob(75))
- backpack_contents += pickweight(list(
+ backpack_contents += pick_weight(list(
/obj/item/restraints/handcuffs = 8,
/obj/item/assembly/flash/handheld = 5,
/obj/item/storage/box/evidence = 6,
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index f6dff0f23bb8..e90d00a38a42 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -479,7 +479,7 @@
return //we never mate when not alone, so just abort early
if(alone && partner && children < 3)
- var/childspawn = pickweight(childtype)
+ var/childspawn = pick_weight(childtype)
var/turf/target = get_turf(loc)
if(target)
return new childspawn(target)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index adb03f1962f4..db9a8db4ec2c 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -77,7 +77,7 @@
if(prob(probability))
zone = check_zone(zone)
else
- zone = pickweight(list(BODY_ZONE_HEAD = 1, BODY_ZONE_CHEST = 1, BODY_ZONE_L_ARM = 4, BODY_ZONE_R_ARM = 4, BODY_ZONE_L_LEG = 4, BODY_ZONE_R_LEG = 4))
+ zone = pick_weight(list(BODY_ZONE_HEAD = 1, BODY_ZONE_CHEST = 1, BODY_ZONE_L_ARM = 4, BODY_ZONE_R_ARM = 4, BODY_ZONE_L_LEG = 4, BODY_ZONE_R_LEG = 4))
return zone
///Would this zone be above the neck
diff --git a/code/modules/mob_spawner/hivebot.dm b/code/modules/mob_spawner/hivebot.dm
index 630ed6f6f3c7..2b36075d2225 100644
--- a/code/modules/mob_spawner/hivebot.dm
+++ b/code/modules/mob_spawner/hivebot.dm
@@ -42,7 +42,7 @@
smoke.set_up(2, loc)
smoke.start()
new /obj/effect/particle_effect/sparks(loc)
- new /obj/effect/spawner/lootdrop/waste/hivebot/beacon(loc)
+ new /obj/effect/spawner/random/waste/hivebot/beacon(loc)
/obj/effect/light_emitter/hivespawner
set_luminosity = 4
diff --git a/code/modules/mob_spawner/spawner_componet.dm b/code/modules/mob_spawner/spawner_componet.dm
index 8a904a5504c4..637423f0b1e0 100644
--- a/code/modules/mob_spawner/spawner_componet.dm
+++ b/code/modules/mob_spawner/spawner_componet.dm
@@ -114,7 +114,7 @@
spot = pick(peel)
else
spot = pick(circleviewturfs(origin, spawn_distance_max))
- var/chosen_mob_type = pickweight(mob_types)
+ var/chosen_mob_type = pick_weight(mob_types)
var/mob/living/simple_animal/L = new chosen_mob_type(spot)
L.flags_1 |= (P.flags_1 & ADMIN_SPAWNED_1)
spawned_mobs += L
diff --git a/code/modules/overmap/objects/dynamic_datum.dm b/code/modules/overmap/objects/dynamic_datum.dm
index 1ca28df922aa..ad7d5007ca6d 100644
--- a/code/modules/overmap/objects/dynamic_datum.dm
+++ b/code/modules/overmap/objects/dynamic_datum.dm
@@ -128,7 +128,7 @@
probabilities = list()
for(var/datum/planet_type/planet_type as anything in subtypesof(/datum/planet_type))
probabilities[initial(planet_type.planet)] = initial(planet_type.weight)
- planet = SSmapping.planet_types[force_encounter ? force_encounter : pickweightAllowZero(probabilities)]
+ planet = SSmapping.planet_types[force_encounter ? force_encounter : pick_weight_allow_zero(probabilities)]
if(planet.planet !=DYNAMIC_WORLD_ASTEROID && planet.planet != DYNAMIC_WORLD_SPACERUIN) //these aren't real planets
@@ -192,7 +192,7 @@
log_shuttle("[src] [REF(src)] LEVEL_INIT")
// use the ruin type in template if it exists, or pick from ruin list if IT exists; otherwise null
- var/selected_ruin = template || (ruin_type ? pickweightAllowZero(SSmapping.ruin_types_probabilities[ruin_type]) : null)
+ var/selected_ruin = template || (ruin_type ? pick_weight_allow_zero(SSmapping.ruin_types_probabilities[ruin_type]) : null)
var/list/dynamic_encounter_values = SSovermap.spawn_dynamic_encounter(src, selected_ruin)
if(!length(dynamic_encounter_values))
return FALSE
diff --git a/code/modules/overmap/objects/event_datum.dm b/code/modules/overmap/objects/event_datum.dm
index 9381e8cae6d5..19604ce53375 100644
--- a/code/modules/overmap/objects/event_datum.dm
+++ b/code/modules/overmap/objects/event_datum.dm
@@ -323,7 +323,7 @@
/datum/overmap/event/anomaly/affect_ship(datum/overmap/ship/controlled/S)
var/area/source_area = pick(S.shuttle_port.shuttle_areas)
var/source_object = pick(source_area.contents)
- new /obj/effect/spawner/lootdrop/anomaly/storm(get_turf(source_object))
+ new /obj/effect/spawner/random/anomaly/storm(get_turf(source_object))
for(var/mob/M as anything in GLOB.player_list)
if(S.shuttle_port.is_in_shuttle_bounds(M))
M.playsound_local(S.shuttle_port, 'sound/effects/bamf.ogg', 100)
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index b6fe4370d9c5..35adab3cd4a3 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -1517,9 +1517,9 @@
var/turf/open/floor/F = T
playsound(T, 'sound/effects/bubbles.ogg', 50)
F.PlaceOnTop(/turf/open/floor/grass, flags = CHANGETURF_INHERIT_AIR)
- new /obj/effect/spawner/lootdrop/flower(T)
+ new /obj/effect/spawner/random/flower(T)
if(prob(75))
- new /obj/effect/spawner/lootdrop/flora(T)
+ new /obj/effect/spawner/random/flora(T)
..()
/datum/reagent/genesis/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user)
diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm
index c33b2c4558d3..2cc0134cf8f6 100644
--- a/code/modules/research/designs/biogenerator_designs.dm
+++ b/code/modules/research/designs/biogenerator_designs.dm
@@ -199,7 +199,7 @@
id = "rngplant"
build_type = BIOGENERATOR
materials = list(/datum/material/biomass= 2000)
- build_path = /obj/effect/spawner/lootdrop/seeded
+ build_path = /obj/effect/spawner/random/food_or_drink/seed
category = list("initial","LIFESEED_2.0")
/datum/design/genesis
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index 64e5a0921b2b..62cd6f6bf8ef 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -200,7 +200,7 @@
use_power(750)
if(dotype != FAIL)
var/list/nodes = techweb_item_boost_check(process)
- var/picked = pickweight(nodes) //This should work.
+ var/picked = pick_weight(nodes) //This should work.
if(linked_console)
linked_console.stored_research.boost_with_path(SSresearch.techweb_node_by_id(picked), process.type)
updateUsrDialog()
@@ -292,7 +292,7 @@
else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
var/savedName = "[exp_on]"
ejectItem(TRUE)
- var/newPath = text2path(pickweight(valid_items))
+ var/newPath = text2path(pick_weight(valid_items))
loaded_item = new newPath(src)
visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!")
investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR)
diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index 1a5ad3d0d35f..5b6e6239f6a7 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -5,9 +5,9 @@
//NORTH default dir
/obj/docking_port
- invisibility = INVISIBILITY_ABSTRACT
- icon = 'icons/obj/device.dmi'
- icon_state = "pinonfar"
+ invisibility = INVISIBILITY_OBSERVER
+ icon = 'icons/effects/mapping/docking_ports.dmi'
+ icon_state = "static"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | LANDING_PROOF | HYPERSPACE_PROOF
anchored = TRUE
@@ -272,7 +272,7 @@
/obj/docking_port/mobile
name = "shuttle"
- icon_state = "pinonclose"
+ icon_state = "mobile"
var/area_type = SHUTTLE_DEFAULT_SHUTTLE_AREA_TYPE
diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm
index a3fa70ce6209..8592b02f2dae 100644
--- a/code/modules/vending/cola.dm
+++ b/code/modules/vending/cola.dm
@@ -31,17 +31,6 @@
machine_name = "RobustMore Softdrinks"
icon_state = "refill_cola"
-/obj/machinery/vending/cola/random
- name = "\improper Random Drinkies"
- icon_state = "random_cola"
- desc = "Uh oh!"
-
-/obj/machinery/vending/cola/random/Initialize()
- ..()
- var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random)
- new T(loc)
- return INITIALIZE_HINT_QDEL
-
/obj/machinery/vending/cola/blue
icon_state = "Cola_Machine"
light_mask = "cola-light-mask"
diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm
index cb9b6b1b9d95..7d5e13a5e5c0 100644
--- a/code/modules/vending/snack.dm
+++ b/code/modules/vending/snack.dm
@@ -26,17 +26,6 @@
/obj/item/vending_refill/snack
machine_name = "RobustMore DrinkFoods LLC"
-/obj/machinery/vending/snack/random
- name = "\improper Random Snackies"
- icon_state = "random_snack"
- desc = "Uh oh!"
-
-/obj/machinery/vending/snack/random/Initialize()
- ..()
- var/T = pick(subtypesof(/obj/machinery/vending/snack) - /obj/machinery/vending/snack/random)
- new T(loc)
- return INITIALIZE_HINT_QDEL
-
/obj/machinery/vending/snack/blue
icon_state = "snackblue"
diff --git a/config/game_options.txt b/config/game_options.txt
index 135123b845ad..005649a1480c 100644
--- a/config/game_options.txt
+++ b/config/game_options.txt
@@ -593,3 +593,8 @@ BLUESPACE_JUMP_WAIT 12000
## If admins are allowed to use the authentication server as a regular server for testing
AUTH_ADMIN_TESTING
+
+# A config that skews with the random spawners weights
+# If the value is lower than 1, it'll tend to even out the odds
+# If higher than 1, it'll lean toward common spawns even more.
+RANDOM_LOOT_WEIGHT_MODIFIER 1
diff --git a/html/changelogs/archive/2019-03.yml b/html/changelogs/archive/2019-03.yml
index b5fd83b8ae4c..af4cd2063ffc 100644
--- a/html/changelogs/archive/2019-03.yml
+++ b/html/changelogs/archive/2019-03.yml
@@ -430,7 +430,7 @@
- bugfix: Rolling a 17 on the d20 of fate no longer gives you an empty box.
Basilman:
- bugfix: fixed runtime from selectin missing bodypart due to ran_zone
- - code_imp: changed how ran_zone selects a zone from a switch to pickweight
+ - code_imp: changed how ran_zone selects a zone from a switch to pick_weight
Kierany9:
- bugfix: Added a 15 second grace period after death to prevent people from avoiding
a hivemind host's Reclaim by succumbing.
diff --git a/icons/effects/landmarks_static.dmi b/icons/effects/landmarks_static.dmi
deleted file mode 100644
index 05301f14a831..000000000000
Binary files a/icons/effects/landmarks_static.dmi and /dev/null differ
diff --git a/icons/effects/mapping/docking_ports.dmi b/icons/effects/mapping/docking_ports.dmi
new file mode 100644
index 000000000000..96909d7bd0f3
Binary files /dev/null and b/icons/effects/mapping/docking_ports.dmi differ
diff --git a/icons/effects/mapping/landmarks_static.dmi b/icons/effects/mapping/landmarks_static.dmi
new file mode 100644
index 000000000000..3e51e3f9a6e5
Binary files /dev/null and b/icons/effects/mapping/landmarks_static.dmi differ
diff --git a/icons/effects/mapping/mapping_helpers.dmi b/icons/effects/mapping/mapping_helpers.dmi
new file mode 100644
index 000000000000..430ac86c6db5
Binary files /dev/null and b/icons/effects/mapping/mapping_helpers.dmi differ
diff --git a/icons/effects/mapping/random_spawners.dmi b/icons/effects/mapping/random_spawners.dmi
new file mode 100644
index 000000000000..d6e06fb140d0
Binary files /dev/null and b/icons/effects/mapping/random_spawners.dmi differ
diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi
deleted file mode 100644
index 50e88be487b0..000000000000
Binary files a/icons/effects/mapping_helpers.dmi and /dev/null differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index ba27bd4c8166..ad875e652365 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi
index ae86489bb340..45e0a73c898a 100644
Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ
diff --git a/shiptest.dme b/shiptest.dme
index 6198fe0b1146..111baf30254e 100644
--- a/shiptest.dme
+++ b/shiptest.dme
@@ -1133,12 +1133,28 @@
#include "code\game\objects\effects\spawners\bombspawner.dm"
#include "code\game\objects\effects\spawners\bundle.dm"
#include "code\game\objects\effects\spawners\gibspawner.dm"
-#include "code\game\objects\effects\spawners\lootdrop.dm"
#include "code\game\objects\effects\spawners\mobspawner.dm"
+#include "code\game\objects\effects\spawners\spawner.dm"
#include "code\game\objects\effects\spawners\structure.dm"
-#include "code\game\objects\effects\spawners\traps.dm"
-#include "code\game\objects\effects\spawners\vaultspawner.dm"
-#include "code\game\objects\effects\spawners\xeno_egg_delivery.dm"
+#include "code\game\objects\effects\spawners\random.dm\ai_module.dm"
+#include "code\game\objects\effects\spawners\random.dm\anomaly.dm"
+#include "code\game\objects\effects\spawners\random.dm\bedsheet.dm"
+#include "code\game\objects\effects\spawners\random.dm\boards.dm"
+#include "code\game\objects\effects\spawners\random.dm\bureaucracy.dm"
+#include "code\game\objects\effects\spawners\random.dm\clothing.dm"
+#include "code\game\objects\effects\spawners\random.dm\decoration.dm"
+#include "code\game\objects\effects\spawners\random.dm\engineering.dm"
+#include "code\game\objects\effects\spawners\random.dm\entertainment.dm"
+#include "code\game\objects\effects\spawners\random.dm\exotic.dm"
+#include "code\game\objects\effects\spawners\random.dm\food_or_drink.dm"
+#include "code\game\objects\effects\spawners\random.dm\maintenance.dm"
+#include "code\game\objects\effects\spawners\random.dm\medical.dm"
+#include "code\game\objects\effects\spawners\random.dm\random.dm"
+#include "code\game\objects\effects\spawners\random.dm\salvaging.dm"
+#include "code\game\objects\effects\spawners\random.dm\structure.dm"
+#include "code\game\objects\effects\spawners\random.dm\trash.dm"
+#include "code\game\objects\effects\spawners\random.dm\vending.dm"
+#include "code\game\objects\effects\spawners\random.dm\waste_planet.dm"
#include "code\game\objects\effects\temporary_visuals\cult.dm"
#include "code\game\objects\effects\temporary_visuals\miscellaneous.dm"
#include "code\game\objects\effects\temporary_visuals\temporary_visual.dm"
diff --git a/tools/UpdatePaths/Scripts/17256_NEWFOOD_cakebreadnoodle.txt b/tools/UpdatePaths/Scripts/17256_NEWFOOD_cakebreadnoodle.txt
deleted file mode 100644
index b8cec913eef2..000000000000
--- a/tools/UpdatePaths/Scripts/17256_NEWFOOD_cakebreadnoodle.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-/obj/item/food/bread : /obj/item/food/bread/plain{@OLD}
-/obj/item/food/bread/@SUBTYPES : /obj/item/food/bread/@SUBTYPES{@OLD}
-/obj/item/food/breadslice : /obj/item/food/breadslice/plain{@OLD}
-/obj/item/food/breadslice/@SUBTYPES : /obj/item/food/breadslice/@SUBTYPES{@OLD}
-/obj/item/food/cake : /obj/item/food/cake/plain{@OLD}
-/obj/item/food/cake/@SUBTYPES : /obj/item/food/cake/@SUBTYPES{@OLD}
-/obj/item/food/cakeslice : /obj/item/food/cakeslice/plain{@OLD}
-/obj/item/food/cakeslice/@SUBTYPES : /obj/item/food/cakeslice/@SUBTYPES{@OLD}
-
-/obj/item/reagent_containers/food/snacks/cherrycupcake/blue : /obj/item/reagent_containers/food/snacks/cherrycupcake/blue{@OLD}
-
-/obj/item/food/spaghetti : /obj/item/food/spaghetti/raw{@OLD}
-/obj/item/food/spaghetti/@SUBTYPES : /obj/item/food/spaghetti/@SUBTYPES{@OLD}
-
-/obj/item/food/garlicbread : /obj/item/food/garlicbread{@OLD}
-/obj/item/food/butterbiscuit : /obj/item/food/butterbiscuit{@OLD}
-/obj/item/food/butterdog : /obj/item/food/butterdog{@OLD}
-
-/obj/item/food/baguette : /obj/item/food/baguette{@OLD}
-/obj/item/food/baguette/@SUBTYPES : /obj/item/food/baguette/@SUBTYPES{@OLD}
-
-/obj/item/food/deepfryholder : /obj/item/food/deepfryholder{@OLD}
diff --git a/tools/UpdatePaths/Scripts/60522_replace_spawners.txt b/tools/UpdatePaths/Scripts/3526_replace_spawners.txt
similarity index 62%
rename from tools/UpdatePaths/Scripts/60522_replace_spawners.txt
rename to tools/UpdatePaths/Scripts/3526_replace_spawners.txt
index 9c7a34bd396c..831d337edeb6 100644
--- a/tools/UpdatePaths/Scripts/60522_replace_spawners.txt
+++ b/tools/UpdatePaths/Scripts/3526_replace_spawners.txt
@@ -1,83 +1,67 @@
#comment This replaces the effect/spawner paths to the new refactored paths https://github.com/tgstation/tgstation/pull/60522
+
/obj/effect/loot_site_spawner : /obj/effect/spawner/random/structure/crate
-/obj/effect/spawner/lootdrop/costume : /obj/effect/spawner/random/clothing/costume
-/obj/effect/spawner/lootdrop/mafia_outfit : /obj/effect/spawner/random/clothing/mafia_outfit
-/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask : /obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask
-/obj/effect/spawner/lootdrop/minor/pirate_or_bandana : /obj/effect/spawner/random/clothing/pirate_or_bandana
-/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears : /obj/effect/spawner/random/clothing/kittyears_or_rabbitears
-/obj/effect/spawner/lootdrop/minor/bowler_or_that : /obj/effect/spawner/random/clothing/bowler_or_that
-/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears : /obj/effect/spawner/random/clothing/beret_or_rabbitears
-/obj/effect/spawner/bundle/hobo_squat : /obj/effect/spawner/random/trash/hobo_squat
-/obj/effect/spawner/bundle/moisture_trap : /obj/effect/spawner/random/trash/moisture_trap
-/obj/effect/spawner/lootdrop/maint_drugs : /obj/effect/spawner/random/entertainment/drugs
-/obj/effect/spawner/lootdrop/grille_or_trash : /obj/effect/spawner/random/trash/grille_or_waste
-/obj/effect/spawner/lootdrop/botanical_waste : /obj/effect/spawner/random/trash/botanical_waste
-/obj/effect/spawner/lootdrop/food_packaging : /obj/effect/spawner/random/trash/food_packaging
-/obj/effect/spawner/lootdrop/cigbutt : /obj/effect/spawner/random/trash/cigbutt
-/obj/effect/spawner/lootdrop/garbage_spawner : /obj/effect/spawner/random/trash/garbage
-/obj/effect/spawner/lootdrop/gambling : /obj/effect/spawner/random/entertainment/gambling
-/obj/effect/spawner/lootdrop/wallet_loot : /obj/effect/spawner/random/entertainment/wallet_storage
-/obj/effect/spawner/lootdrop/organ_spawner : /obj/effect/spawner/random/medical/organs
-/obj/effect/spawner/lootdrop/memeorgans : /obj/effect/spawner/random/medical/memeorgans
-/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner : /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner
-/obj/effect/spawner/lootdrop/three_course_meal : /obj/effect/spawner/random/food_or_drink/three_course_meal
-/obj/effect/spawner/lootdrop/refreshing_beverage : /obj/effect/spawner/random/food_or_drink/refreshing_beverage
-/obj/effect/spawner/lootdrop/donkpockets : /obj/effect/spawner/random/food_or_drink/donkpockets
-/obj/effect/spawner/lootdrop/space/rareseed : /obj/effect/spawner/random/food_or_drink/seed_rare
-/obj/effect/spawner/lootdrop/space/cashmoney : /obj/effect/spawner/random/entertainment/money_large
-/obj/effect/spawner/lootdrop/space/fancytool/raremedicalonly : /obj/effect/spawner/random/medical/surgery_tool_alien
-/obj/effect/spawner/lootdrop/space/fancytool/advmedicalonly : /obj/effect/spawner/random/medical/surgery_tool_advanced
-/obj/effect/spawner/lootdrop/space/fancytool/engineonly : /obj/effect/spawner/random/engineering/tool_advanced
-/obj/effect/spawner/lootdrop/space/material : /obj/effect/spawner/random/engineering/material_rare
-/obj/effect/spawner/lootdrop/decorative_material : /obj/effect/spawner/random/decoration/material
-/obj/effect/spawner/lootdrop/maintenance_carpet : /obj/effect/spawner/random/decoration/carpet
-/obj/effect/spawner/lootdrop/decorations_spawner : /obj/effect/spawner/random/decoration/generic
+/obj/effect/spawner/lootdrop/aimodule_harmful : /obj/effect/spawner/random/aimodule/harmful
/obj/effect/spawner/lootdrop/aimodule_harmless : /obj/effect/spawner/random/aimodule/harmless
/obj/effect/spawner/lootdrop/aimodule_neutral : /obj/effect/spawner/random/aimodule/neutral
-/obj/effect/spawner/lootdrop/aimodule_harmful : /obj/effect/spawner/random/aimodule/harmful
-/obj/effect/spawner/lootdrop/techstorage/service : /obj/effect/spawner/random/techstorage/service_all
-/obj/effect/spawner/lootdrop/techstorage/rnd : /obj/effect/spawner/random/techstorage/rnd_all
-/obj/effect/spawner/lootdrop/techstorage/security : /obj/effect/spawner/random/techstorage/security_all
-/obj/effect/spawner/lootdrop/techstorage/engineering : /obj/effect/spawner/random/techstorage/engineering_all
-/obj/effect/spawner/lootdrop/techstorage/tcomms : /obj/effect/spawner/random/techstorage/tcomms_all
-/obj/effect/spawner/lootdrop/techstorage/medical : /obj/effect/spawner/random/techstorage/medical_all
-/obj/effect/spawner/lootdrop/techstorage/ai : /obj/effect/spawner/random/techstorage/ai_all
-/obj/effect/spawner/lootdrop/techstorage/command : /obj/effect/spawner/random/techstorage/command_all
-/obj/effect/spawner/lootdrop/techstorage/rnd_secure : /obj/effect/spawner/random/techstorage/rnd_secure_all
-/obj/effect/spawner/lootdrop/prison_contraband : /obj/effect/spawner/random/contraband/prison
-/obj/effect/spawner/lootdrop/armory_contraband : /obj/effect/spawner/random/contraband/armory
-/obj/effect/spawner/lootdrop/armory_contraband/metastation : /obj/effect/spawner/random/contraband/armory
-/obj/effect/spawner/lootdrop/armory_contraband/donutstation : /obj/effect/spawner/random/contraband/armory
-/obj/effect/spawner/lootdrop/gross_decal_spawner : /obj/effect/spawner/random/trash/mess
-/obj/effect/spawner/scatter/grime : /obj/effect/spawner/random/trash/grime
-/obj/effect/spawner/scatter/moisture : /obj/effect/spawner/random/trash/moisture
-/obj/effect/spawner/lootdrop/space/fancytech : /obj/effect/spawner/random/exotic/technology
-/obj/effect/spawner/lootdrop/space/languagebook : /obj/effect/spawner/random/exotic/languagebook
-/obj/effect/spawner/lootdrop/space/syndiecosmetic : /obj/effect/spawner/random/exotic/syndie
-/obj/effect/spawner/lootdrop/space/fancytool : /obj/effect/spawner/random/exotic/tool
-/obj/effect/spawner/randomarcade : /obj/effect/spawner/random/entertainment/arcade
-/obj/effect/spawner/randomsnackvend : /obj/effect/spawner/random/vending/snackvend
-/obj/effect/spawner/randomcolavend : /obj/effect/spawner/random/vending/colavend
/obj/effect/spawner/lootdrop/arcade_boards : /obj/effect/spawner/random/techstorage/arcade_boards
+/obj/effect/spawner/lootdrop/armory_contraband : /obj/effect/spawner/random/exotic/armory
+/obj/effect/spawner/lootdrop/armory_contraband/donutstation : /obj/effect/spawner/random/exotic/armory
+/obj/effect/spawner/lootdrop/armory_contraband/metastation : /obj/effect/spawner/random/exotic/armory
+/obj/effect/spawner/lootdrop/botanical_waste : /obj/effect/spawner/random/trash/decal/botanical_waste
+/obj/effect/spawner/lootdrop/cigbutt : /obj/effect/spawner/random/trash/decal/cigbutt
+/obj/effect/spawner/lootdrop/costume : /obj/effect/spawner/random/clothing/costume
/obj/effect/spawner/lootdrop/crate_spawner : /obj/effect/spawner/random/structure/crate_abandoned
-/obj/effect/spawner/lootdrop/maintenance : /obj/effect/spawner/random/maintenance
-/obj/effect/spawner/lootdrop/maintenance/two : /obj/effect/spawner/random/maintenance/two
-/obj/effect/spawner/lootdrop/maintenance/three : /obj/effect/spawner/random/maintenance/three
-/obj/effect/spawner/lootdrop/maintenance/four : /obj/effect/spawner/random/maintenance/four
-/obj/effect/spawner/lootdrop/maintenance/five : /obj/effect/spawner/random/maintenance/five
-/obj/effect/spawner/lootdrop/maintenance/six : /obj/effect/spawner/random/maintenance/six
-/obj/effect/spawner/lootdrop/maintenance/seven : /obj/effect/spawner/random/maintenance/seven
-/obj/effect/spawner/lootdrop/maintenance/eight : /obj/effect/spawner/random/maintenance/eight
+/obj/effect/spawner/lootdrop/decorations_spawner : /obj/effect/spawner/random/decoration/generic
+/obj/effect/spawner/lootdrop/decorative_material : /obj/effect/spawner/random/decoration/material
+/obj/effect/spawner/lootdrop/donkpockets : /obj/effect/spawner/random/food_or_drink/donkpockets
+/obj/effect/spawner/lootdrop/donut : /obj/effect/spawner/random/food_or_drink/donut
+/obj/effect/spawner/lootdrop/food_packaging : /obj/effect/spawner/random/trash/decal/food_packaging
+/obj/effect/spawner/lootdrop/gambling : /obj/effect/spawner/random/entertainment/gambling
+/obj/effect/spawner/lootdrop/garbage_spawner : /obj/effect/spawner/random/trash/decal/garbage
+/obj/effect/spawner/lootdrop/garden/seaweed : /obj/effect/spawner/random/food_or_drink/garden/seaweed
/obj/effect/spawner/lootdrop/gloves : /obj/effect/spawner/random/clothing/gloves
/obj/effect/spawner/lootdrop/glowstick : /obj/effect/spawner/random/decoration/glowstick
+/obj/effect/spawner/lootdrop/grille_or_trash : /obj/effect/spawner/random/trash/grille_or_waste
+/obj/effect/spawner/lootdrop/gross_decal_spawner : /obj/effect/spawner/random/trash/decal/mess
/obj/effect/spawner/lootdrop/lizardboots : /obj/effect/spawner/random/clothing/lizardboots
-/obj/effect/spawner/lootdrop/pizzaparty : /obj/effect/spawner/random/food_or_drink/pizzaparty
-/obj/effect/spawner/lootdrop/snowdin/dungeonlite : /obj/effect/spawner/random/exotic/antag_gear_weak
-/obj/effect/spawner/lootdrop/snowdin/dungeonmid : /obj/effect/spawner/random/exotic/antag_gear
-/obj/effect/spawner/lootdrop/snowdin/dungeonheavy : /obj/effect/spawner/random/exotic/antag_gear_strong
-/obj/effect/spawner/lootdrop/snowdin/dungeonmisc : /obj/effect/spawner/random/exotic/snow_gear
-/obj/effect/spawner/lootdrop/seed_vault : /obj/effect/spawner/random/food_or_drink/seed_vault
+/obj/effect/spawner/lootdrop/mafia_outfit : /obj/effect/spawner/random/clothing/mafia_outfit
+/obj/effect/spawner/lootdrop/maint_drugs : /obj/effect/spawner/random/entertainment/drugs
+/obj/effect/spawner/lootdrop/maintenance : /obj/effect/spawner/random/maintenance
+/obj/effect/spawner/lootdrop/maintenance_carpet : /obj/effect/spawner/random/decoration/carpet
+/obj/effect/spawner/lootdrop/maintenance/eight : /obj/effect/spawner/random/maintenance/eight
+/obj/effect/spawner/lootdrop/maintenance/five : /obj/effect/spawner/random/maintenance/five
+/obj/effect/spawner/lootdrop/maintenance/four : /obj/effect/spawner/random/maintenance/four
+/obj/effect/spawner/lootdrop/maintenance/seven : /obj/effect/spawner/random/maintenance/seven
+/obj/effect/spawner/lootdrop/maintenance/six : /obj/effect/spawner/random/maintenance/six
+/obj/effect/spawner/lootdrop/maintenance/three : /obj/effect/spawner/random/maintenance/three
+/obj/effect/spawner/lootdrop/maintenance/two : /obj/effect/spawner/random/maintenance/two
+/obj/effect/spawner/lootdrop/memeorgans : /obj/effect/spawner/random/medical/memeorgans
+/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears : /obj/effect/spawner/random/clothing/beret_or_rabbitears
+/obj/effect/spawner/lootdrop/minor/bowler_or_that : /obj/effect/spawner/random/clothing/bowler_or_that
+/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears : /obj/effect/spawner/random/clothing/kittyears_or_rabbitears
+/obj/effect/spawner/lootdrop/minor/pirate_or_bandana : /obj/effect/spawner/random/clothing/pirate_or_bandana
+/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask : /obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask
+/obj/effect/spawner/lootdrop/organ_spawner : /obj/effect/spawner/random/medical/organs
+/obj/effect/spawner/lootdrop/prison_contraband : /obj/effect/spawner/random/exotic/prison_contraband
+/obj/effect/spawner/lootdrop/ration : /obj/effect/spawner/random/food_or_drink/ration
+/obj/effect/spawner/lootdrop/techstorage/ai : /obj/effect/spawner/random/techstorage/ai_all
+/obj/effect/spawner/lootdrop/techstorage/command : /obj/effect/spawner/random/techstorage/command
+/obj/effect/spawner/lootdrop/techstorage/engineering : /obj/effect/spawner/random/techstorage/engineering
+/obj/effect/spawner/lootdrop/techstorage/medical : /obj/effect/spawner/random/techstorage/medical
+/obj/effect/spawner/lootdrop/techstorage/rnd : /obj/effect/spawner/random/techstorage/rnd
+/obj/effect/spawner/lootdrop/techstorage/rnd_secure : /obj/effect/spawner/random/techstorage/rnd_secure
+/obj/effect/spawner/lootdrop/techstorage/security : /obj/effect/spawner/random/techstorage/security
+/obj/effect/spawner/lootdrop/techstorage/service : /obj/effect/spawner/random/techstorage/service
+/obj/effect/spawner/lootdrop/techstorage/tcomms : /obj/effect/spawner/random/techstorage/tcomms
+/obj/effect/spawner/lootdrop/three_course_meal : /obj/effect/spawner/random/food_or_drink/three_course_meal
+/obj/effect/spawner/lootdrop/wallet_loot : /obj/effect/spawner/random/entertainment/wallet_storage
+/obj/effect/spawner/lootdrop/waste/trash : /obj/effect/spawner/random/trash/decal
/obj/effect/spawner/lootdrop/whiteship_cere_ripley : /obj/effect/spawner/random/exotic/ripley
-
-
+/obj/effect/spawner/randomarcade : /obj/effect/spawner/random/entertainment/arcade
+/obj/machinery/vending/cola/random : /obj/effect/spawner/random/vending/cola
+/obj/machinery/vending/snack/random : /obj/effect/spawner/random/vending/snack
+/obj/item/bedsheet/dorms : /obj/effect/spawner/random/bedsheet
+/obj/item/bedsheet/dorms/double : /obj/effect/spawner/random/bedsheet/double
+/obj/item/bedsheet/random : /obj/effect/spawner/random/bedsheet
diff --git a/tools/UpdatePaths/Scripts/55614_replacemonkeys.txt b/tools/UpdatePaths/Scripts/55614_replacemonkeys.txt
deleted file mode 100644
index 5057faffbb33..000000000000
--- a/tools/UpdatePaths/Scripts/55614_replacemonkeys.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-#comment This replaces the monkeys pre-species refactor to the monkeys post-species refactor https://github.com/tgstation/tgstation/pull/55614
-
-/mob/living/carbon/monkey : /mob/living/carbon/human/species/monkey
-/mob/living/carbon/monkey/angry : /mob/living/carbon/human/species/monkey/angry
-/mob/living/carbon/monkey/punpun : /mob/living/carbon/human/species/monkey/punpun
diff --git a/tools/UpdatePaths/Scripts/55658_apc_pixel_offsets.txt b/tools/UpdatePaths/Scripts/55658_apc_pixel_offsets.txt
deleted file mode 100644
index 30b5ba2d5d92..000000000000
--- a/tools/UpdatePaths/Scripts/55658_apc_pixel_offsets.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-/obj/machinery/power/apc/@SUBTYPES{dir = 1} : @OLD{@OLD; pixel_y = 23}
-/obj/machinery/power/apc/@SUBTYPES{dir = 2} : @OLD{@OLD; pixel_y = -23}
-/obj/machinery/power/apc/@SUBTYPES{dir = 4} : @OLD{@OLD; pixel_x = 24}
-/obj/machinery/power/apc/@SUBTYPES{dir = 8} : @OLD{@OLD; pixel_x = -25}
diff --git a/tools/UpdatePaths/Scripts/55658_cornersfix.txt b/tools/UpdatePaths/Scripts/55658_cornersfix.txt
deleted file mode 100644
index d9ff8a20232b..000000000000
--- a/tools/UpdatePaths/Scripts/55658_cornersfix.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-/obj/effect/turf_decal/stripes/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
-/obj/effect/turf_decal/stripes/corner {dir=2} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=@SKIP}
-/obj/effect/turf_decal/stripes/corner {dir=4} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=1}
-/obj/effect/turf_decal/stripes/corner {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=4}
-/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD}
-/obj/effect/turf_decal/stripes/red/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
-/obj/effect/turf_decal/stripes/red/corner {dir=2} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=@SKIP}
-/obj/effect/turf_decal/stripes/red/corner {dir=4} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=1}
-/obj/effect/turf_decal/stripes/red/corner {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=4}
-/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD}
-/obj/effect/turf_decal/stripes/white/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
-/obj/effect/turf_decal/stripes/white/corner {dir=2} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=@SKIP}
-/obj/effect/turf_decal/stripes/white/corner {dir=4} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=1}
-/obj/effect/turf_decal/stripes/white/corner {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=4}
-/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD}
-/obj/effect/turf_decal/box/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
-/obj/effect/turf_decal/box/corners {dir=2} : /obj/effect/turf_decal/box/corners {@OLD;dir=@SKIP}
-/obj/effect/turf_decal/box/corners {dir=4} : /obj/effect/turf_decal/box/corners {@OLD;dir=1}
-/obj/effect/turf_decal/box/corners {dir=8} : /obj/effect/turf_decal/box/corners {@OLD;dir=4}
-/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/corners {@OLD}
-/obj/effect/turf_decal/box/red/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
-/obj/effect/turf_decal/box/red/corners {dir=2} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=@SKIP}
-/obj/effect/turf_decal/box/red/corners {dir=4} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=1}
-/obj/effect/turf_decal/box/red/corners {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=4}
-/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD}
-/obj/effect/turf_decal/box/white/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
-/obj/effect/turf_decal/box/white/corners {dir=2} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=@SKIP}
-/obj/effect/turf_decal/box/white/corners {dir=4} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=1}
-/obj/effect/turf_decal/box/white/corners {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=4}
-/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD}
\ No newline at end of file
diff --git a/tools/UpdatePaths/Scripts/56644_turfs2decals.txt b/tools/UpdatePaths/Scripts/56644_turfs2decals.txt
deleted file mode 100644
index fa330ce089eb..000000000000
--- a/tools/UpdatePaths/Scripts/56644_turfs2decals.txt
+++ /dev/null
@@ -1,467 +0,0 @@
-/turf/open/floor/circuit/killroom : /turf/open/floor/circuit/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/airless/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/iron/airless {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/airless/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/iron/airless {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival {dir=1} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=1}
-/turf/open/floor/plasteel/arrival {dir=@UNSET} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival {dir=2} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival {dir=4} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival {dir=5} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival {dir=6} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival {dir=8} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1}
-/turf/open/floor/plasteel/arrival {dir=9} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1}
-/turf/open/floor/plasteel/arrival {dir=10} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival/corner {dir=1} : /turf/open/floor/iron/white/corner {@OLD}
-/turf/open/floor/plasteel/arrival/corner {dir=@UNSET} : /turf/open/floor/iron/white/corner {@OLD}
-/turf/open/floor/plasteel/arrival/corner {dir=2} : /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival/corner {dir=4} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/arrival/corner {dir=8} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/iron
-/turf/open/floor/plasteel/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/barber : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/blueyellow/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/brownold/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/corner {@OLD;dir=1}
-/turf/open/floor/plasteel/caution {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution {dir=2} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/checker {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution {dir=6} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=1}
-/turf/open/floor/plasteel/caution {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=1}
-/turf/open/floor/plasteel/caution {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/checker {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution/corner {dir=1} : /turf/open/floor/iron/dark/corner {@OLD}
-/turf/open/floor/plasteel/caution/corner {dir=@UNSET} : /turf/open/floor/iron/dark/corner {@OLD}
-/turf/open/floor/plasteel/caution/corner {dir=2} : /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution/corner {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/caution/corner {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/cmo : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/dark/telecomms/mainframe : /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/dark/telecomms/server : /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/dark/telecomms/server/walkway : /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/side {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkbrown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkred/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape {dir=1} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=1}
-/turf/open/floor/iron/escape {dir=@UNSET} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape {dir=2} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape {dir=4} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape {dir=5} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape {dir=6} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape {dir=8} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1}
-/turf/open/floor/iron/escape {dir=9} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1}
-/turf/open/floor/iron/escape {dir=10} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape/corner {dir=1} : /turf/open/floor/iron/white/corner {@OLD}
-/turf/open/floor/iron/escape/corner {dir=@UNSET} : /turf/open/floor/iron/white/corner {@OLD}
-/turf/open/floor/iron/escape/corner {dir=2} : /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape/corner {dir=4} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/iron/escape/corner {dir=8} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/green/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/greenyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/hydrofloor : /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/neutral/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/orange/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/purple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/red/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/redside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redblue/blueside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/redyellow/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/airless : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/airless {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/snowdin : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/snowdin {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/telecomms : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/telecomms/mainframe : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/killroom : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/vault/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitegreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whitered/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/whiteyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plasteel/yellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP}
-/turf/open/floor/plating/airless/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating/airless {@OLD;dir=@SKIP}
-/turf/open/floor/plating/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating {@OLD;dir=@SKIP}
\ No newline at end of file
diff --git a/tools/UpdatePaths/Scripts/59820_replaceplasteelturf.txt b/tools/UpdatePaths/Scripts/59820_replaceplasteelturf.txt
deleted file mode 100644
index 1f3db958ca5f..000000000000
--- a/tools/UpdatePaths/Scripts/59820_replaceplasteelturf.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-/turf/open/floor/plasteel : /turf/open/floor/iron {@OLD}
-/turf/open/floor/plasteel/airless : /turf/open/floor/iron/airless {@OLD}
-/turf/open/floor/plasteel/airless/cafeteria : /turf/open/floor/iron/cafeteria/airless {@OLD}
-/turf/open/floor/plasteel/airless/dark : /turf/open/floor/iron/dark/airless {@OLD}
-/turf/open/floor/plasteel/airless/showroomfloor : /turf/open/floor/iron/showroomfloor/airless {@OLD}
-/turf/open/floor/plasteel/airless/solarpanel : /turf/open/floor/iron/solarpanel/airless {@OLD}
-/turf/open/floor/plasteel/airless/white : /turf/open/floor/iron/white/airless {@OLD}
-/turf/open/floor/plasteel/airless/white/corner : /turf/open/floor/iron/white/corner/airless {@OLD}
-/turf/open/floor/plasteel/airless/white/side : /turf/open/floor/iron/white/side/airless {@OLD}
-/turf/open/floor/plasteel/bluespace : /turf/open/floor/iron/bluespace {@OLD}
-/turf/open/floor/plasteel/cafeteria : /turf/open/floor/iron/cafeteria {@OLD}
-/turf/open/floor/plasteel/chapel : /turf/open/floor/iron/chapel {@OLD}
-/turf/open/floor/plasteel/checker : /turf/open/floor/iron/checker {@OLD}
-/turf/open/floor/plasteel/cult : /turf/open/floor/cult {@OLD}
-/turf/open/floor/plasteel/cult/airless : /turf/open/floor/cult/airless {@OLD}
-/turf/open/floor/plasteel/dark : /turf/open/floor/iron/dark {@OLD}
-/turf/open/floor/plasteel/dark/airless : /turf/open/floor/iron/dark/airless {@OLD}
-/turf/open/floor/plasteel/dark/corner : /turf/open/floor/iron/dark/corner {@OLD}
-/turf/open/floor/plasteel/dark/side : /turf/open/floor/iron/dark/side {@OLD}
-/turf/open/floor/plasteel/dark/snowdin : /turf/open/floor/iron/dark/snowdin {@OLD}
-/turf/open/floor/plasteel/dark/telecomms : /turf/open/floor/iron/dark/telecomms {@OLD}
-/turf/open/floor/plasteel/elevatorshaft : /turf/open/floor/plating/elevatorshaft {@OLD}
-/turf/open/floor/plasteel/freezer : /turf/open/floor/iron/freezer {@OLD}
-/turf/open/floor/plasteel/freezer/airless : /turf/open/floor/iron/freezer/airless {@OLD}
-/turf/open/floor/plasteel/goonplaque : /turf/open/floor/iron/goonplaque {@OLD}
-/turf/open/floor/plasteel/grimy : /turf/open/floor/iron/grimy {@OLD}
-/turf/open/floor/plasteel/icemoon : /turf/open/floor/iron/icemoon {@OLD}
-/turf/open/floor/plasteel/kitchen_coldroom : /turf/open/floor/iron/kitchen_coldroom {@OLD}
-/turf/open/floor/plasteel/kitchen_coldroom/freezerfloor : /turf/open/floor/iron/kitchen_coldroom/freezerfloor {@OLD}
-/turf/open/floor/plasteel/recharge_floor : /turf/open/floor/iron/recharge_floor {@OLD}
-/turf/open/floor/plasteel/recharge_floor/asteroid : /turf/open/floor/iron/recharge_floor/asteroid {@OLD}
-/turf/open/floor/plasteel/rockvault : /turf/open/floor/vault/rock {@OLD}
-/turf/open/floor/plasteel/rockvault/alien : /turf/open/floor/vault/alien {@OLD}
-/turf/open/floor/plasteel/rockvault/sandstone : /turf/open/floor/vault/sandstone {@OLD}
-/turf/open/floor/plasteel/sepia : /turf/open/floor/iron/sepia {@OLD}
-/turf/open/floor/plasteel/showroomfloor : /turf/open/floor/iron/showroomfloor {@OLD}
-/turf/open/floor/plasteel/solarpanel : /turf/open/floor/iron/solarpanel {@OLD}
-/turf/open/floor/plasteel/stairs : /turf/open/floor/iron/stairs {@OLD}
-/turf/open/floor/plasteel/stairs/left : /turf/open/floor/iron/stairs/left {@OLD}
-/turf/open/floor/plasteel/stairs/medium : /turf/open/floor/iron/stairs/medium {@OLD}
-/turf/open/floor/plasteel/stairs/old : /turf/open/floor/iron/stairs/old {@OLD}
-/turf/open/floor/plasteel/stairs/right : /turf/open/floor/iron/stairs/right {@OLD}
-/turf/open/floor/plasteel/telecomms : /turf/open/floor/iron/telecomms {@OLD}
-/turf/open/floor/plasteel/vaporwave : /turf/open/floor/iron/vaporwave {@OLD}
-/turf/open/floor/plasteel/white : /turf/open/floor/iron/white {@OLD}
-/turf/open/floor/plasteel/white/corner : /turf/open/floor/iron/white/corner {@OLD}
-/turf/open/floor/plasteel/white/side : /turf/open/floor/iron/white/side {@OLD}
-/turf/open/floor/plasteel/white/telecomms : /turf/open/floor/iron/white/telecomms {@OLD}
-/turf/open/floor/plasteel/yellowsiding : /turf/open/floor/iron/yellowsiding, /obj/effect/turf_decal/siding/yellow {@OLD}
-/turf/open/floor/plasteel/yellowsiding/corner : /turf/open/floor/iron/yellowsiding/corner, /obj/effect/turf_decal/siding/yellow/corner {@OLD}
diff --git a/tools/UpdatePaths/Scripts/60619_toxins_to_plasma.txt b/tools/UpdatePaths/Scripts/60619_toxins_to_plasma.txt
deleted file mode 100644
index bb1b4bb2935d..000000000000
--- a/tools/UpdatePaths/Scripts/60619_toxins_to_plasma.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-/obj/machinery/airlock_sensor/incinerator_toxmix : /obj/machinery/airlock_sensor/incinerator_ordmix
-/obj/machinery/button/door/incinerator_vent_toxmix : /obj/machinery/button/door/incinerator_vent_ordmix
-/obj/machinery/button/ignition/incinerator/toxmix : /obj/machinery/button/ignition/incinerator/ordmix
-/obj/machinery/camera/preset/toxins : /obj/machinery/camera/preset/ordnance
-/obj/machinery/air_sensor/atmos/toxins_mixing_tank : /obj/machinery/air_sensor/atmos/ordnance_mixing_tank
-/obj/machinery/computer/atmos_control/toxinsmix : /obj/machinery/computer/atmos_control/ordnancemix
-/obj/machinery/computer/security/telescreen/toxins : /obj/machinery/computer/security/telescreen/ordnance
-/obj/machinery/computer/pod/old/mass_driver_controller/toxinsdriver : /obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver
-/obj/machinery/computer/pod/old/mass_driver_controller/toxinsdriver/longrange : /obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver/longrange
-/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior : /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior
-/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior : /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior
-/obj/machinery/door/poddoor/incinerator_toxmix : /obj/machinery/door/poddoor/incinerator_ordmix
-/obj/machinery/door/poddoor/massdriver_toxins : /obj/machinery/door/poddoor/massdriver_ordnance
-/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix : /obj/machinery/embedded_controller/radio/airlock_controller/incinerator_ordmix
-/obj/machinery/igniter/incinerator_toxmix : /obj/machinery/igniter/incinerator_ordmix
-/obj/machinery/sparker/toxmix : /obj/machinery/sparker/ordmix
-/obj/machinery/mass_driver/toxins : /obj/machinery/mass_driver/ordnance
-/obj/item/circuitboard/computer/atmos_control/toxinsmix : /obj/item/circuitboard/computer/atmos_control/ordnancemix
-/obj/item/circuitboard/computer/atmos_control/tank/toxin_tank : /obj/item/circuitboard/computer/atmos_control/tank/plasma_tank
-/obj/machinery/computer/atmos_control/tank/toxin_tank : /obj/machinery/computer/atmos_control/tank/plasma_tank
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix : /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input : /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/ordnance_mixing_input
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output : /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/ordnance_mixing_output
-
-/obj/machinery/portable_atmospherics/canister/toxins : /obj/machinery/portable_atmospherics/canister/plasma
-/obj/machinery/air_sensor/atmos/toxin_tank : /obj/machinery/air_sensor/atmos/plasma_tank
-/obj/machinery/computer/atmos_control/tank/toxin_tank : /obj/machinery/computer/atmos_control/tank/plasma_tank
-/obj/machinery/atmospherics/components/tank/toxins : /obj/machinery/atmospherics/components/tank/plasma
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input : /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/plasma_input
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output : /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/plasma_output
-/obj/machinery/atmospherics/miner/toxins : /obj/machinery/atmospherics/miner/plasma
-
-/obj/item/storage/backpack/satchel/tox : /obj/item/storage/backpack/satchel/science
-/obj/item/cartridge/signal/toxins : /obj/item/cartridge/signal/ordnance
-/obj/item/pda/toxins : /obj/item/pda/science
-/obj/item/book/manual/wiki/toxins : /obj/item/book/manual/wiki/ordnance
-/obj/item/storage/backpack/duffelbag/toxins : /obj/item/storage/backpack/duffelbag/science
-/obj/item/paper/fluff/jobs/toxins/chemical_info : /obj/item/paper/fluff/jobs/ordnance/chemical_info
diff --git a/tools/UpdatePaths/Scripts/61694_reinforcedwindows.txt b/tools/UpdatePaths/Scripts/61694_reinforcedwindows.txt
deleted file mode 100644
index c084b6bf87b1..000000000000
--- a/tools/UpdatePaths/Scripts/61694_reinforcedwindows.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-#This replaces the window/shuttle and window/plasma/reinforced with the refactors from https://github.com/tgstation/tgstation/pull/61694#pullrequestreview-763648844
-
-/obj/structure/window/plasma/reinforced : /obj/structure/window/reinforced/plasma
-/obj/structure/window/plasma/reinforced/fulltile : /obj/structure/window/reinforced/plasma/fulltile
-/obj/structure/window/plasma/reinforced/unanchored : /obj/structure/window/reinforced/plasma/unanchored
-/obj/structure/window/plasma/reinforced/fulltile/unanchored : /obj/structure/window/reinforced/plasma/fulltile/unanchored
-/obj/structure/window/plasma/reinforced/plastitanium : /obj/structure/window/reinforced/plasma/plastitanium
-/obj/structure/window/plasma/reinforced/plastitanium/unanchored : /obj/structure/window/reinforced/plasma/plastitanium/unanchored
-
-/obj/structure/window/shuttle : /obj/structure/window/reinforced/shuttle
-/obj/structure/window/shuttle/unanchored : /obj/structure/window/reinforced/shuttle/unanchored
-/obj/structure/window/shuttle/tinted : /obj/structure/window/reinforced/shuttle/tinted
-/obj/structure/window/shuttle/survival_pod : /obj/structure/window/reinforced/shuttle/survival_pod
-
-/obj/structure/window/shuttle/survival_pod/spawner/east : /obj/structure/window/reinforced/shuttle/survival_pod/spawner/east
-/obj/structure/window/shuttle/survival_pod/spawner/west : /obj/structure/window/reinforced/shuttle/survival_pod/spawner/west
-/obj/structure/window/shuttle/survival_pod/spawner/north : /obj/structure/window/reinforced/shuttle/survival_pod/spawner/north
-
-/obj/structure/window/plasma/reinforced/spawner/north : /obj/structure/window/reinforced/plasma/spawner/north
-/obj/structure/window/plasma/reinforced/spawner/east : /obj/structure/window/reinforced/plasma/spawner/east
-/obj/structure/window/plasma/reinforced/spawner/west : /obj/structure/window/reinforced/plasma/spawner/west
-/obj/effect/spawner/structure/window/shuttle : /obj/effect/spawner/structure/window/reinforced/shuttle
-
-/obj/effect/spawner/structure/window/hollow/plasma/reinforced : /obj/effect/spawner/structure/window/hollow/reinforced/plasma
-/obj/effect/spawner/structure/window/hollow/plasma/reinforced/end : /obj/effect/spawner/structure/window/hollow/reinforced/plasma/end
-/obj/effect/spawner/structure/window/hollow/plasma/reinforced/middle : /obj/effect/spawner/structure/window/hollow/reinforced/plasma/middle
-/obj/effect/spawner/structure/window/hollow/plasma/reinforced/directional : /obj/effect/spawner/structure/window/hollow/reinforced/plasma/directional
-/obj/effect/spawner/structure/window/plasma/reinforced : /obj/effect/spawner/structure/window/reinforced/plasma/reinforced
-/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium : /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium
-
-
-/obj/structure/window/plasma/reinforced/spawner/east : /obj/structure/window/reinforced/plasma/spawner/east
-/obj/structure/window/plasma/reinforced/spawner/west : /obj/structure/window/reinforced/plasma/spawner/west
-/obj/structure/window/plasma/reinforced/spawner/north : /obj/structure/window/reinforced/plasma/spawner/north
-
diff --git a/tools/UpdatePaths/Scripts/62601_wallitems_f2w.txt b/tools/UpdatePaths/Scripts/62601_wallitems_f2w.txt
deleted file mode 100644
index 4caa3432dc8b..000000000000
--- a/tools/UpdatePaths/Scripts/62601_wallitems_f2w.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-/obj/machinery/camera {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD}
-/obj/machinery/camera {dir=1} : /obj/machinery/camera/directional/south {@OLD;dir=@SKIP}
-/obj/machinery/camera {dir=2} : /obj/machinery/camera/directional/north {@OLD;dir=@SKIP}
-/obj/machinery/camera {dir=4} : /obj/machinery/camera/directional/west {@OLD;dir=@SKIP}
-/obj/machinery/camera {dir=8} : /obj/machinery/camera/directional/east {@OLD;dir=@SKIP}
-/obj/machinery/camera/autoname {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD}
-/obj/machinery/camera/autoname {dir=1} : /obj/machinery/camera/autoname/directional/south {@OLD;dir=@SKIP}
-/obj/machinery/camera/autoname {dir=2} : /obj/machinery/camera/autoname/directional/north {@OLD;dir=@SKIP}
-/obj/machinery/camera/autoname {dir=4} : /obj/machinery/camera/autoname/directional/west {@OLD;dir=@SKIP}
-/obj/machinery/camera/autoname {dir=8} : /obj/machinery/camera/autoname/directional/east {@OLD;dir=@SKIP}
-/obj/machinery/camera/emp_proof {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD}
-/obj/machinery/camera/emp_proof {dir=1} : /obj/machinery/camera/emp_proof/directional/south {@OLD;dir=@SKIP}
-/obj/machinery/camera/emp_proof {dir=2} : /obj/machinery/camera/directional/emp_proof/north {@OLD;dir=@SKIP}
-/obj/machinery/camera/emp_proof {dir=4} : /obj/machinery/camera/directional/emp_proof/west {@OLD;dir=@SKIP}
-/obj/machinery/camera/emp_proof {dir=8} : /obj/machinery/camera/directional/emp_proof/east {@OLD;dir=@SKIP}
-/obj/machinery/camera/motion {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD}
-/obj/machinery/camera/motion {dir=1} : /obj/machinery/camera/motion/directional/south {@OLD;dir=@SKIP}
-/obj/machinery/camera/motion {dir=2} : /obj/machinery/camera/motion/directional/north {@OLD;dir=@SKIP}
-/obj/machinery/camera/motion {dir=4} : /obj/machinery/camera/motion/directional/west {@OLD;dir=@SKIP}
-/obj/machinery/camera/motion {dir=8} : /obj/machinery/camera/motion/directional/east {@OLD;dir=@SKIP}
-/obj/machinery/camera/xray {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD}
-/obj/machinery/camera/xray {dir=1} : /obj/machinery/camera/xray/directional/south {@OLD;dir=@SKIP}
-/obj/machinery/camera/xray {dir=2} : /obj/machinery/camera/xray/directional/north {@OLD;dir=@SKIP}
-/obj/machinery/camera/xray {dir=4} : /obj/machinery/camera/xray/directional/west {@OLD;dir=@SKIP}
-/obj/machinery/camera/xray {dir=8} : /obj/machinery/camera/xray/directional/east {@OLD;dir=@SKIP}
-/obj/machinery/airalarm {dir=@UNSET} : /obj/machinery/airalarm/directional/north {@OLD;dir=@SKIP}
-/obj/machinery/airalarm {dir=1} : /obj/machinery/airalarm/directional/south {@OLD;dir=@SKIP}
-/obj/machinery/airalarm {dir=2} : /obj/machinery/airalarm/directional/north {@OLD;dir=@SKIP}
-/obj/machinery/airalarm {dir=4} : /obj/machinery/airalarm/directional/west {@OLD;dir=@SKIP}
-/obj/machinery/airalarm {dir=8} : /obj/machinery/airalarm/directional/east {@OLD;dir=@SKIP}
-/obj/machinery/airalarm/syndicate {dir=@UNSET} : /obj/machinery/airalarm/syndicate {@OLD;dir=1}
-/obj/machinery/airalarm/syndicate {dir=1} : /obj/machinery/airalarm/syndicate {@OLD;dir=2}
-/obj/machinery/airalarm/syndicate {dir=2} : /obj/machinery/airalarm/syndicate {@OLD;dir=1}
-/obj/machinery/airalarm/syndicate {dir=4} : /obj/machinery/airalarm/syndicate {@OLD;dir=8}
-/obj/machinery/airalarm/syndicate {dir=8} : /obj/machinery/airalarm/syndicate {@OLD;dir=4}
-/obj/machinery/airalarm/all_access {dir=@UNSET} : /obj/machinery/airalarm/all_access {@OLD;dir=1}
-/obj/machinery/airalarm/all_access {dir=1} : /obj/machinery/airalarm/all_access {@OLD;dir=2}
-/obj/machinery/airalarm/all_access {dir=2} : /obj/machinery/airalarm/all_access {@OLD;dir=1}
-/obj/machinery/airalarm/all_access {dir=4} : /obj/machinery/airalarm/all_access {@OLD;dir=8}
-/obj/machinery/airalarm/all_access {dir=8} : /obj/machinery/airalarm/all_access {@OLD;dir=4}
-/obj/machinery/airalarm/away {dir=@UNSET} : /obj/machinery/airalarm/away {@OLD;dir=1}
-/obj/machinery/airalarm/away {dir=1} : /obj/machinery/airalarm/away {@OLD;dir=2}
-/obj/machinery/airalarm/away {dir=2} : /obj/machinery/airalarm/away {@OLD;dir=1}
-/obj/machinery/airalarm/away {dir=4} : /obj/machinery/airalarm/away {@OLD;dir=8}
-/obj/machinery/airalarm/away {dir=8} : /obj/machinery/airalarm/away {@OLD;dir=4}
-/obj/machinery/airalarm/engine {dir=@UNSET} : /obj/machinery/airalarm/engine {@OLD;dir=1}
-/obj/machinery/airalarm/engine {dir=1} : /obj/machinery/airalarm/engine {@OLD;dir=2}
-/obj/machinery/airalarm/engine {dir=2} : /obj/machinery/airalarm/engine {@OLD;dir=1}
-/obj/machinery/airalarm/engine {dir=4} : /obj/machinery/airalarm/engine {@OLD;dir=8}
-/obj/machinery/airalarm/engine {dir=8} : /obj/machinery/airalarm/engine {@OLD;dir=4}
-/obj/machinery/airalarm/unlocked {dir=@UNSET} : /obj/machinery/airalarm/unlocked {@OLD;dir=1}
-/obj/machinery/airalarm/unlocked {dir=1} : /obj/machinery/airalarm/unlocked {@OLD;dir=2}
-/obj/machinery/airalarm/unlocked {dir=2} : /obj/machinery/airalarm/unlocked {@OLD;dir=1}
-/obj/machinery/airalarm/unlocked {dir=4} : /obj/machinery/airalarm/unlocked {@OLD;dir=8}
-/obj/machinery/airalarm/unlocked {dir=8} : /obj/machinery/airalarm/unlocked {@OLD;dir=4}
-/obj/machinery/airalarm/server {dir=@UNSET} : /obj/machinery/airalarm/server {@OLD;dir=1}
-/obj/machinery/airalarm/server {dir=1} : /obj/machinery/airalarm/server {@OLD;dir=2}
-/obj/machinery/airalarm/server {dir=2} : /obj/machinery/airalarm/server {@OLD;dir=1}
-/obj/machinery/airalarm/server {dir=4} : /obj/machinery/airalarm/server {@OLD;dir=8}
-/obj/machinery/airalarm/server {dir=8} : /obj/machinery/airalarm/server {@OLD;dir=4}
-/obj/machinery/airalarm/mixingchamber {dir=@UNSET} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=1}
-/obj/machinery/airalarm/mixingchamber {dir=1} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=2}
-/obj/machinery/airalarm/mixingchamber {dir=2} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=1}
-/obj/machinery/airalarm/mixingchamber {dir=4} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=8}
-/obj/machinery/airalarm/mixingchamber {dir=8} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=4}
-/obj/machinery/airalarm/kitchen_cold_room {dir=@UNSET} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=1}
-/obj/machinery/airalarm/kitchen_cold_room {dir=1} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=2}
-/obj/machinery/airalarm/kitchen_cold_room {dir=2} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=1}
-/obj/machinery/airalarm/kitchen_cold_room {dir=4} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=8}
-/obj/machinery/airalarm/kitchen_cold_room {dir=8} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=4}
-/obj/structure/chair/stool {dir=1} : /obj/structure/chair/stool/directional/north {@OLD;dir=@SKIP}
-/obj/structure/chair/stool {dir=2} : /obj/structure/chair/stool/directional/south {@OLD;dir=@SKIP}
-/obj/structure/chair/stool {dir=4} : /obj/structure/chair/stool/directional/east {@OLD;dir=@SKIP}
-/obj/structure/chair/stool {dir=8} : /obj/structure/chair/stool/directional/west {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/directional/south : /obj/structure/chair/stool/directional/north {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/directional/north : /obj/structure/chair/stool/directional/south {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/directional/west : /obj/structure/chair/stool/directional/east {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/directional/east : /obj/structure/chair/stool/directional/west {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar {dir=1} : /obj/structure/chair/stool/bar/directional/north {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar {dir=2} : /obj/structure/chair/stool/bar/directional/south {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar {dir=4} : /obj/structure/chair/stool/bar/directional/east {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar {dir=8} : /obj/structure/chair/stool/bar/directional/west {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar/directional/south : /obj/structure/chair/stool/bar/directional/north {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar/directional/north : /obj/structure/chair/stool/bar/directional/south {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar/directional/west : /obj/structure/chair/stool/bar/directional/east {@OLD;dir=@SKIP}
-/obj/structure/chair/stool/bar/directional/east : /obj/structure/chair/stool/bar/directional/west {@OLD;dir=@SKIP}
-/obj/machinery/power/apc/auto_name/north : /obj/machinery/power/apc/auto_name/directional/north {@OLD;dir=@SKIP;pixel_y=@SKIP}
-/obj/machinery/power/apc/auto_name/south : /obj/machinery/power/apc/auto_name/directional/south {@OLD;dir=@SKIP;pixel_y=@SKIP}
-/obj/machinery/power/apc/auto_name/east : /obj/machinery/power/apc/auto_name/directional/east {@OLD;dir=@SKIP;pixel_x=@SKIP}
-/obj/machinery/power/apc/auto_name/west : /obj/machinery/power/apc/auto_name/directional/west {@OLD;dir=@SKIP;pixel_y=@SKIP}
-/obj/machinery/bluespace_vendor/north : /obj/machinery/bluespace_vendor/directional/north {@OLD}
-/obj/machinery/bluespace_vendor/south : /obj/machinery/bluespace_vendor/directional/south {@OLD}
-/obj/machinery/bluespace_vendor/east : /obj/machinery/bluespace_vendor/directional/east {@OLD}
-/obj/machinery/bluespace_vendor/west : /obj/machinery/bluespace_vendor/directional/west {@OLD}
diff --git a/tools/UpdatePaths/Scripts/62789_camera_diag_f2w.txt b/tools/UpdatePaths/Scripts/62789_camera_diag_f2w.txt
deleted file mode 100644
index f8a9a51e92b7..000000000000
--- a/tools/UpdatePaths/Scripts/62789_camera_diag_f2w.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-/obj/machinery/camera/@SUBTYPES {dir=5;conversion_done=@UNSET} : @OLD {@OLD;dir=10;conversion_done=1}
-/obj/machinery/camera/@SUBTYPES {dir=10;conversion_done=@UNSET} : @OLD {@OLD;dir=5;conversion_done=1}
-/obj/machinery/camera/@SUBTYPES {dir=6;conversion_done=@UNSET} : @OLD {@OLD;dir=9;conversion_done=1}
-/obj/machinery/camera/@SUBTYPES {dir=9;conversion_done=@UNSET} : @OLD {@OLD;dir=6;conversion_done=1}
-/obj/machinery/camera/@SUBTYPES {conversion_done=1} : @OLD {@OLD;conversion_done=@SKIP}
diff --git a/tools/UpdatePaths/Scripts/65236_clothingunderrepath.txt b/tools/UpdatePaths/Scripts/65236_clothingunderrepath.txt
deleted file mode 100644
index e82dfce3d241..000000000000
--- a/tools/UpdatePaths/Scripts/65236_clothingunderrepath.txt
+++ /dev/null
@@ -1,196 +0,0 @@
-/obj/item/clothing/under/rank/vice : /obj/item/clothing/under/misc/vice_officer
-/obj/item/clothing/under/durathread : /obj/item/cloning/under/misc/durathread
-/obj/item/clothing/under/burial : /obj/item/clothing/under/misc/burial
-/obj/item/clothing/under/overalls : /obj/item/clothing/under/misc/overalls
-/obj/item/clothing/under/assistantformal : /obj/item/clothing/under/misc/assistantformal
-/obj/item/clothing/under/pj/red : /obj/item/clothing/under/misc/pj
-/obj/item/clothing/under/pj/blue : /obj/item/clothing/under/misc/pj/blue
-/obj/item/clothing/under/patriotsuit : /obj/item/clothing/under/misc/patriotsuit
-/obj/item/clothing/under/rank/mailman : /obj/item/clothing/under/misc/mailman
-/obj/item/clothing/under/rank/psyche : /obj/item/clothing/under/misc/psyche
-/obj/item/clothing/under/acj : /obj/item/clothing/under/misc/adminsuit
-
-/obj/item/clothing/under/scratch : /obj/item/clothing/under/suit/white_on_white
-/obj/item/clothing/under/scratch/skirt : /obj/item/clothing/under/suit/white/skirt
-/obj/item/clothing/under/sl_suit : /obj/item/clothing/under/suit/sl
-/obj/item/clothing/under/waiter : /obj/item/clothing/under/suit/waiter
-/obj/item/clothing/under/suit_jacket : /obj/item/clothing/under/suit/black
-/obj/item/clothing/under/suit_jacket/female : /obj/item/clothing/under/suit/black/skirt
-/obj/item/clothing/under/suit_jacket/really_black : /obj/item/clothing/under/suit/black_really
-/obj/item/clothing/under/suit_jacket/green : /obj/item/clothing/under/suit/green
-/obj/item/clothing/under/suit_jacket/red : /obj/item/clothing/under/suit/red
-/obj/item/clothing/under/suit_jacket/charcoal : /obj/item/clothing/under/suit/charcoal
-/obj/item/clothing/under/suit_jacket/navy : /obj/item/clothing/under/suit/navy
-/obj/item/clothing/under/suit_jacket/burgundy : /obj/item/clothing/under/suit/burgundy
-/obj/item/clothing/under/suit_jacket/checkered : /obj/item/clothing/under/suit/checkered
-/obj/item/clothing/under/suit_jacket/tan : /obj/item/clothing/under/suit/tan
-/obj/item/clothing/under/suit_jacket/white : /obj/item/clothing/under/suit/white
-
-/obj/item/clothing/under/skirt/black : /obj/item/clothing/under/dress/skirt
-/obj/item/clothing/under/skirt/blue : /obj/item/clothing/under/dress/skirt/blue
-/obj/item/clothing/under/skirt/red : /obj/item/clothing/under/dress/skirt/red
-/obj/item/clothing/under/skirt/purple : /obj/item/clothing/under/dress/skirt/purple
-/obj/item/clothing/under/sundress : /obj/item/clothing/under/dress/sundress
-/obj/item/clothing/under/blacktango : /obj/item/clothing/under/dress/blacktango
-/obj/item/clothing/under/stripeddress : /obj/item/clothing/under/dress/striped
-/obj/item/clothing/under/sailordress : /obj/item/clothing/under/dress/sailor
-/obj/item/clothing/under/redeveninggown : /obj/item/clothing/under/dress/redeveninggown
-/obj/item/clothing/under/plaid_skirt : /obj/item/clothing/under/dress/skirt/plaid
-/obj/item/clothing/under/plaid_skirt/blue : /obj/item/clothing/under/dress/skirt/plaid/blue
-/obj/item/clothing/under/plaid_skirt/purple : /obj/item/clothing/under/dress/skirt/plaid/purple
-/obj/item/clothing/under/plaid_skirt/green : /obj/item/clothing/under/dress/skirt/plaid/green
-
-/obj/item/clothing/under/roman : /obj/item/clothing/under/costume/roman
-/obj/item/clothing/under/jabroni : /obj/item/clothing/under/costume/jabroni
-/obj/item/clothing/under/owl : /obj/item/clothing/under/costume/owl
-/obj/item/clothing/under/griffin : /obj/item/clothing/under/costume/griffin
-/obj/item/clothing/under/schoolgirl : /obj/item/clothing/under/costume/schoolgirl
-/obj/item/clothing/under/schoolgirl/red : /obj/item/clothing/under/costume/schoolgirl/red
-/obj/item/clothing/under/schoolgirl/green : /obj/item/clothing/under/costume/schoolgirl/green
-/obj/item/clothing/under/schoolgirl/orange : /obj/item/clothing/under/costume/schoolgirl/orange
-/obj/item/clothing/under/pirate : /obj/item/clothing/under/costume/pirate
-/obj/item/clothing/under/soviet : /obj/item/clothing/under/costume/soviet
-/obj/item/clothing/under/redcoat : /obj/item/clothing/under/costume/redcoat
-/obj/item/clothing/under/kilt : /obj/item/clothing/under/costume/kilt
-/obj/item/clothing/under/kilt/highlander : /obj/item/clothing/under/costume/kilt/highlander
-/obj/item/clothing/under/gladiator : /obj/item/clothing/under/costume/gladiator
-/obj/item/clothing/under/gladiator/ash_walker : /obj/item/clothing/under/costume/gladiator/ash_walker
-/obj/item/clothing/under/maid : /obj/item/clothing/under/costume/maid
-/obj/item/clothing/under/singery : /obj/item/clothing/under/costume/singer/yellow
-/obj/item/clothing/under/singerb : /obj/item/clothing/under/costume/singer/blue
-/obj/item/clothing/under/geisha : /obj/item/clothing/under/costume/geisha
-/obj/item/clothing/under/villain : /obj/item/clothing/under/costume/villain
-/obj/item/clothing/under/sailor : /obj/item/clothing/under/costume/sailor
-/obj/item/clothing/under/rank/security/navyblue/russian : /obj/item/clothing/under/costume/russian_officer
-/obj/item/clothing/under/mummy : /obj/item/clothing/under/costume/mummy
-/obj/item/clothing/under/scarecrow : /obj/item/clothing/under/costume/scarecrow
-/obj/item/clothing/under/draculass : /obj/item/clothing/under/costume/draculass
-/obj/item/clothing/under/drfreeze : /obj/item/clothing/under/costume/drfreeze
-/obj/item/clothing/under/lobster : /obj/item/clothing/under/costume/lobster
-/obj/item/clothing/under/skeleton : /obj/item/clothing/under/costume/skeleton
-/obj/item/clothing/under/mech_suit : /obj/item/clothing/under/costume/mech_suit
-/obj/item/clothing/under/mech_suit/white : /obj/item/clothing/under/costume/mech_suit/white
-/obj/item/clothing/under/mech_suit/blue : /obj/item/clothing/under/costume/mech_suit/blue
-/obj/item/clothing/under/gondola : /obj/item/clothing/under/costume/gondola
-
-/obj/item/clothing/under/rank/bartender : /obj/item/clothing/under/rank/civilian/bartender
-/obj/item/clothing/under/rank/bartender/purple : /obj/item/clothing/under/rank/civilian/bartender/purple
-/obj/item/clothing/under/rank/bartender/skirt : /obj/item/clothing/under/rank/civilian/bartender/skirt
-/obj/item/clothing/under/rank/chaplain : /obj/item/clothing/under/rank/civilian/chaplain
-/obj/item/clothing/under/rank/chaplain/skirt : /obj/item/clothing/under/rank/civilian/chaplain/skirt
-/obj/item/clothing/under/rank/chef : /obj/item/clothing/under/rank/civilian/chef
-/obj/item/clothing/under/rank/chef/skirt : /obj/item/clothing/under/rank/civilian/chef/skirt
-/obj/item/clothing/under/rank/curator : /obj/item/clothing/under/rank/civilian/curator
-/obj/item/clothing/under/rank/curator/skirt: /obj/item/clothing/under/rank/civilian/curator/skirt
-/obj/item/clothing/under/rank/curator/treasure_hunter : /obj/item/clothing/under/rank/civilian/curator/treasure_hunter
-/obj/item/clothing/under/space : /obj/item/clothing/under/rank/civilian/curator/nasa
-/obj/item/clothing/under/rank/hydroponics : /obj/item/clothing/under/rank/civilian/hydroponics
-/obj/item/clothing/under/rank/hydroponics/skirt : /obj/item/clothing/under/rank/civilian/hydroponics/skirt
-/obj/item/clothing/under/rank/janitor : /obj/item/clothing/under/rank/civilian/janitor
-/obj/item/clothing/under/rank/janitor/skirt : /obj/item/clothing/under/rank/civilian/janitor/skirt
-/obj/item/clothing/under/janimaid : /obj/item/clothing/under/rank/civilian/janitor/maid
-/obj/item/clothing/under/rank/mime : /obj/item/clothing/under/rank/civilian/mime
-/obj/item/clothing/under/rank/mime/skirt : /obj/item/clothing/under/rank/civilian/mime/skirt
-/obj/item/clothing/under/sexymime : /obj/item/clothing/under/rank/civilian/mime/sexy
-/obj/item/clothing/under/rank/clown : /obj/item/clothing/under/rank/civilian/clown
-/obj/item/clothing/under/rank/blueclown : /obj/item/clothing/under/rank/civilian/clown/blue
-/obj/item/clothing/under/rank/greenclown : /obj/item/clothing/under/rank/civilian/clown/green
-/obj/item/clothing/under/rank/yellowclown : /obj/item/clothing/under/rank/civilian/clown/yellow
-/obj/item/clothing/under/rank/purpleclown : /obj/item/clothing/under/rank/civilian/clown/purple
-/obj/item/clothing/under/rank/orangeclown : /obj/item/clothing/under/rank/civilian/clown/orange
-/obj/item/clothing/under/rank/rainbowclown : /obj/item/clothing/under/rank/civilian/clown/rainbow
-/obj/item/clothing/under/jester : /obj/item/clothing/under/rank/civilian/clown/jester
-/obj/item/clothing/under/jester/alt : /obj/item/clothing/under/rank/civilian/clown/jester/alt
-/obj/item/clothing/under/rank/clown/sexy : /obj/item/clothing/under/rank/civilian/clown/sexy
-/obj/item/clothing/under/lawyer : /obj/item/clothing/under/rank/civilian/lawyer
-/obj/item/clothing/under/lawyer/black : /obj/item/clothing/under/rank/civilian/lawyer/black
-/obj/item/clothing/under/lawyer/black/skirt : /obj/item/clothing/under/rank/civilian/lawyer/black/skirt
-/obj/item/clothing/under/lawyer/female : /obj/item/clothing/under/rank/civilian/lawyer/beige
-/obj/item/clothing/under/lawyer/female/skirt : /obj/item/clothing/under/rank/civilian/lawyer/beige/skirt
-/obj/item/clothing/under/lawyer/red : /obj/item/clothing/under/rank/civilian/lawyer/red
-/obj/item/clothing/under/lawyer/red/skirt : /obj/item/clothing/under/rank/civilian/lawyer/red/skirt
-/obj/item/clothing/under/lawyer/blue : /obj/item/clothing/under/rank/civilian/lawyer/blue
-/obj/item/clothing/under/lawyer/blue/skirt : /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt
-/obj/item/clothing/under/lawyer/bluesuit : /obj/item/clothing/under/rank/civilian/lawyer/bluesuit
-/obj/item/clothing/under/lawyer/bluesuit/skirt : /obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt
-/obj/item/clothing/under/lawyer/purpsuit : /obj/item/clothing/under/rank/civilian/lawyer/purpsuit
-/obj/item/clothing/under/lawyer/purpsuit/skirt : /obj/item/clothing/under/rank/civilian/lawyer/purpsuit/skirt
-/obj/item/clothing/under/lawyer/blacksuit : /obj/item/clothing/under/suit/black
-/obj/item/clothing/under/lawyer/blacksuit/skirt : /obj/item/clothing/under/suit/black/skirt
-/obj/item/clothing/under/lawyer/really_black : /obj/item/clothing/under/suit/black_really
-/obj/item/clothing/under/lawyer/really_black/skirt : /obj/item/clothing/under/suit/black_really/skirt
-/obj/item/clothing/under/rank/head_of_personnel : /obj/item/clothing/under/rank/civilian/head_of_personnel
-/obj/item/clothing/under/rank/head_of_personnel/skirt : /obj/item/clothing/under/rank/civilian/head_of_personnel/skirt
-/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit : /obj/item/clothing/under/rank/civilian/head_of_personnel/suit
-/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt : /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt
-
-/obj/item/clothing/under/rank/cargo : /obj/item/clothing/under/rank/cargo/qm
-/obj/item/clothing/under/rank/cargo/skirt : /obj/item/clothing/under/rank/cargo/qm/skirt
-/obj/item/clothing/under/rank/cargotech : /obj/item/clothing/under/rank/cargo/tech
-/obj/item/clothing/under/rank/cargotech/skirt : /obj/item/clothing/under/rank/cargo/tech/skirt
-/obj/item/clothing/under/rank/miner : /obj/item/clothing/under/rank/cargo/miner
-/obj/item/clothing/under/rank/miner/lavaland : /obj/item/clothing/under/rank/cargo/miner/lavaland
-
-/obj/item/clothing/under/rank/research_director : /obj/item/clothing/under/rank/rnd/research_director
-/obj/item/clothing/under/rank/research_director/skirt : /obj/item/clothing/under/rank/rnd/research_director/skirt
-/obj/item/clothing/under/rank/research_director/alt : /obj/item/clothing/under/rank/rnd/research_director/alt
-/obj/item/clothing/under/rank/research_director/alt/skirt : /obj/item/clothing/under/rank/rnd/research_director/alt/skirt
-/obj/item/clothing/under/rank/research_director/turtleneck : /obj/item/clothing/under/rank/rnd/research_director/turtleneck
-/obj/item/clothing/under/rank/research_director/turtleneck/skirt : /obj/item/clothing/under/rank/rnd/research_director/turtleneck/skirt
-/obj/item/clothing/under/rank/scientist : /obj/item/clothing/under/rank/rnd/scientist
-/obj/item/clothing/under/rank/scientist/skirt : /obj/item/clothing/under/rank/rnd/scientist/skirt
-/obj/item/clothing/under/rank/roboticist : /obj/item/clothing/under/rank/rnd/roboticist
-/obj/item/clothing/under/rank/roboticist/skirt : /obj/item/clothing/under/rank/rnd/roboticist/skirt
-
-/obj/item/clothing/under/rank/chief_medical_officer : /obj/item/clothing/under/rank/medical/chief_medical_officer
-/obj/item/clothing/under/rank/chief_medical_officer/skirt : /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt
-/obj/item/clothing/under/rank/medical/doctor/blue : /obj/item/clothing/under/rank/medical/scrubs/blue
-/obj/item/clothing/under/rank/medical/doctor/blue : /obj/item/clothing/under/rank/medical/scrubs/green
-/obj/item/clothing/under/rank/medical/doctor/blue : /obj/item/clothing/under/rank/medical/scrubs/purple
-/obj/item/clothing/under/rank/geneticist : /obj/item/clothing/under/rank/rnd/geneticist
-/obj/item/clothing/under/rank/geneticist/skirt : /obj/item/clothing/under/rank/rnd/geneticist/skirt
-/obj/item/clothing/under/rank/virologist : /obj/item/clothing/under/rank/medical/virologist
-/obj/item/clothing/under/rank/virologist/skirt : /obj/item/clothing/under/rank/medical/virologist/skirt
-/obj/item/clothing/under/rank/chemist : /obj/item/clothing/under/rank/medical/chemist
-/obj/item/clothing/under/rank/chemist/skirt : /obj/item/clothing/under/rank/medical/chemist/skirt
-
-/obj/item/clothing/under/rank/chief_engineer : /obj/item/clothing/under/rank/engineering/chief_engineer
-/obj/item/clothing/under/rank/chief_engineer/skirt : /obj/item/clothing/under/rank/engineering/chief_engineer/skirt
-/obj/item/clothing/under/rank/atmospheric_technician : /obj/item/clothing/under/rank/engineering/atmospheric_technician
-/obj/item/clothing/under/rank/atmospheric_technician/skirt : /obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt
-/obj/item/clothing/under/rank/engineer : /obj/item/clothing/under/rank/engineering/engineer
-/obj/item/clothing/under/rank/engineer/hazard : /obj/item/clothing/under/rank/engineering/engineer/hazard
-/obj/item/clothing/under/rank/engineer/skirt : /obj/item/clothing/under/rank/engineering/engineer/skirt
-
-/obj/item/clothing/under/rank/centcom_officer : /obj/item/clothing/under/rank/centcom/officer
-/obj/item/clothing/under/rank/centcom_commander : /obj/item/clothing/under/rank/centcom/commander
-
-/obj/item/clothing/under/gimmick/rank/captain/suit : /obj/item/clothing/under/rank/captain/suit
-/obj/item/clothing/under/gimmick/rank/captain/suit/skirt : /obj/item/clothing/under/rank/captain/suit/skirt
-/obj/item/clothing/under/captainparade : /obj/item/clothing/under/rank/captain/parade
-
-/obj/item/clothing/under/rank/security : /obj/item/clothing/under/rank/security/officer
-/obj/item/clothing/under/rank/security/grey : /obj/item/clothing/under/rank/security/officer/grey
-/obj/item/clothing/under/rank/security/skirt : /obj/item/clothing/under/rank/security/officer/skirt
-/obj/item/clothing/under/rank/security/blueshirt : /obj/item/clothing/under/rank/security/officer/blueshirt
-/obj/item/clothing/under/rank/security/navyblue : /obj/item/clothing/under/rank/security/officer/formal
-/obj/item/clothing/under/rank/warden : /obj/item/clothing/under/rank/security/warden
-/obj/item/clothing/under/rank/warden/grey : /obj/item/clothing/under/rank/security/warden/grey
-/obj/item/clothing/under/rank/warden/skirt : /obj/item/clothing/under/rank/security/warden/skirt
-/obj/item/clothing/under/rank/warden/navyblue : /obj/item/clothing/under/rank/security/warden/formal
-/obj/item/clothing/under/rank/det : /obj/item/clothing/under/rank/security/detective
-/obj/item/clothing/under/rank/det/skirt : /obj/item/clothing/under/rank/security/detective/skirt
-/obj/item/clothing/under/rank/det/grey : /obj/item/clothing/under/rank/security/detective/noir
-/obj/item/clothing/under/rank/det/grey/skirt : /obj/item/clothing/under/rank/security/detective/noir/skirt
-/obj/item/clothing/under/rank/security/detective/grey : /obj/item/clothing/under/rank/security/detective/noir
-/obj/item/clothing/under/rank/security/detective/grey/skirt : /obj/item/clothing/under/rank/security/detective/noir/skirt
-/obj/item/clothing/under/rank/head_of_security : /obj/item/clothing/under/rank/security/head_of_security
-/obj/item/clothing/under/rank/head_of_security/skirt : /obj/item/clothing/under/rank/security/head_of_security/skirt
-/obj/item/clothing/under/rank/head_of_security/grey : /obj/item/clothing/under/rank/security/head_of_security/grey
-/obj/item/clothing/under/rank/head_of_security/alt : /obj/item/clothing/under/rank/security/head_of_security/alt
-/obj/item/clothing/under/rank/head_of_security/alt/skirt : /obj/item/clothing/under/rank/security/head_of_security/alt/skirt
-/obj/item/clothing/under/rank/head_of_security/navyblue : /obj/item/clothing/under/rank/security/head_of_security/formal
-/obj/item/clothing/under/hosparademale : /obj/item/clothing/under/rank/security/head_of_security/parade
-/obj/item/clothing/under/hosparadefem : /obj/item/clothing/under/rank/security/head_of_security/parade/female
-/obj/item/clothing/under/rank/security/spacepol : /obj/item/clothing/under/rank/security/officer/spacepol
-
diff --git a/tools/UpdatePaths/Scripts/65326_lib_computers.txt b/tools/UpdatePaths/Scripts/65326_lib_computers.txt
deleted file mode 100644
index bb16088a909f..000000000000
--- a/tools/UpdatePaths/Scripts/65326_lib_computers.txt
+++ /dev/null
@@ -1 +0,0 @@
-/obj/machinery/computer/bookmanagement : /obj/machinery/computer/libraryconsole/bookmanagement
diff --git a/tools/UpdatePaths/Scripts/65504_floor_repathing.txt b/tools/UpdatePaths/Scripts/65504_floor_repathing.txt
deleted file mode 100644
index 6af8bd10fa9a..000000000000
--- a/tools/UpdatePaths/Scripts/65504_floor_repathing.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-/turf/open/floor/plating/dirt : /turf/open/misc/dirt{@OLD}
-/turf/open/floor/plating/dirt/dark : /turf/open/misc/dirt/dark{@OLD}
-/turf/open/floor/plating/dirt/jungle : /turf/open/misc/dirt/jungle{@OLD}
-/turf/open/floor/plating/dirt/jungle/dark : /turf/open/misc/dirt/jungle/dark{@OLD}
-/turf/open/floor/plating/dirt/jungle/wasteland : /turf/open/misc/dirt/jungle/wasteland{@OLD}
-
-/turf/open/floor/plating/ashplanet : /turf/open/misc/ashplanet{@OLD}
-/turf/open/floor/plating/ashplanet/ash : /turf/open/misc/ashplanet/ash{@OLD}
-/turf/open/floor/plating/ashplanet/rocky : /turf/open/misc/ashplanet/rocky{@OLD}
-/turf/open/floor/plating/ashplanet/wateryrock : /turf/open/misc/ashplanet/wateryrock{@OLD}
-
-/turf/open/floor/plating/grass : /turf/open/misc/grass{@OLD}
-/turf/open/floor/plating/grass/jungle : /turf/open/misc/grass/jungle{@OLD}
-/turf/open/floor/plating/grass/lavaland : /turf/open/misc/grass/lavaland{@OLD}
-
-/turf/open/floor/plating/sandy_dirt : /turf/open/misc/sandy_dirt{@OLD}
-
-/turf/open/floor/plating/ironsand : /turf/open/misc/ironsand{@OLD}
-
-/turf/open/floor/plating/ice : /turf/open/misc/ice{@OLD}
-/turf/open/floor/plating/ice/smooth : /turf/open/misc/ice/smooth{@OLD}
-/turf/open/floor/plating/ice/icemoon : /turf/misc/ice/icemoon{@OLD}
-/turf/open/floor/plating/ice/icemoon/no_planet_atmos : /turf/open/misc/ice/icemoon/no_planet_atmos{@OLD}
-
-/turf/open/floor/plating/beach : /turf/open/misc/beach{@OLD}
-/turf/open/floor/plating/beach/sand : /turf/open/misc/beach/sand{@OLD}
-/turf/open/floor/plating/beach/coastline_t : /turf/open/misc/beach/coastline_t{@OLD}
-/turf/open/floor/plating/beach/coastline_t/sandwater_inner : /turf/open/misc/beach/coastline_t/sandwater_inner{@OLD}
-/turf/open/floor/plating/beach/coastline_b : /turf/open/misc/beach/coastline_b{@OLD}
-/turf/open/floor/plating/beach/water : /turf/open/water/beach{@OLD}
-
-/turf/open/floor/grass/snow : /turf/open/misc/snow{@OLD}
-/turf/open/floor/grass/snow/safe : /turf/open/floor/fake_snow{@OLD}
-/turf/open/floor/grass/snow/basalt : /turf/open/misc/basalt{@OLD}
-/turf/open/floor/grass/snow/basalt/safe : /turf/open/floor/fakebasalt{@OLD}
-
-/turf/open/floor/plating/asteroid : /turf/open/misc/asteroid{@OLD}
-/turf/open/floor/plating/asteroid/dug : /turf/open/misc/asteroid/dug{@OLD}
-/turf/open/floor/plating/asteroid/basalt : /turf/open/misc/asteroid/basalt{@OLD}
-/turf/open/floor/plating/asteroid/basalt/lava : /turf/open/misc/asteroid/basalt/lava{@OLD}
-/turf/open/floor/plating/asteroid/basalt/airless : /turf/open/misc/asteroid/basalt/airless{@OLD}
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface : /turf/open/misc/asteroid/basalt/lava_land_surface{@OLD}
-/turf/open/floor/plating/asteroid/lowpressure : /turf/open/misc/asteroid/lowpressure{@OLD}
-/turf/open/floor/plating/asteroid/airless : /turf/open/misc/asteroid/airless{@OLD}
-/turf/open/floor/plating/asteroid/snow : /turf/open/misc/asteroid/snow{@OLD}
-/turf/open/floor/plating/asteroid/snow/icemoon : /turf/open/misc/asteroid/snow/icemoon{@OLD}
-/turf/open/floor/plating/asteroid/snow/ice : /turf/open/misc/asteroid/snow/ice{@OLD}
-/turf/open/floor/plating/asteroid/snow/ice/icemoon : /turf/open/misc/asteroid/snow/ice/icemoon{@OLD}
-/turf/open/floor/plating/asteroid/snow/airless : /turf/open/misc/asteroid/snow/airless{@OLD}
-/turf/open/floor/plating/asteroid/snow/temperatre : /turf/open/misc/asteroid/snow/temperatre{@OLD}
-/turf/open/floor/plating/asteroid/snow/atmosphere : /turf/open/misc/asteroid/snow/atmosphere{@OLD}
-/turf/open/floor/plating/asteroid/snow/standard_air : /turf/open/misc/asteroid/snow/standard_air{@OLD}
-/turf/open/floor/plating/asteroid/basalt/wasteland : /turf/open/misc/asteroid/basalt/wasteland{@OLD}
diff --git a/tools/UpdatePaths/Scripts/65656_windoor_replacement.txt b/tools/UpdatePaths/Scripts/65656_windoor_replacement.txt
deleted file mode 100644
index ba67c1e0d985..000000000000
--- a/tools/UpdatePaths/Scripts/65656_windoor_replacement.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-/obj/machinery/door/window/northleft : /obj/machinery/door/window/left/directional/north {@OLD}
-/obj/machinery/door/window/eastleft : /obj/machinery/door/window/left/directional/east {@OLD}
-/obj/machinery/door/window/westleft : /obj/machinery/door/window/left/directional/west {@OLD}
-/obj/machinery/door/window/southleft : /obj/machinery/door/window/left/directional/south {@OLD}
-
-/obj/machinery/door/window/northright : /obj/machinery/door/window/right/directional/north {@OLD}
-/obj/machinery/door/window/eastright : /obj/machinery/door/window/right/directional/east {@OLD}
-/obj/machinery/door/window/westright : /obj/machinery/door/window/right/directional/west {@OLD}
-/obj/machinery/door/window/southright : /obj/machinery/door/window/right/directional/south {@OLD}
-
-/obj/machinery/door/window/brigdoor/northleft : /obj/machinery/door/window/brigdoor/left/directional/north {@OLD}
-/obj/machinery/door/window/brigdoor/eastleft : /obj/machinery/door/window/brigdoor/left/directional/east {@OLD}
-/obj/machinery/door/window/brigdoor/westleft : /obj/machinery/door/window/brigdoor/left/directional/west {@OLD}
-/obj/machinery/door/window/brigdoor/southleft : /obj/machinery/door/window/brigdoor/left/directional/south {@OLD}
-
-/obj/machinery/door/window/brigdoor/northright : /obj/machinery/door/window/brigdoor/right/directional/north {@OLD}
-/obj/machinery/door/window/brigdoor/eastright : /obj/machinery/door/window/brigdoor/right/directional/east {@OLD}
-/obj/machinery/door/window/brigdoor/westright : /obj/machinery/door/window/brigdoor/right/directional/west {@OLD}
-/obj/machinery/door/window/brigdoor/southright : /obj/machinery/door/window/brigdoor/right/directional/south {@OLD}
-
-/obj/machinery/door/window/brigdoor/security/cell/northleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/north {@OLD}
-/obj/machinery/door/window/brigdoor/security/cell/eastleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/east {@OLD}
-/obj/machinery/door/window/brigdoor/security/cell/westleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/west {@OLD}
-/obj/machinery/door/window/brigdoor/security/cell/southleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/south {@OLD}
-
-/obj/machinery/door/window/brigdoor/security/cell/northright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/north {@OLD}
-/obj/machinery/door/window/brigdoor/security/cell/eastright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/east {@OLD}
-/obj/machinery/door/window/brigdoor/security/cell/westright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/west {@OLD}
-/obj/machinery/door/window/brigdoor/security/cell/southright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/south {@OLD}
-
-/obj/machinery/door/window/brigdoor/security/holding/northleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/north {@OLD}
-/obj/machinery/door/window/brigdoor/security/holding/eastleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/east {@OLD}
-/obj/machinery/door/window/brigdoor/security/holding/westleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/west {@OLD}
-/obj/machinery/door/window/brigdoor/security/holding/southleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/south {@OLD}
-
-/obj/machinery/door/window/brigdoor/security/holding/northright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/north {@OLD}
-/obj/machinery/door/window/brigdoor/security/holding/eastright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/east {@OLD}
-/obj/machinery/door/window/brigdoor/security/holding/westright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/west {@OLD}
-/obj/machinery/door/window/brigdoor/security/holding/southright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/south {@OLD}
diff --git a/tools/UpdatePaths/Scripts/65755_pdas_to_tabs.txt b/tools/UpdatePaths/Scripts/65755_pdas_to_tabs.txt
deleted file mode 100644
index 1248b8fbcc9d..000000000000
--- a/tools/UpdatePaths/Scripts/65755_pdas_to_tabs.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-#comment This replaces PDA and cart paths with the new modular tablet role paths.
-
-/obj/item/cartridge : /obj/item/computer_hardware/hard_drive/role
-/obj/item/cartridge/engineering : /obj/item/computer_hardware/hard_drive/role/engineering
-/obj/item/cartridge/atmos : /obj/item/computer_hardware/hard_drive/role/atmos
-/obj/item/cartridge/medical : /obj/item/computer_hardware/hard_drive/role/medical
-/obj/item/cartridge/chemistry : /obj/item/computer_hardware/hard_drive/role/chemistry
-/obj/item/cartridge/security : /obj/item/computer_hardware/hard_drive/role/security
-/obj/item/cartridge/detective : /obj/item/computer_hardware/hard_drive/role/detective
-/obj/item/cartridge/lawyer : /obj/item/computer_hardware/hard_drive/role/lawyer
-/obj/item/cartridge/curator : /obj/item/computer_hardware/hard_drive/role/curator
-/obj/item/cartridge/roboticist : /obj/item/computer_hardware/hard_drive/role/roboticist
-/obj/item/cartridge/signal : /obj/item/computer_hardware/hard_drive/role/signal
-/obj/item/cartridge/signal/ordnance : /obj/item/computer_hardware/hard_drive/role/signal/ordnance
-/obj/item/cartridge/quartermaster : /obj/item/computer_hardware/hard_drive/role/quartermaster
-/obj/item/cartridge/head : /obj/item/computer_hardware/hard_drive/role/head
-/obj/item/cartridge/hop : /obj/item/computer_hardware/hard_drive/role/hop
-/obj/item/cartridge/hos : /obj/item/computer_hardware/hard_drive/role/hos
-/obj/item/cartridge/ce : /obj/item/computer_hardware/hard_drive/role/ce
-/obj/item/cartridge/cmo : /obj/item/computer_hardware/hard_drive/role/cmo
-/obj/item/cartridge/rd : /obj/item/computer_hardware/hard_drive/role/rd
-/obj/item/cartridge/captain : /obj/item/computer_hardware/hard_drive/role/captain
-
-/obj/item/pda : /obj/item/modular_computer/tablet/pda
-/obj/item/pda/medical : /obj/item/modular_computer/tablet/pda/medical
-/obj/item/pda/viro : /obj/item/modular_computer/tablet/pda/viro
-/obj/item/pda/engineering : /obj/item/modular_computer/tablet/pda/engineering
-/obj/item/pda/security : /obj/item/modular_computer/tablet/pda/security
-/obj/item/pda/detective : /obj/item/modular_computer/tablet/pda/detective
-/obj/item/pda/warden : /obj/item/modular_computer/tablet/pda/warden
-/obj/item/pda/janitor : /obj/item/modular_computer/tablet/pda/janitor
-/obj/item/pda/science : /obj/item/modular_computer/tablet/pda/science
-/obj/item/pda/heads : /obj/item/modular_computer/tablet/pda/heads
-/obj/item/pda/hop : /obj/item/modular_computer/tablet/pda/hop
-/obj/item/pda/hos : /obj/item/modular_computer/tablet/pda/hos
-/obj/item/pda/ce : /obj/item/modular_computer/tablet/pda/ce
-/obj/item/pda/cmo : /obj/item/modular_computer/tablet/pda/cmo
-/obj/item/pda/rd : /obj/item/modular_computer/tablet/pda/rd
-/obj/item/pda/captain : /obj/item/modular_computer/tablet/pda/captain
-/obj/item/pda/cargo : /obj/item/modular_computer/tablet/pda/cargo
-/obj/item/pda/quartermaster : /obj/item/modular_computer/tablet/pda/quartermaster
-/obj/item/pda/shaftminer : /obj/item/modular_computer/tablet/pda/shaftminer
-/obj/item/pda/chaplain : /obj/item/modular_computer/tablet/pda/chaplain
-/obj/item/pda/lawyer : /obj/item/modular_computer/tablet/pda/lawyer
-/obj/item/pda/botanist : /obj/item/modular_computer/tablet/pda/botanist
-/obj/item/pda/roboticist : /obj/item/modular_computer/tablet/pda/roboticist
-/obj/item/pda/cook : /obj/item/modular_computer/tablet/pda/cook
-/obj/item/pda/bar : /obj/item/modular_computer/tablet/pda/bar
-/obj/item/pda/atmos : /obj/item/modular_computer/tablet/pda/atmos
-/obj/item/pda/chemist : /obj/item/modular_computer/tablet/pda/chemist
-/obj/item/pda/geneticist : /obj/item/modular_computer/tablet/pda/geneticist
-/obj/item/pda/clown : /obj/item/modular_computer/tablet/pda/clown
-/obj/item/pda/mime : /obj/item/modular_computer/tablet/pda/mime
-/obj/item/pda/curator : /obj/item/modular_computer/tablet/pda/curator
-/obj/item/pda/syndicate : /obj/item/modular_computer/tablet/pda/syndicate
-/obj/item/pda/clear : /obj/item/modular_computer/tablet/pda/clear
diff --git a/tools/UpdatePaths/Scripts/65906_replace_wayfinding_beacons.txt b/tools/UpdatePaths/Scripts/65906_replace_wayfinding_beacons.txt
deleted file mode 100644
index 65ea94da7fd7..000000000000
--- a/tools/UpdatePaths/Scripts/65906_replace_wayfinding_beacons.txt
+++ /dev/null
@@ -1 +0,0 @@
-/obj/effect/landmark/navigate_destination : /obj/machinery/navbeacon/wayfinding {@OLD}
\ No newline at end of file
diff --git a/tools/UpdatePaths/Scripts/66210_replace_tiered_canisters.txt b/tools/UpdatePaths/Scripts/66210_replace_tiered_canisters.txt
deleted file mode 100644
index 7b5192b5d095..000000000000
--- a/tools/UpdatePaths/Scripts/66210_replace_tiered_canisters.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-#comment replaces /obj/machinery/portable_atmospherics/canister/tier_# with /obj/machinery/portable_atmospherics/canister
-#comment replaces /obj/structure/canister_frame/machine/frame_tier_0 with /obj/structure/canister_frame/machine/unfinished_frame
-#comment replaces /obj/structure/canister_frame/machine/frame_tier_1 with /obj/structure/canister_frame/machine/finished_frame
-
-/obj/machinery/portable_atmospherics/canister/tier_1 : /obj/machinery/portable_atmospherics/canister
-/obj/machinery/portable_atmospherics/canister/tier_2 : /obj/machinery/portable_atmospherics/canister
-/obj/machinery/portable_atmospherics/canister/tier_3 : /obj/machinery/portable_atmospherics/canister
-/obj/structure/canister_frame/machine/frame_tier_0 : /obj/structure/canister_frame/machine/unfinished_canister_frame
-/obj/structure/canister_frame/machine/frame_tier_1 : /obj/structure/canister_frame/machine/finished_canister_frame
\ No newline at end of file
diff --git a/tools/UpdatePaths/Scripts/66406_turf_updates.txt b/tools/UpdatePaths/Scripts/66406_turf_updates.txt
deleted file mode 100644
index d1bda1a21b73..000000000000
--- a/tools/UpdatePaths/Scripts/66406_turf_updates.txt
+++ /dev/null
@@ -1,344 +0,0 @@
-#comment This updates primarily station paths to new ones
-
-/area/maintenance : /area/station/maintenance
-/area/maintenance/department/chapel : /area/station/maintenance/department/chapel
-/area/maintenance/department/chapel/monastery : /area/station/maintenance/department/chapel/monastery
-/area/maintenance/department/crew_quarters/bar : /area/station/maintenance/department/crew_quarters/bar
-/area/maintenance/department/crew_quarters/dorms : /area/station/maintenance/department/crew_quarters/dorms
-/area/maintenance/department/eva : /area/station/maintenance/department/eva
-/area/maintenance/department/electrical : /area/station/maintenance/department/electrical
-/area/maintenance/department/engine/atmos : /area/station/maintenance/department/engine/atmos
-/area/maintenance/department/security : /area/station/maintenance/department/security
-/area/maintenance/department/security/upper : /area/station/maintenance/department/security/upper
-/area/maintenance/department/security/brig : /area/station/maintenance/department/security/brig
-/area/maintenance/department/medical : /area/station/maintenance/department/medical
-/area/maintenance/department/medical/central : /area/station/maintenance/department/medical/central
-/area/maintenance/department/medical/morgue : /area/station/maintenance/department/medical/morgue
-/area/maintenance/department/science : /area/station/maintenance/department/science
-/area/maintenance/department/science/central : /area/station/maintenance/department/science/central
-/area/maintenance/department/cargo : /area/station/maintenance/department/cargo
-/area/maintenance/department/bridge : /area/station/maintenance/department/bridge
-/area/maintenance/department/engine : /area/station/maintenance/department/engine
-/area/maintenance/department/science/xenobiology : /area/station/maintenance/department/science/xenobiology
-
-/area/maintenance/aft : /area/station/maintenance/aft
-/area/maintenance/aft/upper : /area/station/maintenance/aft/upper
-/area/maintenance/aft/greater : /area/station/maintenance/aft/greater
-/area/maintenance/aft/lesser : /area/station/maintenance/aft/lesser
-/area/maintenance/central : /area/station/maintenance/central
-/area/maintenance/central/greater : /area/station/maintenance/central/greater
-/area/maintenance/central/lesser : /area/station/maintenance/central/lesser
-/area/maintenance/fore : /area/station/maintenance/fore
-/area/maintenance/fore/upper : /area/station/maintenance/fore/upper
-/area/maintenance/fore/greater : /area/station/maintenance/fore/greater
-/area/maintenance/fore/lesser : /area/station/maintenance/fore/lesser
-/area/maintenance/starboard : /area/station/maintenance/starboard
-/area/maintenance/starboard/upper : /area/station/maintenance/starboard/upper
-/area/maintenance/starboard/central : /area/station/maintenance/starboard/central
-/area/maintenance/starboard/greater : /area/station/maintenance/starboard/greater
-/area/maintenance/starboard/lesser : /area/station/maintenance/starboard/lesser
-/area/maintenance/starboard/aft : /area/station/maintenance/starboard/aft
-/area/maintenance/starboard/fore : /area/station/maintenance/starboard/fore
-/area/maintenance/port : /area/station/maintenance/port
-/area/maintenance/port/central : /area/station/maintenance/port/central
-/area/maintenance/port/greater : /area/station/maintenance/port/greater
-/area/maintenance/port/lesser : /area/station/maintenance/port/lesser
-/area/maintenance/port/aft : /area/station/maintenance/port/aft
-/area/maintenance/port/fore : /area/station/maintenance/port/fore
-/area/maintenance/tram : /area/station/maintenance/tram
-/area/maintenance/tram/left : /area/station/maintenance/tram/left
-/area/maintenance/tram/mid : /area/station/maintenance/tram/mid
-/area/maintenance/tram/right : /area/station/maintenance/tram/right
-
-/area/maintenance/disposal : /area/station/maintenance/disposal
-/area/maintenance/disposal/incinerator : /area/station/maintenance/disposal/incinerator
-/area/maintenance/space_hut : /area/station/maintenance/space_hut
-/area/maintenance/space_hut/cabin : /area/station/maintenance/space_hut/cabin
-/area/maintenance/space_hut/plasmaman : /area/station/maintenance/space_hut/plasmaman
-/area/maintenance/space_hut/observatory : /area/station/maintenance/space_hut/observatory
-
-/area/maintenance/radshelter : /area/station/maintenance/radshelter
-/area/maintenance/radshelter/medical : /area/station/maintenance/radshelter/medical
-/area/maintenance/radshelter/sec : /area/station/maintenance/radshelter/sec
-/area/maintenance/radshelter/service : /area/station/maintenance/radshelter/service
-/area/maintenance/radshelter/civil : /area/station/maintenance/radshelter/civil
-/area/maintenance/radshelter/sci : /area/station/maintenance/radshelter/sci
-/area/maintenance/radshelter/cargo : /area/station/maintenance/radshelter/cargo
-
-/area/hallway : /area/station/hallway
-/area/hallway/primary : /area/station/hallway/primary
-/area/hallway/primary/aft : /area/station/hallway/primary/aft
-/area/hallway/primary/fore : /area/station/hallway/primary/fore
-/area/hallway/primary/starboard : /area/station/hallway/primary/starboard
-/area/hallway/primary/port : /area/station/hallway/primary/port
-/area/hallway/primary/central : /area/station/hallway/primary/central
-/area/hallway/primary/central/fore : /area/station/hallway/primary/central/fore
-/area/hallway/primary/central/aft : /area/station/hallway/primary/central/aft
-/area/hallway/primary/upper : /area/station/hallway/primary/upper
-/area/hallway/primary/tram : /area/station/hallway/primary/tram
-/area/hallway/primary/tram/left : /area/station/hallway/primary/tram/left
-/area/hallway/primary/tram/center : /area/station/hallway/primary/tram/center
-/area/hallway/primary/tram/right : /area/station/hallway/primary/tram/right
-/area/hallway/secondary/command : /area/station/hallway/secondary/command
-/area/hallway/secondary/construction : /area/station/hallway/secondary/construction
-/area/hallway/secondary/construction/engineering : /area/station/hallway/secondary/construction/engineering
-/area/hallway/secondary/exit : /area/station/hallway/secondary/exit
-/area/hallway/secondary/exit/departure_lounge : /area/station/hallway/secondary/exit/departure_lounge
-/area/hallway/secondary/entry : /area/station/hallway/secondary/entry
-/area/hallway/secondary/service : /area/station/hallway/secondary/service
-
-/area/command : /area/station/command
-/area/command/bridge : /area/station/command/bridge
-/area/command/meeting_room : /area/station/command/meeting_room
-/area/command/meeting_room/council : /area/station/command/meeting_room/council
-/area/command/corporate_showroom : /area/station/command/corporate_showroom
-/area/command/heads_quarters : /area/station/command/heads_quarters
-/area/command/heads_quarters/captain : /area/station/command/heads_quarters/captain
-/area/command/heads_quarters/captain/private : /area/station/command/heads_quarters/captain/private
-/area/command/heads_quarters/ce : /area/station/command/heads_quarters/ce
-/area/command/heads_quarters/cmo : /area/station/command/heads_quarters/cmo
-/area/command/heads_quarters/hop : /area/station/command/heads_quarters/hop
-/area/command/heads_quarters/hos : /area/station/command/heads_quarters/hos
-/area/command/heads_quarters/rd : /area/station/command/heads_quarters/rd
-
-/area/command/teleporter : /area/station/command/teleporter
-/area/command/gateway : /area/station/command/gateway
-
-/area/commons : /area/station/commons
-/area/commons/dorms : /area/station/commons/dorms
-/area/commons/dorms/barracks : /area/station/commons/dorms/barracks
-/area/commons/dorms/barracks/male : /area/station/commons/dorms/barracks/male
-/area/commons/dorms/barracks/female : /area/station/commons/dorms/barracks/female
-/area/commons/dorms/laundry : /area/station/commons/dorms/laundry
-/area/commons/toilet : /area/station/commons/toilet
-/area/commons/toilet/auxiliary : /area/station/commons/toilet/auxiliary
-/area/commons/toilet/locker : /area/station/commons/toilet/locker
-/area/commons/toilet/restrooms : /area/station/commons/toilet/restrooms
-/area/commons/locker : /area/station/commons/locker
-/area/commons/lounge : /area/station/commons/lounge
-/area/commons/fitness : /area/station/commons/fitness
-/area/commons/fitness/locker_room : /area/station/commons/fitness/locker_room
-/area/commons/fitness/locker_room/male : /area/station/commons/fitness/locker_room/male
-/area/commons/fitness/locker_room/female : /area/station/commons/fitness/locker_room/female
-/area/commons/fitness/recreation : /area/station/commons/fitness/recreation
-/area/commons/fitness/recreation/entertainment : /area/station/commons/fitness/recreation/entertainment
-
-/area/commons/vacant_room : /area/station/commons/vacant_room
-/area/commons/vacant_room/office : /area/station/commons/vacant_room/office
-/area/commons/vacant_room/commissary : /area/station/commons/vacant_room/commissary
-
-/area/commons/storage : /area/station/commons/storage
-/area/commons/storage/tools : /area/station/commons/storage/tools
-/area/commons/storage/primary : /area/station/commons/storage/primary
-/area/commons/storage/art : /area/station/commons/storage/art
-/area/commons/storage/emergency/starboard : /area/station/commons/storage/emergency/starboard
-/area/commons/storage/emergency/port : /area/station/commons/storage/emergency/port
-/area/commons/storage/mining : /area/station/commons/storage/mining
-
-/area/service : /area/station/service
-/area/service/cafeteria : /area/station/service/cafeteria
-/area/service/kitchen : /area/station/service/kitchen
-/area/service/kitchen/coldroom : /area/station/service/kitchen/coldroom
-/area/service/kitchen/diner : /area/station/service/kitchen/diner
-/area/service/kitchen/abandoned : /area/station/service/kitchen/abandoned
-/area/service/bar : /area/station/service/bar
-/area/service/bar/Initialize(mapload) : /area/station/service/bar/Initialize(mapload)
-/area/service/bar/atrium : /area/station/service/bar/atrium
-/area/service/electronic_marketing_den : /area/station/service/electronic_marketing_den
-/area/service/abandoned_gambling_den : /area/station/service/abandoned_gambling_den
-/area/service/abandoned_gambling_den/gaming : /area/station/service/abandoned_gambling_den/gaming
-/area/service/theater : /area/station/service/theater
-/area/service/theater/abandoned : /area/station/service/theater/abandoned
-/area/service/library : /area/station/service/library
-/area/service/library/lounge : /area/station/service/library/lounge
-/area/service/library/artgallery : /area/station/service/library/artgallery
-/area/service/library/private : /area/station/service/library/private
-/area/service/library/upper : /area/station/service/library/upper
-/area/service/library/printer : /area/station/service/library/printer
-/area/service/library/abandoned : /area/station/service/library/abandoned
-/area/service/chapel : /area/station/service/chapel
-/area/service/chapel/monastery : /area/station/service/chapel/monastery
-/area/service/chapel/office : /area/station/service/chapel/office
-/area/service/chapel/asteroid : /area/station/service/chapel/asteroid
-/area/service/chapel/asteroid/monastery : /area/station/service/chapel/asteroid/monastery
-/area/service/chapel/dock : /area/station/service/chapel/dock
-/area/service/chapel/storage : /area/station/service/chapel/storage
-/area/service/chapel/funeral : /area/station/service/chapel/funeral
-/area/service/lawoffice : /area/station/service/lawoffice
-/area/service/janitor : /area/station/service/janitor
-/area/service/hydroponics : /area/station/service/hydroponics
-/area/service/hydroponics/upper : /area/station/service/hydroponics/upper
-/area/service/hydroponics/garden : /area/station/service/hydroponics/garden
-/area/service/hydroponics/garden/abandoned : /area/station/service/hydroponics/garden/abandoned
-/area/service/hydroponics/garden/monastery : /area/station/service/hydroponics/garden/monastery
-
-/area/engineering : /area/station/engineering
-/area/engineering/engine_smes : /area/station/engineering/engine_smes
-/area/engineering/main : /area/station/engineering/main
-/area/engineering/hallway : /area/station/engineering/hallway
-/area/engineering/atmos : /area/station/engineering/atmos
-/area/engineering/atmos/upper : /area/station/engineering/atmos/upper
-/area/engineering/atmos/project : /area/station/engineering/atmos/project
-/area/engineering/atmos/pumproom : /area/station/engineering/atmos/pumproom
-/area/engineering/atmos/mix : /area/station/engineering/atmos/mix
-/area/engineering/atmos/storage : /area/station/engineering/atmos/storage
-/area/engineering/atmos/storage/gas : /area/station/engineering/atmos/storage/gas
-/area/engineering/atmos/office : /area/station/engineering/atmos/office
-/area/engineering/atmos/hfr_room : /area/station/engineering/atmos/hfr_room
-/area/engineering/atmospherics_engine : /area/station/engineering/atmospherics_engine
-/area/engineering/lobby : /area/station/engineering/lobby
-/area/engineering/supermatter : /area/station/engineering/supermatter
-/area/engineering/supermatter/room : /area/station/engineering/supermatter/room
-/area/engineering/break_room : /area/station/engineering/break_room
-/area/engineering/gravity_generator : /area/station/engineering/gravity_generator
-/area/engineering/storage : /area/station/engineering/storage
-/area/engineering/storage_shared : /area/station/engineering/storage_shared
-/area/engineering/transit_tube : /area/station/engineering/transit_tube
-/area/engineering/storage/tech : /area/station/engineering/storage/tech
-/area/engineering/storage/tcomms : /area/station/engineering/storage/tcomms
-
-/area/construction : /area/construction
-/area/construction/mining/aux_base : /area/construction/mining/aux_base
-/area/construction/storage_wing : /area/construction/storage_wing
-
-/area/solars : /area/station/solars
-/area/solars/fore : /area/station/solars/fore
-/area/solars/aft : /area/station/solars/aft
-/area/solars/aux/port : /area/station/solars/aux/port
-/area/solars/aux/starboard : /area/station/solars/aux/starboard
-/area/solars/starboard : /area/station/solars/starboard
-/area/solars/starboard/aft : /area/station/solars/starboard/aft
-/area/solars/starboard/fore : /area/station/solars/starboard/fore
-/area/solars/port : /area/station/solars/port
-/area/solars/port/aft : /area/station/solars/port/aft
-/area/solars/port/fore : /area/station/solars/port/fore
-/area/solars/aisat : /area/station/solars/aisat
-
-/area/maintenance/solars : /area/station/maintenance/solars
-/area/maintenance/solars/port : /area/station/maintenance/solars/port
-/area/maintenance/solars/port/aft : /area/station/maintenance/solars/port/aft
-/area/maintenance/solars/port/fore : /area/station/maintenance/solars/port/fore
-/area/maintenance/solars/starboard : /area/station/maintenance/solars/starboard
-/area/maintenance/solars/starboard/aft : /area/station/maintenance/solars/starboard/aft
-/area/maintenance/solars/starboard/fore : /area/station/maintenance/solars/starboard/fore
-
-/area/medical : /area/station/medical
-/area/medical/abandoned : /area/station/medical/abandoned
-/area/medical/medbay : /area/station/medical/medbay
-/area/medical/medbay/central : /area/station/medical/medbay/central
-/area/medical/medbay/lobby : /area/station/medical/medbay/lobby
-/area/medical/medbay/aft : /area/station/medical/medbay/aft
-/area/medical/storage : /area/station/medical/storage
-/area/medical/paramedic : /area/station/medical/paramedic
-/area/medical/office : /area/station/medical/office
-/area/medical/break_room : /area/station/medical/break_room
-/area/medical/coldroom : /area/station/medical/coldroom
-/area/medical/patients_rooms : /area/station/medical/patients_rooms
-/area/medical/patients_rooms/room_a : /area/station/medical/patients_rooms/room_a
-/area/medical/patients_rooms/room_b : /area/station/medical/patients_rooms/room_b
-/area/medical/virology : /area/station/medical/virology
-/area/medical/morgue : /area/station/medical/morgue
-/area/medical/chemistry : /area/station/medical/chemistry
-/area/medical/pharmacy : /area/station/medical/pharmacy
-/area/medical/surgery : /area/station/medical/surgery
-/area/medical/surgery/fore : /area/station/medical/surgery/fore
-/area/medical/surgery/aft : /area/station/medical/surgery/aft
-/area/medical/surgery/theatre : /area/station/medical/surgery/theatre
-/area/medical/cryo : /area/station/medical/cryo
-/area/medical/exam_room : /area/station/medical/exam_room
-/area/medical/treatment_center : /area/station/medical/treatment_center
-/area/medical/psychology : /area/station/medical/psychology
-
-/area/security : /area/station/security
-/area/security/office : /area/station/security/office
-/area/security/lockers : /area/station/security/lockers
-/area/security/brig : /area/station/security/brig
-/area/security/holding_cell : /area/station/security/holding_cell
-/area/security/medical : /area/station/security/medical
-/area/security/brig/upper : /area/station/security/brig/upper
-/area/security/courtroom : /area/station/security/courtroom
-/area/security/prison : /area/station/security/prison
-/area/security/prison/toilet : /area/station/security/prison/toilet
-/area/security/prison/safe : /area/station/security/prison/safe
-/area/security/prison/upper : /area/station/security/prison/upper
-/area/security/prison/visit : /area/station/security/prison/visit
-/area/security/prison/rec : /area/station/security/prison/rec
-/area/security/prison/mess : /area/station/security/prison/mess
-/area/security/prison/work : /area/station/security/prison/work
-/area/security/prison/shower : /area/station/security/prison/shower
-/area/security/prison/workout : /area/station/security/prison/workout
-/area/security/prison/garden : /area/station/security/prison/garden
-/area/security/processing : /area/station/security/processing
-/area/security/processing/cremation : /area/station/security/processing/cremation
-/area/security/interrogation : /area/station/security/interrogation
-/area/security/warden : /area/station/security/warden
-/area/security/detectives_office : /area/station/security/detectives_office
-/area/security/detectives_office/private_investigators_office : /area/station/security/detectives_office/private_investigators_office
-/area/security/range : /area/station/security/range
-/area/security/execution : /area/station/security/execution
-/area/security/execution/transfer : /area/station/security/execution/transfer
-/area/security/execution/education : /area/station/security/execution/education
-/area/security/checkpoint : /area/station/security/checkpoint
-/area/security/checkpoint/auxiliary : /area/station/security/checkpoint/auxiliary
-/area/security/checkpoint/escape : /area/station/security/checkpoint/escape
-/area/security/checkpoint/supply : /area/station/security/checkpoint/supply
-/area/security/checkpoint/engineering : /area/station/security/checkpoint/engineering
-/area/security/checkpoint/medical : /area/station/security/checkpoint/medical
-/area/security/checkpoint/science : /area/station/security/checkpoint/science
-/area/security/checkpoint/science/research : /area/station/security/checkpoint/science/research
-/area/security/checkpoint/customs : /area/station/security/checkpoint/customs
-/area/security/checkpoint/customs/auxiliary : /area/station/security/checkpoint/customs/auxiliary
-/area/security/checkpoint/customs/fore : /area/station/security/checkpoint/customs/fore
-/area/security/checkpoint/customs/aft : /area/station/security/checkpoint/customs/aft
-
-/area/cargo : /area/station/cargo
-/area/cargo/sorting : /area/station/cargo/sorting
-/area/cargo/warehouse : /area/station/cargo/warehouse
-/area/cargo/drone_bay : /area/station/cargo/drone_bay
-/area/cargo/warehouse/upper : /area/station/cargo/warehouse/upper
-/area/cargo/office : /area/station/cargo/office
-/area/cargo/storage : /area/station/cargo/storage
-/area/cargo/lobby : /area/station/cargo/lobby
-/area/cargo/qm : /area/station/cargo/qm
-/area/cargo/miningdock : /area/station/cargo/miningdock
-/area/cargo/miningdock/cafeteria : /area/station/cargo/miningdock/cafeteria
-/area/cargo/miningdock/oresilo : /area/station/cargo/miningdock/oresilo
-/area/cargo/miningoffice : /area/station/cargo/miningoffice
-
-/area/science : /area/station/science
-/area/science/lobby : /area/station/science/lobby
-/area/science/lower : /area/station/science/lower
-/area/science/breakroom : /area/station/science/breakroom
-/area/science/lab : /area/station/science/lab
-/area/science/xenobiology : /area/station/science/xenobiology
-/area/science/xenobiology/hallway : /area/station/science/xenobiology/hallway
-/area/science/cytology : /area/station/science/cytology
-/area/science/storage : /area/station/science/storage
-/area/science/test_area : /area/station/science/test_area
-/area/science/mixing : /area/station/science/mixing
-/area/science/mixing/chamber : /area/station/science/mixing/chamber
-/area/science/mixing/hallway : /area/station/science/mixing/hallway
-/area/science/mixing/launch : /area/station/science/mixing/launch
-/area/science/genetics : /area/station/science/genetics
-/area/science/misc_lab : /area/station/science/misc_lab
-/area/science/misc_lab/range : /area/station/science/misc_lab/range
-/area/science/server : /area/station/science/server
-/area/science/explab : /area/station/science/explab
-/area/science/robotics : /area/station/science/robotics
-/area/science/robotics/mechbay : /area/station/science/robotics/mechbay
-/area/science/robotics/lab : /area/station/science/robotics/lab
-/area/science/research : /area/station/science/research
-/area/science/research/abandoned : /area/station/science/research/abandoned
-
-/area/tcommsat : /area/station/tcommsat
-/area/tcommsat/computer : /area/station/tcommsat/computer
-/area/tcommsat/server : /area/station/tcommsat/server
-/area/tcommsat/server/upper : /area/station/tcommsat/server/upper
-
-/area/comms : /area/station/comms
-/area/server : /area/station/server
-
-/area/maintenance/external : /area/station/maintenance/external
-/area/maintenance/external/aft : /area/station/maintenance/external/aft
-/area/maintenance/external/port : /area/station/maintenance/external/port
-/area/maintenance/external/port/bow : /area/station/maintenance/external/port/bow
diff --git a/tools/UpdatePaths/Scripts/66411_thermomachines.txt b/tools/UpdatePaths/Scripts/66411_thermomachines.txt
deleted file mode 100644
index a53afc0727b2..000000000000
--- a/tools/UpdatePaths/Scripts/66411_thermomachines.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-/obj/machinery/atmospherics/components/binary/thermomachine : /obj/machinery/atmospherics/components/unary/thermomachine{@OLD}
-/obj/machinery/atmospherics/components/binary/thermomachine/freezer : /obj/machinery/atmospherics/components/unary/thermomachine/freezer{@OLD}
-/obj/machinery/atmospherics/components/binary/thermomachine/freezer/on : /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{@OLD}
-/obj/machinery/atmospherics/components/binary/thermomachine/freezer/on/coldroom : /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom{@OLD}
-/obj/machinery/atmospherics/components/binary/thermomachine/heater : /obj/machinery/atmospherics/components/unary/thermomachine/heater{@OLD}
-/obj/machinery/atmospherics/components/binary/thermomachine/heater/on : /obj/machinery/atmospherics/components/unary/thermomachine/heater/on{@OLD}
diff --git a/tools/UpdatePaths/Scripts/66505_tablet_cartridges.txt b/tools/UpdatePaths/Scripts/66505_tablet_cartridges.txt
deleted file mode 100644
index 7f60a8f1295f..000000000000
--- a/tools/UpdatePaths/Scripts/66505_tablet_cartridges.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-/obj/item/computer_hardware/hard_drive/role/medical : /obj/item/computer_hardware/hard_drive/portable/medical
-/obj/item/computer_hardware/hard_drive/role/chemistry : /obj/item/computer_hardware/hard_drive/portable/chemistry
-/obj/item/computer_hardware/hard_drive/role/engineering : /obj/item/computer_hardware/hard_drive/portable/engineering
-/obj/item/computer_hardware/hard_drive/role/atmos : /obj/item/computer_hardware/hard_drive/portable/atmos
-/obj/item/computer_hardware/hard_drive/role/signal : /obj/item/computer_hardware/hard_drive/portable/ordnance
-/obj/item/computer_hardware/hard_drive/role/signal/ordnance : /obj/item/computer_hardware/hard_drive/portable/ordnance
-/obj/item/computer_hardware/hard_drive/role/quartermaster : /obj/item/computer_hardware/hard_drive/portable/quartermaster
-/obj/item/computer_hardware/hard_drive/role/rd : /obj/item/computer_hardware/hard_drive/portable/command/rd
-/obj/item/computer_hardware/hard_drive/role/ce : /obj/item/computer_hardware/hard_drive/portable/command/ce
-/obj/item/computer_hardware/hard_drive/role/cmo : /obj/item/computer_hardware/hard_drive/portable/command/cmo
-/obj/item/computer_hardware/hard_drive/role/hos : /obj/item/computer_hardware/hard_drive/portable/command/hos
-/obj/item/computer_hardware/hard_drive/role/hop : /obj/item/computer_hardware/hard_drive/portable/command/hop
-/obj/item/computer_hardware/hard_drive/role/captain : /obj/item/computer_hardware/hard_drive/portable/command/captain
-/obj/item/computer_hardware/hard_drive/role/virus/mime : /obj/item/computer_hardware/hard_drive/portable/virus/mime
-/obj/item/computer_hardware/hard_drive/role/virus/clown : /obj/item/computer_hardware/hard_drive/portable/virus/clown
-/obj/item/computer_hardware/hard_drive/role/virus/deto : /obj/item/computer_hardware/hard_drive/portable/virus/deto
-/obj/item/computer_hardware/hard_drive/role/virus/frame : /obj/item/computer_hardware/hard_drive/portable/virus/frame
-
-/obj/item/computer_hardware/hard_drive/role/lawyer : @DELETE
-/obj/item/computer_hardware/hard_drive/role/detective : @DELETE
-/obj/item/computer_hardware/hard_drive/role/janitor : @DELETE
-/obj/item/computer_hardware/hard_drive/role/curator : @DELETE
-/obj/item/computer_hardware/hard_drive/role/roboticist : @DELETE
-/obj/item/computer_hardware/hard_drive/role/signal : @DELETE
diff --git a/tools/UpdatePaths/Scripts/66754_replace_sign_names.txt b/tools/UpdatePaths/Scripts/66754_replace_sign_names.txt
deleted file mode 100644
index eed28991fad9..000000000000
--- a/tools/UpdatePaths/Scripts/66754_replace_sign_names.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-/obj/structure/sign/warning/securearea : /obj/structure/sign/warning/secure_area {@OLD}
-/obj/structure/sign/warning/electricshock : /obj/structure/sign/warning/electric_shock {@OLD}
-/obj/structure/sign/warning/nosmoking : /obj/structure/sign/warning/no_smoking {@OLD}
-/obj/structure/sign/warning/nosmoking/circle : /obj/structure/sign/warning/no_smoking/circle {@OLD}
-/obj/structure/sign/warning/yessmoking/circle : /obj/structure/sign/warning/yes_smoking/circle {@OLD}
-/obj/structure/sign/warning/enginesafety : /obj/structure/sign/warning/engine_safety {@OLD}
-/obj/structure/sign/warning/testchamber : /obj/structure/sign/warning/test_chamber {@OLD}
-/obj/structure/sign/warning/firingrange : /obj/structure/sign/warning/firing_range {@OLD}
-/obj/structure/sign/warning/coldtemp : /obj/structure/sign/warning/cold_temp {@OLD}
-/obj/structure/sign/warning/hottemp : /obj/structure/sign/warning/hot_temp {@OLD}
-/obj/structure/sign/warning/gasmask : /obj/structure/sign/warning/gas_mask {@OLD}
-/obj/structure/sign/warning/chemdiamond : /obj/structure/sign/warning/chem_diamond {@OLD}
-/obj/structure/sign/warning/radshelter : /obj/structure/sign/warning/rad_shelter {@OLD}
-
-/obj/structure/sign/departments/examroom : /obj/structure/sign/departments/exam_room {@OLD}
-/obj/structure/sign/departments/mait : /obj/structure/sign/departments/maint {@OLD}
-/obj/structure/sign/departments/mait/alt : /obj/structure/sign/departments/maint/alt {@OLD}
diff --git a/tools/UpdatePaths/Scripts/66860_replace_masks.txt b/tools/UpdatePaths/Scripts/66860_replace_masks.txt
deleted file mode 100644
index 234864a4019b..000000000000
--- a/tools/UpdatePaths/Scripts/66860_replace_masks.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-#comment This replaces animal mask paths to the new simplified paths see (https://github.com/tgstation/tgstation/pull/66860)
-
-/obj/item/clothing/mask/animal/rat/cursed : /obj/item/clothing/mask/animal/small/rat/cursed
-/obj/item/clothing/mask/animal/rat/fox/cursed : /obj/item/clothing/mask/animal/small/fox/cursed
-/obj/item/clothing/mask/animal/rat/bee/cursed : /obj/item/clothing/mask/animal/small/bee/cursed
-/obj/item/clothing/mask/animal/rat/bear/cursed : /obj/item/clothing/mask/animal/small/bear/cursed
-/obj/item/clothing/mask/animal/rat/bat/cursed : /obj/item/clothing/mask/animal/small/bat/cursed
-/obj/item/clothing/mask/animal/rat/raven/cursed : /obj/item/clothing/mask/animal/small/raven/cursed
-/obj/item/clothing/mask/animal/rat/jackal/cursed : /obj/item/clothing/mask/animal/small/jackal/cursed
-/obj/item/clothing/mask/animal/rat : /obj/item/clothing/mask/animal/small/rat
-/obj/item/clothing/mask/animal/rat/fox : /obj/item/clothing/mask/animal/small/fox
-/obj/item/clothing/mask/animal/rat/bee : /obj/item/clothing/mask/animal/small/bee
-/obj/item/clothing/mask/animal/rat/bear : /obj/item/clothing/mask/animal/small/bear
-/obj/item/clothing/mask/animal/rat/bat : /obj/item/clothing/mask/animal/small/bat
-/obj/item/clothing/mask/animal/rat/raven : /obj/item/clothing/mask/animal/small/raven
-/obj/item/clothing/mask/animal/rat/jackal : /obj/item/clothing/mask/animal/small/jackal
diff --git a/tools/UpdatePaths/Scripts/67083_action_granters.txt b/tools/UpdatePaths/Scripts/67083_action_granters.txt
deleted file mode 100644
index 91609df338ce..000000000000
--- a/tools/UpdatePaths/Scripts/67083_action_granters.txt
+++ /dev/null
@@ -1 +0,0 @@
-/obj/item/book/granter/spell/@SUBTYPES : /obj/item/book/granter/action/spell/@SUBTYPES {@OLD}
diff --git a/tools/UpdatePaths/Scripts/67107_turf_updates_2.txt b/tools/UpdatePaths/Scripts/67107_turf_updates_2.txt
deleted file mode 100644
index b5ac4b51b8fd..000000000000
--- a/tools/UpdatePaths/Scripts/67107_turf_updates_2.txt
+++ /dev/null
@@ -1,118 +0,0 @@
-#comment This is the second turf updates txt. This one only reorganizes the work tree. Use the first one if you're trying to update your area typepaths for stations, then run this.
-
-/area/centcom/control : /area/centcom/central_command_areas/control
-/area/centcom/evacuation : /area/centcom/central_command_areas/evacuation
-/area/centcom/evacuation/ship : /area/centcom/central_command_areas/evacuation/ship
-/area/centcom/fore : /area/centcom/central_command_areas/fore
-/area/centcom/supply : /area/centcom/central_command_areas/supply
-/area/centcom/ferry : /area/centcom/central_command_areas/ferry
-/area/centcom/briefing : /area/centcom/central_command_areas/briefing
-/area/centcom/armory : /area/centcom/central_command_areas/armory
-/area/centcom/admin : /area/centcom/central_command_areas/admin
-/area/centcom/admin/storage : /area/centcom/central_command_areas/admin/storage
-/area/centcom/prison : /area/centcom/central_command_areas/prison
-/area/centcom/prison/cells : /area/centcom/central_command_areas/prison/cells
-/area/centcom/courtroom : /area/centcom/central_command_areas/courtroom
-/area/centcom/holding : /area/centcom/central_command_areas/holding
-/area/centcom/supplypod/supplypod_temp_holding : /area/centcom/central_command_areas/supplypod/supplypod_temp_holding
-/area/centcom/supplypod : /area/centcom/central_command_areas/supplypod
-/area/centcom/supplypod/pod_storage : /area/centcom/central_command_areas/supplypod/pod_storage
-/area/centcom/supplypod/loading : /area/centcom/central_command_areas/supplypod/loading
-/area/centcom/supplypod/loading/one : /area/centcom/central_command_areas/supplypod/loading/one
-/area/centcom/supplypod/loading/two : /area/centcom/central_command_areas/supplypod/loading/two
-/area/centcom/supplypod/loading/three : /area/centcom/central_command_areas/supplypod/loading/three
-/area/centcom/supplypod/loading/four : /area/centcom/central_command_areas/supplypod/loading/four
-/area/centcom/supplypod/loading/ert : /area/centcom/central_command_areas/supplypod/loading/ert
-
-/area/tdome : /area/centcom/tdome
-/area/tdome/arena : /area/centcom/tdome/arena
-/area/tdome/arena_source : /area/centcom/tdome/arena_source
-/area/tdome/tdome1 : /area/centcom/tdome/tdome1
-/area/tdome/tdome2 : /area/centcom/tdome/tdome2
-/area/tdome/administration : /area/centcom/tdome/administration
-/area/tdome/observation : /area/centcom/tdome/observation
-
-/area/wizard_station : /area/centcom/wizard_station
-/area/abductor_ship : /area/centcom/abductor_ship
-/area/syndicate_mothership : /area/centcom/syndicate_mothership
-/area/syndicate_mothership/control : /area/centcom/syndicate_mothership/control
-/area/syndicate_mothership/expansion_bombthreat : /area/centcom/syndicate_mothership/expansion_bombthreat
-/area/syndicate_mothership/expansion_bioterrorism : /area/centcom/syndicate_mothership/expansion_bioterrorism
-/area/syndicate_mothership/expansion_chemicalwarfare : /area/centcom/syndicate_mothership/expansion_chemicalwarfare
-/area/syndicate_mothership/expansion_fridgerummage :/area/centcom/syndicate_mothership/expansion_fridgerummage
-/area/syndicate_mothership/elite_squad : /area/centcom/syndicate_mothership/elite_squad
-
-/area/heretic_sacrifice : /area/centcom/heretic_sacrifice
-/area/heretic_sacrifice/ash : /area/centcom/heretic_sacrifice/ash
-/area/heretic_sacrifice/void : /area/centcom/heretic_sacrifice/void
-/area/heretic_sacrifice/flesh : /area/centcom/heretic_sacrifice/flesh
-/area/heretic_sacrifice/rust : /area/centcom/heretic_sacrifice/rust
-
-/area/ctf : /area/centcom/ctf
-/area/ctf/control_room : /area/centcom/ctf/control_room
-/area/ctf/control_room2 : /area/centcom/ctf/control_room2
-/area/ctf/central : /area/centcom/ctf/central
-/area/ctf/main_hall : /area/centcom/ctf/main_hall
-/area/ctf/main_hall2 : /area/centcom/ctf/main_hall2
-/area/ctf/corridor : /area/centcom/ctf/corridor
-/area/ctf/corridor2: /area/centcom/ctf/corridor2
-/area/ctf/flag_room : /area/centcom/ctf/flag_room
-/area/ctf/flag_room2 : /area/centcom/ctf/flag_room2
-
-/area/start : /area/misc/start
-/area/testroom : /area/misc/testroom
-
-/area/ai_monitored : /area/station/ai_monitored
-/area/ai_monitored/turret_protected : /area/station/ai_monitored/turret_protected
-/area/ai_monitored : /area/station/ai_monitored
-/area/ai_monitored/aisat/exterior : /area/station/ai_monitored/aisat/exterior
-/area/ai_monitored/command/storage/satellite : /area/station/ai_monitored/command/storage/satellite
-/area/ai_monitored/turret_protected : /area/station/ai_monitored/turret_protected
-/area/ai_monitored/turret_protected/ai_upload : /area/station/ai_monitored/turret_protected/ai_upload
-/area/ai_monitored/turret_protected/ai_upload_foyer : /area/station/ai_monitored/turret_protected/ai_upload_foyer
-/area/ai_monitored/turret_protected/ai : /area/station/ai_monitored/turret_protected/ai
-/area/ai_monitored/turret_protected/aisat : /area/station/ai_monitored/turret_protected/aisat
-/area/ai_monitored/turret_protected/aisat/atmos : /area/station/ai_monitored/turret_protected/aisat/atmos
-/area/ai_monitored/turret_protected/aisat/foyer : /area/station/ai_monitored/turret_protected/aisat/foyer
-/area/ai_monitored/turret_protected/aisat/service : /area/station/ai_monitored/turret_protected/aisat/service
-/area/ai_monitored/turret_protected/aisat/hallway : /area/station/ai_monitored/turret_protected/aisat/hallway
-/area/ai_monitored/turret_protected/aisat/maint : /area/station/ai_monitored/turret_protected/aisat/maint
-/area/ai_monitored/turret_protected/aisat_interior : /area/station/ai_monitored/turret_protected/aisat_interior
-/area/ai_monitored/turret_protected/ai_sat_ext_as : /area/station/ai_monitored/turret_protected/ai_sat_ext_as
-/area/ai_monitored/turret_protected/ai_sat_ext_ap : /area/station/ai_monitored/turret_protected/ai_sat_ext_ap
-/area/ai_monitored/command/storage/eva : /area/station/ai_monitored/command/storage/eva
-/area/ai_monitored/command/storage/eva/upper : /area/station/ai_monitored/command/storage/eva/upper
-/area/ai_monitored/command/nuke_storage : /area/station/ai_monitored/command/nuke_storage
-/area/ai_monitored/security/armory : /area/station/ai_monitored/security/armory
-/area/ai_monitored/security/armory/upper : /area/station/ai_monitored/security/armory/upper
-
-/area/tcommsat/oldaisat : /area/ruin/tcommsat_oldaisat
-
-/area/solars/ancientstation/charlie/solars : /area/ruin/solars/ancientstation/charlie/solars
-/area/solars/derelict_starboard : /area/ruin/solars/derelict_starboard
-/area/solars/derelict_aft : /area/ruin/solars/derelict_aft
-
-/area/ai_multicam_room : /area/centcom/ai_multicam_room
-
-/area/cordon : /area/misc/cordon
-
-/area/holodeck : /area/station/holodeck
-/area/holodeck/rec_center : /area/station/holodeck/rec_center
-/area/holodeck/rec_center/offstation_one : /area/station/holodeck/rec_center/offstation_one
-
-/area/asteroid : /area/centcom/asteroid
-/area/asteroid/nearstation : /area/centcom/asteroid/nearstation
-/area/asteroid/nearstation/bomb_site : /area/centcom/asteroid/nearstation/bomb_site
-
-/area/hilbertshotel : /area/misc/hilbertshotel
-/area/hilbertshotelstorage : /area/misc/hilbertshotelstorage
-
-/area/construction : /area/station/construction
-/area/construction/mining/aux_base : /area/station/construction/mining/aux_base
-/area/construction/storage_wing : /area/station/construction/storage_wing
-
-/area/mafia : /area/centcom/mafia
-
-/area/shuttle_arena : /area/shuttle/shuttle_arena
-
-/area/survivalpod : /area/misc/survivalpod
diff --git a/tools/UpdatePaths/Scripts/67324_misc_space_fix.txt b/tools/UpdatePaths/Scripts/67324_misc_space_fix.txt
deleted file mode 100644
index 6ae0987fa478..000000000000
--- a/tools/UpdatePaths/Scripts/67324_misc_space_fix.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-#comment We fucked up, run this to revert behavior.
-
-/area/misc/space : /area/space
-/area/misc/space/nearstation : /area/space/nearstation
diff --git a/tools/UpdatePaths/Scripts/67512_mail_sorting_to_shipping.txt b/tools/UpdatePaths/Scripts/67512_mail_sorting_to_shipping.txt
deleted file mode 100644
index 7a6699b354b2..000000000000
--- a/tools/UpdatePaths/Scripts/67512_mail_sorting_to_shipping.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-/obj/effect/mapping_helpers/airlock/access/any/supply/mail_sorting : /obj/effect/mapping_helpers/airlock/access/any/supply/shipping
-/obj effect/mapping_helpers/airlock/access/all/supply/mail_sorting : /obj/effect/mapping_helpers/airlock/access/all/supply/shipping
\ No newline at end of file
diff --git a/tools/UpdatePaths/Scripts/67761_floorvaredits_to_mappinghelpers.txt b/tools/UpdatePaths/Scripts/67761_floorvaredits_to_mappinghelpers.txt
deleted file mode 100644
index 05fed1cadb38..000000000000
--- a/tools/UpdatePaths/Scripts/67761_floorvaredits_to_mappinghelpers.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-/turf/open/floor/iron/@SUBTYPES{icon_state="damaged1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/iron/@SUBTYPES{icon_state="damaged2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/iron/@SUBTYPES{icon_state="damaged3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/iron/@SUBTYPES{icon_state="damaged4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/iron/@SUBTYPES{icon_state="damaged5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/iron/@SUBTYPES{icon_state="floorscorched1"} : /obj/effect/mapping_helpers/burnt_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/iron/@SUBTYPES{icon_state="floorscorched2"} : /obj/effect/mapping_helpers/burnt_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/plating/@SUBTYPES{icon_state="platingdmg1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/plating/@SUBTYPES{icon_state="platingdmg2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/plating/@SUBTYPES{icon_state="platingdmg3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/plating/@SUBTYPES{icon_state="panelscorched"} : /obj/effect/mapping_helpers/burnt_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken6"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken7"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken6"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken7"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_tile-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_tile-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_tile-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_large-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_large-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/wood/@SUBTYPES{icon_state="wood_large-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="silver_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="gold_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="diamond_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="plasma_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="uranium_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="bananium_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam1_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam2_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam3_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam4_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam5_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-
-/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
-/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP}
diff --git a/tools/UpdatePaths/Scripts/68004_varedited_signs_to_subtype_directionals.txt b/tools/UpdatePaths/Scripts/68004_varedited_signs_to_subtype_directionals.txt
deleted file mode 100644
index 2c9a3b1d62af..000000000000
--- a/tools/UpdatePaths/Scripts/68004_varedited_signs_to_subtype_directionals.txt
+++ /dev/null
@@ -1,452 +0,0 @@
-#comment This UpdatePaths File should move every single sign in-game into a directional subtype in order to help with cutting down on the lines in your average DMM file.
-#comment There are the obvious North, South, East, West directionals: but several maps do two pixelshifts in order to get the sign in a corner.
-#comment This UpdatePaths File accounts for this by setting the subtype to either East or West, and then giving the "north" and "south" effect by a pixelshift.
-#comment Somethings are just utterly inescapable, and it's niche enough to the point where I don't see the need to define an entirely new directional subclass, just for "southwest" to be a thing.
-#comment The old functionality of manually pixelshifting a sign will still remain, but this just gives mappers subtle cues as to what I would really like them to do.
-#comment Some people also didn't properly pixel_shift it (using something like 28 instead of 32), but it's not going to be possible to automate auditing all of those because UpdatePaths can't do ranges of numbers. Unfortunate.
-#comment One thing to note is that the @SUBTYPES variable does not work for what I'm trying to accomplish (I tried), so I'm going to be explicit with every subtype in this script. It hurts me more than it hurts you.
-
-#comment Warning Signs!
-
-/obj/structure/sign/warning{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/biohazard{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/biohazard/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/biohazard{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/biohazard/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/biohazard{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/biohazard/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/biohazard{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/biohazard/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/biohazard{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/biohazard/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/biohazard{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/biohazard/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/biohazard{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/biohazard/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/biohazard{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/biohazard/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/bodysposal{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/bodysposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/bodysposal{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/bodysposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/bodysposal{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/bodysposal/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/bodysposal{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/bodysposal/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/bodysposal{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/bodysposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/bodysposal{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/bodysposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/bodysposal{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/bodysposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/bodysposal{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/bodysposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/chem_diamond{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/chem_diamond/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/chem_diamond{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/chem_diamond/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/chem_diamond{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/chem_diamond/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/chem_diamond{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/chem_diamond/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/chem_diamond{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/chem_diamond/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/chem_diamond{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/chem_diamond/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/chem_diamond{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/chem_diamond/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/chem_diamond{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/chem_diamond/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/cold_temp{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/cold_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/cold_temp{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/cold_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/cold_temp{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/cold_temp/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/cold_temp{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/cold_temp/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/cold_temp{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/cold_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/cold_temp{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/cold_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/cold_temp{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/cold_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/cold_temp{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/cold_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/deathsposal{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/deathsposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/deathsposal{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/deathsposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/deathsposal{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/deathsposal/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/deathsposal{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/deathsposal/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/deathsposal{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/deathsposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/deathsposal{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/deathsposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/deathsposal{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/deathsposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/deathsposal{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/deathsposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/docking{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/docking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/docking{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/docking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/docking{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/docking/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/docking{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/docking/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/docking{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/docking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/docking{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/docking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/docking{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/docking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/docking{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/docking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/electric_shock{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/electric_shock/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/electric_shock{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/electric_shock/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/electric_shock{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/electric_shock/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/electric_shock{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/electric_shock/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/electric_shock{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/electric_shock/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/electric_shock{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/electric_shock/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/electric_shock{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/electric_shock/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/electric_shock{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/electric_shock/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/engine_safety{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/engine_safety/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/engine_safety{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/engine_safety/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/engine_safety{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/engine_safety/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/engine_safety{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/engine_safety/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/engine_safety{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/engine_safety/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/engine_safety{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/engine_safety/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/engine_safety{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/engine_safety/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/engine_safety{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/engine_safety/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/explosives{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/explosives/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/explosives/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/explosives/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/explosives{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/explosives/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/explosives{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/explosives/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/explosives{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/explosives/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/fire{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/fire/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/fire{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/fire/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/fire{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/fire/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/fire{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/fire/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/fire{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/fire/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/fire{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/fire/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/fire{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/fire/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/fire{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/fire/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/firing_range{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/firing_range/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/firing_range{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/firing_range/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/firing_range{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/firing_range/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/firing_range{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/firing_range/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/firing_range{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/firing_range/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/firing_range{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/firing_range/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/firing_range{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/firing_range/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/firing_range{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/firing_range/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/gas_mask{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/gas_mask/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/gas_mask{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/gas_mask/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/gas_mask{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/gas_mask/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/gas_mask{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/gas_mask/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/gas_mask{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/gas_mask/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/gas_mask{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/gas_mask/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/gas_mask{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/gas_mask/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/gas_mask{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/gas_mask/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/hot_temp{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/hot_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/hot_temp{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/hot_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/hot_temp{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/hot_temp/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/hot_temp{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/hot_temp/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/hot_temp{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/hot_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/hot_temp{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/hot_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/hot_temp{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/hot_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/hot_temp{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/hot_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/no_smoking{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/no_smoking/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/no_smoking{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/no_smoking{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/no_smoking{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/pods{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/pods/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/pods{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/pods/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/pods{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/pods/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/pods{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/pods/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/pods{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/pods/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/pods{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/pods/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/pods{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/pods/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/pods{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/pods/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/rad_shelter{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/rad_shelter/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/rad_shelter{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/rad_shelter/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/rad_shelter{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/rad_shelter/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/rad_shelter{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/rad_shelter/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/rad_shelter{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/rad_shelter/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/rad_shelter{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/rad_shelter/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/rad_shelter{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/rad_shelter/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/rad_shelter{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/rad_shelter/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/radiation{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/radiation/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/radiation/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/radiation/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/radiation{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/radiation/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/radiation{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/radiation/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/radiation{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/radiation/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/secure_area{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/secure_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/secure_area{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/secure_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/secure_area{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/secure_area/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/secure_area{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/secure_area/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/secure_area{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/secure_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/secure_area{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/secure_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/secure_area{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/secure_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/secure_area{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/secure_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/test_chamber{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/test_chamber/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/test_chamber{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/test_chamber/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/test_chamber{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/test_chamber/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/test_chamber{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/test_chamber/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/test_chamber{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/test_chamber/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/test_chamber{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/test_chamber/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/test_chamber{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/test_chamber/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/test_chamber{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/test_chamber/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/vacuum{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/vacuum/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/vacuum/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/vacuum{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/vacuum/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/vacuum{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/vacuum/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/vacuum{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/xeno_mining{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/xeno_mining/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/xeno_mining{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/xeno_mining/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/xeno_mining{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/xeno_mining/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/xeno_mining{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/xeno_mining/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/xeno_mining{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/xeno_mining/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/xeno_mining{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/xeno_mining/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/xeno_mining{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/xeno_mining/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/xeno_mining{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/xeno_mining/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/yes_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/yes_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/yes_smoking/circle/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/yes_smoking/circle/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/yes_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/yes_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/yes_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/yes_smoking/circle{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/yes_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/vacuum/external{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/external/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum/external{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/external/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum/external{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/vacuum/external/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum/external{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/vacuum/external/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/vacuum/external{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/external/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/vacuum/external{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/vacuum/external/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/vacuum/external{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/vacuum/external/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/vacuum/external{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/external/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/no_smoking/circle/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/circle/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/no_smoking/circle{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/explosives/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/explosives/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/explosives/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/explosives/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/explosives/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/explosives/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/explosives/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/explosives/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/explosives/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/explosives/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/explosives/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/rad_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/rad_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/radiation/rad_area/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/radiation/rad_area/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/radiation/rad_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/radiation/rad_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/radiation/rad_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/warning/radiation/rad_area{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/radiation/rad_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-#comment Departmental Signs!
-
-/obj/structure/sign/departments/botany{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/botany/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/botany{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/botany/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/botany{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/botany/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/botany{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/botany/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/botany{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/botany/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/botany{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/botany/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/botany{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/botany/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/botany{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/botany/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/cargo{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/cargo/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/cargo{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/cargo/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/cargo{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/cargo/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/cargo{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/cargo/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/cargo{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/cargo/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/cargo{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/cargo/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/cargo{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/cargo/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/cargo{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/cargo/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/chemistry{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/chemistry/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/chemistry/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/chemistry{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/chemistry/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/chemistry{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/chemistry/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/chemistry{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/court{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/court/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/court{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/court/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/court{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/court/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/court{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/court/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/court{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/court/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/court{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/court/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/court{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/court/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/court{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/court/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/custodian{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/custodian/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/custodian{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/custodian/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/custodian{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/custodian/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/custodian{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/custodian/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/custodian{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/custodian/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/custodian{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/custodian/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/custodian{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/custodian/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/custodian{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/custodian/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/drop{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/drop/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/drop{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/drop/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/drop{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/drop/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/drop{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/drop/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/drop{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/drop/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/drop{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/drop/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/drop{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/drop/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/drop{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/drop/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/engineering{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/engineering/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/engineering{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/engineering/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/engineering{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/engineering/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/engineering{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/engineering/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/engineering{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/engineering/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/engineering{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/engineering/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/engineering{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/engineering/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/engineering{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/engineering/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/evac{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/evac/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/evac{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/evac/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/evac{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/evac/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/evac{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/evac/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/evac{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/evac/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/evac{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/evac/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/evac{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/evac/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/evac{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/evac/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/exam_room{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/exam_room/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/exam_room{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/exam_room/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/exam_room{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/exam_room/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/exam_room{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/exam_room/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/exam_room{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/exam_room/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/exam_room{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/exam_room/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/exam_room{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/exam_room/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/exam_room{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/exam_room/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/holy{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/holy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/holy{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/holy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/holy{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/holy/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/holy{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/holy/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/holy{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/holy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/holy{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/holy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/holy{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/holy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/holy{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/holy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/lawyer{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/lawyer/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/lawyer{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/lawyer/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/lawyer{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/lawyer/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/lawyer{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/lawyer/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/lawyer{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/lawyer/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/lawyer{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/lawyer/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/lawyer{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/lawyer/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/lawyer{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/lawyer/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/maint{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/maint/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/maint/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/maint/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/maint{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/maint/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/maint{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/maint/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/maint{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/maint/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/medbay{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/medbay/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/medbay/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/medbay/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/medbay{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/medbay/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/medbay{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/medbay/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/medbay{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/medbay/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/psychology{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/psychology/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/psychology{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/psychology/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/psychology{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/psychology/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/psychology{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/psychology/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/psychology{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/psychology/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/psychology{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/psychology/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/psychology{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/psychology/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/psychology{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/psychology/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/restroom{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/restroom/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/restroom{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/restroom/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/restroom{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/restroom/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/restroom{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/restroom/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/restroom{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/restroom/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/restroom{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/restroom/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/restroom{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/restroom/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/restroom{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/restroom/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/science{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/science/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/science/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/science/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/science{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/science/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/science{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/science/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/science{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/science/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/security{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/security/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/security{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/security/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/security{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/security/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/security{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/security/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/security{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/security/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/security{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/security/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/security{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/security/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/security{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/security/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/xenobio{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/xenobio/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/xenobio{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/xenobio/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/xenobio{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/xenobio/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/xenobio{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/xenobio/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/xenobio{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/xenobio/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/xenobio{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/xenobio/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/xenobio{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/xenobio/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/xenobio{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/xenobio/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/pharmacy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/pharmacy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/maint/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/maint/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/maint/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/maint/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/maint/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/maint/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/maint/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/maint/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/maint/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/maint/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/maint/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/medbay/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/medbay/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/medbay/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/medbay/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/medbay/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/medbay/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/medbay/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/medbay/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/medbay/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/medbay/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/medbay/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}
-
-/obj/structure/sign/departments/science/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/science/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/science/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP}
-/obj/structure/sign/departments/science/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/science/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32}
-/obj/structure/sign/departments/science/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/science/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/science/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/science/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32}
-/obj/structure/sign/departments/science/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/science/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32}