diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 5fe1ab4c672..f5654695901 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -306,7 +306,7 @@ /obj/machinery/turretid name = "turret deactivation control" icon = 'icons/obj/device.dmi' - icon_state = "motion3" + icon_state = "control_stun" anchored = 1 density = 0 var/enabled = 1 @@ -457,11 +457,11 @@ /obj/machinery/turretid/proc/update_icons() if (src.enabled) if (src.lethal) - icon_state = "motion1" + icon_state = "control_kill" else - icon_state = "motion3" + icon_state = "control_stun" else - icon_state = "motion0" + icon_state = "control_standby" //CODE FIXED BUT REMOVED // if(control_area) //USE: updates other controls in the area // for (var/obj/machinery/turretid/Turret_Control in world) //I'm not sure if this is what it was diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index 4b4bd46a5ac..0abc785247b 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -229,4 +229,19 @@ if(!opened) icon_state = icon_closed else - icon_state = icon_opened \ No newline at end of file + icon_state = icon_opened + +/obj/structure/closet/ammunitionlocker + name = "ammunition locker" + +/obj/structure/closet/ammunitionlocker/New() + ..() + sleep(2) + new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/shotgun/beanbag(src) + new /obj/item/ammo_casing/shotgun/beanbag(src) \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 2a51f80f0df..fef0f230492 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -56,6 +56,14 @@ caliber = "shotgun" max_ammo = 2 multiload = 0 + +/obj/item/ammo_box/magazine/internal/shotriot + name = "riot shotgun internal magazine" + desc = "Oh god, this shouldn't be here" + ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" + caliber = "shotgun" + max_ammo = 6 + multiload = 0 ///////////EXTERNAL MAGAZINES//////////////// /obj/item/ammo_box/magazine/m9mm name = "magazine (9mm)" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index c2de820a0b1..29278592c26 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -21,6 +21,7 @@ var/ghettomodded = 0 var/recoil = 0 var/clumsy_check = 1 + var/sawn_desc = null var/obj/item/ammo_casing/chambered = null // The round (not bullet) that is in the chamber. THIS MISPLACED ITEM BROUGHT TO YOU BY HACKY BUCKSHOT. var/tmp/list/mob/living/target //List of who yer targeting. var/tmp/lock_time = -100 diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index fefc3cfe2c2..156b9ec9ed8 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -106,10 +106,11 @@ /obj/item/weapon/gun/energy/crossbow/largecrossbow name = "Energy Crossbow" - desc = "A weapon favored by syndicate infiltration teams." - w_class = 4.0 + desc = "A weapon favored by syndicate carp hunters." + icon_state = "crossbowlarge" + w_class = 3.0 force = 10 - m_amt = 200000 + m_amt = 4000 projectile_type = "/obj/item/projectile/energy/bolt/large" diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index e5daa3fbb18..cb2f14bb7c9 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -88,6 +88,18 @@ mag_type = "/obj/item/ammo_box/magazine/internal/shotcom" w_class = 5 +/obj/item/weapon/gun/projectile/shotgun/riot //for spawn in the armory + name = "riot shotgun" + desc = "A sturdy shotgun with a longer magazine and a fixed tactical stock designed for non-lethal riot control." + icon_state = "riotshotgun" + mag_type = "/obj/item/ammo_box/magazine/internal/shotriot" + sawn_desc = "Come with me if you want to live." + +/obj/item/weapon/gun/projectile/shotgun/riot/attackby(var/obj/item/A as obj, mob/user as mob) + ..() + if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) + sawoff(user) + /obj/item/weapon/gun/projectile/revolver/doublebarrel name = "double-barreled shotgun" desc = "A true classic." @@ -99,26 +111,33 @@ slot_flags = SLOT_BACK origin_tech = "combat=3;materials=1" mag_type = "/obj/item/ammo_box/magazine/internal/cylinder/dualshot" + sawn_desc = "Omar's coming!" /obj/item/weapon/gun/projectile/revolver/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob) ..() + if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing)) + chamber_round() if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) - user << "You begin to shorten the barrel of \the [src]." - if(get_ammo()) - afterattack(user, user) //will this work? - afterattack(user, user) //it will. we call it twice, for twice the FUN - playsound(user, fire_sound, 50, 1) - user.visible_message("\The [src] goes off!", "\The [src] goes off in your face!") - return - if(do_after(user, 30)) //SHIT IS STEALTHY EYYYYY - icon_state = "sawnshotgun" - w_class = 3.0 - item_state = "gun" - slot_flags &= ~SLOT_BACK //you can't sling it on your back - slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - user << "You shorten the barrel of \the [src]!" - name = "sawn-off shotgun" - desc = "Omar's coming!" + sawoff(user) + +/obj/item/weapon/gun/projectile/proc/sawoff(mob/user as mob) + user << "You begin to shorten \the [src]." + if(get_ammo()) + afterattack(user, user) + playsound(user, fire_sound, 50, 1) + user.visible_message("The [src] goes off!", "The [src] goes off in your face!") + return + if(do_after(user, 30)) + name = "sawn-off [src.name]" + desc = sawn_desc + icon_state = initial(icon_state) + "-sawn" + w_class = 3.0 + item_state = "gun" + slot_flags &= ~SLOT_BACK //you can't sling it on your back + slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) + user << "You shorten \the [src]!" + update_icon() + return /obj/item/weapon/gun/projectile/revolver/doublebarrel/attack_self(mob/living/user as mob) var/num_unloaded = 0 diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 895416b53f2..369ccb1ec08 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -318,13 +318,13 @@ ..() else ..() - + if(default_deconstruction_screwdriver(user, "minidispenser-o", "minidispenser", I)) return if(exchange_parts(user, I)) return - + if(istype(I, /obj/item/weapon/wrench)) playsound(src, 'sound/items/Ratchet.ogg', 50, 1) if(anchored) @@ -332,8 +332,8 @@ user << "The [src] can now be moved." else if(!anchored) anchored = 1 - user << "The [src] is now secured." - + user << "The [src] is now secured." + if(panel_open) if(istype(I, /obj/item/weapon/crowbar)) if(beaker) @@ -368,6 +368,7 @@ var/datum/reagents/R = new/datum/reagents(100) reagents = R R.my_atom = src + overlays += "waitlight" /obj/machinery/chem_master/ex_act(severity) switch(severity) diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 60a20753607..83b8c49d86a 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 202d28d7f4a..977071c5f4d 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index a21c1338bff..758e6dc1877 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index c20f15a4573..0586c8c364a 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ