diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 89d0db32fd4..9356affe087 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -405,6 +405,7 @@ Medical defines
#define VISMSG_ARMOR_INT_STAGETHREE " Crumbling!"
//Cast time reduction
+#define CRYSTMANA_CAST_TIME_REDUCTION 0.05 // Caustic edit
#define TOPER_CAST_TIME_REDUCTION 0.1
#define EMERALD_CAST_TIME_REDUCTION 0.15
#define SAPPHIRE_CAST_TIME_REDUCTION 0.2
diff --git a/code/game/objects/effects/spawners/clutter_spawner.dm b/code/game/objects/effects/spawners/clutter_spawner.dm
index 504cf6b2b7c..48d386f58f2 100644
--- a/code/game/objects/effects/spawners/clutter_spawner.dm
+++ b/code/game/objects/effects/spawners/clutter_spawner.dm
@@ -13,7 +13,7 @@
/obj/item/bouquet/calendula = 1,
/obj/item/flowercrown/rosa = 1,
/obj/item/reagent_containers/glass/bottle/claybottle = 1,
- /obj/item/reagent_containers/glass/bottle/clayvase = 1,
+ /obj/item/reagent_containers/glass/bottle/claybottle/vase = 1, // Caustic Edit
/obj/item/roguestatue/clay = 1,
/obj/item/flint = 1,
/obj/item/rogue/instrument/lute = 1,
@@ -34,7 +34,7 @@
icon_state = "hiclutter"
lootcount = 1
loot = list(
- /obj/item/reagent_containers/glass/bottle/clayfancyvase = 1,
+ /obj/item/reagent_containers/glass/bottle/claybottle/vase/fancy = 1, // Caustic edit
/obj/item/roguestatue/glass = 1,
/obj/item/needle = 1,
/obj/item/roguestatue/gold/loot = 1,
diff --git a/code/game/objects/items/rogueitems/ceramics.dm b/code/game/objects/items/rogueitems/ceramics.dm
index 3c5fb1c484a..52ba0fe484e 100644
--- a/code/game/objects/items/rogueitems/ceramics.dm
+++ b/code/game/objects/items/rogueitems/ceramics.dm
@@ -10,7 +10,7 @@
name = "unglazed clay bottle"
icon = 'icons/roguetown/items/cooking.dmi'
icon_state = "claybottleraw"
- desc = "A bottle fashioned from clay. Still needs to be glazed to be useful."
+ desc = "A bottle fashioned from clay. Still needs to be baked to be useful." // Caustic edit
cooked_type = /obj/item/reagent_containers/glass/bottle/claybottle
/obj/item/reagent_containers/glass/bottle/claybottle
@@ -21,16 +21,19 @@
volume = 75 // Larger than glass bottle
sellprice = 6
reagent_flags = OPENCONTAINER //So it doesn't appear through
+ glazeable = TRUE // Caustic edit
//Vase - bigger bottle
/obj/item/natural/clay/clayvase
name = "unglazed clay vase"
icon = 'icons/roguetown/items/cooking.dmi'
icon_state = "clayvaseraw"
- desc = "A vase fashioned from clay. Still needs to be glazed to be useful."
- cooked_type = /obj/item/reagent_containers/glass/bottle/clayvase
+ // Caustic edit start
+ desc = "A vase fashioned from clay. Still needs to be baked to be useful."
+ cooked_type = /obj/item/reagent_containers/glass/bottle/claybottle/vase
+ // Caustic edit end
-/obj/item/reagent_containers/glass/bottle/clayvase
+/obj/item/reagent_containers/glass/bottle/claybottle/vase // Caustic edit. Now a subtype of claybottle
name = "ceramic vase"
desc = "A large sized ceramic vase."
icon = 'icons/roguetown/items/cooking.dmi'
@@ -44,24 +47,21 @@
name = "unglazed fancy clay vase"
icon = 'icons/roguetown/items/cooking.dmi'
icon_state = "clayfancyvaseraw"
- desc = "A fancy vase fashioned from clay. Still needs to be glazed to be useful."
- cooked_type = /obj/item/reagent_containers/glass/bottle/clayfancyvase
+ desc = "A fancy vase fashioned from clay. Still needs to be baked to be useful." // Caustic edit
+ cooked_type = /obj/item/reagent_containers/glass/bottle/claybottle/vase/fancy
-/obj/item/reagent_containers/glass/bottle/clayfancyvase
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/fancy // Caustic edit. Subtype of /vase, so extra lines removed
name = "fancy ceramic vase"
desc = "A large sized fancy ceramic vase."
- icon = 'icons/roguetown/items/cooking.dmi'
icon_state = "clayfancyvasecook"
- volume = 65 // Larger than glass bottle
sellprice = 14
- reagent_flags = OPENCONTAINER //So it doesn't appear through
//Flask (was a cup) - subtype of regular cup but can shatter.
/obj/item/natural/clay/claycup
name = "unglazed clay flask"
icon = 'icons/roguetown/items/cooking.dmi'
icon_state = "claycupraw"
- desc = "A small flask fashioned from clay. Still needs to be glazed to be useful."
+ desc = "A small flask fashioned from clay. Still needs to be baked to be useful." // Caustic edit
cooked_type = /obj/item/reagent_containers/glass/cup/claycup
/obj/item/reagent_containers/glass/cup/claycup
@@ -71,6 +71,7 @@
icon_state = "claycupcook"
sellprice = 3
reagent_flags = OPENCONTAINER //So it doesn't appear through
+ glazeable = TRUE // Caustic edit
// Raw teapot
/obj/item/natural/clay/rawteapot
@@ -127,3 +128,442 @@
/obj/item/roguestatue/glass/Initialize()
. = ..()
icon_state = "statueglass[pick(1,2)]"
+
+
+// Caustic Edit start
+
+// Clay pot
+/obj/item/natural/clay/claypot
+ name = "raw pot"
+ icon = 'modular/Neu_Food/icons/cookware/pot.dmi'
+ icon_state = "pote_clay_raw"
+ desc = "A large pot fashioned from clay. Still needs to be baked to be useful."
+ cooked_type = /obj/item/reagent_containers/glass/bucket/pot/clay
+
+
+/obj/item/reagent_containers/glass/bucket/pot/clay
+ name = "clay pot"
+ desc = "A pot made out of clay. It can hold a lot of liquid, and makes a satisfying noise when tapped."
+ icon_state = "pote_clay"
+ volume = 180 // Between stone and iron pots. In terms of soup, it fits 6 ingredients compared to stone's 4, or iron's 8
+ glazeable = TRUE
+
+// Pre-glazed
+
+/obj/item/reagent_containers/glass/bucket/pot/clay/brown
+ name = "brown clay pot"
+ desc = "A pot made out of clay. It can hold a lot of liquid, and makes a satisfying noise when tapped. Glazed and marked to mimic unfired clay."
+ icon_state = "pote_clay_brown"
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bucket/pot/clay/porcelain
+ name = "porcelain clay pot"
+ desc = "A pot made out of clay. It can hold a lot of liquid, and makes a satisfying noise when tapped. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "pote_clay_porcelain"
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bucket/pot/clay/shattergold
+ name = "shattergold clay pot"
+ desc = "A pot made out of clay. It can hold a lot of liquid, and makes a satisfying noise when tapped. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "pote_clay_shattergold"
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bucket/pot/clay/bluegold
+ name = "bluegold clay pot"
+ desc = "A pot made out of clay. It can hold a lot of liquid, and makes a satisfying noise when tapped. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "pote_clay_bluegold"
+ glazeable = FALSE
+ glazed = TRUE
+
+// Clay mug
+/obj/item/natural/clay/claymug
+ name = "unglazed clay mug"
+ icon = 'modular/Neu_Food/icons/cookware/cup.dmi'
+ icon_state = "claymugraw"
+ desc = "A mug fashioned from clay. Still needs to be baked to be useful."
+ cooked_type = /obj/item/reagent_containers/glass/cup/claymug
+
+/obj/item/reagent_containers/glass/cup/claymug
+ name = "clay mug"
+ desc = "A ceramic mug."
+ icon_state = "claymugcook"
+ sellprice = 3
+ reagent_flags = OPENCONTAINER //So it doesn't appear through
+ glazeable = TRUE
+
+// Pre-glazed
+
+/obj/item/reagent_containers/glass/cup/claymug/brown
+ name = "brown clay mug"
+ desc = "A ceramic mug. Glazed and marked to mimic unfired clay."
+ icon_state = "claymugcook_brown"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/claymug/porcelain
+ name = "porcelain clay mug"
+ desc = "A ceramic mug. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "claymugcook_porcelain"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/claymug/shattergold
+ name = "shattergold clay mug"
+ desc = "A ceramic mug. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claymugcook_shattergold"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/claymug/bluegold
+ name = "bluegold clay mug"
+ desc = "A ceramic mug. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claymugcook_bluegold"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+// Clay platter
+
+/obj/item/natural/clay/clayplatter
+ name = "raw clay platter"
+ icon = 'modular/Neu_Food/icons/cookware/platter.dmi'
+ icon_state = "platter_clay_raw"
+ desc = "A disc of soft clay. Still needs to be baked to be useful."
+ cooked_type = /obj/item/cooking/platter/clay
+
+/obj/item/cooking/platter/clay
+ name = "clay platter"
+ desc = "A ceramic platter."
+ icon_state = "platter_clay_cook"
+ sellprice = 2
+ glazeable = TRUE
+
+// Pre-glazed
+
+/obj/item/cooking/platter/clay/brown
+ name = "brown clay platter"
+ desc = "A ceramic platter. Glazed and marked to mimic unfired clay."
+ icon_state = "platter_clay_cook_brown"
+ sellprice = 7
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/cooking/platter/clay/porcelain
+ name = "porcelain clay platter"
+ desc = "A ceramic platter. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "platter_clay_cook_porcelain"
+ sellprice = 7
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/cooking/platter/clay/shattergold
+ name = "shattergold clay platter"
+ desc = "A ceramic platter. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "platter_clay_cook_shattergold"
+ sellprice = 7
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/cooking/platter/clay/bluegold
+ name = "bluegold clay platter"
+ desc = "A ceramic platter. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "platter_clay_cook_bluegold"
+ sellprice = 7
+ glazeable = FALSE
+ glazed = TRUE
+
+// Clay bowl
+
+/obj/item/natural/clay/claybowl
+ name = "raw clay bowl"
+ icon = 'modular/Neu_Food/icons/cookware/bowl.dmi'
+ icon_state = "bowl_clay_raw"
+ desc = "A bowl fashioned from clay. Still needs to be baked to be useful."
+ cooked_type = /obj/item/reagent_containers/glass/bowl/clay
+
+/obj/item/reagent_containers/glass/bowl/clay
+ name = "clay bowl"
+ icon_state = "bowl_clay_cook"
+ sellprice = 3
+ glazeable = TRUE
+
+// Pre-glazed
+
+/obj/item/reagent_containers/glass/bowl/clay/brown
+ name = "brown clay bowl"
+ desc = "It is the empty space that makes the bowl useful. Glazed and marked to mimic unfired clay."
+ icon_state = "bowl_clay_cook_brown"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bowl/clay/porcelain
+ name = "porcelain clay bowl"
+ desc = "It is the empty space that makes the bowl useful. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "bowl_clay_cook_porcelain"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bowl/clay/shattergold
+ name = "shattergold clay bowl"
+ desc = "It is the empty space that makes the bowl useful. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "bowl_clay_cook_shattergold"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bowl/clay/bluegold
+ name = "bluegold clay bowl"
+ desc = "It is the empty space that makes the bowl useful. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "bowl_clay_cook_bluegold"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+// New clay teapot
+
+/obj/item/natural/clay/clayteapot
+ name = "raw clay teapot"
+ icon = 'modular/Neu_Food/icons/cookware/pot.dmi'
+ icon_state = "teapot_clay_raw"
+ desc = "A teapot fashioned from clay. Still needs to be baked to be useful."
+ cooked_type = /obj/item/reagent_containers/glass/bucket/pot/clayteapot
+
+/obj/item/reagent_containers/glass/bucket/pot/clayteapot
+ name = "clay teapot"
+ desc = "It's a little teapot, short and stout. Here is its handle, here is its spout."
+ dropshrink = 0.9
+ icon_state = "teapot_clay_cook"
+ fill_icon_thresholds = null
+ volume = 90 // 3 ingredients. You could make soup in it, if you're a maniac
+ sellprice = 12
+ glazeable = TRUE
+
+// Pre-glazed
+
+/obj/item/reagent_containers/glass/bucket/pot/clayteapot/brown
+ name = "brown clay teapot"
+ desc = "A teapot fashioned from clay. Glazed and marked to mimic unfired clay."
+ icon_state = "teapot_clay_cook_brown"
+ sellprice = 17
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bucket/pot/clayteapot/porcelain
+ name = "porcelain clay teapot"
+ desc = "A teapot fashioned from clay. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "teapot_clay_cook_porcelain"
+ sellprice = 17
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bucket/pot/clayteapot/shattergold
+ name = "shattergold clay teapot"
+ desc = "A teapot fashioned from clay. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "teapot_clay_cook_shattergold"
+ sellprice = 17
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bucket/pot/clayteapot/bluegold
+ name = "bluegold clay teapot"
+ desc = "A teapot fashioned from clay. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "teapot_clay_cook_bluegold"
+ sellprice = 17
+ glazeable = FALSE
+ glazed = TRUE
+
+// New clay teacup
+/obj/item/natural/clay/clayteacup
+ name = "raw clay teacup"
+ icon = 'modular/Neu_Food/icons/cookware/cup.dmi'
+ icon_state = "claycupraw"
+ desc = "A teacup fashioned from clay. Still needs to be baked to be useful."
+ cooked_type = /obj/item/reagent_containers/glass/cup/clayteacup
+
+/obj/item/reagent_containers/glass/cup/clayteacup
+ name = "clay teacup"
+ desc = "A small cup made of ceramic."
+ icon_state = "claycupcook"
+ dropshrink = 0.9
+ volume = 15
+ glazeable = TRUE
+
+// Pre-glazed
+
+/obj/item/reagent_containers/glass/cup/clayteacup/brown
+ name = "brown clay teacup"
+ desc = "A small cup made of ceramic. Glazed and marked to mimic unfired clay."
+ icon_state = "claycupcook_brown"
+ sellprice = 10
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/clayteacup/porcelain
+ name = "porcelain clay teacup"
+ desc = "A small cup made of ceramic. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "claycupcook_porcelain"
+ sellprice = 10
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/clayteacup/shattergold
+ name = "shattergold clay teacup"
+ desc = "A small cup made of ceramic. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claycupcook_shattergold"
+ sellprice = 10
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/clayteacup/bluegold
+ name = "bluegold clay teacup"
+ desc = "A small cup made of ceramic. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claycupcook_bluegold"
+ sellprice = 10
+ glazeable = FALSE
+ glazed = TRUE
+
+// Pre-glazed flask/cup
+
+/obj/item/reagent_containers/glass/cup/claycup/brown
+ name = "brown clay flask"
+ desc = "A small ceramic flask. Glazed and marked to mimic unfired clay."
+ icon_state = "claycupcook_brown"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/claycup/porcelain
+ name = "porcelain clay flask"
+ desc = "A small ceramic flask. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "claycupcook_porcelain"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/claycup/shattergold
+ name = "shattergold clay flask"
+ desc = "A small ceramic flask. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claycupcook_shattergold"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/cup/claycup/bluegold
+ name = "bluegold clay flask"
+ desc = "A small ceramic flask. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claycupcook_bluegold"
+ sellprice = 8
+ glazeable = FALSE
+ glazed = TRUE
+
+// Pre-glazed clay bottle
+
+/obj/item/reagent_containers/glass/bottle/claybottle/brown
+ name = "brown clay vessel"
+ desc = "A ceramic bottle. Glazed and marked to mimic unfired clay."
+ icon_state = "claybottlecook_brown"
+ sellprice = 11
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/porcelain
+ name = "porcelain clay vessel"
+ desc = "A ceramic bottle. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "claybottlecook_porcelain"
+ sellprice = 11
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/shattergold
+ name = "shattergold clay vessel"
+ desc = "A ceramic bottle. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claybottlecook_shattergold"
+ sellprice = 11
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/bluegold
+ name = "bluegold clay vessel"
+ desc = "A ceramic bottle. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "claybottlecook_bluegold"
+ sellprice = 11
+ glazeable = FALSE
+ glazed = TRUE
+
+// Pre-glazed clay vase
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/brown
+ name = "brown clay vase"
+ desc = "A large sized ceramic vase. Glazed and marked to mimic unfired clay."
+ icon_state = "clayvasecook_brown"
+ sellprice = 14
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/porcelain
+ name = "porcelain clay vase"
+ desc = "A large sized ceramic vase. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "clayvasecook_porcelain"
+ sellprice = 14
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/shattergold
+ name = "shattergold clay vase"
+ desc = "A large sized ceramic vase. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "clayvasecook_shattergold"
+ sellprice = 14
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/bluegold
+ name = "bluegold clay vase"
+ desc = "A large sized ceramic vase. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "clayvasecook_bluegold"
+ sellprice = 14
+ glazeable = FALSE
+ glazed = TRUE
+
+// Pre-glazed clay fancy vase
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/fancy/brown
+ name = "brown fancy clay vase"
+ desc = "A large sized fancy ceramic vase. Glazed and marked to mimic unfired clay."
+ icon_state = "clayfancyvasecook_brown"
+ sellprice = 19
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/fancy/porcelain
+ name = "porcelain fancy clay vase"
+ desc = "A large sized fancy ceramic vase. Gilded and coated in white glaze. This is fit for nobility."
+ icon_state = "clayfancyvasecook_porcelain"
+ sellprice = 19
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/fancy/shattergold
+ name = "shattergold fancy clay vase"
+ desc = "A large sized fancy ceramic vase. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "clayfancyvasecook_shattergold"
+ sellprice = 19
+ glazeable = FALSE
+ glazed = TRUE
+
+/obj/item/reagent_containers/glass/bottle/claybottle/vase/fancy/bluegold
+ name = "bluegold fancy clay vase"
+ desc = "A large sized fancy ceramic vase. Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ icon_state = "clayfancyvasecook_bluegold"
+ sellprice = 19
+ glazeable = FALSE
+ glazed = TRUE
+
+// Caustic Edit end
diff --git a/code/game/objects/items/rogueitems/natural/stones.dm b/code/game/objects/items/rogueitems/natural/stones.dm
index 80a6da3e90b..8dc868e0a14 100644
--- a/code/game/objects/items/rogueitems/natural/stones.dm
+++ b/code/game/objects/items/rogueitems/natural/stones.dm
@@ -319,6 +319,14 @@ GLOBAL_LIST_INIT(stone_personality_descs, list(
var/turf/front = get_step(user,user.dir)
S.set_up(1, 1, front)
S.start()
+// Caustic edit start
+ if(prob(10) && magic_power > 0) // Only magical rocks gives you the funny sharp rock
+ user.visible_message(span_info("The [src] cracks apart to reveal a shard of obsidian!"))
+ new /obj/item/magic/obsidian(get_turf(src.loc))
+ new /obj/effect/decal/cleanable/debris/stony(get_turf(src))
+ qdel(src)
+// Caustic edit end
+
if( user.used_intent.type == /datum/intent/chisel )
playsound(src.loc, pick('sound/combat/hits/onrock/onrock (1).ogg', 'sound/combat/hits/onrock/onrock (2).ogg', 'sound/combat/hits/onrock/onrock (3).ogg', 'sound/combat/hits/onrock/onrock (4).ogg'), 100)
user.visible_message("[user] chisels the stone into a block.")
diff --git a/code/game/objects/items/rogueitems/natural/wood.dm b/code/game/objects/items/rogueitems/natural/wood.dm
index c5fdc0b638c..ccfca4432f3 100644
--- a/code/game/objects/items/rogueitems/natural/wood.dm
+++ b/code/game/objects/items/rogueitems/natural/wood.dm
@@ -288,7 +288,7 @@
/datum/crafting_recipe/roguetown/survival/peasantry/pitchfork,
/datum/crafting_recipe/roguetown/survival/wickercloak,
/datum/crafting_recipe/roguetown/survival/torch,
- /datum/crafting_recipe/roguetown/survival/stonearrow,
+ // /datum/crafting_recipe/roguetown/survival/stonearrow, // Caustic edit
/datum/crafting_recipe/roguetown/survival/stonearrow_five,
/datum/crafting_recipe/roguetown/survival/wood_stake
)
diff --git a/code/game/objects/items/rogueitems/needle.dm b/code/game/objects/items/rogueitems/needle.dm
index fa4dff911be..0c488a32cf7 100644
--- a/code/game/objects/items/rogueitems/needle.dm
+++ b/code/game/objects/items/rogueitems/needle.dm
@@ -278,3 +278,14 @@
desc = "This decrepit old needle doesn't seem helpful for much."
stringamt = 5
maxstring = 5
+
+// Caustic Edit start
+
+/obj/item/needle/bone
+ name = "bone needle"
+ icon_state = "boneneedle"
+ desc = "A sharp piece of worked bone. Perfect for stitching hide and skin alike."
+ stringamt = 10
+ maxstring = 10
+
+// Caustic Edit end
diff --git a/code/game/objects/items/rogueweapons/melee/axes.dm b/code/game/objects/items/rogueweapons/melee/axes.dm
index 2fd79fdf710..5d2f5edfcbc 100644
--- a/code/game/objects/items/rogueweapons/melee/axes.dm
+++ b/code/game/objects/items/rogueweapons/melee/axes.dm
@@ -86,7 +86,7 @@
force_wielded = 20
possible_item_intents = list(/datum/intent/axe/chop/stone)
name = "stone axe"
- desc = "A rough stone axe, fashioned from a wooden staff and a sharpened hunk of flint. It feels poorly balanced in your hands."
+ desc = "A rough stone axe, fashioned from a wooden staff and a sharpened hunk of stone. It feels poorly balanced in your hands." // CC edit
icon_state = "stoneaxe"
icon = 'icons/roguetown/weapons/axes32.dmi'
item_state = "axe"
@@ -425,6 +425,41 @@
resistance_flags = FLAMMABLE
sellprice = 12 //It's made of WHAT!? CC Change
+// Caustic edit start
+
+// Obsidian axe/macuahuitl. Entire gimmick is that it deals a lot of damage with absolutely no AP
+
+/obj/item/rogueweapon/stoneaxe/obsidian
+ force = 36
+ force_wielded = 43
+ armor_penetration = -100
+ possible_item_intents = list(/datum/intent/axe/cut,/datum/intent/axe/chop, /datum/intent/axe/bash)
+ gripped_intents = list(/datum/intent/axe/cut,/datum/intent/axe/chop, /datum/intent/axe/bash, /datum/intent/mace/smash/wood)
+ name = "obsidian paddle-axe"
+ desc = "A wide wooden paddle, fitted with obsidian razors at the edges. It is said that with it, a powerful warrior can chop a saiga's head off in a single blow."
+ icon_state = "obsidianaxe"
+ max_blade_int = 10
+ max_integrity = 100
+ minstr = 10
+ wdefense = 2
+ demolition_mod = 0.33 // Good luck trying to cut down a tree with what's essentially a shard of glass on a stick
+ wlength = WLENGTH_NORMAL
+ sellprice = 10 //Made of pretty glass
+
+/obj/item/rogueweapon/stoneaxe/flint
+ force = 20
+ force_wielded = 24
+ possible_item_intents = list(/datum/intent/axe/cut,/datum/intent/axe/chop, /datum/intent/axe/bash)
+ gripped_intents = list(/datum/intent/axe/cut,/datum/intent/axe/chop, /datum/intent/axe/bash)
+ name = "flint axe"
+ desc = "Sharpened and finely worked stone fitted atop a stout haft."
+ icon_state = "flintaxe"
+ max_blade_int = 125
+ wdefense = 2
+ sellprice = 10
+
+// Caustic edit end
+
/obj/item/rogueweapon/stoneaxe/woodcut/silver
name = "silver war axe"
desc = "A hefty battle axe, fashioned from pure silver. Even with a one-handed grasp, an efforted swing carries enough momentum to cleave through maille-and-flesh alike."
diff --git a/code/game/objects/items/rogueweapons/melee/blunt.dm b/code/game/objects/items/rogueweapons/melee/blunt.dm
index eea58c88b8a..fb80e4e09a1 100644
--- a/code/game/objects/items/rogueweapons/melee/blunt.dm
+++ b/code/game/objects/items/rogueweapons/melee/blunt.dm
@@ -351,6 +351,24 @@
/datum/intent/mace/smash/wood/ranged
reach = 2
+// Caustic edit start
+
+// Wooden paddle. Just a precursor to the macuahuitl, but you can bash someone's brains out with it as well.
+/obj/item/rogueweapon/mace/woodclub/paddle
+ force = 18
+ force_wielded = 20
+ name = "wooden paddle"
+ desc = "A wooden paddle, carved and smoothed. More comfortable than a simple club."
+ icon_state = "paddle"
+ wdefense = 2
+ sellprice = 4
+
+/obj/item/rogueweapon/mace/woodclub/paddle/New()
+ ..()
+ icon_state = "paddle"
+
+// Caustic edit end
+
/obj/item/rogueweapon/mace/cudgel
name = "cudgel"
desc = "A stubby little club for used by guards, brigands, and various criminals. Perfect to cripple someone on a budget."
diff --git a/code/game/objects/items/rogueweapons/melee/knives.dm b/code/game/objects/items/rogueweapons/melee/knives.dm
index ea4cc8f70c2..54ee2efd352 100644
--- a/code/game/objects/items/rogueweapons/melee/knives.dm
+++ b/code/game/objects/items/rogueweapons/melee/knives.dm
@@ -1439,3 +1439,52 @@
qdel(item)
user.mind.add_sleep_experience(/datum/skill/craft/sewing, (user.STAINT))
return ..()
+
+// Caustic edit start
+
+// Obsidian weapons gimmick: Whole lotta damage, but a complete lack of AP
+
+/obj/item/rogueweapon/huntingknife/stoneknife/obsidian
+ possible_item_intents = list(/datum/intent/dagger/cut, /datum/intent/dagger/thrust)
+ name = "obsidian knife"
+ desc = "A fine blade made of obsidian. Sharp, but brittle."
+ icon_state = "obsidian_knife"
+ force = 29
+ armor_penetration = -100
+ max_blade_int = 15
+ wdefense = 2
+ sellprice = 12 // Shiny knife
+
+/obj/item/rogueweapon/huntingknife/stoneknife/flint
+ possible_item_intents = list(/datum/intent/dagger/cut, /datum/intent/dagger/thrust, /datum/intent/dagger/chop)
+ name = "flint knife"
+ desc = "A fine blade knapped from flint. Before the wisdom to work bronze came, this was the everyman's tool."
+ icon_state = "flint_knife"
+ force = 15
+ max_blade_int = 125
+ max_integrity = 150
+ wdefense = 2
+ sellprice = 10
+
+/obj/item/rogueweapon/huntingknife/stoneknife/manacrystal
+ force = 13
+ possible_item_intents = list(/datum/intent/dagger/cut, /datum/intent/dagger/thrust, /datum/intent/special/magicarc)
+ name = "manastone riteknife"
+ desc = "An intricate ritual-knife made from a shard of crystallized mana. Though not suited for direct combat, it will save you in a pinch."
+ icon_state = "magicstone_knife"
+ cast_time_reduction = CRYSTMANA_CAST_TIME_REDUCTION // 5% reduction
+ max_blade_int = 25
+ max_integrity = 50
+ sellprice = 15 // It's a very pretty rock on a stick.
+
+/obj/item/rogueweapon/huntingknife/stoneknife/bone
+ name = "bone skewer" // Craftable version. Apparently there's one located somewhere on the map
+ desc = "A sharpened piece of a long bone. Perhaps a femur."
+ icon_state = "bonedagger"
+ sheathe_icon = "bonedagger"
+ force = 14
+ wdefense = 2
+ max_integrity = 125
+ max_blade_int = 75
+
+// Caustic edit end
diff --git a/code/game/objects/items/rogueweapons/melee/polearms.dm b/code/game/objects/items/rogueweapons/melee/polearms.dm
index d33dfa3c245..d1aa36eacef 100644
--- a/code/game/objects/items/rogueweapons/melee/polearms.dm
+++ b/code/game/objects/items/rogueweapons/melee/polearms.dm
@@ -1728,3 +1728,49 @@
return list("shrink" = 0.6,"sx" = -6,"sy" = 2,"nx" = 8,"ny" = 2,"wx" = -4,"wy" = 2,"ex" = 1,"ey" = 2,"northabove" = 0,"southabove" = 1,"eastabove" = 1,"westabove" = 0,"nturn" = -38,"sturn" = 300,"wturn" = 32,"eturn" = -23,"nflip" = 0,"sflip" = 100,"wflip" = 8,"eflip" = 0)
if("wielded")
return list("shrink" = 0.6,"sx" = 4,"sy" = -2,"nx" = -3,"ny" = -2,"wx" = -5,"wy" = -1,"ex" = 3,"ey" = -2,"northabove" = 0,"southabove" = 1,"eastabove" = 1,"westabove" = 0,"nturn" = 7,"sturn" = -7,"wturn" = 16,"eturn" = -22,"nflip" = 8,"sflip" = 0,"wflip" = 8,"eflip" = 0)
+
+// Caustic edit start
+
+// Obsidian spear. Entire gimmick is that it deals a lot of damage with absolutely no AP
+
+/obj/item/rogueweapon/spear/obsidian
+ force = 27
+ force_wielded = 38
+ possible_item_intents = list(/datum/intent/spear/thrust/oneh, /datum/intent/spear/cut/oneh)
+ gripped_intents = list(/datum/intent/spear/thrust, /datum/intent/spear/cut, /datum/intent/spear/bash) //bash is for nonlethal takedowns, only targets limbs
+ name = "obsidian spear"
+ desc = "A hand-knapped edge of obsidian lashed to a stout pole. Before iron and bronze, this is what ruled the world."
+ icon_state = "obsidianspear"
+ max_blade_int = 20 // Brittle blade. If it's armored, you're a bit SOL.
+ armor_penetration = -100
+ smeltresult = null
+ wdefense = 4
+ sellprice = 12 // Though pretty, it's still a rock on a stick
+
+/obj/item/rogueweapon/spear/flint
+ force = 17
+ force_wielded = 25 // Not a good as an iron spear, but definitely better than a stone one
+ name = "flint spear"
+ desc = "Carefully knapped flintstone lashed and tied onto a stout wooden pole with a crimson sash. More elegant than a simple stone on a stick."
+ icon_state = "flintspear"
+ max_integrity = 250
+ max_blade_int = 120
+ wdefense = 5
+ sellprice = 12
+ smeltresult = null
+
+/obj/item/rogueweapon/spear/stone/manacrystal
+ force = 16
+ force_wielded = 20
+ possible_item_intents = list(SPEAR_THRUST_1H, SPEAR_CUT_1H, /datum/intent/special/magicarc)
+ gripped_intents = list(SPEAR_THRUST, SPEAR_CUT, /datum/intent/special/magicarc, SPEAR_BASH) //bash is for nonlethal takedowns, only targets limbs
+ name = "manastone spear"
+ desc = "A spear made from a shard of crystallized mana fixed atop a staff. This either the creation of a genius, a madman, or someone who heard the term 'magic spear' and went from there."
+ icon_state = "magicstonespear"
+ cast_time_reduction = CRYSTMANA_CAST_TIME_REDUCTION // 5% reduction
+ max_blade_int = 20
+ associated_skill = /datum/skill/combat/polearms
+ max_integrity = 50
+ sellprice = 15 // It's a very pretty rock on a stick.
+
+// Caustic edit end
diff --git a/code/game/objects/items/rogueweapons/ranged/ammo.dm b/code/game/objects/items/rogueweapons/ranged/ammo.dm
index 97f72b0abba..404d7a077c4 100644
--- a/code/game/objects/items/rogueweapons/ranged/ammo.dm
+++ b/code/game/objects/items/rogueweapons/ranged/ammo.dm
@@ -312,9 +312,9 @@
/obj/item/ammo_casing/caseless/rogue/arrow/stone
name = "stone arrow"
- desc = "A simple dowel sports lashed flint knapped and honed to a razor edge. Folk \
+ desc = "A simple dowel sports lashed stone knapped and honed to a razor edge. Folk \
wisdom holds that these cut finer than iron heads, but they tend to shatter \
- on impact with armor."
+ on impact with armor." // Caustic edit
max_integrity = 5
projectile_type = /obj/projectile/bullet/reusable/arrow/stone
@@ -389,7 +389,7 @@
/obj/projectile/bullet/reusable/arrow/blunt
name = "blunt arrow"
ammo_type = /obj/item/ammo_casing/caseless/rogue/arrow/blunt
- damage = 15
+ damage = 25 // Caustic edit
armor_penetration = 0
embedchance = 0
woundclass = BCLASS_BLUNT
@@ -399,6 +399,40 @@
ammo_type = /obj/item/ammo_casing/caseless/rogue/arrow/stone
accuracy = 60
+// Caustic edit start
+// Obsidian arrow. High damage, no penetration.
+
+/obj/item/ammo_casing/caseless/rogue/arrow/obsidian
+ name = "obsidian arrow"
+ desc = "A serrated edge of black volcanic glass on a wooden dowel. Many hunters swear by these arrows as they cut through hide and flesh like parchment, though they are prone to shatter on impact with armor."
+ icon_state = "arrowobsidian"
+ max_integrity = 5
+ projectile_type = /obj/projectile/bullet/reusable/arrow/obsidian
+
+/obj/projectile/bullet/reusable/arrow/obsidian
+ name = "obsidian arrow"
+ icon_state = "arrowobs_proj"
+ ammo_type = /obj/item/ammo_casing/caseless/rogue/arrow/obsidian
+ armor_penetration = -20
+ damage = 40
+
+// Flint arrow. Stone but betterâ„¢.
+
+/obj/item/ammo_casing/caseless/rogue/arrow/flint
+ name = "flint arrow"
+ desc = "A finely knapped and polished piece of flint, tied onto a wooden dowel. Colorful fletching adorns the shaft. Olden wisdom says that they cut cleaner than metal arrows."
+ icon_state = "arrowflint"
+ max_integrity = 7
+ projectile_type = /obj/projectile/bullet/reusable/arrow/flint
+
+/obj/projectile/bullet/reusable/arrow/flint
+ name = "flint arrow"
+ icon_state = "arrowflnt_proj"
+ ammo_type = /obj/item/ammo_casing/caseless/rogue/arrow/flint
+ damage = 30
+
+// Caustic edit end
+
// Broadheads are high damage, low AP. Shouldn't be penetrating 80 pierce armor (padded gambesons)
// short of either being used in a longbow, or by an incredibly high perception character!
// At 15PER with a recurve, penetrates just short of 70 pierce armour, and cannot realistically allpen.
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 8c3a3131261..2e891804ab7 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -11,8 +11,17 @@
resistance_flags = ACID_PROOF
var/is_infinite = FALSE
+ // Caustic Edit start
+ var/glazeable // For things that can be glazed or painted. Currently only clay containers
+ var/glazed
+ // Caustic Edit end
+
/obj/item/reagent_containers/glass/examine(mob/user)
. = ..()
+ // Caustic Edit
+ if(glazeable)
+ . += span_notice("It can be brushed with a dye brush to glaze it.")
+ // Caustic Edit end
if(user.mind && ishuman(user))
var/mob/living/carbon/human/H = user
if(!H.patron || !istype(H.patron, /datum/patron/inhumen/baotha))
@@ -233,6 +242,52 @@
reagents.remove_reagent(removereg, 5)
user.visible_message(span_info("[user] soaks [T] in [src]."), span_info("I soak [T] in [src]."))
return
+ // Caustic Edit start
+ if(glazeable)
+ if(istype(I, /obj/item/dye_brush))
+ var/obj/item/dye_brush/brush = I
+ if(reagents.total_volume)
+ to_chat(user, span_notice("I can't glaze the [name] while it has liquid in it."))
+ return
+ user.visible_message(span_notice("[user] starts to brush the [name] with [brush]."))
+ if(do_after(user, 3 SECONDS, target = src))
+ if(!glazed)
+ var/list/designlist = list("painted", "brown", "porcelain", "shattergold", "bluegold") // Might need some changes in the future if people want to add glazeable/paintable things with different patterns
+ var/design = tgui_input_list(user, "Select a design.","Ceramics Design", designlist)
+ if(!design) // If no design and no paint so it doesn't go invisible
+ to_chat(user, span_notice("You change your mind on how to glaze the [name]."))
+ return
+ switch(design) // Literally just copied over from the spellbook variants
+ if ("painted") // For custom colors with no patterns.
+ if(!brush.dye)
+ to_chat(user, span_notice("How are you to paint with a dry brush?"))
+ return
+ color = brush.dye
+ to_chat(user, span_notice("I paint the [name] with the dye brush. Perhaps it is time for a detailed glaze?")) // You can paint, then glaze, but after glazing, you're done
+ update_icon()
+ return
+ if ("brown")
+ desc += " Glazed and marked to mimic unfired clay."
+ if ("porcelain")
+ desc += " Gilded and coated in white glaze. This is fit for nobility."
+ if ("shattergold")
+ desc += " Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ if ("bluegold")
+ desc += " Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ glazed = TRUE
+ glazeable = FALSE
+ icon_state = "[icon_state]_[design]"
+ update_icon()
+ name = "\improper [design] [name]"
+ if(sellprice)
+ sellprice += 5
+ to_chat(user, span_notice("I glaze the [name] with the dye brush."))
+ return
+ return
+ if(glazed && istype(I, /obj/item/dye_brush))
+ to_chat(user, span_notice("The [name] is already glazed!"))
+ return
+// Caustic Edit end ^^
..()
// Called whenever this container is successfully filled via the target.
diff --git a/code/modules/roguetown/roguecrafting/ceramics.dm b/code/modules/roguetown/roguecrafting/ceramics.dm
index 07779621480..d76a99174f0 100644
--- a/code/modules/roguetown/roguecrafting/ceramics.dm
+++ b/code/modules/roguetown/roguecrafting/ceramics.dm
@@ -22,6 +22,44 @@
reqs = list(/obj/item/natural/clay = 3)
craftdiff = 0
+// Caustic Edit start
+/datum/crafting_recipe/roguetown/ceramics/clay/claymug
+ name = "clay mug"
+ result = list(/obj/item/natural/clay/claymug)
+ reqs = list(/obj/item/natural/clay = 1)
+ craftdiff = 0
+
+/datum/crafting_recipe/roguetown/ceramics/clay/claymug3
+ name = "clay mug 3x"
+ result = list(/obj/item/natural/clay/claymug, /obj/item/natural/clay/claymug, /obj/item/natural/clay/claymug)
+ reqs = list(/obj/item/natural/clay = 3)
+ craftdiff = 0
+
+/datum/crafting_recipe/roguetown/ceramics/clay/clayplatter
+ name = "clay platter"
+ result = list(/obj/item/natural/clay/clayplatter)
+ reqs = list(/obj/item/natural/clay = 1)
+ craftdiff = 0
+
+/datum/crafting_recipe/roguetown/ceramics/clay/clayplatter3
+ name = "clay platter 3x"
+ result = list(/obj/item/natural/clay/clayplatter, /obj/item/natural/clay/clayplatter, /obj/item/natural/clay/clayplatter)
+ reqs = list(/obj/item/natural/clay = 3)
+ craftdiff = 0
+
+/datum/crafting_recipe/roguetown/ceramics/clay/claybowl
+ name = "clay bowl"
+ result = list(/obj/item/natural/clay/claybowl)
+ reqs = list(/obj/item/natural/clay = 1)
+ craftdiff = 0
+
+/datum/crafting_recipe/roguetown/ceramics/clay/claybowl3
+ name = "clay bowl 3x"
+ result = list(/obj/item/natural/clay/claybowl, /obj/item/natural/clay/claybowl, /obj/item/natural/clay/claybowl)
+ reqs = list(/obj/item/natural/clay = 3)
+ craftdiff = 0
+// Caustic Edit end
+
/datum/crafting_recipe/roguetown/ceramics/clay/claybrick
name = "clay brick"
result = list(/obj/item/natural/clay/claybrick)
@@ -48,6 +86,14 @@
reqs = list(/obj/item/natural/clay = 2)
craftdiff = 2
+// Caustic Edit start
+/datum/crafting_recipe/roguetown/ceramics/clay/claypot
+ name = "clay pot"
+ result = list(/obj/item/natural/clay/claypot)
+ reqs = list(/obj/item/natural/clay = 3)
+ craftdiff = 2
+// Caustic Edit end
+
/* 3 diff */
/datum/crafting_recipe/roguetown/ceramics/clay/clayfancyvase
name = "fancy clay vase"
@@ -56,17 +102,39 @@
craftdiff = 3
/datum/crafting_recipe/roguetown/ceramics/clay/teapot
- name = "teapot"
+ name = "teapot (old)" // Caustic edit
result = list(/obj/item/natural/clay/rawteapot)
reqs = list(/obj/item/natural/clay = 2)
craftdiff = 3
/datum/crafting_recipe/roguetown/ceramics/clay/teacup
- name = "teacup"
+ name = "teacup (old)" // Caustic edit
result = list(/obj/item/natural/clay/rawteacup)
reqs = list(/obj/item/natural/clay = 1)
craftdiff = 3
+// Caustic Edit start
+
+/datum/crafting_recipe/roguetown/ceramics/clay/teapot
+ name = "clay teapot"
+ result = list(/obj/item/natural/clay/clayteapot)
+ reqs = list(/obj/item/natural/clay = 2)
+ craftdiff = 3
+
+/datum/crafting_recipe/roguetown/ceramics/clay/teacup
+ name = "clay teacup"
+ result = list(/obj/item/natural/clay/clayteacup)
+ reqs = list(/obj/item/natural/clay = 1)
+ craftdiff = 3
+
+/datum/crafting_recipe/roguetown/ceramics/clay/teacup3
+ name = "clay teacup x3"
+ result = list(/obj/item/natural/clay/clayteacup, /obj/item/natural/clay/clayteacup, /obj/item/natural/clay/clayteacup)
+ reqs = list(/obj/item/natural/clay = 3)
+ craftdiff = 3
+
+// Caustic Edit end
+
/* 4 diff */
// '''Clay''' for making glass.
diff --git a/code/modules/roguetown/roguecrafting/crafting/ammo_and_ranged.dm b/code/modules/roguetown/roguecrafting/crafting/ammo_and_ranged.dm
index 768cf283868..281a6b09dda 100644
--- a/code/modules/roguetown/roguecrafting/crafting/ammo_and_ranged.dm
+++ b/code/modules/roguetown/roguecrafting/crafting/ammo_and_ranged.dm
@@ -105,6 +105,8 @@
verbage = "re-strings"
craftdiff = 2
+// Caustic edit start
+/*
/datum/crafting_recipe/roguetown/survival/stonearrow
name = "stone arrow"
category = "Ranged"
@@ -114,6 +116,8 @@
/obj/item/natural/stone = 1,
)
req_table = TRUE
+*/
+// Caustic edit end
/datum/crafting_recipe/roguetown/survival/stonearrow_five
name = "stone arrow (x5)"
@@ -126,11 +130,15 @@
/obj/item/ammo_casing/caseless/rogue/arrow/stone
)
reqs = list(
- /obj/item/grown/log/tree/stick = 5,
- /obj/item/natural/stone = 5,
+ // Caustic edit start. Made cheaper
+ /obj/item/grown/log/tree/stick = 2,
+ /obj/item/natural/stone = 1,
+ // Caustic edit end
)
req_table = TRUE
+// Caustic edit start
+/*
/datum/crafting_recipe/roguetown/survival/bluntarrow
name = "blunt arrow"
category = "Ranged"
@@ -140,6 +148,8 @@
/obj/item/natural/stone = 1,
)
req_table = TRUE
+*/
+// Caustic edit end
/datum/crafting_recipe/roguetown/survival/bluntarrow_five
name = "blunt arrow (x5)"
@@ -152,8 +162,10 @@
/obj/item/ammo_casing/caseless/rogue/arrow/blunt,
)
reqs = list(
- /obj/item/grown/log/tree/stick = 5,
- /obj/item/natural/stone = 5,
+ // Caustic edit start. Made cheaper
+ /obj/item/grown/log/tree/stick = 2,
+ /obj/item/natural/stone = 1,
+ // Caustic edit end
)
req_table = TRUE
@@ -357,9 +369,11 @@
craftdiff = 0
/datum/crafting_recipe/roguetown/survival/stonebullets
- name = "sling bullets - stone (x2)"
+ name = "sling bullets - stone (x4)" // Caustic edit
category = "Ranged"
- result = list(
+ result = list( // Caustic edit
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
/obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
/obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
)
@@ -369,9 +383,19 @@
craftdiff = 0
/datum/crafting_recipe/roguetown/survival/stonebullets10x
- name = "sling bullets - stone (x10)"
+ name = "sling bullets - stone (x20)" // Caustic edit
category = "Ranged"
- result = list(
+ result = list( // Caustic edit
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
+ /obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
/obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
/obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
/obj/item/ammo_casing/caseless/rogue/sling_bullet/stone,
@@ -387,3 +411,50 @@
verbage_simple = "smooth"
verbage = "smooths"
craftdiff = 0
+
+// Caustic Edit start
+
+// Obsidian Arrows
+
+/datum/crafting_recipe/roguetown/survival/obsidianarrow
+ name = "obsidian arrow (5x)"
+ category = "Ranged"
+ result = list(
+ /obj/item/ammo_casing/caseless/rogue/arrow/obsidian,
+ /obj/item/ammo_casing/caseless/rogue/arrow/obsidian,
+ /obj/item/ammo_casing/caseless/rogue/arrow/obsidian,
+ /obj/item/ammo_casing/caseless/rogue/arrow/obsidian,
+ /obj/item/ammo_casing/caseless/rogue/arrow/obsidian
+ )
+ reqs = list(
+ /obj/item/grown/log/tree/stick = 2,
+ /obj/item/magic/obsidian = 1,
+ )
+ req_table = TRUE
+ verbage_simple = "knap"
+ verbage = "knaps"
+ craftdiff = 2
+
+// Flint arrows
+
+/datum/crafting_recipe/roguetown/survival/flintarrow
+ name = "flint arrow (5x)"
+ category = "Ranged"
+ result = list(
+ /obj/item/ammo_casing/caseless/rogue/arrow/flint,
+ /obj/item/ammo_casing/caseless/rogue/arrow/flint,
+ /obj/item/ammo_casing/caseless/rogue/arrow/flint,
+ /obj/item/ammo_casing/caseless/rogue/arrow/flint,
+ /obj/item/ammo_casing/caseless/rogue/arrow/flint
+ )
+ reqs = list(
+ /obj/item/grown/log/tree/stick = 2,
+ /obj/item/natural/stone = 1,
+ )
+ req_table = TRUE
+ tools = list(/obj/item/natural/whetstone = 1, /obj/item/needle = 1) // Bit of fluff for knapping tools. Incentivizes making a homebase.
+ verbage_simple = "knap"
+ verbage = "knaps"
+ craftdiff = 2
+
+// Caustic Edit end
diff --git a/code/modules/roguetown/roguecrafting/crafting/weapons_tools.dm b/code/modules/roguetown/roguecrafting/crafting/weapons_tools.dm
index fc84f980326..978ef99318b 100644
--- a/code/modules/roguetown/roguecrafting/crafting/weapons_tools.dm
+++ b/code/modules/roguetown/roguecrafting/crafting/weapons_tools.dm
@@ -557,3 +557,149 @@
/obj/item/natural/stoneblock = 3)
skillcraft = /datum/skill/craft/carpentry
craftdiff = 5
+
+// Caustic edit start
+
+// Spears
+
+/datum/crafting_recipe/roguetown/survival/obsidianspear
+ name = "obsidian spear"
+ category = "Tools"
+ result = /obj/item/rogueweapon/spear/obsidian
+ reqs = list(
+ /obj/item/rogueweapon/woodstaff = 1,
+ /obj/item/magic/obsidian = 1,
+ /obj/item/natural/fibers = 1,
+ )
+ verbage_simple = "knap"
+ verbage = "knaps"
+ craftdiff = 3
+
+
+/datum/crafting_recipe/roguetown/survival/flintspear
+ name = "flint spear"
+ category = "Tools"
+ result = /obj/item/rogueweapon/spear/flint
+ reqs = list(
+ /obj/item/rogueweapon/woodstaff = 1,
+ /obj/item/natural/stone = 1,
+ /obj/item/natural/cloth = 1,
+ )
+ req_table = TRUE
+ tools = list(/obj/item/natural/whetstone = 1, /obj/item/needle = 1) // Bit of fluff for knapping tools. Incentivizes making a homebase.
+ verbage_simple = "knap"
+ verbage = "knaps"
+ craftdiff = 3
+
+
+/datum/crafting_recipe/roguetown/survival/manaspear
+ name = "manastone spear"
+ category = "Tools"
+ result = /obj/item/rogueweapon/spear/stone/manacrystal
+ reqs = list(
+ /obj/item/rogueweapon/woodstaff = 1,
+ /obj/item/magic/manacrystal = 1,
+ /obj/item/natural/fibers = 1,
+ )
+ verbage_simple = "assemble"
+ verbage = "assembles"
+ craftdiff = 3
+
+// Knives
+
+/datum/crafting_recipe/roguetown/survival/obsidianknife
+ name = "obsidian knife"
+ category = "Tools"
+ result = /obj/item/rogueweapon/huntingknife/stoneknife/obsidian
+ reqs = list(
+ /obj/item/grown/log/tree/stick = 1,
+ /obj/item/magic/obsidian = 1,
+ /obj/item/natural/fibers = 1,
+ )
+ verbage_simple = "knap"
+ verbage = "knaps"
+ craftdiff = 2
+
+/datum/crafting_recipe/roguetown/survival/flintknife
+ name = "flint knife"
+ category = "Tools"
+ result = /obj/item/rogueweapon/huntingknife/stoneknife/flint
+ reqs = list(
+ /obj/item/grown/log/tree/stick = 1,
+ /obj/item/natural/stone = 1,
+ /obj/item/natural/cloth = 1,
+ )
+ req_table = TRUE
+ tools = list(/obj/item/natural/whetstone = 1, /obj/item/needle = 1) // Bit of fluff for knapping tools. Incentivizes making a homebase.
+ verbage_simple = "knap"
+ verbage = "knaps"
+ craftdiff = 2
+
+/datum/crafting_recipe/roguetown/survival/manaknife
+ name = "manastone knife"
+ category = "Tools"
+ result = /obj/item/rogueweapon/huntingknife/stoneknife/manacrystal
+ reqs = list(
+ /obj/item/grown/log/tree/stick = 1,
+ /obj/item/magic/manacrystal = 1,
+ /obj/item/natural/fibers = 1,
+ )
+ verbage_simple = "assemble"
+ verbage = "assembles"
+ craftdiff = 3
+
+/datum/crafting_recipe/roguetown/survival/boneskewer
+ name = "bone skewer"
+ category = "Tools"
+ result = /obj/item/rogueweapon/huntingknife/stoneknife/bone
+ reqs = list(
+ /obj/item/natural/bone = 2,
+ /obj/item/natural/fibers = 1,
+ )
+ craftdiff = 2
+
+// Axes
+
+/datum/crafting_recipe/roguetown/survival/woodpaddleclub
+ name = "paddle-club"
+ category = "Tools"
+ subtype_reqs = TRUE // So it can use the crafted club
+ result = /obj/item/rogueweapon/mace/woodclub/paddle
+ reqs = list(
+ /obj/item/rogueweapon/mace/woodclub = 1,
+ /obj/item/natural/fibers = 1,
+ )
+ tools = list(/obj/item/rogueweapon/huntingknife = 1)
+ verbage_simple = "carve"
+ verbage = "carves"
+ craftdiff = 2
+
+/datum/crafting_recipe/roguetown/survival/obsidianaxe
+ name = "obsidian axe"
+ category = "Tools"
+ result = /obj/item/rogueweapon/stoneaxe/obsidian
+ reqs = list(
+ /obj/item/rogueweapon/mace/woodclub/paddle = 1,
+ /obj/item/magic/obsidian = 1,
+ )
+ verbage_simple = "assemble"
+ verbage = "assembles"
+ craftdiff = 3
+
+/datum/crafting_recipe/roguetown/survival/flintaxe
+ name = "flint axe"
+ category = "Tools"
+ subtype_reqs = TRUE // So it can use the crafted club
+ result = /obj/item/rogueweapon/stoneaxe/flint
+ reqs = list(
+ /obj/item/rogueweapon/mace/woodclub = 1,
+ /obj/item/natural/stone = 1,
+ /obj/item/natural/cloth = 1,
+ )
+ req_table = TRUE
+ tools = list(/obj/item/natural/whetstone = 1, /obj/item/needle = 1) // Bit of fluff for knapping tools. Incentivizes making a homebase.
+ verbage_simple = "knap"
+ verbage = "knaps"
+ craftdiff = 3
+
+// Caustic Edit end
diff --git a/code/modules/roguetown/roguecrafting/items.dm b/code/modules/roguetown/roguecrafting/items.dm
index 2009766bd42..fb9ba41521b 100644
--- a/code/modules/roguetown/roguecrafting/items.dm
+++ b/code/modules/roguetown/roguecrafting/items.dm
@@ -65,6 +65,17 @@
)
craftdiff = 0
+// Caustic edit start
+/datum/crafting_recipe/roguetown/survival/bneedle
+ name = "bone needle"
+ result = /obj/item/needle/bone
+ reqs = list(
+ /obj/item/natural/bone = 1,
+ /obj/item/natural/fibers = 1,
+ )
+ craftdiff = 1
+// Caustic edit end
+
/datum/crafting_recipe/roguetown/survival/cloth
name = "cloth"
result = /obj/item/natural/cloth
diff --git a/code/modules/roguetown/roguecrafting/structure.dm b/code/modules/roguetown/roguecrafting/structure.dm
index fd93bc0bfa1..6308a7cac3b 100644
--- a/code/modules/roguetown/roguecrafting/structure.dm
+++ b/code/modules/roguetown/roguecrafting/structure.dm
@@ -1319,7 +1319,9 @@
name = "potter's wheel"
category = "Misc"
result = /obj/structure/fluff/ceramicswheel
- reqs = list(/obj/item/natural/stone = 2, /obj/item/grown/log/tree/small = 2, /obj/item/roguegear = 1)
+ // Caustic Edit start
+ reqs = list(/obj/item/natural/stone = 2, /obj/item/grown/log/tree/small = 2, /obj/item/natural/fibers = 6) // A gear is stupidly expensive for something that no one ever uses. Maybe now it'll be used.
+ // Caustic Edit end
verbage_simple = "construct"
craftdiff = 2
verbage = "constructs"
@@ -1449,3 +1451,18 @@
verbage_simple = "weave"
verbage = "weaves"
craftdiff = 0
+
+
+// Caustic Edit Start
+
+/datum/crafting_recipe/roguetown/structure/polishstone
+ name = "polishing stone"
+ category = "Misc"
+ result = /obj/structure/fluff/grindwheel/polishstone
+ reqs = list(/obj/item/natural/rock = 1)
+ tools = list(/obj/item/natural/whetstone = 1)
+ verbage_simple = "grind"
+ verbage = "grinds"
+ craftsound = null
+
+// Caustic Edit End
diff --git a/code/modules/roguetown/roguejobs/blacksmith/grindwheel.dm b/code/modules/roguetown/roguejobs/blacksmith/grindwheel.dm
index 7fb161a3215..08f733157fa 100644
--- a/code/modules/roguetown/roguejobs/blacksmith/grindwheel.dm
+++ b/code/modules/roguetown/roguejobs/blacksmith/grindwheel.dm
@@ -7,16 +7,17 @@
anchored = FALSE
blade_dulling = DULLING_BASH
max_integrity = 300
+ var/grind_speed = 40 // 4 seconds // Caustic edit
/obj/structure/fluff/grindwheel/attackby(obj/item/I, mob/living/user, params)
if(I.max_blade_int)
playsound(loc,'sound/foley/grindblade.ogg', 100, FALSE)
- if(do_after(user, 41, target = src))
+ if(do_after(user, grind_speed, target = src)) // Caustic edit
I.restore_bintegrity()
return
if(istype(I, /obj/item/grown/log/tree/small))
var/skill_level = user.get_skill_level(/datum/skill/craft/carpentry)
- var/wood_time = (40 - (skill_level * 5))
+ var/wood_time = (grind_speed - (skill_level * 5)) // Caustic edit
playsound(src, pick('sound/misc/slide_wood (2).ogg', 'sound/misc/slide_wood (1).ogg'), 100, FALSE)
if(do_after(user, wood_time, target = src))
if(prob(max(40 - (skill_level * 10), 0)) || !skill_level) //Chance maxes at level 4
@@ -28,3 +29,17 @@
qdel(I)
return
. = ..()
+
+// Caustic Edit start vv
+/obj/structure/fluff/grindwheel/polishstone
+ name = "polishing stone"
+ desc = "A large stone with a flat surface used to slowly sharpen blades or smooth wood."
+ icon_state = "polishstone"
+ density = FALSE
+ anchored = FALSE
+ grind_speed = 600 // Very slow, 1 minute.
+
+/obj/structure/fluff/grindwheel/polishstone/Initialize()
+ icon_state = "polishstone[rand(1,2)]"
+ ..()
+// Caustic Edit end ^^
diff --git a/icons/roguetown/items/cooking.dmi b/icons/roguetown/items/cooking.dmi
index 490e9ecd245..224b1a7fbea 100644
Binary files a/icons/roguetown/items/cooking.dmi and b/icons/roguetown/items/cooking.dmi differ
diff --git a/icons/roguetown/items/misc.dmi b/icons/roguetown/items/misc.dmi
index 8982e3dc1c0..27340999830 100644
Binary files a/icons/roguetown/items/misc.dmi and b/icons/roguetown/items/misc.dmi differ
diff --git a/icons/roguetown/misc/forge.dmi b/icons/roguetown/misc/forge.dmi
index 6a7223d666b..feda49282da 100644
Binary files a/icons/roguetown/misc/forge.dmi and b/icons/roguetown/misc/forge.dmi differ
diff --git a/icons/roguetown/weapons/ammo.dmi b/icons/roguetown/weapons/ammo.dmi
index 9efe5ad39b8..7cca48120ab 100644
Binary files a/icons/roguetown/weapons/ammo.dmi and b/icons/roguetown/weapons/ammo.dmi differ
diff --git a/icons/roguetown/weapons/axes32.dmi b/icons/roguetown/weapons/axes32.dmi
index 9310fea0f4a..6b190535855 100644
Binary files a/icons/roguetown/weapons/axes32.dmi and b/icons/roguetown/weapons/axes32.dmi differ
diff --git a/icons/roguetown/weapons/blunt32.dmi b/icons/roguetown/weapons/blunt32.dmi
index eb7234c9b51..4f751b7e1fd 100644
Binary files a/icons/roguetown/weapons/blunt32.dmi and b/icons/roguetown/weapons/blunt32.dmi differ
diff --git a/icons/roguetown/weapons/daggers32.dmi b/icons/roguetown/weapons/daggers32.dmi
index 0a9afe410d8..7eb25f8928f 100644
Binary files a/icons/roguetown/weapons/daggers32.dmi and b/icons/roguetown/weapons/daggers32.dmi differ
diff --git a/icons/roguetown/weapons/polearms64.dmi b/icons/roguetown/weapons/polearms64.dmi
index 6ae82e35939..d2b97c016a2 100644
Binary files a/icons/roguetown/weapons/polearms64.dmi and b/icons/roguetown/weapons/polearms64.dmi differ
diff --git a/modular/Neu_Food/code/cookware/platter.dm b/modular/Neu_Food/code/cookware/platter.dm
index 2d3665d0623..fe77b844d20 100644
--- a/modular/Neu_Food/code/cookware/platter.dm
+++ b/modular/Neu_Food/code/cookware/platter.dm
@@ -12,10 +12,19 @@
grid_height = 32
obj_flags = UNIQUE_RENAME
+ // Caustic Edit start
+ var/glazeable // For things that can be glazed or painted. Currently only clay containers
+ var/glazed
+ // Caustic Edit end
+
/obj/item/cooking/platter/examine()
. = ..()
. += span_info("Can be renamed with a feather. Name will be overridden by plating or finishing food.")
+ // Caustic Edit
+ if(glazeable)
+ . += span_notice("It can be brushed with a dye brush to glaze it.")
+ // Caustic Edit end
/*
NEW SYSTEM
@@ -30,6 +39,50 @@ What it does:
/* .................. Food platter ................... */
/obj/item/cooking/platter/attackby(obj/item/I, mob/user, params)
+ // Caustic Edit start
+ if(glazeable)
+ if(istype(I, /obj/item/dye_brush))
+ var/obj/item/dye_brush/brush = I
+ user.visible_message(span_notice("[user] starts to brush the [name] with [brush]."))
+ if(do_after(user, 3 SECONDS, target = src))
+ if(!glazed)
+ var/list/designlist = list("painted", "brown", "porcelain", "shattergold", "bluegold") // Might need some changes in the future if people want to add glazeable/paintable things with different patterns
+ var/design = tgui_input_list(user, "Select a design.","Ceramics Design", designlist)
+ if(!design) // If no design and no paint so it doesn't go invisible
+ to_chat(user, span_notice("You change your mind on how to glaze the [name]."))
+ return
+ switch(design) // Literally just copied over from the spellbook variants
+ if ("painted") // For custom colors with no patterns.
+ if(!brush.dye)
+ to_chat(user, span_notice("How are you to paint with a dry brush?"))
+ return
+ color = brush.dye
+ to_chat(user, span_notice("I paint the [name] with the dye brush. Perhaps it is time for a detailed glaze?")) // You can paint, then glaze, but after glazing, you're done
+ update_icon()
+ return
+ if ("brown")
+ desc += " Glazed and marked to mimic unfired clay."
+ if ("porcelain")
+ desc += " Gilded and coated in white glaze. This is fit for nobility."
+ if ("shattergold")
+ desc += " Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ if ("bluegold")
+ desc += " Known as kintsugi to the Kazengunese. This method mends cracked and broken pottery with molten gold."
+ glazed = TRUE
+ glazeable = FALSE
+ icon_state = "[icon_state]_[design]"
+ update_icon()
+ name = "\improper [design] [name]"
+ if(sellprice)
+ sellprice += 5
+ to_chat(user, span_notice("I glaze the [name] with the dye brush."))
+ return
+ return
+ if(glazed && istype(I, /obj/item/dye_brush))
+ to_chat(user, span_notice("The [name] is already glazed!"))
+ return
+// Caustic Edit end ^^
+
if(istype(I, /obj/item/kitchen/fork))
if(do_after(user, 0.5 SECONDS))
attack(user, user, user.zone_selected)
diff --git a/modular/Neu_Food/code/cookware/pot.dm b/modular/Neu_Food/code/cookware/pot.dm
index 1089cd07d45..7f0b6d31a05 100644
--- a/modular/Neu_Food/code/cookware/pot.dm
+++ b/modular/Neu_Food/code/cookware/pot.dm
@@ -39,7 +39,7 @@
playsound(user, pick('sound/foley/waterwash (1).ogg','sound/foley/waterwash (2).ogg'), 70, FALSE)
if(do_after(user,2 SECONDS, target = src))
reagents.trans_to(I, reagents.total_volume)
- return TRUE
+ . = ..() // Caustic change, to allow glazeable pot subtypes to actually work.
/obj/item/reagent_containers/glass/bucket/pot/aalloy
name = "decrepit pot"
@@ -52,6 +52,7 @@
/obj/item/reagent_containers/glass/bucket/pot/stone
name = "stone pot"
desc = "A pot made out of stone. It can hold less than a metal pot."
+ icon_state = "pote_stone" // Caustic Edit
volume = 120 // 99 is the max volume for a stone pot
/obj/item/reagent_containers/glass/bucket/pot/kettle
diff --git a/modular/Neu_Food/icons/cookware/bowl.dmi b/modular/Neu_Food/icons/cookware/bowl.dmi
index 8c10301f21a..2b71141d618 100644
Binary files a/modular/Neu_Food/icons/cookware/bowl.dmi and b/modular/Neu_Food/icons/cookware/bowl.dmi differ
diff --git a/modular/Neu_Food/icons/cookware/cup.dmi b/modular/Neu_Food/icons/cookware/cup.dmi
index ea8f086412e..3cd26b4d606 100644
Binary files a/modular/Neu_Food/icons/cookware/cup.dmi and b/modular/Neu_Food/icons/cookware/cup.dmi differ
diff --git a/modular/Neu_Food/icons/cookware/platter.dmi b/modular/Neu_Food/icons/cookware/platter.dmi
index 8d2cb1069d7..8cab53cfe2b 100644
Binary files a/modular/Neu_Food/icons/cookware/platter.dmi and b/modular/Neu_Food/icons/cookware/platter.dmi differ
diff --git a/modular/Neu_Food/icons/cookware/pot.dmi b/modular/Neu_Food/icons/cookware/pot.dmi
index f3e914a7990..d17968fe235 100644
Binary files a/modular/Neu_Food/icons/cookware/pot.dmi and b/modular/Neu_Food/icons/cookware/pot.dmi differ