Gun update 2018: mk II (#5010)

-removes the shotgun magazines, moving their sprites to the boxes instead
-shotguns boxes should now all have eight shotgun shells, up from seven
-added incendiary and emp shotgun shells boxes
-added the baindolier, a belt that can hold up to 16 shotgun slugs
-fixed a bug with unloading the pocket rifle
-added empty sprites for the uzi and a different loaded gyro pistol icon
-updates some gun related merchant lists a bit
-adds the weapon suggested by this thread: https://forums.aurorastation.org/viewtopic.php?f=18&t=11486
This commit is contained in:
Alberyk
2018-08-01 20:01:26 -03:00
committed by Werner
parent 57034371ef
commit 047c3a4c83
15 changed files with 112 additions and 59 deletions

View File

@@ -26,15 +26,21 @@
/obj/item/weapon/gun/projectile/tanto = TRADER_THIS_TYPE,
/obj/item/weapon/gun/projectile/revolver/detective = TRADER_THIS_TYPE,
/obj/item/weapon/gun/projectile/revolver/deckard = TRADER_THIS_TYPE,
/obj/item/weapon/gun/projectile/leyon = TRADER_THIS_TYPE,
/obj/item/weapon/gun/projectile/automatic/x9 = TRADER_THIS_TYPE,
/obj/item/ammo_magazine/c45m = TRADER_ALL,
/obj/item/ammo_magazine/c45m/empty = TRADER_BLACKLIST,
/obj/item/ammo_magazine/shotgun = TRADER_ALL,
/obj/item/ammo_magazine/t40 = TRADER_ALL,
/obj/item/ammo_magazine/t40/empty = TRADER_BLACKLIST,
/obj/item/ammo_magazine/c38 = TRADER_ALL,
/obj/item/ammo_magazine/leyon = TRADER_THIS_TYPE,
/obj/item/ammo_magazine/c45x = TRADER_THIS_TYPE,
/obj/item/weapon/storage/box/beanbags = TRADER_THIS_TYPE,
/obj/item/weapon/storage/box/shotgunammo = TRADER_THIS_TYPE,
/obj/item/weapon/storage/box/shotgunshells = TRADER_THIS_TYPE,
/obj/item/weapon/storage/box/haywireshells = TRADER_THIS_TYPE,
/obj/item/weapon/storage/box/incendiaryshells = TRADER_THIS_TYPE,
/obj/item/clothing/accessory/holster = TRADER_SUBTYPES_ONLY,
/obj/item/clothing/accessory/holster/thigh/fluff = TRADER_BLACKLIST_ALL
)
@@ -145,5 +151,6 @@
/obj/item/clothing/under/tactical = TRADER_THIS_TYPE,
/obj/item/clothing/mask/gas/tactical = TRADER_THIS_TYPE,
/obj/item/weapon/shield/riot/tact = TRADER_THIS_TYPE,
/obj/item/weapon/storage/belt/security/tactical = TRADER_THIS_TYPE
/obj/item/weapon/storage/belt/security/tactical = TRADER_THIS_TYPE,
/obj/item/weapon/storage/belt/bandolier = TRADER_THIS_TYPE
)

View File

@@ -305,5 +305,13 @@
/obj/item/warp_core,
/obj/item/weapon/extraction_pack,
/obj/item/weapon/rrf,
/obj/item/weapon/gun/custom_ka/
/obj/item/weapon/gun/custom_ka
)
/obj/item/weapon/storage/belt/bandolier
name = "bandolier"
desc = "A pocketed belt designated to hold shotgun shells."
icon_state = "bandolier"
item_state = "bandolier"
can_hold = list(/obj/item/ammo_casing/shotgun)
storage_slots = 16

View File

@@ -224,101 +224,93 @@
/obj/item/weapon/storage/box/blanks
name = "box of blank shells"
desc = "It has a picture of a gun and several warning symbols on the front."
desc = "It has a picture of a shotgun shell and several warning symbols on the front."
icon_state = "blankshot_box"
/obj/item/weapon/storage/box/blanks/fill()
..()
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/blank(src)
/obj/item/weapon/storage/box/beanbags
name = "box of beanbag shells"
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "beanshot_box"
/obj/item/weapon/storage/box/beanbags/fill()
..()
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)
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/beanbag(src)
/obj/item/weapon/storage/box/shotgunammo
name = "box of shotgun slugs"
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "lethalslug_box"
/obj/item/weapon/storage/box/shotgunammo/fill()
..()
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun(src)
/obj/item/weapon/storage/box/shotgunshells
name = "box of shotgun shells"
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "lethalshell_box"
/obj/item/weapon/storage/box/shotgunshells/fill()
..()
new /obj/item/ammo_casing/shotgun/pellet(src)
new /obj/item/ammo_casing/shotgun/pellet(src)
new /obj/item/ammo_casing/shotgun/pellet(src)
new /obj/item/ammo_casing/shotgun/pellet(src)
new /obj/item/ammo_casing/shotgun/pellet(src)
new /obj/item/ammo_casing/shotgun/pellet(src)
new /obj/item/ammo_casing/shotgun/pellet(src)
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/pellet(src)
/obj/item/weapon/storage/box/flashshells
name = "box of illumination shells"
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "illumshot_box"
/obj/item/weapon/storage/box/flashshells/fill()
..()
new /obj/item/ammo_casing/shotgun/flash(src)
new /obj/item/ammo_casing/shotgun/flash(src)
new /obj/item/ammo_casing/shotgun/flash(src)
new /obj/item/ammo_casing/shotgun/flash(src)
new /obj/item/ammo_casing/shotgun/flash(src)
new /obj/item/ammo_casing/shotgun/flash(src)
new /obj/item/ammo_casing/shotgun/flash(src)
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/flash(src)
/obj/item/weapon/storage/box/stunshells
name = "box of stun shells"
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "stunshot_box"
/obj/item/weapon/storage/box/stunshells/fill()
..()
new /obj/item/ammo_casing/shotgun/stunshell(src)
new /obj/item/ammo_casing/shotgun/stunshell(src)
new /obj/item/ammo_casing/shotgun/stunshell(src)
new /obj/item/ammo_casing/shotgun/stunshell(src)
new /obj/item/ammo_casing/shotgun/stunshell(src)
new /obj/item/ammo_casing/shotgun/stunshell(src)
new /obj/item/ammo_casing/shotgun/stunshell(src)
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/stunshell(src)
/obj/item/weapon/storage/box/practiceshells
name = "box of practice shells"
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "blankshot_box"
/obj/item/weapon/storage/box/practiceshells/fill()
..()
new /obj/item/ammo_casing/shotgun/practice(src)
new /obj/item/ammo_casing/shotgun/practice(src)
new /obj/item/ammo_casing/shotgun/practice(src)
new /obj/item/ammo_casing/shotgun/practice(src)
new /obj/item/ammo_casing/shotgun/practice(src)
new /obj/item/ammo_casing/shotgun/practice(src)
new /obj/item/ammo_casing/shotgun/practice(src)
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/practice(src)
/obj/item/weapon/storage/box/haywireshells
name = "box of haywire shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "empshot_box"
/obj/item/weapon/storage/box/haywireshells/fill()
..()
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/emp(src)
/obj/item/weapon/storage/box/incendiaryshells
name = "box of incendiary shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
icon_state = "incendiaryshot_box"
/obj/item/weapon/storage/box/incendiaryshells/fill()
..()
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/incendiary(src)
/obj/item/weapon/storage/box/sniperammo
name = "box of 14.5mm shells"

View File

@@ -452,4 +452,13 @@
mag_type = MAGAZINE
caliber = "a762"
ammo_type = /obj/item/ammo_casing/a762
max_ammo = 1000
max_ammo = 1000
/obj/item/ammo_magazine/leyon
name = "ammo clip (10mm)"
icon_state = "10mmclip"
ammo_type = /obj/item/ammo_casing/t40
caliber = "10mm"
matter = list(DEFAULT_WALL_MATERIAL = 1800)
max_ammo = 5
multiple_sprites = 1

View File

@@ -34,6 +34,10 @@
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 8)
ammo_type = /obj/item/ammo_casing/c45
/obj/item/weapon/gun/projectile/automatic/mini_uzi/update_icon()
..()
icon_state = (ammo_magazine)? "mini-uzi" : "mini-uzi-e"
/obj/item/weapon/gun/projectile/automatic/c20r
name = "submachine gun"
desc = "The C-20r is a lightweight and rapid firing SMG, for when you REALLY need someone dead. Uses 10mm rounds. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp."

View File

@@ -275,3 +275,22 @@
var/obj/item/ammo_casing/ammo = ammo_type
caliber = initial(ammo.caliber)
. = ..()
/obj/item/weapon/gun/projectile/leyon
name = "10mm pistol"
desc = "The Leyon LCC Everyman is a small pistol that holds five shots and is loaded with a stripper clip, popular for self-defense on Mars. Uses 10mm rounds."
icon_state = "leyon"
caliber = "10mm"
w_class = 2
ammo_type = /obj/item/ammo_casing/t40
max_shells = 5
origin_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 1)
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = SINGLE_CASING|SPEEDLOADER
/obj/item/weapon/gun/projectile/leyon/update_icon()
..()
if(loaded.len)
icon_state = "leyon"
else
icon_state = "leyon-e"

View File

@@ -99,6 +99,12 @@
return
..()
/obj/item/weapon/gun/projectile/contender/unload_ammo(mob/user, var/allow_dump=1)
if(!retracted_bolt)
to_chat(user, "<span class='notice'>You can't unload \the [src] without cycling the bolt.</span>")
return
..()
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/vintage
name = "\improper vintage bolt action rifle"
desc = "An extremely old-looking rifle. Words you can't read are stamped on the gun. Doesn't look like it'll take any modern rounds."

View File

@@ -0,0 +1,8 @@
author: Alberyk
delete-after: True
changes:
- rscdel: "Removed shotgun speed loaders."
- imageadd: "Added unique sprites for shotgun shells boxes."
- imageadd: "Added some loaded and unloaded sprites for some guns."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 77 KiB