## About The Pull Request
Because cable coils are by default 30 cable, what was presumably
intended to drop four cable actually dropped four stacks of cable. This
modifies the deconstruction logic of improvised mounted weapons to spawn
`/obj/item/stack`s once, with their count set in `new()`, rather than
repeatedly spawning single stacks and having them merge, which allows
granularity when it comes to cable.
## Why It's Good For The Game
Unless you're deconstructing something via a wiremill, it shouldn't
produce eight times as much cable as it cost.
## Changelog
🆑
fix: Improvised mounted weaponry now drops a reasonable amount of cable
/🆑
## About The Pull Request
fixes#94729
## Why It's Good For The Game
cleaner logs
## Changelog
🆑
admin: siege weapons log in attack instead of attack and game.
/🆑
## About The Pull Request
Alternative to https://github.com/tgstation/tgstation/pull/94613
The iconoclast repeater, the handheld version, no longer fires two
pellets but instead fires in a two round burst.
The iconoclast repeater now charges two shots (one trigger pull) every
crank, and the crank takes 0.4 seconds (letting you outpace your shot
rate). However, you cannot charge the gun while moving.
Reduces the damage of the repeater's shots. Now it does 15 lethal force.
Since this is coming out in bursts of two, this means that it deals 30
lethal force in a single pull.
https://github.com/tgstation/tgstation/pull/86867 removed the wielding
requirement but didn't make the weapon heavy. I suspect this was an
oversight so I'm treating it as a fix given the weapon visually appears
to be held in two hands.
Cleans up some repeat variables and nouns.
## Why It's Good For The Game
The repeater has some pretty egregious statistics that put it pretty
soundly above other improvised weapons, but also a lot of manufactured
weapons as well. It has existing downsides, but they're not necessarily
able to be felt because of other oversights to the weapon's design.
This will make sure that the weaknesses are felt while still being a
relatively useful weapon. Pointedly, the gun still kills people pretty
fast if you're in line of fire, but actually pursuing someone while
firing is going to be very difficult. It can still run down unarmored
targets with the amount of shots in the gun, but it can't be used to go
Rambo down the halls, wiping everyone out with your effective machine
gun.
## Changelog
🆑
balance: The iconoclast repeater, the handheld version, no longer fires
two pellets but instead fires in a two round burst.
balance: The iconoclast repeater now charges two shots (one trigger
pull) every crank, and the crank takes 0.4 seconds (letting you outpace
your shot rate). However, you cannot charge the gun while moving.
balance: Reduces the damage of the repeater's shots (both versions). Now
it does 15 lethal force per shot. Since this is coming out in bursts of
two, this means that it deals 30 lethal force in a single pull.
fix: Laser musket type weapons are now heavy weapons.
code: Cleans up some of the code and grammar on the repeater.
/🆑
<img width="517" height="305" alt="image"
src="https://github.com/user-attachments/assets/e8cd8bcd-dd3c-4733-99fe-0cdfb9799182"
/>
So, been a while, hasn't it? This PR adds three things. First Up: The
Ratvarian Repeater.

The Ratvarian repeater is a mounted gun made from bronze, stock parts,
and some drinking glasses. it is the emplaced counterpart to the laser
musket, as the pipe organ gun is to the crossbow. Being a laser musket
derivative, this means it has the benefit of _infinite ammo._ However,
this also means to reload it, you turn the crank on the back. My
personal headcanon was it works via a spring mechanism not unlike a
watch, so naturally, it turned into a clock-cult flavored weapon. Each
individual volley per winding shoots 12 laser musket shots in bursts of
two.
https://github.com/user-attachments/assets/152c3ce8-3560-4c8a-b618-7f2d81fb75a0
However, this isnt the only thing it's capable of. If you prefer your
weapons more iconoclastic, you can take a welder to the stand, and carry
it around, for the ability to shoot two laser musket shots instead of
one per trigger pull... with the price being a decreased movespeed, and
the second shot having random spread. Also you cant redeploy the stand,
because iconoclasm. Still, the power is there, if you desire it.
Overall, the repeater is the "Expensive but reliable" option of the
three craftable gun emplacements. It has the most work to get, but once
you have it, theres no need for ammo.
On the complete opposite side of the coin, we have the Improvised
Ballista.
https://github.com/user-attachments/assets/16262965-a860-4205-bc3e-eeb8ec593647
This thing is as cheap as it gets - taking iron and wire to make (plus
tools), and fires the classic spears greytiders love for 80 damage. This
sounds like a lot (and it is), but once the ballista has fired - that's
it, and reloading a second spear takes a full six seconds. Of the four
emplaced guns, it has the least damage per firing sequence, but has all
that damage in one big projectile. The ballista overall is designed to
be dirt cheap to make and generally useful, but requiring a lot of work
to keep running.
And lastly, we have the Giant-killer spear.
<img width="417" height="287" alt="image"
src="https://github.com/user-attachments/assets/613379aa-379c-40b3-b4fc-ccdaa5ea4678"
/>
Crafted from titanium, plasteel and seven knives, and then forged by
throwing it into lava this monstrously oversized spear is designed to
fight monstrously oversized... monsters. While only doing 21 damage when
wielded, this damage is multiplied by 3.5 against lavaland fauna,
dealing damage equal to a crusher mark detonation. However, despite the
ease of use, it lacks the ability to mount trophies like the crusher, so
is much more suited to killing basic enemies like legions or goliaths,
rather than megafauna. (It still does decently versus them, but youre
prone to just dying.) Additionally, due to lacking the requirements of
mining access or lavaland monsters, it can be made by the crew at large,
providing them a meaningful defense on lavaland/icemoon. It can also be
loaded into the ballista, so you can, if you desire, show those
ashwalkers how the dark ages were REALLY fought.
<img width="202" height="236" alt="image"
src="https://github.com/user-attachments/assets/d21a7275-3d9e-427b-ac14-fee080541fb5"
/>
This PR has been six months in the making, so it feels good to finally
get it out.
Why its good for the game: Similar logic to my previous improvised
weapon prs; I feel the dichotomy of "High tech laser rifle" and "Gun
made from stuff lying around" is an interesting one. Of the damage
values, the only one that has the potential for a balance issue is the
spear, but due to being basically a plastitanium spear that does better
versus mining mobs, I don't forsee this becoming a weapon that you can
arm an entire revolution with.
## Changelog
🆑 Webcomicartist
add: Added the ratvarian repeater, a craftable emplaced crank laser
weapon that can be carried by hand, themed after clock cult.
add: Added the improvised ballista, the rebar crossbow's bigger brother,
that fires spears. Huge damage, terrible fire rate.
add: Added the giant-slayer spear, a spear made at a necropolis tendril
that does extra damage to lavaland creatures. (Ballista compatible)
image: added sprites for the above.
qol: The pipe organ gun should be easier to light now.
fix: Fixed Pipe Organ Gun firing sprites not always going back to normal
after finishing firing.
refactor: Mounted guns are now EVEN MORE flexible codewise, now
supporting secondary ammo types.
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request
Extends the part of the crafting unit test that ensures consistency
between the total mats of the components of a recipe (or rather, the
result of said recipe) and a generic instance of the same type as its
result, previously only implemented on food recipes.
## Why It's Good For The Game
This ensures a degree of consistency with the material composition of
various objects in the game. I couldn't do it in the original PR as that
one was too big already and it took months to get it merged, and have
the relative bugs fixed.
Currently a WIP as I slowly deal with the unit test reports.
## Changelog
🆑
refactor: Follow-up to the crafting/material refactor from months ago.
All objects crafted with stacks now inherit their mat composition (not
necessarily the effects and color) by default, while previously only a
few things like chair, sinks and toilets did. Report any object looking
or behaving weirdly as a result.
fix: The material composition of ammo boxes is no longer a 1/10 of what
it's supposed to be. It was a shitty hack to make it harder to recycle
empty ammo boxes. Instead, they lose materials as they're emptied now.
/🆑
## 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
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
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
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
Fixes issues with var typing and proc arguments, discovered using
OpenDream's WIP TypeMaker feature (using improvements I haven't PR'd
upstream yet).
## Why It's Good For The Game
Codebase maintenance.
## 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

So, as you may know, I really like the bootleg weaponry this game has,
but after dealing with gun code for the crossbow, I wasnt inclined to
make more of it. However, when I'm playing ss13 I often have background
noise on, and one day I was listening to an age of empires game, which,
if you aren't aware, is basically a medival rts, featuring a weapon
called an "organ gun". Said organ gun is basically 8 or so muskets stuck
together firing at once. And well, given SS13 has pipeguns, also called
muskets, I couldnt pass up the pun of "pipe organ gun." And thats why
this pr exists. However, as I am noticing I have a habit of doing, I
tend to end up coding more than I ever initially planned.
So what does it add? Well, lets start with the pipe organ gun.
<img width="428" alt="image"
src="https://github.com/user-attachments/assets/0cb93fb9-6ed3-4cb1-a340-0b54832ac577">
The pipe organ gun is made from wood, pipes, iron, typical maints weapon
stuff. Where it differs is it isn't a handheld object - it's a machine
you push and pull around akin to say, the pirate cannons. It can hold up
to 8 pipegun shells, and launches them all at once when lit with
anything that ignites stuff, like a welder, match, torch, etc. It does a
lot of damage, but requires time to reload, and a smart enemy can just
lie down and ignore it. Or maybe it'll just roll 8 of the really bad
ammo types and do nothing, who knows.
https://github.com/user-attachments/assets/5ee1353b-c965-4f47-aa22-4f5cfeb04c51
Initially I planned to use the cannon code as a base, but that presented
a lot of issues, as they need to use cannonballs (which arent ammo in
the traditonal sense), along with only being single shot among other
things. So I made an entire new type of structure called Mounted guns,
which are like cannons that can use conventional ballistic ammo, and
dont have any of the restrictions, and made to be customizable. You want
a gun that takes plasma bars as ammo and launches fireballs? it can do
that. You want to have a rebar ballista, that can shoot up to 3 rods at
once, but only needs to be loaded once? It can do that too. Hell, you
could probably just make full-on gun emplacements with some code
changes. If it's a projectile, it can shoot it, and if its an object, it
can use it as ammo. A list of the current stuff you can change is below.
<img width="510" alt="image"
src="https://github.com/user-attachments/assets/107abbc1-a004-4724-9627-a3388f92cd63">
Which leads me to the second gun I added, which is more of an example of
what can be done with the mounted_gun class.
The canister gatling spawns on the flying dutchman pirate ship, with
enough ammo for five shots.
<img width="453" alt="image"
src="https://github.com/user-attachments/assets/46fdc16e-813a-4e14-b25a-9cf49d245ca6">
Five shots may not sound like much at first - but thats because each
shot is a burst of 50 individual shrapnel bullets. It's unable to break
any walls or doors except for windows, but against anything that isnt a
structure... well, as shown below, they'll have a very bad day.
https://github.com/user-attachments/assets/3519c49d-97e6-4095-99cf-ee8039adbaba
If people like these concepts, I genuinely might add that engineering
rebar ballista.
## Why It's Good For The Game
As said above, I'm a big fan of the whole improvised armory concept ss13
has, and the fact the only "big" gun featured is the trash cannon (which
is locked behind maint loot) is a shame. I felt the pipe-organ gun was a
good compromise - as stated, its just eight pipeguns stuck together,
with all the strengths (high damage output) and weaknesses (slow reload,
needs to be dragged around, cant hit people on the floor, cant damage
walls) that it lacks. As for the canister gatling, I dont forsee it
being a massive problem, as it cant breach walls or doors, so it isn't
just a better cannon.
## Changelog
🆑 WebcomicArtist
add: Added pipe-organ gun: a buildable object akin to trash cannon that
takes pipegun rounds, and shoots up to 8 off at once.
add: Added The Canister Gatling, a rapid fire but non-destructive cannon
for skeleton pirates. Also Canister shot ammo.
sound: Added sounds for the above guns.
image: Added sprites for the guns as well.
code: Added a whole "mounted_gun" class that is basically cannons but
you aren't forced to use cannonballs as ammo and load them with
gunpowder.
/🆑