[MIRROR] Splits ballistic firearms "mag_type" into "accepted_magazine_type" and "spawn_magazine_type", fixing a few funny magazine bugs [MDB IGNORE] (#22680)

* Splits ballistic firearms "mag_type" into "accepted_magazine_type" and "spawn_magazine_type", fixing a few funny magazine bugs (#76973)

## About The Pull Request

As the title says, mag type has been split into two variable that do
different things:

Accepted magazine type handles what magazines that gun will accept, type
and any subtypes. If spawn magazine type isnt defined, then it will be
made equal to accepted magazine type to prevent having to double define
magazines on every gun ever.

Spawn magazine type is separate from accepted magazine type, spawn
magazine type is what magazine the gun will actually spawn with. This
exists because there are a few weapons which are made to spawn with
special magazines, that can't use normal magazines anymore. For example,
the riot dart pre-loaded donk soft pistol can only ever be reloaded with
the riot subtype of donk soft magazines at the moment. This isn't
typically something people notice because new magazines are usually not
a thing people come by with these specific weapons, but its a problem I
noticed while coding some weapons.
## Why It's Good For The Game

In short, certain weapons (mostly donksoft weapons, but there's a single
traitor pistol subtype that spawns with fire ammo) will no longer be
limited to the exact subtype of magazine they spawned with, allowing
them to use the normal versions of those magazines as well.
## Changelog
🆑
refactor: The mag_type variable on guns has been split between
accepted_magazine_type and spawn_magazine_type, allowing weapons to
safely spawn with subtypes of their normal magazines without breaking
the weapon
fix: Several weapons that spawned with special magazines, the riot dart
pre-loaded donk pistol for example, will now be able to accept normal
donksoft magazines that don't spawn loaded with riot darts.
/🆑

* Splits ballistic firearms "mag_type" into "accepted_magazine_type" and "spawn_magazine_type", fixing a few funny magazine bugs

* merge conflict

* merge conflict continued

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-07-25 20:24:07 -04:00
committed by GitHub
co-authored by Paxilmaniac Giz
parent 684e81677e
commit 39bdedc029
54 changed files with 183 additions and 175 deletions
@@ -1109,7 +1109,7 @@ DEFINE_BITFIELD(turret_flags, list(
/obj/item/gun/ballistic/get_turret_properties()
. = ..()
var/obj/item/ammo_box/mag = mag_type
var/obj/item/ammo_box/mag = spawn_magazine_type
var/obj/item/ammo_casing/primary_ammo = initial(mag.ammo_type)
.["base_icon_state"] = "syndie"
+1 -1
View File
@@ -187,7 +187,7 @@ GLOBAL_LIST_INIT(mystery_box_extended, list(
if(grant_extra_mag && istype(instantiated_gun, /obj/item/gun/ballistic))
var/obj/item/gun/ballistic/instantiated_ballistic = instantiated_gun
if(!instantiated_ballistic.internal_magazine)
var/obj/item/ammo_box/magazine/extra_mag = new instantiated_ballistic.mag_type(loc)
var/obj/item/ammo_box/magazine/extra_mag = new instantiated_ballistic.spawn_magazine_type(loc)
user.put_in_hands(extra_mag)
user.visible_message(span_notice("[user] takes [presented_item] from [src]."), span_notice("You take [presented_item] from [src]."), vision_distance = COMBAT_MESSAGE_RANGE)
@@ -11,7 +11,7 @@
icon_state = "moistprime"
inhand_icon_state = "moistprime"
worn_icon_state = "moistprime"
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/lionhunter
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/lionhunter
fire_sound = 'sound/weapons/gun/sniper/shot.ogg'
/obj/item/gun/ballistic/rifle/lionhunter/Initialize(mapload)
+16 -16
View File
@@ -37,7 +37,7 @@
// LASER RIFLE
/obj/item/gun/ballistic/automatic/laser/ctf
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle
desc = "This looks like it could really hurt in melee."
force = 50
weapon_weight = WEAPON_HEAVY
@@ -70,7 +70,7 @@
inhand_icon_state = "shotgun_combat"
worn_icon_state = "gun"
slot_flags = null
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun
empty_indicator = TRUE
fire_sound = 'sound/weapons/gun/shotgun/shot_alt.ogg'
semi_auto = TRUE
@@ -103,7 +103,7 @@
name = "designated marksman rifle"
icon_state = "ctfmarksman"
inhand_icon_state = "ctfmarksman"
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman
fire_delay = 1 SECONDS
/obj/item/ammo_box/magazine/recharge/ctf/marksman
@@ -125,7 +125,7 @@
/obj/item/gun/ballistic/automatic/pistol/deagle/ctf
desc = "This looks like it could really hurt in melee."
force = 75
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/deagle
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/deagle
/obj/item/gun/ballistic/automatic/pistol/deagle/ctf/Initialize(mapload)
. = ..()
@@ -236,7 +236,7 @@
// Rifle
/obj/item/gun/ballistic/automatic/laser/ctf/red
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/red
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/red
/obj/item/ammo_box/magazine/recharge/ctf/rifle/red
ammo_type = /obj/item/ammo_casing/laser/ctf/rifle/red
@@ -252,7 +252,7 @@
// Shotgun
/obj/item/gun/ballistic/shotgun/ctf/red
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/red
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/red
/obj/item/ammo_box/magazine/recharge/ctf/shotgun/red
ammo_type = /obj/item/ammo_casing/laser/ctf/shotgun/red
@@ -268,7 +268,7 @@
// DMR
/obj/item/gun/ballistic/automatic/laser/ctf/marksman/red
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/red
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/red
/obj/item/ammo_box/magazine/recharge/ctf/marksman/red
ammo_type = /obj/item/ammo_casing/laser/ctf/marksman/red
@@ -302,7 +302,7 @@
// Rifle
/obj/item/gun/ballistic/automatic/laser/ctf/blue
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/blue
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/blue
/obj/item/ammo_box/magazine/recharge/ctf/rifle/blue
ammo_type = /obj/item/ammo_casing/laser/ctf/rifle/blue
@@ -316,7 +316,7 @@
// Shotgun
/obj/item/gun/ballistic/shotgun/ctf/blue
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/blue
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/blue
/obj/item/ammo_box/magazine/recharge/ctf/shotgun/blue
ammo_type = /obj/item/ammo_casing/laser/ctf/shotgun/blue
@@ -331,7 +331,7 @@
// DMR
/obj/item/gun/ballistic/automatic/laser/ctf/marksman/blue
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/blue
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/blue
/obj/item/ammo_box/magazine/recharge/ctf/marksman/blue
ammo_type = /obj/item/ammo_casing/laser/ctf/marksman/blue
@@ -361,7 +361,7 @@
// Rifle
/obj/item/gun/ballistic/automatic/laser/ctf/green
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/green
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/green
/obj/item/ammo_box/magazine/recharge/ctf/rifle/green
ammo_type = /obj/item/ammo_casing/laser/ctf/rifle/green
@@ -377,7 +377,7 @@
// Shotgun
/obj/item/gun/ballistic/shotgun/ctf/green
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/green
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/green
/obj/item/ammo_box/magazine/recharge/ctf/shotgun/green
ammo_type = /obj/item/ammo_casing/laser/ctf/shotgun/green
@@ -393,7 +393,7 @@
// DMR
/obj/item/gun/ballistic/automatic/laser/ctf/marksman/green
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/green
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/green
/obj/item/ammo_box/magazine/recharge/ctf/marksman/green
ammo_type = /obj/item/ammo_casing/laser/ctf/marksman/green
@@ -427,7 +427,7 @@
// Rifle
/obj/item/gun/ballistic/automatic/laser/ctf/yellow
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/yellow
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/rifle/yellow
/obj/item/ammo_box/magazine/recharge/ctf/rifle/yellow
ammo_type = /obj/item/ammo_casing/laser/ctf/rifle/yellow
@@ -443,7 +443,7 @@
// Shotgun
/obj/item/gun/ballistic/shotgun/ctf/yellow
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/yellow
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/shotgun/yellow
/obj/item/ammo_box/magazine/recharge/ctf/shotgun/yellow
ammo_type = /obj/item/ammo_casing/laser/ctf/shotgun/yellow
@@ -459,7 +459,7 @@
// DMR
/obj/item/gun/ballistic/automatic/laser/ctf/marksman/yellow
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/yellow
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/ctf/marksman/yellow
/obj/item/ammo_box/magazine/recharge/ctf/marksman/yellow
ammo_type = /obj/item/ammo_casing/laser/ctf/marksman/yellow
+1 -1
View File
@@ -980,7 +980,7 @@
if(istype(gun_to_set, /obj/item/gun/ballistic))
var/obj/item/gun/ballistic/ball_gun = gun_to_set
var/obj/item/ammo_box/ball_ammo = new ball_gun.mag_type(gun_to_set)
var/obj/item/ammo_box/ball_ammo = new ball_gun.spawn_magazine_type(gun_to_set)
qdel(ball_gun)
if(!istype(ball_ammo) || !ball_ammo.ammo_type)
@@ -233,7 +233,7 @@ GLOBAL_LIST_INIT(animatable_blacklist, list(/obj/structure/table, /obj/structure
projectiletype = initial(M.projectile_type)
if(istype(G, /obj/item/gun/ballistic))
Pewgun = G
var/obj/item/ammo_box/magazine/M = Pewgun.mag_type
var/obj/item/ammo_box/magazine/M = Pewgun.spawn_magazine_type
casingtype = initial(M.ammo_type)
if(istype(G, /obj/item/gun/energy))
Zapgun = G
+14 -8
View File
@@ -47,10 +47,12 @@
///Whether our gun clicks when it approaches an empty magazine/chamber
var/click_on_low_ammo = TRUE
///Whether the gun will spawn loaded with a magazine
/// What type (includes subtypes) of magazine will this gun accept being put into it
var/obj/item/ammo_box/magazine/accepted_magazine_type = /obj/item/ammo_box/magazine/m10mm
/// Whether the gun will spawn loaded with a magazine
var/spawnwithmagazine = TRUE
///Compatible magazines with the gun
var/obj/item/ammo_box/magazine/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info
/// Change this if the gun should spawn with a different magazine type to what accepted_magazine_type defines. Will create errors if not a type or subtype of accepted magazine.
var/obj/item/ammo_box/magazine/spawn_magazine_type
///Whether the sprite has a visible magazine or not
var/mag_display = TRUE
///Whether the sprite has a visible ammo display or not
@@ -130,12 +132,16 @@
/obj/item/gun/ballistic/Initialize(mapload)
. = ..()
if(!spawn_magazine_type)
spawn_magazine_type = accepted_magazine_type
if (!spawnwithmagazine)
bolt_locked = TRUE
update_appearance()
return
if (!magazine)
magazine = new mag_type(src)
magazine = new spawn_magazine_type(src)
if(!istype(magazine, accepted_magazine_type))
CRASH("[src] spawned with a magazine type that isn't allowed by its accepted_magazine_type!")
if(bolt_type == BOLT_TYPE_STANDARD || internal_magazine) //Internal magazines shouldn't get magazine + 1.
chamber_round()
else
@@ -151,7 +157,7 @@
AddElement(/datum/element/weapon_description, attached_proc = PROC_REF(add_notes_ballistic))
/obj/item/gun/ballistic/fire_sounds()
var/max_ammo = magazine?.max_ammo || initial(mag_type.max_ammo)
var/max_ammo = magazine?.max_ammo || initial(spawn_magazine_type.max_ammo)
var/current_ammo = get_ammo()
var/frequency_to_use = sin((90 / max_ammo) * current_ammo)
var/click_frequency_to_use = 1 - frequency_to_use * 0.75
@@ -303,7 +309,7 @@
///Handles all the logic needed for magazine insertion
/obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE)
if(!istype(AM, mag_type))
if(!istype(AM, accepted_magazine_type))
balloon_alert(user, "[AM.name] doesn't fit!")
return FALSE
if(user.transferItemToLoc(AM, src))
@@ -702,9 +708,9 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
if(magazine)
magazine.top_off()
else
if(!mag_type)
if(!spawn_magazine_type)
return
magazine = new mag_type(src)
magazine = new spawn_magazine_type(src)
chamber_round()
update_appearance()
@@ -53,7 +53,7 @@
actions_types = list()
mag_display = TRUE
empty_indicator = TRUE
mag_type = /obj/item/ammo_box/magazine/smgm9mm
accepted_magazine_type = /obj/item/ammo_box/magazine/smgm9mm
pin = null
bolt_type = BOLT_TYPE_LOCKING
show_bolt_icon = FALSE
@@ -71,7 +71,7 @@
icon_state = "c20r"
inhand_icon_state = "c20r"
selector_switch_icon = TRUE
mag_type = /obj/item/ammo_box/magazine/smgm45
accepted_magazine_type = /obj/item/ammo_box/magazine/smgm45
fire_delay = 2
burst_size = 3
pin = /obj/item/firing_pin/implant/pindicate
@@ -104,7 +104,7 @@
icon_state = "wt550"
w_class = WEIGHT_CLASS_BULKY
inhand_icon_state = "arg"
mag_type = /obj/item/ammo_box/magazine/wt550m9
accepted_magazine_type = /obj/item/ammo_box/magazine/wt550m9
fire_delay = 2
can_suppress = FALSE
burst_size = 1
@@ -125,7 +125,7 @@
desc = "An ancient 9mm submachine gun pattern updated and simplified to lower costs, though perhaps simplified too much."
icon_state = "plastikov"
inhand_icon_state = "plastikov"
mag_type = /obj/item/ammo_box/magazine/plastikov9mm
accepted_magazine_type = /obj/item/ammo_box/magazine/plastikov9mm
burst_size = 5
spread = 25
can_suppress = FALSE
@@ -139,7 +139,7 @@
name = "\improper Type U3 Uzi"
desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds."
icon_state = "miniuzi"
mag_type = /obj/item/ammo_box/magazine/uzim9mm
accepted_magazine_type = /obj/item/ammo_box/magazine/uzim9mm
burst_size = 2
bolt_type = BOLT_TYPE_OPEN
show_bolt_icon = FALSE
@@ -154,7 +154,7 @@
w_class = WEIGHT_CLASS_BULKY
inhand_icon_state = "m90"
selector_switch_icon = TRUE
mag_type = /obj/item/ammo_box/magazine/m556
accepted_magazine_type = /obj/item/ammo_box/magazine/m556
can_suppress = FALSE
var/obj/item/gun/ballistic/revolver/grenadelauncher/underbarrel
burst_size = 3
@@ -210,7 +210,7 @@
selector_switch_icon = TRUE
w_class = WEIGHT_CLASS_BULKY
slot_flags = 0
mag_type = /obj/item/ammo_box/magazine/tommygunm45
accepted_magazine_type = /obj/item/ammo_box/magazine/tommygunm45
can_suppress = FALSE
burst_size = 1
actions_types = list()
@@ -229,7 +229,7 @@
icon_state = "arg"
inhand_icon_state = "arg"
slot_flags = 0
mag_type = /obj/item/ammo_box/magazine/m556
accepted_magazine_type = /obj/item/ammo_box/magazine/m556
can_suppress = FALSE
burst_size = 3
fire_delay = 1
@@ -244,7 +244,7 @@
base_icon_state = "l6"
w_class = WEIGHT_CLASS_HUGE
slot_flags = 0
mag_type = /obj/item/ammo_box/magazine/mm712x82
accepted_magazine_type = /obj/item/ammo_box/magazine/mm712x82
weapon_weight = WEAPON_HEAVY
burst_size = 1
actions_types = list()
@@ -314,7 +314,7 @@
..()
/obj/item/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
if(!cover_open && istype(A, mag_type))
if(!cover_open && istype(A, accepted_magazine_type))
balloon_alert(user, "open the cover!")
return
..()
@@ -332,7 +332,7 @@
inhand_y_dimension = 64
worn_icon_state = null
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/m10mm/rifle
accepted_magazine_type = /obj/item/ammo_box/magazine/m10mm/rifle
fire_delay = 30
burst_size = 1
can_unsuppress = TRUE
@@ -350,7 +350,7 @@
icon_state = "oldrifle"
w_class = WEIGHT_CLASS_BULKY
inhand_icon_state = "arg"
mag_type = /obj/item/ammo_box/magazine/recharge
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge
empty_indicator = TRUE
fire_delay = 2
can_suppress = FALSE
@@ -10,7 +10,7 @@
base_icon_state = "bow"
load_sound = 'sound/weapons/gun/general/ballistic_click.ogg'
fire_sound = 'sound/weapons/gun/bow/bow_fire.ogg'
mag_type = /obj/item/ammo_box/magazine/internal/bow
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/bow
force = 15
pinless = TRUE
attack_verb_continuous = list("whipped", "cracked")
@@ -14,7 +14,7 @@
worn_icon_state = "holybow"
slot_flags = ITEM_SLOT_BACK
obj_flags = UNIQUE_RENAME
mag_type = /obj/item/ammo_box/magazine/internal/bow/holy
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/bow/holy
/obj/item/ammo_box/magazine/internal/bow/holy
name = "divine bowstring"
@@ -6,7 +6,7 @@
name = "grenade launcher"
icon_state = "dshotgun_sawn"
inhand_icon_state = "gun"
mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/grenadelauncher
fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg'
w_class = WEIGHT_CLASS_NORMAL
pin = /obj/item/firing_pin/implant/pindicate
@@ -25,7 +25,7 @@
name = "multi grenade launcher"
icon = 'icons/mob/mecha_equipment.dmi'
icon_state = "mecha_grenadelnchr"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/grenademulti
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/grenademulti
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/revolver/grenadelauncher/cyborg/attack_self()
@@ -36,7 +36,7 @@
desc = "A prototype pistol designed to fire self propelled rockets."
icon_state = "gyropistol"
fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg'
mag_type = /obj/item/ammo_box/magazine/m75
accepted_magazine_type = /obj/item/ammo_box/magazine/m75
burst_size = 1
fire_delay = 0
casing_ejector = FALSE
@@ -47,7 +47,7 @@
A sticker near the cheek rest reads, \"ENSURE AREA BEHIND IS CLEAR BEFORE FIRING\""
icon_state = "rocketlauncher"
inhand_icon_state = "rocketlauncher"
mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/rocketlauncher
fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg'
w_class = WEIGHT_CLASS_BULKY
can_suppress = FALSE
@@ -4,7 +4,7 @@
desc = "A small, easily concealable 9x25mm Mk.12 handgun. Has a threaded barrel for suppressors." // SKYRAT EDIT: Calibre rename
icon_state = "pistol"
w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/m9mm
accepted_magazine_type = /obj/item/ammo_box/magazine/m9mm
can_suppress = TRUE
burst_size = 1
fire_delay = 0
@@ -29,7 +29,7 @@
spawnwithmagazine = FALSE
/obj/item/gun/ballistic/automatic/pistol/fire_mag
mag_type = /obj/item/ammo_box/magazine/m9mm/fire
spawn_magazine_type = /obj/item/ammo_box/magazine/m9mm/fire
/obj/item/gun/ballistic/automatic/pistol/suppressed/Initialize(mapload)
. = ..()
@@ -40,7 +40,7 @@
name = "\improper Ansem pistol"
desc = "The spiritual successor of the Makarov, or maybe someone just dropped their gun in a bucket of paint. The gun is chambered in 10mm."
icon_state = "pistol_evil"
mag_type = /obj/item/ammo_box/magazine/m10mm
accepted_magazine_type = /obj/item/ammo_box/magazine/m10mm
empty_indicator = TRUE
suppressor_x_offset = 12
@@ -49,7 +49,7 @@
desc = "A classic .45 handgun with a small magazine capacity."
icon_state = "m1911"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/m45
accepted_magazine_type = /obj/item/ammo_box/magazine/m45
can_suppress = FALSE
fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -64,7 +64,7 @@
desc = "A robust .50 AE handgun."
icon_state = "deagle"
force = 14
mag_type = /obj/item/ammo_box/magazine/m50
accepted_magazine_type = /obj/item/ammo_box/magazine/m50
can_suppress = FALSE
mag_display = TRUE
fire_sound = 'sound/weapons/gun/rifle/shot.ogg'
@@ -95,7 +95,7 @@
burst_size = 2
fire_delay = 1
projectile_damage_multiplier = 1.25
mag_type = /obj/item/ammo_box/magazine/r10mm
accepted_magazine_type = /obj/item/ammo_box/magazine/r10mm
actions_types = list(/datum/action/item_action/toggle_firemode)
obj_flags = UNIQUE_RENAME // if you did the sidequest, you get the customization
@@ -107,7 +107,7 @@
desc = "A modernized reproduction of an old Soviet machine pistol. It fires quickly, but kicks like a mule. Uses 9mm ammo. Has a threaded barrel for suppressors." //SKYRAT EDIT
icon_state = "aps"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/m9mm_aps
accepted_magazine_type = /obj/item/ammo_box/magazine/m9mm_aps
can_suppress = TRUE
burst_size = 3
fire_delay = 3 //SKYRAT EDIT - Original: 1
@@ -2,7 +2,7 @@
name = "\improper .357 revolver"
desc = "A suspicious revolver. Uses .357 ammo."
icon_state = "revolver"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder
fire_sound = 'sound/weapons/gun/revolver/shot_alt.ogg'
load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg'
eject_sound = 'sound/weapons/gun/revolver/empty.ogg'
@@ -100,7 +100,7 @@
/obj/item/gun/ballistic/revolver/c38
name = "\improper .38 revolver"
desc = "A classic, if not outdated, lethal firearm. Uses .38 Special rounds."
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38
icon_state = "c38"
fire_sound = 'sound/weapons/gun/revolver/shot.ogg'
@@ -154,7 +154,7 @@
icon_state = "nagant"
can_suppress = TRUE
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev762
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/rev762
// A gun to play Russian Roulette!
@@ -164,7 +164,7 @@
name = "\improper Russian revolver"
desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism requiring you to spin the chamber before each trigger pull."
icon_state = "russianrevolver"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357
var/spun = FALSE
hidden_chambered = TRUE //Cheater.
gun_flags = NOT_A_REAL_GUN
@@ -10,7 +10,7 @@
w_class = WEIGHT_CLASS_BULKY
inhand_icon_state = "moistnugget"
worn_icon_state = "moistnugget"
mag_type = /obj/item/ammo_box/magazine/internal/boltaction
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction
bolt_wording = "bolt"
bolt_type = BOLT_TYPE_LOCKING
semi_auto = FALSE
@@ -58,7 +58,7 @@
icon_state = "moistnugget"
inhand_icon_state = "moistnugget"
slot_flags = ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/internal/boltaction
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction
can_bayonet = TRUE
knife_x_offset = 37
knife_y_offset = 14
@@ -131,7 +131,7 @@
inhand_y_dimension = 32
inhand_icon_state = "speargun"
worn_icon_state = "speargun"
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/harpoon
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/harpoon
fire_sound = 'sound/weapons/gun/sniper/shot.ogg'
can_be_sawn_off = FALSE
@@ -147,7 +147,7 @@
Tiger Co-op assassins, cryo-frozen Space Russians, and security personnel with \
little care for professional conduct while making 'arrests' point blank in the back of the head \
until the gun clicks. EXTREMELY moist."
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/surplus
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/surplus
can_jam = TRUE
/obj/item/gun/ballistic/rifle/boltaction/prime
@@ -178,7 +178,7 @@
inhand_x_dimension = 64
inhand_y_dimension = 64
fire_sound = 'sound/weapons/gun/sniper/shot.ogg'
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/pipegun
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/pipegun
initial_caliber = CALIBER_SHOTGUN
alternative_caliber = CALIBER_A762
initial_fire_sound = 'sound/weapons/gun/sniper/shot.ogg'
@@ -199,7 +199,7 @@
icon_state = "musket_prime"
inhand_icon_state = "musket_prime"
worn_icon_state = "musket_prime"
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/pipegun/prime
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/pipegun/prime
projectile_damage_multiplier = 1
/// MAGICAL BOLT ACTIONS + ARCANE BARRAGE? ///
@@ -208,7 +208,7 @@
name = "enchanted bolt action rifle"
desc = "Careful not to lose your head."
var/guns_left = 30
mag_type = /obj/item/ammo_box/magazine/internal/enchanted
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/enchanted
can_be_sawn_off = FALSE
/obj/item/gun/ballistic/rifle/enchanted/dropped()
@@ -258,7 +258,7 @@
rack_sound = 'sound/weapons/gun/sniper/rack.ogg'
suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg'
recoil = 2
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
accepted_magazine_type = /obj/item/ammo_box/magazine/sniper_rounds
internal_magazine = FALSE
w_class = WEIGHT_CLASS_NORMAL
slot_flags = ITEM_SLOT_BACK
@@ -16,7 +16,7 @@
force = 10
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/internal/shot
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot
semi_auto = FALSE
internal_magazine = TRUE
casing_ejector = FALSE
@@ -34,7 +34,7 @@
. = 1
/obj/item/gun/ballistic/shotgun/lethal
mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/lethal
// RIOT SHOTGUN //
@@ -44,7 +44,7 @@
icon_state = "riotshotgun"
inhand_icon_state = "shotgun"
fire_delay = 8
mag_type = /obj/item/ammo_box/magazine/internal/shot/riot
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/riot
sawn_desc = "Come with me if you want to live."
can_be_sawn_off = TRUE
@@ -60,7 +60,7 @@
icon_state = "cshotgun"
inhand_icon_state = "shotgun_combat"
fire_delay = 5
mag_type = /obj/item/ammo_box/magazine/internal/shot/com
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/com
w_class = WEIGHT_CLASS_HUGE
//Dual Feed Shotgun
@@ -77,7 +77,7 @@
worn_icon_state = "cshotgun"
w_class = WEIGHT_CLASS_HUGE
semi_auto = TRUE
mag_type = /obj/item/ammo_box/magazine/internal/shot/tube
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/tube
/// If defined, the secondary tube is this type, if you want different shell loads
var/alt_mag_type
/// If TRUE, we're drawing from the alternate_magazine
@@ -96,7 +96,7 @@
/obj/item/gun/ballistic/shotgun/automatic/dual_tube/Initialize(mapload)
. = ..()
alt_mag_type = alt_mag_type || mag_type
alt_mag_type = alt_mag_type || spawn_magazine_type
alternate_magazine = new alt_mag_type(src)
/obj/item/gun/ballistic/shotgun/automatic/dual_tube/Destroy()
@@ -139,7 +139,7 @@
inhand_y_dimension = 32
projectile_damage_multiplier = 1.2
weapon_weight = WEAPON_MEDIUM
mag_type = /obj/item/ammo_box/magazine/m12g
accepted_magazine_type = /obj/item/ammo_box/magazine/m12g
can_suppress = FALSE
burst_size = 1
fire_delay = 10 //Skyrat edit - Original: 0
@@ -160,7 +160,7 @@
/obj/item/gun/ballistic/shotgun/bulldog/Initialize(mapload)
. = ..()
secondary_magazine_type = secondary_magazine_type || mag_type
secondary_magazine_type = secondary_magazine_type || spawn_magazine_type
secondary_magazine = new secondary_magazine_type(src)
update_appearance()
@@ -259,7 +259,7 @@
force = 10
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/internal/shot/dual
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/dual
sawn_desc = "Omar's coming!"
obj_flags = UNIQUE_RENAME
rack_sound_volume = 0
@@ -289,13 +289,13 @@
name = "hunting shotgun"
desc = "A hunting shotgun used by the wealthy to hunt \"game\"."
sawn_desc = "A sawn-off hunting shotgun. In its new state, it's remarkably less effective at hunting... anything."
mag_type = /obj/item/ammo_box/magazine/internal/shot/dual/slugs
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/dual/slugs
/obj/item/gun/ballistic/shotgun/doublebarrel/breacherslug
name = "breaching shotgun"
desc = "A normal double-barrel shotgun that has been rechambered to fit breaching shells. Useful in breaching airlocks and windows, not much else."
sawn_desc = "A sawn-off breaching shotgun, making for a more compact configuration while still having the same capability as before."
mag_type = /obj/item/ammo_box/magazine/internal/shot/dual/breacherslug
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/dual/breacherslug
/obj/item/gun/ballistic/shotgun/hook
name = "hook modified sawn-off shotgun"
@@ -306,7 +306,7 @@
righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
inhand_x_dimension = 32
inhand_y_dimension = 32
mag_type = /obj/item/ammo_box/magazine/internal/shot/bounty
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/bounty
weapon_weight = WEAPON_MEDIUM
semi_auto = TRUE
flags_1 = CONDUCT_1
+13 -11
View File
@@ -4,7 +4,7 @@
icon_state = "saber"
selector_switch_icon = TRUE
inhand_icon_state = "gun"
mag_type = /obj/item/ammo_box/magazine/toy/smg
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/smg
fire_sound = 'sound/items/syringeproj.ogg'
force = 0
throwforce = 0
@@ -21,12 +21,12 @@
/obj/item/gun/ballistic/automatic/pistol/toy
name = "foam force pistol"
desc = "A small, easily concealable toy handgun. Ages 8 and up."
mag_type = /obj/item/ammo_box/magazine/toy/pistol
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/pistol
fire_sound = 'sound/items/syringeproj.ogg'
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
/obj/item/gun/ballistic/automatic/pistol/toy/riot
mag_type = /obj/item/ammo_box/magazine/toy/pistol/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/pistol/riot
/obj/item/gun/ballistic/automatic/pistol/riot/Initialize(mapload)
magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src)
@@ -37,7 +37,7 @@
desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up."
force = 0
throwforce = 0
mag_type = /obj/item/ammo_box/magazine/internal/shot/toy
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/toy
fire_sound = 'sound/items/syringeproj.ogg'
clumsy_check = FALSE
item_flags = NONE
@@ -67,7 +67,7 @@
inhand_y_dimension = 32
worn_icon_state = "gun"
worn_icon = null
mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow
fire_sound = 'sound/items/syringeproj.ogg'
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
@@ -78,17 +78,18 @@
desc = "A bullpup three-round burst toy SMG, designated 'C-20r'. Ages 8 and up."
can_suppress = TRUE
item_flags = NONE
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
casing_ejector = FALSE
clumsy_check = FALSE
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted //Use this for actual toys
pin = /obj/item/firing_pin
mag_type = /obj/item/ammo_box/magazine/toy/smgm45
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
/obj/item/gun/ballistic/automatic/l6_saw/toy //This is the syndicate variant with syndicate firing pin and riot darts.
name = "donksoft LMG"
@@ -96,14 +97,15 @@
fire_sound = 'sound/items/syringeproj.ogg'
can_suppress = FALSE
item_flags = NONE
mag_type = /obj/item/ammo_box/magazine/toy/m762/riot
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/m762
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/m762/riot
casing_ejector = FALSE
clumsy_check = FALSE
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted //Use this for actual toys
pin = /obj/item/firing_pin
mag_type = /obj/item/ammo_box/magazine/toy/m762
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/m762
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot
mag_type = /obj/item/ammo_box/magazine/toy/m762/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/m762/riot
+1 -1
View File
@@ -129,7 +129,7 @@
icon_state = "lucky"
force = 10
fire_sound = 'sound/weapons/gun/revolver/shot.ogg'
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/revchap
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/revchap
obj_flags = UNIQUE_RENAME
custom_materials = null
actions_types = list(/datum/action/item_action/pray_refill)
@@ -267,7 +267,7 @@
suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg'
recoil = 2
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
accepted_magazine_type = /obj/item/ammo_box/magazine/sniper_rounds
fire_delay = 6 SECONDS
burst_size = 1
w_class = WEIGHT_CLASS_NORMAL
@@ -341,7 +341,7 @@
can_unsuppress = TRUE
recoil = 1.8
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
accepted_magazine_type = /obj/item/ammo_box/magazine/sniper_rounds
fire_delay = 55 //Slightly smaller than standard sniper
burst_size = 1
slot_flags = ITEM_SLOT_BACK
@@ -381,12 +381,12 @@
icon_state = "bubba"
worn_icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns_back.dmi'
worn_icon_state = "bubba"
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba
can_be_sawn_off = FALSE
/obj/item/gun/ballistic/rifle/boltaction/sporterized/empty
bolt_locked = TRUE // so the bolt starts visibly open
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba/empty
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba/empty
/obj/item/ammo_box/magazine/internal/boltaction/bubba
name = "sportiv extended internal magazine"
@@ -411,7 +411,7 @@
fire_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg'
fire_delay = 5
fire_sound_volume = 90
mag_type = /obj/item/ammo_box/magazine/multi_sprite/ostwind/arg75
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/ostwind/arg75
/obj/item/gun/ballistic/automatic/ar/modular/model75/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN)
@@ -114,7 +114,7 @@ SUBSYSTEM_DEF(armaments)
if(istype(test_item, /obj/item/gun/ballistic))
var/obj/item/gun/ballistic/ballistic_test = test_item
if(!ballistic_test.internal_magazine)
magazine = ballistic_test.mag_type
magazine = ballistic_test.spawn_magazine_type
cached_base64 = icon2base64(getFlatIcon(test_item, no_anim = TRUE))
qdel(test_item)
@@ -26,4 +26,4 @@
var/obj/item/storage/box/ammo_box/spawned_box = new(safe_drop_location)
spawned_box.name = "ammo box - [spawned_ballistic_gun.name]"
for(var/i in 1 to mags_to_spawn)
new spawned_ballistic_gun.mag_type (spawned_box)
new spawned_ballistic_gun.spawn_magazine_type (spawned_box)
@@ -32,7 +32,7 @@
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
mag_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_rifle
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_rifle
fire_sound = 'modular_skyrat/modules/sec_haul/sound/sfrifle_fire.ogg'
can_suppress = TRUE
suppressor_x_offset = 4
@@ -87,7 +87,7 @@
w_class = WEIGHT_CLASS_NORMAL
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
mag_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_smg
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_smg
fire_sound = 'modular_skyrat/modules/sec_haul/sound/smg_fire.ogg'
can_suppress = TRUE
burst_size = 1
@@ -142,7 +142,7 @@
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
mag_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_shotgun
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_shotgun
fire_sound = 'modular_skyrat/modules/sec_haul/sound/shotgun_bm.ogg'
can_suppress = TRUE
suppressor_x_offset = 4
@@ -206,7 +206,7 @@
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
internal_magazine = FALSE
mag_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_sniper
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/assault_ops_sniper
fire_sound = 'modular_skyrat/modules/sec_haul/sound/sniper_fire.ogg'
can_suppress = TRUE
suppressor_x_offset = 6
@@ -42,14 +42,14 @@
if(istype(object, /obj/item/gun/ballistic))
var/obj/item/gun/ballistic/gun = object
if(!gun.internal_magazine)
products.Add(gun.mag_type)
products.Add(gun.spawn_magazine_type)
if(istype(object, /obj/item/storage))
var/obj/item/storage/storage = object
for(var/storage_item in storage.contents)
if(istype(storage_item, /obj/item/gun/ballistic))
var/obj/item/gun/ballistic/gun = storage_item
if(!gun.internal_magazine)
products.Add(gun.mag_type)
products.Add(gun.spawn_magazine_type)
//Add our items to the list of products
build_inventory(products, product_records, FALSE)
@@ -21,4 +21,4 @@
var/obj/item/storage/box/ammo_box/spawned_box = new(safe_drop_location)
spawned_box.name = "ammo box - [spawned_ballistic_gun.name]"
for(var/i in 1 to mags_to_spawn)
new spawned_ballistic_gun.mag_type (spawned_box)
new spawned_ballistic_gun.spawn_magazine_type (spawned_box)
@@ -3,7 +3,7 @@
desc = "A special laser beam sniper rifle designed by a certain now defunct research facility."
icon_state = "ctfmarksman"
inhand_icon_state = "ctfmarksman"
mag_type = /obj/item/ammo_box/magazine/recharge/marksman
accepted_magazine_type = /obj/item/ammo_box/magazine/recharge/marksman
force = 15
weapon_weight = WEAPON_HEAVY
fire_delay = 4 SECONDS
@@ -42,7 +42,7 @@
righthand_file ='modular_skyrat/modules/gunsgalore/icons/guns/gunsgalore_righthand.dmi'
icon_state = "mp5"
inhand_icon_state = "mp5"
mag_type = /obj/item/ammo_box/magazine/mp5
accepted_magazine_type = /obj/item/ammo_box/magazine/mp5
bolt_type = BOLT_TYPE_LOCKING
can_suppress = TRUE
fire_delay = 1.25
@@ -11,7 +11,7 @@
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/m16/vintage/oldarms
accepted_magazine_type = /obj/item/ammo_box/magazine/m16/vintage/oldarms
fire_delay = 3.5
burst_size = 1
actions_types = list()
@@ -156,7 +156,7 @@
inhand_icon_state = "clockwork_bow"
base_icon_state = "bow_clockwork"
force = 10
mag_type = /obj/item/ammo_box/magazine/internal/bow/clockwork
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/bow/clockwork
/// Time between bolt recharges
var/recharge_time = 1.5 SECONDS
/// Typecache of valid turfs to have the weapon's special effect on
@@ -247,7 +247,7 @@
icon_state = "clockwork_rifle"
inhand_icon_state = "clockwork_rifle"
worn_icon_state = "clockwork_rifle"
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/lionhunter/clockwork
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/lionhunter/clockwork
fire_sound = 'sound/weapons/gun/sniper/shot.ogg'
show_bolt_icon = FALSE
@@ -9,7 +9,7 @@
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/ak25
accepted_magazine_type = /obj/item/ammo_box/magazine/ak25
can_suppress = FALSE
burst_size = 3
fire_delay = 2
@@ -291,7 +291,7 @@ GLOBAL_VAR(first_officer)
icon_state = "automag"
icon = 'modular_skyrat/modules/sec_haul/icons/guns/automag.dmi'
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/automag
accepted_magazine_type = /obj/item/ammo_box/magazine/automag
can_suppress = FALSE
fire_sound = 'modular_skyrat/modules/sec_haul/sound/automag.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -9,7 +9,7 @@
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/akm
accepted_magazine_type = /obj/item/ammo_box/magazine/akm
can_suppress = FALSE
fire_delay = 2
actions_types = list()
@@ -95,7 +95,7 @@
desc = "A timeless human design of a carbine chambered in the NRI's 5.6mm ammo. The internal modifications made to the firearm in order to accommodate for non-military use made it incompatible with conventional munitions and gave it the inability to fire fully automatic. It's purpose-built to fire low-grade civilian ammo, anything stronger would obliterate the rifling and render the firearm useless."
icon_state = "akm_civ"
inhand_icon_state = "akm_civ"
mag_type = /obj/item/ammo_box/magazine/akm/civvie
accepted_magazine_type = /obj/item/ammo_box/magazine/akm/civvie
fire_delay = 5
dual_wield_spread = 15
spread = 5
@@ -9,7 +9,7 @@
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/fg42
accepted_magazine_type = /obj/item/ammo_box/magazine/fg42
can_suppress = FALSE
burst_size = 2
spread = 0
@@ -11,7 +11,7 @@
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/m16
accepted_magazine_type = /obj/item/ammo_box/magazine/m16
can_suppress = FALSE
burst_size = 3
fire_delay = 2
@@ -64,7 +64,7 @@
icon_state = "m16_modern2"
inhand_icon_state = "m16"
worn_icon_state = "m16"
mag_type = /obj/item/ammo_box/magazine/m16/patriot
accepted_magazine_type = /obj/item/ammo_box/magazine/m16/patriot
burst_size = 4
fire_delay = 0.5
@@ -17,7 +17,7 @@
slot_flags = ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_HUGE
spread = 15
mag_type = /obj/item/ammo_box/magazine/mg34
accepted_magazine_type = /obj/item/ammo_box/magazine/mg34
can_suppress = FALSE
fire_delay = 1
bolt_type = BOLT_TYPE_OPEN
@@ -64,7 +64,7 @@
return ..()
/obj/item/gun/ballistic/automatic/mg34/attackby(obj/item/A, mob/user, params)
if(!cover_open && istype(A, mag_type))
if(!cover_open && istype(A, accepted_magazine_type))
to_chat(user, span_warning("[src]'s dust cover prevents a magazine from being fit."))
return
..()
@@ -84,7 +84,7 @@
fire_delay = 0.04
burst_size = 5
spread = 5
mag_type = /obj/item/ammo_box/magazine/mg34/packapunch
accepted_magazine_type = /obj/item/ammo_box/magazine/mg34/packapunch
/obj/item/ammo_box/magazine/mg34/packapunch
max_ammo = 999
@@ -111,7 +111,7 @@
fire_sound_volume = 100
fire_delay = 0.5
fire_sound = 'modular_skyrat/modules/gunsgalore/sound/guns/fire/mg42_fire.ogg'
mag_type = /obj/item/ammo_box/magazine/mg42
accepted_magazine_type = /obj/item/ammo_box/magazine/mg42
spread = SPREAD_UNDEPLOYED
/// If we are resting, the bipod is deployed.
var/bipod_deployed = FALSE
@@ -9,7 +9,7 @@
worn_icon = 'modular_skyrat/modules/gunsgalore/icons/guns/gunsgalore_back.dmi'
worn_icon_state = "mp40"
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/mp40
accepted_magazine_type = /obj/item/ammo_box/magazine/mp40
can_suppress = FALSE
burst_size = 1
fire_delay = 1.7
@@ -9,7 +9,7 @@
worn_icon = 'modular_skyrat/modules/gunsgalore/icons/guns/gunsgalore_back.dmi'
worn_icon_state = "p90"
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/p90
accepted_magazine_type = /obj/item/ammo_box/magazine/p90
can_suppress = FALSE
fire_delay = 1
fire_sound = 'modular_skyrat/modules/gunsgalore/sound/guns/fire/p90_fire.ogg'
@@ -7,7 +7,7 @@
righthand_file = 'modular_skyrat/modules/gunsgalore/icons/guns/gunsgalore_righthand.dmi'
inhand_icon_state = "pps"
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/pps
accepted_magazine_type = /obj/item/ammo_box/magazine/pps
can_suppress = FALSE
fire_delay = 3
worn_icon = 'modular_skyrat/modules/gunsgalore/icons/guns/gunsgalore_back.dmi'
@@ -10,7 +10,7 @@
worn_icon_state = "ppsh"
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
mag_type = /obj/item/ammo_box/magazine/ppsh
accepted_magazine_type = /obj/item/ammo_box/magazine/ppsh
can_suppress = FALSE
spread = 20
fire_delay = 0.5
@@ -11,7 +11,7 @@
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/m16
accepted_magazine_type = /obj/item/ammo_box/magazine/m16
can_suppress = FALSE
fire_delay = 1.90
fire_sound = 'modular_skyrat/modules/gunsgalore/sound/guns/fire/scar_fire.ogg'
@@ -11,7 +11,7 @@
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
mag_type = /obj/item/ammo_box/magazine/stg
accepted_magazine_type = /obj/item/ammo_box/magazine/stg
can_suppress = FALSE
fire_delay = 1.5
burst_size = 1
+2 -2
View File
@@ -15,7 +15,7 @@
can_bayonet = FALSE
mag_display = TRUE
mag_display_ammo = FALSE
mag_type = /obj/item/ammo_box/magazine/m44a
accepted_magazine_type = /obj/item/ammo_box/magazine/m44a
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BELT
@@ -68,7 +68,7 @@
name = "\improper M2 auto-shotgun underbarrel"
desc = "This shouldn't be heeere!"
can_suppress = FALSE
mag_type = /obj/item/ammo_box/magazine/internal/shot/as2/ubsg
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/as2/ubsg
/obj/item/gun/ballistic/shotgun/automatic/as2/ubsg/give_gun_safeties()
return
@@ -17,7 +17,7 @@
slot_flags = ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_HUGE
spread = 18
mag_type = /obj/item/ammo_box/magazine/smartgun_drum
accepted_magazine_type = /obj/item/ammo_box/magazine/smartgun_drum
can_suppress = FALSE
fire_delay = 0.15
bolt_type = BOLT_TYPE_OPEN
@@ -77,7 +77,7 @@
return ..()
/obj/item/gun/ballistic/automatic/smart_machine_gun/attackby(obj/item/attack_item, mob/user, params)
if(!cover_open && istype(attack_item, mag_type))
if(!cover_open && istype(attack_item, accepted_magazine_type))
to_chat(user, span_warning("[src]'s dust cover prevents a magazine from being fit."))
return
..()
@@ -41,7 +41,7 @@
icon_state = "mp5"
inhand_icon_state = "arg"
selector_switch_icon = TRUE
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat
can_suppress = FALSE
fire_delay = 1.25
spread = 5
@@ -73,7 +73,7 @@
icon_state = "cfa-lynx"
inhand_icon_state = "arg"
selector_switch_icon = FALSE
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_lynx
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_lynx
can_suppress = FALSE
fire_delay = 1.90 //Previously 0.5. Changed due to it being the Blueshield's default firearm.
spread = 2
@@ -7,7 +7,7 @@
desc = "An easily-concealable pistol chambered for 4.2x30mm."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi'
icon_state = "cfa-snub"
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_snub
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_snub
can_suppress = TRUE
fire_sound_volume = 30
w_class = WEIGHT_CLASS_SMALL
@@ -26,7 +26,7 @@
desc = "A heavy-duty sidearm chambered in 12x27mm."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi'
icon_state = "cfa_ruby"
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_ruby
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_ruby
can_suppress = FALSE
fire_sound_volume = 120
w_class = WEIGHT_CLASS_NORMAL
@@ -10,7 +10,7 @@
desc = "A revolving rifle chambered in .38. "
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile40x32.dmi'
icon_state = "revolving-rifle"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 //This is just a detective's revolver but it's too big for bags..
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 //This is just a detective's revolver but it's too big for bags..
pixel_x = -4 // It's centred on a 40x32 pixel spritesheet.
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY // The entire purpose of this is that it's a bulky rifle instead of a revolver.
@@ -28,7 +28,7 @@
name = "\improper .45 revolving rifle"
desc = "A gold trimmed revolving rifle! It fires .45 bullets."
icon_state = "revolving-rifle-gold"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45 //Gold! We're using .45 because TG's 10mm does 40 damage, this does 30.
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45 //Gold! We're using .45 because TG's 10mm does 40 damage, this does 30.
w_class = WEIGHT_CLASS_BULKY
inhand_icon_state = "revolving_gold"
@@ -13,7 +13,7 @@
lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/inhands/weapons/64x_guns_left.dmi'
righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/inhands/weapons/64x_guns_right.dmi'
worn_icon_state = "gun"
mag_type = /obj/item/ammo_box/magazine/cm68
accepted_magazine_type = /obj/item/ammo_box/magazine/cm68
fire_delay = 5
can_suppress = FALSE
burst_size = 1
@@ -4,7 +4,7 @@
// this could probably be made funnier by reducing its damage multiplier but also making it so that every fired bullet has the wacky ricochets
// but that's a different plate of cookies for a different glass of milk
icon_state = "c38_panther"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder
/obj/item/ammo_casing/a357/peacemaker
name = ".357 Peacemaker bullet casing"
@@ -6,7 +6,7 @@
icon = 'modular_skyrat/modules/blueshield/icons/M45A5.dmi'
icon_state = "m45a5"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/m45a5
accepted_magazine_type = /obj/item/ammo_box/magazine/m45a5
can_suppress = FALSE
fire_delay = 4.25 //Originally 1.75 which was unintentionally extremely fast.
fire_sound_volume = 60
@@ -12,7 +12,7 @@
icon_state = "nri_smg"
inhand_icon_state = "nri_smg"
w_class = WEIGHT_CLASS_BULKY
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_lynx
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_lynx
fire_delay = 1
burst_size = 5
dual_wield_spread = 5
@@ -32,7 +32,7 @@
'PATRIOT DEFENSE SYSTEMS' is inscribed on the receiver, indicating it's been made with a plasteel printer."
icon = 'modular_skyrat/modules/novaya_ert/icons/pistol.dmi'
w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/m9mm_aps
accepted_magazine_type = /obj/item/ammo_box/magazine/m9mm_aps
burst_size = 3
fire_delay = 3
@@ -69,7 +69,7 @@
/obj/item/gun/ballistic/revolver/cin_shotgun_revolver
name = "\improper Tkach 'Ya-Sui' 12 GA revolver"
desc = "An outdated sidearm rarely seen in use by some members of the CIN. A revolver type design with a three shell cylinder. That's right, shell, this one shoots twelve guage."
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev12ga
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/rev12ga
recoil = SAWN_OFF_RECOIL
weapon_weight = WEAPON_HEAVY
icon = 'modular_skyrat/modules/novaya_ert/icons/surplus_guns/guns_32.dmi'
@@ -122,7 +122,7 @@
w_class = WEIGHT_CLASS_HUGE
slot_flags = ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/cin_amr
accepted_magazine_type = /obj/item/ammo_box/magazine/cin_amr
can_suppress = FALSE
can_bayonet = FALSE
@@ -10,7 +10,7 @@
lefthand_file = 'modular_skyrat/modules/projectiles/icons/inhands/lefthand.dmi'
w_class = WEIGHT_CLASS_NORMAL
spawnwithmagazine = FALSE
mag_type = /obj/item/ammo_box/magazine/multi_sprite/g17
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/g17
can_suppress = FALSE
fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -12,7 +12,7 @@
icon = 'modular_skyrat/modules/robohand/icons/3516.dmi'
icon_state = "3516"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/m14mm
accepted_magazine_type = /obj/item/ammo_box/magazine/m14mm
can_suppress = FALSE
fire_sound = 'modular_skyrat/modules/robohand/sound/fire2.ogg'
load_sound = 'modular_skyrat/modules/robohand/sound/reload.ogg'
@@ -45,7 +45,7 @@
. = ..()
/obj/item/gun/ballistic/automatic/pistol/robohand/insert_magazine(mob/user, obj/item/ammo_box/magazine/inserted_mag, display_message)
if(!istype(inserted_mag, mag_type))
if(!istype(inserted_mag, accepted_magazine_type))
to_chat(user, span_warning("\The [inserted_mag] doesn't seem to fit into \the [src]..."))
return FALSE
if(!user.transferItemToLoc(inserted_mag, src))
@@ -32,7 +32,7 @@
var/obj/item/storage/box/ammo_box/spawned_box = new(loc)
spawned_box.name = "ammo box - [spawned_ballistic_gun.name]"
for(var/i in 1 to mags_to_spawn)
new spawned_ballistic_gun.mag_type (spawned_box)
new spawned_ballistic_gun.spawn_magazine_type (spawned_box)
/obj/effect/spawner/armory_spawn/shotguns
icon_state = "random_shotgun"
@@ -15,7 +15,7 @@
icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi'
inhand_icon_state = "c20r"
selector_switch_icon = TRUE
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cmg
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/cmg
fire_delay = 2 //Slightly buffed firespeed over the last cmg because the bullets are a bit weaker
burst_size = 1
actions_types = list()
@@ -8,7 +8,7 @@
icon = 'modular_skyrat/modules/sec_haul/icons/guns/glock.dmi'
icon_state = "glock"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/g17
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/g17
can_suppress = FALSE
fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -51,7 +51,7 @@
icon = 'modular_skyrat/modules/sec_haul/icons/guns/glock.dmi'
icon_state = "glock_spec"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/g18
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/g18
can_suppress = FALSE
fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -99,7 +99,7 @@
icon = 'modular_skyrat/modules/sec_haul/icons/guns/glock.dmi'
icon_state = "glock_mesa"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/ladon // C o m p a t i b i l i t y .
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/ladon // C o m p a t i b i l i t y .
fire_sound = 'modular_skyrat/master_files/sound/weapons/glock17_fire.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg'
@@ -125,7 +125,7 @@
icon_state = "pdh"
inhand_icon_state = "pdh"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/pdh
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/pdh
can_suppress = FALSE
fire_sound = 'modular_skyrat/modules/sec_haul/sound/hpistol_fire.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -143,7 +143,7 @@
desc = "A prestigious 12mm sidearm normally seen in the hands of SolFed special operation units due to its reliable and time-tested design. Now's one of those times that pays to be the strong, silent type."
icon_state = "pdh_alt"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/pdh
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/pdh
can_suppress = FALSE
fire_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg'
fire_delay = 8
@@ -178,7 +178,7 @@
desc = "A prestigious ballistic sidearm, from Armadyne's military division, normally given to high-ranking corporate agents. It has a 3 round burst mode and uses .357 Magnum ammunition."
icon_state = "pdh_corpo"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/pdh_corpo
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/pdh_corpo
can_suppress = FALSE
fire_sound = 'modular_skyrat/modules/sec_haul/sound/hpistol_fire.ogg'
burst_size = 3
@@ -209,7 +209,7 @@
desc = "A sidearm used by Armadyne corporate agents who didn't make the cut for the Corpo model. Chambered in .38 special."
icon_state = "pdh_striker"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/pdh_striker
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/pdh_striker
can_suppress = FALSE
fire_sound = 'modular_skyrat/modules/sec_haul/sound/hpistol_fire.ogg'
burst_size = 3
@@ -239,7 +239,7 @@
desc = "A modern ballistic sidearm, used primarily by law enforcement, chambered in 9x25mm."
fire_delay = 1.95
icon_state = "pdh_peacekeeper"
mag_type = /obj/item/ammo_box/magazine/multi_sprite/pdh_peacekeeper
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/pdh_peacekeeper
fire_sound = 'modular_skyrat/modules/sec_haul/sound/pistol_fire.ogg'
projectile_damage_multiplier = 0.5
@@ -278,7 +278,7 @@
icon_state = "ladon"
inhand_icon_state = "ladon"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/ladon
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/ladon
can_suppress = FALSE
fire_sound = 'modular_skyrat/modules/sec_haul/sound/pistol_fire.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -325,7 +325,7 @@
icon = 'modular_skyrat/modules/sec_haul/icons/guns/makarov.dmi'
icon_state = "makarov"
w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/makarov
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/makarov
can_suppress = TRUE
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg'
@@ -367,7 +367,7 @@
icon = 'modular_skyrat/modules/sec_haul/icons/guns/mk58.dmi'
icon_state = "mk58"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/mk58
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/mk58
can_suppress = FALSE
fire_sound = 'modular_skyrat/modules/sec_haul/sound/pistol_fire.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
@@ -414,7 +414,7 @@
inhand_icon_state = "firefly"
fire_delay = 1.95
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/firefly
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/firefly
can_suppress = FALSE
projectile_damage_multiplier = 0.5
@@ -459,7 +459,7 @@
icon_state = "croon"
inhand_icon_state = "croon"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/croon
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/croon
can_suppress = FALSE
fire_sound = 'sound/weapons/gun/smg/shot.ogg'
rack_sound = 'sound/weapons/gun/smg/smgrack.ogg'
@@ -507,7 +507,7 @@
icon_state = "dozer"
inhand_icon_state = "dozer"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/multi_sprite/dozer
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/dozer
can_suppress = TRUE
mag_display = FALSE
mag_display_ammo = FALSE
@@ -561,7 +561,7 @@
inhand_icon_state = "dmr"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_SUITSTORE
mag_type = /obj/item/ammo_box/magazine/dmr
accepted_magazine_type = /obj/item/ammo_box/magazine/dmr
fire_delay = 1.7
can_suppress = FALSE
can_bayonet = FALSE
@@ -599,7 +599,7 @@
lefthand_file = 'modular_skyrat/modules/sec_haul/icons/guns/inhands/lefthand.dmi'
icon_state = "zeta"
inhand_icon_state = "zeta"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/zeta
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/zeta
fire_sound = 'modular_skyrat/modules/sec_haul/sound/revolver_fire.ogg'
fire_delay = 3
@@ -638,7 +638,7 @@
lefthand_file = 'modular_skyrat/modules/sec_haul/icons/guns/inhands/lefthand.dmi'
icon_state = "revolution"
inhand_icon_state = "revolution"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/revolution
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/revolution
fire_sound = 'modular_skyrat/modules/sec_haul/sound/revolver_fire.ogg'
fire_delay = 1.90
projectile_damage_multiplier = 0.5
@@ -683,7 +683,7 @@
inhand_icon_state = "smartgun_worn"
worn_icon = 'modular_skyrat/modules/sec_haul/icons/guns/smartgun.dmi'
worn_icon_state = "smartgun_worn"
mag_type = /obj/item/ammo_box/magazine/smartgun
accepted_magazine_type = /obj/item/ammo_box/magazine/smartgun
actions_types = null
can_suppress = FALSE
can_bayonet = FALSE
@@ -780,7 +780,7 @@
worn_icon_state = "g11_worn"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_OCLOTHING
mag_type = /obj/item/ammo_box/magazine/multi_sprite/g11
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/g11
can_suppress = FALSE
fire_delay = 0.5
spread = 10
@@ -825,7 +825,7 @@
icon_state = "riotshotgun"
worn_icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns_back.dmi'
inhand_icon_state = "shotgun"
mag_type = /obj/item/ammo_box/magazine/internal/shot/m23
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/m23
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_OCLOTHING
@@ -856,7 +856,7 @@
vary_fire_sound = TRUE
fire_sound = 'modular_skyrat/modules/aesthetics/guns/sound/shotgun_light.ogg'
fire_delay = 5
mag_type = /obj/item/ammo_box/magazine/internal/shot/as2
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/as2
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_OCLOTHING
@@ -888,7 +888,7 @@
worn_icon_state = "norwind_worn"
alt_icons = TRUE
alt_icon_state = "norwind_worn"
mag_type = /obj/item/ammo_box/magazine/multi_sprite/norwind
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/norwind
can_suppress = FALSE
can_bayonet = TRUE
mag_display = TRUE
@@ -946,7 +946,7 @@
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_OCLOTHING
inhand_icon_state = "vintorez"
mag_type = /obj/item/ammo_box/magazine/multi_sprite/vintorez
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/vintorez
suppressed = TRUE
can_unsuppress = FALSE
can_bayonet = FALSE
@@ -1005,7 +1005,7 @@
icon_state = "pcr"
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_OCLOTHING
w_class = WEIGHT_CLASS_BULKY
mag_type = /obj/item/ammo_box/magazine/multi_sprite/pcr
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/pcr
fire_delay = 1.80
can_suppress = FALSE
spread = 10
@@ -1060,7 +1060,7 @@
worn_icon_state = "ostwind_worn"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_OCLOTHING
mag_type = /obj/item/ammo_box/magazine/multi_sprite/pitbull
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/pitbull
fire_delay = 4.20
can_suppress = FALSE
burst_size = 3
@@ -1123,7 +1123,7 @@
alt_icon_state = "ostwind_worn"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT | ITEM_SLOT_OCLOTHING
mag_type = /obj/item/ammo_box/magazine/multi_sprite/ostwind
accepted_magazine_type = /obj/item/ammo_box/magazine/multi_sprite/ostwind
spread = 10
fire_delay = 2
can_suppress = FALSE
@@ -4,7 +4,7 @@
icon = 'modular_skyrat/modules/sec_haul/icons/guns/pepperball.dmi'
icon_state = "peppergun"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/pepperball
accepted_magazine_type = /obj/item/ammo_box/magazine/pepperball
can_suppress = FALSE
fire_sound = 'sound/effects/pop_expl.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'