Files
Bubberstation/code/datums/components/crafting/tailoring.dm
necromanceranne 73dfd61634 [NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit (#83700)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/83684

Adds an intermediary item called drake remains, which are used to
construct drake armor and empower berserker armor.

There is no functional balance change here, as the components to make a
drake armor are relatively the same.

## Why It's Good For The Game

I borked it. This is the most reasonable and flexible method to fix the
bug and what I should have done in the first place.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
fix: Drake empowerment for berserker armor now uses valuable drake
remains, made from ashdrake hides and bones.
add: Drake armor is made use drake remains to construct. (This is a net
neutral to the previous recipe)
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2024-06-06 00:54:18 -04:00

495 lines
14 KiB
Plaintext

/datum/crafting_recipe/durathread_vest
name = "Durathread Vest"
result = /obj/item/clothing/suit/armor/vest/durathread
reqs = list(/obj/item/stack/sheet/durathread = 5,
/obj/item/stack/sheet/leather = 4)
time = 5 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/durathread_helmet
name = "Durathread Helmet"
result = /obj/item/clothing/head/helmet/durathread
reqs = list(/obj/item/stack/sheet/durathread = 4,
/obj/item/stack/sheet/leather = 5)
time = 4 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/fannypack
name = "Fannypack"
result = /obj/item/storage/belt/fannypack
reqs = list(/obj/item/stack/sheet/cloth = 2,
/obj/item/stack/sheet/leather = 1)
time = 2 SECONDS
category = CAT_CONTAINERS
/datum/crafting_recipe/hudsunsec
name = "Security HUDsunglasses"
result = /obj/item/clothing/glasses/hud/security/sunglasses
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/hud/security = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_EQUIPMENT
/datum/crafting_recipe/hudsunsecremoval
name = "Security HUD removal"
result = /obj/item/clothing/glasses/sunglasses
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1)
category = CAT_EQUIPMENT
/datum/crafting_recipe/hudsunmed
name = "Medical HUDsunglasses"
result = /obj/item/clothing/glasses/hud/health/sunglasses
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/hud/health = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_EQUIPMENT
/datum/crafting_recipe/hudsunmedremoval
name = "Medical HUD removal"
result = /obj/item/clothing/glasses/sunglasses
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1)
category = CAT_EQUIPMENT
/datum/crafting_recipe/hudsundiag
name = "Diagnostic HUDsunglasses"
result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_EQUIPMENT
/datum/crafting_recipe/hudsundiagremoval
name = "Diagnostic HUD removal"
result = /obj/item/clothing/glasses/sunglasses
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1)
category = CAT_EQUIPMENT
/datum/crafting_recipe/scienceglasses
name = "Science Glasses"
result = /obj/item/clothing/glasses/sunglasses/chemical
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/science = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_EQUIPMENT
/datum/crafting_recipe/scienceglassesremoval
name = "Chemical Scanner removal"
result = /obj/item/clothing/glasses/sunglasses
time = 2 SECONDS
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
reqs = list(/obj/item/clothing/glasses/sunglasses/chemical = 1)
category = CAT_EQUIPMENT
/datum/crafting_recipe/ghostsheet
name = "Ghost Sheet"
result = /obj/item/clothing/suit/costume/ghost_sheet
time = 0.5 SECONDS
tool_behaviors = list(TOOL_WIRECUTTER)
reqs = list(/obj/item/bedsheet = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/lizardboots
name = "Lizard Skin Boots"
result = /obj/effect/spawner/random/clothing/lizardboots
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1)
time = 6 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/prisonsuit
name = "Prisoner Uniform (Suit)"
result = /obj/item/clothing/under/rank/prisoner
reqs = list(/obj/item/stack/sheet/cloth = 3, /obj/item/stack/license_plates = 1)
time = 2 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/prisonskirt
name = "Prisoner Uniform (Skirt)"
result = /obj/item/clothing/under/rank/prisoner/skirt
reqs = list(/obj/item/stack/sheet/cloth = 3, /obj/item/stack/license_plates = 1)
time = 2 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/prisonshoes
name = "Orange Prison Shoes"
result = /obj/item/clothing/shoes/sneakers/orange
reqs = list(/obj/item/stack/sheet/cloth = 2, /obj/item/stack/license_plates = 1)
time = 1 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/tv_helmet
name = "Television Helmet"
result = /obj/item/clothing/head/costume/tv_head
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_CROWBAR)
reqs = list(/obj/item/wallframe/status_display = 1)
time = 2 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/lizardhat
name = "Lizard Cloche Hat"
result = /obj/item/clothing/head/costume/lizard
time = 1 SECONDS
reqs = list(/obj/item/organ/external/tail/lizard = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/lizardhat_alternate
name = "Lizard Cloche Hat"
result = /obj/item/clothing/head/costume/lizard
time = 1 SECONDS
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/kittyears
name = "Kitty Ears"
result = /obj/item/clothing/head/costume/kitty/genuine
time = 1 SECONDS
reqs = list(
/obj/item/organ/external/tail/cat = 1,
/obj/item/organ/internal/ears/cat = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/bonearmor
name = "Bone Armor"
result = /obj/item/clothing/suit/armor/bone
time = 3 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 6,
/obj/item/stack/sheet/animalhide/goliath_hide = 3,
)
category = CAT_CLOTHING
/datum/crafting_recipe/bonetalisman
name = "Bone Talisman"
result = /obj/item/clothing/accessory/talisman
time = 2 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/bonecodpiece
name = "Skull Codpiece"
result = /obj/item/clothing/accessory/skullcodpiece
time = 2 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/animalhide/goliath_hide = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/skilt
name = "Sinew Kilt"
result = /obj/item/clothing/accessory/skilt
time = 2 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 1,
/obj/item/stack/sheet/sinew = 2,
)
category = CAT_CLOTHING
/datum/crafting_recipe/wreath
name = "Watcher Wreath"
result = /obj/item/clothing/neck/wreath
time = 2 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 2,
/obj/item/stack/ore/diamond = 2,
)
category = CAT_CLOTHING
/datum/crafting_recipe/icewreath
name = "Icewing Wreath"
result = /obj/item/clothing/neck/wreath/icewing
time = 2 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 1,
/obj/item/stack/sheet/sinew = 1,
/obj/item/stack/ore/diamond = 2,
/obj/item/crusher_trophy/watcher_wing/ice_wing = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/bracers
name = "Bone Bracers"
result = /obj/item/clothing/gloves/bracer
time = 2 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/skullhelm
name = "Skull Helmet"
result = /obj/item/clothing/head/helmet/skull
time = 3 SECONDS
reqs = list(/obj/item/stack/sheet/bone = 4)
category = CAT_CLOTHING
/datum/crafting_recipe/goliathcloak
name = "Goliath Cloak"
result = /obj/item/clothing/suit/hooded/cloak/goliath
time = 5 SECONDS
reqs = list(
/obj/item/stack/sheet/sinew = 3,
/obj/item/stack/sheet/animalhide/goliath_hide = 9,
)
category = CAT_CLOTHING
/datum/crafting_recipe/drakecloak
name = "Ash Drake Armour"
result = /obj/item/clothing/suit/hooded/cloak/drake
time = 4 SECONDS
reqs = list(
/obj/item/stack/sheet/sinew = 2,
/obj/item/drake_remains = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/drakeremains
name = "Drake Remains"
result = /obj/item/drake_remains
time = 1 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 10,
/obj/item/stack/sheet/animalhide/ashdrake = 5,
)
category = CAT_CLOTHING
/datum/crafting_recipe/godslayer
name = "Godslayer Armour"
result = /obj/item/clothing/suit/hooded/cloak/godslayer
time = 6 SECONDS
reqs = list(
/obj/item/ice_energy_crystal = 1,
/obj/item/wendigo_skull = 1,
/obj/item/clockwork_alloy = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/mummy
name = "Mummification Bandages (Mask)"
result = /obj/item/clothing/mask/mummy
time = 1 SECONDS
tool_paths = list(/obj/item/nullrod/egyptian)
reqs = list(/obj/item/stack/sheet/cloth = 2)
category = CAT_CLOTHING
/datum/crafting_recipe/mummy/body
name = "Mummification Bandages (Body)"
result = /obj/item/clothing/under/costume/mummy
reqs = list(/obj/item/stack/sheet/cloth = 5)
/datum/crafting_recipe/chaplain_hood
name = "Follower Hoodie"
result = /obj/item/clothing/suit/hooded/chaplain_hoodie
time = 1 SECONDS
tool_paths = list(
/obj/item/clothing/suit/hooded/chaplain_hoodie,
/obj/item/book/bible,
)
reqs = list(/obj/item/stack/sheet/cloth = 4)
category = CAT_CLOTHING
/datum/crafting_recipe/flower_garland
name = "Flower Garland"
result = /obj/item/clothing/head/costume/garland
time = 1 SECONDS
reqs = list(
/obj/item/food/grown/poppy = 4,
/obj/item/food/grown/harebell = 4,
/obj/item/food/grown/rose = 4,
)
category = CAT_CLOTHING
/datum/crafting_recipe/poppy_crown
name = "Poppy Crown"
result = /obj/item/clothing/head/costume/garland/poppy
time = 1 SECONDS
reqs = list(
/obj/item/food/grown/poppy = 5,
/obj/item/stack/cable_coil = 3,
)
category = CAT_CLOTHING
/datum/crafting_recipe/lily_crown
name = "Lily Crown"
result = /obj/item/clothing/head/costume/garland/lily
time = 1 SECONDS
reqs = list(
/obj/item/food/grown/poppy/lily = 5,
/obj/item/stack/cable_coil = 3,
)
category = CAT_CLOTHING
/datum/crafting_recipe/sunflower_crown
name = "Sunflower Crown"
result = /obj/item/clothing/head/costume/garland/sunflower
time = 1 SECONDS
reqs = list(
/obj/item/food/grown/sunflower = 5,
/obj/item/stack/cable_coil = 3,
)
category = CAT_CLOTHING
/datum/crafting_recipe/rainbow_bunch_crown
name = "Rainbow Flower Crown"
result = /obj/item/clothing/head/costume/garland/rainbowbunch
time = 1 SECONDS
reqs = list(
/obj/item/food/grown/rainbow_flower = 5,
/obj/item/stack/cable_coil = 3,
)
category = CAT_CLOTHING
/datum/crafting_recipe/pillow_suit
name = "pillow suit"
result = /obj/item/clothing/suit/pillow_suit
time = 2 SECONDS
reqs = list(
/obj/item/stack/sticky_tape = 10,
/obj/item/pillow = 5,
)
category = CAT_CLOTHING
/datum/crafting_recipe/pillow_hood
name = "pillow hood"
result = /obj/item/clothing/head/pillow_hood
tool_behaviors = list(TOOL_WIRECUTTER, TOOL_KNIFE)
time = 2 SECONDS
reqs = list(
/obj/item/stack/sticky_tape = 5,
/obj/item/pillow = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/shark_costume
name = "shark costume"
result = /obj/item/clothing/suit/hooded/shark_costume
time = 2 SECONDS
reqs = list(
/obj/item/stack/sheet/leather = 5,
/obj/item/stack/sheet/animalhide/carp = 5,
)
category = CAT_CLOTHING
/datum/crafting_recipe/shork_costume
name = "shork costume"
result = /obj/item/clothing/suit/hooded/shork_costume
time = 2 SECONDS
tool_behaviors = list(TOOL_WIRECUTTER)
reqs = list(
/obj/item/clothing/suit/hooded/shark_costume = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/sturdy_shako
name = "Sturdy Shako"
result = /obj/item/clothing/head/hats/hos/shako
tool_behaviors = list(TOOL_WELDER, TOOL_KNIFE)
time = 5 SECONDS
reqs = list(
/obj/item/clothing/head/hats/hos/cap = 1,
/obj/item/stack/sheet/plasteel = 2, //Stout shako for two refined
/obj/item/stack/sheet/mineral/gold = 2,
)
category = CAT_CLOTHING
/datum/crafting_recipe/atmospherics_gas_mask
name = "atmospherics gas mask"
result = /obj/item/clothing/mask/gas/atmos
tool_behaviors = list(TOOL_WELDER)
time = 8 SECONDS
reqs = list(
/obj/item/stack/sheet/mineral/metal_hydrogen = 1,
/obj/item/stack/sheet/mineral/zaukerite = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/paper_hat
name = "Paper Hat"
result = /obj/item/clothing/head/costume/paper_hat
time = 5 SECONDS
reqs = list(
/obj/item/paper = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/biohood_sec
name = "security biohood"
result = /obj/item/clothing/head/bio_hood/security
time = 2 SECONDS
reqs = list(
/obj/item/clothing/head/bio_hood/general = 1,
/obj/item/clothing/head/helmet/sec = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/biosuit_sec
name = "security biosuit"
result = /obj/item/clothing/suit/bio_suit/security
time = 2 SECONDS
reqs = list(
/obj/item/clothing/suit/bio_suit/general = 1,
/obj/item/clothing/suit/armor/vest = 1,
)
category = CAT_CLOTHING
/datum/crafting_recipe/balloon_helmet
result = /obj/item/clothing/head/helmet/balloon
reqs = list(
/obj/item/toy/balloon/long = 6,
)
time = 4 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/balloon_helmet/check_requirements(mob/user, list/collected_requirements)
. = ..()
if(HAS_TRAIT(user, TRAIT_BALLOON_SUTRA))
return TRUE
/datum/crafting_recipe/balloon_tophat
result = /obj/item/clothing/head/hats/tophat/balloon
reqs = list(
/obj/item/toy/balloon/long = 6,
)
time = 4 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/balloon_tophat/check_requirements(mob/user, list/collected_requirements)
. = ..()
if(HAS_TRAIT(user, TRAIT_BALLOON_SUTRA))
return TRUE
/datum/crafting_recipe/balloon_vest
result = /obj/item/clothing/suit/armor/balloon_vest
reqs = list(
/obj/item/toy/balloon/long = 18,
)
time = 8 SECONDS
category = CAT_CLOTHING
/datum/crafting_recipe/balloon_vest/check_requirements(mob/user, list/collected_requirements)
. = ..()
if(HAS_TRAIT(user, TRAIT_BALLOON_SUTRA))
return TRUE