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

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

* set script PR number

* fix broken updatepaths for three course meal

* make filenames unique

* goddamnit

* redirect incorrect icon states

* ugh

* fix typepath fixes
This commit is contained in:
warriorstar-orion
2024-12-06 10:05:38 -05:00
committed by GitHub
parent 584e6b26d5
commit af2a3daf22
29 changed files with 842 additions and 849 deletions
@@ -39,7 +39,7 @@
/area/ruin/powered/pizza_party)
"k" = (
/obj/structure/table/wood,
/obj/effect/spawner/lootdrop/pizzaparty,
/obj/effect/spawner/random/pizzaparty,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/wood/lavaland_air,
/area/ruin/powered/pizza_party)
@@ -48,7 +48,7 @@
dir = 4
},
/obj/structure/table/wood,
/obj/effect/spawner/lootdrop/pizzaparty,
/obj/effect/spawner/random/pizzaparty,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb2,
/turf/simulated/floor/wood/lavaland_air,
@@ -111,7 +111,7 @@
/area/ruin/powered/pizza_party)
"x" = (
/obj/structure/table/wood,
/obj/effect/spawner/lootdrop/pizzaparty,
/obj/effect/spawner/random/pizzaparty,
/turf/simulated/floor/wood/lavaland_air,
/area/ruin/powered/pizza_party)
"y" = (
@@ -62,7 +62,7 @@
/area/ruin/powered/seedvault)
"ed" = (
/obj/structure/closet/crate/freezer,
/obj/effect/spawner/lootdrop/seed_vault,
/obj/effect/spawner/random/seed_vault,
/turf/simulated/floor/plasteel/freezer,
/area/ruin/powered/seedvault)
"eI" = (
@@ -1277,7 +1277,7 @@
/area/ruin/space/deepstorage)
"gq" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/bluespace_tap/cultural,
/obj/effect/spawner/random/bluespace_tap/cultural,
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "vault"
@@ -2659,7 +2659,7 @@
/obj/item/salvage/ruin/soviet,
/obj/structure/rack,
/obj/item/stack/spacecash/c500,
/obj/effect/spawner/lootdrop/bluespace_tap/cultural,
/obj/effect/spawner/random/bluespace_tap/cultural,
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "vault"
@@ -2669,7 +2669,7 @@
/obj/structure/rack,
/obj/effect/turf_decal/delivery/hollow,
/obj/item/stack/spacecash/c500,
/obj/effect/spawner/lootdrop/bluespace_tap/organic,
/obj/effect/spawner/random/bluespace_tap/organic,
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "vault"
@@ -5468,7 +5468,7 @@
"IR" = (
/obj/effect/turf_decal/delivery/hollow,
/obj/structure/rack,
/obj/effect/spawner/lootdrop/bluespace_tap/organic,
/obj/effect/spawner/random/bluespace_tap/organic,
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "vault"
@@ -36,7 +36,7 @@
/turf/simulated/floor/mineral/titanium/blue/airless,
/area/ruin/space/unpowered)
"k" = (
/obj/effect/spawner/lootdrop/crate_spawner,
/obj/effect/spawner/random/loot/crate,
/turf/simulated/floor/mineral/titanium/blue/airless,
/area/ruin/space/unpowered)
"l" = (
@@ -1,6 +1,6 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aN" = (
/obj/effect/spawner/lootdrop/crate_spawner,
/obj/effect/spawner/random/loot/crate,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/ruin/space/unpowered)
@@ -65,7 +65,7 @@
/turf/simulated/floor/plating,
/area/ruin/space/unpowered)
"jz" = (
/obj/effect/spawner/lootdrop/crate_spawner,
/obj/effect/spawner/random/loot/crate,
/turf/simulated/floor/plasteel,
/area/ruin/space/unpowered)
"kb" = (
@@ -124,7 +124,7 @@
/turf/simulated/floor/plasteel,
/area/ruin/space/unpowered)
"qF" = (
/obj/effect/spawner/lootdrop/crate_spawner,
/obj/effect/spawner/random/loot/crate,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb2,
/turf/simulated/floor/plasteel,
@@ -13,7 +13,7 @@
/turf/simulated/floor/plating,
/area/ruin/space/unpowered)
"e" = (
/obj/effect/spawner/lootdrop/crate_spawner,
/obj/effect/spawner/random/loot/crate,
/turf/simulated/floor/plating,
/area/ruin/space/unpowered)
"f" = (
@@ -73,7 +73,7 @@
},
/area/ruin/space/telecomms/chamber)
"bP" = (
/obj/effect/spawner/lootdrop/telecomms_core_table,
/obj/effect/spawner/random/telecomms_core_table,
/obj/machinery/ai_slipper,
/obj/structure/table/glass/reinforced/plastitanium,
/turf/simulated/floor/plasteel{
@@ -607,7 +607,7 @@
/area/space/nearstation/no_teleport)
"mD" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/bluespace_tap/organic,
/obj/effect/spawner/random/bluespace_tap/organic,
/turf/simulated/floor/plasteel,
/area/ruin/space/telecomms)
"mH" = (
@@ -716,7 +716,7 @@
pixel_x = 32;
pixel_y = 0
},
/obj/effect/spawner/lootdrop/bluespace_tap/cultural,
/obj/effect/spawner/random/bluespace_tap/cultural,
/turf/simulated/floor/plasteel,
/area/ruin/space/telecomms)
"oe" = (
@@ -2495,7 +2495,7 @@
/area/ruin/space/telecomms/tele)
"Qg" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/bluespace_tap/cultural,
/obj/effect/spawner/random/bluespace_tap/cultural,
/turf/simulated/floor/plasteel,
/area/ruin/space/telecomms)
"Qx" = (
@@ -479,7 +479,7 @@
/obj/structure/closet/crate{
opened = 1
},
/obj/effect/spawner/lootdrop/wizardcrash,
/obj/effect/spawner/random/wizardcrash,
/turf/simulated/floor/plating,
/area/ruin/space/powered)
"bP" = (
+10 -10
View File
@@ -4388,7 +4388,7 @@
},
/area/syndicate_mothership)
"oI" = (
/obj/effect/spawner/lootdrop/trade_sol/civ,
/obj/effect/spawner/random/traders/civilian,
/obj/structure/closet,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
@@ -4419,7 +4419,7 @@
},
/area/tdome/tdomeobserve)
"oL" = (
/obj/effect/spawner/lootdrop/trade_sol/minerals,
/obj/effect/spawner/random/traders/minerals,
/obj/structure/closet,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
@@ -4471,7 +4471,7 @@
/obj/machinery/light/spot{
dir = 1
},
/obj/effect/spawner/lootdrop/trade_sol/donksoft,
/obj/effect/spawner/random/traders/donksoft,
/obj/structure/closet,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
@@ -5309,7 +5309,7 @@
/turf/simulated/wall/mineral/plastitanium,
/area/shuttle/assault_pod)
"rK" = (
/obj/effect/spawner/lootdrop/trade_sol/sci,
/obj/effect/spawner/random/traders/science,
/obj/structure/closet,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
@@ -5384,7 +5384,7 @@
/turf/simulated/floor/mineral/titanium,
/area/shuttle/transport)
"rY" = (
/obj/effect/spawner/lootdrop/trade_sol/med,
/obj/effect/spawner/random/traders/medical,
/obj/structure/closet,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
@@ -6142,7 +6142,7 @@
},
/area/centcom/evac)
"uP" = (
/obj/effect/spawner/lootdrop/trade_sol/sec,
/obj/effect/spawner/random/traders/security,
/obj/structure/closet,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
@@ -6188,7 +6188,7 @@
/turf/simulated/floor/plating/asteroid/snow/airless,
/area/syndicate_mothership)
"vb" = (
/obj/effect/spawner/lootdrop/trade_sol/eng,
/obj/effect/spawner/random/traders/engineering,
/obj/structure/closet,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
@@ -6485,16 +6485,16 @@
/turf/simulated/floor/carpet,
/area/admin)
"vY" = (
/obj/effect/spawner/lootdrop/trade_sol/largeitem,
/obj/effect/spawner/random/traders/large_item,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
"vZ" = (
/obj/effect/spawner/lootdrop/trade_sol/vehicle,
/obj/effect/spawner/random/traders/vehicle,
/turf/simulated/floor/mineral/titanium,
/area/shuttle/trade/sol)
"wa" = (
/obj/machinery/light/spot,
/obj/effect/spawner/lootdrop/trade_sol/serv,
/obj/effect/spawner/random/traders/service,
/obj/structure/closet,
/obj/item/stack/tile/disco_light/thirty,
/turf/simulated/floor/mineral/titanium,
+10 -10
View File
@@ -29129,10 +29129,6 @@
/obj/effect/turf_decal/delivery/hollow,
/turf/simulated/floor/plasteel,
/area/station/command/teleporter)
"bXq" = (
/obj/effect/mapping_helpers/turfs/rust/maybe,
/turf/simulated/wall/r_wall,
/area/station/maintenance/asmaint2)
"bXB" = (
/turf/simulated/floor/plasteel{
dir = 4;
@@ -51085,7 +51081,7 @@
/area/station/engineering/atmos)
"eUk" = (
/obj/structure/closet/crate/freezer,
/obj/effect/spawner/lootdrop/three_course_meal,
/obj/effect/spawner/random/food_or_drink/three_course_meal,
/obj/effect/spawner/random/maintenance,
/turf/simulated/floor/plating,
/area/station/maintenance/disposal)
@@ -61810,7 +61806,7 @@
/turf/simulated/wall/r_wall,
/area/station/engineering/gravitygenerator)
"kzB" = (
/obj/effect/spawner/lootdrop/three_course_meal,
/obj/effect/spawner/random/food_or_drink/three_course_meal,
/obj/structure/closet/crate/freezer,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
@@ -69578,6 +69574,10 @@
icon_state = "whitepurple"
},
/area/station/science/rnd)
"oyY" = (
/obj/effect/mapping_helpers/turfs/rust/maybe,
/turf/simulated/wall/r_wall,
/area/station/maintenance/asmaint2)
"ozk" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -132455,7 +132455,7 @@ cuQ
bGG
cKQ
jxu
bXq
oyY
bGG
bKl
dgy
@@ -132715,8 +132715,8 @@ bGG
dCw
bGG
qZN
bXq
bXq
oyY
oyY
pUR
bGG
qZN
@@ -133226,7 +133226,7 @@ cuQ
lpS
cLc
bGG
bXq
oyY
bYk
bKd
oJZ
+1 -1
View File
@@ -176,7 +176,7 @@
pixel_x = -4;
pixel_y = 1
},
/obj/effect/spawner/lootdrop/three_course_meal,
/obj/effect/spawner/random/food_or_drink/three_course_meal,
/turf/simulated/floor/carpet/black,
/area/survivalpod)
"C" = (
@@ -1,596 +0,0 @@
/obj/effect/spawner/lootdrop
icon = 'icons/effects/spawner_icons.dmi'
icon_state = "questionmark"
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)
/obj/effect/spawner/lootdrop/Initialize(mapload)
. = ..()
while(lootcount)
var/lootspawn = pickweight(loot)
if(!lootdoubles)
loot.Remove(lootspawn)
if(lootspawn)
new lootspawn(get_turf(src))
lootcount--
qdel(src)
/obj/effect/spawner/lootdrop/armory_contraband
name = "armory contraband gun spawner"
lootdoubles = FALSE
loot = list(
/obj/item/gun/projectile/automatic/pistol = 8,
/obj/item/gun/projectile/shotgun/automatic/combat = 5,
/obj/item/gun/projectile/revolver/mateba,
/obj/item/gun/projectile/automatic/pistol/deagle
)
/// for ruins
/obj/effect/spawner/lootdrop/crate_spawner
name = "lootcrate spawner"
lootdoubles = FALSE
loot = list(
/obj/structure/closet/crate/secure/loot = 20,
"" = 80,
)
/obj/effect/spawner/lootdrop/trade_sol/
name = "trader item spawner"
lootcount = 6
/obj/effect/spawner/lootdrop/trade_sol/civ
name = "1. civilian gear"
loot = list(
// General utility gear
/obj/item/clothing/gloves/combat = 100,
/obj/item/reagent_containers/spray/cleaner/advanced = 100,
/obj/item/soap = 50,
/obj/item/clothing/under/syndicate/combat = 50,
/obj/item/soap/syndie = 50,
/obj/item/clothing/under/costume/psyjump = 50,
/obj/item/immortality_talisman = 50,
/obj/item/clothing/mask/holo_cigar = 100,
/obj/item/storage/box/syndie_kit/chameleon = 50, //costumes!
/obj/item/storage/backpack/satchel_flat = 50,
/obj/item/book_of_babel = 50,
/obj/item/clothing/mask/whistle = 50
)
/obj/effect/spawner/lootdrop/trade_sol/minerals
name = "2. minerals"
loot = list(
// Common stuff you get from mining which isn't already present on the station
// Note that plasma and derived hybrid materials are NOT included in this list because plasma is the trader's objective!
/obj/item/stack/sheet/mineral/silver = 50,
/obj/item/stack/sheet/mineral/gold = 50,
/obj/item/stack/sheet/mineral/uranium = 50,
/obj/item/stack/sheet/mineral/diamond = 50,
/obj/item/stack/sheet/mineral/titanium = 50,
/obj/item/stack/sheet/plasteel = 50,
// Hybrid stuff you could in theory get from mining
/obj/item/stack/sheet/titaniumglass = 50,
// Rare stuff you can't get from mining
/obj/item/stack/sheet/mineral/tranquillite = 50,
/obj/item/stack/sheet/mineral/bananium = 50,
/obj/item/stack/sheet/wood = 50,
/obj/item/stack/sheet/plastic = 50,
/obj/item/stack/sheet/mineral/sandstone = 50
)
/obj/effect/spawner/lootdrop/trade_sol/minerals/Initialize(mapload)
while(lootcount)
var/lootspawn = pickweight(loot)
loot -= lootspawn //We do this as the minerals will merge, and if duplicates roll they add one to the stack, instead of doubling.
var/obj/item/stack/sheet/S = new lootspawn(get_turf(src))
S.amount = 25
lootcount--
. = ..()
/obj/effect/spawner/lootdrop/trade_sol/donksoft
name = "3. donksoft gear"
loot = list(
// Donksoft guns
/obj/item/gun/projectile/automatic/c20r/toy = 50,
/obj/item/gun/projectile/automatic/l6_saw/toy = 50,
/obj/item/gun/projectile/automatic/toy/pistol = 100,
/obj/item/gun/projectile/automatic/toy/pistol/enforcer = 50,
/obj/item/gun/projectile/shotgun/toy = 50,
/obj/item/gun/projectile/shotgun/toy/crossbow = 50,
/obj/item/gun/projectile/shotgun/toy/tommygun = 50,
/obj/item/gun/projectile/automatic/sniper_rifle/toy = 50
)
/obj/effect/spawner/lootdrop/trade_sol/sci
name = "4. science gear"
loot = list(
// Robotics
/obj/item/assembly/signaler/anomaly/random = 50, // anomaly core
/obj/item/mecha_parts/mecha_equipment/weapon/energy/xray = 25, // mecha x-ray laser
/obj/item/mecha_parts/mecha_equipment/teleporter/precise = 25, // upgraded mecha teleporter
/obj/item/autosurgeon/organ = 50,
/obj/item/mod/construction/plating/research = 25,
// Research
/obj/item/paper/researchnotes = 125, // papers that give random R&D levels
/obj/item/storage/box/telescience = 25, // Code green or blue. Probably not antags. People haven't touched it in ages. Let us see what happens.
// Xenobio
/obj/item/slimepotion/sentience = 50, // Low-value, but we want to encourage getting more players back in the round.
/obj/item/slimepotion/transference = 50,
// Might as well let AI be interested
/obj/item/surveillance_upgrade = 25
)
/obj/effect/spawner/lootdrop/trade_sol/med
name = "5. medical gear"
loot = list(
// Medchem
/obj/item/storage/pill_bottle/random_meds/labelled = 100, // random medical and other chems
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 50,
// Surgery
/obj/item/organ/internal/heart/gland/ventcrawling = 50,
/obj/item/organ/internal/heart/gland/heals = 50,
// Genetics Research (should really be under science, but I was stuck for items to put in medical)
/obj/item/dnainjector/regenerate = 50, // regeneration
/obj/item/dnainjector/nobreath = 50,
/obj/item/dnainjector/telemut = 50,
// Medical in general
/obj/item/mod/construction/plating/rescue = 25,
/obj/item/gun/medbeam = 25, //Antags can see this to remove it if a threat, unlikely to happen with another midround
/obj/item/bodyanalyzer = 25,
/obj/item/circuitboard/sleeper/syndicate = 25
)
/obj/effect/spawner/lootdrop/trade_sol/sec
name = "6. security gear"
loot = list(
// Melee
/obj/item/kitchen/knife/combat = 50,
/obj/item/fluff/desolate_baton_kit = 50, // permission granted by Desolate to use their fluff kit in this loot table
// Utility
/obj/item/storage/belt/military/assault = 50,
/obj/item/clothing/mask/gas/sechailer/swat = 50,
/obj/item/clothing/glasses/thermal = 50, // see heat-source mobs through walls. Less powerful than already-available xray.
/obj/item/mod/construction/plating/safeguard = 25,
/obj/item/mod/module/power_kick = 50,
/obj/item/storage/box/syndie_kit/camera_bug = 25, //Camera viewing on the go, planting cameras with detective work? Could be interesting!
// Ranged weapons
/obj/item/storage/box/enforcer_rubber = 50, //Lethal ammo can be printed at an autolathe, so no need for the lethal subtype
/obj/item/gun/projectile/shotgun/automatic/dual_tube = 100, // cycler shotgun, not normally available to crew
/obj/item/weaponcrafting/gunkit/universal_gun_kit/sol_gov = 20
)
/obj/effect/spawner/lootdrop/trade_sol/eng
name = "7. eng gear"
lootcount = 8 //increased due to this pool being a bit more... niche?
loot = list(
/obj/item/storage/belt/utility/chief/full = 25,
/obj/item/rcd/combat = 25,
/obj/item/rpd/bluespace = 25,
/obj/item/tank/internals/emergency_oxygen/double = 25,
/obj/item/storage/backpack/holding = 25,
/obj/item/clothing/glasses/meson/night = 25, // NV mesons
/obj/item/clothing/glasses/material = 25, // shows objects, but not mobs, through walls
/obj/item/mod/construction/plating/advanced = 25,
/obj/item/mod/module/jetpack/advanced = 25,
/obj/item/slimepotion/oil_slick = 25, //Suggested by discord, moderately common but not as common as most rnd things
/obj/item/holosign_creator/atmos = 25
)
/obj/effect/spawner/lootdrop/trade_sol/largeitem
name = "8. largeitem"
lootcount = 1
loot = list(
/obj/machinery/disco = 20,
/obj/structure/spirit_board = 20,
/obj/mecha/combat/durand/old = 20,
/obj/machinery/snow_machine = 20,
/obj/machinery/cooker/cerealmaker = 20
)
/obj/effect/spawner/lootdrop/trade_sol/vehicle
name = "9. vehicle"
loot = list(
/obj/vehicle/motorcycle = 50,
/obj/vehicle/snowmobile = 50,
/obj/vehicle/snowmobile/blue = 50,
/obj/vehicle/space/speedbike/red = 50,
/obj/vehicle/space/speedbike = 50
)
/obj/effect/spawner/lootdrop/trade_sol/vehicle/Initialize(mapload)
while(lootcount)
var/lootspawn = pickweight(loot)
var/obj/vehicle/V = new lootspawn(get_turf(src))
if(V.key_type)
V.inserted_key = new V.key_type(V)
lootcount--
. = ..()
/obj/effect/spawner/lootdrop/trade_sol/serv
name = "10. service gear"
loot = list(
// Mining
/obj/item/pickaxe/drill/jackhammer = 100,
/obj/item/gun/energy/kinetic_accelerator/experimental = 100,
/obj/item/borg/upgrade/modkit/aoe/turfs/andmobs = 100,
// Botanist
/obj/item/storage/box/botany_labelled_seeds = 100,
// Clown
/obj/item/grenade/clusterbuster/honk = 100,
/obj/item/bikehorn/golden = 100,
/obj/item/gun/throw/piecannon = 100,
// Bartender
/obj/item/storage/box/bartender_rare_ingredients_kit = 100,
// Chef
/obj/item/storage/box/chef_rare_ingredients_kit = 100,
/obj/item/mod/module/dispenser = 50, // Prints burgers. When you want to be space mcdonalds.
// It would be nice to also have items for other service jobs: Mime, Librarian, Chaplain, etc
// Chaplain
/obj/structure/constructshell = 50 //Fuck it we ball what could go wrong
)
/obj/effect/spawner/lootdrop/trade_sol/federation_minor
name = "11. trans-solar federation small gear"
loot = list(
/obj/item/storage/box/enforcer_rubber = 50,
/obj/item/lighter/zippo/gonzofist = 50,
/obj/item/clothing/glasses/welding/superior = 50,
/obj/item/clothing/suit/armor/bulletproof = 50,
/obj/item/clothing/mask/gas/explorer/marines = 50,
/obj/item/clothing/gloves/combat = 50,
/obj/item/storage/belt/military/assault = 50,
/obj/item/clothing/under/solgov = 50,
/obj/item/mod/module/dispenser = 50,
/obj/item/flag/solgov = 30
)
/obj/effect/spawner/lootdrop/trade_sol/federation_major
name = "12. trans-solar federation large gear"
lootcount = 3
loot = list(
/obj/item/storage/box/deagle = 20, //One mag
/obj/item/gun/projectile/automatic/pistol/m1911 = 30, //Again, one mag. Don't lose it.
/obj/item/melee/baseball_bat/homerun = 50,
/obj/item/rcd/combat = 50,
/obj/item/weaponcrafting/gunkit/universal_gun_kit/sol_gov = 50,
/obj/item/storage/fancy/shell/buck = 30, //Only eight shots, make them count
/obj/item/mod/module/noslip = 40,
/obj/item/clothing/mask/holo_cigar = 50
)
/obj/effect/spawner/lootdrop/trade_sol/cybersun_minor
name = "11. cybersun industries small gear"
loot = list(
/obj/item/storage/box/syndidonkpockets = 50,
/obj/item/clothing/suit/jacket/bomber/syndicate = 50,
/obj/item/storage/box/syndie_kit/space = 50,
/obj/item/clothing/glasses/meson/sunglasses = 50,
/obj/item/storage/pill_bottle/zoom = 50,
/obj/item/clothing/mask/gas/voice_modulator/chameleon = 50,
/obj/item/mecha_parts/mecha_equipment/weapon/energy/xray = 30,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine = 30,
/obj/item/flag/syndi = 30
)
// Damn near all of this is illegal. Gives officers something to do on a shift quiet enough to spawn traders.
/obj/effect/spawner/lootdrop/trade_sol/cybersun_major
name = "12. cybersun industries large gear"
lootcount = 3
loot = list(
/obj/item/shield/energy = 20,
/obj/item/gun/projectile/automatic/pistol = 50,
/obj/item/bio_chip_implanter/storage = 50,
/obj/item/melee/knuckleduster/syndie = 50,
/obj/item/clothing/glasses/thermal/eyepatch = 50,
/obj/item/toy/syndicateballoon = 60,
/obj/item/organ/internal/cyberimp/arm/razorwire = 30,
/obj/item/organ/internal/cyberimp/arm/shell_launcher = 30,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg/dual = 30,
/obj/item/clothing/mask/holo_cigar = 50,
/obj/mecha/combat/marauder/mauler/trader = 3 //Extremely rare, unloaded so crew need to arm it for it to have any use. Also most definitely needs one helluva permit.
)
lootdoubles = FALSE //No double mechs.
/obj/effect/spawner/lootdrop/trade_sol/ussp_minor
name = "11. USSP small gear"
lootcount = 8 //Mostly flavor items
loot = list(
/obj/item/clothing/under/new_soviet = 50,
/obj/item/clothing/suit/sovietcoat = 50,
/obj/item/clothing/head/ushanka = 50,
/obj/item/food/grown/potato = 50,
/obj/item/reagent_containers/drinks/bottle/vodka/badminka = 50,
/obj/item/clothing/head/sovietsidecap = 50,
/obj/item/flag/ussp = 30,
/obj/item/ammo_box/magazine/apsm10mm = 15, //Spare mags for APS pistol. Sometimes you don't get the APS, in which case, soviet logistics.
/obj/item/ammo_box/a762 = 15
)
// Lots of things to write permits for. Gives officers something to do on a shift quiet enough to spawn traders.
/obj/effect/spawner/lootdrop/trade_sol/ussp_major
name = "12. USSP large gear"
lootcount = 2 //Lots of dangerous stuff here - reduced amount
loot = list(
/obj/item/gun/projectile/revolver/nagant = 50,
/obj/item/gun/projectile/automatic/pistol/aps = 30,
/obj/item/gun/projectile/shotgun/boltaction = 50,
/obj/item/clothing/suit/space/hardsuit/soviet = 40,
/obj/item/clothing/glasses/thermal/eyepatch = 50,
/obj/item/clothing/mask/holo_cigar = 10
)
/obj/effect/spawner/lootdrop/trade_sol/glintscale_minor
name = "11. glint-scale small gear"
loot = list(
/obj/item/clothing/suit/armor/vest/combat = 50,
/obj/item/clothing/under/syndicate/combat = 50,
/obj/item/claymore/ceremonial = 50,
/obj/item/harpoon = 50,
/obj/item/nullrod/claymore/chainsaw_sword = 50,
/obj/item/whetstone = 50,
/obj/item/flag/species/unathi = 20,
/obj/item/clothing/suit/armor/riot/knight/templar = 40,
/obj/item/clothing/head/helmet/riot/knight/templar = 40,
/obj/item/clothing/suit/unathi/robe = 20
)
/obj/effect/spawner/lootdrop/trade_sol/glintscale_major
name = "12. glint-scale large gear"
lootcount = 3
loot = list(
/obj/item/melee/energy/sword/pirate = 30,
/obj/item/storage/box/breacher = 30,
/obj/item/fireaxe = 50,
/obj/item/fireaxe/boneaxe = 50,
/obj/item/gun/energy/kinetic_accelerator/crossbow/large = 10 //Big ebow.
)
/obj/effect/spawner/lootdrop/trade_sol/steadfast_minor
name = "11. steadfast trading co. small gear"
lootcount = 8 //Since it's a lot of seeds, boosted amount
loot = list(
/obj/item/storage/box/botany_labelled_seeds = 50,
/obj/item/seeds/chili/ice = 20,
/obj/item/seeds/chili/ghost = 20,
/obj/item/seeds/cannabis/ultimate = 10,
/obj/item/seeds/cannabis/white = 20,
/obj/item/seeds/wheat/meat = 20,
/obj/item/seeds/glowshroom = 20,
/obj/item/seeds/glowshroom/glowcap = 20,
/obj/item/seeds/tobacco/space = 20,
/obj/item/storage/box/hydroponics_starter = 40,
/obj/item/mod/module/thermal_regulator = 20,
/obj/item/flag/species/vulp = 20
)
/obj/effect/spawner/lootdrop/trade_sol/steadfast_major
name = "12. steadfast trading co. large gear"
lootcount = 3
loot = list(
/obj/item/mod/construction/plating/research = 30,
/obj/item/assembly/signaler/anomaly/random = 20,
/obj/item/gun/energy/gun = 50,
/obj/item/storage/fancy/shell/dragonsbreath = 30,
/obj/item/storage/box/turbine_kit = 20,
/obj/item/mod/module/firefighting_tank = 40,
/obj/item/mod/module/jetpack/advanced = 40
)
/obj/effect/spawner/lootdrop/trade_sol/syntheticunion_minor
name = "11. synthetic union small gear"
lootcount = 8 //A lot of these are available on station, so the amount of items spawned here is increased
loot = list(
/obj/item/clothing/glasses/meson/sunglasses = 50,
/obj/item/clothing/glasses/thermal/monocle = 50,
/obj/item/organ/internal/cyberimp/arm/toolset = 50,
/obj/item/organ/internal/cyberimp/arm/surgery = 50,
/obj/item/organ/internal/cyberimp/arm/janitorial = 50,
/obj/item/organ/internal/cyberimp/brain/anti_stam = 50,
/obj/item/organ/internal/cyberimp/brain/anti_sleep = 50,
/obj/item/organ/internal/cyberimp/brain/clown_voice = 40,
/obj/item/organ/internal/cyberimp/mouth/breathing_tube = 50,
/obj/item/organ/internal/cyberimp/chest/ipc_repair = 50,
/obj/item/organ/internal/cyberimp/chest/ipc_joints/magnetic_joints = 50,
/obj/item/organ/internal/cyberimp/chest/ipc_joints/sealed = 50,
/obj/item/autosurgeon/organ = 10,
/obj/item/flag/species/machine = 20
)
/obj/effect/spawner/lootdrop/trade_sol/syntheticunion_major
name = "12. synthetic union large gear"
lootcount = 4
loot = list(
/obj/item/organ/internal/cyberimp/arm/toolset_abductor = 20,
/obj/item/organ/internal/cyberimp/arm/esword = 10,
/obj/item/organ/internal/cyberimp/arm/flash = 50,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened = 50,
/obj/item/organ/internal/cyberimp/arm/telebaton = 25, //Security'll love this one
/obj/item/organ/internal/cyberimp/arm/razorwire = 30,
/obj/item/organ/internal/cyberimp/arm/shell_launcher = 30,
/obj/item/organ/internal/cyberimp/brain/anti_drop/hardened = 20,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened = 30,
/obj/item/surveillance_upgrade = 35
)
/obj/effect/spawner/lootdrop/trade_sol/skipjack_minor
name = "11. skipjack small gear"
loot = list(
/obj/item/clothing/glasses/meson/gar = 50,
/obj/item/clothing/glasses/thermal/eyepatch = 50,
/obj/item/melee/energy/sword/pirate = 50,
/obj/item/clothing/suit/hooded/vox_robes = 30,
/obj/item/clothing/under/vox/vox_casual = 30,
/obj/item/clothing/gloves/color/yellow/vox = 10, //Species limited - rare item
/obj/item/clothing/shoes/magboots/vox = 10, //Species limited - rare item
/obj/item/organ/internal/cyberimp/mouth/breathing_tube = 50,
/obj/item/mod/module/jetpack/advanced = 50,
/obj/item/gun/energy/plasma_pistol = 50,
/obj/item/mod/control/pre_equipped/standard = 40,
/obj/item/flag/species/vox = 20
)
/obj/effect/spawner/lootdrop/trade_sol/skipjack_major //contains a variety of things - raider loot
name = "12. skipjack large gear"
lootcount = 3
loot = list(
/obj/item/storage/box/vox_spacesuit = 20,
/obj/item/storage/box/syndie_kit/chameleon = 50,
/obj/item/organ/internal/cyberimp/arm/esword = 10,
/obj/item/gun/energy/spikethrower = 20,
/obj/item/organ/internal/cyberimp/arm/medibeam = 50,
/obj/item/organ/internal/cyberimp/arm/toolset_abductor = 50,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened = 10,
/obj/item/organ/internal/cyberimp/arm/gun/laser = 10,
/obj/item/fireaxe = 10,
/obj/item/gun/projectile/revolver/nagant = 10,
/obj/item/bio_chip_implanter/storage = 10,
/obj/item/rcd/combat = 10
)
/obj/effect/spawner/lootdrop/trade_sol/solarcentral_minor
name = "11. skrellian central authority small gear" //Medical and protection theme - shields, mods, meds, and love
loot = list(
/obj/item/mod/control/pre_equipped/rescue = 60,
/obj/item/pen/sleepy/love = 50,
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 50,
/obj/item/reagent_containers/glass/bottle/love = 50,
/obj/item/reagent_containers/glass/bottle/reagent/lazarus_reagent = 50,
/obj/item/reagent_containers/applicator/dual = 50,
/obj/item/reagent_containers/hypospray/autoinjector/nanocalcium = 30,
/obj/item/storage/firstaid/surgery = 40,
/obj/item/dnainjector/nobreath = 50,
/obj/item/dnainjector/regenerate = 50,
/obj/item/dnainjector/insulation = 50,
/obj/item/flag/species/skrell = 20
)
/obj/effect/spawner/lootdrop/trade_sol/solarcentral_major
name = "12. skrellian central authority large gear"
lootcount = 3
loot = list(
/obj/item/mod/module/energy_shield = 40,
/obj/item/shield/energy = 40,
/obj/item/reagent_containers/applicator/dual/syndi = 50, //Same as the above but comes emagged
/obj/item/gun/medbeam = 30,
/obj/item/gun/syringe/syndicate = 50,
/obj/item/storage/box/skrell_suit/black = 30,
/obj/item/storage/box/skrell_suit/white = 30,
/obj/item/rod_of_asclepius = 20
)
/obj/effect/spawner/lootdrop/trade_sol/technocracy_minor
name = "11. technocracy small gear"
loot = list(
/obj/item/paper/researchnotes = 150, //More research from the smart ones
/obj/item/storage/box/beakers/bluespace = 50,
/obj/item/storage/box/stockparts/deluxe = 50,
/obj/item/clothing/glasses/thermal/monocle = 50,
/obj/item/organ/internal/cyberimp/arm/toolset_abductor = 30,
/obj/item/organ/internal/cyberimp/arm/surgery = 40,
/obj/item/organ/internal/cyberimp/arm/advmop = 30,
/obj/item/organ/internal/cyberimp/brain/anti_stam = 50,
/obj/item/organ/internal/cyberimp/brain/anti_sleep = 50,
/obj/item/organ/internal/cyberimp/brain/anti_drop = 50,
/obj/item/autosurgeon/organ = 10,
/obj/item/flag/species/greys = 20
)
/obj/effect/spawner/lootdrop/trade_sol/technocracy_major
name = "12. technocracy large gear"
lootcount = 3
loot = list(
/obj/item/storage/box/syndie_kit/prescan = 30,
/obj/item/gun/energy/decloner = 50,
/obj/item/organ/internal/cyberimp/brain/anti_drop/hardened = 20,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened = 30,
/obj/item/assembly/signaler/anomaly/random = 50,
/obj/item/surveillance_upgrade = 35,
/obj/item/mod/module/storage/bluespace = 40
)
/obj/effect/spawner/lootdrop/trade_sol/merchantguild_minor
name = "11. merchant guild small gear"
lootcount = 12 //Much larger selection due to it being almost all clothes.
loot = list(
/obj/item/flag/species/nian = 20,
/obj/item/clothing/under/suit/really_black = 50,
/obj/item/clothing/under/syndicate/combat = 50,
/obj/item/clothing/under/syndicate/sniper = 50,
/obj/item/clothing/under/new_soviet/sovietofficer = 50,
/obj/item/clothing/under/solgov/elite = 50,
/obj/item/clothing/under/solgov/command = 50,
/obj/item/clothing/under/retro/security = 50,
/obj/item/clothing/under/misc/gimmick_captain_suit = 50,
/obj/item/clothing/under/misc/durathread = 50,
/obj/item/clothing/under/psysuit = 50,
/obj/item/clothing/under/costume/cuban_suit = 50,
/obj/item/clothing/suit/armor/vest/jacket = 50,
/obj/item/clothing/head/collectable/petehat = 20,
/obj/item/clothing/head/collectable/tophat = 50,
/obj/item/clothing/head/collectable/police = 50,
/obj/item/clothing/head/collectable/kitty = 50,
/obj/item/clothing/under/costume/janimaid = 50,
/obj/item/clothing/under/costume/maid = 50,
/obj/item/storage/box/syndie_kit/chameleon = 60
)
/obj/effect/spawner/lootdrop/trade_sol/merchantguild_major
name = "12. merchant guild large gear"
lootcount = 6 //Low-risk items, flavorful knick knacks - higher stock
loot = list(
/obj/item/clothing/suit/pimpcoat = 50,
/obj/item/dualsaber/toy = 50,
/obj/item/toy/sword = 50,
/obj/item/toy/plushie/carpplushie/dragon = 50,
/obj/item/toy/plushie/carpplushie/void = 50,
/obj/item/toy/plushie/ipcplushie = 30,
/obj/item/toy/plushie/nukeplushie = 30,
/obj/item/toy/plushie/nianplushie = 50, //*buzz
/obj/item/toy/windup_toolbox = 50,
/obj/item/toy/ai = 50,
/obj/item/clothing/mask/gas/voice_modulator/chameleon = 50,
/obj/item/storage/box/syndie_kit/chameleon = 50
)
/obj/effect/spawner/lootdrop/three_course_meal
name = "three course meal spawner"
lootcount = 3
lootdoubles = FALSE
var/soups = list(
/obj/item/food/soup/beetsoup,
/obj/item/food/soup/stew,
/obj/item/food/soup/hotchili,
/obj/item/food/soup/nettlesoup,
/obj/item/food/soup/meatballsoup)
var/salads = list(
/obj/item/food/salad/herb,
/obj/item/food/salad/valid,
/obj/item/food/salad/aesir)
var/mains = list(
/obj/item/food/enchiladas,
/obj/item/food/stewedsoymeat,
/obj/item/food/burger/bigbite,
/obj/item/food/burger/superbite)
/obj/effect/spawner/lootdrop/three_course_meal/Initialize(mapload)
loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1)
. = ..()
@@ -0,0 +1,123 @@
/obj/effect/spawner/random/bluespace_tap
name = "bluespace harvester reward spawner"
spawn_loot_count = 1
/obj/effect/spawner/random/bluespace_tap/hat
name = "exotic hat"
loot = list(
/obj/item/clothing/head/collectable/chef, //same weighing on all of them
/obj/item/clothing/head/collectable/paper,
/obj/item/clothing/head/collectable/tophat,
/obj/item/clothing/head/collectable/captain,
/obj/item/clothing/head/collectable/beret,
/obj/item/clothing/head/collectable/welding,
/obj/item/clothing/head/collectable/flatcap,
/obj/item/clothing/head/collectable/pirate,
/obj/item/clothing/head/collectable/kitty,
/obj/item/clothing/head/crown/fancy,
/obj/item/clothing/head/collectable/rabbitears,
/obj/item/clothing/head/collectable/wizard,
/obj/item/clothing/head/collectable/hardhat,
/obj/item/clothing/head/collectable/hos,
/obj/item/clothing/head/collectable/thunderdome,
/obj/item/clothing/head/collectable/swat,
/obj/item/clothing/head/collectable/slime,
/obj/item/clothing/head/collectable/police,
/obj/item/clothing/head/collectable/slime,
/obj/item/clothing/head/collectable/xenom,
/obj/item/clothing/head/collectable/petehat
)
/obj/effect/spawner/random/bluespace_tap/cultural
name = "cultural artifacts"
loot = list(
/obj/vehicle/space/speedbike/red = 10,
/obj/item/grenade/clusterbuster/honk = 10,
/obj/item/toy/katana = 10,
/obj/item/stack/tile/brass/fifty = 20,
/obj/item/stack/sheet/mineral/abductor/fifty = 20,
/obj/item/sord = 20,
/obj/item/toy/syndicateballoon = 15,
/obj/item/lighter/zippo/gonzofist = 5,
/obj/item/lighter/zippo/engraved = 5,
/obj/item/lighter/zippo/nt_rep = 5,
/obj/item/gun/projectile/automatic/c20r/toy = 1,
/obj/item/gun/projectile/automatic/l6_saw/toy = 1,
/obj/item/gun/projectile/automatic/toy/pistol = 2,
/obj/item/gun/projectile/automatic/toy/pistol/enforcer = 1,
/obj/item/gun/projectile/shotgun/toy = 1,
/obj/item/gun/projectile/shotgun/toy/crossbow = 1,
/obj/item/gun/projectile/shotgun/toy/tommygun = 1,
/obj/item/gun/projectile/automatic/sniper_rifle/toy = 1,
/obj/item/dualsaber/toy = 5,
/obj/machinery/snow_machine = 10,
/obj/item/clothing/head/kitty = 5,
/obj/item/coin/antagtoken = 5,
/obj/item/toy/prizeball/figure = 15,
/obj/item/toy/prizeball/therapy = 10,
/obj/item/bedsheet/patriot = 2,
/obj/item/bedsheet/rainbow = 2,
/obj/item/bedsheet/captain = 2,
/obj/item/bedsheet/centcom = 1, //mythic rare rarity
/obj/item/bedsheet/syndie = 2,
/obj/item/bedsheet/cult = 2,
/obj/item/bedsheet/wiz = 2,
/obj/item/stack/sheet/mineral/tranquillite/fifty = 3,
/obj/item/clothing/gloves/combat = 5,
/obj/item/blank_tarot_card = 5,
/obj/item/tarot_card_pack = 5,
/obj/item/tarot_card_pack/jumbo = 3,
/obj/item/tarot_card_pack/mega = 2
)
/obj/effect/spawner/random/bluespace_tap/organic
name = "organic objects"
loot = list(
/obj/item/seeds/random/labelled = 50,
/obj/item/guardiancreator/biological = 5,
/obj/item/organ/internal/vocal_cords/adamantine = 15,
/obj/item/storage/pill_bottle/random_meds/labelled = 25,
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 15,
/obj/item/dnainjector/telemut = 5,
/obj/item/dnainjector/small_size = 5,
/obj/item/dnainjector/morph = 5,
/obj/item/dnainjector/regenerate = 5,
/mob/living/simple_animal/pet/dog/corgi/ = 5,
/mob/living/simple_animal/pet/cat = 5,
/mob/living/simple_animal/pet/dog/fox/ = 5,
/mob/living/simple_animal/pet/penguin/baby = 5,
/mob/living/simple_animal/pig = 5,
/obj/item/slimepotion/sentience = 5,
/obj/item/clothing/mask/cigarette/cigar/havana = 3,
/obj/item/stack/sheet/mineral/bananium/fifty = 2, //bananas are organic, clearly.
/obj/item/storage/box/monkeycubes = 5,
/obj/item/stack/tile/carpet/twenty = 10,
/obj/item/stack/tile/carpet/black/twenty = 10,
/obj/item/soap/deluxe = 5
)
/obj/effect/spawner/random/bluespace_tap/food
name = "fancy food"
spawn_loot_count = 3
loot = list(
/obj/item/food/wingfangchu,
/obj/item/food/hotdog,
/obj/item/food/sliceable/turkey,
/obj/item/food/plumphelmetbiscuit,
/obj/item/food/appletart,
/obj/item/food/sliceable/cheesecake,
/obj/item/food/sliceable/bananacake,
/obj/item/food/sliceable/chocolatecake,
/obj/item/food/soup/meatballsoup,
/obj/item/food/soup/mysterysoup,
/obj/item/food/soup/stew,
/obj/item/food/soup/hotchili,
/obj/item/food/burrito,
/obj/item/food/fishburger,
/obj/item/food/cubancarp,
/obj/item/food/fishandchips,
/obj/item/food/meatpie,
/obj/item/pizzabox/hawaiian, //it ONLY gives hawaiian. MUHAHAHA
/obj/item/food/sliceable/xenomeatbread //maybe add some dangerous/special food here, ie robobuger?
)
@@ -19,3 +19,40 @@
/obj/item/food/stroopwafel = 1,
)
record_spawn = TRUE
/obj/effect/spawner/random/food_or_drink
// TODO: Consolidate all the spawner icons once all the legacy random spawners have been migrated
icon = 'icons/effects/random_spawners.dmi'
/obj/effect/spawner/random/food_or_drink/soup
name = "soup spawner"
icon_state = "soup"
loot_subtype_path = /obj/item/food/soup
/obj/effect/spawner/random/food_or_drink/salad
name = "salad spawner"
icon_state = "soup"
loot_subtype_path = /obj/item/food/salad
/obj/effect/spawner/random/food_or_drink/dinner
name = "dinner spawner"
icon_state = "soup"
loot = list(
/obj/item/food/burger/bigbite,
/obj/item/food/burger/fivealarm,
/obj/item/food/burger/superbite,
/obj/item/food/enchiladas,
/obj/item/food/philly_cheesesteak,
/obj/item/food/sandwich,
/obj/item/food/stewedsoymeat,
)
/obj/effect/spawner/random/food_or_drink/three_course_meal
name = "three course meal spawner"
icon_state = "soup"
spawn_all_loot = TRUE
loot = list(
/obj/effect/spawner/random/food_or_drink/soup,
/obj/effect/spawner/random/food_or_drink/salad,
/obj/effect/spawner/random/food_or_drink/dinner,
)
@@ -0,0 +1,6 @@
/obj/effect/spawner/random/loot/crate
name = "lootcrate spawner"
icon = 'icons/effects/random_spawners.dmi'
icon_state = "crate_secure"
spawn_loot_chance = 20
loot = list(/obj/structure/closet/crate/secure/loot)
@@ -0,0 +1,222 @@
/obj/effect/spawner/random/traders
name = "trader item spawner"
icon = 'icons/effects/random_spawners.dmi'
icon_state = "loot"
spawn_loot_count = 6
/obj/effect/spawner/random/traders/civilian
name = "1. civilian gear"
icon_state = "toolbox"
loot = list(
// General utility gear
/obj/item/clothing/gloves/combat = 10,
/obj/item/clothing/mask/holo_cigar = 10,
/obj/item/reagent_containers/spray/cleaner/advanced = 10,
/obj/item/book_of_babel = 5,
/obj/item/clothing/mask/whistle = 5,
/obj/item/clothing/under/costume/psyjump = 5,
/obj/item/clothing/under/syndicate/combat = 5,
/obj/item/immortality_talisman = 5,
/obj/item/soap = 5,
/obj/item/soap/syndie = 5,
/obj/item/storage/backpack/satchel_flat = 5,
/obj/item/storage/box/syndie_kit/chameleon = 5, //costumes!
)
/obj/effect/spawner/random/traders/minerals
name = "2. minerals"
icon_state = "metal"
loot = list(
// Common stuff you get from mining which isn't already present on the
// station. Note that plasma and derived hybrid materials are NOT
// included in this list because plasma is the trader's objective!
/obj/item/stack/sheet/mineral/silver = 5,
/obj/item/stack/sheet/mineral/gold = 5,
/obj/item/stack/sheet/mineral/uranium = 5,
/obj/item/stack/sheet/mineral/diamond = 5,
/obj/item/stack/sheet/mineral/titanium = 5,
/obj/item/stack/sheet/plasteel = 5,
// Hybrid stuff you could in theory get from mining
/obj/item/stack/sheet/titaniumglass = 5,
// Rare stuff you can't get from mining
/obj/item/stack/sheet/mineral/tranquillite = 5,
/obj/item/stack/sheet/mineral/bananium = 5,
/obj/item/stack/sheet/wood = 5,
/obj/item/stack/sheet/plastic = 5,
/obj/item/stack/sheet/mineral/sandstone = 5,
)
/obj/effect/spawner/random/traders/minerals/make_item(spawn_loc, type_path_to_make)
var/obj/item/stack/sheet/S = ..()
if(istype(S))
S.amount = 25
return S
/obj/effect/spawner/random/traders/donksoft
name = "3. donksoft gear"
icon_state = "stetchkin"
loot = list(
/obj/item/gun/projectile/automatic/c20r/toy = 5,
/obj/item/gun/projectile/automatic/l6_saw/toy = 5,
/obj/item/gun/projectile/automatic/toy/pistol = 10,
/obj/item/gun/projectile/automatic/toy/pistol/enforcer = 5,
/obj/item/gun/projectile/shotgun/toy = 5,
/obj/item/gun/projectile/shotgun/toy/crossbow = 5,
/obj/item/gun/projectile/shotgun/toy/tommygun = 5,
/obj/item/gun/projectile/automatic/sniper_rifle/toy = 5,
)
/obj/effect/spawner/random/traders/science
name = "4. science gear"
// TODO: I know I created an anomaly core random spawner icon but it disappeared in some merge or other
icon = 'icons/obj/assemblies/new_assemblies.dmi'
icon_state = "anomaly_core"
loot = list(
// Robotics
/obj/item/assembly/signaler/anomaly/random = 50, // anomaly core
/obj/item/mecha_parts/mecha_equipment/weapon/energy/xray = 25, // mecha x-ray laser
/obj/item/mecha_parts/mecha_equipment/teleporter/precise = 25, // upgraded mecha teleporter
/obj/item/autosurgeon/organ = 50,
/obj/item/mod/construction/plating/research = 25,
// Research
/obj/item/paper/researchnotes = 125, // papers that give random R&D levels
/obj/item/storage/box/telescience = 25, // Code green or blue. Probably not antags. People haven't touched it in ages. Let us see what happens.
// Xenobio
/obj/item/slimepotion/sentience = 50, // Low-value, but we want to encourage getting more players back in the round.
/obj/item/slimepotion/transference = 50,
// Might as well let AI be interested
/obj/item/surveillance_upgrade = 25,
)
/obj/effect/spawner/random/traders/medical
name = "5. medical gear"
icon_state = "medkit"
loot = list(
// Medchem
/obj/item/storage/pill_bottle/random_meds/labelled = 100, // random medical and other chems
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 50,
// Surgery
/obj/item/organ/internal/heart/gland/ventcrawling = 50,
/obj/item/organ/internal/heart/gland/heals = 50,
// Genetics Research (should really be under science, but I was stuck for items to put in medical)
/obj/item/dnainjector/regenerate = 50, // regeneration
/obj/item/dnainjector/nobreath = 50,
/obj/item/dnainjector/telemut = 50,
// Medical in general
/obj/item/mod/construction/plating/rescue = 25,
/obj/item/gun/medbeam = 25, //Antags can see this to remove it if a threat, unlikely to happen with another midround
/obj/item/bodyanalyzer = 25,
/obj/item/circuitboard/sleeper/syndicate = 25,
)
/obj/effect/spawner/random/traders/security
name = "6. security gear"
icon_state = "riot_shield"
loot = list(
// Melee
/obj/item/kitchen/knife/combat = 50,
/obj/item/fluff/desolate_baton_kit = 50, // permission granted by Desolate to use their fluff kit in this loot table
// Utility
/obj/item/storage/belt/military/assault = 50,
/obj/item/clothing/mask/gas/sechailer/swat = 50,
/obj/item/clothing/glasses/thermal = 50, // see heat-source mobs through walls. Less powerful than already-available xray.
/obj/item/mod/construction/plating/safeguard = 25,
/obj/item/mod/module/power_kick = 50,
/obj/item/storage/box/syndie_kit/camera_bug = 25, //Camera viewing on the go, planting cameras with detective work? Could be interesting!
// Ranged weapons
/obj/item/storage/box/enforcer_rubber = 50, //Lethal ammo can be printed at an autolathe, so no need for the lethal subtype
/obj/item/gun/projectile/shotgun/automatic/dual_tube = 100, // cycler shotgun, not normally available to crew
/obj/item/weaponcrafting/gunkit/universal_gun_kit/sol_gov = 20
)
/obj/effect/spawner/random/traders/engineering
name = "7. eng gear"
icon_state = "wrench"
spawn_loot_count = 8 //increased due to this pool being a bit more... niche?
loot = list(
/obj/item/clothing/glasses/material, // shows objects, but not mobs, through walls
/obj/item/clothing/glasses/meson/night, // NV mesons
/obj/item/holosign_creator/atmos,
/obj/item/mod/construction/plating/advanced,
/obj/item/mod/module/jetpack/advanced,
/obj/item/rcd/combat,
/obj/item/rpd/bluespace,
/obj/item/slimepotion/oil_slick, //Suggested by discord, moderately common but not as common as most rnd things
/obj/item/storage/backpack/holding,
/obj/item/storage/belt/utility/chief/full,
/obj/item/tank/internals/emergency_oxygen/double,
)
/obj/effect/spawner/random/traders/large_item
name = "8. large item"
icon_state = "durand_old"
spawn_loot_count = 1
loot = list(
/obj/machinery/cooker/cerealmaker,
/obj/machinery/disco,
/obj/machinery/snow_machine,
/obj/mecha/combat/durand/old,
/obj/structure/spirit_board,
)
/obj/effect/spawner/random/traders/vehicle
name = "9. vehicle"
icon_state = "motorcycle"
loot = list(
/obj/vehicle/motorcycle,
/obj/vehicle/snowmobile,
/obj/vehicle/snowmobile/blue,
/obj/vehicle/space/speedbike/red,
/obj/vehicle/space/speedbike,
)
/obj/effect/spawner/random/traders/vehicle/make_item(spawn_loc, type_path_to_make)
var/obj/vehicle/V = ..()
if(istype(V) && V.key_type)
V.inserted_key = new V.key_type(V)
return V
/obj/effect/spawner/random/traders/service
name = "10. service gear"
loot = list(
// Mining
/obj/item/pickaxe/drill/jackhammer = 10,
/obj/item/gun/energy/kinetic_accelerator/experimental = 10,
/obj/item/borg/upgrade/modkit/aoe/turfs/andmobs = 10,
// Botanist
/obj/item/storage/box/botany_labelled_seeds = 10,
// Clown
/obj/item/grenade/clusterbuster/honk = 10,
/obj/item/bikehorn/golden = 10,
/obj/item/gun/throw/piecannon = 10,
// Bartender
/obj/item/storage/box/bartender_rare_ingredients_kit = 10,
// Chef
/obj/item/storage/box/chef_rare_ingredients_kit = 10,
/obj/item/mod/module/dispenser = 5, // Prints burgers. When you want to be space mcdonalds.
// It would be nice to also have items for other service jobs: Mime, Librarian, Chaplain, etc
// Chaplain
/obj/structure/constructshell = 5, //Fuck it we ball what could go wrong
)
@@ -0,0 +1,322 @@
/obj/effect/spawner/random/traders/federation_minor
name = "11. trans-solar federation small gear"
loot = list(
/obj/item/storage/box/enforcer_rubber = 5,
/obj/item/lighter/zippo/gonzofist = 5,
/obj/item/clothing/glasses/welding/superior = 5,
/obj/item/clothing/suit/armor/bulletproof = 5,
/obj/item/clothing/mask/gas/explorer/marines = 5,
/obj/item/clothing/gloves/combat = 5,
/obj/item/storage/belt/military/assault = 5,
/obj/item/clothing/under/solgov = 5,
/obj/item/mod/module/dispenser = 5,
/obj/item/flag/solgov = 3
)
/obj/effect/spawner/random/traders/federation_major
name = "12. trans-solar federation large gear"
spawn_loot_count = 3
loot = list(
/obj/item/storage/box/deagle = 2, //One mag
/obj/item/gun/projectile/automatic/pistol/m1911 = 3, //Again, one mag. Don't lose it.
/obj/item/melee/baseball_bat/homerun = 5,
/obj/item/rcd/combat = 5,
/obj/item/weaponcrafting/gunkit/universal_gun_kit/sol_gov = 5,
/obj/item/storage/fancy/shell/buck = 3, //Only seven shots, make them count
/obj/item/mod/module/noslip = 4,
/obj/item/clothing/mask/holo_cigar = 5
)
/obj/effect/spawner/random/traders/cybersun_minor
name = "11. cybersun industries small gear"
loot = list(
/obj/item/storage/box/syndidonkpockets = 5,
/obj/item/clothing/suit/jacket/bomber/syndicate = 5,
/obj/item/storage/box/syndie_kit/space = 5,
/obj/item/clothing/glasses/meson/sunglasses = 5,
/obj/item/storage/pill_bottle/zoom = 5,
/obj/item/clothing/mask/gas/voice_modulator/chameleon = 5,
/obj/item/mecha_parts/mecha_equipment/weapon/energy/xray = 3,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine = 3,
/obj/item/flag/syndi = 3
)
// Damn near all of this is illegal. Gives officers something to do on a shift quiet enough to spawn traders.
/obj/effect/spawner/random/traders/cybersun_major
name = "12. cybersun industries large gear"
spawn_loot_count = 3
loot = list(
/obj/item/shield/energy = 20,
/obj/item/gun/projectile/automatic/pistol = 50,
/obj/item/bio_chip_implanter/storage = 50,
/obj/item/melee/knuckleduster/syndie = 50,
/obj/item/clothing/glasses/thermal/eyepatch = 50,
/obj/item/toy/syndicateballoon = 60,
/obj/item/organ/internal/cyberimp/arm/razorwire = 30,
/obj/item/organ/internal/cyberimp/arm/shell_launcher = 30,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg/dual = 30,
/obj/item/clothing/mask/holo_cigar = 50,
/obj/mecha/combat/marauder/mauler/trader = 3 //Extremely rare, unloaded so crew need to arm it for it to have any use. Also most definitely needs one helluva permit.
)
spawn_loot_double = FALSE // No double mechs.
/obj/effect/spawner/random/traders/ussp_minor
name = "11. USSP small gear"
spawn_loot_count = 8 //Mostly flavor items
loot = list(
/obj/item/clothing/under/new_soviet = 50,
/obj/item/clothing/suit/sovietcoat = 50,
/obj/item/clothing/head/ushanka = 50,
/obj/item/food/grown/potato = 50,
/obj/item/reagent_containers/drinks/bottle/vodka/badminka = 50,
/obj/item/clothing/head/sovietsidecap = 50,
/obj/item/flag/ussp = 30,
/obj/item/ammo_box/magazine/apsm10mm = 15, //Spare mags for APS pistol. Sometimes you don't get the APS, in which case, soviet logistics.
/obj/item/ammo_box/a762 = 15
)
// Lots of things to write permits for. Gives officers something to do on a shift quiet enough to spawn traders.
/obj/effect/spawner/random/traders/ussp_major
name = "12. USSP large gear"
spawn_loot_count = 2 //Lots of dangerous stuff here - reduced amount
loot = list(
/obj/item/gun/projectile/revolver/nagant = 5,
/obj/item/gun/projectile/automatic/pistol/aps = 3,
/obj/item/gun/projectile/shotgun/boltaction = 5,
/obj/item/clothing/suit/space/hardsuit/soviet = 4,
/obj/item/clothing/glasses/thermal/eyepatch = 5,
/obj/item/clothing/mask/holo_cigar = 1
)
/obj/effect/spawner/random/traders/glintscale_minor
name = "11. glint-scale small gear"
loot = list(
/obj/item/clothing/suit/armor/vest/combat = 50,
/obj/item/clothing/under/syndicate/combat = 50,
/obj/item/claymore/ceremonial = 50,
/obj/item/harpoon = 50,
/obj/item/nullrod/claymore/chainsaw_sword = 50,
/obj/item/whetstone = 50,
/obj/item/flag/species/unathi = 20,
/obj/item/clothing/suit/armor/riot/knight/templar = 40,
/obj/item/clothing/head/helmet/riot/knight/templar = 40,
/obj/item/clothing/suit/unathi/robe = 20
)
/obj/effect/spawner/random/traders/glintscale_major
name = "12. glint-scale large gear"
spawn_loot_count = 3
loot = list(
/obj/item/melee/energy/sword/pirate = 30,
/obj/item/storage/box/breacher = 30,
/obj/item/fireaxe = 50,
/obj/item/fireaxe/boneaxe = 50,
/obj/item/gun/energy/kinetic_accelerator/crossbow/large = 10 //Big ebow.
)
/obj/effect/spawner/random/traders/steadfast_minor
name = "11. steadfast trading co. small gear"
spawn_loot_count = 8 //Since it's a lot of seeds, boosted amount
loot = list(
/obj/item/storage/box/botany_labelled_seeds = 50,
/obj/item/seeds/chili/ice = 20,
/obj/item/seeds/chili/ghost = 20,
/obj/item/seeds/cannabis/ultimate = 10,
/obj/item/seeds/cannabis/white = 20,
/obj/item/seeds/wheat/meat = 20,
/obj/item/seeds/glowshroom = 20,
/obj/item/seeds/glowshroom/glowcap = 20,
/obj/item/seeds/tobacco/space = 20,
/obj/item/storage/box/hydroponics_starter = 40,
/obj/item/mod/module/thermal_regulator = 20,
/obj/item/flag/species/vulp = 20
)
/obj/effect/spawner/random/traders/steadfast_major
name = "12. steadfast trading co. large gear"
spawn_loot_count = 3
loot = list(
/obj/item/mod/construction/plating/research = 3,
/obj/item/assembly/signaler/anomaly/random = 2,
/obj/item/gun/energy/gun = 5,
/obj/item/storage/fancy/shell/dragonsbreath = 3,
/obj/item/storage/box/turbine_kit = 2,
/obj/item/mod/module/firefighting_tank = 4,
/obj/item/mod/module/jetpack/advanced = 4
)
/obj/effect/spawner/random/traders/syntheticunion_minor
name = "11. synthetic union small gear"
spawn_loot_count = 8 //A lot of these are available on station, so the amount of items spawned here is increased
loot = list(
/obj/item/clothing/glasses/meson/sunglasses = 5,
/obj/item/clothing/glasses/thermal/monocle = 5,
/obj/item/organ/internal/cyberimp/arm/toolset = 5,
/obj/item/organ/internal/cyberimp/arm/surgery = 5,
/obj/item/organ/internal/cyberimp/arm/janitorial = 5,
/obj/item/organ/internal/cyberimp/brain/anti_stam = 5,
/obj/item/organ/internal/cyberimp/brain/anti_sleep = 5,
/obj/item/organ/internal/cyberimp/brain/clown_voice = 4,
/obj/item/organ/internal/cyberimp/mouth/breathing_tube = 5,
/obj/item/organ/internal/cyberimp/chest/ipc_repair = 5,
/obj/item/organ/internal/cyberimp/chest/ipc_joints/magnetic_joints = 5,
/obj/item/organ/internal/cyberimp/chest/ipc_joints/sealed = 5,
/obj/item/autosurgeon/organ = 1,
/obj/item/flag/species/machine = 2
)
/obj/effect/spawner/random/traders/syntheticunion_major
name = "12. synthetic union large gear"
spawn_loot_count = 4
loot = list(
/obj/item/organ/internal/cyberimp/arm/toolset_abductor = 20,
/obj/item/organ/internal/cyberimp/arm/esword = 10,
/obj/item/organ/internal/cyberimp/arm/flash = 50,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened = 50,
/obj/item/organ/internal/cyberimp/arm/telebaton = 25, //Security'll love this one
/obj/item/organ/internal/cyberimp/arm/razorwire = 30,
/obj/item/organ/internal/cyberimp/arm/shell_launcher = 30,
/obj/item/organ/internal/cyberimp/brain/anti_drop/hardened = 20,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened = 30,
/obj/item/surveillance_upgrade = 35
)
/obj/effect/spawner/random/traders/skipjack_minor
name = "11. skipjack small gear"
loot = list(
/obj/item/clothing/glasses/meson/gar = 50,
/obj/item/clothing/glasses/thermal/eyepatch = 50,
/obj/item/melee/energy/sword/pirate = 50,
/obj/item/clothing/suit/hooded/vox_robes = 30,
/obj/item/clothing/under/vox/vox_casual = 30,
/obj/item/clothing/gloves/color/yellow/vox = 10, //Species limited - rare item
/obj/item/clothing/shoes/magboots/vox = 10, //Species limited - rare item
/obj/item/organ/internal/cyberimp/mouth/breathing_tube = 50,
/obj/item/mod/module/jetpack/advanced = 50,
/obj/item/gun/energy/plasma_pistol = 50,
/obj/item/mod/control/pre_equipped/standard = 40,
/obj/item/flag/species/vox = 20
)
/obj/effect/spawner/random/traders/skipjack_major //contains a variety of things - raider loot
name = "12. skipjack large gear"
spawn_loot_count = 3
loot = list(
/obj/item/storage/box/vox_spacesuit = 2,
/obj/item/storage/box/syndie_kit/chameleon = 5,
/obj/item/organ/internal/cyberimp/arm/esword = 1,
/obj/item/gun/energy/spikethrower = 2,
/obj/item/organ/internal/cyberimp/arm/medibeam = 5,
/obj/item/organ/internal/cyberimp/arm/toolset_abductor = 5,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened = 1,
/obj/item/organ/internal/cyberimp/arm/gun/laser = 1,
/obj/item/fireaxe = 1,
/obj/item/gun/projectile/revolver/nagant = 1,
/obj/item/bio_chip_implanter/storage = 1,
/obj/item/rcd/combat = 1
)
/obj/effect/spawner/random/traders/solarcentral_minor
name = "11. skrellian central authority small gear" //Medical and protection theme - shields, mods, meds, and love
loot = list(
/obj/item/mod/control/pre_equipped/rescue = 6,
/obj/item/pen/sleepy/love = 5,
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 5,
/obj/item/reagent_containers/glass/bottle/love = 5,
/obj/item/reagent_containers/glass/bottle/reagent/lazarus_reagent = 5,
/obj/item/reagent_containers/applicator/dual = 5,
/obj/item/reagent_containers/hypospray/autoinjector/nanocalcium = 3,
/obj/item/storage/firstaid/surgery = 4,
/obj/item/dnainjector/nobreath = 5,
/obj/item/dnainjector/regenerate = 5,
/obj/item/dnainjector/insulation = 5,
/obj/item/flag/species/skrell = 2
)
/obj/effect/spawner/random/traders/solarcentral_major
name = "12. skrellian central authority large gear"
spawn_loot_count = 3
loot = list(
/obj/item/mod/module/energy_shield = 4,
/obj/item/shield/energy = 4,
/obj/item/reagent_containers/applicator/dual/syndi = 5, //Same as the above but comes emagged
/obj/item/gun/medbeam = 3,
/obj/item/gun/syringe/syndicate = 5,
/obj/item/storage/box/skrell_suit/black = 3,
/obj/item/storage/box/skrell_suit/white = 3,
/obj/item/rod_of_asclepius = 2
)
/obj/effect/spawner/random/traders/technocracy_minor
name = "11. technocracy small gear"
loot = list(
/obj/item/paper/researchnotes = 15, //More research from the smart ones
/obj/item/storage/box/beakers/bluespace = 5,
/obj/item/storage/box/stockparts/deluxe = 5,
/obj/item/clothing/glasses/thermal/monocle = 5,
/obj/item/organ/internal/cyberimp/arm/toolset_abductor = 3,
/obj/item/organ/internal/cyberimp/arm/surgery = 4,
/obj/item/organ/internal/cyberimp/arm/advmop = 3,
/obj/item/organ/internal/cyberimp/brain/anti_stam = 5,
/obj/item/organ/internal/cyberimp/brain/anti_sleep = 5,
/obj/item/organ/internal/cyberimp/brain/anti_drop = 5,
/obj/item/autosurgeon/organ = 1,
/obj/item/flag/species/greys = 2
)
/obj/effect/spawner/random/traders/technocracy_major
name = "12. technocracy large gear"
spawn_loot_count = 3
loot = list(
/obj/item/storage/box/syndie_kit/prescan = 30,
/obj/item/gun/energy/decloner = 50,
/obj/item/organ/internal/cyberimp/brain/anti_drop/hardened = 20,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened = 30,
/obj/item/assembly/signaler/anomaly/random = 50,
/obj/item/surveillance_upgrade = 35,
/obj/item/mod/module/storage/bluespace = 40
)
/obj/effect/spawner/random/traders/merchantguild_minor
name = "11. merchant guild small gear"
spawn_loot_count = 12 //Much larger selection due to it being almost all clothes.
loot = list(
/obj/item/flag/species/nian = 2,
/obj/item/clothing/under/suit/really_black = 5,
/obj/item/clothing/under/syndicate/combat = 5,
/obj/item/clothing/under/syndicate/sniper = 5,
/obj/item/clothing/under/new_soviet/sovietofficer = 5,
/obj/item/clothing/under/solgov/elite = 5,
/obj/item/clothing/under/solgov/command = 5,
/obj/item/clothing/under/retro/security = 5,
/obj/item/clothing/under/misc/gimmick_captain_suit = 5,
/obj/item/clothing/under/misc/durathread = 5,
/obj/item/clothing/under/psysuit = 5,
/obj/item/clothing/under/costume/cuban_suit = 5,
/obj/item/clothing/suit/armor/vest/jacket = 5,
/obj/item/clothing/head/collectable/petehat = 2,
/obj/item/clothing/head/collectable/tophat = 5,
/obj/item/clothing/head/collectable/police = 5,
/obj/item/clothing/head/collectable/kitty = 5,
/obj/item/clothing/under/costume/janimaid = 5,
/obj/item/clothing/under/costume/maid = 5,
/obj/item/storage/box/syndie_kit/chameleon = 6
)
/obj/effect/spawner/random/traders/merchantguild_major
name = "12. merchant guild large gear"
spawn_loot_count = 6 //Low-risk items, flavorful knick knacks - higher stock
loot = list(
/obj/item/clothing/suit/pimpcoat = 5,
/obj/item/dualsaber/toy = 5,
/obj/item/toy/sword = 5,
/obj/item/toy/plushie/carpplushie/dragon = 5,
/obj/item/toy/plushie/carpplushie/void = 5,
/obj/item/toy/plushie/ipcplushie = 3,
/obj/item/toy/plushie/nukeplushie = 3,
/obj/item/toy/plushie/nianplushie = 5, //*buzz
/obj/item/toy/windup_toolbox = 5,
/obj/item/toy/ai = 5,
/obj/item/clothing/mask/gas/voice_modulator/chameleon = 5,
/obj/item/storage/box/syndie_kit/chameleon = 5
)
-26
View File
@@ -1,26 +0,0 @@
/obj/effect/spawner/away_lootdrop
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
var/lootcount = 1 //how many items will be spawned
var/lootdoubles = 0 //if the same item can be spawned twice
var/loot = "" //a list of possible items to spawn- a string of paths
/obj/effect/spawner/away_lootdrop/Initialize(mapload)
..()
var/list/things = params2list(loot)
if(things && length(things))
for(var/i = lootcount, i > 0, i--)
if(!length(things))
return
var/loot_spawn = pick(things)
var/loot_path = text2path(loot_spawn)
if(!loot_path || !lootdoubles)
things.Remove(loot_spawn)
continue
new loot_path(get_turf(src))
return INITIALIZE_HINT_QDEL
@@ -410,14 +410,14 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank)
explosion(loc, -1, -1, 2, 4, flame_range = 4)
qdel(src)
/obj/effect/spawner/lootdrop/telecomms_core_table
/obj/effect/spawner/random/telecomms_core_table
name = "telecomms core table spawner"
lootcount = 1
spawn_loot_count = 1
loot = list(
/obj/item/rcd/combat,
/obj/item/gun/medbeam,
/obj/item/gun/energy/wormhole_projector,
/obj/item/storage/box/syndie_kit/oops_all_extraction_flares
/obj/item/rcd/combat,
/obj/item/gun/medbeam,
/obj/item/gun/energy/wormhole_projector,
/obj/item/storage/box/syndie_kit/oops_all_extraction_flares
)
/obj/item/storage/box/syndie_kit/oops_all_extraction_flares
@@ -13,18 +13,20 @@
/obj/item/spellbook/oneuse/emp/used
used = TRUE //spawns used
/obj/effect/spawner/lootdrop/wizardcrash
/obj/effect/spawner/random/wizardcrash
loot = list(
/obj/item/guardiancreator = 1, // jackpot.
/obj/item/spellbook/oneuse/knock = 1, // tresspassing charges incoming
/obj/item/gun/magic/wand/resurrection = 1, // medbay's best friend
/obj/item/tarot_generator = 1, // A little bit of everything, all of the time.
/obj/item/spellbook/oneuse/charge = 15, // and now for less useful stuff to dilute the good loot chances
/obj/item/spellbook/oneuse/summonitem = 20,
/obj/item/spellbook/oneuse/forcewall = 10,
/obj/item/tarot_card_pack = 10,
/obj/item/tarot_card_pack/jumbo = 6,
/obj/item/tarot_card_pack/mega = 4,
/obj/item/book/granter/spell/summon_cheese = 10, // hungry wizard stuff
/obj/item/reagent_containers/drinks/everfull = 10 // Cheese and wine
)
/obj/item/spellbook/oneuse/summonitem = 20,
/obj/item/spellbook/oneuse/charge = 15, // and now for less useful stuff to dilute the good loot chances
/obj/item/book/granter/spell/summon_cheese = 10, // hungry wizard stuff
/obj/item/reagent_containers/drinks/everfull = 10, // Cheese and wine
/obj/item/spellbook/oneuse/forcewall = 10,
/obj/item/tarot_card_pack = 10,
/obj/item/tarot_card_pack/jumbo = 6,
/obj/item/tarot_card_pack/mega = 4,
/obj/item/guardiancreator = 1, // jackpot.
/obj/item/spellbook/oneuse/knock = 1, // tresspassing charges incoming
/obj/item/gun/magic/wand/resurrection = 1, // medbay's best friend
/obj/item/tarot_generator = 1, // A little bit of everything, all of the time.
)
+1 -1
View File
@@ -423,7 +423,7 @@
desc = "A pair of masterfully crafted lizard skin boots. Finally a good application for the station's most bothersome inhabitants."
icon_state = "lizardboots_blue"
/obj/effect/spawner/lootdrop/lizardboots
/obj/effect/spawner/random/lizardboots
name = "random lizard boot quality"
desc = "Which ever gets picked, the lizard race loses."
icon = 'icons/obj/clothing/shoes.dmi'
+1 -1
View File
@@ -593,7 +593,7 @@
/datum/crafting_recipe/lizardboots
name = "Lizard Skin Boots"
result = list(/obj/effect/spawner/lootdrop/lizardboots)
result = list(/obj/effect/spawner/random/lizardboots)
time = 6 SECONDS
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1)
category = CAT_CLOTHING
+20 -20
View File
@@ -144,8 +144,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Kayani Station"
trader_species = /mob/living/carbon/human
trader_outfit = /datum/outfit/admin/trader/sol
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/federation_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/federation_major
trader_minor_special = /obj/effect/spawner/random/traders/federation_minor
trader_major_special = /obj/effect/spawner/random/traders/federation_major
/datum/traders/cyber
trader_type = "Cybersun Industries"
@@ -153,8 +153,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "an undercover robotics factory"
trader_species = /mob/living/carbon/human
trader_outfit = /datum/outfit/admin/trader/cyber
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/cybersun_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/cybersun_major
trader_minor_special = /obj/effect/spawner/random/traders/cybersun_minor
trader_major_special = /obj/effect/spawner/random/traders/cybersun_major
/datum/traders/commie
trader_type = "USSP"
@@ -162,8 +162,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Belastrav Station"
trader_species = /mob/living/carbon/human
trader_outfit = /datum/outfit/admin/trader/commie
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/ussp_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/ussp_major
trader_minor_special = /obj/effect/spawner/random/traders/ussp_minor
trader_major_special = /obj/effect/spawner/random/traders/ussp_major
/datum/traders/unathi
trader_type = "Glint Scales"
@@ -171,8 +171,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "a Glint-Scale outpost"
trader_species = /mob/living/carbon/human/unathi
trader_outfit = /datum/outfit/admin/trader/unathi
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/glintscale_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/glintscale_major
trader_minor_special = /obj/effect/spawner/random/traders/glintscale_minor
trader_major_special = /obj/effect/spawner/random/traders/glintscale_major
/datum/traders/vulp
trader_type = "Steadfast Trading Co."
@@ -180,8 +180,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "the MV Steadfast Platinum"
trader_species = /mob/living/carbon/human/vulpkanin
trader_outfit = /datum/outfit/admin/trader/vulp
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/steadfast_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/steadfast_major
trader_minor_special = /obj/effect/spawner/random/traders/steadfast_minor
trader_major_special = /obj/effect/spawner/random/traders/steadfast_major
/datum/traders/ipc
trader_type = "Synthetic Union"
@@ -189,8 +189,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Cadraenov Station"
trader_species = /mob/living/carbon/human/machine
trader_outfit = /datum/outfit/admin/trader/ipc
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/syntheticunion_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/syntheticunion_major
trader_minor_special = /obj/effect/spawner/random/traders/syntheticunion_minor
trader_major_special = /obj/effect/spawner/random/traders/syntheticunion_major
/datum/traders/vox
trader_type = "Skipjack"
@@ -198,8 +198,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "a trading skipjack"
trader_species = /mob/living/carbon/human/vox
trader_outfit = /datum/outfit/admin/trader/vox
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/skipjack_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/skipjack_major
trader_minor_special = /obj/effect/spawner/random/traders/skipjack_minor
trader_major_special = /obj/effect/spawner/random/traders/skipjack_major
/datum/traders/skrell
trader_type = "Skrellian Central Authority"
@@ -207,8 +207,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Crown Station"
trader_species = /mob/living/carbon/human/skrell
trader_outfit = /datum/outfit/admin/trader/skrell
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/solarcentral_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/solarcentral_major
trader_minor_special = /obj/effect/spawner/random/traders/solarcentral_minor
trader_major_special = /obj/effect/spawner/random/traders/solarcentral_major
/datum/traders/grey
trader_type = "Technocracy"
@@ -216,8 +216,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Orbital Commerce Outpost 58"
trader_species = /mob/living/carbon/human/grey
trader_outfit = /datum/outfit/admin/trader/grey
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/technocracy_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/technocracy_major
trader_minor_special = /obj/effect/spawner/random/traders/technocracy_minor
trader_major_special = /obj/effect/spawner/random/traders/technocracy_major
/datum/traders/nian
trader_type = "Merchant Guild"
@@ -225,5 +225,5 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
dock_site = "Guild Subsidiary Station 'Gilded Comet'"
trader_species = /mob/living/carbon/human/moth
trader_outfit = /datum/outfit/admin/trader/nian
trader_minor_special = /obj/effect/spawner/lootdrop/trade_sol/merchantguild_minor
trader_major_special = /obj/effect/spawner/lootdrop/trade_sol/merchantguild_major
trader_minor_special = /obj/effect/spawner/random/traders/merchantguild_minor
trader_major_special = /obj/effect/spawner/random/traders/merchantguild_major
@@ -1,13 +1,17 @@
/obj/effect/spawner/lootdrop/pizzaparty
/obj/effect/spawner/random/pizzaparty
name = "pizza bomb spawner"
loot = list(/obj/item/pizzabox/margherita = 2,
/obj/item/pizzabox/meat = 2,
/obj/item/pizzabox/mushroom = 1,
/obj/item/pizzabox/pepperoni = 2,
/obj/item/pizzabox/garlic = 1,
/obj/item/pizzabox/firecracker = 1,
/obj/item/pizzabox/pizza_bomb = 1)
lootdoubles = FALSE
icon = 'icons/effects/random_spawners.dmi'
icon_state = "pizzabox"
loot = list(
/obj/item/pizzabox/margherita = 2,
/obj/item/pizzabox/meat = 2,
/obj/item/pizzabox/pepperoni = 2,
/obj/item/pizzabox/mushroom = 1,
/obj/item/pizzabox/garlic = 1,
/obj/item/pizzabox/firecracker = 1,
/obj/item/pizzabox/pizza_bomb = 1
)
spawn_loot_double = TRUE
/obj/structure/reagent_dispensers/water_cooler/pizzaparty
name = "punch cooler"
@@ -1,12 +1,12 @@
/obj/effect/spawner/lootdrop/seed_vault
/obj/effect/spawner/random/seed_vault
name = "seed vault seeds"
lootcount = 1
loot = list(/obj/item/food/grown/mushroom/glowshroom/glowcap = 10,
/obj/item/seeds/cherry/bomb = 10,
/obj/item/seeds/berry/glow = 10,
/obj/item/seeds/sunflower/moonflower = 8
)
loot = list(
/obj/item/food/grown/mushroom/glowshroom/glowcap = 10,
/obj/item/seeds/cherry/bomb = 10,
/obj/item/seeds/berry/glow = 10,
/obj/item/seeds/sunflower/moonflower = 8,
)
/obj/effect/mob_spawn/human/alive/seed_vault
name = "preserved terrarium"
+4 -128
View File
@@ -50,130 +50,6 @@
/obj/item/stock_parts/capacitor/quadratic = 5,//Probably okay, right?
/obj/item/stack/ore/bluespace_crystal = 5)
/obj/effect/spawner/lootdrop/bluespace_tap
name = "bluespace harvester reward spawner"
lootcount = 1
/obj/effect/spawner/lootdrop/bluespace_tap/hat
name = "exotic hat"
loot = list(
/obj/item/clothing/head/collectable/chef, //same weighing on all of them
/obj/item/clothing/head/collectable/paper,
/obj/item/clothing/head/collectable/tophat,
/obj/item/clothing/head/collectable/captain,
/obj/item/clothing/head/collectable/beret,
/obj/item/clothing/head/collectable/welding,
/obj/item/clothing/head/collectable/flatcap,
/obj/item/clothing/head/collectable/pirate,
/obj/item/clothing/head/collectable/kitty,
/obj/item/clothing/head/crown/fancy,
/obj/item/clothing/head/collectable/rabbitears,
/obj/item/clothing/head/collectable/wizard,
/obj/item/clothing/head/collectable/hardhat,
/obj/item/clothing/head/collectable/hos,
/obj/item/clothing/head/collectable/thunderdome,
/obj/item/clothing/head/collectable/swat,
/obj/item/clothing/head/collectable/slime,
/obj/item/clothing/head/collectable/police,
/obj/item/clothing/head/collectable/slime,
/obj/item/clothing/head/collectable/xenom,
/obj/item/clothing/head/collectable/petehat
)
/obj/effect/spawner/lootdrop/bluespace_tap/cultural
name = "cultural artifacts"
loot = list(
/obj/vehicle/space/speedbike/red = 10,
/obj/item/grenade/clusterbuster/honk = 10,
/obj/item/toy/katana = 10,
/obj/item/stack/tile/brass/fifty = 20,
/obj/item/stack/sheet/mineral/abductor/fifty = 20,
/obj/item/sord = 20,
/obj/item/toy/syndicateballoon = 15,
/obj/item/lighter/zippo/gonzofist = 5,
/obj/item/lighter/zippo/engraved = 5,
/obj/item/lighter/zippo/nt_rep = 5,
/obj/item/gun/projectile/automatic/c20r/toy = 1,
/obj/item/gun/projectile/automatic/l6_saw/toy = 1,
/obj/item/gun/projectile/automatic/toy/pistol = 2,
/obj/item/gun/projectile/automatic/toy/pistol/enforcer = 1,
/obj/item/gun/projectile/shotgun/toy = 1,
/obj/item/gun/projectile/shotgun/toy/crossbow = 1,
/obj/item/gun/projectile/shotgun/toy/tommygun = 1,
/obj/item/gun/projectile/automatic/sniper_rifle/toy = 1,
/obj/item/dualsaber/toy = 5,
/obj/machinery/snow_machine = 10,
/obj/item/clothing/head/kitty = 5,
/obj/item/coin/antagtoken = 5,
/obj/item/toy/prizeball/figure = 15,
/obj/item/toy/prizeball/therapy = 10,
/obj/item/bedsheet/patriot = 2,
/obj/item/bedsheet/rainbow = 2,
/obj/item/bedsheet/captain = 2,
/obj/item/bedsheet/centcom = 1, //mythic rare rarity
/obj/item/bedsheet/syndie = 2,
/obj/item/bedsheet/cult = 2,
/obj/item/bedsheet/wiz = 2,
/obj/item/stack/sheet/mineral/tranquillite/fifty = 3,
/obj/item/clothing/gloves/combat = 5,
/obj/item/blank_tarot_card = 5,
/obj/item/tarot_card_pack = 5,
/obj/item/tarot_card_pack/jumbo = 3,
/obj/item/tarot_card_pack/mega = 2
)
/obj/effect/spawner/lootdrop/bluespace_tap/organic
name = "organic objects"
loot = list(
/obj/item/seeds/random/labelled = 50,
/obj/item/guardiancreator/biological = 5,
/obj/item/organ/internal/vocal_cords/adamantine = 15,
/obj/item/storage/pill_bottle/random_meds/labelled = 25,
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 15,
/obj/item/dnainjector/telemut = 5,
/obj/item/dnainjector/small_size = 5,
/obj/item/dnainjector/morph = 5,
/obj/item/dnainjector/regenerate = 5,
/mob/living/simple_animal/pet/dog/corgi/ = 5,
/mob/living/simple_animal/pet/cat = 5,
/mob/living/simple_animal/pet/dog/fox/ = 5,
/mob/living/simple_animal/pet/penguin/baby = 5,
/mob/living/simple_animal/pig = 5,
/obj/item/slimepotion/sentience = 5,
/obj/item/clothing/mask/cigarette/cigar/havana = 3,
/obj/item/stack/sheet/mineral/bananium/fifty = 2, //bananas are organic, clearly.
/obj/item/storage/box/monkeycubes = 5,
/obj/item/stack/tile/carpet/twenty = 10,
/obj/item/stack/tile/carpet/black/twenty = 10,
/obj/item/soap/deluxe = 5
)
/obj/effect/spawner/lootdrop/bluespace_tap/food
name = "fancy food"
lootcount = 3
loot = list(
/obj/item/food/wingfangchu,
/obj/item/food/hotdog,
/obj/item/food/sliceable/turkey,
/obj/item/food/plumphelmetbiscuit,
/obj/item/food/appletart,
/obj/item/food/sliceable/cheesecake,
/obj/item/food/sliceable/bananacake,
/obj/item/food/sliceable/chocolatecake,
/obj/item/food/soup/meatballsoup,
/obj/item/food/soup/mysterysoup,
/obj/item/food/soup/stew,
/obj/item/food/soup/hotchili,
/obj/item/food/burrito,
/obj/item/food/fishburger,
/obj/item/food/cubancarp,
/obj/item/food/fishandchips,
/obj/item/food/meatpie,
/obj/item/pizzabox/hawaiian, //it ONLY gives hawaiian. MUHAHAHA
/obj/item/food/sliceable/xenomeatbread //maybe add some dangerous/special food here, ie robobuger?
)
/// Points generated per cycle for each Watt of power consumption
#define POINTS_PER_W 4e-6
/// Amount of points generated per cycle per 50KW for the first 500KW
@@ -203,10 +79,10 @@
/// list of possible products
var/static/product_list = list(
new /datum/data/bluespace_tap_product("Unknown Exotic Hat", /obj/effect/spawner/lootdrop/bluespace_tap/hat, 5000),
new /datum/data/bluespace_tap_product("Unknown Snack", /obj/effect/spawner/lootdrop/bluespace_tap/food, 6000),
new /datum/data/bluespace_tap_product("Unknown Cultural Artifact", /obj/effect/spawner/lootdrop/bluespace_tap/cultural, 15000),
new /datum/data/bluespace_tap_product("Unknown Biological Artifact", /obj/effect/spawner/lootdrop/bluespace_tap/organic, 20000)
new /datum/data/bluespace_tap_product("Unknown Exotic Hat", /obj/effect/spawner/random/bluespace_tap/hat, 5000),
new /datum/data/bluespace_tap_product("Unknown Snack", /obj/effect/spawner/random/bluespace_tap/food, 6000),
new /datum/data/bluespace_tap_product("Unknown Cultural Artifact", /obj/effect/spawner/random/bluespace_tap/cultural, 15000),
new /datum/data/bluespace_tap_product("Unknown Biological Artifact", /obj/effect/spawner/random/bluespace_tap/organic, 20000)
)
/// The amount of power being used for mining at the moment (Watts)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 29 KiB

+4 -2
View File
@@ -1033,15 +1033,16 @@
#include "code\game\objects\effects\spawners\detgun_spawner.dm"
#include "code\game\objects\effects\spawners\gibspawner.dm"
#include "code\game\objects\effects\spawners\grouped_spawner.dm"
#include "code\game\objects\effects\spawners\lootdrop.dm"
#include "code\game\objects\effects\spawners\mess_spawners.dm"
#include "code\game\objects\effects\spawners\random_barrier.dm"
#include "code\game\objects\effects\spawners\vaultspawner.dm"
#include "code\game\objects\effects\spawners\windowspawner.dm"
#include "code\game\objects\effects\spawners\random\bluespace_tap_spawners.dm"
#include "code\game\objects\effects\spawners\random\decal_spawners.dm"
#include "code\game\objects\effects\spawners\random\engineering_spawners.dm"
#include "code\game\objects\effects\spawners\random\food_spawners.dm"
#include "code\game\objects\effects\spawners\random\furniture_spawners.dm"
#include "code\game\objects\effects\spawners\random\loot_spawners.dm"
#include "code\game\objects\effects\spawners\random\maint_loot_spawners.dm"
#include "code\game\objects\effects\spawners\random\misc_spawners.dm"
#include "code\game\objects\effects\spawners\random\random_spawner.dm"
@@ -1049,6 +1050,8 @@
#include "code\game\objects\effects\spawners\random\pool\pool_spawner.dm"
#include "code\game\objects\effects\spawners\random\pool\spawn_pool.dm"
#include "code\game\objects\effects\spawners\random\pool\spawn_pool_manager.dm"
#include "code\game\objects\effects\spawners\random\traders\trader_department_spawners.dm"
#include "code\game\objects\effects\spawners\random\traders\trader_organization_spawners.dm"
#include "code\game\objects\effects\temporary_visuals\clockcult.dm"
#include "code\game\objects\effects\temporary_visuals\cult_visuals.dm"
#include "code\game\objects\effects\temporary_visuals\explosion_temp_visuals.dm"
@@ -1656,7 +1659,6 @@
#include "code\modules\atmospherics\machinery\portable\portable_atmospherics.dm"
#include "code\modules\atmospherics\machinery\portable\portable_pump.dm"
#include "code\modules\atmospherics\machinery\portable\scrubber.dm"
#include "code\modules\awaymissions\loot.dm"
#include "code\modules\awaymissions\mob_spawn.dm"
#include "code\modules\awaymissions\zlevel_helpers.dm"
#include "code\modules\awaymissions\maploader\dmm_suite.dm"
@@ -0,0 +1,21 @@
/obj/effect/spawner/lootdrop/crate_spawner : /obj/effect/spawner/random/loot/crate
/obj/effect/spawner/lootdrop/three_course_meal : /obj/effect/spawner/random/food_or_drink/three_course_meal
/obj/effect/spawner/lootdrop/trade_sol/civ : /obj/effect/spawner/random/traders/civilian
/obj/effect/spawner/lootdrop/trade_sol/minerals : /obj/effect/spawner/random/traders/minerals
/obj/effect/spawner/lootdrop/trade_sol/donksoft : /obj/effect/spawner/random/traders/donksoft
/obj/effect/spawner/lootdrop/trade_sol/sci : /obj/effect/spawner/random/traders/science
/obj/effect/spawner/lootdrop/trade_sol/med : /obj/effect/spawner/random/traders/medical
/obj/effect/spawner/lootdrop/trade_sol/sec : /obj/effect/spawner/random/traders/security
/obj/effect/spawner/lootdrop/trade_sol/eng : /obj/effect/spawner/random/traders/engineering
/obj/effect/spawner/lootdrop/trade_sol/largeitem : /obj/effect/spawner/random/traders/large_item
/obj/effect/spawner/lootdrop/trade_sol/vehicle : /obj/effect/spawner/random/traders/vehicle
/obj/effect/spawner/lootdrop/trade_sol/serv : /obj/effect/spawner/random/traders/service
/obj/effect/spawner/lootdrop/bluespace_tap/@SUBTYPES : /obj/effect/spawner/random/bluespace_tap/@SUBTYPES
/obj/effect/spawner/lootdrop/trade_sol/@SUBTYPES : /obj/effect/spawner/random/traders/@SUBTYPES
/obj/effect/spawner/lootdrop/telecomms_core_table : /obj/effect/spawner/random/telecomms_core_table
/obj/effect/spawner/lootdrop/wizardcrash : /obj/effect/spawner/random/wizardcrash
/obj/effect/spawner/lootdrop/pizzaparty : /obj/effect/spawner/random/pizzaparty
/obj/effect/spawner/lootdrop/seed_vault : /obj/effect/spawner/random/seed_vault