* Expanding the Experimental MODsuit Bepis Node with three new modules. (#75801)
## About The Pull Request
So, I've had this idea to make a contribution to the Bepis feature with
some modsuit stuff. The gimmicky stuff is ok and a good way to even out
the better content since it has game of chance design it has (you can
find those disks in space anyway so...). However, the Experimental
MODsuit node feels very underwhelming right now, compared to how big
that feature is.
This PR adds three MOD modules to the Experimental MODsuit node, plus
two more:
- Magneto Charger: While the Modsuit is activated, each step the user
takes will charge the installed power cell by a tiny bit, enough to
sustain a standard modsuit of generic slow speed with only a few, easy
modules installed. It won't work in zero G, while flying, pulled by
someone else, on a conveyor belt, riding a vehicle or crawling on the
floor, though.
- Recycler: It collects (most) garbage and casings off the ground and
recycles them into material sheets that can be dispensed on an adjacent
location or storage with with Middle Mouse Button. Doesn't clean debris,
and scuffed because most trash doesn't yield material anyway.
- - It also has two subtypes, unbound from the node: one that dispenses
riot foam darts and can be found on the black market, and another that
dispenses the more innocuous foam darts, rarely found in maints.
- Shooting Assistant: A configurable module. On Stormtrooper mode, it
will give the user a faster fire rate (the double tap trait) at the cost
of accuracy. On Sharpshooter mode, it will improve the user accuracy and
make their shots ricochet against walls at least once (if the hit atom
allows that, that is, e.g. lasers don't ricochet against iron walls), at
the cost of movement speed. Both modes also prevent the user from dual
wielding guns.
To make the Stormtrooper mode stackable with the poor aim quirk and
refrain from making a new trait for the sharpshooter mode, the gun
spread code in gun.dm has also received a little refactor and cleanup.
Also, it's been tested.
## Why It's Good For The Game
The Experimental MODsuit node is quite shabby and could use something
extra to make it more appealing to MODsuit enjoyers.
Also doubles down as a small addition to the black market and maint
loot, and code cleanup, since gun code gives off some garbled vibes.
## Changelog
🆑
add: Expanded the Experimental MODsuit Bepis node with three new
modules: Magneto Charger, Recycler and Shooting Assistant.
add: Added a Riot Foam Recycler module to the black market, as well a
more innocuous version as maint loot.
/🆑
* Expanding the Experimental MODsuit Bepis Node with three new modules.
* update modular, I hate this file btw
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Adds 50 armor penetration to neurotoxin spit (#76420)
## About The Pull Request
Someone noted in an issue report that virologists could tank like 7 of
these without breaking a sweat, that's a little goofy. This knocks it
down to 4. You're still getting some protection by having extra gear on,
but you're not immune to it.
Fixes#76389
## Why It's Good For The Game
Xenos should be dangerous to most of the crew without significant
protection. I argue that, while a labcoat is meant to protect from nasty
fluids, it shouldn't completely negate them, especially if a Sentinel
has saved up a good chunk of plasma to throw at you.
## Changelog
🆑 Vekter
balance: Increased armor penetration on xenos' neurotoxin spit.
Well-protected crew members should still take more than a few hits to
down but shouldn't be immune to it.
/🆑
* Adds 50 armor penetration to neurotoxin spit
---------
Co-authored-by: Vekter <TheVekter@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Fix guns without magazines loaded making no fire sounds (#76196)
## About The Pull Request
Runtimed from `90 / null` here.
What's the point in a `?` sanity check if you don't default it to any
values? Come on guys
## Why It's Good For The Game
Bugfix
## Changelog
🆑 Melbert
fix: Fix shooting guns without a magazine loaded making no fire sound
effect
/🆑
* Fix guns without magazines loaded making no fire sounds
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Fix rockets embedding in people (#76136)
## About The Pull Request
Rockets can't embed anymore and are now blunt objects (so they cause
blunt wounds instead)
This is what could happen before:

## Why It's Good For The Game
I've been told that the embedding is not intentional, so this PR fixes
an oversight
## Changelog
🆑
fix: Rockets can no longer embed in people and cause blunt wounds
instead of piercing
/🆑
* Fix rockets embedding in people
---------
Co-authored-by: cnleth <113535457+cnleth@users.noreply.github.com>
* Refactors the worst list ever, Stun Absorptions, into status effects + makes status flags more accurate (making certain mobs more vulnerable to incapacitations?) (#76000)
## About The Pull Request
- Refactors the stun absorption list into a status effect
- Does a fair bit of cleanup around stun code
Weird thing involved in this.
Check out this define.
`IS_STUN_IMMUNE(source, ignore_canstun) ((source.status_flags & GODMODE)
|| (!ignore_canstun && (!(source.status_flags & CANKNOCKDOWN) ||
HAS_TRAIT(source, TRAIT_STUNIMMUNE))))`
Notice anything odd about it?
It only checks for `CANKNOCKDOWN`.
What does this mean?
Well, *every single* one of the stun procs used this macro for checking
stun immunity. Which means every method of stun checked the
`CANKNOCKDOWN`.
This means that, say you have a mob which has `CANSTUN` but not
`CANKNOCKDOWN`.
Intuitively this means that the mob cannot be knocked down, but can be
stunned.
But instead, this means the mob can't be stunned either.
This doesn't affect humans, they have all the status flags, but it does
affect some other mobs.
Alien adults (not queens) have `CANUNCONSCIOUS|CANPUSH`. Before, they
didn't have `CANKNOCKDOWN`, so they were fully immune to stuns and
sleeps. But now, they can be knocked unconscious.
However, overall it doesn't change much, as most mobs that flipped off
`CANKNOCKDOWN` flipped off the others too.
For consistency though it makes sense for these flags to work as they
imply.
- `incapacitate` didn't have a signal, now it does
## Why It's Good For The Game
More consistent, better code? I may use this in the future.
## Changelog
🆑 Melbert
refactor: Refactored Stun Absorptions (Bastard Sword, His Grace)
refactor: Refactored Stun Immunity. Note this means that some mobs
which, prior, were immune to all forms of incapacitation are now
vulnerable to some. Notably, adult non-queen xenomorphs are now
vulnerable to falling unconscious.
/🆑
* Refactors the worst list ever, Stun Absorptions, into status effects + makes status flags more accurate (making certain mobs more vulnerable to incapacitations?)
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* why did i end up changing 15 different files
* hp flagged as adv
* c45 hollows, c38 ammobox expansion
* 12g rip req bronz + adv print req
* covers all other usecases, like tarkon and assops
* amount defines, whitespace, etc
* removes a redundant ammo define, adjusts 762 ap
* can i please get a merge.
* addresses reviews again
* multitype elevated to ammobox, prec incen mats
* i really dont know how any of this worked
---------
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
* Fixes cases where doors do not bolt correctly (#75882)
## About The Pull Request
Some things, like door control buttons, set locked directly instead of
calling lock() or unlock(). This fixes that, which should make sound
effects play. Also annotates some code where we *don't* want that to
happen with an explanation of why we just set locked directly.
## Why It's Good For The Game
Fixes Skyrat-SS13/Skyrat-tg/issues/21510, which also applies to
upstream.
* Fixes cases where doors do not bolt correctly
---------
Co-authored-by: Penelope Haze <out.of.p.haze@proton.me>
* fix: Gun overlays are now one with gun's icon (#75773)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
Adds `KEEP_TOGETHER` flag to the gun's `appearance_flags`, so overlays
are now one with gun's icon.
Before:


After:


## Why It's Good For The Game
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
Better visuals. Also required, when guns are forced to be placed in 90
degree
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
fix: Gun overlays (energy ammo counter, flashlights, bayonette, etc) are
now one with gun's icon, which makes said overlays to transform
correctly with gun's transform (ie, throwing)
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
* fix: Gun overlays are now one with gun's icon
---------
Co-authored-by: larentoun <31931237+larentoun@users.noreply.github.com>
* Stops shields getting broken by pillows and disablers. (#75759)
## About The Pull Request
See the title. Doing so by adding a new arg for damage type to
`check_shields()` and `hit_reaction()`. The other way would had involved
a couple istype checks for item or projectile damage type, but this is a
longer term solution and can tackle more than just that.
## Why It's Good For The Game
Fixes#74876.
## Changelog
🆑
fix: Stops shields getting broken by pillows and disablers.
/🆑
* Stops shields getting broken by pillows and disablers.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Adds a proper name and description for the base variant bow (#75736)
## About The Pull Request
Fixes#75711.
Someone forgot to add a name and description for the base bow, so it
uses the default projectile/gun one.
## Why It's Good For The Game
I'm not certain you're intended to get this version of the bow, but
there's literally no reason to not have it look normal if someone gets
it.
## Changelog
🆑
fix: Added a name and description for the basic version of the bow.
/🆑
* Adds a proper name and description for the base variant bow
---------
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
* Changes gun flipping to use attack self secondary, moves it to base gun level (#75680)
## About The Pull Request
- Gun flipping is now done via attack self secondary (right click it
when it's in your active hand) rather than attack self ("use" hotkey or
left clicking it when in active hand)
- Moves gun flipping to `/gun` level
## Why It's Good For The Game
- Gun flipping has historically had very bad UX, as most ballistic guns
used attack self for some function - loading the gun, ejecting spent
rounds, racking the gun, etc. By putting it on attack self secondary, it
makes it a bit more of a deliberate thing and keeps it out of the way of
expected behavior
- TLDR: Makes it much less likely you end up spinning your shotgun like
a dingus in the middle of a firefight instead of racking the thing.
- Also makes it less likely you dump your entire mag trying to show off.
- Putting it on the base level lets me spin lasguns and disablers around
which I've always wanted to. It also means you can spin stuff like wands
and bows but I'm not too plussed about that. It's just funny
## Changelog
🆑 Melbert
qol: Gun Flipping is now done by right clicking the gun when it's in
your active hand ("use secondary"), meaning you should be less likely to
accidentally spin your gun instead of ejecting rounds / racking / etc.
qol: You can gun flip all guns, instead of just ballistics. This
includes stuff like wands.
/🆑
* Changes gun flipping to use attack self secondary, moves it to base gun level
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Weapon magazine ejection sound implementation (#75672)
## About The Pull Request
Implements (possibly re-implements if it was used some time ago)
magazine ejection sounds for firearms.
## Why It's Good For The Game
Better weapon feedback as you can distinguish whether you've inserted a
mag or not.
## Changelog
🆑 Stalkeros
fix: Adds or possibly re-adds firearm magazine ejection sounds.
/🆑
* Weapon magazine ejection sound implementation
---------
Co-authored-by: Stalkeros2 <42087567+Stalkeros2@users.noreply.github.com>
* Fix SHOULD_NOT_SLEEP hit in borg adjustable tracer bolts (#75512)
See #75232
* Fix SHOULD_NOT_SLEEP hit in borg adjustable tracer bolts
---------
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
* Some Bolt-Action Fixes (sniper rifle mag manip independent of bolt, among other things) (#75079)
- because pipeguns can no longer misfire, removes the code relevant to
cleaning them with a cloth
- the above makes it so that you can insert/remove a sniper rifle's
magazine regardless of bolt open/close status, which is neat
- also nudges some code around so that affixing a bayonet or whacking
your gun with any item no longer spams it with "can't jam!" or "bolt
closed!"
## Why It's Good For The Game
less random irrelevant popups, and also the magazine on sniper rifles
thing just kind of irked me
* Some Bolt-Action Fixes (sniper rifle mag manip independent of bolt, among other things)
---------
Co-authored-by: Hatterhat <31829017+Hatterhat@users.noreply.github.com>
* Prevents desert eagles from loading sniper rounds (and vice versa) (#75382)
## About The Pull Request
This splits CALIBER_50 into CALIBER_50BMG and CALIBER_50AE, setting the
sniper rifle to use the former and the deagle to use the latter.
## Why It's Good For The Game
Prevents each of these weapons from loading calibers that they are not
intended to.
Recorded from yogs:

## Changelog
🆑
fix: Desert Eagles can no longer load .50 BMG sniper rifle rounds and
vice versa.
/🆑
* Prevents desert eagles from loading sniper rounds (and vice versa)
* Update projectiles.dm
* Update guns.dm
---------
Co-authored-by: ynot01 <ynot000001@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fixes runtime when qdel'ing self-recharging guns with bayonets attached (#75406)
```
[00:29:34] Runtime in energy.dm, line 161: cannot read from list
proc name: can shoot (/obj/item/gun/energy/can_shoot)
src: the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator)
src.loc: the plating (81,77,2) (/turf/open/floor/plating)
call stack:
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): can shoot()
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): update overlays(16777215)
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): update icon(16777215)
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): update appearance(16777215)
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): clear bayonet()
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): handle atom del(the survival knife (/obj/item/knife/combat/survival))
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): handle atom del(the survival knife (/obj/item/knife/combat/survival))
the survival knife (/obj/item/knife/combat/survival): Destroy(0)
the survival knife (/obj/item/knife/combat/survival): Destroy(0)
the survival knife (/obj/item/knife/combat/survival): Destroy(0)
...
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): deconstruct(0)
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): atom destruction("melee")
the proto-kinetic accelerator (/obj/item/gun/energy/recharge/kinetic_accelerator): blob act(the normal blob (/obj/structure/blob/normal))
the normal blob (/obj/structure/blob/normal): ConsumeTile()
the normal blob (/obj/structure/blob/normal): Be Pulsed()
the blobola (/obj/structure/blob/special/core): pulse area(the blobola overmind (/mob/camera/blob), 12, 4, 3)
Objects (/datum/controller/subsystem/processing/obj): fire(1)
Objects (/datum/controller/subsystem/processing/obj): ignite(1)
Master (/datum/controller/master): Loop(2)
Master (/datum/controller/master): StartProcessing(0)
```
🆑 ShizCalev
fix: Fixed a runtime which occured when a self-recharging gun (ie
proto-kinetic accelerator) with a bayonet attached was deleted.
/🆑
* Fixes runtime when qdel'ing self-recharging guns with bayonets attached
* Update microfusion_gun_attachments.dm
---------
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* FIXES RUNTIME CAUSING GUNS WITHOUT A MAGAZINE INSERTED TO NOT FIRE (#75407)
Caused by #75058🆑 ShizCalev
fix: Guns without magazines inserted can now fire again!
/🆑
* FIXES RUNTIME CAUSING GUNS WITHOUT A MAGAZINE INSERTED TO NOT FIRE
---------
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Buffs Lasers (#75329)
## About The Pull Request
This increases laser wound chance, increases the damage and also makes
them use less energy.
## Why It's Good For The Game
Lasers cannot reload so they're not as convenient as a gun, so this will
maybe make them more cool, honestly I just want to try this to see what
happens.
## Changelog
🆑 oranges
balance: increased laser damage, decreased energy cost and increased
wound chance
/🆑
* Buffs Lasers
---------
Co-authored-by: oranges <email@oranges.net.nz>
* Makes the divine bow renamable (#75180)
## About The Pull Request
Adds the UNIQUE_RENAME flag to the divine bow to allow the
name/description to be modified.
## Why It's Good For The Game
Consistency with every other null rod option (all of which inherit the
flag from `/obj/item/nullrod`
## Changelog
🆑
fix: The chaplain's divine bow can now be renamed like all other null
rod variants.
/🆑
* Makes the divine bow renamable
---------
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
* [NO GBP] Style meter fixes (#75090)
## About The Pull Request
Fixes:
- Crusher mark score applying to attacked corpses
- Parrying not working, in 2 different forms
- The style bar not being accurate with >= 600 style points
## Why It's Good For The Game
Bugs bad
## Changelog
🆑
fix: Style meter parrying works again
fix: Style meter bar now works correctly with very high style point
count
/🆑
* [NO GBP] Style meter fixes
---------
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* Gunpoints now take half a second to activate, make gasp sounds, and briefly immobilize the shooter and target, other small balance changes (#74036)
## About The Pull Request
This PR messes around with gunpoints a bit, with the purpose of making
them more viable in certain scenarios without making them obnoxious. The
biggest change is that gunpoints now require a 0.5 second do_after()
where neither the shooter nor the target moves, and immobilizes both of
them for 0.75 seconds if point blank, or half that if you're 2 tiles
away. Originally you were supposed to only be able to initiate a
gunpoint from point-blank, but #56601 seems to have removed that
requirement, so we'll run with it and just leave it as advantageous to
gunpoint closer up. The do_after() reinforces that it should be used as
an ambush tactic, and so you can't use it on someone who's actively
fleeing or fighting you.
Getting held up will now make you emit a shocked gasp sound, a la Metal
Gear Solid, which combined with the short immobilize will hopefully make
it more noticeable that someone's pointing a gun at you.
Holdups will now immediately give a 25% bonus to damage and wounds,
instead of having to wait 2.5 seconds to hit the double damage stage.
Finally, right clicking someone that you're holding up will no longer
shoot them. That just feels like good consistency.
## Why It's Good For The Game
Hopefully makes gunpoints a little more viable for when you want to
stick someone who's not expecting it up without them immediately jetting
off. In the future I'd like to ape Baycode and let the gunman have an
action that toggles whether the victim is allowed to move, so you can
order them to move to a second location without instantly shooting them,
but that'll come later.
## Changelog
🆑 Ryll/Shaps
balance: Holding someone at gunpoint now requires both the shooter and
the victim to hold still for half a second before activating, so you
can't hold-up people fleeing or fighting you. After that, it will
briefly immobilize the both of you, 0.75 seconds if adjacent, or half
that if you're two tiles away. Nuke ops are immune to the
immobilization, since they're ready to die anyways.
balance: Holding someone up will immediately apply a 1.25x damage and
wound multiplier, rather than waiting 2.5 seconds to hit 2x.
soundadd: Being held up will now make the victim play a sharp gasp
sound, a la Metal Gear Solid.
qol: Trying to hold someone up that you're already holding up will no
longer shoot them.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Gunpoints now take half a second to activate, make gasp sounds, and briefly immobilize the shooter and target, other small balance changes
---------
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Miner Style Points 2: Style on Everyone (#74690)
## About The Pull Request
A re-open of https://github.com/tgstation/tgstation/pull/66326 with
Fikou's permission
Adds the style meter, it can be bought from the mining vendor for 1500
points, it is an attachment to your glasses.
The style meter creates a display on your hud, with your recent actions,
like attacking enemies, killing them, mining ore etc. Actions like
spinning or flipping increase your score multiplier, making you get more
points.
Your style meter affects how much ore you get from mining rocks. By
default with the meter, you get 20% less ore, but at the highest, you
can get 1.2x the ore from mining. In addition, on B-tier or above, you
can "hotswap" items, by attacking an item in your backpack with one in
your hand (should it fit and all that). Also features a leaderboard for
highest style point count!
New streamable: https://streamable.com/eewi6l
The following are sources of points:
- Killing things
- Killing big things
- Killing small things
- Punching things
- Melee'ing things
- Mining rocks and ores
- Having matrix traps detonate
- Hit, defuse, and detonate gibtonite
- Detonate crusher marks
- Scan geysers
- Parry projectiles (others or your own)
Oh, right. While wearing the style meter, you're able to parry any
lavaland-based projectile by clicking on it or the tile it is on, which
reflects it back in a 7 degree arc, making it 20% faster and 15% more
damaging. Usually not very easy.
Maybe-plan in the future for some syndicate variant of this (with bullet
parrying and appropriate style sources, etc.), but not for this PR
Thanks to Arcane, multitooling the style meter will make it play some
sounds on rank-up.

https://streamable.com/nheaky
Parrying in action
## Why It's Good For The Game
Makes miners bring more ore in a fun way.
## Changelog
🆑 Fikou, Zonespace, Arcane for voicing
add: The mining vendor now has a style meter. This meter gauges your
style points and uses them to improve your ore yield.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Miner Style Points 2: Style on Everyone
---------
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* adds spent subtypes for some ammo and adds them to the waystation and the faceoff space ruins. (#74950)
## About The Pull Request
Adds spent subtypes for .357, .45 acp and buckshot.
Replaces live ammo with the spent subtype on the waystation and the
faceoff space ruins.
## Why It's Good For The Game
I talked with a map maker and he didn't intend for 60+ live .357 rounds
on his map.
I assumed its the same for the waystation.
## Changelog
🆑
fix: Replaced live ammo found that was unintended on the waystation and
the faceoff with spent subtypes.
/🆑
* adds spent subtypes for some ammo and adds them to the waystation and the faceoff space ruins.
---------
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
* Adds support for ammunition 'bands' and differentiates between detective speedloaders. (#74494)
## About The Pull Request
Adds support for ammunition 'bands', basically intended to be used
rather than wholly new sprites for new ammotypes. Additionally, they're
(meant to be) greyscale, which allows one overlay to be used for many
ammo types. Only implemented on the detective revolver.
From left to right
Default
Tracking (Purple)
Match (Silvery Blue)
Rubber (Blue)
DumDum (Yellow)
Hotshot (Red)
Iceblox (Light Blue)

These sprites are damn bad, as I'm not a spriter. I would appreciate it
if someone could improve them.
I am also not attached to the specific colors, any alternatives would be
appreciated.
## Why It's Good For The Game
Tired of all speedloaders being identical.
## Changelog
🆑
code: Adds support for ammunition 'bands', basically intended to be used
rather than wholly new sprites for new ammotypes. Additionally, they're
(meant to be) greyscale, which allows one overlay to be used for many
ammo types. Only implemented on the detective revolver.
/🆑
* Adds support for ammunition 'bands' and differentiates between detective speedloaders.
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
* Buffs the Bulldog (#74781)
## About The Pull Request
Buffs the Bulldog via giving it a damage modifier of 1.2.
## Why It's Good For The Game
Assuming default ammo, the C-20r is 30 damage a shot. The M-90gl is 35
damage, and has grenades as a side dish. The Saw is 30 and is fully
automatic. The Sniper is 70 alongside having incredible range, stunning,
and delimbing.
The Bulldog when loaded with buckshot does a grand total of 45 damage
point blank.
That's a pretty rough comparison, and once you take into account the
other types of ammo nukie guns can use, it doesn't get much better. As
is the only real usecase for the Bulldog is meteor slugs, and you're not
really using those for murder anyways.
## Changelog
🆑
balance: Bulldogs now hit 20% harder with their projectiles!
/🆑
* Buffs the Bulldog
---------
Co-authored-by: Borisvanmemes <39802339+Borisvanmemes@users.noreply.github.com>
* Makes the blowgun not need to windup before shooting (#74641)
## About The Pull Request
Removes the windup before shooting a blowgun
## Why It's Good For The Game
The blowgun already has 25 oxygen damage, and stamina drain when you
fire it, which puts it way below a syringe gun. This also gets rid of
the "one viable option" of ranged syringe gun that people rush, because
maybe if somebody steals the syringe gun, you can still make some
(worse, but viable) syringe gun.
## Changelog
🆑 Vect0r
balance: The blowgun no longer takes time to windup before you can shoot
it.
/🆑
* Makes the blowgun not need to windup before shooting
---------
Co-authored-by: vect0r <71346830+Vect0r2@users.noreply.github.com>
* Piercing rounds won't infinitely recurse when fired at piggyback players (#74586)
## About The Pull Request
I noticed in a round that someone fired a honkmother staff at a guy
riding a cyborg and it reported hitting them 374 times (with no effect).
Running it on local it seems like this proc was infinitely recursing
because after validating its targets it would return the mob the target
was buckled to, rather than the mob we actually validated, and then just
do that over and over again.
I made it not do that.
Now if you shoot someone riding a cyborg with a honk staff they will
fall of, as god intended.
Also now if you shoot a pair of people who are riding piggyback with
penetrator rounds, it will do what the name says and shoot both of them.
## Why It's Good For The Game
Rutimes bad. Throwing people around with bananas good. Shooting a hole
through two guys at a time, also good.
## Changelog
🆑
fix: You can no longer escape the wrath of the honkmother by climbing
onto a cyborg.
fix: Shooting a pair of piggybacked players with a penetrator round will
penetrate both players.
/🆑
* Piercing rounds won't infinitely recurse when fired at piggyback players
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>