mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
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:
39
code/game/objects/items/gunbox_yw.dm
Normal file
39
code/game/objects/items/gunbox_yw.dm
Normal 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)
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
|
||||
|
||||
@@ -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"]"
|
||||
|
||||
|
||||
53
code/modules/projectiles/guns/projectile/shotgun_yw.dm
Normal file
53
code/modules/projectiles/guns/projectile/shotgun_yw.dm
Normal 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
BIN
icons/obj/ammo_yw.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 474 B |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user