Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
5521e3d
first bow powercreep edition
Skrem7 Feb 5, 2023
7fe3989
first patch
Skrem7 Feb 5, 2023
d0702b9
description updates
Skrem7 Feb 5, 2023
51a4681
added the stuff
nmajask Feb 6, 2023
7071ab0
Merge pull request #2 from nmajask/bow-shit
Skrem7 Feb 6, 2023
b1465d6
follow-up edits
Skrem7 Feb 6, 2023
a0028a9
very mild voicebox updates
Skrem7 Feb 7, 2023
2fa9c03
all the stuff
nmajask Feb 11, 2023
d2e9181
Merge branch 'bowrework' of https://github.com/skrem7/yogstation into…
nmajask Feb 11, 2023
69e40d0
Merge pull request #3 from nmajask/bow-shit
Skrem7 Feb 11, 2023
538fd85
some value/wording changes + shifts shadow cloak to nukies
Skrem7 Feb 11, 2023
a3c5b4d
halve bow slowdown
Skrem7 Feb 13, 2023
3633cbc
aaaa
nmajask Feb 13, 2023
8540b87
Merge branch 'bowrework' of https://github.com/skrem7/yogstation into…
nmajask Feb 13, 2023
0e96a6c
uhoh
nmajask Feb 13, 2023
f3d6c7e
screaming
Skrem7 Feb 13, 2023
02116d5
cloak charge rate changes
Skrem7 Feb 14, 2023
e80fccb
remove redundant line
Skrem7 Feb 14, 2023
8410307
upgrades break bow damage to middle finger
Skrem7 Feb 14, 2023
50457c1
spellbook adjustments
Skrem7 Feb 14, 2023
6f97627
tribal armor tweaks (I'm looking at you pathfinder cloak and you're g…
Skrem7 Feb 15, 2023
ef43f68
aaa
nmajask Feb 15, 2023
8810341
Merge remote-tracking branch 'skrem7/bowrework' into bow-shit
nmajask Feb 15, 2023
66ab29b
more stuff
nmajask Feb 17, 2023
9ba96a4
agh
nmajask Feb 17, 2023
539ab8d
done?
nmajask Feb 18, 2023
b21a6d8
final range of stuff from nmajask it's time for me to SIFT through th…
Skrem7 Feb 18, 2023
5a883ec
minor tweaks + craftable gloves
Skrem7 Feb 18, 2023
8ecfb90
adds bone crossbow crafting recipe
Skrem7 Feb 18, 2023
1ad83c4
maybe fix cornflakes
Skrem7 Feb 18, 2023
294dc43
Squashed commit of the following:
Skrem7 Feb 19, 2023
786bb92
Revert "Squashed commit of the following:"
Skrem7 Feb 19, 2023
fbecfa5
makes anomaly quiver printable
Skrem7 Feb 19, 2023
5b87157
running it back
Skrem7 Feb 19, 2023
a5294ff
DIE ICON CORNFLAKES DIE
Skrem7 Feb 19, 2023
4948179
Revert "DIE ICON CORNFLAKES DIE"
Skrem7 Feb 19, 2023
2f28eb3
Merge branch 'bowrework' into bowrework2
Skrem7 Feb 19, 2023
ccc9b29
if this does not work I will scream
Skrem7 Feb 19, 2023
a826028
i forgor lazenn redid this
Skrem7 Feb 19, 2023
bc40023
linter fixes?
Skrem7 Feb 19, 2023
7e490d1
weh
Skrem7 Feb 21, 2023
269214e
adds returning variable to break bow
Skrem7 Feb 27, 2023
286cce6
fixes quiver/hardlight outlines
Skrem7 Feb 27, 2023
e22a449
resets dmi files
Skrem7 Mar 19, 2023
72f5ee7
Merge branch 'master' into bowrework2
Skrem7 Mar 19, 2023
61f4012
hello?
Skrem7 Mar 19, 2023
cd8ce0e
indentation my beloathed
Skrem7 Mar 19, 2023
0293248
icons? please don't github
Skrem7 Mar 19, 2023
c0ff754
fixes gumballs/lollipops
Skrem7 Mar 19, 2023
37d079d
fixes foam force shotguns
Skrem7 Mar 19, 2023
95720ac
Revert "fixes foam force shotguns"
Skrem7 Mar 19, 2023
cfbd048
fixes foam force for real
Skrem7 Mar 19, 2023
888327b
tidies up some sprites
Skrem7 Mar 20, 2023
e2e5235
agh
nmajask Mar 25, 2023
cbde570
should fix syringe + point blank bugs
Skrem7 Mar 26, 2023
0d0f219
Merge branch 'master' into bowrework2
Skrem7 Mar 26, 2023
f654c64
fixes bone-tipped nocked sprite
Skrem7 Mar 26, 2023
3a0d4d1
makes it so beanbag "slugs" don't look like syringes
Skrem7 Mar 26, 2023
44676f2
fixes in-hand bone-tipped
Skrem7 Mar 26, 2023
3a632da
removes message_admins from debugging (oops)
Skrem7 Mar 26, 2023
a427a59
fixes an oversight with bone crossbow crafting
Skrem7 Mar 30, 2023
4a68696
Merge branch 'master' into bowrework2
Skrem7 Apr 7, 2023
bcbbe39
aaa
nmajask Apr 8, 2023
27ab6f4
Merge branch 'bowrework2' of https://github.com/skrem7/yogstation int…
nmajask Apr 8, 2023
e8d5bd3
agh
nmajask Apr 8, 2023
afbb9c5
Agh x2
nmajask Apr 8, 2023
90c636b
should fix icon cornflakes
Skrem7 Apr 9, 2023
a916705
killing
Skrem7 Apr 9, 2023
2146d86
Merge remote-tracking branch 'upstream/master' into bowrework2
Skrem7 Apr 9, 2023
2b43896
holy shit i think i learned something today
Skrem7 Apr 9, 2023
a87e26e
a g h
nmajask Apr 11, 2023
a340a2c
Merge pull request #8 from nmajask/bowrework2
Skrem7 Apr 11, 2023
71f4be6
Merge remote-tracking branch 'upstream/master' into bowrework2
Skrem7 Apr 19, 2023
d79921b
Merge remote-tracking branch 'upstream/master' into bowrework2
Skrem7 Apr 30, 2023
22de58a
Merge remote-tracking branch 'upstream/master' into bowrework2
Skrem7 May 1, 2023
731d840
Merge remote-tracking branch 'upstream/master' into bowrework2
Skrem7 May 4, 2023
f6a9690
Merge remote-tracking branch 'upstream/master' into bowrework2
Skrem7 May 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1224,10 +1224,10 @@
dir = 4
},
/obj/structure/table/wood,
/obj/item/storage/belt/quiver/ashwalker{
/obj/item/storage/belt/quiver/weaver/ashwalker{
pixel_y = 2
},
/obj/item/storage/belt/quiver/ashwalker{
/obj/item/storage/belt/quiver/weaver/ashwalker{
pixel_y = -2
},
/obj/item/gun/ballistic/bow/ashen{
Expand Down
18 changes: 9 additions & 9 deletions _maps/RandomRuins/LavaRuins/lavaland_surface_meteorite.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@
"fO" = (
/obj/structure/fluff/grave/empty,
/obj/effect/mob_spawn/human/corpse/damaged/legioninfested,
/obj/item/ammo_casing/caseless/arrow/ash{
/obj/item/ammo_casing/reusable/arrow/ash{
pixel_x = 11;
pixel_y = 2
},
Expand Down Expand Up @@ -809,7 +809,7 @@
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"ov" = (
/obj/item/ammo_casing/caseless/arrow/ash{
/obj/item/ammo_casing/reusable/arrow/ash{
pixel_x = -10;
pixel_y = 7
},
Expand Down Expand Up @@ -1755,23 +1755,23 @@
pixel_x = 1;
pixel_y = 1
},
/obj/item/storage/belt/quiver/ashwalker{
/obj/item/storage/belt/quiver/weaver/ashwalker{
pixel_x = -9;
pixel_y = -3
},
/obj/item/circular_saw/bone{
pixel_x = 7
},
/obj/item/ammo_casing/caseless/arrow/ash,
/obj/item/ammo_casing/caseless/arrow/ash{
/obj/item/ammo_casing/reusable/arrow/ash,
/obj/item/ammo_casing/reusable/arrow/ash{
pixel_x = 4;
pixel_y = -4
},
/obj/item/ammo_casing/caseless/arrow/ash{
/obj/item/ammo_casing/reusable/arrow/ash{
pixel_x = -5;
pixel_y = 2
},
/obj/item/ammo_casing/caseless/arrow/ash{
/obj/item/ammo_casing/reusable/arrow/ash{
pixel_x = 9;
pixel_y = -6
},
Expand Down Expand Up @@ -2449,11 +2449,11 @@
/area/lavaland/surface/outdoors)
"RF" = (
/obj/structure/marker_beacon,
/obj/item/ammo_casing/caseless/arrow/ash{
/obj/item/ammo_casing/reusable/arrow/ash{
pixel_x = 6;
pixel_y = -11
},
/obj/item/ammo_casing/caseless/arrow/ash,
/obj/item/ammo_casing/reusable/arrow/ash,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"RG" = (
Expand Down
6 changes: 3 additions & 3 deletions _maps/RandomRuins/StationRuins/maint/10x5/10x5_bamboo.dmm
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"b" = (
/obj/item/ammo_casing/caseless/arrow/bamboo{
/obj/item/ammo_casing/reusable/arrow/bamboo{
pixel_x = 2;
pixel_y = -1
},
/obj/item/ammo_casing/caseless/arrow/bamboo{
/obj/item/ammo_casing/reusable/arrow/bamboo{
pixel_x = -3;
pixel_y = 2
},
/obj/item/ammo_casing/caseless/arrow/bamboo{
/obj/item/ammo_casing/reusable/arrow/bamboo{
pixel_x = -7;
pixel_y = 5
},
Expand Down
19 changes: 14 additions & 5 deletions code/__DEFINES/combat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,15 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
#define REFLECT_NORMAL (1<<0)
#define REFLECT_FAKEPROJECTILE (1<<1)

// Casing Flags //
/* Flags for /obj/item/ammo_casing */
/// If the ammo casing doesn't have a different live and spent icon, it will just use the non-live sprite instead
#define CASINGFLAG_NO_LIVE_SPRITE (1<<0)
/// If the ammo casing should be force eject when fired even when the gun is not semi-auto, useful for casings that delete themselves. Only works with balistic weapons
#define CASINGFLAG_FORCE_CLEAR_CHAMBER (1<<1)
/// If the ammo casing should not spin when thrown
#define CASINGFLAG_NOT_HEAVY_METAL (1<<2)

//Object/Item sharpness
#define SHARP_NONE 0
#define SHARP_EDGED 1
Expand Down Expand Up @@ -250,15 +259,15 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(

//bullet_act() return values
/// It's a successful hit, whatever that means in the context of the thing it's hitting.
#define BULLET_ACT_HIT "HIT" //It's a successful hit, whatever that means in the context of the thing it's hitting.
#define BULLET_ACT_HIT (1<<0) //It's a successful hit, whatever that means in the context of the thing it's hitting.
/// It's a blocked hit, whatever that means in the context of the thing it's hitting.
#define BULLET_ACT_BLOCK "BLOCK"
#define BULLET_ACT_BLOCK (1<<1)
/// It pierces through the object regardless of the bullet being piercing by default.
#define BULLET_ACT_FORCE_PIERCE "PIERCE"
#define BULLET_ACT_FORCE_PIERCE (1<<2)
/// It hit us but it should hit something on the same turf too. Usually used for turfs.
#define BULLET_ACT_TURF "TURF"
#define BULLET_ACT_TURF (1<<3)
/// It hit something, but it should just keep going until it hit something else
#define BULLET_ACT_PENETRATE "PENETRATE"
#define BULLET_ACT_PENETRATE (1<<4)

// Weather immunities //
#define WEATHER_STORM "storm"
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/dcs/signals/signals_mob/signals_mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,10 @@
///Called on user, from base of /datum/strippable_item/try_(un)equip() (atom/target, obj/item/equipping?)
#define COMSIG_TRY_STRIP "try_strip"
#define COMPONENT_CANT_STRIP (1<<0)
///Called on user by /mob/verb/quick_equip() (atom/target, obj/item/equipping?)
#define COMSIG_MOB_QUICK_EQUIP "quick_equip"
/// return this if you want to stop the rest of the quick equip logic
#define COMPONENT_BLOCK_QUICK_EQUIP (1<<0)
///From /datum/component/creamed/Initialize()
#define COMSIG_MOB_CREAMED "mob_creamed"
///From /obj/item/gun/proc/check_botched()
Expand Down
18 changes: 18 additions & 0 deletions code/__DEFINES/dcs/signals/signals_object.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,24 @@
///from base of obj/item/hit_reaction(): (list/args)
#define COMSIG_ITEM_HIT_REACT "item_hit_react"
#define COMPONENT_HIT_REACTION_BLOCK (1<<0)

/// Called before an item is embedded (mob/living/carbon/target = carbon that it is getting embedded into)
#define COMSIG_ITEM_EMBEDDED "mob_carbon_embedded"
// Prevents the embed
#define COMSIG_ITEM_BLOCK_EMBED (1 << 0)

/// Called before an item is removed from being embedded (mob/living/carbon/embedded = carbon that is currently embedded)
#define COMSIG_ITEM_EMBED_REMOVAL "mob_carbon_embed_removal"
// Prevents the removal of the embed
#define COMSIG_ITEM_BLOCK_EMBED_REMOVAL (1 << 0)
// Qdels the object when it is removed instead of droping it
#define COMSIG_ITEM_QDEL_EMBED_REMOVAL (1 << 1)

/// Called every life tick for the embedded mob when the item is embedded (mob/living/carbon/embedded = carbon that is currently embedded)
#define COMSIG_ITEM_EMBED_TICK "mob_carbon_embed_tick"
// Prevents the rest of the tick logic for the item from proccessing
#define COMSIG_ITEM_BLOCK_EMBED_TICK (1 << 0)

///from base of item/sharpener/attackby(): (amount, max)
#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act"
#define COMPONENT_BLOCK_SHARPEN_APPLIED (1<<0)
Expand Down
5 changes: 2 additions & 3 deletions code/__DEFINES/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@
#define ITEM_SLOT_NECK (1<<13)
#define ITEM_SLOT_HANDS (1<<14)
#define ITEM_SLOT_BACKPACK (1<<15)
#define ITEM_SLOT_SUIT (1<<16) //yogs: suit storage inventory check
/// Prevents items from being stored in suit storage
#define ITEM_SLOT_DENY_S_STORE (1<<16)

//SLOTS
#define SLOT_BACK 1
Expand Down Expand Up @@ -100,8 +101,6 @@
. = ITEM_SLOT_HANDS
if(SLOT_IN_BACKPACK)
. = ITEM_SLOT_BACKPACK
if(SLOT_S_STORE) //yogs: suit storage inventory check
. = ITEM_SLOT_SUIT //yogs


//Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses.
Expand Down
11 changes: 11 additions & 0 deletions code/__DEFINES/spells.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Invocation Defines
#define SPELL_INVOCATION_NONE 0 // Doesn't have an invocation
#define SPELL_INVOCATION_SAY 1 // Forces the user to say the invocation message
#define SPELL_INVOCATION_WHISPER 2 // Forces the user to whisper the invocation message
#define SPELL_INVOCATION_EMOTE 3 // Forces the user to emote the invocation message
#define SPELL_INVOCATION_MESSAGE 4 // The user creates a visible message, with the invocation being visaible to others and invocation_emote_self being visible to the user

// Charge Type Defines
#define SPELL_CHARGE_TYPE_RECHARGE 0 // Spell needs to recharge between uses
#define SPELL_CHARGE_TYPE_CHARGES 1 // Spell has a set number of uses
#define SPELL_CHARGE_TYPE_HOLDERVAR 2 // Spell adjusts the users 'holder_var_type' by 'holder_var_amount' on use
11 changes: 9 additions & 2 deletions code/_onclick/hud/radial.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,17 @@ GLOBAL_LIST_EMPTY(radial_menus)
var/choice
var/next_page = FALSE
var/tooltips = FALSE
var/active = FALSE

/atom/movable/screen/radial/slice/MouseEntered(location, control, params)
. = ..()
icon_state = "radial_slice_focus"
icon_state = "radial_slice[active ? "_active" : ""]_focus"
if(tooltips)
openToolTip(usr, src, params, title = name, content = desc)

/atom/movable/screen/radial/slice/MouseExited(location, control, params)
. = ..()
icon_state = "radial_slice"
icon_state = "radial_slice[active ? "_active" : ""]"
if(tooltips)
closeToolTip(usr)

Expand Down Expand Up @@ -217,6 +218,9 @@ GLOBAL_LIST_EMPTY(radial_menus)
var/datum/radial_menu_choice/choice_datum = choice_datums[choice_id]
if(choice_datum && istext(choice_datum.info))
E.desc = choice_datum.info
if(choice_datum.active)
E.active = TRUE
E.icon_state = "radial_slice_active"

E.choice = choice_id
E.maptext = null
Expand Down Expand Up @@ -349,6 +353,9 @@ GLOBAL_LIST_EMPTY(radial_menus)
/// If provided, will display an info button that will put this text in your chat
var/info

/// If the radial slice should use the active icon
var/active = FALSE

/datum/radial_menu_choice/Destroy(force, ...)
. = ..()
QDEL_NULL(image)
3 changes: 3 additions & 0 deletions code/datums/components/butchering.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@
for(var/i in 1 to amount)
new sinew (T)
meat.guaranteed_butcher_results.Remove(sinew)
var/mob/living/carbon/C = meat
if(istype(C))
C.remove_all_embedded_objects()
if(butcher)
meat.visible_message(span_notice("[butcher] butchers [meat]."))
ButcherEffects(meat)
Expand Down
76 changes: 57 additions & 19 deletions code/datums/components/crafting/antag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -104,39 +104,77 @@
always_available = FALSE

/datum/crafting_recipe/bola_arrow
name = "Bola arrow"
result = /obj/item/ammo_casing/caseless/arrow/bola
time = 3 SECONDS
reqs = list(/obj/item/ammo_casing/caseless/arrow = 1,
/obj/item/stack/sheet/silk = 1,
name = "Bola Arrow"
result = /obj/item/ammo_casing/reusable/arrow
time = 1.5 SECONDS
reqs = list(/obj/item/ammo_casing/reusable/arrow = 1,
/obj/item/restraints/handcuffs/cable = 1,
/obj/item/restraints/legcuffs/bola = 1)
parts = list(/obj/item/ammo_casing/caseless/arrow = 1, /obj/item/restraints/legcuffs/bola = 1)
blacklist = list(/obj/item/ammo_casing/reusable/arrow/toy)
parts = list(/obj/item/ammo_casing/reusable/arrow = 1, /obj/item/restraints/handcuffs/cable = 1, /obj/item/restraints/legcuffs/bola = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
always_available = FALSE

/*
/datum/crafting_recipe/explosive_arrow
name = "Explosive arrow"
result = /obj/item/ammo_casing/caseless/arrow/explosive
time = 3 SECONDS
reqs = list(/obj/item/ammo_casing/caseless/arrow = 1,
/obj/item/stack/sheet/silk = 1,
name = "Explosive Arrow"
result = /obj/item/ammo_casing/reusable/arrow
time = 1.5 SECONDS
reqs = list(/obj/item/ammo_casing/reusable/arrow = 1,
/obj/item/restraints/handcuffs/cable = 1,
/obj/item/grenade = 1)
parts = list(/obj/item/ammo_casing/caseless/arrow = 1, /obj/item/grenade = 1)
blacklist = list(/obj/item/ammo_casing/reusable/arrow/toy)
parts = list(/obj/item/ammo_casing/reusable/arrow = 1, /obj/item/restraints/handcuffs/cable = 1, /obj/item/grenade = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
always_available = FALSE
*/

/datum/crafting_recipe/flaming_arrow
name = "Flaming arrow"
result = /obj/item/ammo_casing/caseless/arrow/flaming
time = 3 SECONDS
reqs = list(/obj/item/ammo_casing/caseless/arrow = 1,
name = "Fire Arrow"
result = /obj/item/ammo_casing/reusable/arrow
time = 1.5 SECONDS
reqs = list(/obj/item/ammo_casing/reusable/arrow = 1,
/obj/item/stack/sheet/cloth = 1,
/datum/reagent/fuel = 10)
parts = list(/obj/item/ammo_casing/caseless/arrow = 1)
blacklist = list(/obj/item/ammo_casing/reusable/arrow/toy)
parts = list(/obj/item/ammo_casing/reusable/arrow = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
always_available = FALSE

/datum/crafting_recipe/syringe_arrow
name = "Syringe Arrow"
result = /obj/item/ammo_casing/reusable/arrow
time = 1.5 SECONDS
reqs = list(/obj/item/ammo_casing/reusable/arrow = 1,
/obj/item/restraints/handcuffs/cable = 1,
/obj/item/reagent_containers/syringe = 1)
blacklist = list(/obj/item/ammo_casing/reusable/arrow/toy)
parts = list(/obj/item/ammo_casing/reusable/arrow = 1, /obj/item/restraints/handcuffs/cable = 1, /obj/item/reagent_containers/syringe = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
always_available = FALSE
/*
/datum/crafting_recipe/supermatter_sliver_arrow
name = "Supermatter Sliver Arrow"
result = /obj/item/ammo_casing/reusable/arrow/supermatter/sliver
time = 5 SECONDS // Need to be very careful
reqs = list(/obj/item/nuke_core/supermatter_sliver = 1,
/obj/item/scalpel/supermatter = 1, // Needed so the sliver doesn't destroy the rod and so atmos techs can't mass produce instant dust arrows
/obj/item/stack/rods = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
always_available = FALSE

/datum/crafting_recipe/singularity_shard_arrow
name = "Singularity Shard Arrow"
result = /obj/item/ammo_casing/reusable/arrow/singulo
time = 5 SECONDS
reqs = list(/obj/item/singularity_shard = 1,
/obj/item/stack/rods = 1,
/obj/item/stack/cable_coil = 3)
parts = list(/obj/item/singularity_shard = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
always_available = FALSE
*/
24 changes: 20 additions & 4 deletions code/datums/components/crafting/tailoring.dm
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@
subcategory = CAT_EQUIPMENT

/datum/crafting_recipe/resinband
name = "Resin armband"
name = "Resin Armband"
result = /obj/item/clothing/accessory/resinband
time = 2 SECONDS
reqs = list(/obj/item/stack/sheet/ashresin = 3)
Expand Down Expand Up @@ -573,11 +573,18 @@
subcategory = CAT_EQUIPMENT

/datum/crafting_recipe/quiver
name = "Quiver"
name = "Leather Quiver"
result = /obj/item/storage/belt/quiver
time = 8 SECONDS
reqs = list(/obj/item/stack/sheet/leather = 3,
/obj/item/stack/sheet/sinew = 4)
reqs = list(/obj/item/stack/sheet/leather = 4)
category = CAT_APPAREL
subcategory = CAT_EQUIPMENT

/datum/crafting_recipe/chitinquiver
name = "Chitin Quiver"
result = /obj/item/storage/belt/quiver/weaver
time = 8 SECONDS
reqs = list(/obj/item/stack/sheet/animalhide/weaver_chitin = 4) //Just one spider!
category = CAT_APPAREL
subcategory = CAT_EQUIPMENT

Expand All @@ -589,3 +596,12 @@
/obj/item/stack/sheet/animalhide/goliath_hide = 1)
category = CAT_APPAREL
subcategory = CAT_EQUIPMENT

/datum/crafting_recipe/chitingloves
name = "Weaver Chitin Gloves"
result = /obj/item/clothing/gloves/fingerless/weaver
time = 2 SECONDS
reqs = list(/obj/item/stack/sheet/leather = 1,
/obj/item/stack/sheet/animalhide/weaver_chitin = 3) //Also just one spider!
category = CAT_APPAREL
subcategory = CAT_EQUIPMENT
Loading