From ee33e9c6a83dbd53a25845869e3ce256a4ce64c2 Mon Sep 17 00:00:00 2001 From: Rob Bailey Date: Thu, 7 Mar 2019 13:30:50 -0800 Subject: [PATCH] [READY] The war on stun based combat, Phase I: Fuck ranged stuns (#42930) Nukes the hybrid taser from orbit. Everywhere that spawned it now provides a disabler instead. Standard sec issue? Disabler. Armory? Disabler rack. Want something with more punch? Beg the warden for a shotgun or an energy gun. The hybrid taser itself has not been removed from the codebase. Also removes the stun from the advanced energy gun so it doesn't just become the late game secret powerhouse. Hoslaser keeps it, but only gets three shots instead of five. The ebow has been COMPLETELY RUINED as well. See the changelog for details I'm too lazy to copypaste. Why It's Good For The Game Fuck stun based combat. Sec still have their stunbatons, collapsible batons still exist, pepperspray still exists, flashbangs still exist. but now any fight involving sec or anyone who has robusted a sec officer will be less ranged instastun bullshittery. Changelog cl balance: New NT regulations have replaced the standard issue hybrid taser with a pure disabler. balance: Also fuck the stun mode on the advanced energy gun who thought that was a good idea. balance: The hos's laser can only fire three taser shots instead of five. balance: Energy crossbows have been reworked. They no longer paralyze, but instead heavily blur vision, apply a huge burst of stamina damage, and knock you on your ass for one second. Two shots is enough to down someone from stamina crit on both the mini and large versions. The blur lasts for 10 seconds. balance: The price of the mini ebow has been reduced to 10TC to compensate for this weaker effect. tweak: The ED-209 is now built with a DRAGnet and fires netshot instead of taser bolts. balance: Stunshells can no longer be produced in any lathe. balance: The "pacifier" mech taser can no longer be built. /cl --- _maps/RandomZLevels/spacebattle.dmm | 4 ++-- _maps/map_files/BoxStation/BoxStation.dmm | 6 ++--- .../map_files/Deltastation/DeltaStation2.dmm | 6 ++--- _maps/map_files/Donutstation/Donutstation.dmm | 6 ++--- _maps/map_files/MetaStation/MetaStation.dmm | 8 +++---- _maps/map_files/PubbyStation/PubbyStation.dmm | 6 ++--- code/game/objects/items/storage/backpack.dm | 6 ++--- code/modules/cargo/packs.dm | 9 -------- code/modules/crafting/recipes.dm | 2 +- .../jobs/job_types/security_officer.dm | 4 ++-- code/modules/jobs/job_types/warden.dm | 2 +- .../living/simple_animal/bot/construction.dm | 10 +++----- .../mob/living/simple_animal/bot/ed209bot.dm | 4 ++-- .../projectiles/ammunition/energy/laser.dm | 2 +- .../projectiles/ammunition/energy/stun.dm | 5 +++- .../projectiles/guns/energy/energy_gun.dm | 5 ++-- .../projectiles/projectile/energy/ebow.dm | 10 ++++---- .../modules/research/designs/mecha_designs.dm | 10 -------- code/modules/research/techweb/all_nodes.dm | 2 +- .../spells/spell_types/rightandwrong.dm | 3 ++- code/modules/uplink/uplink_items.dm | 23 +++++++------------ 21 files changed, 55 insertions(+), 78 deletions(-) diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index 8c9d91d6d04..d335f4f79c2 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -2472,7 +2472,7 @@ /area/awaymission/spacebattle/cruiser) "jt" = ( /obj/structure/rack, -/obj/item/gun/energy/e_gun/advtaser, +/obj/item/gun/energy/disabler, /turf/open/floor/engine, /area/awaymission/spacebattle/cruiser) "ju" = ( @@ -2543,7 +2543,7 @@ "jB" = ( /obj/structure/rack, /obj/structure/window/reinforced, -/obj/item/gun/energy/e_gun/advtaser, +/obj/item/gun/energy/disabler, /turf/open/floor/engine, /area/awaymission/spacebattle/cruiser) "jC" = ( diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 8649d93742f..93f2c1f03f0 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -1456,12 +1456,12 @@ /area/ai_monitored/security/armory) "adj" = ( /obj/structure/rack, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler{ pixel_x = -3; pixel_y = 3 }, -/obj/item/gun/energy/e_gun/advtaser, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ pixel_x = 3; pixel_y = -3 }, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 1b7ba7d820f..6bc427e4133 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -58469,12 +58469,12 @@ /area/ai_monitored/security/armory) "bVq" = ( /obj/structure/rack, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler{ pixel_x = -3; pixel_y = 3 }, -/obj/item/gun/energy/e_gun/advtaser, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ pixel_x = 3; pixel_y = -3 }, diff --git a/_maps/map_files/Donutstation/Donutstation.dmm b/_maps/map_files/Donutstation/Donutstation.dmm index 84382356397..b69516446ea 100644 --- a/_maps/map_files/Donutstation/Donutstation.dmm +++ b/_maps/map_files/Donutstation/Donutstation.dmm @@ -14235,12 +14235,12 @@ /area/ai_monitored/security/armory) "aEM" = ( /obj/structure/rack, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler{ pixel_x = -3; pixel_y = 3 }, -/obj/item/gun/energy/e_gun/advtaser, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ pixel_x = 3; pixel_y = -3 }, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 11546d788fe..f77ca45e026 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -3220,12 +3220,12 @@ /area/ai_monitored/security/armory) "agb" = ( /obj/structure/rack, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler{ pixel_x = -3; pixel_y = 3 }, -/obj/item/gun/energy/e_gun/advtaser, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ pixel_x = 3; pixel_y = -3 }, @@ -14974,7 +14974,7 @@ /obj/item/storage/backpack/duffelbag/syndie/hitman, /obj/item/card/id/silver/reaper, /obj/item/lazarus_injector, -/obj/item/gun/energy/e_gun/advtaser, +/obj/item/gun/energy/disabler, /obj/item/gun/ballistic/revolver/russian, /obj/item/ammo_box/a357, /obj/item/clothing/neck/stethoscope, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 708d749cae2..27df0e7af1a 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -3886,12 +3886,12 @@ /area/security/brig) "akL" = ( /obj/structure/rack, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler{ pixel_x = -3; pixel_y = 3 }, -/obj/item/gun/energy/e_gun/advtaser, -/obj/item/gun/energy/e_gun/advtaser{ +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ pixel_x = 3; pixel_y = -3 }, diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 58c9ae7f299..5f2fabfaf2e 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -492,7 +492,7 @@ /obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun/PopulateContents() for(var/i in 1 to 6) new /obj/item/ammo_box/magazine/m12g(src) - new /obj/item/ammo_box/magazine/m12g/stun(src) + new /obj/item/ammo_box/magazine/m12g/slug(src) new /obj/item/ammo_box/magazine/m12g/slug(src) new /obj/item/ammo_box/magazine/m12g/dragon(src) @@ -516,9 +516,9 @@ desc = "A large duffel bag containing a Bulldog, some drums, and a pair of thermal imaging glasses." /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle/PopulateContents() - new /obj/item/ammo_box/magazine/m12g(src) new /obj/item/gun/ballistic/shotgun/bulldog(src) - new /obj/item/ammo_box/magazine/m12g/stun(src) + new /obj/item/ammo_box/magazine/m12g(src) + new /obj/item/ammo_box/magazine/m12g(src) new /obj/item/clothing/glasses/thermal/syndi(src) /obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 37c8d59a42d..e84900a4f46 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -363,15 +363,6 @@ /obj/item/melee/baton/loaded) crate_name = "stun baton crate" -/datum/supply_pack/security/taser - name = "Taser Crate" - desc = "From the depths of stunbased combat, this order rises above, supreme. Contains three hybrid tasers, capable of firing both electrodes and disabling shots. Requires Security access to open." - cost = 3000 - contains = list(/obj/item/gun/energy/e_gun/advtaser, - /obj/item/gun/energy/e_gun/advtaser, - /obj/item/gun/energy/e_gun/advtaser) - crate_name = "taser crate" - /datum/supply_pack/security/wall_flash name = "Wall-Mounted Flash Crate" desc = "Contains four wall-mounted flashes. Requires Security access to open." diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index ed61f3c8086..024db9f0797 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -142,7 +142,7 @@ /obj/item/bodypart/r_leg/robot = 1, /obj/item/stack/sheet/metal = 1, /obj/item/stack/cable_coil = 1, - /obj/item/gun/energy/e_gun/advtaser = 1, + /obj/item/gun/energy/disabler = 1, /obj/item/stock_parts/cell = 1, /obj/item/assembly/prox_sensor = 1) tools = list(TOOL_WELDER, TOOL_SCREWDRIVER) diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index e5d7d93ced9..4f20932c420 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S shoes = /obj/item/clothing/shoes/jackboots l_pocket = /obj/item/restraints/handcuffs r_pocket = /obj/item/assembly/flash/handheld - suit_store = /obj/item/gun/energy/e_gun/advtaser + suit_store = /obj/item/gun/energy/disabler backpack_contents = list(/obj/item/melee/baton/loaded=1) backpack = /obj/item/storage/backpack/security @@ -131,7 +131,7 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S implants = list(/obj/item/implant/mindshield) - chameleon_extras = list(/obj/item/gun/energy/e_gun/advtaser, /obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/head/helmet) + chameleon_extras = list(/obj/item/gun/energy/disabler, /obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/head/helmet) //The helmet is necessary because /obj/item/clothing/head/helmet/sec is overwritten in the chameleon list by the standard helmet, which has the same name and icon state diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index 306ba0c2828..7d952b4ffae 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -41,7 +41,7 @@ glasses = /obj/item/clothing/glasses/hud/security/sunglasses r_pocket = /obj/item/assembly/flash/handheld l_pocket = /obj/item/restraints/handcuffs - suit_store = /obj/item/gun/energy/e_gun/advtaser + suit_store = /obj/item/gun/energy/disabler backpack_contents = list(/obj/item/melee/baton/loaded=1) backpack = /obj/item/storage/backpack/security diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 2f3ccca0ce1..9fc83576988 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -155,25 +155,21 @@ build_step++ if(7) - var/newname = "" switch(lasercolor) if("b") if(!istype(W, /obj/item/gun/energy/laser/bluetag)) return - newname = "bluetag ED-209 assembly" if("r") if(!istype(W, /obj/item/gun/energy/laser/redtag)) return - newname = "redtag ED-209 assembly" if("") - if(!istype(W, /obj/item/gun/energy/e_gun/advtaser)) + if(!istype(W, /obj/item/gun/energy/e_gun/dragnet)) return - newname = "taser ED-209 assembly" else return if(!user.temporarilyRemoveItemFromInventory(W)) return - name = newname + name = "[W.name] ED-209 assembly" to_chat(user, "You add [W] to [src].") item_state = "[lasercolor]ed209_taser" icon_state = "[lasercolor]ed209_taser" @@ -185,7 +181,7 @@ to_chat(user, "You start attaching the gun to the frame...") if(W.use_tool(src, user, 40, volume=100)) name = "armed [name]" - to_chat(user, "Taser gun attached.") + to_chat(user, "The gun is now securely fastened to the frame.") build_step++ if(9) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 007b705585d..cae4cfc0f26 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -427,8 +427,8 @@ Auto Patrol[]"}, projectile = /obj/item/projectile/beam else if(!lasercolor) - shoot_sound = 'sound/weapons/taser.ogg' - projectile = /obj/item/projectile/energy/electrode + shoot_sound = 'sound/weapons/laser.ogg' + projectile = /obj/item/projectile/energy/net else if(lasercolor == "b") projectile = /obj/item/projectile/beam/lasertag/bluetag else if(lasercolor == "r") diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index 089c79effd4..47455e9754f 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -13,7 +13,7 @@ select_name = "kill" /obj/item/ammo_casing/energy/laser/hos - e_cost = 100 + e_cost = 120 /obj/item/ammo_casing/energy/laser/practice projectile_type = /obj/item/projectile/beam/practice diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index 9b24571d127..1b4f0b9b519 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -13,7 +13,7 @@ e_cost = 100 /obj/item/ammo_casing/energy/electrode/hos - e_cost = 200 + e_cost = 400 /obj/item/ammo_casing/energy/electrode/old e_cost = 1000 @@ -24,3 +24,6 @@ e_cost = 50 fire_sound = 'sound/weapons/taser2.ogg' harmful = FALSE + +/obj/item/ammo_casing/energy/disabler/hos + e_cost = 60 diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 46d8b3a514c..6242f11e2ec 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -53,9 +53,10 @@ /obj/item/gun/energy/e_gun/hos name = "\improper X-01 MultiPhase Energy Gun" desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." + cell_type = /obj/item/stock_parts/cell{charge = 1200; maxcharge = 1200} icon_state = "hoslaser" force = 10 - ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler) + ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler/hos) ammo_x_offset = 4 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -97,7 +98,7 @@ pin = null can_charge = FALSE ammo_x_offset = 1 - ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler) + ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler) selfcharge = 1 var/reactor_overloaded var/fail_tick = 0 diff --git a/code/modules/projectiles/projectile/energy/ebow.dm b/code/modules/projectiles/projectile/energy/ebow.dm index 640d4d11976..78943f66316 100644 --- a/code/modules/projectiles/projectile/energy/ebow.dm +++ b/code/modules/projectiles/projectile/energy/ebow.dm @@ -1,15 +1,17 @@ /obj/item/projectile/energy/bolt //ebow bolts name = "bolt" icon_state = "cbbolt" - damage = 8 + damage = 15 damage_type = TOX nodamage = 0 - paralyze = 100 - stutter = 5 + stamina = 50 + eyeblur = 10 + knockdown = 10 + slur = 5 /obj/item/projectile/energy/bolt/halloween name = "candy corn" icon_state = "candy_corn" /obj/item/projectile/energy/bolt/large - damage = 20 + damage = 40 diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 12ec54a00ec..d5432cd68c6 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -337,16 +337,6 @@ construction_time = 100 category = list("Exosuit Equipment") -/datum/design/mech_taser - name = "Exosuit Weapon (PBT \"Pacifier\" Mounted Taser)" - desc = "A weapon for combat exosuits. Shoots non-lethal stunning electrodes." - id = "mech_taser" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser - materials = list(MAT_METAL=10000) - construction_time = 100 - category = list("Exosuit Equipment") - /datum/design/mech_lmg name = "Exosuit Weapon (\"Ultra AC 2\" LMG)" desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 712c1299714..da9f1d34044 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -582,7 +582,7 @@ display_name = "Electric Weapons" description = "Weapons using electric technology" prereq_ids = list("weaponry", "adv_power" , "emp_basic") - design_ids = list("stunrevolver", "stunshell", "ioncarbine") + design_ids = list("stunrevolver", "ioncarbine") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm index c257f2a8fd4..25848a5d590 100644 --- a/code/modules/spells/spell_types/rightandwrong.dm +++ b/code/modules/spells/spell_types/rightandwrong.dm @@ -4,8 +4,9 @@ #define SPECIALIST_MAGIC_PROB 2 GLOBAL_LIST_INIT(summoned_guns, list( - /obj/item/gun/energy/e_gun/advtaser, + /obj/item/gun/energy/disabler, /obj/item/gun/energy/e_gun, + /obj/item/gun/energy/e_gun/advtaser, /obj/item/gun/energy/laser, /obj/item/gun/ballistic/revolver, /obj/item/gun/ballistic/revolver/detective, diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index d73dab4eb60..b032388b5e2 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -128,7 +128,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/bundles_TC/bulldog name = "Bulldog bundle" desc = "Lean and mean: Optimized for people that want to get up close and personal. Contains the popular \ - Bulldog shotgun, a 12g buckshot drum, a 12g taser slug drum and a pair of Thermal imaging goggles." + Bulldog shotgun, two 12g buckshot drums, and a pair of Thermal imaging goggles." item = /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle cost = 13 // normally 16 include_modes = list(/datum/game_mode/nuclear) @@ -542,14 +542,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/stealthy_weapons/crossbow name = "Miniature Energy Crossbow" - desc = "A short bow mounted across a tiller in miniature. Small enough to \ - fit into a pocket or slip into a bag unnoticed. It will synthesize \ - and fire bolts tipped with a paralyzing toxin that will briefly stun \ - targets and cause them to slur as if inebriated. It can produce an \ - infinite number of bolts, but takes time to automatically recharge \ - after each shot." + desc = "A short bow mounted across a tiller in miniature. \ + Small enough to fit into a pocket or slip into a bag unnoticed. \ + It will synthesize and fire bolts tipped with a debilitating \ + toxin that will damage and disorient targets, causing them to \ + slur as if inebriated. It can produce an infinite number \ + of bolts, but takes time to automatically recharge after each shot." item = /obj/item/gun/energy/kinetic_accelerator/crossbow - cost = 12 + cost = 10 surplus = 50 exclude_modes = list(/datum/game_mode/nuclear) @@ -668,13 +668,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 3 item = /obj/item/ammo_box/magazine/m12g/slug -/datum/uplink_item/ammo/shotgun/stun - name = "12g Stun Slug Drum" - desc = "An alternative 8-round stun slug magazine for use with the Bulldog shotgun. \ - Saying that they're completely non-lethal would be lying." - item = /obj/item/ammo_box/magazine/m12g/stun - include_modes = list(/datum/game_mode/nuclear) - /datum/uplink_item/ammo/revolver name = ".357 Speed Loader" desc = "A speed loader that contains seven additional .357 Magnum rounds; usable with the Syndicate revolver. \