Skip to content

Commit

Permalink
Ballistics Firearm Operations Overhaul and New Improvised Firearms (#…
Browse files Browse the repository at this point in the history
…10020)

* Adds .41 caliber, lever rifle

Adds .41 caliber lever action rifle, 7+1 shot "pump action"
Adds .41 caliber ammo, 35 damage base, slightly faster travel time
.41 paper cartridge, 30 damage
.41 hot load paper, 30 damage, even faster travel, mild armor pen

* Piperifle, Recoil, .41 Ammo Box

Adds the pipe rifle as an item
Adds recoil to the pipe rifle and lever action rifle
Adds a unique sprite to the .41 cal ammo box (yellow :D)
Adjusts papershot damage

* Adds TWO_STEP bolt type, refactors bolt rifle code

Adds new TWO_STEP gun bolt type (Like pump, but toggles between locked and unlocked bolt on interaction, and can only be loaded with a locked/open bolt)
Refactors Mosin/Bolt Rifle racking code to be included with the parent ballistic.dm file.
.41 Caliber Paper cartridges have mildly randomized damage now.

* FIXES A LOADING FUCKUP

Hehe put an OR instead of an AND on checking when loading ammo.

* New Sprites for Lever Rifle

New sprite for lever action rifle
Removes firing pin from lever action rifle
further tweaks projectile speed of .41 cal ammo

* Proper pipe gun sprites

Sprites for Pipe Rifle, Pipe Pistol (sawn off pipe rifle), and Pipe Gun Bolt
Makes sawing check the currently chambered round instead of the ENTIRE MAGAZINE before shooting your face

* Tweaks ballistics.dm & recoil, merges upstream

Merges upstream to get benefits of #10008 and tweaks to Mosin & sawing code to ensure compatibility.
Reduces base recoil of improv shotgun to 1.5 (from 2)
Tweaks sawing code so it ADDS 1 recoil instead of setting recoil to 1 (Mainly affects shotguns)
Tweaks Obrez code to take this into account for 1-handed firing
Removes vestigial code from rifle.dm as TWO_STEP bolt type has been fully implemented

* Squashes sprite sheets

Didn't realize the merge conflict was over the sprite ballistic.dmi file, whoops! Merges the two sprite sheets so everything is nice textured.

Fixes a few other minor things with sawing, including a runtime with the new check on the chambered round

* Ups .41 cal damage, improv shotgun nerf

Ups .41 caliber damage across the board, adds hollowpoint copper slugs.
Nerfs improvised shotgun, can no longer utilize standard lethals or tech shells

* Ports slow break action guns

Ports changes from "accurateBreakactionGuns" manually; NO_BOLT guns toggle between open and closed with ctrl-click, can only be loaded/unloaded when open and fired when closed.

* Massively cleans up NO_BOLT cycling, new buckshot

Changes from Ctrl+Click to cycle to a three-step cycle for NO_BOLT guns, (Open -> Unload/Load -> Close).
Completely removes replace_spent on all magazines and ammo boxes
Converts the pipegun from a TWO_STEP to a NO_BOLT
Adds new 'Single-Aught Buckshot' - More pellets, less damage per pellet (8 @ 5.5 ea | 44 PB)

* Shotguns pump like Mosins bolt

Splits shotgun racking into an explicit rack open / rack closed
Speeds up racking across the board to 3 (from 5) as it's a two-step process now (slightly slower at 6 total)
Keeps rifle rackspeed at 5 (Mosins stay losing)
Splits shotgunpump.ogg into two new files; shotgunpump_open.ogg and shotgunpump_close.ogg

* Sniper changes, Magazine tweaks, Multiloading

Sniper rifle is now BOLT_TYPE_TWO_STEP and supports loading into chamber, and loading the attached magazine while the bolt is open.
Magazines no longer hoover up bullets like ammo boxes do.
Magazines without multi-load will load bullets one at a time when loading from an ammo box (1 bullet every 4 deciseconds)
Magazines with multi-load bypass this do_after for loading and load instantly (All internal magazines except shotgun)
Ballistic guns now have an explicit caliber variable, set to match the magazine's caliber on Initialization
Ballistic guns have the new 'direct_loading' variable, used for guns that support loading a removable magazine that's inserted, or loading into chamber when they otherwise wouldn't.
Tweaks to Det's revolver to work with new caliber changes
Guns no longer start with a chambered round (asides from NO_BOLT guns, for obvious reasons)
Tweaks loading code for the who knows how many-ith time

* Auto-racking pump action

Pump-action guns now operate as they used to, and will rack themselves automatically.
Pump-action guns can be ctrl+clicked to pump and lock them open for breach loading, before closing manually.

* NO_BOLT guns function like they used to (mostly)

NO_BOLT guns no longer function on a 3-step (open, unload, close) process.
NO_BOLT guns *still* require that the contents be dumped before loading new cartridges though.

* Reimplements 3-Step NO_BOLT guns as new bolt type

Adds redesigned function of NO_BOLT as NB_BREAK
Reclassifies Revolvers, the Derringer, the Pipe Rifle, and Break Action Shotguns (Double Barrel, Improv, Bounty) as NB_BREAK

* Makes guns not chamber on initialize

As it says, fucked up my if statement so it was always true.

* Cleans up code slightly

NB_BREAK now uses var/bolt_locked to prevent firing (like every other gun)
Streamlines code for blow_up()

* the shitcode was coming from INSIDE THE PR

Cleans up the logic of directly chambering rounds
Fixes loading PUMP bolt type guns (because I broke it)
Makes the code for directly chambering work for any gun that actually chambers rounds (if they have the proper variables set)

* Adds Pipe Repeater (SMG), De-Pins Improvised Guns

Adds pipe repeater (bootleg WT-550)
Adds pipe repeater magazine (Upgradable with matter bins)
Piggybacks off of Uzi for pipe repeater sprites (CHANGE LATER)
Improvised weapons do not require a firing pin to function now (engineers make do)
Fixes OPEN_BOLT guns eating bullets when racked with a magazine installed

* Pipe SMG Sprites

Adds sprites for pipe smg, and magazines (Tiers 1 to 5)
Renames sprites for pipe rifle to "piperifle" (instead of "pipegun")
Slightly tweaks how special mag overlays function, as it checks initial icon state instead of current.
Cleans up sprite code for bulldog magazines

* fuck my stupid baka life

Adds glass-pack improv shells (lower damage, can embed though)
Adds improvised 9mm (same damage, high variance in accuracy)
Lowers Improv shell pellets, variance, damage. Adds AP & increases minimum range
Adds so many revolver sprites (To show open/closed cylinder)

* (Most) Shotgun Bolt Overlays

* Defines the musket, Commit to not lose progress

Adds musket ammo, adds most of the musket code & functionality
Renames pipe rifle internal mag to internal/piperifle instead of internal/pipegun
Fixes my doubledefine for hotload/softslug cartridges for the pipe rifle
Lowers the random spread for improv 9mm casings

* shitcode compiles, will tear out later

On second thought, I'm just gonna make the musket itself a reagent container instead of adding an internal one and fucking around with shittons of snowflake code. It compiles in the current state but is a bullshit stupid implementation of how I want it to work bluh bluh bluh

* Removes the shitcode, as promised :)

Removes the musket, it's a nightmare of coding and balancing and I'm not dealing with it.

* Minor Tweaks

* Merge Upstream, Re-Remove Complex NO_BOLT

Removes NB_BREAK bolt type and resets all changed guns to NO_BOLT, the complexity isn't worth the headache.
Merges 250+ upstream commits as well.
Removes magazine from pipe rifle (only load into chamber, fun quirk of new system)
Reduce Capacity of Pipe SMG by 3 (6 to 18 capacity)
All improv guns now start empty (no free ammo for you!)
Makes pipe rifle slingable

* Retypes glasspack shells

Just keeps it tidy, as it is a subtype of improv shell

* Retype a41/paper to a41/improv

More accurate, ditching the paper cartridge hull idea.

* All Ammo Boxes are now SMALL & Crafting Recipes

All ammo boxes and external magazines are now item weight SMALL instead of item weight TINY.
Crafting recipes for all improv guns, ammo types, and pipe SMG magazine.
New improv 9mm ammo pouch, 6 shots.

* In-Hands for Improv Shottie & Pipe Rifle

In-hand and sawn in-hand sprites for improvised shotgun, and pipe rifle. Lever rifle uses lever action shotgun in-hands (that I don't even think the lever action shotgun uses).
Pipe SMG uses 'arg' in-hand sprite, similar to the WT-550 and NT-ARG.
Additional variable on improv shotguns to allow them to fire 'high-power' shells again (admin/mapper only for now)
Russian Shuttle gets reinforced improv sawn shotguns (to function as they do currently) and a hacksaw (to saw down their Mosins, if they wish.)
Adds a hacksaw (misc tool to saw down guns, very slow)

* Fixes mapping issue?

Can't use true for maps, apparently, good to know for future.

* Reverts some shotgun ammo changes

removes single-aught buckshot, reverts most changes to improv shells

* Inches the lever rifle's lever forward a bit

* Cleans up a few remaining touches

Fixes overlays for sniper.
Fixes audio for lever rifle.

* Further increases range of improv shells

Range of range is now 5-10 instead of 3-8

* Guts .41 ammo, retypes to a7.62 & .38

Removes a redundant ammo type, makes the pipe rifle fire a7.62 (Mosin Nagant), modifies the improv ammo to be a7.62 caliber, changes lever rifle to be loaded in .38 instead of .41
Tweaks (now) improv a7.62 ammo to be analogous to actual a7.62 ammo.
NICE_SHOT (admin only) trait allows racking PUMP and TWO_STEP guns one-handed
Slightly increases cost of improv 9mm ammo

* Hacksaw available in hacked autolathes

Hacksaw can be printed from hacked autolathes for 4.5 sheets of iron, and 1.5 sheets of glass (base price).
Hacksaws can be used for surgery (x3 slower than circular saws), and for butchering (9 second butcher time, 80% efficacy, 10% bonus drop chance)
Moves hacksaws from ballistics.dm to surgery/tools.dm
Adds hacksaw noise :) (used when butchering only)
Original sound from larryblag on freesound.org
https://freesound.org/people/larryblag/sounds/333288/

* Improv .38, .357

Makes ammo pouches a parent type
Adds improv .38 and .357 ammo
Lowers range of improvised shotgun pellets again (4-8 tiles)

* Removes AP on improv 7.62

Heehoo fixes my issue too

* Code Clean-Up Pass 1

Removes 7.62 Copper HP rounds (unneeded bloat)
Actually gives improv .38 the proper projectile
Removes the weird CALLBACK thing from BOLT_TYPE_PUMP guns, only uses locked-open state for special Ctrl+Click interaction.
Renames the 'pipe repeater' to 'pipe carbine'
Gives an examine text for the 'pipe rifle' and 'improvised shotgun' to let people know they can give it a shoulder sling from spare cabling.
Increases damage of improv .38
Reduces negative AP of improv .357
Marginally increases damage of 7.62 hotload, marginally reduces AP as well.
Adds minor recoil to the Mosin

* Light Balance Tweaks

Bumps improv .357 up slightly (50 dmg -10 AP instead of 45 dmg -15 AP)
Lowers improv shotgun shell range again (3-8 instead of 4-8)
Adds improv 10mm (27 damage, 10 innate spread)

* Fixes my runtime

* Derringer's weight tweak

Derringer is now weapon weight 0.5, so unwielded spread is no longer hard defined.

* Actually makes the change from the last commit.

* Update shotgun.dm

Runtime Fix Pt. 1

* Update tools.dm

Runtime Fix Pt. 2

* Update tools.dm

Modifies hacksaw to be 12000 iron instead of 9000 iron and 3000 glass

* Update autolathe_designs.dm

Updated cost in autolathe for hacksaw.

* Barrel Stress & Explosions

improv shotguns have a small chance to explode when firing high-power ammo, going up as more shots are put through the gun.

* Vanishing Bullet Shrapnel

Shrapnel from bullets now has a chance to remain, rather than being an all or nothing roll. Should result in less clutter around the station (especially with glasspack rounds existing now)

* Update shrapnel.dm

Slight bump to vanish chance on shrapnel

* updates barrel stress numbers

to_chat messages line up with examine message, threshold wise.

* readability

easier to tell when thresholds are.

* maybe I should READ first
  • Loading branch information
VickiMorris authored Dec 23, 2023
1 parent c099078 commit 0bb2704
Show file tree
Hide file tree
Showing 42 changed files with 710 additions and 115 deletions.
6 changes: 6 additions & 0 deletions _maps/shuttles/hunter/hunter_russian.dmm

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions code/__DEFINES/combat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
#define BOLT_TYPE_NO_BOLT 3
#define BOLT_TYPE_LOCKING 4
#define BOLT_TYPE_PUMP 5 //Requires 2 hands to pump, but standard
#define BOLT_TYPE_TWO_STEP 6 //Pump, but each interaction toggles bolt between locked and unlocked
// Sawn off nerfs
#define SAWN_OFF_ACC_PENALTY 25
#define SAWN_OFF_RECOIL 1
Expand Down
138 changes: 137 additions & 1 deletion code/datums/components/crafting/recipes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,19 @@
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/improvisedglassslug
name = "Glasspack Shotgun Shell"
result = /obj/item/ammo_casing/shotgun/improvised/glasspack
reqs = list(/obj/item/grenade/chem_grenade = 1,
/obj/item/stack/sheet/glass = 1,
/obj/item/stack/cable_coil = 1,
/datum/reagent/fuel = 10)
tools = list(TOOL_SCREWDRIVER)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/laserslug
name = "Scatter Laser Shell"
result = /obj/item/ammo_casing/shotgun/laserslug
Expand All @@ -383,6 +396,99 @@
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/a762improv
name = "Improvised 7.62 Cartridge"
result = /obj/item/ammo_casing/a762/improv
reqs = list(/obj/item/grenade/chem_grenade = 1,
/obj/item/stack/sheet/iron = 1,
/obj/item/stack/cable_coil = 1,
/datum/reagent/fuel = 10)
tools = list(TOOL_SCREWDRIVER)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/a762hotload
name = "Hot-Loaded 7.62 Cartridge"
result = /obj/item/ammo_casing/a762/improv/hotload
reqs = list(/obj/item/grenade/chem_grenade = 1,
/obj/item/stack/sheet/iron = 1,
/obj/item/stack/cable_coil = 1,
/datum/reagent/blackpowder = 10)
tools = list(TOOL_SCREWDRIVER)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/improv9mm_pack
name = "Improvised 9mm Ammo Pack"
result = /obj/item/ammo_box/pouch/c9mm/improv
reqs = list(/obj/item/grenade/chem_grenade = 2,
/obj/item/stack/rods = 3,
/obj/item/stack/cable_coil = 3,
/datum/reagent/fuel = 20,
/obj/item/paper = 1)
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
time = 15
category = CAT_WEAPONRY
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/improv10mm_pack
name = "Improvised 10mm Ammo Pack"
result = /obj/item/ammo_box/pouch/c10mm/improv
reqs = list(/obj/item/grenade/chem_grenade = 2,
/obj/item/stack/sheet/iron = 2,
/obj/item/stack/cable_coil = 2,
/datum/reagent/fuel = 20,
/obj/item/paper = 1)
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
time = 15
category = CAT_WEAPONRY
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/improv38_pack
name = "Improvised .38 Ammo Pack"
result = /obj/item/ammo_box/pouch/c38/improv
reqs = list(/obj/item/grenade/chem_grenade = 2,
/obj/item/stack/rods = 2,
/obj/item/stack/cable_coil = 2,
/datum/reagent/fuel = 20,
/obj/item/paper = 1)
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
time = 15
category = CAT_WEAPONRY
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/improv357
name = "Improvised .357 Cartridge"
result = /obj/item/ammo_casing/a357/improv
reqs = list(/obj/item/grenade/chem_grenade = 1,
/obj/item/stack/sheet/iron = 1,
/obj/item/stack/cable_coil = 2,
/datum/reagent/blackpowder = 10)
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
dangerous_craft = TRUE

/datum/crafting_recipe/pipesmg_mag
name = "Pipe Repeater Magazine"
result = /obj/item/ammo_box/magazine/pipem9mm
reqs = list(/obj/item/grenade/chem_grenade = 1,
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stack/cable_coil = 3,
/obj/item/stack/package_wrap = 3)
tools = list(TOOL_WELDER, TOOL_WIRECUTTER)
time = 50
category = CAT_WEAPONRY
subcategory = CAT_AMMO

/datum/crafting_recipe/arrow
name = "Arrow"
result = /obj/item/ammo_casing/caseless/arrow/wood
Expand Down Expand Up @@ -428,8 +534,38 @@
reqs = list(/obj/item/weaponcrafting/receiver = 1,
/obj/item/pipe = 1,
/obj/item/weaponcrafting/stock = 1,
/obj/item/assembly/igniter = 1,
/obj/item/stack/package_wrap = 5)
tools = list(TOOL_SCREWDRIVER)
tools = list(TOOL_SCREWDRIVER, TOOL_WELDER)
time = 100
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
dangerous_craft = TRUE

/datum/crafting_recipe/piperifle
name = "Singleshot Pipe Rifle"
result = /obj/item/gun/ballistic/rifle/pipe
reqs = list(/obj/item/weaponcrafting/receiver = 1,
/obj/item/pipe = 1,
/obj/item/weaponcrafting/stock = 1,
/obj/item/assembly/igniter = 1,
/obj/item/stack/package_wrap = 5)
tools = list(TOOL_SCREWDRIVER, TOOL_WELDER)
time = 100
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
dangerous_craft = TRUE

/datum/crafting_recipe/pipesmg
name = "Mag-Fed Pipe Repeater"
result = /obj/item/gun/ballistic/automatic/pipe_smg
reqs = list(/obj/item/weaponcrafting/receiver = 1,
/obj/item/pipe = 2,
/obj/item/stack/rods = 2,
/obj/item/stack/sheet/wood = 2,
/obj/item/assembly/igniter = 1,
/obj/item/stack/package_wrap = 5)
tools = list(TOOL_SCREWDRIVER, TOOL_WELDER)
time = 100
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
Expand Down
14 changes: 14 additions & 0 deletions code/game/objects/items/shrapnel.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,27 @@
icon = 'icons/obj/ammo.dmi'
icon_state = "s-casing"
item_flags = NONE
//Percent chance for bullets that embed to have the DROPDEL flag set on Initialize. There's an insane ammount of clutter otherwise.
var/vanish_chance = 45 //Lower = More likely to remain after falling out/failing to embed

/obj/item/shrapnel/bullet/Initialize(mapload)
. = ..()

if(prob(vanish_chance)) //See if a bullet will remain after falling out/failing to embed
item_flags = DROPDEL

/obj/item/shrapnel/bullet/c38 // .38 round
name = "\improper .38 bullet"

/obj/item/shrapnel/bullet/c38/dumdum // .38 DumDum round
name = "\improper .38 DumDum bullet"
embedding = list(embed_chance=70, fall_chance=7, jostle_chance=7, ignore_throwspeed_threshold=TRUE, pain_stam_pct=0.4, pain_mult=5, jostle_pain_mult=6, rip_time=10)
vanish_chance = 60

/obj/item/shrapnel/bullet/shotgun/glass // Improvised glasspack shell
name = "glass shard"
embedding = list(embed_chance=60, fall_chance=2, jostle_chance=10, ignore_throwspeed_threshold=TRUE, pain_stam_pct=0.3, pain_mult=2, jostle_pain_mult=3, rip_time=8)
vanish_chance = 75

/obj/projectile/bullet/shrapnel
name = "flying shrapnel shard"
Expand Down
3 changes: 2 additions & 1 deletion code/modules/projectiles/ammunition/_ammunition.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@
BB = new projectile_type(src, src)

/obj/item/ammo_casing/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/ammo_box))
//Regular boxes of ammo can sweep shells up from the floor, magazines that get insert into guns do not though
if(istype(I, /obj/item/ammo_box) && !istype(I, /obj/item/ammo_box/magazine))
var/obj/item/ammo_box/box = I
if(isturf(loc))
var/boolets = 0
Expand Down
14 changes: 14 additions & 0 deletions code/modules/projectiles/ammunition/ballistic/pistol.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@
caliber = "10mm"
projectile_type = /obj/projectile/bullet/c10mm

/obj/item/ammo_casing/c10mm/improv
name = "improvised 10mm bullet casing"
desc = "A handmade 10mm bullet casing."
caliber = "10mm"
projectile_type = /obj/projectile/bullet/c10mm/improv
randomspread = TRUE
variance = 10 //Shit ammo is inaccurate.

/obj/item/ammo_casing/c10mm/ap
name = "10mm armor-piercing bullet casing"
desc = "A 10mm armor-piercing bullet casing."
Expand All @@ -29,6 +37,12 @@
caliber = "9mm"
projectile_type = /obj/projectile/bullet/c9mm

/obj/item/ammo_casing/c9mm/improv
name = "improvised 9mm bullet casing"
desc = "A handmade 9mm bullet casing."
randomspread = TRUE
variance = 10 //Shit ammo is inaccurate.

/obj/item/ammo_casing/c9mm/ap
name = "9mm armor-piercing bullet casing"
desc = "A 9mm armor-piercing bullet casing."
Expand Down
13 changes: 13 additions & 0 deletions code/modules/projectiles/ammunition/ballistic/revolver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@
caliber = "357"
projectile_type = /obj/projectile/bullet/a357/match

/obj/item/ammo_casing/a357/improv
name = "improv .357 bullet casing"
desc = "An improvised .357 bullet casing."
projectile_type = /obj/projectile/bullet/a357/improv
variance = 15

// 7.62x38mmR (Nagant Revolver)

/obj/item/ammo_casing/n762
Expand Down Expand Up @@ -77,6 +83,13 @@
icon_state = "sS-casing"
projectile_type = /obj/projectile/bullet/c38/emp

/obj/item/ammo_casing/c38/improv
name = "improv .38 bullet casing"
desc = "An improvised .38 bullet casing."
caliber = "38"
projectile_type = /obj/projectile/bullet/c38/improv
variance = 10

/obj/item/ammo_casing/caseless/mime
name = "invisible .38 bullet casing"
icon_state = null
Expand Down
13 changes: 12 additions & 1 deletion code/modules/projectiles/ammunition/ballistic/rifle.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 7.62 (Nagant Rifle)
// 7.62 (Nagant Rifle / Pipe Rifle)

/obj/item/ammo_casing/a762
name = "7.62 bullet casing"
Expand All @@ -7,6 +7,17 @@
caliber = "a762"
projectile_type = /obj/projectile/bullet/a762

/obj/item/ammo_casing/a762/improv
name = "a762 improvised cartridge"
desc = "A handmade 7.62 cartidge, made from metal and some other scraps. It reeks of welding fuel."
icon_state = "762improv"
projectile_type = /obj/projectile/bullet/a762/improv

/obj/item/ammo_casing/a762/improv/hotload
name = "7.62 hotload cartridge"
desc = "A higher quality handmade 7.62 cartridge. It smells like charcoal."
projectile_type = /obj/projectile/bullet/a762/improv/hotload

/obj/item/ammo_casing/a762/enchanted
projectile_type = /obj/projectile/bullet/a762_enchanted

Expand Down
Loading

0 comments on commit 0bb2704

Please sign in to comment.