Repository: GeneralPantsuIsBadAtCoding/Azure-Peak
Pull request #2485: Merchantry PR 2 - Bathmatron & Merchant Tweaks
Author: login: WeNeedMorePhoron
Labels: name: Code
description: Changes existing code
name: Balance
description: fuck you
Created: 2025-05-22T04:08:19Z | Merged: 2025-05-24T06:15:22Z

## About The Pull Request
Uhhh I wanted to do more extensive rework of the merchant PR but it is 11 PM and I wanna sleep I can always do more later or ask someone to clean up the wardrobe tab.

Another babystep to move Merchant into general adventure shop.

- Bathmaster no longer need to unlock drugs. They have drugs by default.
- Removed redundant wine from "Food" tab. Added hardtacks, increased base price of dry meat slightly. Added coffee beans and tea to food merchant sell. Also seeds for tea and coffee. Reduced price of clownfish because wtf??
- Split instruments from "Luxury" tab into Instruments.
- Split mercenary / unique weapons from "Weapons" tab to "Foreign Weapons". Added the Nagaika Whip from new steppesman and navaja  to the list.
- Added Iron & Steel Javelins to ordinary weapon list.
- Increased smoke bombs recipe efficiency to 3x. 
- Bathmatron now get Exotic Apparel and Roguery Tab. They can also sell instruments because entertainment.
- Roguery Tab contains several thief tools plus an overpriced grappler. Exotic Apparel contains a bunch of bathmaiden clothes. Exotic Food has jackberries and cakes and a few thematic food
- Tea and Coffee and Rose Tea now in the "Bulk" category that Bathmatron can import.

<!-- Describe your pull request. Avoid text walls, use concise bullet points for easier readability. Document every change, or this can delay review and even discourage maintainers from merging your PR. -->

## Testing Evidence
![CmrNcDxikC](https://github.com/user-attachments/assets/e76cd963-260f-4057-8e15-4315d1c9bb13)
![XJMr5orJzN](https://github.com/user-attachments/assets/d41a1580-2f83-42f8-be3c-eaff417ce2cf)
![dDaubBZba9](https://github.com/user-attachments/assets/334a060c-d104-4718-bfa1-53738e3b4ca5)
![qXwPorsH85](https://github.com/user-attachments/assets/0986994a-d6c9-429b-aa30-beddd7c5f59b)
![uLfCrHMjUL](https://github.com/user-attachments/assets/7aada95a-1017-4ce6-81ca-f6ddea27128a)


<!-- It's mandatory to test your PR. Provide images, clips or description of how you tested your changes where possible. -->

## Why It's Good For The Game
Move bathmatron to follow in the direction of removing licenses I started with merchantry. Expand their selection to fit in with hive of villainy started by the Thieves PR that make it effectively a Thieves guild. It also gives them some clothes (These are clothes that bathmaiden already start with) and food that imo, fit in with the bathhouse fantasy so I can finally order overpriced cakes at the bathhouse. And add instruments because they are **the** entertainment center. The food selection is rather limited so they shouldn't fully compete with the inn.

Somehow this ended up with way more changes for Bathmatron than Merchant but one step at a time you know. 

<!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial. If you can't, then it probably isn't good for the game in the first place. -->



Diff:
diff --git a/code/modules/cargo/packsrogue/bathmatron/bath_clothes.dm b/code/modules/cargo/packsrogue/bathmatron/bath_clothes.dm
new file mode 100644
index 00000000000..28c20807e26
--- /dev/null
+++ b/code/modules/cargo/packsrogue/bathmatron/bath_clothes.dm
@@ -0,0 +1,61 @@
+// If clothing appears on a bathmaiden. Then it should be sold here. 
+/datum/supply_pack/rogue/bath_clothes
+	group = "Exotic Apparel"
+	crate_name = "bathmatron's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+/datum/supply_pack/rogue/bath_clothes/exoticsilkbra
+	name = "Exotic Silk Bra"
+	cost = 30
+	contains = list(/obj/item/clothing/suit/roguetown/shirt/exoticsilkbra)
+
+/datum/supply_pack/rogue/bath_clothes/anklets
+	name = "Exotic Silk Anklets"
+	cost = 30
+	contains = list(/obj/item/clothing/shoes/roguetown/anklets)
+
+/datum/supply_pack/rogue/bath_clothes/exoticsilkbelt
+	name = "Exotic Silk Belt"
+	cost = 30
+	contains = list(/obj/item/storage/belt/rogue/leather/exoticsilkbelt)
+
+/datum/supply_pack/rogue/bath_clothes/exoticsilkmask
+	name = "Exotic Silk Mask"
+	cost = 30
+	contains = list(/obj/item/clothing/mask/rogue/exoticsilkmask)
+
+/datum/supply_pack/rogue/bath_clothes/silkstockings
+	name = "Stockings, Silk"
+	cost = 20
+	contains = list(/obj/item/clothing/under/roguetown/tights/stockings/silk/white)
+
+/datum/supply_pack/rogue/bath_clothes/fishnetstockings
+	name = "Stockings, Fishnet"
+	cost = 10
+	contains = list(/obj/item/clothing/under/roguetown/tights/stockings/fishnet/white)
+
+/datum/supply_pack/rogue/bath_clothes/stockings_normal
+	name = "Stockings"
+	cost = 10
+	contains = list(/obj/item/clothing/under/roguetown/tights/stockings/white)
+
+/datum/supply_pack/rogue/bath_clothes/collar
+	name = "Collar"
+	cost = 10
+	contains = list(/obj/item/clothing/neck/roguetown/collar)
+
+/datum/supply_pack/rogue/bath_clothes/corset
+	name = "Corset"
+	cost = 15
+	contains = list(/obj/item/clothing/suit/roguetown/armor/corset)
+
+/datum/supply_pack/rogue/bath_clothes/silkydress
+	name = "Silky Dress"
+	cost = 25
+	contains = list(/obj/item/clothing/suit/roguetown/shirt/dress/silkydress)
+
+// Just a recolored cloth belt lol
+/datum/supply_pack/rogue/bath_clothes/belt
+	name = "Lady's Belt"
+	cost = 10
+	contains = list(/obj/item/storage/belt/rogue/leather/cloth/lady)
diff --git a/code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm b/code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
new file mode 100644
index 00000000000..9b1be4982ca
--- /dev/null
+++ b/code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
@@ -0,0 +1,67 @@
+// Thievery Related Supplies. I sure hope this don't go wrong!!!
+// Took lockpicks out so it don't get spammed. Get the expensive hairpins instead.
+
+/datum/supply_pack/rogue/bath_rogue
+	group = "Roguery"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/chains
+	name = "Chains"
+	cost = 15
+	contains = list(
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+	)
+
+/datum/supply_pack/rogue/bath_rogue/goldpin
+	name = "Golden Hairpin"
+	cost = 70
+	contains = list(/obj/item/lockpick/goldpin)
+
+/datum/supply_pack/rogue/bath_rogue/silverpin
+	name = "Silver Hairpin"
+	cost = 140
+	contains = list(/obj/item/lockpick/goldpin/silver)
+
+/datum/supply_pack/rogue/bath_rogue/smokebomb
+	name = "Smoke Bomb"
+	cost = 25
+	contains = list(
+		/obj/item/smokebomb,
+		/obj/item/smokebomb,
+		/obj/item/smokebomb)
+
+/datum/supply_pack/rogue/bath_rogue/waterarrows
+	name = "Water Arrow"
+	cost = 20
+	contains = list (
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+		/obj/item/ammo_casing/caseless/rogue/arrow/water,
+	)
+
+/datum/supply_pack/rogue/bath_rogue/grappler
+	name = "Grappler"
+	cost = 200
+	contains = list(/obj/item/grapplinghook)
+
diff --git a/code/modules/cargo/packsrogue/bathmatron/bulk.dm b/code/modules/cargo/packsrogue/bathmatron/bulk.dm
index 0d2929d3e5d..23dbed8f31a 100644
--- a/code/modules/cargo/packsrogue/bathmatron/bulk.dm
+++ b/code/modules/cargo/packsrogue/bathmatron/bulk.dm
@@ -26,6 +26,20 @@
 	cost = 100
 	contains = list(/obj/structure/fermenting_barrel/zagul)
 
+/datum/supply_pack/rogue/bulk/coffee
+	name = "Barrel of Coffee"
+	cost = 100
+	contains = list(/obj/structure/fermenting_barrel/coffee)
+
+/datum/supply_pack/rogue/bulk/tea
+	name = "Barrel of Tea"
+	cost = 100
+	contains = list(/obj/structure/fermenting_barrel/tea)
+
+/datum/supply_pack/rogue/bulk/rose_tea
+	name = "Barrel of Rose Tea"
+	cost = 100
+	contains = list(/obj/structure/fermenting_barrel/rose_tea)
 
 /datum/supply_pack/rogue/bulk/saigamilk
 	name = "Barrel of Running Saiga"
diff --git a/code/modules/cargo/packsrogue/bathmatron/drugs.dm b/code/modules/cargo/packsrogue/bathmatron/drugs.dm
index bb81067a3c3..c8747d821c9 100644
--- a/code/modules/cargo/packsrogue/bathmatron/drugs.dm
+++ b/code/modules/cargo/packsrogue/bathmatron/drugs.dm
@@ -3,8 +3,6 @@
 	crate_name = "merchant guild's crate"
 	crate_type = /obj/structure/closet/crate/chest/merchant
 
-
-
 /datum/supply_pack/rogue/drugs/ozium
 	name = "Ozium"
 	cost = 5
diff --git a/code/modules/cargo/packsrogue/merchant/alcohols.dm b/code/modules/cargo/packsrogue/merchant/alcohols.dm
index a8c1ee2d693..fc6115cd019 100644
--- a/code/modules/cargo/packsrogue/merchant/alcohols.dm
+++ b/code/modules/cargo/packsrogue/merchant/alcohols.dm
@@ -55,7 +55,7 @@
 
 /datum/supply_pack/rogue/alcohol/wineraneshen
 	name = "Ranesheni Wine"
-	cost = 20
+	cost = 15
 	contains = list(/obj/item/reagent_containers/glass/bottle/rogue/wine)
 
 /datum/supply_pack/rogue/alcohol/winegrenzel
diff --git a/code/modules/cargo/packsrogue/merchant/food.dm b/code/modules/cargo/packsrogue/merchant/food.dm
index 2858fb7bca1..0eeeae1f6f1 100644
--- a/code/modules/cargo/packsrogue/merchant/food.dm
+++ b/code/modules/cargo/packsrogue/merchant/food.dm
@@ -3,19 +3,9 @@
 	crate_name = "merchant guild's crate"
 	crate_type = /obj/structure/closet/crate/chest/merchant
 
-
-/datum/supply_pack/rogue/food/wineb
-	name = "Wine"
-	cost = 45
-	contains = list(
-					/obj/item/reagent_containers/glass/bottle/rogue/wine,
-					/obj/item/reagent_containers/glass/bottle/rogue/wine,
-					/obj/item/reagent_containers/glass/bottle/rogue/wine,
-				)
-
 /datum/supply_pack/rogue/food/meat
 	name = "Dry Meat"
-	cost = 15
+	cost = 18
 	contains = list(
 					/obj/item/reagent_containers/food/snacks/rogue/meat/coppiette,
 					/obj/item/reagent_containers/food/snacks/rogue/meat/coppiette,
@@ -24,6 +14,18 @@
 					/obj/item/reagent_containers/food/snacks/rogue/meat/coppiette,
 				)
 
+/datum/supply_pack/rogue/food/hardtack
+	name = "Hardtacks"
+	cost = 15
+	contains = list(
+					/obj/item/reagent_containers/food/snacks/rogue/crackerscooked,
+					/obj/item/reagent_containers/food/snacks/rogue/crackerscooked,
+					/obj/item/reagent_containers/food/snacks/rogue/crackerscooked,
+					/obj/item/reagent_containers/food/snacks/rogue/crackerscooked,
+					/obj/item/reagent_containers/food/snacks/rogue/crackerscooked,
+				)
+
+
 /datum/supply_pack/rogue/food/raisinbreads
 	name = "Raisin Bread"
 	cost = 30
@@ -47,6 +49,48 @@
 					/obj/item/reagent_containers/food/snacks/egg,
 				)
 
+/datum/supply_pack/rogue/food/coffee
+	name = "Coffee Beans"
+	cost = 25
+	contains = list(
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+					/obj/item/reagent_containers/food/snacks/grown/coffeebeans,
+				)
+
+/datum/supply_pack/rogue/food/tea
+	name = "Tea Leaves"
+	cost = 25
+	contains = list(
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/tealeaves_dry,
+				)
+
+/datum/supply_pack/rogue/food/rosa
+	name = "Dried Rosa Petals"
+	cost = 20
+	contains = list(
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried, 
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried,
+					/obj/item/reagent_containers/food/snacks/grown/rogue/rosa_petals_dried,
+				)
+
 /datum/supply_pack/rogue/food/pepper
 	name = "Pepper"
 	cost = 30
@@ -99,7 +143,7 @@
 
 /datum/supply_pack/rogue/food/clownfish
 	name = "Clownfish"
-	cost = 140
+	cost = 40
 	contains = list(
 					/obj/item/reagent_containers/food/snacks/fish/clownfish,
 					/obj/item/reagent_containers/food/snacks/fish/clownfish,
diff --git a/code/modules/cargo/packsrogue/merchant/foreign_weapons.dm b/code/modules/cargo/packsrogue/merchant/foreign_weapons.dm
new file mode 100644
index 00000000000..92044ad9261
--- /dev/null
+++ b/code/modules/cargo/packsrogue/merchant/foreign_weapons.dm
@@ -0,0 +1,45 @@
+// Special Mercenary Weapons, at exorbitant prices
+/datum/supply_pack/rogue/merc_weapons
+	group = "Foreign Weapons"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+/datum/supply_pack/rogue/merc_weapons/saildagger
+	name = "Sail Dagger"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/huntingknife/idagger/steel/parrying/vaquero)
+
+/datum/supply_pack/rogue/merc_weapons/erapier
+	name = "Etruscan Rapier"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/sword/rapier/vaquero)
+
+/datum/supply_pack/rogue/merc_weapons/shamshir
+	name = "Shamshir"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/sword/sabre/shamshir)
+
+/datum/supply_pack/rogue/merc_weapons/beardedaxe
+	name = "Bearded Axe"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/stoneaxe/woodcut/steel/atgervi)
+
+/datum/supply_pack/rogue/merc_weapons/naledistaff
+	name = "Naledi Warstaff"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/woodstaff/naledi)
+
+/datum/supply_pack/rogue/merc_weapons/pulaxe
+	name = "Pulaski Axe"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/stoneaxe/woodcut/pick)
+
+/datum/supply_pack/rogue/merc_weapons/nagaika
+	name = "Nagaika Whip"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/whip/nagaika)
+
+/datum/supply_pack/rogue/merc_weapons/navaja
+	name = "Navaja"
+	cost = 80
+	contains = list(/obj/item/rogueweapon/huntingknife/idagger/navaja)
diff --git a/code/modules/cargo/packsrogue/merchant/instruments.dm b/code/modules/cargo/packsrogue/merchant/instruments.dm
new file mode 100644
index 00000000000..fa437245527
--- /dev/null
+++ b/code/modules/cargo/packsrogue/merchant/instruments.dm
@@ -0,0 +1,56 @@
+
+
+/datum/supply_pack/rogue/instruments
+	group = "Instruments"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+/datum/supply_pack/rogue/instruments/mbox
+	name = "Music Box"
+	cost = 500
+	contains = list(/obj/item/dmusicbox)
+
+/datum/supply_pack/rogue/instruments/flute
+	name = "Flute"
+	cost = 10
+	contains = list(/obj/item/rogue/instrument/flute)
+
+/datum/supply_pack/rogue/instruments/harp
+	name = "Harp"
+	cost = 20
+	contains = list(/obj/item/rogue/instrument/harp)
+
+/datum/supply_pack/rogue/instruments/guitar
+	name = "Guitar"
+	cost = 30
+	contains = list(/obj/item/rogue/instrument/guitar)
+
+/datum/supply_pack/rogue/instruments/accord
+	name = "Accordion"
+	cost = 30
+	contains = list(/obj/item/rogue/instrument/accord)
+
+/datum/supply_pack/rogue/instruments/lute
+	name = "Lute"
+	cost = 20
+	contains = list(/obj/item/rogue/instrument/lute)
+
+/datum/supply_pack/rogue/instruments/drum
+	name = "Drum"
+	cost = 10
+	contains = list(/obj/item/rogue/instrument/drum)
+
+/datum/supply_pack/rogue/instruments/hurdygurdy
+	name = "Hurdy-Gurdy"
+	cost = 30
+	contains = list(/obj/item/rogue/instrument/hurdygurdy)
+
+/datum/supply_pack/rogue/instruments/viola
+	name = "Viola"
+	cost = 30
+	contains = list(/obj/item/rogue/instrument/viola)
+
+/datum/supply_pack/rogue/instruments/vocals
+	name = "Vocalist's Talisman"
+	cost = 30
+	contains = list(/obj/item/rogue/instrument/vocals)
diff --git a/code/modules/cargo/packsrogue/merchant/luxury.dm b/code/modules/cargo/packsrogue/merchant/luxury.dm
index 8a2dafc74d8..3fa929aa464 100644
--- a/code/modules/cargo/packsrogue/merchant/luxury.dm
+++ b/code/modules/cargo/packsrogue/merchant/luxury.dm
@@ -5,7 +5,6 @@
 	crate_name = "merchant guild's crate"
 	crate_type = /obj/structure/closet/crate/chest/merchant
 
-
 /datum/supply_pack/rogue/luxury/sigs
 	name = "Pipe Weed Zig"
 	cost = 3
@@ -26,57 +25,6 @@
 	cost = 30
 	contains = list(/obj/item/reagent_containers/powder/spice)
 
-/datum/supply_pack/rogue/luxury/mbox
-	name = "Music Box"
-	cost = 500
-	contains = list(/obj/item/dmusicbox)
-
-/datum/supply_pack/rogue/luxury/flute
-	name = "Flute"
-	cost = 10
-	contains = list(/obj/item/rogue/instrument/flute)
-
-/datum/supply_pack/rogue/luxury/harp
-	name = "Harp"
-	cost = 20
-	contains = list(/obj/item/rogue/instrument/harp)
-
-/datum/supply_pack/rogue/luxury/guitar
-	name = "Guitar"
-	cost = 30
-	contains = list(/obj/item/rogue/instrument/guitar)
-
-/datum/supply_pack/rogue/luxury/accord
-	name = "Accordion"
-	cost = 30
-	contains = list(/obj/item/rogue/instrument/accord)
-
-/datum/supply_pack/rogue/luxury/lute
-	name = "Lute"
-	cost = 20
-	contains = list(/obj/item/rogue/instrument/lute)
-
-/datum/supply_pack/rogue/luxury/drum
-	name = "Drum"
-	cost = 10
-	contains = list(/obj/item/rogue/instrument/drum)
-
-/datum/supply_pack/rogue/luxury/hurdygurdy
-	name = "Hurdy-Gurdy"
-	cost = 30
-	contains = list(/obj/item/rogue/instrument/hurdygurdy)
-
-/datum/supply_pack/rogue/luxury/viola
-	name = "Viola"
-	cost = 30
-	contains = list(/obj/item/rogue/instrument/viola)
-
-/datum/supply_pack/rogue/luxury/vocals
-	name = "Vocalist's Talisman"
-	cost = 30
-	contains = list(/obj/item/rogue/instrument/vocals)
-
-
 /datum/supply_pack/rogue/luxury/silverdagger
 	name = "Silver Dagger"
 	cost = 150
@@ -107,19 +55,16 @@
 	cost = 100
 	contains = list(/obj/item/polishing_cream, /obj/item/armor_brush)
 
-
 /datum/supply_pack/rogue/luxury/talkstone
 	name = "Talkstone"
 	cost = 150
 	contains = list(/obj/item/clothing/neck/roguetown/talkstone)
 
-
 /datum/supply_pack/rogue/luxury/circlet
 	name = "Circlet"
 	cost = 80
 	contains = list(/obj/item/clothing/head/roguetown/circlet)
 
-
 /datum/supply_pack/rogue/luxury/goldring
 	name = "Gold Ring"
 	cost = 70
diff --git a/code/modules/cargo/packsrogue/merchant/seeds.dm b/code/modules/cargo/packsrogue/merchant/seeds.dm
index 3812f031950..93c2e4e93cc 100644
--- a/code/modules/cargo/packsrogue/merchant/seeds.dm
+++ b/code/modules/cargo/packsrogue/merchant/seeds.dm
@@ -90,4 +90,39 @@
 					/obj/item/seeds/potato,
 					/obj/item/seeds/potato,
 					/obj/item/seeds/potato,
-				)
\ No newline at end of file
+				)
+
+/datum/supply_pack/rogue/seeds/poppy
+	name = "Poppy"
+	cost = 15
+	contains = list(
+					/obj/item/seeds/poppy,
+					/obj/item/seeds/poppy,
+					/obj/item/seeds/poppy,
+					/obj/item/seeds/poppy,
+					/obj/item/seeds/poppy,
+				)
+
+
+/datum/supply_pack/rogue/seeds/coffee
+	name = "Coffee"
+	cost = 15
+	contains = list(
+					/obj/item/seeds/coffee,
+					/obj/item/seeds/coffee,
+					/obj/item/seeds/coffee,
+					/obj/item/seeds/coffee,
+					/obj/item/seeds/coffee,
+				)
+
+
+/datum/supply_pack/rogue/seeds/tea
+	name = "Tea"
+	cost = 15
+	contains = list(
+					/obj/item/seeds/tea,
+					/obj/item/seeds/tea,
+					/obj/item/seeds/tea,
+					/obj/item/seeds/tea,
+					/obj/item/seeds/tea,
+				)
diff --git a/code/modules/cargo/packsrogue/merchant/wardrobe.dm b/code/modules/cargo/packsrogue/merchant/wardrobe.dm
index f936ec3d279..da8bf877a80 100644
--- a/code/modules/cargo/packsrogue/merchant/wardrobe.dm
+++ b/code/modules/cargo/packsrogue/merchant/wardrobe.dm
@@ -167,28 +167,28 @@
 
 /datum/supply_pack/rogue/wardrobe/suits/exoticsilkbra
 	name = "Exotic Silk Bra"
-	cost = 50
+	cost = 30
 	contains = list(
 					/obj/item/clothing/suit/roguetown/shirt/exoticsilkbra,
 				)
 
 /datum/supply_pack/rogue/wardrobe/suits/anklets
 	name = "Exotic Silk Anklets"
-	cost = 50
+	cost = 30
 	contains = list(
 					/obj/item/clothing/shoes/roguetown/anklets,
 				)
 
 /datum/supply_pack/rogue/wardrobe/suits/exoticsilkbelt
 	name = "Exotic Silk Belt"
-	cost = 50
+	cost = 30
 	contains = list(
 					/obj/item/storage/belt/rogue/leather/exoticsilkbelt,
 				)
 
 /datum/supply_pack/rogue/wardrobe/suits/exoticsilkmask
 	name = "Exotic Silk Mask"
-	cost = 50
+	cost = 30
 	contains = list(
 					/obj/item/clothing/mask/rogue/exoticsilkmask,
 				)
diff --git a/code/modules/cargo/packsrogue/merchant/weapons.dm b/code/modules/cargo/packsrogue/merchant/weapons.dm
index b85ff15427f..eccfd02eae6 100644
--- a/code/modules/cargo/packsrogue/merchant/weapons.dm
+++ b/code/modules/cargo/packsrogue/merchant/weapons.dm
@@ -74,49 +74,6 @@
 					/obj/item/gun/ballistic/revolver/grenadelauncher/bow/recurve,
 				)
 
-/datum/supply_pack/rogue/weapons/saildagger
-	name = "Sail Dagger"
-	cost = 80
-	contains = list(
-					/obj/item/rogueweapon/huntingknife/idagger/steel/parrying/vaquero,
-				)
-
-/datum/supply_pack/rogue/weapons/erapier
-	name = "Etruscan Rapier"
-	cost = 80
-	contains = list(
-					/obj/item/rogueweapon/sword/rapier/vaquero,
-	)
-
-/datum/supply_pack/rogue/weapons/shamshir
-	name = "Shamshir"
-	cost = 80
-	contains = list(
-					/obj/item/rogueweapon/sword/sabre/shamshir,
-				)
-
-
-/datum/supply_pack/rogue/weapons/beardedaxe
-	name = "Bearded Axe"
-	cost = 80
-	contains = list(
-					/obj/item/rogueweapon/stoneaxe/woodcut/steel/atgervi,
-	)
-
-/datum/supply_pack/rogue/weapons/naledistaff
-	name = "Naledi Warstaff"
-	cost = 80
-	contains = list(
-					/obj/item/rogueweapon/woodstaff/naledi,
-	)
-
-/datum/supply_pack/rogue/weapons/pulaxe
-	name = "Pulaski Axe"
-	cost = 80
-	contains = list(
-					/obj/item/rogueweapon/stoneaxe/woodcut/pick,
-	)
-
 /datum/supply_pack/rogue/weapons/quiver
 	name = "Quiver"
 	cost = 5
@@ -164,29 +121,6 @@
 					/obj/item/quiver/bolts,
 				)
 
-/*
-/datum/supply_pack/rogue/weapons/Parrows
-	name = "Poisoned Arrows"
-	cost = 20
-	contains = list(/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison,
-					/obj/item/ammo_casing/caseless/rogue/arrow/poison)
-*/
-
 /datum/supply_pack/rogue/weapons/bolt
 	name = "Bolts"
 	cost = 15
@@ -212,32 +146,23 @@
 					/obj/item/ammo_casing/caseless/rogue/bolt,
 					/obj/item/ammo_casing/caseless/rogue/bolt,
 				)
-/*
-/datum/supply_pack/rogue/weapons/Pbolts
-	name = "Poisoned Bolts"
-	cost = 30
-	contains = list(/obj/item/ammo_casing/caseless/rogue/bolt/poison,
-					/obj/item/ammo_casing/caseless/rogue/bolt/poison,
-					/obj/item/ammo_casing/caseless/rogue/bolt/poison,
-					/obj/item/ammo_casing/caseless/rogue/bolt/poison,
-					/obj/item/ammo_casing/caseless/rogue/bolt/poison,
-					/obj/item/ammo_casing/caseless/rogue/bolt/poison)
-*/
+
 /datum/supply_pack/rogue/weapons/tossbladeiron
 	name = "Iron tossblade belt"
 	cost = 20
-	contains = list(
-					/obj/item/storage/belt/rogue/leather/knifebelt/black/iron,
-				)
-
+	contains = list(/obj/item/storage/belt/rogue/leather/knifebelt/black/iron)
 
 /datum/supply_pack/rogue/weapons/tossbladesteel
 	name = "Steel tossblade belt"
 	cost = 40
-	contains = list(
-					/obj/item/storage/belt/rogue/leather/knifebelt/black/steel,
-				)
-
-
+	contains = list(/obj/item/storage/belt/rogue/leather/knifebelt/black/steel)
 
+/datum/supply_pack/rogue/weapons/javeliniron
+	name = "Javelins, Iron"
+	cost = 20
+	contains = list(/obj/item/quiver/javelin/iron)
 
+/datum/supply_pack/rogue/weapons/javeliniron
+	name = "Javelins, Iron"
+	cost = 40
+	contains = list(/obj/item/quiver/javelin/steel)
diff --git a/code/modules/farming/fermenting_barrel.dm b/code/modules/farming/fermenting_barrel.dm
index 632ab221bbb..092917279a4 100644
--- a/code/modules/farming/fermenting_barrel.dm
+++ b/code/modules/farming/fermenting_barrel.dm
@@ -226,3 +226,25 @@
 /obj/structure/fermenting_barrel/nocshine/Initialize()
 	. = ..()
 	reagents.add_reagent(/datum/reagent/consumable/ethanol/beer/nocshine,900)
+
+/obj/structure/fermenting_barrel/coffee
+	desc = "A barrel with the mark of a brewed cup of coffee.  A strong, bitter drink that rejuvenates the body and mind."
+
+/obj/structure/fermenting_barrel/coffee/Initialize()
+	. = ..()
+	reagents.add_reagent(/datum/reagent/consumable/caffeine/coffee, 900)
+
+/obj/structure/fermenting_barrel/tea
+	desc = "A barrel with several Kazengunese characters on it indicating the vintage of the tea within. A mild, refreshing drink that calms the mind and body. Hopefully its quality is \
+	still intact after being stored in a barrel."
+
+/obj/structure/fermenting_barrel/tea/Initialize()
+	. = ..()
+	reagents.add_reagent(/datum/reagent/consumable/caffeine/tea, 900)
+
+/obj/structure/fermenting_barrel/rose_tea
+	desc = "A barrel with a mark of a rose over it. Generic rose tea brewed with rose. Refreshing and calming, with minor restorative effects."
+
+/obj/structure/fermenting_barrel/rose_tea/Initialize()
+	. = ..()
+	reagents.add_reagent(/datum/reagent/water/rosewater, 900)
diff --git a/code/modules/roguetown/roguejobs/engineer/anvil_recipes/mechanical.dm b/code/modules/roguetown/roguejobs/engineer/anvil_recipes/mechanical.dm
index 69fb175334f..eea8f9ea076 100644
--- a/code/modules/roguetown/roguejobs/engineer/anvil_recipes/mechanical.dm
+++ b/code/modules/roguetown/roguejobs/engineer/anvil_recipes/mechanical.dm
@@ -95,11 +95,11 @@
 	craftdiff = 4
 
 /datum/anvil_recipe/engineering/bronze/smokebomb
-	name = "Smoke Bomb 2x (+Cog, +Ash)"
+	name = "Smoke Bomb 3x (+Cog, +Ash)"
 	req_bar = /obj/item/ingot/bronze
 	created_item = /obj/item/smokebomb
 	additional_items = list(/obj/item/roguegear, /obj/item/ash)
-	createditem_num = 2
+	createditem_num = 3
 	craftdiff = 3
 
 /datum/anvil_recipe/engineering/bronze/grappler
diff --git a/code/modules/roguetown/roguemachine/bathmaster.dm b/code/modules/roguetown/roguemachine/bathmaster.dm
index 93b0fcb7390..51d2ef20052 100644
--- a/code/modules/roguetown/roguemachine/bathmaster.dm
+++ b/code/modules/roguetown/roguemachine/bathmaster.dm
@@ -1,5 +1,4 @@
 #define UPGRADE_NOTAX		(1<<0)
-#define UPGRADE_DRUGS   (1<<1)
 
 /obj/structure/roguemachine/bathvend
 	name = "BRASSFACE"
@@ -17,6 +16,14 @@
 	var/upgrade_flags
 	var/current_cat = "1"
 	var/lockid = "nightman"
+	var/list/categories = list(
+		"Alcohols", 
+		"Bulk", 
+		"Drugs",
+		"Exotic Apparel",
+		"Instruments",
+		"Roguery",
+		)
 
 /obj/structure/roguemachine/bathvend/Initialize()
 	. = ..()
@@ -100,8 +107,6 @@
 			options += "Enable Paying Taxes"
 		else
 			options += "Stop Paying Taxes"
-		if(!(upgrade_flags & UPGRADE_DRUGS))
-			options += "Access Smuggler Lines (50)"
 		var/select = input(usr, "Please select an option.", "", null) as null|anything in options
 		if(!select)
 			return
@@ -115,16 +120,6 @@
 				upgrade_flags |= UPGRADE_NOTAX
 				playsound(loc, 'sound/misc/gold_misc.ogg', 100, FALSE, -1)
 				playsound(loc, 'sound/misc/gold_license.ogg', 100, FALSE, -1)
-			if("Access Smuggler Lines (50)")
-				if(upgrade_flags & UPGRADE_DRUGS)
-					return
-				if(budget < 50)
-					say("Ask again when you're serious.")
-					playsound(src, 'sound/misc/machinetalk.ogg', 100, FALSE, -1)
-					return
-				budget -= 50
-				upgrade_flags |= UPGRADE_DRUGS
-				playsound(loc, 'sound/misc/gold_license.ogg', 100, FALSE, -1)
 	return attack_hand(usr)
 
 /obj/structure/roguemachine/bathvend/attack_hand(mob/living/user)
@@ -152,13 +147,9 @@
 
 	contents += "</center><BR>"
 
-	var/list/unlocked_cats = list("Alcohols","Bulk")
-	if(upgrade_flags & UPGRADE_DRUGS)
-		unlocked_cats+="Drugs"
-
 	if(current_cat == "1")
 		contents += "<center>"
-		for(var/X in unlocked_cats)
+		for(var/X in categories)
 			contents += "<a href='?src=[REF(src)];changecat=[X]'>[X]</a><BR>"
 		contents += "</center>"
 	else
diff --git a/code/modules/roguetown/roguemachine/merchant/goldface.dm b/code/modules/roguetown/roguemachine/merchant/goldface.dm
index f691714aaf6..871ef4cbc6e 100644
--- a/code/modules/roguetown/roguemachine/merchant/goldface.dm
+++ b/code/modules/roguetown/roguemachine/merchant/goldface.dm
@@ -27,7 +27,9 @@
 		"Apparel",
 		"Armor",
 		"Consumable",
+		"Foreign Weapons",
 		"Gems",
+		"Instruments",
 		"Luxury",
 		"Livestock",
 		"Potions",
diff --git a/roguetown.dme b/roguetown.dme
index 2949b7eae1c..9202875360d 100644
--- a/roguetown.dme
+++ b/roguetown.dme
@@ -1120,12 +1120,16 @@
 #include "code\modules\cargo\packsrogue\Sawbones.dm"
 #include "code\modules\cargo\packsrogue\Sellsword.dm"
 #include "code\modules\cargo\packsrogue\Things.dm"
+#include "code\modules\cargo\packsrogue\bathmatron\bath_clothes.dm"
+#include "code\modules\cargo\packsrogue\bathmatron\bath_rogue.dm"
 #include "code\modules\cargo\packsrogue\bathmatron\bulk.dm"
 #include "code\modules\cargo\packsrogue\bathmatron\drugs.dm"
 #include "code\modules\cargo\packsrogue\merchant\alcohols.dm"
 #include "code\modules\cargo\packsrogue\merchant\apparel.dm"
 #include "code\modules\cargo\packsrogue\merchant\armor.dm"
 #include "code\modules\cargo\packsrogue\merchant\food.dm"
+#include "code\modules\cargo\packsrogue\merchant\foreign_weapons.dm"
+#include "code\modules\cargo\packsrogue\merchant\instruments.dm"
 #include "code\modules\cargo\packsrogue\merchant\livestock.dm"
 #include "code\modules\cargo\packsrogue\merchant\luxury.dm"
 #include "code\modules\cargo\packsrogue\merchant\merchant_gems.dm"


Reviews:
user: login: FreeStylaLT
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-23T22:05:58Z
user: login: kittysmooch
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-23T23:56:07Z
user: login: LynxSolstice
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-24T01:00:44Z
user: login: radarseas
state: COMMENTED
author_association: NONE
submitted_at: 2025-05-24T04:55:57Z
user: login: radarseas
state: COMMENTED
author_association: NONE
submitted_at: 2025-05-24T04:58:15Z
user: login: FreeStylaLT
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-24T06:15:06Z

Review comments:
diff_hunk: @@ -0,0 +1,72 @@
+// Thievery Related Supplies. I sure hope this don't go wrong!!!
+
+/datum/supply_pack/rogue/bath_rogue
+	group = "Roguery"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/chains
+	name = "Chains"
+	cost = 15
+	contains = list(
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+	)
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/lockpicks
+	name = "Lockpicks"
+	cost = 20
+	contains = list(/obj/item/lockpickring/mundane)
path: code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
user: login: FreeStylaLT
body: It's probably best to keep these more limited.
created_at: 2025-05-23T22:05:58Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,72 @@
+// Thievery Related Supplies. I sure hope this don't go wrong!!!
+
+/datum/supply_pack/rogue/bath_rogue
+	group = "Roguery"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/chains
+	name = "Chains"
+	cost = 15
+	contains = list(
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+	)
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/lockpicks
+	name = "Lockpicks"
+	cost = 20
+	contains = list(/obj/item/lockpickring/mundane)
path: code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
user: login: kittysmooch
body: completely disagree. as is there's few sources of them that don't rat you out (the smith) and all it takes is one shithead garrisoner meta'ing a thief class loadout and demanding a search for you to lose your set. there should be a method to get news ones without rng or staticspawn cheese and this is the perfect way to do it.
created_at: 2025-05-23T23:56:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,72 @@
+// Thievery Related Supplies. I sure hope this don't go wrong!!!
+
+/datum/supply_pack/rogue/bath_rogue
+	group = "Roguery"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/chains
+	name = "Chains"
+	cost = 15
+	contains = list(
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+	)
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/lockpicks
+	name = "Lockpicks"
+	cost = 20
+	contains = list(/obj/item/lockpickring/mundane)
path: code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
user: login: LynxSolstice
body: Hard agree with the above, losing your class gear and not being able to obtain another set at all is a big issue, when being searched or similar
created_at: 2025-05-24T01:00:43Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,72 @@
+// Thievery Related Supplies. I sure hope this don't go wrong!!!
+
+/datum/supply_pack/rogue/bath_rogue
+	group = "Roguery"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/chains
+	name = "Chains"
+	cost = 15
+	contains = list(
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+	)
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/lockpicks
+	name = "Lockpicks"
+	cost = 20
+	contains = list(/obj/item/lockpickring/mundane)
path: code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
user: login: radarseas
body: I also agree, this is especally evident for outlaw wretches who basically lose 70% of their soft antagonism ability gimmic that isn't straight fighting when they wind up breaking their own lockpick set.

They aren't going to be able to sit in front of a smith with demasking laws, nor are they going to visit the merchant slot that isn't taken, most people aren't going to smash in out of good faith either.
created_at: 2025-05-24T04:55:57Z
author_association: NONE
diff_hunk: @@ -0,0 +1,72 @@
+// Thievery Related Supplies. I sure hope this don't go wrong!!!
+
+/datum/supply_pack/rogue/bath_rogue
+	group = "Roguery"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/chains
+	name = "Chains"
+	cost = 15
+	contains = list(
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+	)
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/lockpicks
+	name = "Lockpicks"
+	cost = 20
+	contains = list(/obj/item/lockpickring/mundane)
path: code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
user: login: radarseas
body: also mages get infinite lockpicks anyway with lesser knock and can always re-adjust their skillset every single day with tomes. It takes roughly an ingame day of picking a door to level it to apprentice or journeyman/expert levels with 15 int.

Which I have done before as a rogue mage, bandit.
created_at: 2025-05-24T04:58:15Z
author_association: NONE
diff_hunk: @@ -0,0 +1,72 @@
+// Thievery Related Supplies. I sure hope this don't go wrong!!!
+
+/datum/supply_pack/rogue/bath_rogue
+	group = "Roguery"
+	crate_name = "merchant guild's crate"
+	crate_type = /obj/structure/closet/crate/chest/merchant
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/chains
+	name = "Chains"
+	cost = 15
+	contains = list(
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+		/obj/item/rope/chain,
+	)
+
+// Same as merchant
+/datum/supply_pack/rogue/bath_rogue/lockpicks
+	name = "Lockpicks"
+	cost = 20
+	contains = list(/obj/item/lockpickring/mundane)
path: code/modules/cargo/packsrogue/bathmatron/bath_rogue.dm
user: login: FreeStylaLT
body: - Mages being a problem isn't a reason to have more problems imo.
- They still sell the golden pins which act as lockpicks.
- The Merchant just lost their restrictions on selling lockpicks. <-- this is the main reason why I'd rather not homogenise everything to the new semi-merchant in the bathhouse.

I'm not married to the arbitrary restriction, but I'd rather see thieves leaving the bathhouse to get /some/ things, especially if it's by means of purchase.
created_at: 2025-05-24T06:15:06Z
author_association: COLLABORATOR

PR comments:
user: login: radarseas
created_at: 2025-05-22T13:49:30Z
body: I think exotic silks could probably be dropped to 30? per peice with the mask at 15? average... Its just a mask and it makes the set a little easier to get, it'll still cost like 105-145 average to aquire an entire set of silks, instead of 300-400 mammon almost on-par with a music box or riddle of steel.

That and people usually are buying them exclusively for one purpose _over actual use for style alone, in-round anyway..._ May as well give them some time with them, instead of spending their whole round grinding.

---

Otherwise though, I love this PR. It was overdue anyway, especally with matron not being able to replace their attire beforehand and having to aquire their entire trade gimmic.

That and overpriced cake is hilarious if anyone actually pays that much.
author_association: NONE
user: login: WeNeedMorePhoron
created_at: 2025-05-22T13:57:37Z
body: Yeah sure I'll reduce the price of merchantry and stuffs
author_association: COLLABORATOR
user: login: WeNeedMorePhoron
created_at: 2025-05-22T15:10:31Z
body: Updated and removed exotic food to prevent Bathmatron from undercutting above especially with concurrent changes.
author_association: COLLABORATOR
user: login: WeNeedMorePhoron
created_at: 2025-05-22T15:17:20Z
body: Actually, I will keep exotic clothes as is because every single one of them require gold ring and is exorbitantly expensive.
author_association: COLLABORATOR
user: login: burgerenergy
created_at: 2025-05-22T23:33:49Z
body: just shift the recipe to silk

anyway I am personally against giving letting them sell lockpicks. Push comes to shove, the matron gets accrues investment money, so they aren't really concerned about making good trades/etc. The bath gang is also set up to be pretty much the only ones who would _want_ the lockpicks, as well as being most of the ones who can use it. I see them giving picks away to thieves for practical free so they can thief more. Lockpicks requiring a smith (or I guess merchant now) at least ropes in a third party that "hey, someone is really gearing up to break into everywhere." Low skill lockpicking is also mostly a concern of durability/losing them.

that is also a fuckton of water arrows
author_association: CONTRIBUTOR
user: login: radarseas
created_at: 2025-05-23T00:07:55Z
body: > anyway I am personally against giving letting them sell lockpicks

If they spam them out, admins will have a shiton of logs anyway, we already have spectral lockpicks for mages but there's no mass-break ins from mages, if anything they're rarely used.

with the rarity of merchants, having more sources of lockpicks for rogues and outlaw wretches when they inevitably get caught and have them confiscated or somehow run out is good. Its also _less out of the street_ so there's more reasoning to ask for shady stuff off of them.
author_association: NONE
user: login: WeNeedMorePhoron
created_at: 2025-05-23T06:36:44Z
body: Adjusted base price of Grappler to an utterly ridiculous 200 to avoid it being nerfed by mammons being gamed. 

If someone blow 200 mammons on a grappler, let them have their fun..
author_association: COLLABORATOR
user: login: WeNeedMorePhoron
created_at: 2025-05-23T06:38:51Z
body: Exotic Clothes cost 30
author_association: COLLABORATOR