diff --git a/code/game/objects/items/gunbox_vr.dm b/code/game/objects/items/gunbox_vr.dm index c0bfd4642f..377fa172af 100644 --- a/code/game/objects/items/gunbox_vr.dm +++ b/code/game/objects/items/gunbox_vr.dm @@ -15,4 +15,23 @@ var/atom/movable/AM = new new_type(get_turf(src)) if(istype(AM, /obj/item/weapon/gun)) to_chat(user, "You have chosen \the [AM]. Say hello to your new friend.") - qdel(src) \ No newline at end of file + qdel(src) + +/obj/item/gunbox/warden + name = "warden's shotgun case" + desc = "A secure guncase containing the warden's beloved shotgun." + icon = 'icons/obj/storage_vr.dmi' + icon_state = "gunboxw" + +/obj/item/gunbox/warden/attack_self(mob/living/user) + var/list/options = list() + options["Warden's combat shotgun"] = list(/obj/item/weapon/gun/projectile/shotgun/pump/combat/warden, /obj/item/ammo_magazine/ammo_box/b12g/beanbag) + options["Warden's compact shotgun"] = list(/obj/item/weapon/gun/projectile/shotgun/compact/warden, /obj/item/ammo_magazine/ammo_box/b12g/beanbag) + var/choice = tgui_input_list(user,"Choose your boomstick!", "Shotgun!", options) + if(src && choice) + var/list/things_to_spawn = options[choice] + for(var/new_type in things_to_spawn) // Spawn all the things, the gun and the ammo. + var/atom/movable/AM = new new_type(get_turf(src)) + if(istype(AM, /obj/item/weapon/gun)) + to_chat(user, "You have chosen \the [AM]. Say hello to your new best friend.") + qdel(src) diff --git a/code/modules/projectiles/guns/projectile/shotgun_vr.dm b/code/modules/projectiles/guns/projectile/shotgun_vr.dm index 09e90d4ffe..e8b2d2e7f4 100644 --- a/code/modules/projectiles/guns/projectile/shotgun_vr.dm +++ b/code/modules/projectiles/guns/projectile/shotgun_vr.dm @@ -9,3 +9,67 @@ item_icons = null ammo_type = /obj/item/ammo_casing/a12g max_shells = 12 + +//Warden's shotgun gets it's own entry now, rather than being handled by the maps +/obj/item/weapon/gun/projectile/shotgun/pump/combat/warden + name = "warden's shotgun" + desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock." + description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." + ammo_type = /obj/item/ammo_casing/a12g/beanbag + +//Compact shotgun, this version's for usage later by mappers/coders/w.e. +/obj/item/weapon/gun/projectile/shotgun/compact + name = "compact shotgun" + desc = "Built for extremely-close quarters combat, the Hephaestus Industries KS-55 \"semi-auto shorty\" is a relatively rare sight to see, usually in the hands of elite troops that specialize in boarding. Uses 12g rounds." + description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." + icon = 'icons/obj/gun_vr.dmi' + icon_state = "compshotc" + item_state = "cshotgun" + max_shells = 4 //short magazine tube means small capacity + w_class = ITEMSIZE_NORMAL //Starts folded, becomes large when stock is extended + force = 10 + slot_flags = SLOT_BELT|SLOT_BACK + caliber = "12g" + origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2) + load_method = SINGLE_CASING|SPEEDLOADER + handle_casings = EJECT_CASINGS //However, it's semi-automatic to make up for that + ammo_type = /obj/item/ammo_casing/a12g + projectile_type = /obj/item/projectile/bullet/shotgun + one_handed_penalty = 30 //You madman, one-handing a 12g shotgun. + recoil = 5 //Unfold the damn stock you fool! + var/stock = FALSE + +/obj/item/weapon/gun/projectile/shotgun/compact/attack_self(mob/user as mob) + stock = !stock + if(stock) + user.visible_message("With a fluid movement, [user] unfolds their shotgun's stock and foregrip.",\ + "You unfold the shotgun's stock and foregrip.",\ + "You hear an ominous click.") + icon_state = "compshot" + item_state = icon_state + w_class = ITEMSIZE_LARGE + one_handed_penalty = 15 //Stock extended to steady it, even with just the one hand. + recoil = 1 //As above, stock and foregrip would help with the kick + else + user.visible_message("\The [user] collapses their shotgun's stock and fold it's foregrip.",\ + "You fold the shotgun's stock and foregrip.",\ + "You hear a click.") + icon_state = "compshotc" + item_state = icon_state + w_class = ITEMSIZE_NORMAL + one_handed_penalty = 30 + recoil = 5 + + + if(istype(user,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + H.update_inv_l_hand() + H.update_inv_r_hand() + + playsound(src, 'sound/weapons/empty.ogg', 50, 1) + +/obj/item/weapon/gun/projectile/shotgun/compact/warden + name = "warden's compact shotgun" + desc = "Built for extremely-close quarters combat, the Hephaestus Industries KS-55 \"semi-auto shorty\" is a relatively rare sight to see, usually in the hands of elite troops that specialize in boarding. This one has 'Property of the Warden' inscribed on the upper receiver." + description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." + ammo_type = /obj/item/ammo_casing/a12g/beanbag diff --git a/icons/obj/gun_vr.dmi b/icons/obj/gun_vr.dmi index 17319770e9..e90a7ab7cd 100644 Binary files a/icons/obj/gun_vr.dmi and b/icons/obj/gun_vr.dmi differ diff --git a/icons/obj/storage_vr.dmi b/icons/obj/storage_vr.dmi index 25d8e14772..268d1c827d 100644 Binary files a/icons/obj/storage_vr.dmi and b/icons/obj/storage_vr.dmi differ diff --git a/maps/stellardelight/stellar_delight1.dmm b/maps/stellardelight/stellar_delight1.dmm index 7bb18362dc..5dd8d1f5f3 100644 --- a/maps/stellardelight/stellar_delight1.dmm +++ b/maps/stellardelight/stellar_delight1.dmm @@ -8693,11 +8693,7 @@ "sr" = ( /obj/structure/closet/secure_closet/warden, /obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ - ammo_type = /obj/item/ammo_casing/a12g/beanbag; - desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."; - name = "warden's shotgun" - }, +/obj/item/gunbox/warden, /obj/machinery/power/apc/angled{ dir = 8 }, diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index 08bd1a6d98..4049871a4e 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -11651,11 +11651,7 @@ /area/tether/surfacebase/security/middlehall) "asE" = ( /obj/item/weapon/book/manual/security_space_law, -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ - ammo_type = /obj/item/ammo_casing/a12g/beanbag; - desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."; - name = "warden's shotgun" - }, +/obj/item/gunbox/warden, /obj/structure/closet/secure_closet/warden, /obj/machinery/light, /obj/effect/floor_decal/borderfloor{