Files
GS13NG/code/citadel/cit_guns.dm
T
Zna12 1585de0687 [Ready to merge] Au-toy-lathe (#5534)
* Autoylathe Complete.

All the errors with the autoylathe should be fixed for now

* Toylathe Tweaking and plastic's initializing.

Well, this gets plastics halfway there. The toylathe now has 8 categories to choose from and some other sutff. It's all coming back.

* TOY LATHE NOW ACCEPTING PLASTIC

TOYLATHE IS WORKING AND RUNNING PROPERLY. SOME GUNS HAVE BEEN ADDED AND WILL NEED MORE TIME TO ADD MORE GUNS.

* Toy Datum construction.

Building some datums for the toys for the autoylathe to print.

* Toys toys toys

Adding toys to the list woo

* Autoylathe complete.

Holy shit it's fucking done.

* Fixes a duplicate id.

Also adds some shit to the hacked list.

* Okay this shit needs to stop

Rogue indentations? Nani?

* ugh

fuck

* Rogue indents

* Power issues

Fixes power scaling and the draining an APC

* Rogue File deletion.

Part of an early experiment that didn't work out.

* Some other tweaks and shit

Moves datums to the autoylathe designs and also fixes a dumb mistake I made.

* Clamps?

Added a clamp. Who knew?

* Shit.

Won't compile if it keeps looking for a file that doesn't exist

* Woops

Deleted a line not paying attention

* reworked initialize

I think I did this right.

* Revert "reworked initialize"

This reverts commit 649c156baebd64b6cd84e95f2f4c3cbd70dabce7.

* Odd variables that don't have any other references in the coding.

Why are these even here? Seriously.

* UNUSED VARIABLE?!

NANI?! Deleted. Don't need em.
2018-02-17 17:18:22 -08:00

1247 lines
40 KiB
Plaintext

/obj/item/gun/energy/laser/carbine
name = "laser carbine"
desc = "A ruggedized laser carbine featuring much higher capacity and improved handling when compared to a normal laser gun."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "lasernew"
item_state = "laser"
force = 10
throwforce = 10
ammo_type = list(/obj/item/ammo_casing/energy/lasergun)
cell_type = /obj/item/stock_parts/cell/lascarbine
resistance_flags = FIRE_PROOF | ACID_PROOF
/obj/item/gun/energy/laser/carbine/nopin
pin = null
/obj/item/stock_parts/cell/lascarbine
name = "laser carbine power supply"
maxcharge = 2500
/datum/design/lasercarbine
name = "Laser Carbine"
desc = "Beefed up version of a standard laser gun."
id = "lasercarbine"
build_type = PROTOLATHE
materials = list(MAT_GOLD = 2500, MAT_METAL = 5000, MAT_GLASS = 5000)
build_path = /obj/item/gun/energy/laser/carbine/nopin
category = list("Weapons")
////////////Anti Tank Pistol////////////
/obj/item/gun/ballistic/automatic/pistol/antitank
name = "Anti Tank Pistol"
desc = "A massively impractical and silly monstrosity of a pistol that fires .50 calliber rounds. The recoil is likely to dislocate your wrist."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "atp"
item_state = "pistol"
recoil = 6
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
fire_delay = 50
burst_size = 1
can_suppress = 0
w_class = WEIGHT_CLASS_NORMAL
actions_types = list()
fire_sound = 'sound/weapons/blastcannon.ogg'
spread = 30 //damn thing has no rifling.
/obj/item/gun/ballistic/automatic/pistol/antitank/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("atp-mag")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
/obj/item/gun/ballistic/automatic/pistol/antitank/syndicate
name = "Syndicate Anti Tank Pistol"
desc = "A massively impractical and silly monstrosity of a pistol that fires .50 calliber rounds. The recoil is likely to dislocate a variety of joints without proper bracing."
pin = /obj/item/device/firing_pin/implant/pindicate
/////////////spinfusor stuff////////////////
/obj/item/projectile/bullet/spinfusor
name ="spinfusor disk"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state= "spinner"
damage = 30
dismemberment = 25
/obj/item/projectile/bullet/spinfusor/on_hit(atom/target, blocked = FALSE) //explosion to emulate the spinfusor's AOE
..()
explosion(target, -1, -1, 2, 0, -1)
return 1
/obj/item/ammo_casing/caseless/spinfusor
name = "spinfusor disk"
desc = "A magnetic disk designed specifically for the Stormhammer magnetic cannon. Warning: extremely volatile!"
projectile_type = /obj/item/projectile/bullet/spinfusor
caliber = "spinfusor"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "disk"
throwforce = 15 //still deadly when thrown
throw_speed = 3
/obj/item/ammo_casing/caseless/spinfusor/throw_impact(atom/target) //disks detonate when thrown
if(!..()) // not caught in mid-air
visible_message("<span class='notice'>[src] detonates!</span>")
playsound(src.loc, "sparks", 50, 1)
explosion(target, -1, -1, 1, 1, -1)
qdel(src)
return 1
/obj/item/ammo_box/magazine/internal/spinfusor
name = "spinfusor internal magazine"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
caliber = "spinfusor"
max_ammo = 1
/obj/item/gun/ballistic/automatic/spinfusor
name = "Stormhammer Magnetic Cannon"
desc = "An innovative weapon utilizing mag-lev technology to spin up a magnetic fusor and launch it at extreme velocities."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "spinfusor"
item_state = "spinfusor"
mag_type = /obj/item/ammo_box/magazine/internal/spinfusor
fire_sound = 'sound/weapons/rocketlaunch.ogg'
w_class = WEIGHT_CLASS_BULKY
can_suppress = 0
burst_size = 1
fire_delay = 40
select = 0
actions_types = list()
casing_ejector = 0
/obj/item/gun/ballistic/automatic/spinfusor/attackby(obj/item/A, mob/user, params)
var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
to_chat(user, "<span class='notice'>You load [num_loaded] disk\s into \the [src].</span>")
update_icon()
chamber_round()
/obj/item/gun/ballistic/automatic/spinfusor/attack_self(mob/living/user)
return //caseless rounds are too glitchy to unload properly. Best to make it so that you cannot remove disks from the spinfusor
/obj/item/gun/ballistic/automatic/spinfusor/update_icon()
..()
icon_state = "spinfusor[magazine ? "-[get_ammo(1)]" : ""]"
/obj/item/ammo_box/aspinfusor
name = "ammo box (spinfusor disks)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "spinfusorbox"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
max_ammo = 8
/datum/supply_pack/security/armory/spinfusor
name = "Stormhammer Spinfusor Crate"
cost = 14000
contains = list(/obj/item/gun/ballistic/automatic/spinfusor,
/obj/item/gun/ballistic/automatic/spinfusor)
crate_name = "spinfusor crate"
/datum/supply_pack/security/armory/spinfusorammo
name = "Spinfusor Disk Crate"
cost = 7000
contains = list(/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor)
crate_name = "spinfusor disk crate"
///////XCOM X9 AR///////
/obj/item/gun/ballistic/automatic/x9 //will be adminspawn only so ERT or something can use them
name = "\improper X9 Assault Rifle"
desc = "A rather old design of a cheap, reliable assault rifle made for combat against unknown enemies. Uses 5.56mm ammo."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "x9"
item_state = "arg"
slot_flags = 0
mag_type = /obj/item/ammo_box/magazine/m556 //Uses the m90gl's magazine, just like the NT-ARG
fire_sound = 'sound/weapons/gunshot_smg.ogg'
can_suppress = 0
burst_size = 6 //in line with XCOMEU stats. This can fire 5 bursts from a full magazine.
fire_delay = 1
spread = 30 //should be 40 for XCOM memes, but since its adminspawn only, might as well make it useable
recoil = 1
///toy memes///
/obj/item/ammo_box/magazine/toy/x9
name = "foam force X9 magazine"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "toy9magazine"
max_ammo = 30
multiple_sprites = 2
materials = list(MAT_METAL = 200)
/obj/item/gun/ballistic/automatic/x9/toy
name = "\improper Foam Force X9"
desc = "An old but reliable assault rifle made for combat against unknown enemies. Appears to be hastily converted. Ages 8 and up."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "toy9"
can_suppress = 0
obj_flags = 0
mag_type = /obj/item/ammo_box/magazine/toy/x9
casing_ejector = 0
spread = 90 //MAXIMUM XCOM MEMES (actually that'd be 180 spread)
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
////////XCOM2 Magpistol/////////
//////projectiles//////
/obj/item/projectile/bullet/mags
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile"
damage = 15
armour_penetration = 10
light_range = 2
speed = 0.6
range = 25
light_color = LIGHT_COLOR_RED
/obj/item/projectile/bullet/nlmags //non-lethal boolets
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile-nl"
damage = 0
knockdown = 0
stamina = 25
armour_penetration = -10
light_range = 2
speed = 0.7
range = 25
light_color = LIGHT_COLOR_BLUE
/////actual ammo/////
/obj/item/ammo_casing/caseless/amags
desc = "A ferromagnetic slug intended to be launched out of a compatible weapon."
caliber = "mags"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mag-casing-live"
projectile_type = /obj/item/projectile/bullet/mags
/obj/item/ammo_casing/caseless/anlmags
desc = "A specialized ferromagnetic slug designed with a less-than-lethal payload."
caliber = "mags"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mag-casing-live"
projectile_type = /obj/item/projectile/bullet/nlmags
//////magazines/////
/obj/item/ammo_box/magazine/mmag/small
name = "magpistol magazine (non-lethal disabler)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "nlmagmag"
ammo_type = /obj/item/ammo_casing/caseless/anlmags
caliber = "mags"
max_ammo = 15
multiple_sprites = 2
/obj/item/ammo_box/magazine/mmag/small/lethal
name = "magpistol magazine (lethal)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "smallmagmag"
ammo_type = /obj/item/ammo_casing/caseless/amags
//////the gun itself//////
/obj/item/gun/ballistic/automatic/pistol/mag
name = "magpistol"
desc = "A handgun utilizing maglev technologies to propel a ferromagnetic slug to extreme velocities."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magpistol"
force = 10
fire_sound = 'sound/weapons/magpistol.ogg'
mag_type = /obj/item/ammo_box/magazine/mmag/small
can_suppress = 0
casing_ejector = 0
fire_delay = 2
/obj/item/gun/ballistic/automatic/pistol/mag/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("magpistol-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
///research memes///
/obj/item/gun/ballistic/automatic/pistol/mag/nopin
pin = null
spawnwithmagazine = FALSE
/datum/design/magpistol
name = "Magpistol"
desc = "A weapon which fires ferromagnetic slugs."
id = "magpisol"
build_type = PROTOLATHE
materials = list(MAT_METAL = 7500, MAT_GLASS = 1000, MAT_URANIUM = 1000, MAT_TITANIUM = 5000, MAT_SILVER = 2000)
build_path = /obj/item/gun/ballistic/automatic/pistol/mag/nopin
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/mag_magpistol
name = "Magpistol Magazine"
desc = "A 14 round magazine for the Magpistol."
id = "mag_magpistol"
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_SILVER = 500)
build_path = /obj/item/ammo_box/magazine/mmag/small/lethal
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/mag_magpistol/nl
name = "Magpistol Magazine (Non-Lethal)"
desc = "A 14 round non-lethal magazine for the Magpistol."
id = "mag_magpistol_nl"
materials = list(MAT_METAL = 3000, MAT_SILVER = 250, MAT_TITANIUM = 250)
build_path = /obj/item/ammo_box/magazine/mmag/small
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
//////toy memes/////
/obj/item/projectile/bullet/reusable/foam_dart/mag
name = "magfoam dart"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile-toy"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
light_range = 2
light_color = LIGHT_COLOR_YELLOW
/obj/item/ammo_casing/caseless/foam_dart/mag
name = "magfoam dart"
desc = "A foam dart with fun light-up projectiles powered by magnets!"
projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/mag
/obj/item/ammo_box/magazine/internal/shot/toy/mag
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
max_ammo = 14
/obj/item/gun/ballistic/shotgun/toy/mag
name = "foam force magpistol"
desc = "A fancy toy sold alongside light-up foam force darts. Ages 8 and up."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "toymag"
item_state = "gun"
mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/mag
fire_sound = 'sound/weapons/magpistol.ogg'
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
/obj/item/ammo_box/foambox/mag
name = "ammo box (Magnetic Foam Darts)"
icon = 'icons/obj/guns/toy.dmi'
icon_state = "foambox"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
max_ammo = 42
//////Magrifle//////
///projectiles///
/obj/item/projectile/bullet/magrifle
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile-large"
damage = 20
armour_penetration = 25
light_range = 3
speed = 0.7
range = 35
light_color = LIGHT_COLOR_RED
/obj/item/projectile/bullet/nlmagrifle //non-lethal boolets
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile-large-nl"
damage = 0
knockdown = 0
stamina = 20
armour_penetration = -10
light_range = 3
speed = 0.65
range = 35
light_color = LIGHT_COLOR_BLUE
///ammo casings///
/obj/item/ammo_casing/caseless/amagm
desc = "A large ferromagnetic slug intended to be launched out of a compatible weapon."
caliber = "magm"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mag-casing-live"
projectile_type = /obj/item/projectile/bullet/magrifle
/obj/item/ammo_casing/caseless/anlmagm
desc = "A large, specialized ferromagnetic slug designed with a less-than-lethal payload."
caliber = "magm"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mag-casing-live"
projectile_type = /obj/item/projectile/bullet/nlmagrifle
///magazines///
/obj/item/ammo_box/magazine/mmag/
name = "magrifle magazine (non-lethal disabler)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mediummagmag"
ammo_type = /obj/item/ammo_casing/caseless/anlmagm
caliber = "magm"
max_ammo = 24
multiple_sprites = 2
/obj/item/ammo_box/magazine/mmag/lethal
name = "magrifle magazine (lethal)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "mediummagmag"
ammo_type = /obj/item/ammo_casing/caseless/amagm
max_ammo = 24
///the gun itself///
/obj/item/gun/ballistic/automatic/magrifle
name = "\improper Magnetic Rifle"
desc = "A simple upscalling of the technologies used in the magpistol, the magrifle is capable of firing slightly larger slugs in bursts. Compatible with the magpistol's slugs."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magrifle"
item_state = "arg"
slot_flags = 0
mag_type = /obj/item/ammo_box/magazine/mmag
fire_sound = 'sound/weapons/magrifle.ogg'
can_suppress = 0
burst_size = 3
fire_delay = 2
spread = 20
recoil = 1
casing_ejector = 0
///research///
/obj/item/gun/ballistic/automatic/magrifle/nopin
pin = null
spawnwithmagazine = FALSE
/datum/design/magrifle
name = "Magrifle"
desc = "An upscaled Magpistol in rifle form."
id = "magrifle"
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 2000, MAT_TITANIUM = 10000, MAT_SILVER = 4000, MAT_GOLD = 2000)
build_path = /obj/item/gun/ballistic/automatic/magrifle/nopin
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/mag_magrifle
name = "Magrifle Magazine (Lethal)"
desc = "A 24-round magazine for the Magrifle."
id = "mag_magrifle"
build_type = PROTOLATHE
materials = list(MAT_METAL = 8000, MAT_SILVER = 1000)
build_path = /obj/item/ammo_box/magazine/mmag/lethal
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/mag_magrifle/nl
name = "Magrifle Magazine (Non-Lethal)"
desc = "A 24- round non-lethal magazine for the Magrifle."
id = "mag_magrifle_nl"
materials = list(MAT_METAL = 6000, MAT_SILVER = 500, MAT_TITANIUM = 500)
build_path = /obj/item/ammo_box/magazine/mmag
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
///foamagrifle///
/obj/item/ammo_box/magazine/toy/foamag
name = "foam force magrifle magazine"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "foamagmag"
max_ammo = 24
multiple_sprites = 2
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
materials = list(MAT_METAL = 200)
/obj/item/gun/ballistic/automatic/magrifle/toy
name = "foamag rifle"
desc = "A foam launching magnetic rifle. Ages 8 and up."
icon_state = "foamagrifle"
obj_flags = 0
mag_type = /obj/item/ammo_box/magazine/toy/foamag
casing_ejector = FALSE
spread = 60
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
/*
// TECHWEBS IMPLEMENTATION
*/
/datum/techweb_node/magnetic_weapons
id = "magnetic_weapons"
display_name = "Magnetic Weapons"
description = "Weapons using magnetic technology"
prereq_ids = list("weaponry", "adv_weaponry", "emp_adv")
design_ids = list("magrifle", "magpisol", "mag_magrifle", "mag_magrifle_nl", "mag_magpistol", "mag_magpistol_nl")
research_cost = 2500
export_price = 5000
//////Hyper-Burst Rifle//////
///projectiles///
/obj/item/projectile/bullet/mags/hyper
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile"
damage = 10
armour_penetration = 10
stamina = 10
forcedodge = TRUE
range = 6
light_range = 1
light_color = LIGHT_COLOR_RED
/obj/item/projectile/bullet/mags/hyper/inferno
icon_state = "magjectile-large"
stamina = 0
forcedodge = FALSE
range = 25
light_range = 4
/obj/item/projectile/bullet/mags/hyper/inferno/on_hit(atom/target, blocked = FALSE)
..()
explosion(target, -1, 1, 2, 4, 5)
return 1
///ammo casings///
/obj/item/ammo_casing/caseless/ahyper
desc = "A large block of speciallized ferromagnetic material designed to be fired out of the experimental Hyper-Burst Rifle."
caliber = "hypermag"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "hyper-casing-live"
projectile_type = /obj/item/projectile/bullet/mags/hyper
pellets = 12
variance = 40
/obj/item/ammo_casing/caseless/ahyper/inferno
projectile_type = /obj/item/projectile/bullet/mags/hyper/inferno
pellets = 1
variance = 0
///magazines///
/obj/item/ammo_box/magazine/mhyper
name = "hyper-burst rifle magazine"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "hypermag-4"
ammo_type = /obj/item/ammo_casing/caseless/ahyper
caliber = "hypermag"
desc = "A magazine for the Hyper-Burst Rifle. Loaded with a special slug that fragments into 12 smaller shards which can absolutely puncture anything, but has rather short effective range."
max_ammo = 4
/obj/item/ammo_box/magazine/mhyper/update_icon()
..()
icon_state = "hypermag-[ammo_count() ? "4" : "0"]"
/obj/item/ammo_box/magazine/mhyper/inferno
name = "hyper-burst rifle magazine (inferno)"
ammo_type = /obj/item/ammo_casing/caseless/ahyper/inferno
desc = "A magazine for the Hyper-Burst Rifle. Loaded with a special slug that violently reacts with whatever surface it strikes, generating a massive amount of heat and light."
///gun itself///
/obj/item/gun/ballistic/automatic/hyperburst
name = "\improper Hyper-Burst Rifle"
desc = "An extremely beefed up version of a stolen Nanotrasen weapon prototype, this 'rifle' is more like a cannon, with an extremely large bore barrel capable of generating several smaller magnetic 'barrels' to simultaneously launch multiple projectiles at once."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "hyperburst"
item_state = "arg"
slot_flags = 0
mag_type = /obj/item/ammo_box/magazine/mhyper
fire_sound = 'sound/weapons/magburst.ogg'
can_suppress = 0
burst_size = 1
fire_delay = 40
recoil = 2
casing_ejector = 0
weapon_weight = WEAPON_HEAVY
/obj/item/gun/ballistic/automatic/hyperburst/update_icon()
..()
icon_state = "hyperburst[magazine ? "-[get_ammo()]" : ""][chambered ? "" : "-e"]"
///toy memes///
/obj/item/projectile/beam/lasertag/mag //the projectile, compatible with regular laser tag armor
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "magjectile-toy"
name = "lasertag magbolt"
forcedodge = TRUE //for penetration memes
range = 5 //so it isn't super annoying
light_range = 2
light_color = LIGHT_COLOR_YELLOW
eyeblur = 0
/obj/item/ammo_casing/energy/laser/magtag
projectile_type = /obj/item/projectile/beam/lasertag/mag
select_name = "magtag"
pellets = 3
variance = 30
e_cost = 1000
fire_sound = 'sound/weapons/magburst.ogg'
/obj/item/gun/energy/laser/practice/hyperburst
name = "toy hyper-burst launcher"
desc = "A toy laser with a unique beam shaping lens that projects harmless bolts capable of going through objects. Compatible with existing laser tag systems."
ammo_type = list(/obj/item/ammo_casing/energy/laser/magtag)
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "toyburst"
clumsy_check = FALSE
obj_flags = 0
fire_delay = 40
weapon_weight = WEAPON_HEAVY
selfcharge = TRUE
charge_delay = 2
recoil = 2
cell_type = /obj/item/stock_parts/cell/toymagburst
/obj/item/stock_parts/cell/toymagburst
name = "toy mag burst rifle power supply"
maxcharge = 4000
/* made redundant by reskinnable stetchkins
//////Stealth Pistol//////
/obj/item/gun/ballistic/automatic/pistol/stealth
name = "stealth pistol"
desc = "A unique bullpup pistol with a compact frame. Has an integrated surpressor."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "stealthpistol"
w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/m10mm
can_suppress = 0
fire_sound = 'sound/weapons/gunshot_silenced.ogg'
suppressed = 1
burst_size = 1
/obj/item/gun/ballistic/automatic/pistol/stealth/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("stealthpistol-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
*/
///foam stealth pistol///
/obj/item/gun/ballistic/automatic/toy/pistol/stealth
name = "foam force stealth pistol"
desc = "A small, easily concealable toy bullpup handgun. Ages 8 and up."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "foamsp"
w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/toy/pistol
can_suppress = FALSE
fire_sound = 'sound/weapons/gunshot_silenced.ogg'
suppressed = TRUE
burst_size = 1
fire_delay = 0
spread = 60
actions_types = list()
/obj/item/gun/ballistic/automatic/toy/pistol/stealth/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("foamsp-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
//////10mm soporific bullets//////
obj/item/projectile/bullet/c10mm/soporific
name ="10mm soporific bullet"
armour_penetration = 0
nodamage = TRUE
dismemberment = 0
knockdown = 0
/obj/item/projectile/bullet/c10mm/soporific/on_hit(atom/target, blocked = FALSE)
if((blocked != 100) && isliving(target))
var/mob/living/L = target
L.blur_eyes(6)
if(L.getStaminaLoss() >= 60)
L.Sleeping(300)
else
L.adjustStaminaLoss(25)
return 1
/obj/item/ammo_casing/c10mm/soporific
name = ".10mm soporific bullet casing"
desc = "A 10mm soporific bullet casing."
projectile_type = /obj/item/projectile/bullet/c10mm/soporific
/obj/item/ammo_box/magazine/m10mm/soporific
name = "pistol magazine (10mm soporific)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "9x19pS"
desc = "A gun magazine. Loaded with rounds which inject the target with a variety of illegal substances to induce sleep in the target."
ammo_type = /obj/item/ammo_casing/c10mm/soporific
/obj/item/ammo_box/c10mm/soporific
name = "ammo box (10mm soporific)"
ammo_type = /obj/item/ammo_casing/c10mm/soporific
max_ammo = 24
//////Flechette Launcher//////
///projectiles///
/obj/item/projectile/bullet/cflechetteap //shreds armor
name = "flechette (armor piercing)"
damage = 8
armour_penetration = 80
/obj/item/projectile/bullet/cflechettes //shreds flesh and forces bleeding
name = "flechette (serrated)"
damage = 15
dismemberment = 10
armour_penetration = -80
/obj/item/projectile/bullet/cflechettes/on_hit(atom/target, blocked = FALSE)
if((blocked != 100) && iscarbon(target))
var/mob/living/carbon/C = target
C.bleed(10)
return ..()
///ammo casings (CASELESS AMMO CASINGS WOOOOOOOO)///
/obj/item/ammo_casing/caseless/flechetteap
name = "flechette (armor piercing)"
desc = "A flechette made with a tungsten alloy."
projectile_type = /obj/item/projectile/bullet/cflechetteap
caliber = "flechette"
throwforce = 1
throw_speed = 3
/obj/item/ammo_casing/caseless/flechettes
name = "flechette (serrated)"
desc = "A serrated flechette made of a special alloy intended to deform drastically upon penetration of human flesh."
projectile_type = /obj/item/projectile/bullet/cflechettes
caliber = "flechette"
throwforce = 2
throw_speed = 3
embedding = list("embedded_pain_multiplier" = 0, "embed_chance" = 40, "embedded_fall_chance" = 10)
///magazine///
/obj/item/ammo_box/magazine/flechette
name = "flechette magazine (armor piercing)"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "flechettemag"
ammo_type = /obj/item/ammo_casing/caseless/flechetteap
caliber = "flechette"
max_ammo = 40
multiple_sprites = 2
/obj/item/ammo_box/magazine/flechette/s
name = "flechette magazine (serrated)"
ammo_type = /obj/item/ammo_casing/caseless/flechettes
///the gun itself///
/obj/item/gun/ballistic/automatic/flechette
name = "\improper CX Flechette Launcher"
desc = "A flechette launching machine pistol with an unconventional bullpup frame."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "flechettegun"
item_state = "gun"
w_class = WEIGHT_CLASS_NORMAL
slot_flags = 0
/obj/item/device/firing_pin/implant/pindicate
mag_type = /obj/item/ammo_box/magazine/flechette/
fire_sound = 'sound/weapons/gunshot_smg.ogg'
can_suppress = 0
burst_size = 5
fire_delay = 1
casing_ejector = 0
spread = 20
/obj/item/gun/ballistic/automatic/flechette/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("flechettegun-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
///unique variant///
/obj/item/projectile/bullet/cflechetteshredder
name = "flechette (shredder)"
damage = 5
dismemberment = 40
/obj/item/ammo_casing/caseless/flechetteshredder
name = "flechette (shredder)"
desc = "A serrated flechette made of a special alloy that forms a monofilament edge."
projectile_type = /obj/item/projectile/bullet/cflechettes
/obj/item/ammo_box/magazine/flechette/shredder
name = "flechette magazine (shredder)"
icon_state = "shreddermag"
ammo_type = /obj/item/ammo_casing/caseless/flechetteshredder
/obj/item/gun/ballistic/automatic/flechette/shredder
name = "\improper CX Shredder"
desc = "A flechette launching machine pistol made of ultra-light CFRP optimized for firing serrated monofillament flechettes."
w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/flechette/shredder
spread = 30
/obj/item/gun/ballistic/automatic/flechette/shredder/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("shreddergun-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
//////modular pistol////// (reskinnable stetchkins)
/obj/item/gun/ballistic/automatic/pistol/modular
name = "modular pistol"
desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "cde"
can_unsuppress = TRUE
obj_flags = UNIQUE_RENAME
unique_reskin = list("Default" = "cde",
"NT-99" = "n99",
"Stealth" = "stealthpistol",
"HKVP-78" = "vp78",
"Luger" = "p08b",
"Mk.58" = "secguncomp",
"PX4 Storm" = "px4"
)
/obj/item/gun/ballistic/automatic/pistol/modular/update_icon()
..()
if(current_skin)
icon_state = "[unique_reskin[current_skin]][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
else
icon_state = "[initial(icon_state)][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
if(magazine && suppressed)
cut_overlays()
add_overlay("[unique_reskin[current_skin]]-magazine-sup") //Yes, this means the default iconstate can't have a magazine overlay
else if (magazine)
cut_overlays()
add_overlay("[unique_reskin[current_skin]]-magazine")
else
cut_overlays()
/////////RAYGUN MEMES/////////
/obj/item/projectile/beam/lasertag/ray //the projectile, compatible with regular laser tag armor
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "ray"
name = "ray bolt"
eyeblur = 0
/obj/item/ammo_casing/energy/laser/raytag
projectile_type = /obj/item/projectile/beam/lasertag/ray
select_name = "raytag"
fire_sound = 'sound/weapons/raygun.ogg'
/obj/item/gun/energy/laser/practice/raygun
name = "toy ray gun"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "raygun"
desc = "A toy laser with a classic, retro feel and look. Compatible with existing laser tag systems."
ammo_type = list(/obj/item/ammo_casing/energy/laser/raytag)
selfcharge = TRUE
/*/////////////////////////////////////////////////////////////////////////////////////////////
The Recolourable Gun
*//////////////////////////////////////////////////////////////////////////////////////////////
/obj/item/gun/ballistic/automatic/pistol/p37
name = "\improper CX Mk.37P"
desc = "A modern reimagining of an old legendary gun, the Mk.37 is a handgun with a toggle-locking mechanism manufactured by CX Armories. \
This model is coated with a special polychromic material. \
Has a small warning on the receiver that boldly states 'WARNING: WILL DETONATE UPON UNAUTHORIZED USE'. \
Uses 9mm bullets loaded into proprietary magazines."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "p37"
w_class = WEIGHT_CLASS_NORMAL
spawnwithmagazine = FALSE
mag_type = /obj/item/ammo_box/magazine/m9mm/p37
can_suppress = FALSE
pin = /obj/item/device/firing_pin/dna/dredd //goes boom if whoever isn't DNA locked to it tries to use it
actions_types = list(/datum/action/item_action/pick_color)
var/frame_color = "#808080" //RGB
var/receiver_color = "#808080"
var/body_color = "#0098FF"
var/barrel_color = "#808080"
var/tip_color = "#808080"
var/arm_color = "#808080"
var/grip_color = "#00FFCB" //Does not actually colour the grip, just the lights surrounding it
var/energy_color = "#00FFCB"
///Defining all the colourable bits and displaying them///
/obj/item/gun/ballistic/automatic/pistol/p37/update_icon()
var/mutable_appearance/frame_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_frame")
var/mutable_appearance/receiver_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_receiver")
var/mutable_appearance/body_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_body")
var/mutable_appearance/barrel_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_barrel")
var/mutable_appearance/tip_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_tip")
var/mutable_appearance/grip_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_grip")
var/mutable_appearance/energy_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_light")
var/mutable_appearance/arm_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_arm")
var/mutable_appearance/arm_overlay_e = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_arm-e")
if(frame_color)
frame_overlay.color = frame_color
if(receiver_color)
receiver_overlay.color = receiver_color
if(body_color)
body_overlay.color = body_color
if(barrel_color)
barrel_overlay.color = barrel_color
if(tip_color)
tip_overlay.color = tip_color
if(grip_color)
grip_overlay.color = grip_color
if(energy_color)
energy_overlay.color = energy_color
if(arm_color)
arm_overlay.color = arm_color
if(arm_color)
arm_overlay_e.color = arm_color
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
add_overlay(frame_overlay)
add_overlay(receiver_overlay)
add_overlay(body_overlay)
add_overlay(barrel_overlay)
add_overlay(tip_overlay)
add_overlay(grip_overlay)
add_overlay(energy_overlay)
if(magazine) //does not need a cut_overlays proc call here because it's already called further up
add_overlay("p37_mag")
if(chambered)
cut_overlay(arm_overlay_e)
add_overlay(arm_overlay)
else
cut_overlay(arm_overlay)
add_overlay(arm_overlay_e)
///letting you actually recolor things///
/obj/item/gun/ballistic/automatic/pistol/p37/ui_action_click(mob/user, var/datum/action/A)
if(istype(A, /datum/action/item_action/pick_color))
var/choice = input(user,"Mk.37P polychrome options", "Gun Recolor") in list("Frame Color","Receiver Color","Body Color",
"Barrel Color", "Barrel Tip Color", "Grip Light Color",
"Light Color", "Arm Color", "*CANCEL*")
switch(choice)
if("Frame Color")
var/frame_color_input = input(usr,"","Choose Frame Color",frame_color) as color|null
if(frame_color_input)
frame_color = sanitize_hexcolor(frame_color_input, desired_format=6, include_crunch=1)
update_icon()
if("Receiver Color")
var/receiver_color_input = input(usr,"","Choose Receiver Color",receiver_color) as color|null
if(receiver_color_input)
receiver_color = sanitize_hexcolor(receiver_color_input, desired_format=6, include_crunch=1)
update_icon()
if("Body Color")
var/body_color_input = input(usr,"","Choose Body Color",body_color) as color|null
if(body_color_input)
body_color = sanitize_hexcolor(body_color_input, desired_format=6, include_crunch=1)
update_icon()
if("Barrel Color")
var/barrel_color_input = input(usr,"","Choose Barrel Color",barrel_color) as color|null
if(barrel_color_input)
barrel_color = sanitize_hexcolor(barrel_color_input, desired_format=6, include_crunch=1)
update_icon()
if("Barrel Tip Color")
var/tip_color_input = input(usr,"","Choose Barrel Tip Color",tip_color) as color|null
if(tip_color_input)
tip_color = sanitize_hexcolor(tip_color_input, desired_format=6, include_crunch=1)
update_icon()
if("Grip Light Color")
var/grip_color_input = input(usr,"","Choose Grip Light Color",grip_color) as color|null
if(grip_color_input)
grip_color = sanitize_hexcolor(grip_color_input, desired_format=6, include_crunch=1)
update_icon()
if("Light Color")
var/energy_color_input = input(usr,"","Choose Light Color",energy_color) as color|null
if(energy_color_input)
energy_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1)
update_icon()
if("Arm Color")
var/arm_color_input = input(usr,"","Choose Arm Color",arm_color) as color|null
if(arm_color_input)
arm_color = sanitize_hexcolor(arm_color_input, desired_format=6, include_crunch=1)
update_icon()
A.UpdateButtonIcon()
else
..()
///boolets///
/obj/item/projectile/bullet/c9mm/frangible
name = "9mm frangible bullet"
damage = 15
stamina = 0
speed = 1.0
range = 20
armour_penetration = -25
/obj/item/projectile/bullet/c9mm/rubber
name = "9mm rubber bullet"
damage = 5
stamina = 30
speed = 1.2
range = 14
knockdown = 0
/obj/item/ammo_casing/c9mm/frangible
name = "9mm frangible bullet casing"
desc = "A 9mm frangible bullet casing."
projectile_type = /obj/item/projectile/bullet/c9mm/frangible
/obj/item/ammo_casing/c9mm/rubber
name = "9mm rubber bullet casing"
desc = "A 9mm rubber bullet casing."
projectile_type = /obj/item/projectile/bullet/c9mm/rubber
/obj/item/ammo_box/magazine/m9mm/p37
name = "\improper P37 magazine (9mm frangible)"
desc = "A gun magazine. Loaded with plastic composite rounds which fragment upon impact to minimize collateral damage."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "11mm" //topkek
ammo_type = /obj/item/ammo_casing/c9mm/frangible
caliber = "9mm"
max_ammo = 11
multiple_sprites = 1
/obj/item/ammo_box/magazine/m9mm/p37/fmj
name = "\improper P37 magazine (9mm)"
ammo_type = /obj/item/ammo_casing/c9mm
desc = "A gun magazine. Loaded with conventional full metal jacket rounds."
/obj/item/ammo_box/magazine/m9mm/p37/rubber
name = "\improper P37 magazine (9mm Non-Lethal Rubbershot)"
ammo_type = /obj/item/ammo_casing/c9mm/rubber
desc = "A gun magazine. Loaded with less-than-lethal rubber bullets."
/obj/item/ammo_box/c9mm/frangible
name = "ammo box (9mm frangible)"
ammo_type = /obj/item/ammo_casing/c9mm/frangible
/obj/item/ammo_box/c9mm/rubber
name = "ammo box (9mm non-lethal rubbershot)"
ammo_type = /obj/item/ammo_casing/c9mm/rubber
/datum/design/c9mmfrag
name = "Box of 9mm Frangible Bullets"
id = "9mm_frag"
build_type = AUTOLATHE
materials = list(MAT_METAL = 25000)
build_path = /obj/item/ammo_box/c9mm/frangible
category = list("hacked", "Security")
/datum/design/c9mmrubber
name = "Box of 9mm Rubber Bullets"
id = "9mm_rubber"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30000)
build_path = /obj/item/ammo_box/c9mm/rubber
category = list("initial", "Security")
///Security Variant///
/obj/item/gun/ballistic/automatic/pistol/p37/sec
name = "\improper CX Mk.37S"
desc = "A modern reimagining of an old legendary gun, the Mk.37 is a handgun with a toggle-locking mechanism manufactured by CX Armories. Uses 9mm bullets loaded into proprietary magazines."
spawnwithmagazine = FALSE
pin = /obj/item/device/firing_pin/implant/mindshield
actions_types = list() //so you can't recolor it
frame_color = "#808080" //RGB
receiver_color = "#808080"
body_color = "#282828"
barrel_color = "#808080"
tip_color = "#808080"
arm_color = "#800000"
grip_color = "#FFFF00" //Does not actually colour the grip, just the lights surrounding it
energy_color = "#FFFF00"
///Foam Variant because WE NEED MEMES///
/obj/item/gun/ballistic/automatic/pistol/p37/foam
name = "\improper Foam Force Mk.37F"
desc = "A licensed foam-firing reproduction of a handgun with a toggle-locking mechanism manufactured by CX Armories. This model is coated with a special polychromic material. Uses standard foam pistol magazines."
icon_state = "p37_foam"
pin = /obj/item/device/firing_pin
spawnwithmagazine = TRUE
obj_flags = 0
casing_ejector = FALSE
mag_type = /obj/item/ammo_box/magazine/toy/pistol
can_suppress = FALSE
actions_types = list(/datum/action/item_action/pick_color)
/*/////////////////////////////////////////////////////////////////////////////////////////////
The Recolourable Energy Gun
*//////////////////////////////////////////////////////////////////////////////////////////////
obj/item/gun/energy/e_gun/cx
name = "\improper CX Model D Energy Gun"
desc = "An overpriced hybrid energy gun with two settings: disable, and kill. Manufactured by CX Armories. Has a polychromic coating."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "cxe"
lefthand_file = 'icons/mob/citadel/guns_lefthand.dmi'
righthand_file = 'icons/mob/citadel/guns_righthand.dmi'
ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser)
flight_x_offset = 15
flight_y_offset = 10
var/body_color = "#252528"
obj/item/gun/energy/e_gun/cx/update_icon()
..()
var/mutable_appearance/body_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "cxegun_body")
if(body_color)
body_overlay.color = body_color
add_overlay(body_overlay)
if(ismob(loc))
var/mob/M = loc
M.update_inv_hands()
obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user)
if(!in_range(src, user)) //Basic checks to prevent abuse
return
if(user.incapacitated() || !istype(user))
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return
if(alert("Are you sure you want to repaint your gun?", "Confirm Repaint", "Yes", "No") == "Yes")
var/body_color_input = input(usr,"","Choose Body Color",body_color) as color|null
if(body_color_input)
body_color = sanitize_hexcolor(body_color_input, desired_format=6, include_crunch=1)
update_icon()
obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file)
. = ..()
if(isinhands)
var/mutable_appearance/body_inhand = mutable_appearance(icon_file, "cxe_body")
body_inhand.color = body_color
. += body_inhand
/obj/item/ammo_box/magazine/toy/pistol //forcing this might be a bad idea, but it'll fix the foam gun infinite material exploit
materials = list(MAT_METAL = 200)
/*/////////////////////////////////////////////////////////////
//////////////////////// Zero's Meme //////////////////////////
*//////////////////////////////////////////////////////////////
/obj/item/ammo_box/magazine/toy/AM4B
name = "foam force AM4-B magazine"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "AM4MAG-60"
max_ammo = 60
multiple_sprites = 0
materials = list(MAT_METAL = 200)
/obj/item/gun/ballistic/automatic/AM4B
name = "AM4-B"
desc = "A Relic from a bygone age. Nobody quite knows why it's here. Has a polychromic coating."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "AM4"
item_state = "arg"
mag_type = /obj/item/ammo_box/magazine/toy/AM4B
can_suppress = 0
item_flags = NEEDS_PERMIT
casing_ejector = 0
spread = 30 //Assault Rifleeeeeee
w_class = WEIGHT_CLASS_NORMAL
burst_size = 4 //Shh.
fire_delay = 1
var/body_color = "#3333aa"
/obj/item/gun/ballistic/automatic/AM4B/update_icon()
..()
var/mutable_appearance/body_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "AM4-Body")
if(body_color)
body_overlay.color = body_color
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
add_overlay(body_overlay)
if(ismob(loc))
var/mob/M = loc
M.update_inv_hands()
/obj/item/gun/ballistic/automatic/AM4B/AltClick(mob/living/user)
if(!in_range(src, user)) //Basic checks to prevent abuse
return
if(user.incapacitated() || !istype(user))
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return
if(alert("Are you sure you want to recolor your gun?", "Confirm Repaint", "Yes", "No") == "Yes")
var/body_color_input = input(usr,"","Choose Shroud Color",body_color) as color|null
if(body_color_input)
body_color = sanitize_hexcolor(body_color_input, desired_format=6, include_crunch=1)
update_icon()
/obj/item/gun/ballistic/automatic/AM4B/examine(mob/user)
..()
to_chat(user, "<span class='notice'>Alt-click to recolor it.</span>")
/obj/item/ammo_box/magazine/toy/AM4C
name = "foam force AM4-C magazine"
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "AM4MAG-32"
max_ammo = 32
multiple_sprites = 0
materials = list(MAT_METAL = 200)
/obj/item/gun/ballistic/automatic/AM4C
name = "AM4-C"
desc = "A Relic from a bygone age. This one seems newer, yet less effective."
icon = 'icons/obj/guns/cit_guns.dmi'
icon_state = "AM4C"
item_state = "arg"
mag_type = /obj/item/ammo_box/magazine/toy/AM4C
can_suppress = 0
item_flags = NEEDS_PERMIT
casing_ejector = 0
spread = 45 //Assault Rifleeeeeee
w_class = WEIGHT_CLASS_NORMAL
burst_size = 4 //Shh.
fire_delay = 1