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:
necromanceranne
2021-02-15 16:33:48 +11:00
committed by GitHub
parent ddbe0daa14
commit efa1f8088f
13 changed files with 25 additions and 42 deletions

View File

@@ -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
}, },

View File

@@ -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)

View File

@@ -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,

View File

@@ -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"

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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,

View File

@@ -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