188 Commits

Author SHA1 Message Date
Roxy 0d4938228f Fix CI Failures [IDB IGNORE] [MDB IGNORE] (#5126)
## About The Pull Request

- null all GAGS vars for brass wirecutters as it doesn't use GAGS
- Repath `mothbomb.dmi` so it actually gets deployed with the server
- Generate map icons
- Fix 150+ crafting material parity failures
- Fix airlock lights not working
- Fix certain species missing eyes

## Why It's Good For The Game

Don't like red X

## Proof Of Testing

If this PR is green check then you Know
2026-01-15 00:59:34 -05:00
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00
Ghom 0b0c5ea91e Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## 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.
/🆑
2025-12-02 18:29:01 -05:00
nevimer baf3837ae8 Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29
# Conflicts:
#	_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm
#	_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	_maps/map_files/tramstation/tramstation.dmm
#	code/_onclick/hud/new_player.dm
#	code/datums/components/squashable.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/datums/diseases/chronic_illness.dm
#	code/datums/status_effects/buffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/stamcrit.dm
#	code/game/machinery/computer/crew.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/wall_mounted.dm
#	code/game/turfs/closed/indestructible.dm
#	code/modules/admin/view_variables/filterrific.dm
#	code/modules/antagonists/heretic/influences.dm
#	code/modules/cargo/orderconsole.dm
#	code/modules/client/preferences.dm
#	code/modules/events/space_vines/vine_mutations.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/carbon/human/death.dm
#	code/modules/mob/living/carbon/human/species_types/jellypeople.dm
#	code/modules/mob/living/damage_procs.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mob_spawn/mob_spawn.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/projectiles/guns/ballistic/launchers.dm
#	code/modules/projectiles/guns/energy/laser.dm
#	code/modules/reagents/chemistry/machinery/chem_dispenser.dm
#	code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/medicine_reagents.dm
#	code/modules/surgery/healing.dm
#	code/modules/unit_tests/designs.dm
#	icons/mob/inhands/items_lefthand.dmi
#	icons/mob/inhands/items_righthand.dmi
#	tgui/packages/tgui/interfaces/ChemDispenser.tsx
2025-11-29 22:49:21 -05:00
Roxy d0ca474789 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-05 2025-11-05 19:43:07 -05:00
EspeciallyStrange cc3bcde1c9 True Strike is now also an armour piercing munition (#93642)
## About The Pull Request
So it dawned on me for awhile, we did get true strike and I got to use
it way more, not necessarily after it is available as speedloader but
I've used it for atleast a bit, realized just buying the match mag was
better anyway.

so, true strike sucks for actually bouncing and killing people. and
while 15 damage is nothing to scoff at because any damage is better than
doing no damage at all. It's already well outclassed by it's actual
roundstart counterpart. This fix that, the truestrike ammo is researched
fairly late into the round. Giving it AP make it more useful
## Why It's Good For The Game

I think it make senses we'd want a researched ammo type more effective
than something you can just. Buy? It's not like we don't have tech laser
that are more effective than buckshot for raw damage. This is similar to
that idea
## Changelog
🆑
add: True Strike is also now AP, making detective more scary and BR-38
much more effective against highly armoured target
/🆑
2025-10-29 16:48:48 +01:00
xPokee 8aa39b75f0 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-04 05:28:09 -04:00
paganiy dfc917e1b0 Cycler shotgun fixing (#93261)
## About The Pull Request
closes https://github.com/tgstation/tgstation/issues/93214
- Fixed the cycler shotgun consuming two rounds per shot.
- Fixed racking action on the cycler shotgun.
- Bounty hunter cycler shotgun now correctly uses incendiary rounds in
its secondary tube.
## Changelog
🆑
fix: fixed cycler shotgun double ammo consumption
fix: fixed racking action on the cycler shotgun
fix: bounty hunter cycler shotgun now properly fires incendiary rounds
from secondary tube
/🆑
2025-10-04 04:35:58 +02:00
xPokee b308ee9d78 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-24 10:13:01 -04:00
Yobrocharlie e90c61a00b Lahti l39 (#92812)
## About The Pull Request

A new admin only weapon to kill people.
Scriptis told me he wanted this weapon upstream and mothblocks was like
"sure whatever"
see
https://discord.com/channels/326822144233439242/326831214667235328/1410700500550291619

## Why It's Good For The Game

Lets admins hit people with a gun that shoots a really big bullet, its
therapeutic
<img width="270" height="148" alt="image"
src="https://github.com/user-attachments/assets/020e2bc2-2d96-44eb-bafe-d34b82f71e93"
/>
<img width="205" height="150" alt="image"
src="https://github.com/user-attachments/assets/2c550ca5-7d5c-4fe2-a483-c4b229a2c31f"
/>
IRL comparison taken from some guys YT video
<img width="259" height="194" alt="image"
src="https://github.com/user-attachments/assets/4a536c4d-15ad-4ba4-9137-c2d5e106445e"
/>


## Changelog

3 new files and one dependent new sniper rifle which is worse than the
other sniper rifle and one new lahti-l39

🆑
add: Added the Lahti-L39 rifle
/🆑
2025-09-21 14:38:32 +02:00
Hatterhat c0f8e7bb5c Multiload Second Pass (ft. Speedloaders Will Be Real In 2025) (#92854)
## About The Pull Request
Gets, yet again, more granular with multiload capabilities, by
introducing `AMMO_BOX_MULTILOAD_OUT_LOADED`; ammo boxes flagged with
this can speed-load ammo boxes that are currently inside another gun,
like revolver cylinders or internal magazines.

To accomodate for this, the previous flag that covered this,
`AMMO_BOX_MULTILOAD_OUT` can no longer speedload into currently loaded
magazines (e.g. internal magazines, including revolver cylinders).

Also implements a base type for speedloaders, moving .38 and .357
speedloaders along with .310 stripper clips to this type, instead of
being ammo boxes. Also features an UpdatePaths script for mappers, which
is why there's so many files touched - repathing is a pain.

Also also adds fancy types for ammo boxes, magazines, and speedloaders,
which isn't particularly player-facing.

Also also also makes the lionhunter ammo strip for the lionhunter rifle
visually three rounds only instead of being perpetually half-full (or
half-empty, depending on your pessimism).

## Why It's Good For The Game

The hypothetical case of "ammo box that holds shotgun ammo" should
probably... not... teleport as much of its ammo as possible into a
tube-fed shotgun, but should probably still be okay at reloading
magazines that actually go into shotguns. Or something.

More relevant, reloading BR-38 magazines with speedloaders, while funny,
probably also shouldn't be teleporting in six fresh rounds.

## Changelog

🆑
balance: General ammo boxes (not speedloaders, not stripper clips) can
no longer multiload into currently loaded magazines (revolver cylinders,
internal magazines).
balance: Speedloaders are now a separate type from ammo boxes, and can
only multiload into currently loaded magazines e.g. revolver cylinders.
qol: Ammo boxes, magazines, and speedloaders now have fancier types for
spawning in by admins.
sprite: Lionhunter ammo clips are visually smaller now.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-09-20 08:10:35 +10:00
xPokee 9b282a850e Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-17 11:45:44 -04:00
FalloutFalcon d2f34e33be moves abstract_type up to datum, spawners wont spawn them (#92909)
## 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/4621



https://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.
/🆑
2025-09-13 00:36:15 +02:00
nevimer c9956892db Merge remote-tracking branch 'origin/master' into pupstream-08-19-keepsha
# Conflicts:
#	_maps/map_files/BoxStation/BoxStation.dmm
#	code/_globalvars/lists/flavor_misc.dm
2025-09-03 21:03:51 -04:00
Ssalty 61031f6cfb Skyrat gun removal (#3697)
## About The Pull Request
HackMD: https://hackmd.io/@Ssalty/r1wjAgSxll
Ammo removals:
IHDF
Rubber (non-.38, non-shotgun, nukie ones stay since it'd require
overrides. They were never purchasable to begin with.)
Stardust
Magnum
Express
.460 Rowland
.457 Government
MCR magazines
.40 Sol
Hornet's nest


Gun removals:
MCR's
.457 revolver
M4A5
.460 Rowland revolver
CCK
GP-7
R10 revolver

Guns made inaccessible:
NRI guns (including derringer, bobr, plasmas, Miecz)
Sol35 (Tarkon, sol ERT, gateway, adminspawn)
Sol40 (Tarkon, sol ERT, gateway, adminspawn)
Trappiste caliber (wespe, some already adminspawn weapons)


Turret adjustments:
Twin Fang - 4.6x30mm, 2 Second burst delay (40 dmg every 2 seconds vs 30
dmg every 1.5 seconds (old))
Stinger - 4.6x30mm instead of .35, matching damage
Colonist - .45 added instead of sol40, matching damage
Hoplite - Same as above

Armoury:
Armoury spawned MCRs replaced with laser guns and energy guns
SMG's and rifles with WT
If there would be a case with two separate spawns of a WT, the other is
gone.
Breaching shell boxes do not spawn in the armoury (they were capable of
1 shotting a dark mauler I wish I was kidding)

Lathe:
9mm stendo's, AP, HP, INC magazines not availible for print - the 9mm
murphy magazine is. It fits in 9mm firing turrets and the murphy.


## Why It's Good For The Game

Give me like a couple days and I'll fill this out. I doubt anyone who is
already pro-skyrat-gun will change their mind but it's good to
rationalize the decision regardless.

Find this out as in lay it out on paper. 

EDIT 1:  Adding the first part

# Foreword
This PR is a *draft*. That means a lot of things are subject to change,
a lot of things can be disorganized and a lot of things will be done
unoptimally. Going forwards, do keep in mind, the decision-making
process behind "remove entirely" and "virtually remove" will not be
dependant on us going forwards, as the decision on this matter requires
maintainer input more than any other.

Next, the delay. 
I simply am not a machine, neither are other people onboard this
project. With different timezones, it was important to find what isn't
working so I can relay it to people in working hours.

Without further ado,

## The case of the ammo types and workbench

The ammunitions workbench is a machine that provides ammunition into
clips, refilling them. The ammunition workbench is also the source of a
multitude of alternate ammunition types. It has with itself brought
several issues that at least would warrant a rework or heavy
adjustments:

1. Contraband ammunitions. There is no real reason that the entire
security department, or even a single crewmember should be accessing
phasic weapons in the form of printable ammotypes. The argument of "the
pipegun having it" doesn't do it favours, as the way you get it is an 8%
chance on crafting a junk round for a bulky gun and the only way to find
out if you actually have it is checking each shell individually with a
bandolier.

2. Complimentary with the removals. Most use cases for this machine are
refilling the magazines you can order or get alongside your weapons.
This collides with the protolathe, which sources most of our
upstream-based ammunition instead. With the skyrat weapons gone, this
machine becomes redundant. You may claim that it's still useful in
saving on materials, where you would be right! However is it worth to
have and maintain an entirely separate structure, with it's own
mechanics, map placements, etc. to get a benefit equal to 1.6x more bang
for the buck? At the end of the day, splitting ways of getting ammo
across a single room for something so miniscule compared to the bloat it
adds is pointless.



# The weapons, why should they go, one by one. 

### RomTech Flechette rifles
Compared to a standard laser gun, which is in all means our baseline of
ranged damage in ss13 - being the default armoury weapon, the default
laser for turrets and default laser for mobs. Better yet, let's compare
it to that and the default ballistic option that we have from TG.

What turns out, is that not only is the romtech carbine faster at
killing than the laser, but also rivals the WT with a split second of
difference in ttk in the favour of the romtech. Let's assume it's human
error and the WT is better TTK wise, just as an experiment. Clearly,
there must be a tradeoff, somewhere, right? One that balances them all
out to be equal weapons in the grand scale of things, contemporaries!
Well, no, not really. Not even close.

The carbine can be folded to fit in bags, that's one thing. The carbine
has more ammo, that's another thing. Bursts are harder to dodge than
series shots since they cover more perpendicular ground when attempting
to dodge projectiles, as is staple for ss13 combat. Burst weapons are
advantageous in applying more damage quicker, as you can see on the
videos - and initial damage, an alpha strike, applies movement slowdown,
ensuring future projectiles connect easier and the target cannot run.

It might be a coincidence that the only /tg/ derived weapons that fire
burst are adminspawn ERT or the Nukie weapons.

But it doesn't end here, no, the RomTech's ammunition alone would
warrant a complete overhaul if not a removal.

**steel ball**
<p>
Takes 9 shots to stamcrit, deals mixed damage - further increasing the
amount of slowdown applied, and not only is it MUCH faster at
stamcritting than a disabler is, it also leaves the target with 70
damage. Over half their healthbar. Severely overtuned with little
counterplay availible, alpha strike monster that is better at disabling
than disablers and better at stopping people dead in their tracks than
rifles, and if you look at our anti-stun, we have less than ever on
antagonists with Adrenal implants gone, Adreanaline Glands reworked,
etc, etc...
</p>

**Penetrator**

NT's answer to armour! 
The penetrator has 60 AP and otherwise the same damage as the AP WT
rifle. Meaning it's a straight upgrade. Meaning this weapon invalidates
it's predecessor whilst being orderable roundstart, and not only that,
but it can fully ignore elite modsuits on nukeops. Not every mechanic
has to have a counter, there's no direct counter to someone healing
after a fight, there is no direct counter to having multiple shots, and
there shouldn't be a full nullification of armour for such a low cost.
There shouldn't be one for a crew that can mass produce these, ever.

**Magnesium**

Arguably fine, 12 firestacks per shot is still quite insane for a lower
chance of friendly fire compared to original incediary hot turfs,

**Ripper**

Steel ball, but even worse. They don't embed a single time, ***this
embeds every time***. It takes several seconds to take out. Actually,
let's compare this gun's bullets to ninja stars.

- 2 times the embed chance at 200 vs 100
- 8 times the jostle chance at 80 vs 10
- Comparable fall chance, at 1 vs 0
- More pain stam pct, at 0.9 vs 0.8, meaning more stamina damage
- More pain chance, at 70 vs 15
- Less pain modifier, at 2 vs 5
- Takes longer to take out, 5 seconds vs 3
- Jostling pain is the same

### One problem. There's three of those fired per burst, cannot be
caught either. And the armour pen is the same.

in conclusion, every aspect of this gun is unhealthy for the game, from
it's gimmick, to it's execution, to it's stats, to it's ammo, to it's
consistency, to it's firing mode, to it being able to be currently worn
on sec belts along disablers - up to 4, if I remember correct.

No reworks. It has to go.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑
del: Removed breaching slugs from crew (not to be confused with
frangible. These ones 1 shot mechs)
del: Removed MCR, .457 revolver, .460 Rowland revolver, GP-7, R10
revolver, M4A5, and their associated ammo types.
del: Removed ammunition types: IHDF, rubber variants excluding
.38/shotgun/nukie, stardust, magnum, express, hornet's nest
del: Made most NRI guns (Miecz, plasma pistol, plasma thrower, bobr,
derringer) and Sol 35/40 (Tarkon, ERT, gateway, adminspawn) inaccessible
to crew, kept for ERT/Gateway/Flavour/Admin reasons
balance: Turrets which use a removed calibre have been adjusted into
either that of the WT's, Ceres (still printable) or 9mm.
balance: WT's replace missing sindanos across armouries, laser guns and
eguns replace the missing MCR's.
/🆑

---------

Co-authored-by: Artur Lang <24881678+Arturlang@users.noreply.github.com>
2025-08-23 20:38:07 +03:00
Hatterhat efb0e037e6 Splits ammo box multiload into a bitflag, adds a icon for .223, adds a desc for toy magazines (#92409)
## About The Pull Request

Ammo box `multiload` var was changed into a bitflag covering
`AMMO_BOX_MULTILOAD_IN`, and `AMMO_BOX_MULTILOAD_OUT`, respectively. By
default, ammo boxes have both multiloading in and out, while magazines
only have multiloading in, which means you can't use magazines as
speedloaders, but you can still feed ammo into magazines quickly if you
had, say, an ammo box for that magazine's caliber. Or... something.

---

Also adds an icon state for .223 casings, which is just an edit of the
old 7.62 casings to be shorter.
<img width="403" height="89" alt="image"
src="https://github.com/user-attachments/assets/b3206b94-c2b3-4b90-8162-b4c620bbe4cf"
/>

---

Also adds a description for toy gun magazines.

## Why It's Good For The Game

Splitting ammo box multiload into "multiload in" and "multiload out"
means you can't use an ammo box as a speedloader, which I thought was
silly. Emergent gameplay, sure, but also silly.

.223 having a unique icon instead of just looking like any other pistol
casing is nice (read: pistol-caliber casings from a rifle round annoyed
me).

Toy gun magazine thing was for funsies at this point.

## Changelog

🆑
code: Ammo boxes' multiload variable is now a bitflag that determines if
a magazine can be multiloaded into or out of. Ammo boxes can multiload
in or out, while magazines can only multiload in.
image: .223 ammo now has a distinct casing icon.
fix: Foam force magazines now have a proper description.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-08-19 22:30:30 -04:00
Hatterhat 8e350f1f86 Splits ammo box multiload into a bitflag, adds a icon for .223, adds a desc for toy magazines (#92409)
## About The Pull Request

Ammo box `multiload` var was changed into a bitflag covering
`AMMO_BOX_MULTILOAD_IN`, and `AMMO_BOX_MULTILOAD_OUT`, respectively. By
default, ammo boxes have both multiloading in and out, while magazines
only have multiloading in, which means you can't use magazines as
speedloaders, but you can still feed ammo into magazines quickly if you
had, say, an ammo box for that magazine's caliber. Or... something.

---

Also adds an icon state for .223 casings, which is just an edit of the
old 7.62 casings to be shorter.
<img width="403" height="89" alt="image"
src="https://github.com/user-attachments/assets/b3206b94-c2b3-4b90-8162-b4c620bbe4cf"
/>

---

Also adds a description for toy gun magazines.

## Why It's Good For The Game

Splitting ammo box multiload into "multiload in" and "multiload out"
means you can't use an ammo box as a speedloader, which I thought was
silly. Emergent gameplay, sure, but also silly.

.223 having a unique icon instead of just looking like any other pistol
casing is nice (read: pistol-caliber casings from a rifle round annoyed
me).

Toy gun magazine thing was for funsies at this point.

## Changelog

🆑
code: Ammo boxes' multiload variable is now a bitflag that determines if
a magazine can be multiloaded into or out of. Ammo boxes can multiload
in or out, while magazines can only multiload in.
image: .223 ammo now has a distinct casing icon.
fix: Foam force magazines now have a proper description.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-08-12 04:03:31 +10:00
necromanceranne 5573612a43 Adds .38 Flare, which is a lethal laser bullet casing available for printing with Advanced Beam Weaponry. Adjust ammo material values. (#91726)
## About The Pull Request


![image](https://github.com/user-attachments/assets/1332d28c-8d5f-41b7-a614-b74027210145)

Adds the .38 Flare. It does 20 damage. This round highlights the target
for 2 minutes, and projectiles hitting the target always hit the limb
that the shooter was aiming at. Your shot has effectively perfect limb
accuracy, no matter how far the bullet needs to travel. This also
affects other projectiles hitting the target that aren't the .38 Flare.

To indicate whether or not a round in a magazine is either lead or
laser, I've borrowed the implementation of ammo overlays from the C-20r
toy magazines Now each bullet in the speedloaders for .38 can be a
distinct type visibly. Might be interesting if anyone wants to add
additional unique appearances for some of the other .38 rounds.

Reduces the overall cost of a lot of the ammunition in the sec and
autolathe, such as loose bullets. Also reduces the material quantity
within bullet casings.

## Why It's Good For The Game

> .38 Flare

By popular demand, I've come up with a new idea. And that idea...is an
anti-bullet deviation tool. Most players are probably not conscious of
bullet deviation. But if you're familiar with the mechanic, it's why
sometimes your shots may hit into an arm or a leg even though you were
aiming at the head.

The way this works is that over the course of a bullets flight, it
increases in inaccuracy and the pobability of drifting into a limb. From
my last estimate, shooting somewhere around 5 tiles away will usually
result in bullet drift.

While affected by the flare shot, that does not happen. You shoot at the
head, you hit the head.

To put it into perspective; you could consider bullet deviation a form
of damage loss (its a bit more complicated than this and there are
instances where it is positive), and this projectile eliminates that
problem for everyone shooting the target.

> Ammo cost

Some of these were pretty excessive for the cost, and a notable example
of this include the .357 loose casings, .310 Surplus loose casings, and
most shotgun shells. These should go down to roughly below 3/5th of a
sheet of metal when printed from a fully upgraded lathe.

Meanwhile, a single bullet casing was like a sheet of metal each, which
didn't seem right to me. So they're now by default one fifth of a sheet
of metal on recycle.

## Changelog
🆑
add: .38 Flare, a laser bullet! Available in both .38 speedloader and
BR-38 magazine once Advanced Beam Weaponry is researched.
add: .38 Flare highlights the target in an outline and makes sure your
bullets never accidentally hit any limb except the one you are aiming
at. Never accidentally hit someone in the arm when you were going for a
headshot.
balance: Reduces the printing costs of several ammunition types from the
autolathe and security lathe. Reduces the overall material contents of
said printed ammo/magazines. If you find a material dupe, let a coder
know.
/🆑

---------

Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-11 18:04:51 -04:00
necromanceranne 8f15d0ea2c Adds .38 Flare, which is a lethal laser bullet casing available for printing with Advanced Beam Weaponry. Adjust ammo material values. (#91726)
## About The Pull Request


![image](https://github.com/user-attachments/assets/1332d28c-8d5f-41b7-a614-b74027210145)

Adds the .38 Flare. It does 20 damage. This round highlights the target
for 2 minutes, and projectiles hitting the target always hit the limb
that the shooter was aiming at. Your shot has effectively perfect limb
accuracy, no matter how far the bullet needs to travel. This also
affects other projectiles hitting the target that aren't the .38 Flare.

To indicate whether or not a round in a magazine is either lead or
laser, I've borrowed the implementation of ammo overlays from the C-20r
toy magazines Now each bullet in the speedloaders for .38 can be a
distinct type visibly. Might be interesting if anyone wants to add
additional unique appearances for some of the other .38 rounds.

Reduces the overall cost of a lot of the ammunition in the sec and
autolathe, such as loose bullets. Also reduces the material quantity
within bullet casings.

## Why It's Good For The Game

> .38 Flare

By popular demand, I've come up with a new idea. And that idea...is an
anti-bullet deviation tool. Most players are probably not conscious of
bullet deviation. But if you're familiar with the mechanic, it's why
sometimes your shots may hit into an arm or a leg even though you were
aiming at the head.

The way this works is that over the course of a bullets flight, it
increases in inaccuracy and the pobability of drifting into a limb. From
my last estimate, shooting somewhere around 5 tiles away will usually
result in bullet drift.

While affected by the flare shot, that does not happen. You shoot at the
head, you hit the head.

To put it into perspective; you could consider bullet deviation a form
of damage loss (its a bit more complicated than this and there are
instances where it is positive), and this projectile eliminates that
problem for everyone shooting the target.

> Ammo cost

Some of these were pretty excessive for the cost, and a notable example
of this include the .357 loose casings, .310 Surplus loose casings, and
most shotgun shells. These should go down to roughly below 3/5th of a
sheet of metal when printed from a fully upgraded lathe.

Meanwhile, a single bullet casing was like a sheet of metal each, which
didn't seem right to me. So they're now by default one fifth of a sheet
of metal on recycle.

## Changelog
🆑
add: .38 Flare, a laser bullet! Available in both .38 speedloader and
BR-38 magazine once Advanced Beam Weaponry is researched.
add: .38 Flare highlights the target in an outline and makes sure your
bullets never accidentally hit any limb except the one you are aiming
at. Never accidentally hit someone in the arm when you were going for a
headshot.
balance: Reduces the printing costs of several ammunition types from the
autolathe and security lathe. Reduces the overall material contents of
said printed ammo/magazines. If you find a material dupe, let a coder
know.
/🆑

---------

Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-09 17:11:23 +00:00
Mira 971a7bb474 Fix reloading of empty revolver (#91657)
## About The Pull Request
Fixes reloading of empty revolver
Fixes #91531

## Why It's Good For The Game
No way to reload a revolver after unloading it is sad

## Changelog

🆑
fix: Empty revolvers can now be reloaded
/🆑
2025-06-16 19:06:23 -04:00
Mira 30bbd7bb32 Fix reloading of empty revolver (#91657)
## About The Pull Request
Fixes reloading of empty revolver
Fixes #91531

## Why It's Good For The Game
No way to reload a revolver after unloading it is sad

## Changelog

🆑
fix: Empty revolvers can now be reloaded
/🆑
2025-06-16 21:43:07 +10:00
SmArtKar 0bcbe8767d Fixes revolver reloading, again (#91414)
## About The Pull Request

Closes #91110, broke due to lazyloaded bullets being considered empty

This needs a unit test, maybe will write one later in a separate PR

## Changelog
🆑
fix: Fixed revolver reloading, again
/🆑
2025-06-05 19:52:00 -04:00
SmArtKar 51c8a5a6ab Fixes revolver reloading, again (#91414)
## About The Pull Request

Closes #91110, broke due to lazyloaded bullets being considered empty

This needs a unit test, maybe will write one later in a separate PR

## Changelog
🆑
fix: Fixed revolver reloading, again
/🆑
2025-06-01 17:23:46 +00:00
Hatterhat 0cf3324b12 Recharge magazine scaling (and a magazine grammar tweak) (#90750)
## About The Pull Request
Rechargeable magazines (e.g. those used in the CTF laser rifle and
nowhere else) now recharge faster based on `recharge_coeff` which is
directly based on what tier of capacitor is in the recharger.
Tweaks some grammar relating to what casing is ready at the top of a
magazine.
## Why It's Good For The Game
Upgrading a recharger should make this neglected magazine type good,
actually.
Also the grammar thing irked me.
## Changelog

🆑
qol: Shoving a rechargeable magazine into a recharger now has refill
speed scale with part tier/recharge efficiency. This probably doesn't
matter very much because no regularly-available gun uses rechargeable
magazines.
spellcheck: Examining magazines should no longer have two instances of
"The" prefixing a casing. Maybe. Probably.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-05-08 18:42:19 -04:00
Hatterhat 6a737c2618 Recharge magazine scaling (and a magazine grammar tweak) (#90750)
## About The Pull Request
Rechargeable magazines (e.g. those used in the CTF laser rifle and
nowhere else) now recharge faster based on `recharge_coeff` which is
directly based on what tier of capacitor is in the recharger.
Tweaks some grammar relating to what casing is ready at the top of a
magazine.
## Why It's Good For The Game
Upgrading a recharger should make this neglected magazine type good,
actually.
Also the grammar thing irked me.
## Changelog

🆑
qol: Shoving a rechargeable magazine into a recharger now has refill
speed scale with part tier/recharge efficiency. This probably doesn't
matter very much because no regularly-available gun uses rechargeable
magazines.
spellcheck: Examining magazines should no longer have two instances of
"The" prefixing a casing. Maybe. Probably.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-05-01 00:03:09 +02:00
necromanceranne bb91f321dc Combat shotgun changes (#90475) 2025-04-29 17:53:59 -06:00
necromanceranne 5306ca7934 Combat shotgun changes (#90475) 2025-04-15 12:11:40 +02:00
necromanceranne df3d6a31ca Reworks flechette into a AP pellet round that does mostly wounds. Adds the Donk Co. 'Donk Spike' flechette round as a surplus round. (#89972)
## About The Pull Request


![image](https://github.com/user-attachments/assets/a9932294-5355-4a75-b64d-cd8350092c21)

Reworks flechette shells from... whatever it was that they were supposed
to be before into an AP pellet round that primarily focuses on wounding
power and embedding power over specifically dealing direct damage (16 as
opposed to buckshot's 30). Useful if you want to maim as a priority.

You can print flechette once science researches Exotic Ammunition.
Nuclear Operatives also get flechette rounds as a Bulldog Shotgun
magazine choice priced as a basic ammunition type.

In addition, you can also acquire Donk Co. 'Donk Spike' flechette
shells. These shells fire plastic darts! They can be purchased by
Nuclear Operatives as a surplus option for Bulldog shotguns. 7 magazines
for the price of one.

Donk Co. 'Donk Spike' flechette was intended to be an alternative to the
standard flechette but failed spectacularly once it hit the market. Due
to a lack of confidence in the product, Donk Co. 'Donk Spike' flechette
now appears in maintenance loot as potential trash, as Donk Co. dumped
it in the millions into various landfills across the sector.

You can also print it if you find the tech in a BEPIS tech disk. 

Does it work? Why don't you take a chance on Donk and find out?

## Why It's Good For The Game

I'm not sure if the person who made the original flechette actually
understood what each of the variables was supposed to be doing or how
they actually worked. A bullet with an excessively negative standard
wound power (for a pellet projectile) and low damage, but then an
excessively high bare wound bonus (for a pellet projectile). But then
some ricochet variables without ricochet being assigned to the bullet...
and a demolition mod on a round meant to be weak against armor?

Nonsensical.

So I've reworked it into two unique rounds. The first serving a
practical purpose and becoming an AP option when the crew typically
begins seeing those options open up (such as x-ray lasers). The same can
be said for nukies, who love AP options, but one focused on lasting
wounds is handy too for keeping someone down. There isn't a milspec
option; so for nukies, this isn't doing nearly as much upfront damage as
buckshot or slugs. You buy this when you want someone not to be
recovered with a LOT of medical attention.

The second being more tongue in cheek, but also giving a surplus option
for Bulldog shotguns, which I think are having ammunition problems even
still. Surplus ammunition might slowly roll out for all the guns, but
I'm mostly focusing on the ones that have some slight price disparity
for total shots compared to other weapons. Also, shooting people full of
plastic is kind of funny.

## Changelog
🆑
balance: Flechette has been reworked into an AP pellet round that embeds
and wounds, but has less actual damage to buckshot. You can print it
once Exotic Ammunition has been researched. Also available to Nuclear
Operatives.
add: Donk Co. 'Donk Spike' flechette rounds. No longer offered by Donk
Co. It can sometimes shows up in trashbins and dumpsters. And operatives
can buy it in bulk if they really feel like it.
/🆑

---------

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-03-19 08:01:22 +01:00
necromanceranne 0619c2a21c Replaces the surplus rifle from the gang mode era with the Sakhno SKS semi-automatic rifle (#89453)
## 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.


![image](https://github.com/user-attachments/assets/5de3752f-a664-4c8f-8d44-9f3ea6a3d8d1)

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.


![image](https://github.com/user-attachments/assets/d5af5abd-3dba-463d-81dd-402291f534b6)

## 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.
/🆑
2025-02-21 14:25:42 +00:00
SmArtKar 2b44bffdeb Adds The Liberator: Doorhickey Corporation's brand new gun (#89495)
## About The Pull Request

The Liberator is a brand-new 3D printable gun, holding a single 10mm
shot in it's barrel. It has a damage multiplier of x0.5, dealing 20
damage per shot. However, shooting someone point blank gives it an x2
modifier, and shooting someone while holding them at gunpoint adds
additional x1.5 multiplier.


https://github.com/user-attachments/assets/b27adf1a-5b02-4817-90ad-2ba922cc6bf9

They can be printed for dirt cheap 3 sheets of plastic and 2 sheets of
iron from an autolathe. However, as a downside, whenever you're firing a
liberator you're risking it blowing up in your hands, potentially
wounding you! Reloading is also a bit tricky, since you need to unscrew
the barrel before placing the bullet in, and screwing it back on.

In order to print them, you'll need to find a (mildly rare) disk in
maintenance and upload the design to an autolathe. You also can find a
whole gun, albeit at a lower chance.

## Why It's Good For The Game

Funny gun that can be used for some gimmicks, not too overpowered but a
nifty tool for assistants. Can be countered by a well timed baton, or a
shove if your opponent is next to a wall.

## Changelog
🆑
add: Added a new 3D printable gun "The Liberator", you can find the gun
itself or its design disc in maintenance tunnels.
/🆑
2025-02-16 23:46:29 +00:00
necromanceranne 85707b3459 Cargo can source lethal shotgun shells at a premium via Imports. Rebalances shotgun shells. (#89125) 2025-01-24 22:03:59 +00:00
Hatterhat 6f10dc6bd8 Even More Magazine Miscellany - Pen Interactions, Stripes, Descriptions (#88930)
## About The Pull Request

![image](https://github.com/user-attachments/assets/dd4d2935-de64-4a23-8789-7ca17fe2d488)
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>
2025-01-08 11:57:19 +11:00
Hatterhat 81e1b149ee Magazine Miscellany (and a very small tidbit of gun examine QoL) (#88889)
## 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.

![image](https://github.com/user-attachments/assets/8a30a631-24fb-4d23-b2ca-895bfe24cbc3)


## 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>
2025-01-06 03:22:43 +01:00
carlarctg 36640632ec Standarizes ammo band colors into defines, makes them brighter, and widens battle rifle bands (#88741)
## About The Pull Request

Title

![image](https://github.com/user-attachments/assets/297cda62-ed09-47a6-96f7-e896ebb0ef0d)
## Why It's Good For The Game

It's hard to notice the super tiny one-pixel-tall ammo band of the rifle
magazine, especially with the muted patterns I mistakenly added in my og
PR.

Pr is @necromanceranne approved!
## Changelog
🆑
image: Standarizes ammo band colors into defines, makes them brighter,
and widens battle rifle bands
/🆑
2025-01-05 21:11:33 +11:00
necromanceranne c1a180c35d Traitors can purchase weapon cases for the Makarov and Riot Toy Pistol. Basic ammo comes in ammo packs. Other stuff. (#88482)
## About The Pull Request

Makarovs and Donksoft Riot Toy Pistols now come in weapon cases. These
cases come with the gun, two spare magazines and a box of spare loose
ammo.

Basic ammunition for these guns come in case packs of three, with a
spare box of loose ammo. The basic ammo for Makarovs is slightly more
expensive.

Donksoft Toy Pistols from the uplink (and given to clown ops) now deal
substantially more damage. For riot darts, this goes from 25 to 35
stamina force. However, the case now costs 6 TC.

Makarov and Donksoft toy pistols have had their magazines increased by 4
bullets, for a total of 12. The Ansem is still at 8.

The pistol cases now have a unique sprite thanks to SmartKar.


![image](https://github.com/user-attachments/assets/e5726d45-47bc-405a-9d14-c68fd4cb95d5)

All included cases come with a disposal bomb built into the case. Use
Alt-Right-Click on the case to start the countdown, and stand back. Or
chuck it at someone you don't like.

## Why It's Good For The Game

>Makarovs and Donksoft Riot Toy Pistols now come in weapon cases. These
cases come with the gun, two spare magazines and a box of spare loose
ammo.

>Basic ammunition for these guns come in case packs of three, with a
spare box of loose ammo. The basic ammo for Makarovs is slightly more
expensive.

A long time ago, I proposed to a maintainer that maybe traitor weapons
should be bundled together with some starting ammo, to give them a
little bit of a necessary boost for longevity for their cost. This being
in a state of the game with only 20 TC and no way to get more. I thought
progtot may alleviate this issue somewhat, but I don't believe it has at
all.

I narrowed this down to just the Makarov and Toy Pistol as I think
they're the ones in need of help, and my reasoning is thus;

A) The TC value is extremely deceptive. 

The weapons themselves are not very good at doing anything without
additionally putting in more TC to load up on ammunition or support
equipment. While it does say 7 TC on the header for the Makarov, if you
want it to be silent, you have to spend more TC on a suppressor (3 TC).
Then, if you're not entirely sure that only 8+1 shots you get from the
beginning is enough to take out a target (maybe they're known to have
armor), then you may need to get either specialized ammo or additional
ammunition. At a certain point, it begs the question 'why didn't I just
buy the bigger stick and get more value out of my purchase as well as
more reliability?' Particularly since drawing heat probably means all
that TC is just going straight into more ammo, one way or another. Or a
bigger stick if you're doing side objectives, making that early purchase
redundant.

B) Whenever you look at either, I want you to consider. 'Could I get
better results by just getting a station weapon?'

The answer is almost universally 'yes'. Even some improvised weapons can
be more reliable. Even spending TC on getting that weapon (like C-4) is
miles more worthwhile than spending TC to get either weapon upfront.

C) It significantly overvalues autolathe access just to make the weapon
feel less like a ripoff. If the uplink can't in of itself justify using
the weapons, they're just flat out not good. and that's assuming players
even know to keep magazines.

It's just a bad value purchase and deceptive in just how expensive it
can end up to use them. The weapon is overshadowed by fairly comparable
items once you factor additional expenditures.

Even the toy pistol is a bad value purchase and it's literally just 2
TC, because the damage it does is dogshit. It's worse than a disabler.
It's worse than a sleepy pen for value to effect. It's so shit, people
put them on maps for free grabs. Let's resolve that with the following.

> Donksoft Toy Pistols from the uplink (and given to clown ops) now deal
substantially more damage. For riot darts, this goes from 25 to 35
stamina force. However, the case now costs 6 TC.

Subtle weapon, good, reliable damage. Fantastic for kidnapping at 40
damage. All without ever actually inflicting a real point of damage.
Great for clowns, great for pacifist tots. Decent deniability. Silicons
may have a harder time justifying an intervention. Genuinely a budget
tool that increases the value of any TC you put into it. Since it has so
much more value, this is why I've increased the price to offset this. It
is actually competing with similar tools well enough to not go too
overboard.

> Makarov and Donksoft toy pistols have had their magazines increased by
4 bullets, for a total of 12. The Ansem is still at 8.

Longevity is the only thing Makarovs seem to want to claim to have over
the revolver, and it isn't much more longevity from just the gun itself
(7 bullets on the revolver compared to 8+1 on the pistol). If we're
talking real longevity, and particularly if you're considering getting a
silencer, than the ebow is literally 3 TC more expensive, silent, and
has endless ammunition with high damage output.

You still need to dump a lot of TC into the Makarov to satiate its ammo
needs if you happen to be skirmishing a lot. By comparison, just getting
a single laser can often times do a much better job at skirmishing than
the tot with a Makarov can. And do comparable damage no less. From
experience, I've always done better with lasers than the Makarov.

Making it more directly able to maintain a good ammo count during a
fight hopefully makes the Makarov feel more like a value purchase for
what I think should be its strength. Staying power and the ability to be
aggressive with ammo expenditure. Particularly against larger numbers,
which traitors are almost always expected to go up against. If those
opponents have lasers, the Makarov just always gets outgunned by an
absurd amount (lasers on their own have like 16 shots, so you can do the
math if there are even two people with a laser each).

Simply put; let's not make make tots feel like a dumbass for not just
getting a laser themselves or buying a ebow to maintain firepower over
long fights, especially with rechargers usually being in pretty nicely
secluded locations for them to access.

## Changelog

🆑 NecromancerAnne (code), SmArtKar (sprites)
balance: Makarovs and Toy Pistols come in weapon cases. Complete with
spare ammo.
balance: Basic ammo for either weapon comes in weapon cases of three
extra magazines at an affordable price.
balance: Donksoft Toy Pistols from the uplink are much stronger than
their standard counterparts, but now priced at 6 TC.
balance: Makarovs and Toy pistols have a magazine capacity of 12 rounds.
balance: Gun/Ammo cases from the traitor uplink can be destroyed by
activating the disposal bomb. Press Alt-Right-Click on the case to start
the timer.
/🆑

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2024-12-22 02:39:59 +01:00
necromanceranne e9471b00b0 Adds the NT BR-38 Battle Rifle. A sci-fi hybrid gun, but better than the last attempt. Only SOMETIMES fails at existence. (#88095)
## 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.


![image](https://github.com/user-attachments/assets/456aba07-ba0a-4ad3-993c-7fc2bc1395d6)

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.
2024-12-13 19:46:24 +00:00
jimmyl 560d849e04 gatfruit shoots peas (#88051)
## About The Pull Request
basically #64128 slightly redone (with permission)

gatfruit now shoots peas; 
(injects assuming hit zone is unblocked and this assumes you havent
modified the plants reagent genes)
at 0 potency to god knows what potency a single pea (bullet) deals 5
brute and injects 1u of phytotoxins
at 50 potency it fires 10 brute and injects 15u of phytotoxin
at 100 potency it fires 15 brute and injects 30u of phytotoxin
phytotoxin is the Toxin chemical but with no liver damage, it is not
particularly strong but serves to recreate the original PRs 5 tox with
possibility of actually modifying that

![2024-11-20
17_04_00-Window](https://github.com/user-attachments/assets/4803f02a-d8a5-4acd-bc49-fd50959b4794)

upon peeling the fruit its reagents are spread among the revolvers 7
casings

also i attempted to make the revolver look more plant-like but im pretty
sure i screwed up

![image](https://github.com/user-attachments/assets/0e1b374d-0b8a-441c-b359-6c94298c6ad1)


## Why It's Good For The Game

a bullet of 357 deals 60 brute (not counting falloff (which i dont think
it gets) and armor)
there are 7 bullets of 357 in a revolver so 420 brute in 1 revolver, and
it basically takes 200 brute to kill someone outright if oxygen and
other damage doesnt do it first
at 10 yield (or whatever max yield is i cant really remember) thats 10
revolvers, so 10 x 420 so 4200 in a bag brute per harvest (again 200
brute if you decide to shoot until something dies so you can kill like
21 people if you dont miss in a single yield 10 harvest)
thats pretty busted for something you can achieve fast by making REALLY
easy chems after getting the seeds from exodrones or lavaland

with this change its still a viable weapon but not a supremely lethal
traitor weapon, and also enables some botany gaming if you make it
contain felinid mutation toxin or something

## Changelog
🆑
balance: A mutation in gatfruit seeds has led to a drastic alteration in
the observable traits of the plant, which now fires hardened peas that
deal less damage, but poison the target. Additionally, its poison can
be, with some botanical engineering, replaced with whatever you wish.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-12-06 23:18:55 +01:00
Thunder12345 6f76ef5381 Removes some duplicate crossbow defines (#88076) 2024-11-22 20:48:49 +01:00
SmArtKar c0c1074bb0 [NO GBP] Fixes some guns runtiming when attempting to reload (#87579)
## About The Pull Request

Closes #87567
Closes #87559

I have zero clue how this code worked during TMs or prior to my changes,
only sensible explanation I can come up with being that we had a
horrific hanging refs issue this entire time?

## Changelog
🆑
fix: Fixed some guns runtiming when attempting to reload
/🆑
2024-11-01 01:07:47 +01:00
SmArtKar 1cd662cc8c Magazines now lazyload their contents in order to save on gun init times (#87224)
## About The Pull Request
Ammo boxes, this includes magazines and magazines inside of guns, now
lazyload their ammo in order to save on init times by keeping it as
types in their ammo list and initializing them as needed. As a side
effect, you can only use get_round to access rounds now, direct array
access will probably not work.

## Why It's Good For The Game

trying to save on init times and delay death of guncode by a tiny bit

## Changelog
🆑
code: Magazines now lazyload their contents in order to save on gun init
times. Please report any broken/non-functional guns!
/🆑
2024-10-28 22:57:09 -07:00
grungussuss f375249588 ballistics handling sounds try 2 (#87053)
## About The Pull Request
just trying to salvage https://github.com/tgstation/tgstation/pull/85603
mostly


https://github.com/user-attachments/assets/32f4634a-ff76-4a4e-9ddb-7607e1e7a2d0
## Why It's Good For The Game
more sound variety
## Changelog
🆑 grungussuss
sound: ballistics have new handling sounds
/🆑
2024-10-07 14:34:32 +02:00
Da Cool Boss ac6231b432 Rebalances Donksoft vendors. (#86542)
## About The Pull Request
![!](https://i.imgur.com/bml0Ivn.png)
![!](https://i.imgur.com/TVDaHPa.png)
![!](https://i.imgur.com/p098Hd4.png)

Notable changes:
- Prices have been increased across the board. They're about on par with
the good clean fun vendor now.
- Less of each item. The machine will have to be restocked more often.
- Fake emags and fake hot potatoes are now avaliable.
- The ammo boxes are half-size boxes (20 darts) in the non-syndicate
vendor. Each foam dart costs 5 credits, and every riot dart costs 10
credits. The syndicate vendor sells the old size of boxes (40 darts) for
the same price, getting twice as many darts per credit.
- Syndicate balloon is now in the contraband section. There is only one
of them per vendor and they cost 999 credits.
- Replica space suits come in boxes now, instead of the parts being
bought seperately.
- All toy guns bought from the syndicate vendor are loaded with riot
darts.
- No more discounts for service jobs. Everyone pays the full price.

## Why It's Good For The Game
The current vendor isn't balanced very well, the pricing is a
placeholder and the vast amounts of gear in them make them a
destabilizing element when it makes its way on station. Spawning a lot
of high-end riot dart guns is easy, and the fact that this has 5
syndicate balloons with a value of 20 telecrystals avaliable for
effectively free is simply absurd. Reining it in a little makes it
easier for mappers and admins to put these machines in player-accessible
spots without worrying about it derailing rounds or empowering griefers.

Additionally, this change makes this vendor play nicer with the new
vending restock economy.

None of the pricing changes affect any vending machine that was mapped
in off the station z-level. Lavaland syndicates will continue not to be
charged for using their machine.
## Changelog
🆑
balance: Donksoft vendors now stock slightly more items, slightly less
of each item, and has increased prices across the board.
/🆑
2024-09-30 18:11:23 -04:00
grungussuss 58501dce77 Reorganizes the sound folder (#86726)
## 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
/🆑
2024-09-23 22:24:50 -07:00
Ghom 06ba9d93eb Pun Pun Station Trait, But it's only active on Monkey Day (14 December, every round) (#86091)
## About The Pull Request
This is a remake of https://github.com/tgstation/tgstation/pull/84501
with a few small changes to avoid mapping issues. This time it's
restricted to a once-in-a-year event, mainly because neither Jacq and
Lemon were ok with the possibility of Pun Pun being posibly playable all
year, however Jacq said he's fine with it being available on the
holiday, while Lemon isn't around on Discord atm so I don't know what
he's to say.

The trait makes pun pun playable and gives them the job of being a
busser (waiter) in the cafeteria. They're clever and can use tools most
other monkeys can't, but cannot be humanized, while also being unable to
speak Galactic Common. Should they roll traitor, they'll be able to buy
syndicate monkey reinforcements and equipment, which it can also use,
being a monkey itself.

## Why It's Good For The Game
This is a fairly unique job, like the Cargo Gorilla, due to the fact
it's not a conventional humanoid crew member nor the AI or a cyborg. I
thought this was a fun idea, though I met some obstacles and the
original PR was DNM'ed and then closed. However, the trait perfectly
fits the theme of the holiday, making a good compromise since Pun Pun
will stay AI-controlled the rest of the year, as Jacquarel and Lemon
want it to be. It can also be added by an admin through VV, whether
they're planning some shenanigean or just want to add something more to
the round.

## Changelog

🆑
add: Pun Pun is a playable crewmember during Monkey Day (14 December).
/🆑
2024-09-12 09:35:37 -07:00
EnterTheJake 8436d3e0de Adds a Quiver to the Syndie rebar + various rebar and bolt improvements. (#86116)
## About The Pull Request

Adds a quiver to the traitor "Syndicate Rebar" kit, can be used to store
rods and reload the Rebar more efficiently.


![image](https://github.com/user-attachments/assets/bedc98d5-4b2d-4a68-b598-0853c17d73cb)


Fixes Rebar bows having more ammo than intended.

Rebar bows will now draw their string with left click instead of just
the use button.

Quivers are now a neck storage item.

Hydrogen bolts have lost their ability to embed and pierce an infinite
number of targets in exchange for a small damage buff , increased
accuracy on bodyparts and the ability to pierce walls.

## Why It's Good For The Game

This PR is the fruit of a discussion spanned over the course of several
months between me and KingKumaArt (the creator of the rebar bows.), He's
now busy abroad, so I'm pushing these changes in his stead.

**Changes to the syndie rebar and quivers**

The syndicate rebar bow is a fun albeit slightly underwhelming weapon,
at least compared to its direct competitor, the revolver.

The numbers prove this, as according to the charts it's very rarely
bought on LRP and doesn't even show on the MRP charts.


https://superset.moth.fans/superset/dashboard/4/?native_filters_key=cBYTbRt2At8pt1VkwV8O7NEZZZeDiIQ5fZgSMfjoICB0yow1BWJXDG5SyV9MJKTf

I think most of the issues with the weapon can be attributed to the
horrible jank that surrounds it.

Reloading and storing ammunition for this weapon is a management
nightmare, as the rods cannot be stacked and have to be manually loaded
by hand, making it horrendous to use in combat.

While that's fine for the makeshift crew version, Traitor weapons should
be more realiable in a combat scenario.

**So i'm squashing both problems by introducing a traitor version of the
quiver.**

It comes packed with the box you get the crossbow from, can be worn on
the neck, stacks up to 20 rods, and features an action button that
allows you to slowly chamber your rods into the rebar.

Video demonstration: https://www.youtube.com/watch?v=nG9efFOyauw

The crew version has also been moved to a neck storage item, but has
half the capacity and lacks the ability to quick reload.

I've also made the firing process slightly less annoying by having left
click draw and undraw the string; as it stands, you have to alternate
left click and use on hand after each shot, which is just jarring.

Created 2 new variables to replace the ALWAYS_HIT_TRAIT, so we don't
have to slap a new trait every time we want to dictate how accurate a
gun or projectile should be at range.

Lastly, I fixed an issue that allowed the bow to fit 1 extra bolt than
its intended capacity. if you were to chamber your last rod, it does end
up nerfing the burst of the syndie variant, as it drops down from 4 to
3, but the smoother reload should make up for it.

**Hydrogen bolts**

As it stands, all the atmosian bolt variants occupy different niches and
they are more or less balanced.

Except for the hydrogen bolts.

With zauker bolts doing 60 toxin damage, guaranteed embed, and Syndie
bolts doing 55 brute + the high delimb chance, Hydrogen bolts just don't
have any real purpose to exist with their lower damage and lack of the
ability to delimb.

Metallic hydrogen in general doesn't have any good applications, the
armor is weaker than your run of the mill sec vest, the axe is a
downgrade over the roundstarting one....; I could go on, point being
that something that requires in depth atmos knowledge and 30-40 minutes
of hard work shouldn't be outclassed by what's readily available at the
start of the shift.

So what if we made the hydrogen bolts go through walls?

Long range weaponry is a niche that remains mostly unfilled in the
traitor arsenal.

The syndicate rebar technically does have a scope, but requiring direct
line of sight makes it unreliable and far too risky to use, since you
could be jumped at any times while you are zoomed in.

So i've made the hydrogen bolts a weaker version of the nukie penetrator
rounds, with slightly lower damage, no infinite pierce and inability to
damage the AI core.

I've also improved their long range accuracy, as these bolts are meant
to be accurate at longer ranges, (they drop off massively past the 15
tiles)

Now yes, the bolts will be accessible to the crew as well, so why am I
discussing this as if it were a traitor change?

Well for starters, the actual applications of a crew atmos tech using
these are fairly limited.

Regular rebar bows can only fire 1 shot at a time, don't have a scope,
and you won't get much mileage out of the wall piercing component unless
you get thermals or x-rays, which are very much a stretch to acquire as
an atmos tech.

In the hands of a traitor, however, I can see it as a potential use for
a long-range sniping tool, if you are willing to commit half of your
round to make the bolts that is.

## Changelog

🆑
add: A Syndicate Rebar Quiver has been added to the uplink
qol: Left clicking with a rebar crossbow will now draw/undraw the
string.
balance: Rebar quivers are now a neck slot item.
balance: Hydrogen bolts damage has been upped to 55 brute and can now
pierce through walls, they no longer have infinite piercing and can no
longer embed however.
code: removed the TRAIT_ALWAYS_HIT_ZONE, replaced with 2 new variables.
fix: fixes rebar crossbows having a higher capacity than intended if a
bolt had already been chambered.
/🆑

---------

Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
2024-09-04 12:59:08 +02:00
Paxilmaniac b98afcd140 Replaces my old and crusty pp-95 with the cool new nukeops tech on the block, smart SMGs (#85211)
## About The Pull Request


![image](https://github.com/user-attachments/assets/c399db0d-c8b8-4f0e-b20d-e81e153a4fac)

![smart
bullet](https://github.com/user-attachments/assets/02af6174-f967-487c-b5ee-90c73300d179)

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
/🆑
2024-07-29 17:31:18 +01:00
Paxilmaniac 299efc9c8a Updates the sprite of the bulldog shotgun and fixes some related code (#85121)
Fixes bulldog shotgun unique mag display not working on the sprite, resprites the bulldog shotgun along with inhands and new worn sprites and cleans up a little of the code surrounding the bulldog.
2024-07-23 07:43:33 -07:00
Da Cool Boss b748c455df Donk Co Interstellar Trading Post 6016 (#83075)
## About The Pull Request
Adds a new space ruin to the pool. It's the haunted trading post. It is
a whiteship dock with a large (safe) common area. The back rooms contain
loot and danger. Here are a few 'teaser' images.

https://i.imgur.com/M1te9Ha.png https://i.imgur.com/SF3bJ62.png
https://i.imgur.com/i9xeUFP.png https://i.imgur.com/UBwpJAM.png

Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk
Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret
Recipe.

Oh yeah the secret documents teach you how to make three prototype
variants of Donk Pockets. There is no limit to the amount of times it
can be read, so if you want to corner the market remember to lock up the
documents. Or you can share them with your friends.

**Now COMPLETE!**

![proof i ran this at least once
locally](https://i.imgur.com/39kvyqd.png)

## Why It's Good For The Game
This ruin is a multi-room dungeon with multiple solutions to each room.
It has plenty of action from mobs, traps and hazards. Each room has some
form of treasure or unique item in it. There's a boss at the end with
great rewards for fighting it, including a cool gun (slightly worse
variant of laser carbine).

This ruin is also a whiteship dock and space base. The public area is
entirely safe: stick to the well lit sector and don't trespass in the
employees only areas and you won't be harmed. There is a variety of
vendors to resupply at (including a brand new Donk Co snack vendor) but
unlike most other space ruins you do have to pay. A whiteship can dock
at this ruin if you have one, so you can bring groups of people to party
or attack the dungeon together.
## Changelog
🆑
add: Adds the Haunted Trading Post space ruin.
add: Adds 10+ unique items for the Haunted Trading Post
add: Adds 5 dangerous mobs for the Haunted Trading Post
add: Adds 4 new types of hazardous traps for the Haunted Trading Post.
/🆑

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-23 04:46:29 +02:00
Toastgoats 3c4444b1c4 Adds additional equipment for Silverscales. (#84257)
## About The Pull Request

This PR adds a few notable changes to the Silverscale pirates:

- Replaces the old nanotrasen branded hardsuit with the designer EVA
suit, an armored hardsuit equivalent in protection to that of the
standard pirates.

![silverscale](https://github.com/tgstation/tgstation/assets/63932673/85ba8b9c-307d-4800-a876-c0470e9ef0ab)

- Silverscales all start with satchels

- The airlocks on the shuttle can now be locked from the inside

- The shuttle now has a robot butler (medibot) named Mortimer, along
with a burn kit.

- Increased the amount of C4 on the shuttle to 3, and added a 1.30
damage modifier paywalled laser gun to justify having the recharger, the
silverscales will need to supply the card themselves

- Adds explosive implants to the Silverscales' outfit. They're greedy
lizards, did you think they'd let their gear fall into the hands of the
poors so easily?

- The mosins now get phasic rounds to offset the disadvantages of low
DPS compared to lasers.

## Why It's Good For The Game

As it stands, it can be argued that the Silverscales are the weakest
pirate faction, On paper, they sound as though they would be
well-equipped elites, but are left with clunky, unarmored space suits, a
bright dead-giveaway glow, and single shot guns that leave them
extremely vulnerable to being rushed and stunned. As such, they've
become somewhat of a joke amongst players for the past few years.

This pr doesn't necessarily aim to negate their weakness, but I'd like
to give them more of a safety net that puts them on equal to slightly
better footing with standard pirates in terms of their access to armor,
healing, and options.

The addition of the explosive implant also serves to reinforce their
theming of being rich, evil lizards, but is mostly meant to make them
more entertaining.
## Changelog
🆑
add: Added the designer EVA suit, a unique pirate hardsuit for
Silverscales.
balance: Increased the equipment available to Silverscales
image: Sprites for the designer EVA suit
/🆑

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
2024-07-07 15:13:26 -04:00
SmArtKar c20228b67e Fixes magazine overflow and russian roulette starting with 6(7) bullets (#84247)
## About The Pull Request
Box magazine code started from ``.len`` instead of ``.len + 1`` when
refilling mags which would be fine if BYOND's ``to`` didn't include the
last number. Unfortunately, it does, and if the mag has bullets when its
refilled it will have one over the limit.

Russian revolver code had a type typo where ammo was added in
nonexistent ``/obj/item/ammo_box/magazine/internal/rus357``'s
``Initialize`` instead of
``/obj/item/ammo_box/magazine/internal/cylinder/rus357``. It was pretty
clearly was meant to start with a single bullet instead of 6, but
neither removing existing ammo nor adding new was implemented properly.
I stuff it with 5 blanks instead of making it empty because this will at
least allow it to click with current guncode instead of bashing yourself
over the head without any feedback, until I rework it.

Related to #84057 but doesn't close it.

## Why It's Good For The Game

Overflow could happen on chaplain's revolver when pray-reloading, giving
them one more shot than intended.
Russian revolver is still broken, just slightly less as it now can at
least tell you that you failed at killing yourself.

## Changelog
🆑
fix: Guns no longer can be overfilled by 1 bullet
fix: Russian revolvers now spawn with only 1 live round as originally
intended, and click when firing a blank.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-06-29 19:25:05 +02:00