Merge pull request #12449 from BonniePandora/Warden's-delight

Adds a choice between shotguns available to wardens.
This commit is contained in:
Casey
2022-03-18 15:33:54 -04:00
committed by GitHub
6 changed files with 86 additions and 11 deletions
+20 -1
View File
@@ -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)
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)
@@ -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 <i>extremely</i>-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("<span class='warning'>With a fluid movement, [user] unfolds their shotgun's stock and foregrip.</span>",\
"<span class='warning'>You unfold the shotgun's stock and foregrip.</span>",\
"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("<b>\The [user]</b> collapses their shotgun's stock and fold it's foregrip.",\
"<span class='notice'>You fold the shotgun's stock and foregrip.</span>",\
"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 <i>extremely</i>-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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

+1 -5
View File
@@ -8704,11 +8704,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
},
+1 -5
View File
@@ -11664,11 +11664,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{