diff --git a/_maps/shuttles/roumain/srm_vagrant.dmm b/_maps/shuttles/roumain/srm_vagrant.dmm index 343bd805fa84..ff8680689328 100644 --- a/_maps/shuttles/roumain/srm_vagrant.dmm +++ b/_maps/shuttles/roumain/srm_vagrant.dmm @@ -446,11 +446,6 @@ /obj/structure/closet/secure_closet/collignes, /obj/item/clothing/suit/armor/roumain/colligne, /obj/item/clothing/head/cowboy/sec/roumain/colligne, -/obj/item/ammo_box/c38, -/obj/item/ammo_box/c38, -/obj/item/storage/box/ammo/c38, -/obj/item/gun/ballistic/revolver/detective, -/obj/item/storage/backpack/satchel/leather, /obj/item/gps{ pixel_x = -7 }, @@ -2561,23 +2556,14 @@ /turf/open/floor/wood/walnut, /area/ship/crew/cryo) "RH" = ( -/obj/structure/rack, -/obj/machinery/door/window/brigdoor/westleft, -/obj/item/ammo_box/magazine/illestren_a850r{ - pixel_x = -2; - pixel_y = -8 - }, -/obj/item/ammo_box/magazine/illestren_a850r{ - pixel_x = 5; - pixel_y = -3 - }, /obj/effect/turf_decal/siding/brown{ dir = 8 }, -/obj/item/storage/toolbox/ammo/shotgun, -/obj/item/storage/box/ammo/a8_50r, -/obj/item/storage/box/ammo/a12g_slug, -/obj/item/storage/box/ammo/a8_50r/match, +/obj/structure/table/wood, +/obj/item/storage/bag/quiver, +/obj/item/storage/bag/quiver, +/obj/item/storage/bag/quiver, +/obj/item/storage/bag/quiver, /turf/open/floor/wood/walnut, /area/ship/security) "Ss" = ( @@ -2821,19 +2807,14 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "VO" = ( -/obj/machinery/door/window/brigdoor/westright, -/obj/structure/guncloset{ - anchored = 1 - }, -/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration, -/obj/item/gun/ballistic/rifle/illestren/factory{ - pixel_x = -4; - pixel_y = -5 - }, /obj/effect/turf_decal/siding/brown{ dir = 8 }, -/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration, +/obj/structure/table/wood, +/obj/item/gun/ballistic/bow, +/obj/item/gun/ballistic/bow, +/obj/item/gun/ballistic/bow, +/obj/item/gun/ballistic/bow, /turf/open/floor/wood/walnut, /area/ship/security) "Wg" = ( diff --git a/code/datums/components/crafting/guncrafting.dm b/code/datums/components/crafting/guncrafting.dm index c26b81bc41eb..e900348c1751 100644 --- a/code/datums/components/crafting/guncrafting.dm +++ b/code/datums/components/crafting/guncrafting.dm @@ -20,3 +20,9 @@ desc = "A long piece of Silk that looks like a cable coil." icon = 'icons/obj/improvised.dmi' icon_state = "silkstring" + +/obj/item/weaponcrafting/clothstring + name = "cloth string" + desc = "A long piece of cloth that looks like a cable coil." + icon = 'icons/obj/improvised.dmi' + icon_state = "silkstring" diff --git a/code/datums/components/crafting/recipes/weapon.dm b/code/datums/components/crafting/recipes/weapon.dm index 1f0151054e08..9fa53d4d9af3 100644 --- a/code/datums/components/crafting/recipes/weapon.dm +++ b/code/datums/components/crafting/recipes/weapon.dm @@ -196,6 +196,17 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON + + +/datum/crafting_recipe/longbow + name = "Long Bow" + result = /obj/item/gun/ballistic/bow + reqs = list(/obj/item/stack/sheet/mineral/wood = 2, + /obj/item/weaponcrafting/clothstring = 1) + time = 100 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + /*/datum/crafting_recipe/pipebow name = "Pipe Bow" result = /obj/item/gun/ballistic/bow/pipe diff --git a/code/game/objects/items/bowandarrow/arrow_crafting.dm b/code/game/objects/items/bowandarrow/arrow_crafting.dm new file mode 100644 index 000000000000..b038cd918c4a --- /dev/null +++ b/code/game/objects/items/bowandarrow/arrow_crafting.dm @@ -0,0 +1,189 @@ +/// ARROW CRAFTING ~ + +/// the stickthing that we're using as a base that everything will be slapped onto +/obj/item/arrow_shaft + name = "arrow shaft" + desc = "A long and sturdy piece of wood with notches at both ends. \ + Just add a head and some hay, and you've got yourself a DIY arrow!" + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_shaft" + /// our arrow head type + var/obj/item/stack/arrowhead/the_head + /// Does it have hay on it? + var/has_hay = TRUE // it does + /// The result arrow + var/obj/item/ammo_casing/caseless/arrow/the_arrow + +/obj/item/arrow_shaft/Initialize() + . = ..() + update_icon() // so the hay shows up + +/obj/item/arrow_shaft/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/stack/arrowhead) && attach_arrowhead(W, user)) + return + //if(istype(W, /obj/item/stack/sheet/hay) && attach_hay(W, user)) + // return + . = ..() + +/obj/item/arrow_shaft/attack_hand(mob/user, act_intent, attackchain_flags) + if(ispath(the_head, /obj/item/stack/arrowhead)) + remove_arrowhead(user) + return + //if(has_hay) + // remove_hay(user) + // return + . = ..() + +/obj/item/arrow_shaft/proc/attach_arrowhead(obj/item/stack/arrowhead/a_head, mob/user) + if(!istype(a_head)) + return FALSE + if(the_head || the_arrow) + return FALSE + if(!a_head.use(1)) + user.show_message(span_alert("You need at least one arrow head!")) + return FALSE + the_head = a_head.type + the_arrow = a_head.result_arrow + user.show_message(span_notice("You tie \the [a_head] to the head of the shaft.")) + update_icon() + check_constructed(user) + +/obj/item/arrow_shaft/proc/remove_arrowhead(mob/user) + if(!ispath(the_head, /obj/item/stack/arrowhead)) + return FALSE + var/obj/item/stack/arrowhead/new_head = new(get_turf(src)) + user.put_in_hands(new_head) + the_head = null + the_arrow = null + user.show_message(span_notice("You pull the head off the shaft.")) + update_icon() + check_constructed(user) + +/obj/item/arrow_shaft/proc/check_constructed(mob/user) + if(!ispath(the_head, /obj/item/stack/arrowhead)) + return FALSE + else if(!ispath(initial(the_head.result_arrow), /obj/item/ammo_casing/caseless/arrow)) + remove_arrowhead(user) + return FALSE + if(!has_hay) + return FALSE + finish_construction(user) + return TRUE + +/obj/item/arrow_shaft/proc/finish_construction(mob/user) + var/obj/item/ammo_casing/caseless/arrow/make_this_arrow = new the_arrow(get_turf(user)) + if(ismob(user)) + user.visible_message(span_notice("[user] makes \a [make_this_arrow]!")) + user.put_in_hands(make_this_arrow) // Try to put it in your hand + qdel(src) + +/obj/item/arrow_shaft/update_overlays() + . = ..() + if(ispath(the_head, /obj/item/stack/arrowhead)) + . += mutable_appearance(initial(the_head.icon), "[initial(the_head.icon_state)]_overlay") + if(has_hay) + . += mutable_appearance(icon, "arrow_fletching") + + +/// The arrow heads, use these on the shaft to stick them on the shaft, ezpz +/obj/item/stack/arrowhead + name = "arrow heads" + singular_name = "arrow head" + desc = "A standard vanilla arrowhead." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_arrow" + merge_type = /obj/item/stack/arrowhead + max_amount = 40 + /// The head defines the resulting arrow + var/obj/item/ammo_casing/caseless/arrow/result_arrow = /obj/item/ammo_casing/caseless/arrow + +/obj/item/stack/arrowhead/field + name = "field arrow heads" + singular_name = "field arrow head" + desc = "A thin, sharpened piece of metal, filed down to an aerodynamic point." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_field" + merge_type = /obj/item/stack/arrowhead/field + result_arrow = /obj/item/ammo_casing/caseless/arrow/field + +/obj/item/stack/arrowhead/bone + name = "bone arrow heads" + singular_name = "bone arrow head" + desc = "A sharpened 'animal' bone, filed down to an aerodynamic point." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_bone" + merge_type = /obj/item/stack/arrowhead/bone + result_arrow = /obj/item/ammo_casing/caseless/arrow/bone + +/obj/item/stack/arrowhead/flint + name = "flint arrow heads" + singular_name = "flint arrow head" + desc = "A sharpened piece of flint, filed down to an aerodynamic point." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_flint" + merge_type = /obj/item/stack/arrowhead/flint + result_arrow = /obj/item/ammo_casing/caseless/arrow/flint + +/*/obj/item/stack/arrowhead/glass + name = "glass arrow heads" + singular_name = "glass arrow head" + desc = "A sharpened piece of glass, filed down to an aerodynamic point." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_glass" + merge_type = /obj/item/stack/arrowhead/glass + result_arrow = /obj/item/ammo_casing/caseless/arrow/glass*/ + +/*/obj/item/stack/arrowhead/broadhead + name = "broadhead arrow tips" + singular_name = "broadhead arrow tip" + desc = "An extra-sharp arrowhead made for slicing up exposed flesh." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_broadhead" + merge_type = /obj/item/stack/arrowhead/broadhead + result_arrow = /obj/item/ammo_casing/caseless/arrow/broadhead*/ + +/obj/item/stack/arrowhead/bodkin + name = "bodkin arrow tips" + singular_name = "bodkin arrow tip" + desc = "An extra-pointy arrowhead made for penetrating armor." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_bodkin" + merge_type = /obj/item/stack/arrowhead/bodkin + result_arrow = /obj/item/ammo_casing/caseless/arrow/bodkin + +/*/obj/item/stack/arrowhead/explosive + name = "explosive arrow heads" + singular_name = "explosive arrow head" + desc = "A sack of explosives, ready to rearrange someone's guts all over the road." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_explosive" + merge_type = /obj/item/stack/arrowhead/explosive + result_arrow = /obj/item/ammo_casing/caseless/arrow/explosive + +/obj/item/stack/arrowhead/ion + name = "ion arrow heads" + singular_name = "ion arrow head" + desc = "A clump of charged electronic chunks, ready to let out all manner of electrical nonsense on whatever it hits." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_ion" + merge_type = /obj/item/stack/arrowhead/ion + result_arrow = /obj/item/ammo_casing/caseless/arrow/ion + +/obj/item/stack/arrowhead/split + name = "split arrow heads" + singular_name = "split arrow head" + desc = "A clump of arrows loosely bound with string, spreads out after shooting." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_splitarrow" + merge_type = /obj/item/stack/arrowhead/split + result_arrow = /obj/item/ammo_casing/caseless/arrow/split + +/obj/item/stack/arrowhead/bludgeon + name = "bludgeoning arrow heads" + singular_name = "bludgeoning arrow head" + desc = "A blunt sack, ready to gently paff someone from across the road." + icon = 'icons/obj/arrow_crafting.dmi' + icon_state = "arrow_head_bludgeon" + merge_type = /obj/item/stack/arrowhead/bludgeon + result_arrow = /obj/item/ammo_casing/caseless/arrow/bludgeon +*/ diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 2992a6d81970..77aed4d475a1 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -129,6 +129,8 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \ new/datum/stack_recipe("leather jacket", /obj/item/clothing/suit/jacket/leather, 7), \ new/datum/stack_recipe("leather shoes", /obj/item/clothing/shoes/laceup, 2), \ new/datum/stack_recipe("saddle", /obj/item/saddle, 5), \ + new/datum/stack_recipe("quiver", /obj/item/storage/bag/quiver, 2), \ + )) /obj/item/stack/sheet/leather/get_main_recipes() diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 6701569352ef..b2dbcec0fe85 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -26,7 +26,8 @@ Mineral Sheets GLOBAL_LIST_INIT(sandstone_recipes, list ( \ new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = 0, on_floor = 1) \ + new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = 0, on_floor = 1), \ + new/datum/stack_recipe("flint arrowhead", /obj/item/stack/arrowhead/flint, 1, 1, 25, time = 2.5 SECONDS) \ )) /obj/item/stack/sheet/mineral/sandstone diff --git a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm index d8db71aa5b49..8b1e6080ee3b 100644 --- a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm +++ b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm @@ -250,5 +250,10 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("chest press", /obj/structure/weightmachine/stacklifter, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bench press", /obj/structure/weightmachine/weightlifter, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ )), \ - new/datum/stack_recipe("shower", /obj/machinery/shower, 3, time = 25) + new/datum/stack_recipe("shower", /obj/machinery/shower, 3, time = 25), + new/datum/stack_recipe_list("Arrow heads", list( \ + new/datum/stack_recipe("regular arrowhead", /obj/item/stack/arrowhead, 2, 1, 25, time = 2.5 SECONDS), \ + /* TODO: THIS THING /new/datum/stack_recipe("bludgeoning arrowhead", /obj/item/stack/arrowhead/bludgeon, 1, 1, 25, time = 1 SECONDS), \*/ + new/datum/stack_recipe("field arrowhead", /obj/item/stack/arrowhead/field, 1, 1, 25, time = 1 SECONDS) \ + ))\ )) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 0f730ab7b7b0..ab10ee70029e 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -155,8 +155,9 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ null, \ new/datum/stack_recipe("wooden railing", /obj/structure/railing/wood, 3, time = 18, window_checks = TRUE), \ new/datum/stack_recipe("wooden railing corner", /obj/structure/railing/corner/wood, 1, time = 10, window_checks = TRUE), \ - new /datum/stack_recipe("wooden computer frame", /obj/structure/frame/computer/solgov, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("wooden computer frame", /obj/structure/frame/computer/solgov, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("planter box", /obj/machinery/hydroponics/wooden, 5, time = 8 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("arrow shaft", /obj/item/arrow_shaft, 1, time = 0.5 SECONDS), \ )) /obj/item/stack/sheet/mineral/wood @@ -265,6 +266,8 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ new/datum/stack_recipe("23x19 canvas", /obj/item/canvas/twentythreeXnineteen, 4), \ new/datum/stack_recipe("23x23 canvas", /obj/item/canvas/twentythreeXtwentythree, 5), \ new/datum/stack_recipe("punching bag", /obj/structure/punching_bag, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ + null, \ + new/datum/stack_recipe("cloth string", /obj/item/weaponcrafting/clothstring, 1), \ )) /obj/item/stack/sheet/cotton/cloth @@ -512,7 +515,9 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ GLOBAL_LIST_INIT(bone_recipes, list( \ new /datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar/bone, 3), \ - new /datum/stack_recipe("bone dagger", /obj/item/melee/knife/bone, 2))) + new /datum/stack_recipe("bone dagger", /obj/item/melee/knife/bone, 2),\ + new /datum/stack_recipe("bone arrowhead", /obj/item/stack/arrowhead/bone, 1, 1, 25, time = 2 SECONDS)\ + )) /obj/item/stack/sheet/bone name = "bones" diff --git a/code/modules/projectiles/ammunition/caseless/arrow.dm b/code/modules/projectiles/ammunition/caseless/arrow.dm index 114a18452095..11cbe477a65b 100644 --- a/code/modules/projectiles/ammunition/caseless/arrow.dm +++ b/code/modules/projectiles/ammunition/caseless/arrow.dm @@ -1,7 +1,8 @@ /obj/item/ammo_casing/caseless/arrow name = "arrow" - desc = "An arrow made of... something. It's hella sharp." + desc = "a simple arrow with a metal head." projectile_type = /obj/projectile/bullet/reusable/arrow + icon = 'icons/obj/arrow_crafting.dmi' caliber = "arrow" icon_state = "arrow" throwforce = 3 //good luck hitting someone with the pointy end of the arrow @@ -9,8 +10,33 @@ firing_effect_type = null flags_1 = NONE heavy_metal = FALSE + w_class = WEIGHT_CLASS_SMALL -/obj/item/ammo_casing/caseless/arrow/wood +/obj/item/ammo_casing/caseless/arrow/field + name = "field arrow" + desc = "Used primarily for small game and target practice, the tip is very narrow." + projectile_type = /obj/projectile/bullet/reusable/arrow/field + icon_state = "fieldarrow" + +/obj/item/ammo_casing/caseless/arrow/bone + name = "bone arrow" + desc = "A primitive arrow with a head made of knapped bone." + projectile_type = /obj/projectile/bullet/reusable/arrow/bone + icon_state = "bone" + +/obj/item/ammo_casing/caseless/arrow/flint + name = "flint arrow" + desc = "a primitive arrow with a head made of knapped flint." + projectile_type = /obj/projectile/bullet/reusable/arrow/flint + icon_state = "flint" + +/obj/item/ammo_casing/caseless/arrow/bodkin + name = "bodkin arrow" + desc = "Armor-piercing arrows." + projectile_type = /obj/projectile/bullet/reusable/arrow/bodkin + icon_state = "bodkin" + +/*/obj/item/ammo_casing/caseless/arrow/wood name = "wooden arrow" desc = "An arrow made of wood, typically fired from a bow." projectile_type = /obj/projectile/bullet/reusable/arrow/wood @@ -31,4 +57,4 @@ name = "bronze arrow" desc = "An arrow made from wood. tipped with bronze." icon_state = "bronzearrow" - projectile_type = /obj/projectile/bullet/reusable/arrow/bronze + projectile_type = /obj/projectile/bullet/reusable/arrow/bronze*/ diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index aee792acb130..60acd37719ca 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -7,7 +7,7 @@ spawn_blacklisted = TRUE load_sound = null fire_sound = 'sound/weapons/bowfire.ogg' - slot_flags = ITEM_SLOT_BACK + slot_flags = ITEM_SLOT_BACK || ITEM_SLOT_SUITSTORE default_ammo_type = /obj/item/ammo_box/magazine/internal/bow allowed_ammo_types = list( /obj/item/ammo_box/magazine/internal/bow, @@ -47,7 +47,8 @@ to_chat(user, "You can't shoot without drawing the bow.") return drawn = FALSE - . = ..() //fires, removing the arrow + . = ..() //fires, removing the arrow <-- DOESN'T REMOVE ARROW!!!!! WHY DO I HAVE TO FIXIT + magazine.stored_ammo.Cut() update_appearance() /obj/item/gun/ballistic/bow/shoot_with_empty_chamber(mob/living/user) @@ -71,9 +72,9 @@ /obj/item/storage/bag/quiver/Initialize(mapload) . = ..() var/datum/component/storage/storage = GetComponent(/datum/component/storage) - storage.max_w_class = WEIGHT_CLASS_TINY + storage.max_w_class = WEIGHT_CLASS_SMALL storage.max_items = 40 - storage.max_combined_w_class = 100 + storage.max_combined_w_class = 200 storage.set_holdable(list( /obj/item/ammo_casing/caseless/arrow )) diff --git a/code/modules/projectiles/projectile/reusable/arrow.dm b/code/modules/projectiles/projectile/reusable/arrow.dm index de0e58d92192..8d046aafdbaf 100644 --- a/code/modules/projectiles/projectile/reusable/arrow.dm +++ b/code/modules/projectiles/projectile/reusable/arrow.dm @@ -6,7 +6,30 @@ icon_state = "arrow" ammo_type = /obj/item/ammo_casing/caseless/arrow -/obj/projectile/bullet/reusable/arrow/wood +/obj/projectile/bullet/reusable/arrow/field + name = "Field Arrow" + damage = 20 + ammo_type = /obj/item/ammo_casing/caseless/arrow/field + +/obj/projectile/bullet/reusable/arrow/bone + name = "Bone Arrow" + armour_penetration = 20 + ammo_type = /obj/item/ammo_casing/caseless/arrow/bone + +/obj/projectile/bullet/reusable/arrow/flint + name = "Flint Arrow" + desc = "a primitive arrow with a head made of knapped flint." + ammo_type = /obj/item/ammo_casing/caseless/arrow/flint + +/obj/projectile/bullet/reusable/arrow/bodkin + name = "Bodkin Arrow" + desc = "Armor-piercing arrows." + damage = 40 + armour_penetration = 20 + ammo_type = /obj/item/ammo_casing/caseless/arrow/bodkin + + +/*/obj/projectile/bullet/reusable/arrow/wood name = "Wooden arrow" damage = 15 ammo_type = /obj/item/ammo_casing/caseless/arrow/wood @@ -30,3 +53,4 @@ damage = 20 armour_penetration = 10 ammo_type = /obj/item/ammo_casing/caseless/arrow/bronze +*/ diff --git a/icons/obj/arrow_crafting.dmi b/icons/obj/arrow_crafting.dmi new file mode 100644 index 000000000000..de1ed98f9173 Binary files /dev/null and b/icons/obj/arrow_crafting.dmi differ diff --git a/shiptest.dme b/shiptest.dme index c433bf197914..ae63d5bb48fd 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1418,6 +1418,7 @@ #include "code\game\objects\items\attachments\gun_attachments\flamethrower.dm" #include "code\game\objects\items\attachments\gun_attachments\flaregun.dm" #include "code\game\objects\items\attachments\gun_attachments\riot_launcher.dm" +#include "code\game\objects\items\bowandarrow\arrow_crafting.dm" #include "code\game\objects\items\circuitboards\circuitboard.dm" #include "code\game\objects\items\circuitboards\computer_circuitboards.dm" #include "code\game\objects\items\circuitboards\machine_circuitboards.dm"