Files
Bubberstation/code/datums/components/crafting/tailoring.dm
YesterdaysPromise e64331f678 Clowns can now make balloon... toys. And also mallets and hats. (#82288)
<!-- 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

Clowns will now start with a box of 24 random long balloons and a
skillchip in their noggin allowing them to create balloon animals by
combining two of them of different colour together. Owners of the
skillchip also gain access to crafting recepies of balloon mallets,
vests, helmets and tophats, all created from long balloons. A crate of
long balloons, with a box of balloons inside, can be bought at cargo, in
case the clown runs out. I might edit this once I wake up, its 3 in the
morning right now.
Oh also, resprited how balloons look in inventory.


![image](https://github.com/tgstation/tgstation/assets/122572637/2d7ce955-c787-48a5-bfda-4613d2eed837)

## Why It's Good For The Game

Balloon animals funny.
Silly features are my favourite kind of features, and this one's
open-ended too.
Someone on the coder chat recommended someone would do it that one time,
here it goes.


## 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. -->

🆑
add: Added long balloon box to the clown's starting inventory, and a
skill-chip of long lost honk-motherian knowledge to their brain.
add: Added long balloons. Consequently, added balloon animals to make
from such balloons. Also, balloon top hat, vest, helmet, and a mallet.
Don't ask about the mallet.
add: A long balloons box harvested fresh from the farms on the clown
planet will be able to be shipped in a crate to the cargo department
near you!
add: As per requests; water balloons can now be printed at service
lathe, and entertainment modsuit can now blow long balloons!
image: Balloons will now have an unique sprite when in the inventory,
compared when to on the ground.
/🆑

<!-- 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. -->

---------

Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-04-10 23:58:15 +00:00

484 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)
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/leather = 2,
/obj/item/stack/sheet/sinew = 2,
/obj/item/stack/sheet/animalhide/goliath_hide = 2,
) //it takes 4 goliaths to make 1 cloak if the plates are skinned
category = CAT_CLOTHING
/datum/crafting_recipe/drakecloak
name = "Ash Drake Armour"
result = /obj/item/clothing/suit/hooded/cloak/drake
time = 6 SECONDS
reqs = list(
/obj/item/stack/sheet/bone = 10,
/obj/item/stack/sheet/sinew = 2,
/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