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