Blueshield updates. New shotgun.

Semiauto revolver shotgun for Blueshield and Warden. Sprites are placeholder.

Blueshield spawn gear boxes for weapon choice now.
This commit is contained in:
Hawk_v3
2018-06-29 00:16:33 +01:00
parent 60e5201692
commit 9a38e88b9f
10 changed files with 111 additions and 10 deletions

View File

@@ -0,0 +1,39 @@
/obj/item/gunbox/blueshield
name = "blueshield mainarm box"
desc = "A secure box containing a blueshield main weapon."
//Primary gun: Either shotgun or SMG
/obj/item/gunbox/blueshield/attack_self(mob/living/user)
var/list/options = list()
options["Jackhammer Revolver Shotgun (12 Gauge)"] = list(/obj/item/weapon/gun/projectile/revolvershotgun, /obj/item/ammo_magazine/m12gdrumjack, /obj/item/ammo_magazine/m12gdrumjack, /obj/item/ammo_magazine/m12gdrumjack/beanbag)
options["P90 SMG (Top-Mount 9mm)"] = list(/obj/item/weapon/gun/projectile/automatic/p90/blueshield, /obj/item/ammo_magazine/m9mmt/rubber, /obj/item/ammo_magazine/m9mmt/, /obj/item/ammo_magazine/m9mmt/)
options["X01 Energy Gun (Weapon Cell)"] = list(/obj/item/weapon/gun/energy/x01, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/cell/device/weapon)
var/choice = input(user,"Would you prefer a Jackhammer shotgun, a P90 SMG or an X01 Energy Gun?") as null|anything in 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].")
qdel(src)
/obj/item/gunbox/blueshield/secondary
name = "blueshield sidearm box"
desc = "A secure box containing a blueshield sidearm."
//Sidearm: Egun, or a .44 with rubber and lethal mag
/obj/item/gunbox/blueshield/secondary/attack_self(mob/living/user)
var/list/options = list()
// options["NSFW Variable Pistol(Microbattery)"] = list(/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos) It's broken, and I can't fix it because the snowflake keeps metastasizing.
options["E-Gun (Weapon Cell)"] = list(/obj/item/weapon/gun/energy/gun, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/cell/device/weapon)
options["Consul Revolver (.44)"] = list(/obj/item/weapon/gun/projectile/revolver/consul, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44, /obj/item/ammo_magazine/s44/rubber)
var/choice = input(user,"Would you prefer an e-gun or a revolver?") as null|anything in 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].")
qdel(src)

View File

@@ -135,7 +135,7 @@
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 8)
/obj/item/weapon/storage/box/beanbags/large/New()
/obj/item/weapon/storage/box/beanbags/large
starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 16)
/obj/item/weapon/storage/box/shotgunammo

View File

@@ -16,6 +16,7 @@
/obj/item/weapon/storage/belt/security,
/obj/item/weapon/grenade/flashbang,
/obj/item/device/flash,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/handcuffs,
/obj/item/weapon/melee/baton/loaded,
/obj/item/clothing/glasses/sunglasses,
@@ -30,9 +31,6 @@
/obj/item/clothing/accessory/holster/leg,
/obj/item/clothing/shoes/boots/jackboots,
/obj/item/clothing/shoes/boots/jackboots/toeless,
/obj/item/weapon/gun/projectile/shotgun/pump,
/obj/item/weapon/storage/box/beanbags,
/obj/item/weapon/storage/box/shotgunshells,
/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos,
/obj/item/weapon/gun/energy/x01
/obj/item/gunbox/blueshield,
/obj/item/gunbox/blueshield/secondary
)

View File

@@ -168,7 +168,10 @@
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/device/megaphone,
/obj/item/clothing/mask/gas/half)
/obj/item/clothing/mask/gas/half,
/obj/item/weapon/gun/projectile/revolvershotgun,
/obj/item/ammo_magazine/m12gdrumjack/beanbag,
/obj/item/ammo_magazine/m12gdrumjack/beanbag)
/obj/structure/closet/secure_closet/warden/initialize()
if(prob(50))

View File

@@ -49,7 +49,9 @@
/obj/item/weapon/storage/box/flashbangs,
/obj/item/device/flash,
/obj/item/weapon/melee/baton/loaded,
/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos,
// /obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos,
/obj/item/weapon/gun/energy/x01,
/obj/item/weapon/cell/device/weapon,
/obj/item/weapon/melee/telebaton,
/obj/item/clothing/head/beret/sec/corporate/hos,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,

View File

@@ -58,8 +58,8 @@
modifystate = "x01stun"
firemodes = list(
list(mode_name="stun", projectile_type= /obj/item/projectile/energy/electrode/x01stunshot, modifystate="x01stun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 240),
list(mode_name="laser", projectile_type=/obj/item/projectile/beam, modifystate="x01laser", fire_sound='sound/weapons/Laser.ogg', charge_cost = 480),
list(mode_name="stun", fire_delay = 8, projectile_type= /obj/item/projectile/energy/electrode/x01stunshot, modifystate="x01stun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 240),
list(mode_name="laser", fire_delay = 8, projectile_type=/obj/item/projectile/beam, modifystate="x01laser", fire_sound='sound/weapons/Laser.ogg', charge_cost = 480),
list(mode_name="gauss", fire_delay=15, projectile_type=/obj/item/projectile/energy/gauss, modifystate="x01gauss", fire_sound='sound/weapons/gauss_shoot.ogg', charge_cost = 360)
)

View File

@@ -332,6 +332,10 @@
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0))
)
//YW EDIT
/obj/item/weapon/gun/projectile/automatic/p90/blueshield
magazine_type = /obj/item/ammo_magazine/m9mm/rubber //Because a 50 round AP mag isn't really what we want for our defender.
/obj/item/weapon/gun/projectile/automatic/p90/update_icon()
icon_state = "p90smg-[ammo_magazine ? round(ammo_magazine.stored_ammo.len, 6) : "empty"]"

View File

@@ -0,0 +1,53 @@
/obj/item/weapon/gun/projectile/revolvershotgun
name = "jackhammer, probably"
desc = "Uses 12g rounds."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "shotgun-mag"
item_state = null
w_class = ITEMSIZE_LARGE
force = 10
caliber = "12g"
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_ILLEGAL = 2)
slot_flags = SLOT_BACK|SLOT_BELT|SLOT_HOLSTER
handle_casings = CYCLE_CASINGS
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m12gdrumjack/beanbag
allowed_magazines = list(/obj/item/ammo_magazine/m12gdrumjack)
projectile_type = /obj/item/projectile/bullet/shotgun
/obj/item/weapon/gun/projectile/revolvershotgun/update_icon()
..()
if(ammo_magazine)
icon_state = "shotgun-mag"
else
icon_state = "shotgun-empty"
return
/obj/item/ammo_magazine/m12gdrumjack
name = "drum magazine (12 gauge slug)"
desc = "A magazine for a revolver shotgun."
icon = 'icons/obj/ammo_yw.dmi'
icon_state = "12g"
mag_type = MAGAZINE
caliber = "12g"
matter = list(DEFAULT_WALL_MATERIAL = 13000) //did the math. now fixed the exploityness of this thing. Have fun!
ammo_type = /obj/item/ammo_casing/a12g
max_ammo = 8
multiple_sprites = 1
/obj/item/ammo_magazine/m12gdrumjack/beanbag
name = "drum magazine (12 gauge beanbag)"
ammo_type = /obj/item/ammo_casing/a12g/beanbag
/obj/item/ammo_magazine/m12gdrumjack/pellet
name = "drum magazine (12 gauge pellet)"
ammo_type = /obj/item/ammo_casing/a12g/pellet
/obj/item/ammo_magazine/m12gdrumjack/flash
name = "drum magazine (12 gauge flash)"
ammo_type = /obj/item/ammo_casing/a12g/flash
/obj/item/ammo_magazine/m12gdrumjack/empty
name = "drum magazine (12 gauge)"
initial_ammo = 0

BIN
icons/obj/ammo_yw.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

View File

@@ -949,6 +949,7 @@
#include "code\game\objects\items\glassjar.dm"
#include "code\game\objects\items\gunbox.dm"
#include "code\game\objects\items\gunbox_vr.dm"
#include "code\game\objects\items\gunbox_yw.dm"
#include "code\game\objects\items\latexballoon.dm"
#include "code\game\objects\items\paintkit.dm"
#include "code\game\objects\items\poi_items.dm"
@@ -2534,6 +2535,7 @@
#include "code\modules\projectiles\guns\projectile\revolver_yw.dm"
#include "code\modules\projectiles\guns\projectile\semiauto.dm"
#include "code\modules\projectiles\guns\projectile\shotgun.dm"
#include "code\modules\projectiles\guns\projectile\shotgun_yw.dm"
#include "code\modules\projectiles\guns\projectile\sniper.dm"
#include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm"
#include "code\modules\projectiles\projectile\animate.dm"