Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ballistics Firearm Operations Overhaul and New Improvised Firearms (#…
…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