diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index 9b0e7b713f0..8b83d00431c 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -94537,12 +94537,12 @@
/area/engine/supermatter)
"hTk" = (
/obj/structure/rack,
-/obj/item/gun/energy/gun/advtaser{
+/obj/item/gun/energy/disabler{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/gun/energy/gun/advtaser,
-/obj/item/gun/energy/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 ce9bba6d8ad..99a70cb1379 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -3238,12 +3238,12 @@
})
"aiM" = (
/obj/structure/rack,
-/obj/item/gun/energy/gun/advtaser{
+/obj/item/gun/energy/disabler{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/gun/energy/gun/advtaser,
-/obj/item/gun/energy/gun/advtaser{
+/obj/item/gun/energy/disabler,
+/obj/item/gun/energy/disabler{
pixel_x = 3;
pixel_y = -3
},
diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm
index 6e777650165..ec46d5de244 100644
--- a/_maps/map_files/RandomZLevels/academy.dmm
+++ b/_maps/map_files/RandomZLevels/academy.dmm
@@ -3487,7 +3487,6 @@
"jx" = (
/obj/structure/table,
/obj/structure/window/reinforced,
-/obj/item/batterer,
/turf/simulated/floor/plasteel/airless{
dir = 4;
icon_state = "whitered"
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 5462a05cd80..c811cece0d9 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -2881,12 +2881,12 @@
"ajr" = (
/obj/structure/rack,
/obj/structure/window/reinforced,
-/obj/item/gun/energy/gun/advtaser{
+/obj/item/gun/energy/disabler{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/gun/energy/gun/advtaser,
-/obj/item/gun/energy/gun/advtaser{
+/obj/item/gun/energy/disabler,
+/obj/item/gun/energy/disabler{
pixel_x = 3;
pixel_y = -3
},
diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm
index d7bf2abfaa2..ebf9675df67 100644
--- a/_maps/map_files/generic/centcomm.dmm
+++ b/_maps/map_files/generic/centcomm.dmm
@@ -4044,9 +4044,9 @@
/area/shuttle/gamma/space)
"oC" = (
/obj/structure/closet/secure_closet/guncabinet,
-/obj/item/gun/energy/sniperrifle,
-/obj/item/gun/energy/sniperrifle,
-/obj/item/gun/energy/sniperrifle,
+/obj/item/gun/energy/ionrifle,
+/obj/item/gun/energy/ionrifle,
+/obj/item/gun/energy/ionrifle,
/obj/machinery/light/spot{
dir = 4
},
diff --git a/_maps/map_files/shuttles/admin_armory.dmm b/_maps/map_files/shuttles/admin_armory.dmm
index 766ce3e588c..2b9f33d03c8 100644
--- a/_maps/map_files/shuttles/admin_armory.dmm
+++ b/_maps/map_files/shuttles/admin_armory.dmm
@@ -786,11 +786,11 @@
/area/shuttle/administration)
"PV" = (
/obj/structure/rack,
-/obj/item/gun/energy/sniperrifle{
+/obj/item/gun/energy/ionrifle{
pixel_y = -4
},
-/obj/item/gun/energy/sniperrifle,
-/obj/item/gun/energy/sniperrifle{
+/obj/item/gun/energy/ionrifle,
+/obj/item/gun/energy/ionrifle{
pixel_y = 3
},
/obj/structure/window/reinforced{
@@ -882,11 +882,11 @@
/obj/structure/window/reinforced{
dir = 8
},
-/obj/item/gun/energy/gun/advtaser{
+/obj/item/gun/energy/disabler{
pixel_x = 3;
pixel_y = -3
},
-/obj/item/gun/energy/gun/advtaser,
+/obj/item/gun/energy/disabler,
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/administration)
"WV" = (
diff --git a/code/datums/spells/mime.dm b/code/datums/spells/mime.dm
index 79c4e796aa1..2ef54e6076f 100644
--- a/code/datums/spells/mime.dm
+++ b/code/datums/spells/mime.dm
@@ -93,11 +93,11 @@
/obj/effect/proc_holder/spell/targeted/mime/fingergun
name = "Finger Gun"
- desc = "Shoot stunning, invisible bullets out of your fingers! 6 bullets available per cast. Use your fingers to holster them manually."
+ desc = "Shoot stunning, invisible bullets out of your fingers! 3 bullets available per cast. Use your fingers to holster them manually."
school = "mime"
panel = "Mime"
clothes_req = 0
- charge_max = 600
+ charge_max = 300
range = -1
include_user = 1
human_req = 1
@@ -117,7 +117,7 @@
revert_cast(user)
/obj/effect/proc_holder/spell/targeted/mime/fingergun/fake
- desc = "Pretend you're shooting bullets out of your fingers! 6 bullets available per cast. Use your fingers to holster them manually."
+ desc = "Pretend you're shooting bullets out of your fingers! 3 bullets available per cast. Use your fingers to holster them manually."
gun = /obj/item/gun/projectile/revolver/fingergun/fake
// Mime Spellbooks
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 6548c6f9200..c15b615fe0b 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -272,14 +272,6 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
cost = 15
containername = "laser crate"
-/datum/supply_packs/security/taser
- name = "Stun Guns Crate"
- contains = list(/obj/item/gun/energy/gun/advtaser,
- /obj/item/gun/energy/gun/advtaser,
- /obj/item/gun/energy/gun/advtaser)
- cost = 15
- containername = "stun gun crate"
-
/datum/supply_packs/security/disabler
name = "Disabler Crate"
contains = list(/obj/item/gun/energy/disabler,
@@ -507,7 +499,7 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
/obj/item/reagent_containers/spray/pepper,
/obj/item/flash,
/obj/item/grenade/flashbang,
- /obj/item/storage/belt/security/sec,
+ /obj/item/storage/belt/security,
/obj/item/holosign_creator/security,
/obj/item/clothing/mask/gas/sechailer,
/obj/item/clothing/glasses/hud/security/sunglasses,
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index 65dbf0bf594..174fa3741f0 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -561,13 +561,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/twohanded/chainsaw
cost = 13
-/datum/uplink_item/dangerous/batterer
- name = "Mind Batterer"
- desc = "A device that has a chance of knocking down people around you for a long amount of time. 50% chance per person. The user is unaffected. Has 5 charges."
- reference = "BTR"
- item = /obj/item/batterer
- cost = 5
-
// SUPPORT AND MECHAS
/datum/uplink_item/support
@@ -708,12 +701,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
-/datum/uplink_item/ammo/bullstun
- name = "Bulldog - 12g Stun Slug Magazine"
- desc = "An alternative 8-round stun slug magazine for use in the Bulldog shotgun. Saying that they're completely non-lethal would be lying."
- reference = "12SS"
- item = /obj/item/ammo_box/magazine/m12g/stun
- cost = 3
+/datum/uplink_item/ammo/bullmeteor
+ name = "12g Meteorslug Shells"
+ desc = "An alternative 8-round meteorslug magazine for use in the Bulldog shotgun. Great for blasting airlocks off their frames and knocking down enemies."
+ reference = "12MS"
+ item = /obj/item/ammo_box/magazine/m12g/meteor
+ cost = 2
gamemodes = list(/datum/game_mode/nuclear)
/datum/uplink_item/ammo/bulldragon
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 407a932c3b8..ca3c7f379f0 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -80,7 +80,7 @@
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
id = /obj/item/card/id/security
l_pocket = /obj/item/flash
- suit_store = /obj/item/gun/energy/gun/advtaser
+ suit_store = /obj/item/gun/energy/disabler
pda = /obj/item/pda/warden
backpack_contents = list(
/obj/item/restraints/handcuffs = 1
@@ -180,7 +180,7 @@
l_ear = /obj/item/radio/headset/headset_sec/alt
id = /obj/item/card/id/security
l_pocket = /obj/item/flash
- suit_store = /obj/item/gun/energy/gun/advtaser
+ suit_store = /obj/item/gun/energy/disabler
pda = /obj/item/pda/security
backpack_contents = list(
/obj/item/restraints/handcuffs = 1
diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm
index 0898936cbfb..abb9ebc6848 100644
--- a/code/game/mecha/combat/gygax.dm
+++ b/code/game/mecha/combat/gygax.dm
@@ -28,7 +28,7 @@
/obj/mecha/combat/gygax/loaded/New()
..()
- var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
+ var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/disabler
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang
ME.attach(src)
diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index f5a2c003929..71a422899e6 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -77,12 +77,14 @@
fire_sound = 'sound/weapons/laser.ogg'
harmful = TRUE
-/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/disabler
- name = "\improper CH-PD Disabler"
- origin_tech = "combat=3"
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/disabler
+ equip_cooldown = 8
+ name = "\improper CH-DS \"Peacemaker\" disabler"
+ desc = "A weapon for combat exosuits. Shoots basic disablers."
+ icon_state = "mecha_disabler"
+ energy_drain = 30
projectile = /obj/item/projectile/beam/disabler
- projectiles_per_shot = 2
- projectile_delay = 1
+ fire_sound = 'sound/weapons/taser2.ogg'
harmful = FALSE
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
diff --git a/code/game/objects/effects/spawners/random_spawners.dm b/code/game/objects/effects/spawners/random_spawners.dm
index 803d4294110..1d680e6a02b 100644
--- a/code/game/objects/effects/spawners/random_spawners.dm
+++ b/code/game/objects/effects/spawners/random_spawners.dm
@@ -267,7 +267,6 @@
/obj/item/ammo_box/magazine/m10mm/hp = 1,
/obj/item/rad_laser = 1,
/obj/item/storage/box/syndie_kit/emp = 1,
- /obj/item/batterer = 1,
/obj/item/toy/carpplushie/dehy_carp = 1,
/obj/item/clothing/glasses/hud/security/chameleon = 1)
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 0fcd8d524a7..587212a96c1 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -1,65 +1,3 @@
-/*
-
-Miscellaneous traitor devices
-
-BATTERER
-
-
-*/
-
-/*
-
-The Batterer, like a flashbang but 50% chance to knock people over. Can be either very
-effective or pretty fucking useless.
-
-*/
-
-/obj/item/batterer
- name = "mind batterer"
- desc = "A strange device with twin antennas."
- icon = 'icons/obj/device.dmi'
- icon_state = "batterer"
- throwforce = 5
- w_class = WEIGHT_CLASS_TINY
- throw_speed = 4
- throw_range = 10
- flags = CONDUCT
- item_state = "electronic"
- origin_tech = "magnets=3;combat=3;syndicate=3"
-
- var/times_used = 0 //Number of times it's been used.
- var/max_uses = 5
-
-/obj/item/batterer/examine(mob/user)
- . = ..()
- if(times_used >= max_uses)
- . += "[src] is out of charge."
- if(times_used < max_uses)
- . += "[src] has [max_uses-times_used] charges left."
-
-/obj/item/batterer/attack_self(mob/living/carbon/user, flag = 0, emp = 0)
- if(!user)
- return
- if(times_used >= max_uses)
- to_chat(user, "The mind batterer has been burnt out!")
- return
-
-
- for(var/mob/living/carbon/human/M in oview(7, user))
- if(prob(50))
- M.Weaken(rand(4,7))
- add_attack_logs(user, M, "Stunned with [src]")
- to_chat(M, "You feel a tremendous, paralyzing wave flood your mind.")
- else
- to_chat(M, "You feel a sudden, electric jolt travel through your head.")
-
- playsound(loc, 'sound/misc/interference.ogg', 50, 1)
- times_used++
- to_chat(user, "You trigger [src]. It has [max_uses-times_used] charges left.")
- if(times_used >= max_uses)
- icon_state = "battererburnt"
-
-
/*
The radioactive microlaser, a device disguised as a health analyzer used to irradiate people.
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 27ce01bca9e..0ee753df992 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -233,8 +233,12 @@
/obj/item/restraints/legcuffs/bola,
/obj/item/clothing/mask/gas/sechailer)
-/obj/item/storage/belt/security/sec/populate_contents()
- new /obj/item/flashlight/seclite(src)
+/obj/item/storage/belt/security/full/populate_contents()
+ new /obj/item/reagent_containers/spray/pepper(src)
+ new /obj/item/restraints/handcuffs(src)
+ new /obj/item/grenade/flashbang(src)
+ new /obj/item/flash(src)
+ new /obj/item/melee/baton/loaded(src)
update_icon()
/obj/item/storage/belt/security/response_team/populate_contents()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index d68fbb3c7f4..271923037d0 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -103,8 +103,7 @@
new /obj/item/storage/box/flashbangs(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/shield/riot/tele(src)
- new /obj/item/melee/baton/loaded(src)
- new /obj/item/storage/belt/security/sec(src)
+ new /obj/item/storage/belt/security/full(src)
new /obj/item/gun/energy/gun/hos(src)
new /obj/item/door_remote/head_of_security(src)
new /obj/item/reagent_containers/food/drinks/mug/hos(src)
@@ -137,10 +136,8 @@
new /obj/item/clothing/mask/gas/sechailer/warden(src)
new /obj/item/storage/box/zipties(src)
new /obj/item/storage/box/flashbangs(src)
- new /obj/item/reagent_containers/spray/pepper(src)
- new /obj/item/melee/baton/loaded(src)
- new /obj/item/gun/energy/gun/advtaser(src)
- new /obj/item/storage/belt/security/sec(src)
+ new /obj/item/storage/belt/security/full(src)
+ new /obj/item/flashlight/seclite(src)
new /obj/item/storage/box/holobadge(src)
new /obj/item/clothing/gloves/color/black/krav_maga/sec(src)
@@ -159,15 +156,11 @@
new /obj/item/clothing/suit/armor/vest/security(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/head/soft/sec(src)
- new /obj/item/reagent_containers/spray/pepper(src)
- new /obj/item/flash(src)
- new /obj/item/grenade/flashbang(src)
- new /obj/item/storage/belt/security/sec(src)
+ new /obj/item/storage/belt/security/full(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/head/helmet(src)
- new /obj/item/melee/baton/loaded(src)
new /obj/item/clothing/suit/armor/secjacket(src)
@@ -207,11 +200,7 @@
new /obj/item/storage/briefcase(src)
new /obj/item/storage/firstaid/adv(src)
new /obj/item/pinpointer/crew(src)
- new /obj/item/storage/belt/security/sec(src)
- new /obj/item/grenade/flashbang(src)
- new /obj/item/flash(src)
- new /obj/item/restraints/handcuffs(src)
- new /obj/item/melee/baton/loaded(src)
+ new /obj/item/storage/belt/security/full(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/read_only(src)
new /obj/item/clothing/glasses/hud/health/sunglasses(src)
diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm
index d9ef3e9b075..ff614e749fe 100644
--- a/code/modules/crafting/recipes.dm
+++ b/code/modules/crafting/recipes.dm
@@ -76,7 +76,7 @@
/obj/item/robot_parts/r_leg = 1,
/obj/item/stack/sheet/metal = 1,
/obj/item/stack/cable_coil = 1,
- /obj/item/gun/energy/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/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm
index 5abf3b185b5..56e4e190f76 100644
--- a/code/modules/mob/living/simple_animal/bot/construction.dm
+++ b/code/modules/mob/living/simple_animal/bot/construction.dm
@@ -155,9 +155,9 @@
return
newname = "redtag ED-209 assembly"
if("")
- if(!istype(W, /obj/item/gun/energy/gun/advtaser))
+ if(!istype(W, /obj/item/gun/energy/disabler))
return
- newname = "taser ED-209 assembly"
+ newname = "disabler ED-209 assembly"
else
return
if(!user.unEquip(W))
diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
index 71405c1942f..45e3f76d0e2 100644
--- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
@@ -40,7 +40,7 @@
var/weaponscheck = 1 //If true, arrest people for weapons if they don't have access
var/check_records = 1 //Does it check security records?
var/arrest_type = 0 //If true, don't handcuff
- var/projectile = /obj/item/projectile/energy/electrode //Holder for projectile type
+ var/projectile = /obj/item/projectile/beam/disabler //Holder for projectile type
var/shoot_sound = 'sound/weapons/taser.ogg'
@@ -396,7 +396,7 @@
new /obj/item/assembly/prox_sensor(Tsec)
if(!lasercolor)
- var/obj/item/gun/energy/gun/advtaser/G = new /obj/item/gun/energy/gun/advtaser(Tsec)
+ var/obj/item/gun/energy/disabler/G = new /obj/item/gun/energy/disabler(Tsec)
G.cell.charge = 0
G.update_icon()
else if(lasercolor == "b")
@@ -437,8 +437,7 @@
projectile = /obj/item/projectile/beam
else
if(!lasercolor)
- shoot_sound = 'sound/weapons/taser.ogg'
- projectile = /obj/item/projectile/energy/electrode
+ projectile = /obj/item/projectile/beam/disabler
else if(lasercolor == "b")
projectile = /obj/item/projectile/beam/lasertag/bluetag
else if(lasercolor == "r")
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index eae1047d0e0..0d1e53c1b1d 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -206,6 +206,10 @@
charge = 0
update_icon()
+/obj/item/stock_parts/cell/hos_gun
+ name = "\improper X-01 multiphase energy gun power cell"
+ maxcharge = 1200
+
/obj/item/stock_parts/cell/pulse //200 pulse shots
name = "pulse rifle power cell"
maxcharge = 40000
diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm
index 59f46e440f0..66adcba616e 100644
--- a/code/modules/projectiles/ammunition/ammo_casings.dm
+++ b/code/modules/projectiles/ammunition/ammo_casings.dm
@@ -33,16 +33,16 @@
desc = "A .38 bullet casing."
caliber = "38"
icon_state = "r-casing"
- projectile_type = /obj/item/projectile/bullet/weakbullet2
+ projectile_type = /obj/item/projectile/bullet/c38
muzzle_flash_strength = MUZZLE_FLASH_STRENGTH_NORMAL
muzzle_flash_range = MUZZLE_FLASH_RANGE_NORMAL
/obj/item/ammo_casing/c38/invisible
- projectile_type = /obj/item/projectile/bullet/weakbullet2/invisible
+ projectile_type = /obj/item/projectile/bullet/mime
muzzle_flash_effect = null // invisible eh
/obj/item/ammo_casing/c38/invisible/fake
- projectile_type = /obj/item/projectile/bullet/weakbullet2/invisible/fake
+ projectile_type = /obj/item/projectile/bullet/mime/fake
/obj/item/ammo_casing/c10mm
desc = "A 10mm bullet casing."
@@ -206,18 +206,12 @@
muzzle_flash_color = "#FFFF00"
-/obj/item/ammo_casing/shotgun/meteorshot
- name = "meteorshot shell"
+/obj/item/ammo_casing/shotgun/meteorslug
+ name = "meteorslug shell"
desc = "A shotgun shell rigged with CMC technology, which launches a massive slug when fired."
icon_state = "mshell"
projectile_type = /obj/item/projectile/bullet/meteorshot
-/obj/item/ammo_casing/shotgun/breaching
- name = "breaching shell"
- desc = "An economic version of the meteorshot, utilizing similar technologies. Great for busting down doors."
- icon_state = "mshell"
- projectile_type = /obj/item/projectile/bullet/meteorshot/weak
-
/obj/item/ammo_casing/shotgun/pulseslug
name = "pulse slug"
desc = "A delicate device which can be loaded into a shotgun. The primer acts as a button which triggers the gain medium and fires a powerful \
diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm
index 049bf13c174..d52a74b7877 100644
--- a/code/modules/projectiles/ammunition/energy.dm
+++ b/code/modules/projectiles/ammunition/energy.dm
@@ -22,8 +22,8 @@
e_cost = 83
select_name = "kill"
-/obj/item/ammo_casing/energy/laser/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons
- e_cost = 100
+/obj/item/ammo_casing/energy/laser/hos
+ e_cost = 120
/obj/item/ammo_casing/energy/laser/practice
projectile_type = /obj/item/projectile/beam/practice
@@ -102,22 +102,18 @@
select_name = "stun"
fire_sound = 'sound/weapons/taser.ogg'
e_cost = 200
- delay = 15
harmful = FALSE
-/obj/item/ammo_casing/energy/electrode/gun
- fire_sound = 'sound/weapons/gunshots/gunshot.ogg'
- e_cost = 100
-
-/obj/item/ammo_casing/energy/electrode/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons
- e_cost = 200
-
/obj/item/ammo_casing/energy/ion
projectile_type = /obj/item/projectile/ion
muzzle_flash_color = LIGHT_COLOR_LIGHTBLUE
select_name = "ion"
fire_sound = 'sound/weapons/ionrifle.ogg'
+/obj/item/ammo_casing/energy/ion/hos
+ projectile_type = /obj/item/projectile/ion/weak
+ e_cost = 300
+
/obj/item/ammo_casing/energy/declone
projectile_type = /obj/item/projectile/energy/declone
muzzle_flash_color = LIGHT_COLOR_GREEN
@@ -172,6 +168,9 @@
/obj/item/ammo_casing/energy/disabler/cyborg //seperate balancing for cyborg, again
e_cost = 250
+/obj/item/ammo_casing/energy/disabler/hos
+ e_cost = 60
+
/obj/item/ammo_casing/energy/plasma
projectile_type = /obj/item/projectile/plasma
muzzle_flash_color = LIGHT_COLOR_PURPLE
@@ -216,12 +215,6 @@
projectile_type = /obj/item/projectile/energy/bolt/large
select_name = "heavy bolt"
-/obj/item/ammo_casing/energy/dart
- projectile_type = /obj/item/projectile/energy/dart
- fire_sound = 'sound/weapons/genhit.ogg'
- e_cost = 500
- select_name = "toxic dart"
-
/obj/item/ammo_casing/energy/instakill
projectile_type = /obj/item/projectile/beam/instakill
muzzle_flash_color = LIGHT_COLOR_PURPLE
@@ -264,13 +257,6 @@
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
select_name = "clown"
-/obj/item/ammo_casing/energy/sniper
- projectile_type = /obj/item/projectile/beam/sniper
- muzzle_flash_color = LIGHT_COLOR_PINK
- fire_sound = 'sound/weapons/marauder.ogg'
- delay = 50
- select_name = "snipe"
-
/obj/item/ammo_casing/energy/emitter
projectile_type = /obj/item/projectile/beam/emitter
muzzle_flash_color = LIGHT_COLOR_GREEN
diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm
index ef1d1b44be1..af42414c53c 100644
--- a/code/modules/projectiles/ammunition/magazines.dm
+++ b/code/modules/projectiles/ammunition/magazines.dm
@@ -64,6 +64,7 @@
/obj/item/ammo_box/magazine/internal/cylinder/rev38/invisible
name = "finger gun cylinder"
desc = "Wait, what?"
+ max_ammo = 3
ammo_type = /obj/item/ammo_casing/c38/invisible
/obj/item/ammo_box/magazine/internal/cylinder/rev38/invisible/fake
@@ -407,10 +408,10 @@
icon_state = "m12gt"
ammo_type = /obj/item/ammo_casing/shotgun/dart/bioterror
-/obj/item/ammo_box/magazine/m12g/breach
- name = "shotgun magazine (12g breacher slugs)"
+/obj/item/ammo_box/magazine/m12g/meteor
+ name = "shotgun magazine (12g meteor slugs)"
icon_state = "m12gbc"
- ammo_type = /obj/item/ammo_casing/shotgun/breaching
+ ammo_type = /obj/item/ammo_casing/shotgun/meteorslug
/obj/item/ammo_box/magazine/m12g/XtrLrg
name = "\improper XL shotgun magazine (12g slugs)"
diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm
index b6f1aee729c..f27533cb212 100644
--- a/code/modules/projectiles/guns/energy/nuclear.dm
+++ b/code/modules/projectiles/guns/energy/nuclear.dm
@@ -51,22 +51,24 @@
/obj/item/gun/energy/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/hos_gun
icon_state = "hoslaser"
origin_tech = null
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/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/ion/hos)
ammo_x_offset = 4
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
shaded_charge = FALSE
can_holster = TRUE
/obj/item/gun/energy/gun/blueshield
- name = "advanced stun revolver"
- desc = "An advanced stun revolver with the capacity to shoot both electrodes and lasers."
+ name = "advanced energy revolver"
+ desc = "An advanced energy revolver with the capacity to shoot both disablers and lasers."
+ cell_type = /obj/item/stock_parts/cell/hos_gun
icon_state = "bsgun"
item_state = "gun"
force = 7
- ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos)
+ ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos)
ammo_x_offset = 1
shaded_charge = TRUE
can_holster = TRUE
@@ -100,7 +102,7 @@
charge_delay = 5
can_charge = 0
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
shaded_charge = FALSE
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index a4b086bdfad..9f6ec48f831 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -315,26 +315,6 @@
shaded_charge = 1
can_holster = TRUE
-// Energy Sniper //
-/obj/item/gun/energy/sniperrifle
- name = "\improper L.W.A.P. sniper rifle"
- desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope."
- icon_state = "esniper"
- origin_tech = "combat=6;materials=5;powerstorage=4"
- ammo_type = list(/obj/item/ammo_casing/energy/sniper)
- item_state = null
- weapon_weight = WEAPON_HEAVY
- slot_flags = SLOT_BACK
- w_class = WEIGHT_CLASS_BULKY
- can_holster = FALSE
- zoomable = TRUE
- zoom_amt = 7 //Long range, enough to see in front of you, but no tiles behind you.
- shaded_charge = 1
-
-/obj/item/gun/energy/sniperrifle/detailed_examine()
- return "This is an energy weapon. Most energy weapons can fire through windows harmlessly. To recharge this weapon, use a weapon recharger. \
- To use the scope, use the appropriate verb in the object tab."
-
/obj/item/gun/energy/bsg
name = "\improper B.S.G"
desc = "The Blue Space Gun. Uses a flux anomaly core and a bluespace crystal to produce destructive bluespace energy blasts, inspired by Nanotrasen's BSA division."
diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm
index 75b22634d99..555781b34aa 100644
--- a/code/modules/projectiles/guns/energy/stun.dm
+++ b/code/modules/projectiles/guns/energy/stun.dm
@@ -52,7 +52,10 @@
item_state = null
origin_tech = "combat=3"
ammo_type = list(/obj/item/ammo_casing/energy/disabler)
- ammo_x_offset = 3
+ ammo_x_offset = 2
+ can_flashlight = TRUE
+ flight_x_offset = 15
+ flight_y_offset = 10
can_holster = TRUE
/obj/item/gun/energy/disabler/cyborg
diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm
index 1be7bc9d95c..82374e5e453 100644
--- a/code/modules/projectiles/projectile/beams.dm
+++ b/code/modules/projectiles/projectile/beams.dm
@@ -117,16 +117,6 @@
suit_types = list(/obj/item/clothing/suit/redtag)
light_color = LIGHT_COLOR_BLUE
-/obj/item/projectile/beam/sniper
- name = "sniper beam"
- icon_state = "sniperlaser"
- damage = 60
- stun = 5
- weaken = 5
- stutter = 5
- impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser
- light_color = LIGHT_COLOR_PINK
-
/obj/item/projectile/beam/immolator
name = "immolation beam"
diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm
index 16e7cec1537..2531e8b8da0 100644
--- a/code/modules/projectiles/projectile/bullets.dm
+++ b/code/modules/projectiles/projectile/bullets.dm
@@ -12,6 +12,10 @@
damage = 5
stamina = 80
+/obj/item/projectile/bullet/c38
+ name = ".38 bullet"
+ damage = 25
+
/obj/item/projectile/bullet/weakbullet/booze
/obj/item/projectile/bullet/weakbullet/booze/on_hit(atom/target, blocked = 0)
@@ -31,26 +35,12 @@
M.AdjustDrowsy(10)
A.volume += 5 //Because we can
-/obj/item/projectile/bullet/weakbullet2 //detective revolver
+/obj/item/projectile/bullet/weakbullet2
name = "rubber bullet"
damage = 5
stamina = 35
icon_state = "bullet-r"
-/obj/item/projectile/bullet/weakbullet2/invisible //finger gun bullets
- name = "invisible bullet"
- damage = 0
- weaken = 3
- stamina = 60
- icon_state = null
- hitsound_wall = null
-
-/obj/item/projectile/bullet/weakbullet2/invisible/fake
- weaken = 0
- stamina = 0
- nodamage = 1
- log_override = TRUE
-
/obj/item/projectile/bullet/weakbullet3
damage = 20
@@ -165,7 +155,7 @@
/obj/item/projectile/bullet/heavybullet
damage = 35
-/obj/item/projectile/bullet/stunshot//taser slugs for shotguns, nothing special
+/obj/item/projectile/bullet/stunshot //taser slugs for shotguns, nothing special
name = "stunshot"
damage = 5
stun = 5
@@ -196,13 +186,13 @@
icon = 'icons/obj/meteor.dmi'
icon_state = "dust"
damage = 30
- weaken = 8
- stun = 8
+ stun = 1
+ weaken = 4
hitsound = 'sound/effects/meteorimpact.ogg'
/obj/item/projectile/bullet/meteorshot/on_hit(atom/target, blocked = 0)
..()
- if(istype(target, /atom/movable))
+ if(ismovable(target))
var/atom/movable/M = target
var/atom/throw_target = get_edge_target_turf(M, get_dir(src, get_step_away(M, src)))
M.throw_at(throw_target, 3, 2)
@@ -211,29 +201,28 @@
..()
SpinAnimation()
-/obj/item/projectile/bullet/meteorshot/weak
- damage = 10
- weaken = 4
- stun = 4
-
/obj/item/projectile/bullet/mime
- damage = 0
- stun = 5
- weaken = 5
- slur = 20
- stutter = 20
+ damage = 40
+ var/special_effects = TRUE
/obj/item/projectile/bullet/mime/on_hit(atom/target, blocked = 0)
..(target, blocked)
- if(iscarbon(target))
- var/mob/living/carbon/M = target
- M.Silence(10)
- else if(istype(target, /obj/mecha/combat/honker))
- var/obj/mecha/chassis = target
- chassis.occupant_message("A mimetech anti-honk bullet has hit \the [chassis]!")
- chassis.use_power(chassis.get_charge() / 2)
- for(var/obj/item/mecha_parts/mecha_equipment/weapon/honker in chassis.equipment)
- honker.set_ready_state(0)
+ if(special_effects)
+ if(iscarbon(target))
+ var/mob/living/carbon/M = target
+ M.Silence(10)
+ else if(istype(target, /obj/mecha/combat/honker))
+ var/obj/mecha/chassis = target
+ chassis.occupant_message("A mimetech anti-honk bullet has hit \the [chassis]!")
+ chassis.use_power(chassis.get_charge() / 2)
+ for(var/obj/item/mecha_parts/mecha_equipment/weapon/honker in chassis.equipment)
+ honker.set_ready_state(0)
+
+/obj/item/projectile/bullet/mime/fake
+ damage = 0
+ nodamage = TRUE
+ special_effects = FALSE
+ log_override = TRUE
/obj/item/projectile/bullet/dart
name = "dart"
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index dc6f3fdf2da..638c6449d16 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -44,30 +44,16 @@
irradiate = 10
impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser
-/obj/item/projectile/energy/dart
- name = "dart"
- icon_state = "toxin"
- damage = 5
- damage_type = TOX
- weaken = 5
- range = 7
-
-/obj/item/projectile/energy/shuriken
- name = "shuriken"
- icon_state = "toxin"
- damage = 10
- damage_type = TOX
- weaken = 5
- stutter = 5
-
/obj/item/projectile/energy/bolt
name = "bolt"
icon_state = "cbbolt"
damage = 15
damage_type = TOX
- nodamage = 0
- weaken = 5
- stutter = 5
+ nodamage = FALSE
+ stamina = 60
+ eyeblur = 10
+ weaken = 1
+ slur = 5
/obj/item/projectile/energy/bolt/large
damage = 20
diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm
index 490878ea74d..07832967969 100644
--- a/code/modules/projectiles/projectile/special.dm
+++ b/code/modules/projectiles/projectile/special.dm
@@ -193,14 +193,14 @@
/obj/item/projectile/bullet/frag12
name ="explosive slug"
- damage = 25
- weaken = 5
+ damage = 15
+ weaken = 1
alwayslog = TRUE
/obj/item/projectile/bullet/frag12/on_hit(atom/target, blocked = 0)
..()
explosion(target, -1, 0, 1)
- return 1
+ return TRUE
/obj/item/projectile/plasma
name = "plasma blast"
diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm
index 806ee0d5068..77aa187ac04 100644
--- a/code/modules/research/designs/mechfabricator_designs.dm
+++ b/code/modules/research/designs/mechfabricator_designs.dm
@@ -672,12 +672,12 @@
construction_time = 100
category = list("Exosuit Equipment")
-/datum/design/mech_taser
- name = "Exosuit Weapon (PBT \"Pacifier\" Mounted Taser)"
- id = "mech_taser"
+/datum/design/mech_disabler
+ name = "Exosuit Weapon (CH-DS \"Peacemaker\" Disabler)"
+ id = "mech_disabler"
build_type = MECHFAB
req_tech = list("combat" = 3)
- build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
+ build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/disabler
materials = list(MAT_METAL=10000)
construction_time = 100
category = list("Exosuit Equipment")
@@ -892,17 +892,6 @@
construction_time = 100
category = list("Exosuit Equipment")
-/datum/design/mech_disabler
- name = "Exosuit Weapon (CH-PD Disabler)"
- desc = "Allows for the construction of CH-PD Disabler."
- id = "mech_disabler"
- build_type = MECHFAB
- req_tech = list("combat" = 3)
- build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/disabler
- materials = list(MAT_METAL=10000)
- construction_time = 100
- category = list("Exosuit Equipment")
-
/datum/design/mech_carbine
name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)"
desc = "Allows for the construction of FNX-99 \"Hades\" Carbine."
diff --git a/code/modules/response_team/ert_outfits.dm b/code/modules/response_team/ert_outfits.dm
index 029a53b64bc..412c48fc4bd 100644
--- a/code/modules/response_team/ert_outfits.dm
+++ b/code/modules/response_team/ert_outfits.dm
@@ -134,7 +134,7 @@
name = "RT Security (Amber)"
shoes = /obj/item/clothing/shoes/combat
suit = /obj/item/clothing/suit/armor/vest/ert/security
- suit_store = /obj/item/gun/energy/gun/advtaser
+ suit_store = /obj/item/gun/energy/disabler
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
mask = /obj/item/clothing/mask/gas/sechailer
@@ -425,7 +425,7 @@
name = "RT Paranormal (Amber)"
suit = /obj/item/clothing/suit/armor/vest/ert/security/paranormal
head = /obj/item/clothing/head/helmet/ert/security/paranormal
- suit_store = /obj/item/gun/energy/gun/advtaser
+ suit_store = /obj/item/gun/energy/disabler
r_pocket = /obj/item/nullrod
/datum/outfit/job/centcom/response_team/paranormal/red
diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi
index f05497b5643..13a4dfc1ab5 100644
Binary files a/icons/mob/inhands/guns_lefthand.dmi and b/icons/mob/inhands/guns_lefthand.dmi differ
diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi
index 32c27e7d57d..2b3d38589da 100644
Binary files a/icons/mob/inhands/guns_righthand.dmi and b/icons/mob/inhands/guns_righthand.dmi differ
diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi
index f2a1917a06e..c436c99c729 100644
Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ