## About The Pull Request
Converted `fire_delay` and `shot_delay` vars to use time defines
## Why It's Good For The Game
Code readability
## Changelog
🆑
code: Converted some gun related variables to use time defines, make an
issue report if anything shoots abnormally fast/slow.
/🆑
## About The Pull Request
Sometimes the BR-38 would degrade when it is dropped onto tables,
smacked against windows, etc. This PR fixes this by making sure that it
only degrades when the gun is actually fired.
## Why It's Good For The Game
Losing charges sucks ass when it isn't from firing the gun.
## Changelog
🆑
fix: The BR-38 does not mysteriously lose charges when it is used on
some objects, dropped on tables or smacked against glass panels.
/🆑
## About The Pull Request
I don't think these are obtainable through normal gameplay, these guns
are ballistic weapons designed to emulate laser guns, except with a
swappable "battery".
It had the wrong bolt type, which caused problems. It chambered rounds
so it could fire a shot without a battery in it, and worse when it
emptied its chamber and didn't have a new round to load in, the gun
would unrack itself. There is no way to re-rack this gun so at that
point it is made permanantly useless. Now it fires directly from the
clip without chambering anything or caring about whether or not it is
racked. This stops it getting stuck, stops you being able to fire the
gun when there's no power pack loaded, and simplifies ammo management
which makes it feel more like an energy weapon. Even if it isn't really
one.
## Why It's Good For The Game
Fixes some bugs that made using this thing needlessly difficult.
## Changelog
🆑
fix: Ballistic laser guns will no longer brick themselves when out of
ammo.
fix: Ballistic laser guns now fire ammo directly from their loaded clip,
without chambering.
/🆑
## About The Pull Request
moves all implementations (im aware of) for "Im a parent type dont spawn
me please" to the datum layer to standardized behavior
adds a standerized proc for filtering out "bad" items that we dont want
spawning. applies to it the subtype vendor, gifts, and a new spawner and
mystery box for a random gun (neither playerfacing)
"port" of https://github.com/shiptest-ss13/Shiptest/pull/4621https://github.com/user-attachments/assets/22f6f0b2-b44e-411a-b3dc-6b97dc0287aa
small warning: I dont have EVERY abstract type defined right now but,
ive done a good enough job for now. Im tired of data entry rn
## Why It's Good For The Game
standardizing behavior. Might be a micro hit to performance however
having this lets us not rely on icon state to determine whether
something is a parent type and makes it much easier to tell something is
a parent type (could be applied further to things like admin spawning
menus and things like that).
need feedback on if this is actually good for the game.
## Changelog
🆑
add: Soda cans show up in the silver slime drink table.
add: Examine tag for items that are not mean to show up ingame.
refactor: Standardizes how gifts rule out abstract types.
fix: gifts no longer check if something has an inhand, massively
expanding the list of potential items.
/🆑
## About The Pull Request
Underbarrel now depends on the gun's own firing pin, instead of having a
separate inaccessible pin.
Closes#92292
## Changelog
🆑
fix: Fixed M90 underbarrel having its separate inaccessible firing pin
/🆑
## About The Pull Request
THE SECLIGHTENING!!
Hi hello. This PR adds the ability to attach seclights to most security
firearms. Nothing like some good seclight QOL.
Below is a picture with them attached, but off.

Below is an image with the lights on:

(if no one understands why/what the shotguns look like, I tried to make
it look like someone taped a flashlight to the side, as god intended.)
I'm no good at spriting (it was just changing offsets for already
existing sprites) but if you have any suggestions for what we can move
the offsets to, be my guest.
## Why It's Good For The Game
Well, for starters, we can easily attach seclights to disablers, energy
guns, advanced egun, the X01 energy gun, but we cant attach them to
other weapons. Why? Balance? I dont see how its unbalanced for a secoff
to see in the dark better. I couldnt tell you why you couldnt
previously, but I can tell you that it just makes more sense to have
them attachable to every weapon.
## Changelog
🆑
qol: Makes seclights attachable to almost every security firearm.
/🆑
## About The Pull Request
This was a component of the gun that existed while the weapon had a
two-round burst. It was not removed when the burst was removed.
## Why It's Good For The Game
I've been using this for a while, scope included, and only recently has
this actually had an impact. I thought the scoped component was broken
or something. Nope!
Honestly it's kind of funny and sells the bit. At the same time, it's an
RNG frustration that players probably wouldn't appreciate. This likely
wasn't impactful in extreme close range, since a 10 degree divergence is
not enough to really cause a shot to go wide within 7 tiles or so. But
it did make shooting over long distances sometimes a bit harder than
necessary.
Now I know why I somehow managed to nail an assistant in the dome
completely on accident despite aiming past him shooting someone
breaching the brig while scoped.
## Changelog
🆑
fix: The BR-38 no longer has a completely unintended accuracy malus
built in.
/🆑
## About The Pull Request
Melee attack chain now has a list passed along with it,
`attack_modifiers`, which you can stick force modifiers to change the
resulting attack
This is basically a soft implementation of damage packets until a more
definitive pr, but one that only applies to item attack chain, and not
unarmed attacks.
This change was done to facilitate a baton refactor - batons no longer
hack together their own attack chain, and are now integrated straight
into the real attack chain. This refactor itself was done because batons
don't send any attack signals, which has been annoying in the past (for
swing combat).
## Changelog
🆑 Melbert
refactor: Batons have been refactored again. Baton stuns now properly
count as an attack, when before it was a nothing. Report any oddities,
particularly in regards to harmbatonning vs normal batonning.
refactor: The method of adjusting item damage mid-attack has been
refactored - some affected items include the Nullblade and knives.
Report any strange happenings with damage numbers.
refactor: A few objects have been moved to the new interaction chain -
records consoles, mawed crucible, alien weeds and space vines, hedges,
restaurant portals, and some mobs - to name a few.
fix: Spears only deal bonus damage against secure lockers, not all
closet types (including crates)
/🆑
## About The Pull Request
Changes a attackby() call into an item_interaction() call in the M-90gl
code.
Fixes https://github.com/tgstation/tgstation/issues/90812
## Why It's Good For The Game
Most likely broke during a refactor.
## Changelog
🆑
fix: The grenade launcher of the M-90gl can be reloaded once again.
/🆑
## About The Pull Request
People can now pet held mothroaches and pugs if they want to, or use
items on them, hopefully without causing many issues. After all, it only
took about a couple dozen lines of code to make...
...Oh, did the 527 files changed or the 850~ lines added/removed perhaps
catch your eye? Made you wonder if I accidentally pushed the wrong
branch? or skewed something up big time? Well, nuh uh. I just happen to
be fed up with the melee attack chain still using stringized params
instead of an array/list. It was frankly revolting to see how I'd have
had to otherwise call `list2params` for what I'm trying to accomplish
here, and make this PR another tessera to the immense stupidity of our
attack chain procs calling `params2list` over and over and over instead
of just using that one call instance from `ClickOn` as an argument. It's
2025, honey, wake up!
I also tried to replace some of those single letter vars/args but there
are just way too many of them.
## Why It's Good For The Game
Improving old code. And I want to be able to pet mobroaches while
holding them too.
## Changelog
🆑
qol: You can now interact with held mobs in more ways beside wearing
them.
/🆑
## About The Pull Request
Triggered my OCD, polaroids had a duplicate examine override and battle
rifles had a missing space between sentences in examine_more.
## Changelog
🆑
spellcheck: Fixes a missing space in battle rifle's examine text
/🆑
## About The Pull Request
The SKS was repathed to the bolt rifle subtype in order to make it not
eject its entire magazine, and to make it act more like its real
counterpart (e.g. you have to keep the bolt open/locked back in order to
load more ammo).
Also fixes the issue where bolt-actions' interaction blocking was
non-functional due to being moved to a different proc, so now you need
to open the bolt on bolt-actions (and now the SKS) to load ammo.)
## Why It's Good For The Game
Ejecting your entire magazine on-use kind of sucked. The
bolt-open-to-load thing is for funsies.
## Changelog
🆑
fix: The Sakhno SKS no longer ejects its entire internal magazine upon
interaction. To facilitate this, it now requires the bolt to be open
like its bolt-action contemporaries in order to load ammunition.
fix: You can no longer force ammunition into Sakhno precision rifles and
other bolt-action-likes through a closed bolt.
/🆑
---------
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
## About The Pull Request
Guns now have two variables affecting delay between shots;
`burst_delay`, which affects how fast projectiles are fired *in* a burst
(assuming the weapon is burst-capable) and `fire_delay`, which affects
how long a gun cannot fire after shooting.
Assuming that all fire delays for automatic weapons were actually meant
for controlling burst delays, variables have been changed accordingly.
## Why It's Good For The Game
Separating burst delay and fire delay means burst-firing weapons can now
be balanced both on "how fast can I throw bullets downrange" *and* "how
long do I have to wait between bursts" instead of having one variable
affecting both.
## Changelog
🆑
code: Guns now have burst delay and fire delay variables instead of fire
delay affecting both. If a weapon's burst feels off, please submit an
issue report.
/🆑
---------
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
## About The Pull Request
No. Not the Sakhno M2442 Army. It isn't the Sakhno Precision Rifle. I'm
talking about the dinky shitty rifle you find in the snow resort away
mission. The one with a 3 second cooldown between shots and fires 10mm.
The Sakhno SKS semi-automatic rifle fires at the same rate as standard
semi-automatic weapons, and fires .310 Strilka caseless rounds. It has a
x0.5 damage multiplier (so does 30 damage rather than 60 damage per
shot), and has 10 rounds in its internal magazine. Stripper clips come
in sets of 5, so you'll need two clips to fully load the rifle.

You can get the Chekhov version of the weapon from the resort, but you
can also acquire a parts kit from the black market. Put together with a
stock and receiver, you get yourself a (empty) fresh new SKS. You can
also acquire the ammo via the black market as well.

## Why It's Good For The Game
This gun is a travesty. It is so ancient that it can be carbon dated to
around when our codebase was moved to Github. It actively has the worst
statistic of any weapon in the game. And it exists in this strange
half-existence in a ruin as, I guess, some purpose that is barely
understood or remembered today.
The irony of it being called Chekhov's gun yet finding no functional use
in the map is either the joke itself, or a failing of the map.
Anyway, so I decided to go all out and replace it with an SKS. Because I
figured someone would like that.
## Changelog
🆑
add: Replaces the 10mm semi-automatic surplus rifle with the Sakhno SKS
semi-automatic rifle.
add: You can acquire a SKS parts kit from the black market.
/🆑
## About The Pull Request
Commit messages should be descriptive of all changes.
The "incorrect `\The` macro capitalization" was intentional when it was
added, but as far as I know TG says "the supermatter" rather than "The
Supermatter," so it's incorrect now.
This is completely untested. I don't even know how you'd go about
testing this, it's just a fuckton of strings.
Someday I want to extract them and run NLP on it to catch grammar
problems...
## Why It's Good For The Game
Basic grammar pass for name strings. Should make `\the` work better and
avoid cases like `the John Smith`.
## About The Pull Request

The original purpose of this PR was to extend the previous Magazine
Miscellany PR by adding the ability to recolor magazine indicators if
they had a defined icon. This functionality is present by using a pen on
a magazine that has a defined ammo band icon state.
This PR also further standardizes magazines with different ammo types by
using a define to append their description and magazine color for AP
ammo, hollow-points, and incendiary ammo.
This PR also _also_ gives ammo indicator bands to the magazines for the
Stechkin APS and C-20r. And also gives descriptions to every magazine so
they're not using a placeholder that mentions error signs anymore. Each
description is roughly in the format of "caliber, suitable for gun". Not
sure if I should standardize magazine names to be "caliber and special
ammo type" - the only outlier I can think of right now for that would be
the 7mm ammo boxes for the L6.
## Why It's Good For The Game
Ammo stripes are neat, functionally, so changing the stripes on
magazines in case someone chooses to reload spent mags with autolathe
ammo is probably nice as a QoL thing. Descriptions that aren't
placeholders are pretty cool too.
## Changelog
🆑
add: Magazines with defined ammo bands can now have their color changed
with a pen, in case you're reloading spent magazines or speedloaders
with different ammunition and want to change magazine colors to be
appropriate.
qol: C-20r magazines and Stechkin APS magazines now have ammo band
support.
qol: Standardized some descriptions for AP, HP, and incendiary
magazines.
/🆑
---------
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
## About The Pull Request
- Makarov magazines no longer have a placeholder description from the
base type.
- Standardized pistol magazines' descriptions and extended descriptions
for ammo types.
- Repathed the gangs-era surplus rifle's magazines (these still exist?
wow) from m10mm/rifle to /sr10mm so they no longer fit in Ansems.
- Ammo counts from examined guns are now bolded to be slightly easier to
notice at a glance.
- Magazines now show ammo count on a new line.

## Why It's Good For The Game
Makarov description being an obvious placeholder bugged me and then
things got out of scope.
The bold ammo count thing is really small but it might come in handy for
someone? Possibly?
## Changelog
Surplus rifle changes not mentioned in changelog because it's
unobtainable in-game and also just really bad as a gun in general.
🆑
qol: Examining a gun or magazine now shows the ammo capacity in bold.
spellcheck: Standardized pistol magazine descriptions, fixing Makarov
magazines having a placeholder description.
/🆑
---------
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
## About The Pull Request
A repeat of the first half of
https://github.com/tgstation/tgstation/pull/86853
The NT BR-38 Battle Rifle is a semi-automatic
railgun...marksman...carbine...rifle...thingy that uses .38 ammunition
and is magazine fed from a 15 round magazine. It comes with a scope, and
is bulky.

Sprites by OrcaCora.
### Some of its features
The gun shoots at a higher than normal velocity for .38. This means it
hits harder (30 damage compared to the standard 25), and flies faster
through the air.
The gun, however, suffers from degradation as it is used. It has a 10
shot buffer before suffering degradation. After the 10 shot buffer, it
has a 10% chance each shot to increase in degradation stage. From stage
1 to stage 5 (the maximum stage), it begins to lose fire rate and
projectile flight speed.
To recalibrate the gun, you can do one of two things;
A) Use a multitool on the gun. This completely resets the gun, but its
pretty slow.
B) Insert it into a weapon recharger to recharge its buffer and reduce
its degradation stages.
### Some of its downsides
The weapon is EMP vulnerable. If it gets EMP'd, it immediately degrades
and loses any buffer it has. While EMP'd, there is a 75% chance it
doesn't fire when you pull the trigger. This is also true if the gun has
hit maximum degradation. Keep your guns in good shape.
It can be emagged. While emagged, the gun has increased damage (40 for
standard ammunition), but once it hits maximum degradation, it
immediately begins to catastrophically fail. It also degrades
significantly faster while emagged. There is no way to reverse this
effect, and the explosion is extremely lethal.
### Where can I find it? What about ammo?
You can purchase the gun from cargo at a significant premium, as well as
some additional magazines of some basic ammo types.
There is exactly one of these in the armory, and you can print more
magazines from the security protolathe. As research progresses, you can
print different, specialized ammunition for the rifle. (and also the
detective .38 revolver, obviously)
### New .38 ammunition types
True Strike bounces accurately between targets, but deals significantly
less damage than other ammo types (15 base, 18 in this rifle).
It is printed once the station gets Exotic Ammo.
## Why It's Good For The Game
This is a followup on my previous PR, where I tested this weapon and
gathered a whole bunch of feedback on it. Most people quite liked it.
but had some concerns that I feel this addresses.
Much of the justifications given there apply here. Obviously ignoring
anything to do with the combat shotgun removal.
Some stuff obviously has not come back from the original test. Notably,
the TRAC changes were probably a little too powerful. As much as I liked
a default entirely nonlethal ammunition type, TRAC itself is better left
as a late research goal.
In addition, I moved the explosion part to an emag effect. It's funny,
and lends itself to the original intention of the weapon; a callback to
the WT-550 incident. But it isn't a standard part of the guns mechanics.
## About The Pull Request
<details>
- renamed ai folder to announcer
-- announcer --
- moved vox_fem to announcer
- moved approachingTG to announcer
- separated the ambience folder into ambience and instrumental
-- ambience --
- created holy folder moved all related sounds there
- created engineering folder and moved all related sounds there
- created security folder and moved ambidet there
- created general folder and moved ambigen there
- created icemoon folder and moved all icebox-related ambience there
- created medical folder and moved all medbay-related ambi there
- created ruin folder and moves all ruins ambi there
- created beach folder and moved seag and shore there
- created lavaland folder and moved related ambi there
- created aurora_caelus folder and placed its ambi there
- created misc folder and moved the rest of the files that don't have a
specific category into it
-- instrumental --
- moved traitor folder here
- created lobby_music folder and placed our songs there (title0 not used
anywhere? - server-side modification?)
-- items --
- moved secdeath to hailer
- moved surgery to handling
-- effects --
- moved chemistry into effects
- moved hallucinations into effects
- moved health into effects
- moved magic into effects
-- vehicles --
- moved mecha into vehicles
created mobs folder
-- mobs --
- moved creatures folder into mobs
- moved voice into mobs
renamed creatures to non-humanoids
renamed voice to humanoids
-- non-humanoids--
created cyborg folder
created hiss folder
moved harmalarm.ogg to cyborg
-- humanoids --
-- misc --
moved ghostwhisper to misc
moved insane_low_laugh to misc
I give up trying to document this.
</details>
- [X] ambience
- [x] announcer
- [x] effects
- [X] instrumental
- [x] items
- [x] machines
- [x] misc
- [X] mobs
- [X] runtime
- [X] vehicles
- [ ] attributions
## Why It's Good For The Game
This folder is so disorganized that it's vomit inducing, will make it
easier to find and add new sounds, providng a minor structure to the
sound folder.
## Changelog
🆑 grungussuss
refactor: the sound folder in the source code has been reorganized,
please report any oddities with sounds playing or not playing
server: lobby music has been repathed to sound/music/lobby_music
/🆑
## About The Pull Request
Removes caps from many improper items.
For example - Heated Rebar Crossbow -> heated rebar crossbow
I've kept a lot of items untouched because for some reason or another it
felt nicer to me that they be, uh, capsed. For example Hat of the
Honkmother, anything that has 'weight' to it.
There's also some minor name changes that I think fit better, such as
Rebar Storage Quiver -> rebar quiver. I mean, we already know it's for
storage. That's the whole point of quivers.
## Why It's Good For The Game
This is one of my biggest pet peeves, Randomly Capitalized Items For No
Reason. It looks sloppy, awkward, and half-assed. This PR brings a lot
of the worst offenders in line. if your name isn't a proper noun it
almost never should have caps.
## Changelog
🆑
spellcheck: Removes caps from many improper items
/🆑
---------
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
## About The Pull Request


Adds the Abielle Smart-SMG to replace the pp-95 entirely.
The Abielle performs nearly identically to the pp-95 in nearly all
aspects, doing 0.5 less damage because it's not a projectile modifier on
9mm anymore.
What the Abielle does do majorly differently, is give it's bullets a
slight homing ability VS whatever you clicked on. This keeps the weapon
equally useless to it's predecessor at spraying blindly down hallways,
while rewarding careful aim with bullets that slightly track the target.
## Why It's Good For The Game
The surplus smg sucks, and I don't mean performance-wise (although it
certainly does, that's the idea). The surplus smg sucks because
typically you would be better suited using it as a melee weapon due to
the inaccuracy and low damage. Making the cheapo "I forgot to buy a
weapon" gun practically useless is super punishing especially for newer
ops who might not remember to buy a weapon first. The smartgun makes the
surplus smg still pretty shit compared to the other nukeops guns that
can down a man nearly instantly, but means that reinforcements or broke
ass nukeops can still be relatively effective so long as they can click
on a spaceman across the screen.
## Changelog
🆑
balance: The nukeops surplus smg, the pp-95, has been reworked into the
Abielle Smart-SMG. It performs nearly identically to the pp-95, however
it's projectiles get a slight homing ability towards whatever you click
on.
sound: New firing sounds for the surplus smg, credit to the m41 sound
effects from tgmc
image: New sprites for the surplus smg, made by me
/🆑
## About The Pull Request
The gun code is an absolute mess that seems to have been untouched for
the better part of the decade and finally gave way due to the attack
chain refactor. This PR is the first in my attempts to refactor this
mess by making bayonet attachment a component instead of /obj/item/gun
variables. Followup PRs may or may not be atomic changes or a monolith
due to how horribly the original code is structured.
## Why It's Good For The Game
Gun code is ancient, unmaintained, barely readable and started actively
breaking in the past weeks.
## Changelog
🆑
refactor: Bayonet attachment is now a component.
/🆑
## About The Pull Request
- Afterattack is a very simple proc now: All it does is this, and all
it's used for is for having a convenient place to put effects an item
does after a successful attack (IE, the attack was not blocked)

- An overwhelming majority of afterattack implementations have been
moved to `interact_with_atom` or the new `ranged_interact_with_atom`
I have manually tested many of the refactored procs but there was 200+
so it's kinda hard
## Why It's Good For The Game
Afterattack is one of the worst parts of the attack chain, as it
simultaneously serves as a way of doing random interactions NOT AT ALL
related to attacks (despite the name) while ALSO serving as the defacto
way to do a ranged interaction with an item
This means careless coders (most of them) may throw stuff in afterattack
without realizing how wide reaching it is, which causes bugs. By making
two well defined, separate procs for handing adjacent vs ranged
interactions, it becomes WAY WAY WAY more easy to develop for.
If you want to do something when you click on something else and you're
adjacent, use `interact_with_atom`
If you want to do something when you click on something else and you're
not adjacent, use 'ranged_interact_with_atom`
This does result in some instances of boilerplate as shown here:

But I think it's acceptable, feel free to oppose if you don't I'm sure
we can think of another solution
~~Additionally it makes it easier to implement swing combat. That's a
bonus I guess~~
## Changelog
🆑 Melbert
refactor: Over 200 item interactions have been refactored to use a
newer, easier-to-use system. Report any oddities with using items on
other objects you may see (such as surgery, reagent containers like cups
and spray bottles, or construction devices), especially using something
at range (such as guns or chisels)
refactor: Item-On-Modsuit interactions have changed slightly. While on
combat mode, you will attempt to "use" the item on the suit instead of
inserting it into the suit's storage. This means being on combat mode
while the suit's panel is open will block you from inserting items
entirely via click (but other methods such as hotkey, clicking on the
storage boxes, and mousedrop will still work).
refactor: The detective's scanner will now be inserted into storage
items if clicked normally, and will scan the storage item if on combat
mode
/🆑
## About The Pull Request
Rewrites how alt click works.
Based heavily on #82625. What a cool concept, it flows nicely with
#82533.
Fixes#81242
(tm bugs fixed)
Fixes#82668
<details><summary>More info for devs</summary>
Handy regex used for alt click s&r:
`AltClick\((.*).*\)(\n\t.*\.\.\(\))?`
`click_alt($1)` (yes I am aware this only copies the first arg. there
are no other args!)
### Obj reskins
No reason for obj reskin to check on every single alt click for every
object. It applies to only a few items.
- Moved to obj/item
- Made into signal
- Added screentips
### Ventcrawling
Every single atmospherics machine checked for ventcrawling capability on
alt click despite only 3 objects needing that functionality. This has
been moved down to those individual items.
</details>
## Why It's Good For The Game
For players:
- Alt clicking should work more logically, not causing double actions
like eject disk and open item window
- Added context menus for reskinnable items
- Removed adjacency restriction on loot panel
For devs:
- Makes alt click interactions easier to work with, no more click chain
nonsense and redundant guard clauses.
- OOP hell reduced
- Pascal Case reduced
- Glorious snake case
## Changelog
🆑
add: The lootpanel now works at range.
add: Screentips for reskinnable items.
fix: Alt click interactions have been refactored, which may lead to
unintentional changes to gameplay. Report any issues, please.
/🆑
<!-- 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
The bulldog shotgun, available to ops, now has a burst fire of 2 rounds.
This means it launches a fairly rapid volley of bullets per click.
Currently, the lone operative spawns with a single bulldog shotgun.
Instead of just the shotgun, the operative now comes with some spare
magazines for their gun.
## Why It's Good For The Game
The bulldog still seems to be really unpopular, and still feels like it
isn't quite doing as much as other options for operatives. Even for the
cheap price, it just doesn't pull its weight. It lacks staying power or
range to face several opponents at once. You can certainly buy ammo to
make it better at engaging at range, but this sometimes begs the
question as to why you bothered with the bulldog over something else.
It is primarily only really good at killing one person at a time in
close quarters, but the person you would be using that power against is
usually a more armored opponent like the Captain or Head of Security.
Lots of other nuclear operative weapons simply do that much better than
the bulldog.
If the bulldog is meant to be mulching single targets one at a time, it
should absolutely be doing that reliably. Because people really like
shotguns. So why not unload two buckshot straight into someone's cranium
with a single pull of the trigger for a nice crunchy splat.
Lone operative got themselves a bulldog, but were cheated out of the
free ammo they would have received if they had simply bought the bulldog
from their uplink. Lone ops are not nearly as scary as an actual
midround nuclear assault, primarily because their objective doesn't come
with the benefit of an infiltrator or a bomb to deliver. They're a
punishment mechanic, technically. But even as a punishment, they don't
really do a terribly good job at punishing. Since the bulldog is focused
on putting down the captain as fast as possible, then it stands to
reason that the lone operative gets as much help accomplishing that as
necessary.
## 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. -->
🆑
balance: Bulldog Shotguns now have a 2-round burst fire.
balance: Lone Operatives now come with some additional Bulldog Shotgun
magazines.
/🆑
<!-- 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. -->
## About The Pull Request
Adds a Syndicate Monkey Agent beacon uplink item. It spawns a dapper
monkey that must follow your orders.
Added a monkey gun case to the uplink, which contains monkey guns!
Though they aren't very powerful.
Added a more modularlike subtype for antagonist spawners to reduce
future hardcoding.
Gave the syndicate turtleneck a monkey sprite, from SS14!
## Why It's Good For The Game
I want to see the clown driving security insane with 2-3 monkeys and an
incredible amount of pranking. Or an assistant killing everyone with his
monkey friends while wearing a monkey suit. Or a geneticist sending out
mutated monkeys to kill people. Or a scientist equipping his monkeys
with bombs or xenobiology equipment and sending them out to wreak havoc.
6 TC is only enough for two monkeys, but you can get a third if you
finish any kind of objective.
> Added a monkey gun case to the uplink, which contains monkey guns!
Though they aren't very powerful.
We can't have the monkey mafia without guns, come on. The guns are weak
and only usable by monkeys. Additionally, they're restricted to
entertainment only.
Credit to SS14 for the monky turtleneck sprite.
## Changelog
🆑
add: Adds a Syndicate Monkey Agent beacon uplink item. It spawns a
dapper monkey that must follow your orders.
add: Added a monkey gun case to the uplink, which contains monkey guns!
Though they aren't very powerful.
refactor: Added a more modularlike subtype for antagonist spawners to
reduce future hardcoding.
sprite: Gave the syndicate turtleneck a monkey sprite, from SS14!
/🆑
---------
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
image: The Mosin-Nagant has been given new sprites and a reflavor, looking for the old rifle? Look for the Sakhno Precision Rifle.
balance: The tiniest balance thing, but since Silverscales use the Sakhno-Zhihao rifle, which has a scope on it, their main weapon now has a scope.
## About The Pull Request
Massively overhauls and standardizes the nuclear operative uplink.
### Weapon Kits
Essentially, all the main weapons of the uplink have been changed to
instead come as 'weapon kits', which are essentially cases containing a
weapon loadout to enable operatives to easily start operating on only
just one item purchase, without the fuss of worrying whether or not
operatives are getting spare ammo, or getting relevant equipment for
success. Consider this a pseudo-loadout, though without necessarily
restricting the purchasing of more weapon kits.
All kits come in three categories: Low Cost (8 TC), Medium Cost (14 TC)
and High Cost (18 TC). This is also matched by categorized ammo costs;
Basic Ammo (2 TC), Hollow Point and Armour Penetrating (4 TC),
Incendiary (3 TC) and Special (or anything that does not easily fit
these categories and does something real extra) (5 TC). Weapons that
lacked these ammos have gained these ammo types to fill the gaps.
<details>
There is may one exception to this in disruptor ammo, which is priced as
basic ammo if only because it isn't _quite_ good enough to justify
pricing at 5 tc and I can see an op wanting to use it as a basic ammo
type instead of normal .50 BMG against, say, a silicon/mech heavy
opposition. Since it cannot kill organics on its own, I'll consider this
mostly basic-adjacent
</details>
The kits have also been labelled based on potential difficulty. This
reflects possible difficulties in using the item, how conducive it is to
success for how much game knowledge needed to actually use it, and how
likely an op is to succeed using it. I don't expect ops to win using
nothing but a rocket launcher, but I think ops should get a fair shake
at trying, yeah?
The kits are as below:
#### **Low-Cost**
_Bulldog (Moderate):_ Shotgun and three magazines of standard ammo.
_Ansem (Easy/Spare):_ Pistol and three spare magazines of standard ammo.
#### **Medium Cost**
_C-20r (Easy):_ SMG and three spare magazines of standard ammo.
_Energy Sword and Shield (Very Hard):_ Energy sword and shield. (Also a
special hat)
_Revolver (Moderate):_ Revolver and three speedloaders of standard ammo.
_Rocket Launcher (Hard):_ Rocket launcher with three spare rockets.
#### **High Cost**
_L6 SAW (Moderate):_ LMG, and that's it. No spare ammo.
_M-90gl (Hard):_ Rifle, two spare magazines of standard ammo and a box
of rubber grenades.
_Sniper (Hard):_ Sniper rifle, two spare magazine of standard ammo, and
one magazine of disruptor ammo. Also suit and tie.
_CQC (Very Hard):_ Comes with a stealth implant and a bandana.
_Double-Energy Sword (Very Hard):_ Double-energy sword, syndicate soap,
antislip module, meth injector and a prisoner jumpsuit.
_**NEW** Grenadier's Kit (Hard):_ Grenadier's belt and grenade launcher
(the one that launchers chem grenades). (I replaced the shit acid
grenade with another flashbang in the belt)
Surplus SMG (Flukie difficulty) has been unchanged. It just now comes
with two rations.
Includes two new revolver ammo types: Phasic, which goes through walls
and armor, but has significantly less damage as a result (I've equalized
the revolver damage and the rifle version's damage to 30 for both). And
Heartseeker, which has homing bullets. Both are Special ammo, and are
priced at 5 TC a speedloader.
### Other Gear
The other items in the uplink have also been consolidated and
standardized in various ways.
#### Grenades
Most now cost 15 TC for three grenades of any given type (including the
full fungal tuberculous). This is pretty much identical to the previous
price, just more consistent overall and front-loaded in cost.
#### Reinforcements
All the various reinforcements now cost 35 TC and all refundable,
equalizing cost to the average across the reinforcements. This is
primarily because I feel like all these options should be weighed
equally, and not one of these options are necessarily worse or better
than the other in their current balance. They're largely inaccessible
for normal ops regardless, and typically come out when there is a
discount or war ops. I took the average value and went with it. Not much
more to say.
#### Mechs
They're just cheaper. These things still suck and they need help.
They've always needed help. A slightly less excessive value for the
mechs may help see people willing to spend the TC on them. I doubt it. I
seriously suggest not buying these still. I keep them in primarily
because they are big stompy mechs and are kind of iconic 'war ops' gear.
#### Bundles
Since I've implemented weapon kits, gun bundles are rather redundant. So
the bulldog weapon and ammo bundle, the c20-r weapon and ammo bundle and
technically the sniper bundle were removed. The sniper bundle is now the
weapon kit, obviously.
Nothing else here really. Except for one....
#### Implants
Not much changed here. I standardized the implant prices to 8 TC a pop.
This is in accordance with traitor implants, which ops also get. So
everything in this category bar a few exceptions (like macro/microbombs)
are around 8 TC. Makes sense to me, really.
Importantly, I made the Implant bundle 25 TC, and I unrandomized the
contents. Who in the right fucking mind would spend 40 TC just to get
five reviver implants is beyond me. But instead, you get one of each of
the cybernetic implants except thermal eyes (you can just buy thermals
and get the benefit of both vision types; x-ray and thermal vision, if
you want to use smokescreens a lot).
#### Base Keys
They're all now 15 TC, except the fridge which is 5 TC. It's weird
they're valued differently when they are taken mostly to do gimmicks
like xenobio and toxins in a hurry before hitting the station. So we've
standardized it.
## Hat Crate
**YES, GOOD SIR, YOU TOO CAN ORDER A HAT CRATE FROM THE SYNDICATE STORE
FOR ONLY 5 TC!**
**NO NEED FOR A KEY, JUST BUY IT AND PULL IT OPEN WITH YOUR STANDARD
ISSUE CROWBAR!**
**ENJOY YOUR NEW CRATE! ENJOY YOUR NEW HAT!**
**PUT IT ON USING THE FREE HAT STABILIZERS WE INCLUDED WITH THE HATS!**
~~**NO REFUNDS IF YOU GET BLOOD ON YOUR HAT!**~~
<details>
There is a 1% chance to instagib people with direct hits from a rocket.
This does the crit effect.
</details>
## Why It's Good For The Game
The uplink needed more spring cleaning and standardization.
With this, I've partially implemented my older idea for ammo consistency
and initial allowance for nukies. Ammo is kind of over-priced and often
where a good chunk of TC goes towards without really pushing nukies
towards meaningful success. And it is often what is tripping up new
players who didn't think to get any. Now, when they get a gun, they get
ammo in their case. On top of this, the weapon kit category is both at
the top of the uplink AND has a little label to say 'Recommend', so that
these new players will hopefully know they should be looking there
first.
In addition, it is the gateway towards a concept that is currently being
worked on. Nuclear operatives having some degree of predefined loadouts
for players to select if they aren't sure what they want, or don't know
what to get. Nukies is very confusing for many players. So giving them a
fighting chance with some premade setups can help ease them into the
role without needing too much player knowledge in how to apply the
items. This is only one step towards that, so that players can identify
what gear they need to help succeed based on their skill.
I wanted to implement a difficulty warning so that players can choose
gear loadouts that are actually conducive to their skill and knowledge.
I based it on how much players would need to know to engage in combat
with it, and how much fiddling is required to get something to work
properly (overly involved reloading is a consideration, for example, as
well as precise button presses). In addition, how much of a force
multiplier some weapons can be for their ease of use.
Most people recognize the c20-r as the most new player friendly weapon,
as an example. So it would be good to steer players towards taking that
gun because of how easy it is to use, understand and succeed with it.
And most importantly of all; Having standards within the uplink is
important. Most of the values in the uplink are just completely random.
Nobody has a good grasp of what is too much or too little. Even just a
hint of consistency, and people will stick to it (see implants for what
I mean). And there is still some work to be done even there. A good
start is weapons. Price for power can be meaningful when decided whether
we want some weapons to come out more often than others. Players do
enjoy making informed decisions and choices, and having affordability be
a draw to some otherwise less powerful weapons (looking at you, Bulldog)
can actually be a worthwhile and meaningful difference.
~~I thought it would tick off the gun nerds to change the calibers on
the guns.~~
~~I also thought adding hats would be funny given the release of TF2's
most recent update.~~
## Changelog
🆑
balance: Standardizes some of the nuclear operative entries to have more
consistent pricing within their respective categories.
add: Adds some new categories so that players have an easier time
navigating the nuclear operative uplink.
balance: Many items have had prices reduced or adjusted to make them
more desirable or more consistent within their category.
add: Weapon kits have replaced almost all the individual weapons in the
uplink. You now buy these instead of the individual weapon. These often
come with spare ammo or relevant gear for success.
add: Most ammo types have been standardized in price.
refactor; Removes a lot of redundant item entry code and tidies up the
actual code part of the nuclear uplink so that it is much easier to find
things within it.
add: Added 40 new cosmetic items to the Syndicate Store. Buy them now
from the Hat Crate, only 5 TC!
code: Updated the nuclear operative uplink files.
/🆑
## About The Pull Request
As the title says, mag type has been split into two variable that do
different things:
Accepted magazine type handles what magazines that gun will accept, type
and any subtypes. If spawn magazine type isnt defined, then it will be
made equal to accepted magazine type to prevent having to double define
magazines on every gun ever.
Spawn magazine type is separate from accepted magazine type, spawn
magazine type is what magazine the gun will actually spawn with. This
exists because there are a few weapons which are made to spawn with
special magazines, that can't use normal magazines anymore. For example,
the riot dart pre-loaded donk soft pistol can only ever be reloaded with
the riot subtype of donk soft magazines at the moment. This isn't
typically something people notice because new magazines are usually not
a thing people come by with these specific weapons, but its a problem I
noticed while coding some weapons.
## Why It's Good For The Game
In short, certain weapons (mostly donksoft weapons, but there's a single
traitor pistol subtype that spawns with fire ammo) will no longer be
limited to the exact subtype of magazine they spawned with, allowing
them to use the normal versions of those magazines as well.
## Changelog
🆑
refactor: The mag_type variable on guns has been split between
accepted_magazine_type and spawn_magazine_type, allowing weapons to
safely spawn with subtypes of their normal magazines without breaking
the weapon
fix: Several weapons that spawned with special magazines, the riot dart
pre-loaded donk pistol for example, will now be able to accept normal
donksoft magazines that don't spawn loaded with riot darts.
/🆑
It seems the station has attracted the attention of a local polity! They
have sent a friendly reminder to pay their taxes, should the station
respond not in time or refuse to pay their taxes the polity will send a
heavily armed vessel to ensure they would pay their taxes. peacefully or
otherwise.
Gameplay aims: A different playstyle of pirates. most pirates (with the
exception of the greytide) have the same gameplay loop of raiding
vulnerable spots within the station and scurrying away and waiting out
their cooldown in the relative safety of their ship with turrets and
space to hamper the crew's attack my intention of this pirate variation
is to force them to actively fight the crew by making their armor
non-space worthy instead of hiding behind the wall of space
breaching shells for the space IRS to use and recode ammo box code to be
less snowflakey. Also my English isn't the very best and I wrote most of
it at 1AM. please point out any messages that feel strange or out of
place.
Notable Equipment list:
Combat:
1. 2 WT-550's with 6 normal mags + 6 AP
2. M911 with 2 mags
3. 2 combat knifes and a telebaton
4. breaching shotgun with breaching shells
5. Grenade launcher with 6 smoke shells and flashbangs
Armor:
2 Highly armoured sets of tactical vests and helmets and 3 EVA suits for
emergency
Engineering:
1. Sandbags
2. Jaws of Life
3. Syndicate toolbox
Medical:
1. Surgery tools and disk
2. Variety of medkits
3. Blood packs
## About The Pull Request
See the title and relative issue reports mentioned in the section below.
## Why It's Good For The Game
Closes#75461, closes #75462, closes#75467.
## Changelog
🆑
fix: Capturing CTF control points no longer requires the active hand to
be empty.
/🆑
## About The Pull Request
### **Cargo Black Market goods should stay in cargo's hands**
#### New Cargo Console Category: Imports
This category is explicitly the non-departmental category beyond simply
having a Misc category. It is meant for material that nobody is meant to
be buying for their departments, and mostly for the odd-ball crates that
might show up. It also allows us to maintain contraband as exactly that;
contraband that the departments shouldn't have access too whatsoever. If
someone is buying from this category, they probably intend to be a
cheeky fuck.
<details>
<summary>The New Changes</summary>
#### Baseline Imports
MEAT: MEAT (meat backpack you can eat)
<details>
<summary>MEAT</summary>


</details>
Duct Spiders: They're adorable and cause a mess, but that doesn't stop
Nanotrasen from importing them from the Australicus sector to your
station!
Stack of 50 Bamboo Cuttings: Pretty expensive and kind of a premium.
Allows for those people looking to make bamboo decorations without
hoping botany exists, and are at least willing to pay. Also lets them
make horribly dangerous stuff with bamboo, of course.
A Single Sheet of Bananium: The problems this will cause I think speak
for themselves. (mostly due to a clown fruitlessly attempting to make
something actually disruptive while bankrupting cargo)
Natural Fish Bait: It isn't cheating, it's homemade. (Really good bait
but expensive and obviously drugs)
A dumpster...: A corpse in a dumpster, doesn't get more complicated than
that. Useful for corpse reasons.
Made using some code I borrowed from over here!
https://github.com/lizardqueenlexi/orbstation/pull/354
#### Contraband Imports
Foam Force Pistols: Same as it ever was with a price reduction. I
brought it down because riot darts are like 8 bullets a clip, and do
less damage than a disabler using riot darts. It feels like a sidegrade
weapon, and even if it technically is a ballistic weapon, it...isn't
that strong. I think this is pretty safe.
Definitely Not a Duct Spider: It's actually a giant spider in a box. If
you want to waste cargo's money while also sending them a mess to deal
with, this is the crate for you.
Russian Surplus Military Gear Crate: I took this opportunity to futz
with boltaction rifles. There are two kinds of mosin nagant you can get
in this crate. One of them is the good kind (no jamming). The other is
the shit kind (yes jamming), but you get more of them. You can get the
good ammo, or you can get the shit ammo. You'll have to pick through it
a lot more carefully to make sure you know which ones you've received.
Since this dilutes the pool even further, getting a good number of
mosins that aren't trash is even more expensive, and even if you do get
mosins at all, you might still only get the bad ammunition that doesn't
work against actual human threats as well. It also now cannot be
purchased through the security cargo supply console, and as to why they
could in the first place baffles me. Doesn't have a lock anymore
because...it's contraband? Who is locking this stuff?
**Side note: _You can make surplus 7.62 in the autolathe as well. It is
not very good except to fight fauna or naked assistants._**
**Side Side note: _I've killed off the shitty brand_new subtype and
brought peace once more to this land._**
#### Illegal Imports (Emag)
NULL_ENTRY: A journal that suggests how to make a...very interesting
weapon. The Regal Condor. Kind of an evolution on some other ideas I've
had over the years. This one is basically a secret weapon with a few
hurdles to jump through. Very lethal. Very expensive.
**Side note: _For reference, it's effectively 19 TC worth of gear to
make, but there does exist some methods to acquire this more cheaply if
you can get some bits and pieces from world spawns. Given it requires
you to get some pieces of equipment that might require additional
purchases of contraband, and getting into the captain's office to loot a
specific piece of clothing, the stakes more than make up for the
effectiveness._**
Smuggled WT-550 Autorifle Crate: This is basically the same, but you
might have noticed had you recently attempted, like me, to buy these
when you emagged them using a personal account and discovered a tragic
oversight. You couldn't, because they still needed armory access. This
removes that access, because you've already gone to the effort of
getting your hands on an illicit firearm through cargo, and if they
techs somehow miss the fact that you've purchased a WT-550...all the
better for you!
Smuggled WT-550 Ammo Crate: Includes AP and Incendiary!
**Side note: _You can get WT-550 ammo again via the Illegal Technology
node._**
Shocktrooper: Replaces the Special Ops crate. Contains a box of EMPs,
smoke grenades, a couple of gluon grenades and a couple of frag
grenades. Funsies.
Special Ops: The NEW Special Ops crate. Contains a chameleon mask,
jumpsuit and agent card. And a knife.
**Side note: _This is what appears in some cargo loan events._**
Refurbished Mosin Nagant Crate: The actual good mosin nagants. There are
6 of them. But they don't come with spare ammo. Hand them out to your
techs!
</details>
#### New Crates
- MEAT crate - Standard
- Duct Spider crate - Standard
- Giant Hostile Spider crate - Contraband
- 50 sheets of Bamboo crate - Standard
- A single sheet of bananium crate - Standard
- Natural (drugs) fish bait - Standard
- Dumpster with a corpse in it - Standard
- Shocktrooper crate (Grenades) - Emag
- Special Ops crate (Disguise) - Emag - Appears in some cargo loan
events
- Refurbished Mosin Nagant crate - Emag
- Regal Condor construction journal (NULL_ENTRY) - Emag
#### Changed Crates
- Foam Force Pistols (cheaper) - Contraband
- Russian Surplus Crate (less reliable, can't be bought by security
console) - Contraband
- WT-550 crate (more obtainable via personal accounts, thus
incriminating, not armory locked) - Emag
- WT-550 ammo (includes incendiary and AP) - Emag
#### Crates that got moved, unchanged, into Imports
- Foam Force Crate
- Cosa Nostra Crate
- Black Market LTSRBT
- 'Contraband' Crate
- Biker Gang Crate
#### Not crate changes
- You can print Surplus 7.62 (same as normal 7.62 but it sucks against
armor) from hacked autolathes.
- You can get WT-550 ammo from illegal tech.
- Removes the redundant Brand New Mosin subtype
- Fixes a potential exploit with jamming chance on Mosins.
## Why It's Good For The Game
I just think some of the magic of Cargo getting their hands on obviously
dangerous equipment and either hording it for themselves or attempting
to pawn it off was lost in recent times. A lot of this 'black market'
gear, however, suddenly became openly available to the crew anyway. For
_free_. Contraband crates and mafia crates could be purchased via the
Service budget. Security could just stock up en masse on mosins through
their console. And one fairly unfortunate consequence of a few recent
changes has made it nearly impossible to actually get illicit gear in
the first place, even if you did go to the effort of getting the money
for it.
On top of this, most of cargo's goods are pretty safe purchases. There
isn't much that would be considered 'actually a really bad idea to buy'
other than maybe supermatter shards. I wouldn't mind there existing ways
for someone to waste cargo's money while also causing them to have to
clean up the mess.
## Changelog
🆑
balance: A significant overhaul of various illicit and dubiously legal
goods and gadgets available via cargo.
balance: Cargo now has an Import category for all non-departmental
goods. (And black market goods)
balance: Most contraband that already exists has been moved into
Imports.
adds: Includes several new imports of dubious quality. You get what you
pay for.
code: Removes the brand new mosin subtype as it is now defunct.
fix: Fixes potentially exploitative code in the jamming proc. Cleans up
that code while I'm at it.
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
## About The Pull Request
### The Rifle:
-The Sniper Rifle is now a bolt action. This replaces the 4 second fire
delay on the sniper rifle. This overall will improve the fire rate if
you're good at racking the bolt, but it will also feel less like you're
in a weird limbo of inaction while using the sniper rifle, since the
fire delay can be quite confusing to players not used to it. This can be
tweaked, like reducing the speed of the racking action, if it seems like
it is too much.
-The scope component now goes up to 50 tiles (or so), which allows you
to gain a significant sightline over an area. The reasoning for this is
simple. The component actually nerfed the overall range of the sniper
rifle's scope, so this should hopefully restore that somewhat. And
having such a huge sightline makes it much easier to utilize the
impressive range of the rifle. Currently, it's really only ideal for
extremely close range fighting.
-The normal sniper rifle, the one that syndicate base scientists get,
can be suppressed. I don't know why it was different.
### The Ammo:
Normal .50 BMG: Does much more object damage, and on top of that deals
additional damage to mechs, but not by much more. Now, when it
dismembers a limb, it also deals its damage to the chest. This ensures
that you didn't straight up lose out on dealing a killing blow because
you took their limb off, and makes the dismemberment property of .50 BMG
a significant upside rather than a immense detriment.
Marksman: Gains a lot of the above benefits, but has much lower range.
Why this nerf? It's actually because of some funny nonsense with how
ricochet works. Which can cause....accidents to happen. To you. Consider
that firing down a straight line and missing could be quite embarrassing
when the bullet has 400 tiles of range.
Soporific: Now called Disruptor ammo. Works as it did before, putting
humans to sleep for 40 seconds (seriously, 40 seconds). Also deals some
stamina damage, if...that's relevant. But now also causes an EMP effect
and a boatload of added damage to both mechs and borgs, allowing it to
be an excellent anti-mech and anti-borg ammo type, as well as scrambling
any pesky suit sensors, energy weapons and so on in an area around the
impact. Useful for support fire.
Incendiary (NEW!): Causes a massive firebomb to go off where it impacts
(no explosion, so this isn't a stun). Also sets the target on fire,
which is always fun. Good for shooting into groups of people with
impunity. Also deals burn damage instead, since I think nukies could use
more methods for direct fire damage.
Surplus (NEW!): It's .50 BMG but it lacks most if not all the upsides.
No armour penetration, no dismemberment, no paralysis. It still deals a
lot of damage to objects, so not a bad option for simply removing
structures from afar. So what's the point in this ammo? You can buy 7
magazines for the price of one. I want to introduce 'Surplus' as an idea
for nukies to invest in if they want to be able to keep shooting but
they're really on a budget, like most non-warop nukies tend to be. This
is definitely subject to change (like a damage decrease on top of
everything else).
Pricing and Capacity: Normal ammo and surplus costs 3 TC. Every special
ammo costs 4 TC. Every special ammo also has the same ammo capacity as
the normal magazine. It's kind of weird how most of the subtypes had 5
shots rather than 6, but then soporific had...3? I don't get it. This
would probably cause a good deal of confusion, especially if you are
swapping ammo types and weren't aware of this particular oddity.
Anyway, 6 shots.
### Minor Addition
Gets rid of the cheap suppressor. It lies to players, tricking them into
thinking this is a low quality suppressor. Newsflash, it isn't. There is
no distinct difference between that suppressor and the normal
suppressor.
## Why It's Good For The Game
The sniper rifle, unfortunately, sucks a lot except for very specific
use cases. It got a big nerf with the scope component in terms of range,
even if the functionality is way cooler. And, at a baseline, there was
some counterintuitive functions attached to it. Dismemberment was cool,
but it also caused a loss in overall damage due to how limbs contribute
to core health. On top of this, the cool ammo types were...not much
better? Penetrator was almost always the best option, even if it lost a
lot of damage as a consequence.
So, what was it good for? X-ray + Penetrator. Pretty much, that's it. It
has some other uses but if I had to be entirely honest, there wasn't
much that other weapon couldn't do as well.
Hopefully this helps things going forward, and I want to mess with this
as well down the line in case its a bit too much of a boost in power.
Absolutely please rip this PR apart.
## Changelog
🆑
balance: Makes the syndicate sniper rifle a bolt-action rifle.
balance: Sniper rifles have a scope range of roughly 50 tiles.
balance: Sniper rifle ammo, if it dismembers your limbs, does damage to
the chest.
balance: All the various syndicate sniper rifle magazines have
consistent casing quantities (6 shots). They also have more consistent
pricing. 3 for normal and a box of surplus, and 4 for every other type.
balance: Reduces the range of Marksman ammo to 50 tiles. Not because it
is strong, but because you might accidentally shoot yourself if you're
not watching where you're shooting. Ricochets are no joke.
add: Replaces Soporific with Disruptor ammo. Works like soporific, but
also EMPS things it hits.
add: Adds Incendiary .50 BMG. Causes a combustion to erupt from the
struck target, as well as setting targets on fire. Great for parties.
add: Adds Surplus .50 BMG. It sucks, but you get a lot of them! Quantity
over quality, baby.
remove: The suppressors in the bundle are of standard quality. The
apparent 'cheap suppressor' that came bundled with the C-20r and sniper
rifle were found to actually be 'fine'. Trust us.
/🆑
This builds on what #69790 did and improved the code even further.
Notable things:
- `Topic()` is a deprecated proc in our codebase (replaced with
Javascript tgui) so it makes sense to rename `canUseTopic` to
`can_perform_action` which is more straightforward in what it does.
- Positional and named arguments have been converted into a easier to
use `action_bitflag`
- The bitflags adds some new checks you can use like: `NEED_GRAVITY |
NEED_LITERACY | NEED_LIGHT` when you want to perform an action.
- Redundant, duplicate, or dead code has been removed.
- Fixes several runtimes where `canUseTopic` was being called without a
proper target (IV drips, gibber, food processor)
- Better documentation for the proc and bitflags with examples
Necessary for #72292 to work effectively, and probably not very useful
out of that context. Split out of its own PR because this is long and
boring.
I want to make sure that we're catching actual mistakes there, and not
just experiencing side effects of how shitty the attack chain is.
## About The Pull Request
Well my last PR passed the CI but everything else is still failing and I
want a little tick next to my pull requests.
So I guess I'm whacking moles until everything that 515 doesn't know how
to dispose of is disposed of?
I'll be honest I don't know what change makes this a requirement when it
wasn't before but it seems like a logical thing to be doing.
Unfortunately running this test locally doesn't produce a failure for me
so my only solution is to keep getting the CI to do it and hope that it
doesn't report a false positive again.
## Why It's Good For The Game

## Changelog
Not player facing
## About The Pull Request
Updated crafting menu, adding a lot of new functions and recipes that
were not in the crafting menu before.
<img alt="cult"
src="https://user-images.githubusercontent.com/3625094/206009533-aec3a1dd-cbe5-45eb-8515-1b75fabb65c5.PNG">
<img alt="nH77dLyyGx"
src="https://user-images.githubusercontent.com/3625094/206009786-b6706f70-0599-40bf-b051-8f499de43abd.png">

https://user-images.githubusercontent.com/3625094/206009841-738e4a03-0660-45b7-8d83-15eeb6501967.mp4
## Why It's Good For The Game
It is easier to use, and it has a lot of recipes that were spread
throughout the game, some of which weren't even on the wiki.
Crafting and cooking now count about 1200 recipes in total, including
conditionally available ones.
## Changelog
🆑
qol: Rewrote the crafting/cooking menu UI
qol: Split crafting and cooking menus in two different menus
qol: Crafting is no longer blocking the entire UI, only the "Make"
buttons are disabled
qol: Added stack crafting recipes to the crafting menu
qol: Added cooking recipes that were absent in the crafting menu before
(tool recipes, machine recipes, reactions)
qol: Added option to search recipes by title
qol: Added option to filter recipes by required materials/ingredients
qol: Added food types to the cooking menu, highlighting diet of your
species (liked, disliked foods)
qol: Added total nutrition value of the result to the cooking menu
qol: Added option to filter cooking recipes by the food type of the
resulting food
qol: Added "Can make" category that lists all currently craftable
recipes throughout all categories
refactor: changed categories and reshuffled some items in them
code: Reagents now have default container to get an icon from the
reagent datum
code: Objects now have `desc_controls` var for OOC information about
mouse controls that are visible on examine, but not in the description
fix: Fixed alignment on many food icons
fix: Fixed missing icon for beef stroganoff
/🆑
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
## About The Pull Request
- Rewrites how action button icons are generated.
- Prior, generated an action button icon was fairly simplistic and
didn't allow for many changes. Someone recently added the option for
overlays to be generated over action buttons, but the framework was very
weak.
- Now, action button icon generation is split across multiple procs,
like atom icon updates.
- The background of action buttons are underlays
- The actual icon of the action button is the icon and icon state of the
action button movable
- The rim / border of the button is an overlay, layered overtop the
button.
- Allows observers to see what action buttons a mob has. They even
update in real time! And no, the observers cannot click on them.
## Why It's Good For The Game
- Runechat text of action buttons are no longer hidden behind the actual
icon. This was very ugly with cooldown actions, as the cooldown text was
hidden behind a lot of spell icons.
- Cuts down on a lot of icon duplication.
- Gives much finer control over action button icons
- Saves a bit of processing from generating full action button icons
when not necessary. Not implemented in many places, but is in some.


## Changelog
🆑 Melbert
add: Observers can now see what action buttons an observed mob has. No,
you can't click them. And no it doesn't show EVERY action.
refactor: Refactored how action button icons are generated. Some actions
will now use a colored border when active instead of just turning green.
Cooldown text will also appear on the top layer of actions too. If you
see any funky lookin' icons (namely their borders), let me know.
refactor: Bluespace Golem's teleport action is now a cooldown action.
fix: Construct actions go to the middle of the screen like expected.
/🆑
## About The Pull Request
Turns out I missed a few to_chats in #70398. Also I accidentally
inverted one so it said close the cover instead of open it. Oops!
## Why It's Good For The Game
Same reason as the original PR, balloon alerts are handy for stuff you
care about right now and not in 5 minutes. Also they should probably not
tell you to do the opposite of what you actually need to do.
## Changelog
🆑 VexingRaven
fix: Fixed a few balloon alerts for guns and moved a few more chat
messages to balloon alerts
/🆑
## About The Pull Request
so, scope and kinesis are the only things in the game (other than the
body zone selector) which use the function MouseMove. this tracks every
mouse movement, which meant we had to stuff a cooldown on it to not
calculate a ton of useless stuff. this time can misalign if you move
your mouse fast, not registering at all, as well as not working out with
the 0.2 second processing time of the things handling it (the scope
component and kinesis module)
instead of doing that, we are now keeping the mouse parameters as a
variable, which we update with every mousemove to the current
parameters. then we handle the calculations right as we need them (in
the kinesis/scope) module, rather than relying on mousemove cooldowns,
this should hopefully feel way better
## Why It's Good For The Game
😁
## Changelog
🆑
qol: sniper scopes and kinesis module should feel better to use
/🆑
fix: Fixed a bunch of missing inhand icons.
fix: Fixed cables in electrical toolboxes not randomizing their colors.
fix: Fixed the wrong colored icon showing when trying to make cable cuffs out of cables.
fix: The collectable SWAT helmet is now using the proper icon again!
refactor: Pipecleaners and power cables now share a unified color system, so they're once again available in ALL the same colors.
imageadd: Updated the screwdriver belt overlay to represent the newer sprite.
imageadd: Added a bunch of new inhand icons. Special thanks to Twaticus for doing the helmets! <3
fix: Wirecutters now have an icon when inside a belt again!
admin: Added a new omnitool subtype that allows you to spawn all items in a typepath!
fix: Explorer gaskmasks now properly reflect their adjusted state when held.
fix: Fixed balaclavas having the wrong icon when pulled up.
fix: Fixed the base energy sword (admin spawn only) being invisible.
fix: The rainbow energy sword is now a little bit more rainbowy!
fix: Fixed an tk exploit with orange handcuffed shoes.
fix: The traitor outfit in the select equipment panel is now actually functional!