From 6be579de4ee29fd08a9616eee306a55deba1ccdc Mon Sep 17 00:00:00 2001 From: Doxxmedearly <38594443+Doxxmedearly@users.noreply.github.com> Date: Sat, 16 Jan 2021 05:39:49 -0600 Subject: [PATCH] Warehouse tweaks part 2 (#10961) --- code/__defines/misc.dm | 6 +- code/modules/cargo/random_stock/large.dm | 12 +++- code/modules/cargo/random_stock/t1_common.dm | 58 ++++++------------- .../modules/cargo/random_stock/t2_uncommon.dm | 30 ++++------ code/modules/cargo/random_stock/t3_rare.dm | 13 ++--- .../doxxmedearly - warehouse_tweaks.yml | 9 +++ 6 files changed, 56 insertions(+), 72 deletions(-) create mode 100644 html/changelogs/doxxmedearly - warehouse_tweaks.yml diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 418b2fe81d0..66a0b83481d 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -239,12 +239,12 @@ //Cargo random stock vars //These are used in randomstock.dm //And also for generating random loot crates in crates.dm -#define TOTAL_STOCK 200//The total number of items we'll spawn in cargo stock +#define TOTAL_STOCK 180//The total number of items we'll spawn in cargo stock -#define STOCK_UNCOMMON_PROB 23 +#define STOCK_UNCOMMON_PROB 25 //The probability, as a percentage for each item, that we'll choose from the uncommon spawns list -#define STOCK_RARE_PROB 2.8 +#define STOCK_RARE_PROB 3 //The probability, as a percentage for each item, that we'll choose from the rare spawns list //If an item is not rare or uncommon, it will be chosen from the common spawns list. diff --git a/code/modules/cargo/random_stock/large.dm b/code/modules/cargo/random_stock/large.dm index 128743491b9..a52fc266166 100644 --- a/code/modules/cargo/random_stock/large.dm +++ b/code/modules/cargo/random_stock/large.dm @@ -1,4 +1,4 @@ -STOCK_ITEM_LARGE(russian, 1) +STOCK_ITEM_LARGE(russian, 0.5) new /obj/structure/closet/gimmick/russian(L) STOCK_ITEM_LARGE(emergency, 2) @@ -27,13 +27,13 @@ STOCK_ITEM_LARGE(biosuit, 3) STOCK_ITEM_LARGE(hydrotray, 3) new /obj/machinery/portable_atmospherics/hydroponics(L) -STOCK_ITEM_LARGE(oxycanister, 6)//Cargo should almost always have an oxycanister +STOCK_ITEM_LARGE(oxycanister, 3) new /obj/machinery/portable_atmospherics/canister/oxygen(L) STOCK_ITEM_LARGE(oxydispenser, 5) new /obj/structure/dispenser/oxygen(L) -STOCK_ITEM_LARGE(bubbleshield, 2) +STOCK_ITEM_LARGE(bubbleshield, 0.5) var/obj/O = new /obj/machinery/shield_gen(L) var/turf/T = get_turf(O) for (var/turf/U in range(O,1)) @@ -48,6 +48,9 @@ STOCK_ITEM_LARGE(watertank, 2) STOCK_ITEM_LARGE(fueltank, 2) new /obj/structure/reagent_dispensers/fueltank(L) +STOCK_ITEM_LARGE(lubetank, 2) + new /obj/structure/reagent_dispensers/lube(L) + STOCK_ITEM_LARGE(airpump, 1) var/obj/machinery/portable_atmospherics/powered/M = new /obj/machinery/portable_atmospherics/powered/pump/filled(L) if (prob(60) && M.cell) @@ -140,3 +143,6 @@ STOCK_ITEM_LARGE(dog, 0.2) STOCK_ITEM_LARGE(exosuit, 1.2) //A randomly generated exosuit in a very variable condition. new /obj/machinery/mech_recharger(get_turf(L)) // exosuit would die without it otherwise new /mob/living/heavy_vehicle/premade/random/extra(L) + +STOCK_ITEM_LARGE(unusualcrate, 0.1) //Like from the unknown object random event + new /obj/structure/closet/crate/loot(L) \ No newline at end of file diff --git a/code/modules/cargo/random_stock/t1_common.dm b/code/modules/cargo/random_stock/t1_common.dm index 25a28f27053..c713ab2cf5a 100644 --- a/code/modules/cargo/random_stock/t1_common.dm +++ b/code/modules/cargo/random_stock/t1_common.dm @@ -10,7 +10,8 @@ STOCK_ITEM_COMMON(toolbox, 4) STOCK_ITEM_COMMON(meds, 5) new /obj/random/medical(L) new /obj/random/medical(L) - new /obj/random/medical(L) + if(prob(50)) + new /obj/random/medical(L) STOCK_ITEM_COMMON(steel, 7) new /obj/item/stack/material/steel(L, 50) @@ -44,7 +45,6 @@ STOCK_ITEM_COMMON(lightreplacer, 1) //A bundle of bodybags or stasis bags STOCK_ITEM_COMMON(bodybag, 2.2) if(prob(25)) - new /obj/item/bodybag/cryobag(L) new /obj/item/bodybag/cryobag(L) if(prob(50)) new /obj/item/bodybag/cryobag(L) @@ -52,7 +52,7 @@ STOCK_ITEM_COMMON(bodybag, 2.2) else new /obj/item/storage/box/bodybags(L) -STOCK_ITEM_COMMON(lamp, 2.4) +STOCK_ITEM_COMMON(lamp, 2) var/obj/item/device/flashlight/lamp/P if(prob(50)) P = new /obj/item/device/flashlight/lamp/green(L) @@ -70,8 +70,6 @@ STOCK_ITEM_COMMON(sterile, 2) STOCK_ITEM_COMMON(light, 1.8) new /obj/item/storage/box/lights/mixed(L) - if(prob(50)) - new /obj/item/storage/box/lights/mixed(L) if(prob(25)) new /obj/item/storage/box/lights/coloredmixed(L) if(prob(15)) @@ -135,7 +133,7 @@ STOCK_ITEM_COMMON(smallcell, 4) //Spawns a random circuitboard //Allboards being a global list might be faster, but it didnt seem worth the extra memory -STOCK_ITEM_COMMON(circuitboard, 2) +STOCK_ITEM_COMMON(circuitboard, 1) var/list/allboards = subtypesof(/obj/item/circuitboard) var/list/exclusion = list( /obj/item/circuitboard/unary_atmos, @@ -149,18 +147,18 @@ STOCK_ITEM_COMMON(circuitboard, 2) STOCK_ITEM_COMMON(oxy, 3.2) new /obj/random/smalltank(L) - new /obj/item/tank/oxygen(L) if(prob(25)) new /obj/random/smalltank(L) new /obj/random/smalltank(L) - if(prob(10)) + if(prob(40)) new /obj/item/tank/oxygen(L) STOCK_ITEM_COMMON(belts, 2) new /obj/random/belt(L) - new /obj/random/belt(L) + if(prob(50)) + new /obj/random/belt(L) -STOCK_ITEM_COMMON(backpack, 4.5) +STOCK_ITEM_COMMON(backpack, 3.5) new /obj/random/backpack(L) new /obj/random/backpack(L) @@ -194,14 +192,11 @@ STOCK_ITEM_COMMON(trap, 2) if(prob(30)) new /obj/item/trap(L) -STOCK_ITEM_COMMON(trays, 1.8) - new /obj/item/tray(L) - STOCK_ITEM_COMMON(utensil, 2) new /obj/item/storage/box/kitchen(L) STOCK_ITEM_COMMON(utilitygrenades, 1.5) - for(var/i in 1 to rand(1, 4)) + for(var/i in 1 to rand(1, 3)) if(prob(50)) new /obj/item/grenade/chem_grenade/metalfoam(L) else @@ -231,7 +226,7 @@ STOCK_ITEM_COMMON(gloves, 3.3) var/gtype = pick(allgloves) new gtype(L) -STOCK_ITEM_COMMON(insulated, 1.8) +STOCK_ITEM_COMMON(insulated, 1.5) new /obj/item/clothing/gloves/yellow(L) if(prob(50)) new /obj/item/clothing/gloves/yellow(L) @@ -253,14 +248,12 @@ STOCK_ITEM_COMMON(scanners, 3.2) /obj/item/barcodescanner = 1, /obj/item/device/depth_scanner = 1 ) - for(var/i in 1 to rand(1, 3)) + for(var/i in 1 to rand(1, 2)) var/stype = pickweight(possible) new stype(L) STOCK_ITEM_COMMON(binoculars, 1.5) new /obj/item/device/binoculars(L) - if(prob(50)) - new /obj/item/device/binoculars(L) STOCK_ITEM_COMMON(flash, 1) new /obj/item/device/flash(L) @@ -292,9 +285,9 @@ STOCK_ITEM_COMMON(cleaning, 3.5) STOCK_ITEM_COMMON(bsdm, 1.5) if(prob(50)) new /obj/item/clothing/glasses/sunglasses/blindfold(L) - if(prob(50)) + if(prob(20)) new /obj/item/clothing/mask/muzzle(L) - if(prob(30)) + if(prob(20)) new /obj/item/clothing/suit/straight_jacket(L) STOCK_ITEM_COMMON(charger, 2) @@ -315,9 +308,6 @@ STOCK_ITEM_COMMON(smokebombs, 1.1) STOCK_ITEM_COMMON(jar, 2) new /obj/item/glass_jar(L) -STOCK_ITEM_COMMON(glasses, 1.2) - new /obj/item/storage/box/rxglasses(L) - STOCK_ITEM_COMMON(pills, 1.2) var/list/options = pick( \ /obj/item/storage/pill_bottle/bicaridine, \ @@ -354,14 +344,6 @@ STOCK_ITEM_COMMON(paperwork, 1.2) else if(prob(15)) new /obj/item/pen/multi(L) -STOCK_ITEM_COMMON(officechair, 1.2) - var/turf/T = get_turf(L) - if(!turf_clear(T)) - for (var/turf/U in range(T,1)) - if (turf_clear(U)) - T = U - break - new /obj/structure/bed/chair/office/dark(T) STOCK_ITEM_COMMON(booze, 3.7) if(prob(8))//Spare keg of beer or xuizi juice @@ -378,7 +360,7 @@ STOCK_ITEM_COMMON(booze, 3.7) var/list/drinks = subtypesof(/obj/item/reagent_containers/food/drinks/bottle) drinks += subtypesof(/obj/item/reagent_containers/food/drinks/carton) - for (var/i in 1 to rand(1, 3)) + for (var/i in 1 to rand(1, 2)) var/type = pick(drinks) new type(L) @@ -391,7 +373,7 @@ STOCK_ITEM_COMMON(plant, 3.5) break new /obj/structure/flora/pottedplant/random(T) -STOCK_ITEM_COMMON(bag, 3.5) +STOCK_ITEM_COMMON(bag, 2) var/type = pick( \ /obj/item/storage/bag/trash, \ /obj/item/storage/bag/plasticbag, \ @@ -421,7 +403,7 @@ STOCK_ITEM_COMMON(hailer, 1.1) //A target, for target practice //Take em up to science for gun testing -STOCK_ITEM_COMMON(target, 2) +STOCK_ITEM_COMMON(target, 0.5) var/turf/T = get_turf(L) if(!turf_clear(T)) for(var/turf/U in range(T,1)) @@ -458,10 +440,8 @@ STOCK_ITEM_COMMON(posters, 3) new /obj/item/contraband/poster(L) if(prob(40)) new /obj/item/contraband/poster(L) - if(prob(20)) - new /obj/item/contraband/poster(L) -STOCK_ITEM_COMMON(parts, 5) +STOCK_ITEM_COMMON(parts, 4) var/list/parts = list( /obj/item/stock_parts/console_screen = 3, //Low ranking parts, common /obj/item/stock_parts/capacitor = 3, @@ -488,7 +468,7 @@ STOCK_ITEM_COMMON(parts, 5) /obj/item/stock_parts/subspace/transmitter = 0.5 ) - for(var/i in 1 to rand(2, 3)) + for(var/i in 1 to rand(1, 2)) var/part = pickweight(parts) new part(L) @@ -547,4 +527,4 @@ STOCK_ITEM_COMMON(camera, 1) new /obj/item/device/camera_film(L) STOCK_ITEM_COMMON(nothing, 0) - // do nothing + // do nothing \ No newline at end of file diff --git a/code/modules/cargo/random_stock/t2_uncommon.dm b/code/modules/cargo/random_stock/t2_uncommon.dm index 8b65e5cd179..21d0ef8cb83 100644 --- a/code/modules/cargo/random_stock/t2_uncommon.dm +++ b/code/modules/cargo/random_stock/t2_uncommon.dm @@ -72,7 +72,7 @@ STOCK_ITEM_UNCOMMON(specialcrayon, 1.5) new /obj/item/pen/crayon/rainbow(L) STOCK_ITEM_UNCOMMON(contraband, 2) - for(var/i in 1 to rand(1, 4)) + for(var/i in 1 to rand(1, 3)) new /obj/random/contraband(L) STOCK_ITEM_UNCOMMON(mediumcell, 3) @@ -123,7 +123,7 @@ STOCK_ITEM_UNCOMMON(circuitboards, 3) exclusion += typesof(/obj/item/circuitboard/mecha) allboards -= exclusion - for(var/i in 1 to rand(2, 3)) + for(var/i in 1 to rand(1, 2)) var/type = pick(allboards) new type(L) @@ -171,7 +171,7 @@ STOCK_ITEM_UNCOMMON(MMI, 1.5) STOCK_ITEM_UNCOMMON(voidsuit, 2) new /obj/random/voidsuit(L,1) -STOCK_ITEM_UNCOMMON(violin, 2) +STOCK_ITEM_UNCOMMON(violin, 1) new /obj/item/device/violin(L) STOCK_ITEM_UNCOMMON(atmosfiresuit, 2) @@ -193,18 +193,9 @@ STOCK_ITEM_UNCOMMON(carpet, 2) STOCK_ITEM_UNCOMMON(gift, 4) new /obj/item/a_gift(L) -STOCK_ITEM_UNCOMMON(coatrack, 1) - var/turf/T = get_turf(L) - if(!turf_clear(T)) - for (var/turf/U in range(T,1)) - if (turf_clear(U)) - T = U - break - new /obj/structure/coatrack(T) - STOCK_ITEM_UNCOMMON(riotshield, 2) new /obj/item/shield/riot(L) - if(prob(40)) + if(prob(20)) new /obj/item/shield/riot(L) STOCK_ITEM_UNCOMMON(fireaxe, 1) @@ -267,7 +258,7 @@ STOCK_ITEM_UNCOMMON(manual, 2) var/type = pick(booklist) new type(L) -STOCK_ITEM_UNCOMMON(spystuff, 1) +STOCK_ITEM_UNCOMMON(spystuff, 0.75) if(prob(40)) new /obj/item/device/radiojammer(L) else @@ -278,7 +269,7 @@ STOCK_ITEM_UNCOMMON(seeds, 1) var/obj/item/seeds/SP = pick(subtypesof(/obj/item/seeds) - /obj/item/seeds/cutting) new SP(L) -STOCK_ITEM_UNCOMMON(rped, 2) +STOCK_ITEM_UNCOMMON(rped, 1) new /obj/item/storage/part_replacer(L) STOCK_ITEM_UNCOMMON(briefcase, 2) @@ -369,8 +360,10 @@ STOCK_ITEM_UNCOMMON(wristbound, 0.5) STOCK_ITEM_UNCOMMON(pops, 0.5) if(prob(85)) new /obj/item/storage/box/snappops(L) - else + else if (prob(25)) new /obj/item/storage/box/snappops/syndi(L) + else + new /obj/item/storage/box/partypopper(L) STOCK_ITEM_UNCOMMON(collectable_headwear, 0.5) var/type = pick(subtypesof(/obj/item/clothing/head/collectable)) @@ -396,9 +389,8 @@ STOCK_ITEM_UNCOMMON(alt_glasses, 1) /obj/item/clothing/glasses/threedglasses, /obj/item/clothing/glasses/regular/hipster, /obj/item/clothing/glasses/regular/scanners) - for(var/i in 1 to rand(1, 2)) - var/type = pick(glasses) - new type(L) + var/type = pick(glasses) + new type(L) STOCK_ITEM_UNCOMMON(gumballs, 3) new /obj/item/glass_jar/gumball(L) diff --git a/code/modules/cargo/random_stock/t3_rare.dm b/code/modules/cargo/random_stock/t3_rare.dm index def319bec2a..647e9de57ec 100644 --- a/code/modules/cargo/random_stock/t3_rare.dm +++ b/code/modules/cargo/random_stock/t3_rare.dm @@ -91,7 +91,7 @@ STOCK_ITEM_RARE(exogear, 1.5) /obj/item/mecha_equipment/sleeper = 0.9 ) - for(var/i in 1 to rand(1,3)) + for(var/i in 1 to rand(1,2)) var/type = pickweight(equips) new type(L) @@ -126,13 +126,6 @@ STOCK_ITEM_RARE(watertank, 1) else new /obj/item/watertank(L) -STOCK_ITEM_RARE(bmonster, 0.5) - var/obj/item/battle_monsters/wrapped/W = pick(subtypesof(/obj/item/battle_monsters/wrapped)) - new W(L) - if(prob(15)) - W = pick(subtypesof(/obj/item/battle_monsters/wrapped)) - new W(L) - STOCK_ITEM_RARE(rare_clothing, 1) var/list/clothing_picks = list( /obj/item/clothing/under/elyra_holo, @@ -154,4 +147,8 @@ STOCK_ITEM_RARE(rare_clothing, 1) var/obj/item/clothing/C = pick(clothing_picks) new C(L) +STOCK_ITEM_RARE(megacorp_goods, 0.25) + var/obj/item/adv_item = pick(/obj/item/storage/backpack/service, /obj/item/device/advanced_healthanalyzer) + new adv_item(L) + STOCK_ITEM_RARE(nothing, 0) \ No newline at end of file diff --git a/html/changelogs/doxxmedearly - warehouse_tweaks.yml b/html/changelogs/doxxmedearly - warehouse_tweaks.yml new file mode 100644 index 00000000000..9eeabe27baf --- /dev/null +++ b/html/changelogs/doxxmedearly - warehouse_tweaks.yml @@ -0,0 +1,9 @@ +author: Doxxmedearly + +delete-after: True + +changes: + - tweak: "Reduced the number of total item spawns in cargo by about 10%." + - tweak: "Further adjusted cargo warehouse spawn probabilities." + - rscdel: "Removed some items from the warehouse spawn list." + - rscadd: "Added some items to the warehouse spawn list." \ No newline at end of file