diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 7816b7882a4..3e96bad41c4 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -292,7 +292,10 @@ process_point_blank(projectile, user, target) if(process_projectile(projectile, user, target, user.zone_sel.selecting, clickparams)) - handle_post_fire(user, target, pointblank, reflex, TRUE) + var/show_emote = TRUE + if(i > 1 && burst_delay < 3 && burst < 5) + show_emote = FALSE + handle_post_fire(user, target, pointblank, reflex, show_emote) update_icon() if(i < burst) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 475df754123..7457fbb9557 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -166,32 +166,46 @@ obj/item/gun/energy/retro to_chat(usr, "You can't look through the scope without stabilizing the rifle!") /obj/item/gun/energy/laser/shotgun - name = "quad-beam laser" - desc = "A Nanotrasen designed laser weapon, designed to split a single beam four times." + name = "laser shotgun" + desc = "A Nanotrasen designed laser weapon, designed to split a single amplified beam four times." desc_fluff = "The NT QB-2 is a laser weapon developed and produced by Nanotrasen. Designed to fill in the niche that ballistic shotguns do, but in the form of laser weaponry. It is equipped with a special crystal lens that splits a single laser beam into four." - icon = 'icons/obj/guns/ecarbine.dmi' // using this as placeholder until proper sprites are made - icon_state = "energykill100" - item_state = "energykill100" + icon = 'icons/obj/guns/lasershotgun.dmi' + icon_state = "lasershotgun" + item_state = "lasershotgun" + modifystate = null + has_item_ratio = FALSE fire_sound = 'sound/weapons/Laser.ogg' slot_flags = SLOT_BELT|SLOT_BACK - w_class = 3 + w_class = ITEMSIZE_LARGE accuracy = 0 force = 10 matter = list(DEFAULT_WALL_MATERIAL = 2000) origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 2) projectile_type = /obj/item/projectile/beam/shotgun - max_shots = 12 + max_shots = 20 sel_mode = 1 + is_wieldable = TRUE burst = 4 burst_delay = 0 move_delay = 0 fire_delay = 2 dispersion = list(10) - can_turret = 1 - turret_is_lethal = 1 + can_turret = TRUE + turret_is_lethal = TRUE turret_sprite_set = "laser" - modifystate = "energykill" +/obj/item/gun/energy/laser/shotgun/update_icon() + ..() + if(wielded) + item_state = "[initial(icon_state)]-wielded" + else + item_state = initial(item_state) + update_held_icon() + +/obj/item/gun/energy/laser/shotgun/research + name = "expedition shotgun" + desc = "A Nanotrasen designed laser weapon, designed to split a single amplified beam four times. This one is marked for expeditionary use." + pin = /obj/item/device/firing_pin/away_site ////////Laser Tag//////////////////// diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 4f9a70b89ce..3c305589fd4 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -217,3 +217,14 @@ Pins Below. return 0 else return 1 + +/obj/item/device/firing_pin/away_site + name = "away site firing pin" + desc = "This access locked firing pin allows weapons to be fired only when the user is not on-station." + fail_message = "USER ON STATION LEVEL." + +/obj/item/device/firing_pin/access/pin_auth(mob/living/user) + if(!isStationLevel(src.z)) + return TRUE + else + return FALSE \ No newline at end of file diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 66b7b67a6f4..ab9110e75c4 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -282,13 +282,9 @@ name = "diffuse laser" icon_state = "laser" pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - damage = 15 + damage = 20 eyeblur = 4 - muzzle_type = /obj/effect/projectile/muzzle/laser - tracer_type = /obj/effect/projectile/tracer/laser - impact_type = /obj/effect/projectile/impact/laser - /obj/item/projectile/beam/megaglaive name = "thermal lance" icon_state = "gauss" diff --git a/code/modules/research/designs/protolathe/modular_gun_designs.dm b/code/modules/research/designs/protolathe/modular_gun_designs.dm index dfe974fd1b8..675ef8e298f 100644 --- a/code/modules/research/designs/protolathe/modular_gun_designs.dm +++ b/code/modules/research/designs/protolathe/modular_gun_designs.dm @@ -5,6 +5,14 @@ ..() name = "Modular Weapon Design ([capitalize_first_letters(item_name)])" +/datum/design/item/modular_weapon/firing_pin + req_tech = list(TECH_MATERIAL = 1) + materials = list(DEFAULT_WALL_MATERIAL = 500) + build_path = /obj/item/device/firing_pin/test_range + +/datum/design/item/modular_weapon/firing_pin/away + build_path = /obj/item/device/firing_pin/away_site + /datum/design/item/modular_weapon/modular_small req_tech = list(TECH_MATERIAL = 1) materials = list(DEFAULT_WALL_MATERIAL = 2000) diff --git a/html/changelogs/geeves-laser_shotgun.yml b/html/changelogs/geeves-laser_shotgun.yml new file mode 100644 index 00000000000..daae6d1d7f7 --- /dev/null +++ b/html/changelogs/geeves-laser_shotgun.yml @@ -0,0 +1,10 @@ +author: Code by Geeves, Sprites by Kyres + +delete-after: True + +changes: + - tweak: "Tweaked the laser shotgun sprite. Renamed it to laser shotgun, instead of quad-beam laser." + - tweak: "Buffed the laser shotgun damage from 15 burn, to 20. Increased the max shots from 12 to 20, which is 5 bursts. It can now be wielded." + - rscadd: "Added two expedition laser shotguns to the research shuttle. They can only be fired when off-station." + - tweak: "Burst weapons now only emote you firing them the first time, if their burst delay is low and they burst amount is low." + - rscadd: "Added testing range and away site firing pins to the modular gun protolathe category." \ No newline at end of file diff --git a/icons/obj/guns/lasershotgun.dmi b/icons/obj/guns/lasershotgun.dmi new file mode 100644 index 00000000000..5317d210c50 Binary files /dev/null and b/icons/obj/guns/lasershotgun.dmi differ diff --git a/maps/aurora/aurora-6_surface.dmm b/maps/aurora/aurora-6_surface.dmm index 1c611eed3e4..d005aa0add5 100644 --- a/maps/aurora/aurora-6_surface.dmm +++ b/maps/aurora/aurora-6_surface.dmm @@ -12992,6 +12992,12 @@ /obj/machinery/light/small{ dir = 4 }, +/obj/structure/closet/secure_closet/guncabinet{ + name = "expedition armory"; + req_access = null + }, +/obj/item/gun/energy/laser/shotgun/research, +/obj/item/gun/energy/laser/shotgun/research, /turf/simulated/floor/plating, /area/shuttle/research/station) "yL" = (