mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
Adds a new bow that penetrates armor to cargo and security voucher + nonlethal arrows (#5390)
## About The Pull Request Title. Introduces a new bow and 2 new arrows: The hardlight bow, and the blunt/taser arrows. You can acquire these items via a new primary security voucher. This kit gives you one bow, one quiver with 9 blunt and 1 taser, a hatchet, and a book that teaches you how to build these arrows. **You do not gain the ability to craft lethal arrows roundstart. You have to order the book from cargo.** You can also order a kit of 2 quivers and 2 bows from cargo. The quivers have a mix of lethal and nonlethal arrows. They cost a little less than a crate of 3 laser guns, so this is generally a suboptimal choice. ## The bow Like all bows, it is bulky, and fits only in suit storage. Unlike other bows, it is not weak against armor, and can cause wounds. It is a hardlight bow - its string is made out of energy. You can obtain this bow via a voucher or cargo. The bow itself is also an appreciable weapon, doing 11 blunt damage (this is prone to change on review - this was inherited from the base bow). ## The arrows ### Blunt The blunt arrow is the simplest arrow. 35 stamina, 5 brute, 3 hits to down. Craftable the same way a normal arrow is. Reusable. Causes dislocations if fired in close quarters. ### Taser You only spawn with one taser arrow roundstart. 5 stamina guaranteed, 40 and knockdown if the target isnt electrically insulated. Not reusable. Craftable like a normal arrow, but with a igniter, cable, and a cell. **This recipe is prone to change on review, as I feel it might be a bit easy to make for its power, but I dont know what to add to make it truely expensive.** Both of these arrows can only be crafted if you have the fletching book, or an arrow to convert. This PR also locks bronze arrows to ashies and hearthkin exclusively, as they are too powerful for their ease of crafting. Upgrading your arrows to bone should take time and effort. ## Why It's Good For The Game Well, A, I have a character that does bowsec, and as it stands, its kinda useless. The arrows are too weak and fail on all armor. Bronze arrows do THREE DAMAGE on a redsuit. THREE. B., it adds a fairly unique way to play ranged security. Bows just - function differently. You have to load each arrow manually, pick up your dropped arrows, and deal with a relatively choked quiver (if you want to deal with the quiver at all). You also have to craft your own arrows, seek out another fletching book for lethal arrows... its a more involved playstyle if you really want to go full bowman. C. Flavor. Some characters. like my own, prefer more... traditional methods of dealing with people. Bows, spears, cudgels, clubs. I should note, this kit will be somewhat underpowered in actual combat. Running around, trying to load your bow while under fire, is very difficult, especially because the disabler generally has a higher DPS anyway. I do think thats fine, as it is more of a sidegrade in the same way the pepperball is, but if maintainers request, I could possibly increase the damage this bow deals or some variation to make it worth using. ## Proof Of Testing <details> <summary>Screenshots/Videos</summary> <img width="1879" height="526" alt="image" src="https://github.com/user-attachments/assets/91ab9832-cc2d-4355-ad85-654611c8c66d" /> https://github.com/user-attachments/assets/d2697261-2b13-4f4e-9288-4a1a2fe1d134 </details> ## Changelog 🆑 add: A new security voucher - the archery kit, that gives you a bow that penetrates armor and causes wounds, as well as some less-lethal arrows add: An armory cargo order with two powerful bows and quivers with lethal and nonlethal arrows add: Two new less-lethal arrows craftable via the fletching book and blacksmithing balance: Bronze arrows can now only be crafted by ashies and hearthkin /🆑
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
desc = "A how-to guide to crafting and maintaining wooden bows, fletching arrows, and... making violins?"
|
||||
crafting_recipe_types = list(
|
||||
/datum/crafting_recipe/arrow,
|
||||
/datum/crafting_recipe/blunted_arrow,// BUBBER EDIT ADDITION - Nonlethal arrows
|
||||
/datum/crafting_recipe/taser_arrow,// BUBBER EDIT ADDITION - Nonlethal arrows
|
||||
/datum/crafting_recipe/plastic_arrow,
|
||||
/datum/crafting_recipe/shortbow,
|
||||
/datum/crafting_recipe/holy_arrow,
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
ADD_TRAIT(spawned_human, TRAIT_NOBREATH, ROUNDSTART_TRAIT)
|
||||
ADD_TRAIT(spawned_human, TRAIT_RESISTCOLD, ROUNDSTART_TRAIT)
|
||||
|
||||
spawned_human.mind?.teach_crafting_recipe(/datum/crafting_recipe/bronze_arrow)
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/pirate/silverscale/special(mob/living/carbon/human/spawned_human)
|
||||
. = ..()
|
||||
spawned_human.grant_language(/datum/language/common, source = LANGUAGE_SPAWNER)
|
||||
|
||||
@@ -77,6 +77,13 @@
|
||||
to_chat(user, span_warning("It'd be weird if there were multiple of you in that cave, wouldn't it?"))
|
||||
return FALSE
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl/special(mob/living/spawned_mob, mob/mob_possessor, apply_prefs)
|
||||
. = ..()
|
||||
|
||||
if (ishuman(spawned_mob))
|
||||
var/mob/living/carbon/human/human_spawned = spawned_mob
|
||||
human_spawned.mind?.teach_crafting_recipe(/datum/crafting_recipe/bronze_arrow)
|
||||
|
||||
// This stuff is put on equip because it turns out /special sometimes just don't get called because skyrat
|
||||
/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl/equip(mob/living/carbon/human/spawned_human)
|
||||
. = ..()
|
||||
|
||||
@@ -43,8 +43,13 @@
|
||||
/obj/item/gun/ballistic/shotgun/riot/sol,
|
||||
/obj/item/gun/ballistic/shotgun/riot/sol,
|
||||
/obj/item/gun/ballistic/shotgun/riot/sol,
|
||||
/obj/item/gun/ballistic/bow/security,
|
||||
)
|
||||
|
||||
/obj/effect/spawner/armory_spawn/shotguns/Initialize(mapload)
|
||||
. = ..()
|
||||
new /obj/item/storage/bag/quiver/lesser/security/armory(loc)
|
||||
|
||||
/obj/structure/closet/ammunitionlocker/useful/PopulateContents()
|
||||
new /obj/item/storage/box/rubbershot(src)
|
||||
new /obj/item/storage/box/rubbershot(src)
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
)
|
||||
category = CAT_WEAPON_AMMO
|
||||
non_craftable = TRUE
|
||||
crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED
|
||||
steps = list("Reinforce the arrowhead with bronze.")
|
||||
|
||||
/datum/crafting_recipe/goliathshield
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
spawn_all_loot = TRUE
|
||||
/obj/effect/spawner/random/armory/shotgun
|
||||
loot = list(
|
||||
/obj/item/gun/ballistic/shotgun/riot
|
||||
/obj/item/gun/ballistic/shotgun/riot,
|
||||
)
|
||||
spawn_loot_count = 3
|
||||
|
||||
|
||||
@@ -12,7 +12,12 @@
|
||||
wound_bonus = CANT_WOUND
|
||||
range = 16
|
||||
embed_type = /datum/embedding/arrow
|
||||
var/tribal_damage_bonus = 20 //If you're an icemoon dweller, or an ashwalker.
|
||||
/// If you're an icemoon dweller, or an ashwalker, you gain this on top of being more effective against armor.
|
||||
var/tribal_damage_bonus = 20
|
||||
/// Does this arrow benefit from being a tribal?
|
||||
var/gets_tribal_bonus = TRUE
|
||||
/// If TRUE, this arrow will not obtain any benefits from being used by tribals or from a powerful bow.
|
||||
var/already_effective = FALSE
|
||||
faction_bonus_force = 10 //Bonus force dealt against certain factions
|
||||
nemesis_paths = list(
|
||||
/mob/living/simple_animal/hostile/asteroid,
|
||||
@@ -20,17 +25,45 @@
|
||||
/mob/living/basic/wumborian_fugu,
|
||||
)
|
||||
|
||||
/obj/item/gun/ballistic/bow
|
||||
/// If this bow counts as being effectively used, which makes arrows not weak to armor and enables wounding.
|
||||
var/effective = FALSE
|
||||
|
||||
/obj/item/gun/ballistic/bow/divine
|
||||
effective = TRUE
|
||||
|
||||
/obj/projectile/bullet/arrow/prehit_pierce(mob/living/target)
|
||||
if (already_effective)
|
||||
return ..()
|
||||
|
||||
var/mob/living/carbon/human/user = firer
|
||||
if(isnull(target))
|
||||
return ..()
|
||||
|
||||
if(istype(user?.mind?.assigned_role, /datum/job/ash_walker) || istype(user?.mind?.assigned_role, /datum/job/primitive_catgirl))
|
||||
var/effective_usage = FALSE
|
||||
|
||||
if(!isnull(fired_from) && istype(fired_from, /obj/item/gun/ballistic/bow))
|
||||
var/obj/item/gun/ballistic/bow/bow = fired_from
|
||||
if (bow.effective)
|
||||
effective_usage = TRUE
|
||||
if(gets_tribal_bonus && istype(user?.mind?.assigned_role, /datum/job/ash_walker) || istype(user?.mind?.assigned_role, /datum/job/primitive_catgirl))
|
||||
damage += tribal_damage_bonus
|
||||
effective_usage = TRUE
|
||||
|
||||
if(effective_usage)
|
||||
weak_against_armour = FALSE
|
||||
if (wound_bonus <= CANT_WOUND)
|
||||
wound_bonus = -10
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/projectile/bullet/arrow/poison
|
||||
damage = 20
|
||||
|
||||
/obj/projectile/bullet/arrow/sticky
|
||||
damage = 3 // decrease from 30 - makes it less lethal on initial impact and awful to tear out
|
||||
stamina = 30
|
||||
|
||||
/obj/projectile/bullet/arrow/holy
|
||||
damage = 25 // Increase from 20
|
||||
embed_type = /datum/embedding/arrow
|
||||
@@ -54,3 +87,6 @@
|
||||
wound_bonus = CANT_WOUND
|
||||
faction_bonus_force = 90
|
||||
embed_type = /datum/embedding/arrow
|
||||
|
||||
/obj/projectile/bullet/arrow/plastic
|
||||
already_effective = TRUE
|
||||
|
||||
@@ -125,3 +125,54 @@
|
||||
/obj/item/ammo_box/magazine/recharge/ntusp,
|
||||
/obj/item/ammo_box/magazine/recharge/ntusp)
|
||||
crate_name = "nt-usp crate"
|
||||
|
||||
/datum/supply_pack/security/armory/archery_kit
|
||||
name = "Archery Crate"
|
||||
desc = "Two hardlight bows capable of defeating armor, alongside a mix of lethal and non/less-than-lethal arrows."
|
||||
cost = CARGO_CRATE_VALUE * 6
|
||||
contains = list(
|
||||
/obj/item/gun/ballistic/bow/security,
|
||||
/obj/item/gun/ballistic/bow/security,
|
||||
/obj/item/storage/bag/quiver/lesser/security/armory,
|
||||
/obj/item/storage/bag/quiver/lesser/security/armory,
|
||||
)
|
||||
|
||||
/obj/item/storage/bag/quiver/lesser/security/armory
|
||||
|
||||
/obj/item/storage/bag/quiver/lesser/security/armory/PopulateContents()
|
||||
var/static/items_inside = list(
|
||||
/obj/item/ammo_casing/arrow/blunt = 3,
|
||||
/obj/item/ammo_casing/arrow = 6,
|
||||
/obj/item/ammo_casing/arrow/taser = 1
|
||||
)
|
||||
|
||||
generate_items_inside(items_inside, src)
|
||||
|
||||
/datum/supply_pack/security/armory/lethal_arrows
|
||||
name = "Arrow Crate"
|
||||
desc = "Two quivers containing nine normal arrows and one randomly selected specialty arrow."
|
||||
cost = CARGO_CRATE_VALUE * 3
|
||||
contains = list(
|
||||
/obj/item/storage/bag/quiver/lesser/security/lethal,
|
||||
/obj/item/storage/bag/quiver/lesser/security/lethal
|
||||
)
|
||||
|
||||
/obj/item/storage/bag/quiver/lesser/security/lethal
|
||||
|
||||
/obj/item/storage/bag/quiver/lesser/security/lethal/PopulateContents()
|
||||
var/static/list/static_items = list(
|
||||
/obj/item/ammo_casing/arrow = 9
|
||||
)
|
||||
/// Typepath -> Weight
|
||||
var/static/list/bonus_items = list(
|
||||
/obj/item/ammo_casing/arrow/sticky = 10,
|
||||
/obj/item/ammo_casing/arrow/poison = 10,
|
||||
/obj/item/ammo_casing/arrow/plastic = 6,
|
||||
/obj/item/ammo_casing/arrow/bronze = 1,
|
||||
/obj/item/ammo_casing/arrow/taser = 1,
|
||||
)
|
||||
|
||||
var/list/obj/item/ammo_casing/arrow/to_spawn = static_items.Copy()
|
||||
to_spawn[pick_weight(bonus_items)] = 1
|
||||
|
||||
generate_items_inside(to_spawn, src)
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
/datum/crafting_recipe/blunted_arrow
|
||||
name = "Arrow (Less-lethal)"
|
||||
result = /obj/item/ammo_casing/arrow/blunt
|
||||
reqs = list(
|
||||
/obj/item/stack/sheet/mineral/wood = 1,
|
||||
/obj/item/stack/sheet/cloth = 1,
|
||||
/obj/item/stack/sheet/iron = 1,
|
||||
)
|
||||
tool_paths = list(
|
||||
/obj/item/hatchet,
|
||||
)
|
||||
category = CAT_WEAPON_AMMO
|
||||
crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED
|
||||
|
||||
/datum/crafting_recipe/blunted_arrow_conversion
|
||||
name = "Blunt Arrow Conversion"
|
||||
result = /obj/item/ammo_casing/arrow/blunt
|
||||
reqs = list(
|
||||
/obj/item/ammo_casing/arrow = 1,
|
||||
)
|
||||
tool_behaviors = list(TOOL_SAW)
|
||||
category = CAT_WEAPON_AMMO
|
||||
non_craftable = TRUE
|
||||
steps = list("Smooth the arrowhead with the saw.")
|
||||
|
||||
/datum/crafting_recipe/taser_arrow
|
||||
name = "Arrow (Electric, Non-lethal)"
|
||||
result = /obj/item/ammo_casing/arrow/taser
|
||||
reqs = list(
|
||||
/obj/item/stack/sheet/mineral/wood = 1,
|
||||
/obj/item/stack/sheet/cloth = 1,
|
||||
/obj/item/stack/sheet/iron = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/assembly/igniter = 1,
|
||||
/obj/item/stock_parts/power_store/cell = 1,
|
||||
)
|
||||
tool_paths = list(
|
||||
/obj/item/hatchet,
|
||||
)
|
||||
category = CAT_WEAPON_AMMO
|
||||
crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED
|
||||
|
||||
/datum/crafting_recipe/taser_arrow_conversion
|
||||
name = "Taser Arrow Conversion"
|
||||
result = /obj/item/ammo_casing/arrow/taser
|
||||
reqs = list(
|
||||
/obj/item/ammo_casing/arrow = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/assembly/igniter = 1,
|
||||
/obj/item/stock_parts/power_store/cell = 1,
|
||||
)
|
||||
blacklist = list(
|
||||
/obj/item/ammo_casing/arrow/taser
|
||||
)
|
||||
time = 1 SECONDS
|
||||
tool_behaviors = list(TOOL_SAW)
|
||||
category = CAT_WEAPON_AMMO
|
||||
|
||||
/obj/item/ammo_casing/arrow/blunt
|
||||
name = "blunt arrow"
|
||||
desc = "An arrow with its head reduced to a blunt tip. Suitable for breaking bones and subduing targets without excessive physical damage. Staggers targets on impact."
|
||||
icon = 'modular_zubbers/icons/obj/weapons/guns/arrows.dmi'
|
||||
icon_state = "blunt_arrow"
|
||||
projectile_type = /obj/projectile/bullet/arrow/blunt
|
||||
|
||||
/obj/projectile/bullet/arrow/blunt
|
||||
name = "blunt arrow"
|
||||
desc = "A blunted arrow."
|
||||
damage = 5 // ow
|
||||
stamina = 40 // its okay
|
||||
wound_bonus = 35 // will sometimes cause dislocations at close range
|
||||
gets_tribal_bonus = FALSE // technically a modern arrow + meant to be less lethal
|
||||
embed_type = null
|
||||
sharpness = NONE
|
||||
|
||||
/obj/projectile/bullet/arrow/blunt/on_hit(atom/target, blocked, pierce_hit)
|
||||
. = ..()
|
||||
|
||||
if (pierce_hit)
|
||||
return
|
||||
if (. == BULLET_ACT_BLOCK || blocked >= 100 || !isliving(target))
|
||||
return
|
||||
|
||||
var/mob/living/living_target = target
|
||||
var/percent_blocked = blocked / 100
|
||||
|
||||
living_target.adjust_staggered_up_to(STAGGERED_SLOWDOWN_LENGTH * (1 - percent_blocked), 10 SECONDS) // it hits really hard
|
||||
|
||||
/obj/item/ammo_casing/arrow/taser
|
||||
name = "taser arrow"
|
||||
desc = "An arrow, the head removed, replaced with an igniter, and hooked up to a power cell. Negligible damage, but capable of delivering a terrible electric shock.\n\
|
||||
Likely to break apart on impact. Ineffective against those insulated against electricity."
|
||||
icon = 'modular_zubbers/icons/obj/weapons/guns/arrows.dmi'
|
||||
icon_state = "taser_arrow"
|
||||
reusable = FALSE
|
||||
projectile_type = /obj/projectile/bullet/arrow/taser
|
||||
harmful = FALSE
|
||||
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 2.2, /datum/material/wood = SHEET_MATERIAL_AMOUNT, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 1.1)
|
||||
|
||||
/obj/projectile/bullet/arrow/taser
|
||||
name = "taser arrow"
|
||||
desc = "A jury-rigged taser arrow, capable of delivering a terrible electric shock, and not much else."
|
||||
icon = 'modular_zubbers/icons/obj/weapons/guns/arrows.dmi'
|
||||
icon_state = "taser_arrow_projectile"
|
||||
damage = 0 // lol
|
||||
stamina = 5
|
||||
/// Staimna damage to be dealt by the shock. Separate from stamina - insulated individuals might be immune to the shock.
|
||||
var/shock_damage = 50 //stamcrit in two but any armor at all reduces it to three
|
||||
gets_tribal_bonus = FALSE // technically a modern arrow + meant to be less lethal
|
||||
embed_type = null
|
||||
sharpness = NONE
|
||||
|
||||
/obj/projectile/bullet/arrow/taser/on_hit(atom/target, blocked, pierce_hit)
|
||||
. = ..()
|
||||
|
||||
if (pierce_hit)
|
||||
return
|
||||
do_sparks(3, TRUE, src)
|
||||
if (. == BULLET_ACT_BLOCK || blocked >= 100 || !isliving(target))
|
||||
return
|
||||
var/mob/living/living_target = target
|
||||
living_target.electrocute_act(shock_damage, src, 1, SHOCK_ILLUSION|SHOCK_SUPPRESS_MESSAGE|SHOCK_NOGLOVES|SHOCK_KNOCKDOWN) // illusion so it doesnt do damage
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
/obj/item/gun/ballistic/bow/security
|
||||
name = "hardlight bow"
|
||||
desc = "A classic shortbow design, upgraded with carbon fiber structure and a hardlight bowstring. Elegant to use, though undeniably still a bit antiquated. \
|
||||
Offers heightened armor penetration and wounding potential than the older variants."
|
||||
effective = TRUE
|
||||
icon = 'modular_zubbers/icons/obj/weapons/guns/bow.dmi'
|
||||
icon_state = "hardlightbow"
|
||||
inhand_icon_state = "bow_hardlight"
|
||||
base_icon_state = "hardlightbow"
|
||||
@@ -66,6 +66,42 @@
|
||||
/obj/item/shield/riot/flash,
|
||||
)
|
||||
|
||||
/datum/voucher_set/security/primary/archery
|
||||
name = "Archery Kit"
|
||||
description = "A powerful bow, a training manual, and a quiver with non/less-than-lethal arrows. You will still need to order the fletching kit from cargo if you want to make lethal arrows."
|
||||
icon = 'icons/obj/weapons/bows/bows.dmi'
|
||||
icon_state = "hardlightbow"
|
||||
set_items = list(
|
||||
/obj/item/gun/ballistic/bow/security,
|
||||
/obj/item/storage/bag/quiver/lesser/security,
|
||||
/obj/item/book/granter/crafting_recipe/fletching/nonlethal,
|
||||
/obj/item/hatchet,
|
||||
)
|
||||
|
||||
/obj/item/storage/bag/quiver/lesser/security
|
||||
name = "security quiver"
|
||||
desc = "A lightweight, low-capacity quiver capable of being folded into pockets, but nothing else."
|
||||
slot_flags = ITEM_SLOT_LPOCKET|ITEM_SLOT_RPOCKET|ITEM_SLOT_BELT
|
||||
|
||||
/obj/item/storage/bag/quiver/lesser/security/PopulateContents()
|
||||
var/static/items_inside = list(
|
||||
/obj/item/ammo_casing/arrow/blunt = 7,
|
||||
/obj/item/ammo_casing/arrow/taser = 3
|
||||
)
|
||||
|
||||
generate_items_inside(items_inside, src)
|
||||
|
||||
/obj/item/book/granter/crafting_recipe/fletching/nonlethal
|
||||
name = "Aim for the knees, not the eyes!"
|
||||
desc = "A manual on how to construct sub-lethal bows & arrows, how best to use them... and how to construct violins?"
|
||||
crafting_recipe_types = list(
|
||||
/datum/crafting_recipe/shortbow,
|
||||
/datum/crafting_recipe/blunted_arrow,
|
||||
/datum/crafting_recipe/taser_arrow,
|
||||
/datum/crafting_recipe/violin,
|
||||
)
|
||||
uses = 1
|
||||
|
||||
/datum/voucher_set/security/primary/nt_usp
|
||||
name = "NT-USP Pistol"
|
||||
description = "A small pistol that uses hardlight technology to synthesize bullets. Due to its low power, it doesn't have much use besides tiring out criminals."
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
@@ -9794,12 +9794,14 @@
|
||||
#include "modular_zubbers\code\modules\primitive_catgirls\code\spawner.dm"
|
||||
#include "modular_zubbers\code\modules\privacy_policy\privacy_policy.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\beams.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\ammunition\ballistic\arrows.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\ammunition\ballistic\pistol.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\ammunition\ballistic\rifle.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\ammunition\ballistic\smg.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\boxes_magazines\external\pistol.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\boxes_magazines\external\smg.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\guns\ballistic\automatic.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\guns\ballistic\bow.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\guns\ballistic\pistol.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\guns\ballistic\rifle.dm"
|
||||
#include "modular_zubbers\code\modules\projectiles\guns\energy\pulse.dm"
|
||||
|
||||
Reference in New Issue
Block a user