From 4c13246d30805770ffd604e496bd2ef47fe8ce53 Mon Sep 17 00:00:00 2001 From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Date: Fri, 14 Oct 2022 02:28:07 -0400 Subject: [PATCH] Adds the u-ION silencer to rnd, replacing ecrossbow. Ecrossbow up to syndicate 5 (#19170) * Adds the u-ION silencer to rnd, replacing ecrossbow. Ecrossbow up to syndicate 5 * grammer / typeblock * 15 is not more than 15 * how did I miss this, I swear I put in 3 * path + crafting * Update code/modules/crafting/guncrafting.dm Co-authored-by: Farie82 Co-authored-by: Farie82 --- code/modules/crafting/guncrafting.dm | 5 +++++ code/modules/crafting/recipes.dm | 15 +++++++++++++++ code/modules/projectiles/ammunition/energy.dm | 7 +++++++ code/modules/projectiles/guns/energy/stun.dm | 10 ++++++++++ .../projectiles/guns/projectile/pistol.dm | 2 +- code/modules/projectiles/projectile/beams.dm | 12 ++++++++++++ code/modules/research/designs/weapon_designs.dm | 12 +++++++++++- sound/weapons/silencer_laser.ogg | Bin 0 -> 16361 bytes 8 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 sound/weapons/silencer_laser.ogg 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 0000000000000000000000000000000000000000..3426c3dbfc87fba7bac4cef0c256c970ee3c92e3 GIT binary patch literal 16361 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