diff --git a/code/modules/crafting/guncrafting.dm b/code/modules/crafting/guncrafting.dm index 5fad0c8c2e9..d905ba9dbc5 100644 --- a/code/modules/crafting/guncrafting.dm +++ b/code/modules/crafting/guncrafting.dm @@ -75,6 +75,11 @@ desc = "A suitcase containing the necessary gun parts to transform a standard laser gun into a plasma pistol. Wort, wort, wort!" origin_tech = "combat=4;magnets=4;powerstorage=3" +/obj/item/weaponcrafting/gunkit/u_ionsilencer + name = "\improper u-ion silencer parts kit" + desc = "A suitcase containing the necessary gun parts to transform a standard disabler into a silenced and lethal disabling weapon. Look officer, he has no wounds from me!" + origin_tech = "combat=6;magnets=6;syndicate=2" + // CRAFTING // /obj/item/weaponcrafting/receiver/attackby(obj/item/W as obj, mob/user as mob, params) diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index fd2d1376afc..fb0fa2bc2a9 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -218,6 +218,21 @@ ..() blacklist += subtypesof(/obj/item/gun/energy/laser) +/datum/crafting_recipe/silencer + name = "u-ION Silencer" + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + result = list(/obj/item/gun/energy/disabler/silencer) + reqs = list(/obj/item/gun/energy/disabler = 1, + /obj/item/stack/cable_coil = 5, + /obj/item/weaponcrafting/gunkit/u_ionsilencer = 1) + time = 20 SECONDS + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/silencer/New() + ..() + blacklist += subtypesof(/obj/item/gun/energy/disabler) + /datum/crafting_recipe/ed209 name = "ED209" result = list(/mob/living/simple_animal/bot/ed209) diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index e8c2bf7ef55..59ad131d7b0 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -329,3 +329,10 @@ projectile_type = /obj/item/projectile/beam/laser/detective/overcharged e_cost = 200 select_name = "overcharged" + +/obj/item/ammo_casing/energy/silencer_ammo + projectile_type = /obj/item/projectile/beam/silencer + muzzle_flash_effect = null + select_name = "silencing dissidents" + e_cost = 62.5 // 16 shots + fire_sound = 'sound/weapons/silencer_laser.ogg' diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 4574adffe8f..b4dd58b5532 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -67,3 +67,13 @@ /obj/item/gun/energy/disabler/cyborg/newshot() ..() robocharge() + +/obj/item/gun/energy/disabler/silencer + name = "u-ION Silencer" + desc = "Nanotrasen's take on silenced weapons. A quiet lethal disabler, designed to make the death look like a natural cause." + icon_state = "tesla" + item_state = "tesla" + origin_tech = "combat=6;syndicate=2" + shaded_charge = TRUE + ammo_type = list(/obj/item/ammo_casing/energy/silencer_ammo) + suppressed = TRUE diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 26a31280d85..de3bf1208c1 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -4,7 +4,7 @@ desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." icon_state = "pistol" w_class = WEIGHT_CLASS_SMALL - origin_tech = "combat=3;materials=2;syndicate=4" + origin_tech = "combat=3;materials=2;syndicate=3" can_holster = TRUE mag_type = /obj/item/ammo_box/magazine/m10mm fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index fd68ac2f895..f56dd922f70 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -227,3 +227,15 @@ to_chat(firer, "Weapon Alert: unable to generate warrant on [target]!") return to_chat(firer, "Weapon Alert: unable to track [target]!") + +/obj/item/projectile/beam/silencer + name = "energy beam" //Keep it vague? It's not a laser, but it's silenced, does a person know what it is? + icon_state = "omnilaser" + stamina = 30 + damage = 15 + damage_type = OXY + flag = "energy" + hitsound = 'sound/weapons/tap.ogg' + eyeblur = 0 + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser + light_color = LIGHT_COLOR_CYAN diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index a1061f539b6..dbad421683a 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -26,7 +26,7 @@ name = "Energy Crossbow Parts Kit" desc = "A kit to reverse-engineer a laser gun into an energy crossbow, favored by syndicate infiltration teams and carp hunters." id = "largecrossbow" - req_tech = list("combat" = 5, "engineering" = 3, "magnets" = 5, "syndicate" = 3) + req_tech = list("combat" = 5, "engineering" = 3, "magnets" = 5, "syndicate" = 5) build_type = PROTOLATHE materials = list(MAT_METAL = 5000, MAT_GLASS = 1500, MAT_URANIUM = 1500, MAT_SILVER = 1500) build_path = /obj/item/weaponcrafting/gunkit/ebow @@ -270,3 +270,13 @@ materials = list(MAT_METAL = 10000, MAT_GLASS = 5000, MAT_SILVER = 4000, MAT_TITANIUM = 4000, MAT_PLASMA = 8000) build_path = /obj/item/clothing/gloves/color/black/pyro_claws category = list("Weapons") + +/datum/design/silencer + name = "u-ION Silencer Parts Kit" + desc = "Nanotrasens take on silenced weapons. A quiet lethal disabler, designed to make the death look like a natural cause." + id = "silencer" + req_tech = list("combat" = 7, "magnets" = 6, "syndicate" = 3) + build_type = PROTOLATHE + materials = list(MAT_GOLD = 5000, MAT_URANIUM = 4000, MAT_METAL = 5000, MAT_TITANIUM = 2000, MAT_BLUESPACE = 2000) + build_path = /obj/item/weaponcrafting/gunkit/u_ionsilencer + category = list("Weapons") diff --git a/sound/weapons/silencer_laser.ogg b/sound/weapons/silencer_laser.ogg new file mode 100644 index 00000000000..3426c3dbfc8 Binary files /dev/null and b/sound/weapons/silencer_laser.ogg differ