From 3dc52b9f1f7ad087d95c247a41ee802a4dadabc8 Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Sun, 29 Oct 2023 06:18:35 -0400
Subject: [PATCH] Reworks some trader pools. (#22969)
* oh boy let us have some heads roll
* le comma au chocolate
* perhaps we we want them to be able to build it
* mmm ice cream sandwich cereal
* Update code/game/objects/items/weapons/storage/boxes.dm
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* Update code/game/objects/items/weapons/storage/boxes.dm
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
* lablled
* Apply suggestions from code review
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* solcase
---------
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
---
.../game/objects/effects/spawners/lootdrop.dm | 60 ++++++++++--------
code/game/objects/items/devices/scanners.dm | 4 +-
.../objects/items/weapons/storage/boxes.dm | 16 +++++
code/modules/crafting/guncrafting.dm | 4 ++
icons/obj/improvised.dmi | Bin 881 -> 960 bytes
5 files changed, 55 insertions(+), 29 deletions(-)
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index 98c0e796156..69abb44dfd7 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -202,19 +202,18 @@
name = "1. civilian gear"
loot = list(
// General utility gear
- /obj/item/storage/belt/utility/full/multitool = 150,
/obj/item/clothing/gloves/combat = 100,
- /obj/item/clothing/glasses/welding = 50,
/obj/item/reagent_containers/spray/cleaner/advanced = 100,
- /obj/item/clothing/shoes/magboots = 50,
/obj/item/soap = 50,
/obj/item/clothing/under/syndicate/combat = 50,
/obj/item/soap/syndie = 50,
/obj/item/lighter/zippo/gonzofist = 50,
- /obj/item/stack/nanopaste = 50,
/obj/item/clothing/under/costume/psyjump = 50,
/obj/item/immortality_talisman = 50,
- /obj/item/clothing/mask/holo_cigar = 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/effect/spawner/lootdrop/trade_sol/minerals
@@ -243,6 +242,7 @@
/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--
@@ -267,7 +267,6 @@
name = "4. science gear"
loot = list(
// Robotics
- /obj/item/mmi/robotic_brain = 50, // Low-value, but we want to encourage getting more players back in the round.
/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
@@ -275,11 +274,15 @@
/obj/item/mod/construction/plating/research = 25,
// Research / Experimentor
- /obj/item/paper/researchnotes = 150, // papers that give random R&D levels
+ /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
+ /obj/item/slimepotion/transference = 50,
+
+ // Might as well let AI be interested
+ /obj/item/surveillance_upgrade = 25
)
/obj/effect/spawner/lootdrop/trade_sol/med
@@ -288,10 +291,8 @@
// Medchem
/obj/item/storage/pill_bottle/random_meds/labelled = 100, // random medical and other chems
/obj/item/reagent_containers/glass/bottle/reagent/omnizine = 50,
- /obj/item/reagent_containers/glass/bottle/reagent/lazarus_reagent = 50,
// Surgery
- /obj/item/scalpel/laser/manager = 100,
/obj/item/organ/internal/heart/gland/ventcrawling = 50,
/obj/item/organ/internal/heart/gland/heals = 50,
@@ -300,12 +301,11 @@
/obj/item/dnainjector/nobreath = 50,
/obj/item/dnainjector/telemut = 50,
- // Virology
- /obj/item/reagent_containers/glass/bottle/regeneration = 50,
- /obj/item/reagent_containers/glass/bottle/sensory_restoration = 50,
-
// Medical in general
- /obj/item/mod/construction/plating/rescue = 25
+ /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
@@ -321,19 +321,18 @@
/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,
- /obj/item/storage/box/enforcer_lethal = 50,
- /obj/item/gun/projectile/shotgun/automatic/combat = 50, // combat shotgun, between riot and bulldog in robustness. Not illegal, can be obtained from cargo.
- /obj/item/gun/projectile/shotgun/automatic/dual_tube = 50, // cycler shotgun, not normally available to crew
+ /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 = 50, //Weapon crafting, lets officers experiment however lets not have it be C class
- // Cluster grenades
- /obj/item/grenade/clusterbuster = 50, // cluster flashbang
)
/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,
@@ -342,8 +341,10 @@
/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/grenade/clusterbuster/metalfoam = 25, // cluster metal foam grenade
- /obj/item/mod/construction/plating/advanced = 13
+ /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
@@ -352,7 +353,9 @@
loot = list(
/obj/machinery/disco = 20,
/obj/structure/spirit_board = 20,
- /obj/mecha/combat/durand/old = 20
+ /obj/mecha/combat/durand/old = 20,
+ /obj/machinery/snow_machine = 20,
+ /obj/machinery/cooker/cerealmaker = 20
)
/obj/effect/spawner/lootdrop/trade_sol/vehicle
@@ -378,13 +381,12 @@
name = "10. service gear"
loot = list(
// Mining
- /obj/item/mining_voucher = 100,
/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/seeds/random/labelled = 100,
+ /obj/item/storage/box/botany_labelled_seeds = 100,
// Clown
/obj/item/grenade/clusterbuster/honk = 100,
@@ -395,8 +397,12 @@
/obj/item/storage/box/bartender_rare_ingredients_kit = 100,
// Chef
- /obj/item/storage/box/chef_rare_ingredients_kit = 100
+ /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
)
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index fa51166be20..e8e708636c1 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -614,8 +614,8 @@ REAGENT SCANNER
var/printing = FALSE
var/time_to_use = 0 // How much time remaining before next scan is available.
var/usecharge = 750
- var/scan_time = 10 SECONDS //how long does it take to scan
- var/scan_cd = 60 SECONDS //how long before we can scan again
+ var/scan_time = 5 SECONDS //how long does it take to scan
+ var/scan_cd = 30 SECONDS //how long before we can scan again
/obj/item/bodyanalyzer/get_cell()
return cell
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 04201355428..9b6fd4c8b71 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -556,6 +556,22 @@
B.reagents.add_reagent(reag, 30)
B.name = "[reag] bottle"
+/obj/item/storage/box/botany_labelled_seeds
+ name = "botanist labelled random seeds kit"
+ desc = "A box intended for experienced botanists."
+
+/obj/item/storage/box/botany_labelled_seeds/populate_contents()
+ for(var/I in 1 to 7)
+ new /obj/item/seeds/random/labelled(src)
+
+/obj/item/storage/box/telescience
+ name = "babies first telescience kit"
+ desc = "A now restricted kit for those who want to learn about telescience!"
+
+/obj/item/storage/box/telescience/populate_contents()
+ new /obj/item/circuitboard/telesci_pad(src)
+ new /obj/item/circuitboard/telesci_console(src)
+
/obj/item/storage/box/mousetraps
name = "box of Pest-B-Gon mousetraps"
desc = "WARNING: Keep out of reach of children."
diff --git a/code/modules/crafting/guncrafting.dm b/code/modules/crafting/guncrafting.dm
index 4101471f51d..794446de44c 100644
--- a/code/modules/crafting/guncrafting.dm
+++ b/code/modules/crafting/guncrafting.dm
@@ -104,6 +104,10 @@
desc = "A suitcase containing the necessary gun parts to build a full gun, when combined with a gun kit. Use it directly on a gunkit to rapidly assemble it."
icon_state = "syndicase"
+/obj/item/weaponcrafting/gunkit/universal_gun_kit/sol_gov
+ name = "\improper sol gov universal self assembling gun parts kit"
+ icon_state = "solcase" //Ikea reference pending.
+
/obj/item/weaponcrafting/gunkit/universal_gun_kit/afterattack(obj/item/weaponcrafting/gunkit/gunkit_to_use, mob/user, flag)
if(!istype(gunkit_to_use))
return
diff --git a/icons/obj/improvised.dmi b/icons/obj/improvised.dmi
index 2bee1892cd7358cbf0063291f50df83b7ae0ab09..54bade6595fc4e8dd826e3f38b51504686c253c6 100644
GIT binary patch
delta 759
zcmVB=Gw==rQ>tTo>U!0jJ9&pl7`%TvsQqRu#RDz7
zRCcu#4sdk57GlkiVsV+Zp9(1~MoPVsVu<<*YyK!C7kFGeG2E)Zbe+`^3}Bj_hd9hY
z987-igiH&v(F9pbPjB%z8Rl=URBhk9Pj~@ST66;@)8{Mz00HkwL_t(&f$f$HPr@(|
zfDwk;!?I+iPy5ClOG9ZTQL
zsVG+}6~ic3tJU(dVHg#|v@9z}F2BIGS60{7?G4-B+_Y^IYM7QTS91h;1#Z3GXt;IP
zWuGl}L}JQgs&h5Q_I7SV0xLq7bA;i00#QkyYc^*TOsNkv;R=6hGjuSWCa}o*2!bF8
zg8W5VD&|?gz0(GEBz)7>7cPc7aC;-*nYakrxE&>X9NcObFB{OK9sy
ziqvz|dJ17N;!!D>R=*@JV`A_Z2M)t95$E_fFDZ*Bkpc$}5c!3x4K5CqV3@)e=Ii>+S0NK5I#{zFW*&C;4k
zcB}aJ1`8ey-e%w(hAGv#?fOAAmtH;~5(ckM>bToW@kGlml|wCs1Dt;xZ-rPhq*z=R
z?dL)Yi;+^Vq!^>V!Ir-Y$pxNPPYn0!FI{JK1Ou36=OK;@5C@arJ0sJIY&1dE(#u=?
zB}>%~&F9=V;2UUrdHCL40005ANklqfuJXp5eaY*V~uM>HC_4JphR
z*_y)*`w4iGe9iX{6zs^S`1A_w15U6TpHgH#000000DqCD2$g^Nt#*sjPGFOk#L($x
z9$m?L*_?tN1zqI(9sPS9DgP2hRk1?a};-QHnL2HAWrh+AgLh9MDn9I=3q`{A%3
z1i=GBSpjcmSBkXZTfoMa6A(hs=<#VZct)s`HLzCGaT0@AAiV=Z-0>J={POySu|U8b
zT#*q>rW49EflYrV;
z7^bSizjBl9nntFpIzi#zA^-pY0QfI_h)|h7o6jio1U8u|H2k2z^9mKj{e6J~Hh$$D
zES3w(GJ#DNDg|N`3O++RBG#+&6VSdsRh6C~f<~sRIzb%a-y#423grvX)`AdAWUlZ4
O0000