mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-16 04:34:21 +00:00
Sprite fixes: Suppressed Sniper Rifles and Donksoft Pistols (#56754)
* Gives the sniper rifle a suppressor overlay so that it no longer shows up as missing a sprite, also fixes donksoft pistols by repathing them from pistols over repathing them from toy saber smgs. Creates a flag for checking if a gun needs a toy overlay, so it is handled in the parent.
This commit is contained in:
@@ -5841,7 +5841,7 @@
|
|||||||
/area/maintenance/starboard/fore)
|
/area/maintenance/starboard/fore)
|
||||||
"asc" = (
|
"asc" = (
|
||||||
/obj/structure/table/wood,
|
/obj/structure/table/wood,
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted,
|
/obj/item/gun/ballistic/automatic/pistol/toy,
|
||||||
/obj/effect/turf_decal/tile/neutral{
|
/obj/effect/turf_decal/tile/neutral{
|
||||||
dir = 1
|
dir = 1
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -73,6 +73,9 @@
|
|||||||
/// Flags for the pod_flags var on /obj/structure/closet/supplypod
|
/// Flags for the pod_flags var on /obj/structure/closet/supplypod
|
||||||
#define FIRST_SOUNDS (1<<0) // If it shouldn't play sounds the first time it lands, used for reverse mode
|
#define FIRST_SOUNDS (1<<0) // If it shouldn't play sounds the first time it lands, used for reverse mode
|
||||||
|
|
||||||
|
/// Flags for the gun_flags var for firearms
|
||||||
|
#define TOY_FIREARM_OVERLAY (1<<0) // If update_overlay would add some indicator that the gun is a toy, like a plastic cap on a pistol
|
||||||
|
|
||||||
/// Flags for sharpness in obj/item
|
/// Flags for sharpness in obj/item
|
||||||
#define SHARP_EDGED (1<<0)
|
#define SHARP_EDGED (1<<0)
|
||||||
#define SHARP_POINTY (1<<1)
|
#define SHARP_POINTY (1<<1)
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
STR.set_holdable(list(
|
STR.set_holdable(list(
|
||||||
/obj/item/gun/ballistic/automatic/pistol,
|
/obj/item/gun/ballistic/automatic/pistol,
|
||||||
/obj/item/gun/ballistic/revolver,
|
/obj/item/gun/ballistic/revolver,
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol,
|
|
||||||
/obj/item/gun/energy/e_gun/mini,
|
/obj/item/gun/energy/e_gun/mini,
|
||||||
/obj/item/gun/energy/disabler,
|
/obj/item/gun/energy/disabler,
|
||||||
/obj/item/gun/energy/dueling
|
/obj/item/gun/energy/dueling
|
||||||
@@ -49,7 +48,6 @@
|
|||||||
/obj/item/ammo_box/c38, // Revolver speedloaders.
|
/obj/item/ammo_box/c38, // Revolver speedloaders.
|
||||||
/obj/item/ammo_box/a357,
|
/obj/item/ammo_box/a357,
|
||||||
/obj/item/ammo_box/a762,
|
/obj/item/ammo_box/a762,
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol,
|
|
||||||
/obj/item/ammo_box/magazine/toy/pistol,
|
/obj/item/ammo_box/magazine/toy/pistol,
|
||||||
/obj/item/gun/energy/e_gun/mini,
|
/obj/item/gun/energy/e_gun/mini,
|
||||||
/obj/item/gun/energy/disabler,
|
/obj/item/gun/energy/disabler,
|
||||||
@@ -108,7 +106,6 @@
|
|||||||
/obj/item/ammo_box/c38,
|
/obj/item/ammo_box/c38,
|
||||||
/obj/item/ammo_box/a357,
|
/obj/item/ammo_box/a357,
|
||||||
/obj/item/ammo_box/a762,
|
/obj/item/ammo_box/a762,
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol,
|
|
||||||
/obj/item/ammo_box/magazine/toy/pistol,
|
/obj/item/ammo_box/magazine/toy/pistol,
|
||||||
/obj/item/gun/energy/kinetic_accelerator/crossbow,
|
/obj/item/gun/energy/kinetic_accelerator/crossbow,
|
||||||
/obj/item/gun/energy/e_gun/mini,
|
/obj/item/gun/energy/e_gun/mini,
|
||||||
|
|||||||
@@ -2176,8 +2176,8 @@
|
|||||||
desc = "Psst.. hey bud... remember those old foam force pistols that got discontinued for being too cool? Well I got two of those right here with your name on em. I'll even throw in a spare mag for each, waddya say?"
|
desc = "Psst.. hey bud... remember those old foam force pistols that got discontinued for being too cool? Well I got two of those right here with your name on em. I'll even throw in a spare mag for each, waddya say?"
|
||||||
contraband = TRUE
|
contraband = TRUE
|
||||||
cost = CARGO_CRATE_VALUE * 8
|
cost = CARGO_CRATE_VALUE * 8
|
||||||
contains = list(/obj/item/gun/ballistic/automatic/toy/pistol,
|
contains = list(/obj/item/gun/ballistic/automatic/pistol/toy,
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol,
|
/obj/item/gun/ballistic/automatic/pistol/toy,
|
||||||
/obj/item/ammo_box/magazine/toy/pistol,
|
/obj/item/ammo_box/magazine/toy/pistol,
|
||||||
/obj/item/ammo_box/magazine/toy/pistol)
|
/obj/item/ammo_box/magazine/toy/pistol)
|
||||||
crate_name = "foam force crate"
|
crate_name = "foam force crate"
|
||||||
|
|||||||
@@ -221,7 +221,7 @@
|
|||||||
for(var/i in 1 to 4)
|
for(var/i in 1 to 4)
|
||||||
new /obj/item/clothing/mask/balaclava(src)
|
new /obj/item/clothing/mask/balaclava(src)
|
||||||
new /obj/item/gun/ballistic/shotgun/toy(src)
|
new /obj/item/gun/ballistic/shotgun/toy(src)
|
||||||
new /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted(src)
|
new /obj/item/gun/ballistic/automatic/pistol/toy(src)
|
||||||
new /obj/item/gun/ballistic/automatic/toy/unrestricted(src)
|
new /obj/item/gun/ballistic/automatic/toy/unrestricted(src)
|
||||||
new /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted(src)
|
new /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted(src)
|
||||||
new /obj/item/ammo_box/foambox(src)
|
new /obj/item/ammo_box/foambox(src)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
attack_verb_continuous = list("strikes", "hits", "bashes")
|
attack_verb_continuous = list("strikes", "hits", "bashes")
|
||||||
attack_verb_simple = list("strike", "hit", "bash")
|
attack_verb_simple = list("strike", "hit", "bash")
|
||||||
|
|
||||||
|
var/gun_flags = NONE
|
||||||
var/fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
|
var/fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
|
||||||
var/vary_fire_sound = TRUE
|
var/vary_fire_sound = TRUE
|
||||||
var/fire_sound_volume = 50
|
var/fire_sound_volume = 50
|
||||||
|
|||||||
@@ -153,6 +153,10 @@
|
|||||||
. += MA
|
. += MA
|
||||||
if(!chambered && empty_indicator) //this is duplicated in c20's update_overlayss due to a layering issue with the select fire icon.
|
if(!chambered && empty_indicator) //this is duplicated in c20's update_overlayss due to a layering issue with the select fire icon.
|
||||||
. += "[icon_state]_empty"
|
. += "[icon_state]_empty"
|
||||||
|
|
||||||
|
if(gun_flags & TOY_FIREARM_OVERLAY)
|
||||||
|
. += "[icon_state]_toy"
|
||||||
|
|
||||||
if (magazine && !internal_magazine)
|
if (magazine && !internal_magazine)
|
||||||
if (special_mags)
|
if (special_mags)
|
||||||
. += "[icon_state]_mag_[initial(magazine.icon_state)]"
|
. += "[icon_state]_mag_[initial(magazine.icon_state)]"
|
||||||
@@ -177,7 +181,6 @@
|
|||||||
if (capacity_number)
|
if (capacity_number)
|
||||||
. += "[icon_state]_mag_[capacity_number]"
|
. += "[icon_state]_mag_[capacity_number]"
|
||||||
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/process_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE)
|
/obj/item/gun/ballistic/process_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE)
|
||||||
if(!semi_auto && from_firing)
|
if(!semi_auto && from_firing)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -339,6 +339,8 @@
|
|||||||
slot_flags = ITEM_SLOT_BACK
|
slot_flags = ITEM_SLOT_BACK
|
||||||
actions_types = list()
|
actions_types = list()
|
||||||
mag_display = TRUE
|
mag_display = TRUE
|
||||||
|
suppressor_x_offset = 3
|
||||||
|
suppressor_y_offset = 3
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate
|
/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate
|
||||||
name = "syndicate sniper rifle"
|
name = "syndicate sniper rifle"
|
||||||
|
|||||||
@@ -12,40 +12,26 @@
|
|||||||
can_suppress = TRUE
|
can_suppress = TRUE
|
||||||
clumsy_check = FALSE
|
clumsy_check = FALSE
|
||||||
item_flags = NONE
|
item_flags = NONE
|
||||||
|
gun_flags = TOY_FIREARM_OVERLAY
|
||||||
casing_ejector = FALSE
|
casing_ejector = FALSE
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/toy/update_overlays()
|
|
||||||
. = ..()
|
|
||||||
. += "[icon_state]_toy"
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/toy/unrestricted
|
/obj/item/gun/ballistic/automatic/toy/unrestricted
|
||||||
pin = /obj/item/firing_pin
|
pin = /obj/item/firing_pin
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol
|
/obj/item/gun/ballistic/automatic/pistol/toy
|
||||||
name = "foam force pistol"
|
name = "foam force pistol"
|
||||||
desc = "A small, easily concealable toy handgun. Ages 8 and up."
|
desc = "A small, easily concealable toy handgun. Ages 8 and up."
|
||||||
icon_state = "pistol"
|
|
||||||
bolt_type = BOLT_TYPE_LOCKING
|
|
||||||
w_class = WEIGHT_CLASS_SMALL
|
|
||||||
mag_type = /obj/item/ammo_box/magazine/toy/pistol
|
mag_type = /obj/item/ammo_box/magazine/toy/pistol
|
||||||
fire_sound = 'sound/items/syringeproj.ogg'
|
fire_sound = 'sound/items/syringeproj.ogg'
|
||||||
burst_size = 1
|
gun_flags = TOY_FIREARM_OVERLAY
|
||||||
fire_delay = 0
|
|
||||||
actions_types = list()
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol/riot
|
/obj/item/gun/ballistic/automatic/pistol/toy/riot
|
||||||
mag_type = /obj/item/ammo_box/magazine/toy/pistol/riot
|
mag_type = /obj/item/ammo_box/magazine/toy/pistol/riot
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol/riot/Initialize()
|
/obj/item/gun/ballistic/automatic/pistol/riot/Initialize()
|
||||||
magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src)
|
magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted
|
|
||||||
pin = /obj/item/firing_pin
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol/riot/unrestricted
|
|
||||||
pin = /obj/item/firing_pin
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/shotgun/toy
|
/obj/item/gun/ballistic/shotgun/toy
|
||||||
name = "foam force shotgun"
|
name = "foam force shotgun"
|
||||||
desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up."
|
desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up."
|
||||||
@@ -58,10 +44,7 @@
|
|||||||
casing_ejector = FALSE
|
casing_ejector = FALSE
|
||||||
can_suppress = FALSE
|
can_suppress = FALSE
|
||||||
pb_knockback = 0
|
pb_knockback = 0
|
||||||
|
gun_flags = TOY_FIREARM_OVERLAY
|
||||||
/obj/item/gun/ballistic/shotgun/toy/update_overlays()
|
|
||||||
. = ..()
|
|
||||||
. += "[icon_state]_toy"
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/shotgun/toy/process_chamber(empty_chamber = 0)
|
/obj/item/gun/ballistic/shotgun/toy/process_chamber(empty_chamber = 0)
|
||||||
..()
|
..()
|
||||||
@@ -92,6 +75,7 @@
|
|||||||
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
|
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
|
||||||
casing_ejector = FALSE
|
casing_ejector = FALSE
|
||||||
clumsy_check = FALSE
|
clumsy_check = FALSE
|
||||||
|
gun_flags = TOY_FIREARM_OVERLAY
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted //Use this for actual toys
|
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted //Use this for actual toys
|
||||||
pin = /obj/item/firing_pin
|
pin = /obj/item/firing_pin
|
||||||
@@ -100,10 +84,6 @@
|
|||||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot
|
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot
|
||||||
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
|
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/c20r/toy/update_overlays()
|
|
||||||
. = ..()
|
|
||||||
. += "[icon_state]_toy"
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/l6_saw/toy //This is the syndicate variant with syndicate firing pin and riot darts.
|
/obj/item/gun/ballistic/automatic/l6_saw/toy //This is the syndicate variant with syndicate firing pin and riot darts.
|
||||||
name = "donksoft LMG"
|
name = "donksoft LMG"
|
||||||
desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up."
|
desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up."
|
||||||
@@ -113,6 +93,7 @@
|
|||||||
mag_type = /obj/item/ammo_box/magazine/toy/m762/riot
|
mag_type = /obj/item/ammo_box/magazine/toy/m762/riot
|
||||||
casing_ejector = FALSE
|
casing_ejector = FALSE
|
||||||
clumsy_check = FALSE
|
clumsy_check = FALSE
|
||||||
|
gun_flags = TOY_FIREARM_OVERLAY
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted //Use this for actual toys
|
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted //Use this for actual toys
|
||||||
pin = /obj/item/firing_pin
|
pin = /obj/item/firing_pin
|
||||||
@@ -120,7 +101,3 @@
|
|||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot
|
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot
|
||||||
mag_type = /obj/item/ammo_box/magazine/toy/m762/riot
|
mag_type = /obj/item/ammo_box/magazine/toy/m762/riot
|
||||||
|
|
||||||
/obj/item/gun/ballistic/automatic/l6_saw/toy/update_overlays()
|
|
||||||
. = ..()
|
|
||||||
. += "[icon_state]_toy"
|
|
||||||
|
|||||||
@@ -550,7 +550,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
|||||||
name = "Toy Pistol with Riot Darts"
|
name = "Toy Pistol with Riot Darts"
|
||||||
desc = "An innocent-looking toy pistol designed to fire foam darts. Comes loaded with riot-grade \
|
desc = "An innocent-looking toy pistol designed to fire foam darts. Comes loaded with riot-grade \
|
||||||
darts effective at incapacitating a target."
|
darts effective at incapacitating a target."
|
||||||
item = /obj/item/gun/ballistic/automatic/toy/pistol/riot
|
item = /obj/item/gun/ballistic/automatic/pistol/toy/riot
|
||||||
cost = 2
|
cost = 2
|
||||||
surplus = 10
|
surplus = 10
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
vend_reply = "Come back for more!"
|
vend_reply = "Come back for more!"
|
||||||
circuit = /obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor
|
circuit = /obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor
|
||||||
products = list(/obj/item/gun/ballistic/automatic/toy/unrestricted = 10,
|
products = list(/obj/item/gun/ballistic/automatic/toy/unrestricted = 10,
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10,
|
/obj/item/gun/ballistic/automatic/pistol/toy = 10,
|
||||||
/obj/item/gun/ballistic/shotgun/toy/unrestricted = 10,
|
/obj/item/gun/ballistic/shotgun/toy/unrestricted = 10,
|
||||||
/obj/item/toy/sword = 10,
|
/obj/item/toy/sword = 10,
|
||||||
/obj/item/ammo_box/foambox = 20,
|
/obj/item/ammo_box/foambox = 20,
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
circuit = /obj/item/circuitboard/machine/vending/donksofttoyvendor
|
circuit = /obj/item/circuitboard/machine/vending/donksofttoyvendor
|
||||||
products = list(
|
products = list(
|
||||||
/obj/item/gun/ballistic/automatic/toy/unrestricted = 10,
|
/obj/item/gun/ballistic/automatic/toy/unrestricted = 10,
|
||||||
/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10,
|
/obj/item/gun/ballistic/automatic/pistol/toy = 10,
|
||||||
/obj/item/gun/ballistic/shotgun/toy/unrestricted = 10,
|
/obj/item/gun/ballistic/shotgun/toy/unrestricted = 10,
|
||||||
/obj/item/toy/sword = 10,
|
/obj/item/toy/sword = 10,
|
||||||
/obj/item/ammo_box/foambox = 20,
|
/obj/item/ammo_box/foambox = 20,
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 32 KiB |
Reference in New Issue
Block a user