mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
389 lines
12 KiB
Plaintext
389 lines
12 KiB
Plaintext
/************************************************************************/
|
|
/*
|
|
# An explaination of the naming format for guns and ammo:
|
|
#
|
|
# a = Ammo, as in individual rounds of ammunition.
|
|
# b = Box, intended to have ammo taken out one at a time by hand.
|
|
# c = Clips, intended to reload magazines or guns quickly.
|
|
# m = Magazine, intended to hold rounds of ammo.
|
|
# s = Speedloaders, intended to reload guns quickly.
|
|
#
|
|
# Use this format, followed by the caliber. For example, a shotgun's caliber
|
|
# variable is "12g" as a result. Ergo, a shotgun round's path would have "a12g",
|
|
# or a magazine with shotgun shells would be "m12g" instead. To avoid confusion
|
|
# for developers and in-game admins spawning these items, stick to this format.
|
|
# Likewise, when creating new rounds, the caliber variable should match whatever
|
|
# the name says.
|
|
#
|
|
# This comment is copied in magazines.dm as well.
|
|
*/
|
|
/************************************************************************/
|
|
|
|
/*
|
|
* .357
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a357
|
|
desc = "A .357 bullet casing."
|
|
caliber = ".357"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/strong
|
|
matter = list(DEFAULT_WALL_MATERIAL = 210)
|
|
|
|
/*
|
|
* .38
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a38
|
|
desc = "A .38 bullet casing."
|
|
caliber = ".38"
|
|
projectile_type = /obj/item/projectile/bullet/pistol
|
|
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
|
|
|
/obj/item/ammo_casing/a38/rubber
|
|
desc = "A .38 rubber bullet casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/rubber
|
|
|
|
/obj/item/ammo_casing/a38/emp
|
|
name = ".38 haywire round"
|
|
desc = "A .38 bullet casing fitted with a single-use ion pulse generator."
|
|
icon_state = "empcasing"
|
|
projectile_type = /obj/item/projectile/ion/small
|
|
matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100)
|
|
|
|
/*
|
|
* .44
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a44
|
|
desc = "A .44 bullet casing."
|
|
caliber = ".44"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/strong
|
|
matter = list(DEFAULT_WALL_MATERIAL = 210)
|
|
|
|
/obj/item/ammo_casing/a44/rubber
|
|
icon_state = "r-casing"
|
|
desc = "A .44 rubber bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/pistol/rubber/strong
|
|
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
|
|
|
/obj/item/ammo_casing/a44/rifle
|
|
desc = "A proprietary Hedberg-Hammarstrom .44 bullet casing designed for use in revolving rifles."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a44rifle
|
|
matter = list(DEFAULT_WALL_MATERIAL = 210)
|
|
|
|
/*
|
|
* .75 (aka Gyrojet Rockets, aka admin abuse)
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a75
|
|
desc = "A .75 gyrojet rocket sheathe."
|
|
caliber = ".75"
|
|
projectile_type = /obj/item/projectile/bullet/gyro
|
|
matter = list(DEFAULT_WALL_MATERIAL = 4000)
|
|
|
|
/*
|
|
* 9mm
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a9mm
|
|
desc = "A 9mm bullet casing."
|
|
caliber = "9mm"
|
|
projectile_type = /obj/item/projectile/bullet/pistol
|
|
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
|
|
|
/obj/item/ammo_casing/a9mm/ap
|
|
desc = "A 9mm armor-piercing bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/pistol/ap
|
|
matter = list(DEFAULT_WALL_MATERIAL = 80)
|
|
|
|
/obj/item/ammo_casing/a9mm/hp
|
|
desc = "A 9mm hollow-point bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/pistol/hp
|
|
|
|
|
|
/obj/item/ammo_casing/a9mm/flash
|
|
desc = "A 9mm flash shell casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/energy/flash
|
|
|
|
/obj/item/ammo_casing/a9mm/rubber
|
|
desc = "A 9mm rubber bullet casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/rubber
|
|
|
|
/obj/item/ammo_casing/a9mm/practice
|
|
desc = "A 9mm practice bullet casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/bullet/practice
|
|
|
|
/*
|
|
* .45
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a45
|
|
desc = "A .45 bullet casing."
|
|
caliber = ".45"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/medium
|
|
matter = list(DEFAULT_WALL_MATERIAL = 75)
|
|
|
|
/obj/item/ammo_casing/a45/ap
|
|
desc = "A .45 Armor-Piercing bullet casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/medium/ap
|
|
matter = list(DEFAULT_WALL_MATERIAL = 50, MAT_PLASTEEL = 25)
|
|
|
|
/obj/item/ammo_casing/a45/practice
|
|
desc = "A .45 practice bullet casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/bullet/practice
|
|
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
|
|
|
/obj/item/ammo_casing/a45/rubber
|
|
desc = "A .45 rubber bullet casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/rubber
|
|
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
|
|
|
/obj/item/ammo_casing/a45/flash
|
|
desc = "A .45 flash shell casing."
|
|
icon_state = "r-casing"
|
|
projectile_type = /obj/item/projectile/energy/flash
|
|
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
|
|
|
/obj/item/ammo_casing/a45/emp
|
|
name = ".45 haywire round"
|
|
desc = "A .45 bullet casing fitted with a single-use ion pulse generator."
|
|
projectile_type = /obj/item/projectile/ion/small
|
|
icon_state = "empcasing"
|
|
matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100)
|
|
|
|
/obj/item/ammo_casing/a45/hp
|
|
desc = "A .45 hollow-point bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/pistol/medium/hp
|
|
matter = list(DEFAULT_WALL_MATERIAL = 60, MAT_PLASTIC = 15)
|
|
|
|
/*
|
|
* 10mm
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a10mm
|
|
desc = "A 10mm bullet casing."
|
|
caliber = "10mm"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/medium
|
|
matter = list(DEFAULT_WALL_MATERIAL = 75)
|
|
|
|
/obj/item/ammo_casing/a10mm/emp
|
|
name = "10mm haywire round"
|
|
desc = "A 10mm bullet casing fitted with a single-use ion pulse generator."
|
|
projectile_type = /obj/item/projectile/ion/small
|
|
icon_state = "empcasing"
|
|
matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100)
|
|
|
|
/*
|
|
* 12g (aka shotgun ammo)
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a12g
|
|
name = "shotgun slug"
|
|
desc = "A 12 gauge slug."
|
|
icon_state = "slshell"
|
|
caliber = "12g"
|
|
projectile_type = /obj/item/projectile/bullet/shotgun
|
|
matter = list(DEFAULT_WALL_MATERIAL = 360)
|
|
|
|
/obj/item/ammo_casing/a12g/pellet
|
|
name = "shotgun shell"
|
|
desc = "A 12 gauge shell."
|
|
icon_state = "gshell"
|
|
projectile_type = /obj/item/projectile/bullet/pellet/shotgun
|
|
|
|
/obj/item/ammo_casing/a12g/blank
|
|
name = "shotgun shell"
|
|
desc = "A blank shell."
|
|
icon_state = "blshell"
|
|
projectile_type = /obj/item/projectile/bullet/blank
|
|
matter = list(DEFAULT_WALL_MATERIAL = 90)
|
|
|
|
/obj/item/ammo_casing/a12g/practice
|
|
name = "shotgun shell"
|
|
desc = "A practice shell."
|
|
icon_state = "pshell"
|
|
projectile_type = /obj/item/projectile/bullet/practice
|
|
matter = list(DEFAULT_WALL_MATERIAL = 90)
|
|
|
|
/obj/item/ammo_casing/a12g/beanbag
|
|
name = "beanbag shell"
|
|
desc = "A beanbag shell."
|
|
icon_state = "bshell"
|
|
projectile_type = /obj/item/projectile/bullet/shotgun/beanbag
|
|
matter = list(DEFAULT_WALL_MATERIAL = 180)
|
|
|
|
//Can stun in one hit if aimed at the head, but
|
|
//is blocked by clothing that stops tasers and is vulnerable to EMP
|
|
/obj/item/ammo_casing/a12g/stunshell
|
|
name = "stun shell"
|
|
desc = "A 12 gauge taser cartridge."
|
|
icon_state = "stunshell"
|
|
projectile_type = /obj/item/projectile/energy/electrode/stunshot
|
|
matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720)
|
|
|
|
/obj/item/ammo_casing/a12g/stunshell/emp_act(severity)
|
|
if(prob(100/severity)) BB = null
|
|
update_icon()
|
|
|
|
//Does not stun, only blinds, but has area of effect.
|
|
/obj/item/ammo_casing/a12g/flash
|
|
name = "flash shell"
|
|
desc = "A chemical shell used to signal distress or provide illumination."
|
|
icon_state = "fshell"
|
|
projectile_type = /obj/item/projectile/energy/flash/flare
|
|
matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90)
|
|
|
|
/obj/item/ammo_casing/a12g/emp
|
|
name = "ion shell"
|
|
desc = "An advanced shotgun round that creates a small EMP when it strikes a target."
|
|
icon_state = "empshell"
|
|
projectile_type = /obj/item/projectile/ion
|
|
// projectile_type = /obj/item/projectile/bullet/shotgun/ion
|
|
matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240)
|
|
|
|
/obj/item/ammo_casing/a12g/flechette
|
|
name = "shotgun flechette"
|
|
desc = "A 12 gauge flechette cartidge, also known as nailshot."
|
|
icon_state = "slshell"
|
|
caliber = "12g"
|
|
projectile_type = /obj/item/projectile/scatter/flechette
|
|
matter = list(DEFAULT_WALL_MATERIAL = 360, MAT_PLASTEEL = 100)
|
|
|
|
/*
|
|
* 7.62mm
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a762
|
|
desc = "A 7.62mm bullet casing."
|
|
caliber = "7.62mm"
|
|
icon_state = "rifle-casing"
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a762
|
|
matter = list(DEFAULT_WALL_MATERIAL = 200)
|
|
|
|
/obj/item/ammo_casing/a762/ap
|
|
desc = "A 7.62mm armor-piercing bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a762/ap
|
|
matter = list(DEFAULT_WALL_MATERIAL = 300)
|
|
|
|
/obj/item/ammo_casing/a762/practice
|
|
desc = "A 7.62mm practice bullet casing."
|
|
icon_state = "rifle-casing" // Need to make an icon for these
|
|
projectile_type = /obj/item/projectile/bullet/practice
|
|
matter = list(DEFAULT_WALL_MATERIAL = 90)
|
|
|
|
/obj/item/ammo_casing/a762/blank
|
|
desc = "A blank 7.62mm bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/blank
|
|
matter = list(DEFAULT_WALL_MATERIAL = 90)
|
|
|
|
/obj/item/ammo_casing/a762/hp
|
|
desc = "A 7.62mm hollow-point bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a762/hp
|
|
|
|
/obj/item/ammo_casing/a762/hunter
|
|
desc = "A 7.62mm hunting bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a762/hunter
|
|
|
|
/*
|
|
* 14.5mm (anti-materiel rifle round)
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a145
|
|
desc = "A 14.5mm shell."
|
|
icon_state = "lcasing"
|
|
caliber = "14.5mm"
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a145
|
|
matter = list(MAT_TITANIUM = 2500, MAT_URANIUM = 1000, MAT_PLASTEEL = 1500)
|
|
|
|
/obj/item/ammo_casing/a145/highvel
|
|
desc = "A 14.5mm sabot shell."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a145
|
|
matter = list(MAT_TITANIUM = 2500, MAT_PLASTEEL = 1500)
|
|
|
|
/obj/item/ammo_casing/a145/spent/Initialize()
|
|
. = ..()
|
|
expend()
|
|
|
|
/*
|
|
* 5.45mm
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a545
|
|
desc = "A 5.45mm bullet casing."
|
|
caliber = "5.45mm"
|
|
icon_state = "rifle-casing"
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a545
|
|
matter = list(DEFAULT_WALL_MATERIAL = 180)
|
|
|
|
/obj/item/ammo_casing/a545/ap
|
|
desc = "A 5.45mm armor-piercing bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a545/ap
|
|
matter = list(DEFAULT_WALL_MATERIAL = 270)
|
|
|
|
/obj/item/ammo_casing/a545/practice
|
|
desc = "A 5.45mm practice bullet casing."
|
|
icon_state = "rifle-casing" // Need to make an icon for these
|
|
projectile_type = /obj/item/projectile/bullet/practice
|
|
matter = list(DEFAULT_WALL_MATERIAL = 90)
|
|
|
|
/obj/item/ammo_casing/a545/blank
|
|
desc = "A blank 5.45mm bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/blank
|
|
matter = list(DEFAULT_WALL_MATERIAL = 90)
|
|
|
|
/obj/item/ammo_casing/a545/hp
|
|
desc = "A 5.45mm hollow-point bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a545/hp
|
|
|
|
/obj/item/ammo_casing/a545/hunter
|
|
desc = "A 5.45mm hunting bullet casing."
|
|
projectile_type = /obj/item/projectile/bullet/rifle/a545/hunter
|
|
|
|
/*
|
|
* 5mm Caseless
|
|
*/
|
|
|
|
/obj/item/ammo_casing/a5mmcaseless
|
|
desc = "A 5mm solid phoron caseless round."
|
|
caliber = "5mm caseless"
|
|
icon_state = "casing" // Placeholder. Should probably be purple.
|
|
projectile_type = /obj/item/projectile/bullet/pistol // Close enough to be comparable.
|
|
matter = list(DEFAULT_WALL_MATERIAL = 180)
|
|
caseless = 1
|
|
|
|
/obj/item/ammo_casing/a5mmcaseless/stun
|
|
desc = "A 5mm solid phoron caseless stun round."
|
|
projectile_type = /obj/item/projectile/energy/electrode // Maybe nerf this considering there's 30 rounds in a mag.
|
|
|
|
/*
|
|
* Misc
|
|
*/
|
|
|
|
/obj/item/ammo_casing/rocket
|
|
name = "rocket shell"
|
|
desc = "A high explosive designed to be fired from a launcher."
|
|
icon_state = "rocketshell"
|
|
projectile_type = /obj/item/projectile/bullet/srmrocket
|
|
caliber = "rocket"
|
|
matter = list(DEFAULT_WALL_MATERIAL = 10000)
|
|
|
|
/obj/item/ammo_casing/cap
|
|
name = "cap"
|
|
desc = "A cap for children toys."
|
|
caliber = "caps"
|
|
icon_state = "r-casing"
|
|
color = "#FF0000"
|
|
projectile_type = /obj/item/projectile/bullet/pistol/cap
|
|
matter = list(DEFAULT_WALL_MATERIAL = 85)
|
|
|
|
/obj/item/ammo_casing/spent // For simple hostile mobs only, so they don't cough up usable bullets when firing. This is for literally nothing else.
|
|
icon_state = "s-casing-spent"
|
|
BB = null
|
|
projectile_type = null |