50232 Commits

Author SHA1 Message Date
Cody Brittain 7574d44a68 Prevent update tgs dmapi workflow from running on forks
Added condition to prevent workflow from running on forks.

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-24 14:06:18 -05:00
Changelogs 7af95ebcc9 Automatic changelog compile [ci skip] 2026-02-23 02:02:18 +00:00
Cody Brittain 621870cc61 Update CODEOWNERS with new assignments and corrections (#21894)
Removing old team members, adding new ones in their place.

NUFC

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-02-22 12:49:48 +00:00
Casper3667 b4464ab474 Adds stickynote pads in a bunch of places and to the loadout (#21893)
"Added stickynote pads to the following locations: Command offices,
bridge, rep and liasion offices, journalist office, eng, medical and
operations lobby, invest office and lab, galley, vacant office on D3,
all three custodial closets, security meeting room, HR meeting room,
machinist workshop and tool storage."

yeah. Apparently they weren't added properly in the original PR to a lot
of places. So I went wide with it.

This also adds them to the loadout.

---------

Signed-off-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-02-22 12:43:36 +00:00
Wildkins 62a59aca74 Remove lobby messages when failing to select a gamemode (#21895)
title
2026-02-22 12:25:10 +00:00
Casper3667 bb5ec858f9 Improves plastic bags and make toptart boxes smaller (#21891)
Plastic bags can hold more items and slightly bigger ones. They already
can't fit into a backpack, so giving them the ability to actually carry
something seemed fine.
Toptart boxes were also made a bit smaller, given how few items are in
them and to make them fit better in plastic bags.
2026-02-22 12:22:56 +00:00
Batrachophreno cb2718db78 Xenobotany device NanoUI conversions (#21856)
changes:
- refactor: "Converts xenobotany's Bioballistic Delivery System
interface from NanoUI to TGUI."
- refactor: "Converts xenobotany's Lysis-Isolation Centrifuge interface
from NanoUI to TGUI."
<img width="949" height="532" alt="image"
src="https://github.com/user-attachments/assets/91930b83-1a2d-4ecb-801d-153b1ae52ed1"
/>
2026-02-22 12:22:31 +00:00
Wildkins 6def662c56 Fix VSC linter errors (#21911)
See title

Fixes invalid list access error and also some GH actions errors

No player-facing changes or DM changes
2026-02-22 06:01:45 +00:00
Changelogs 9430797bea Automatic changelog compile [ci skip] 2026-02-22 02:01:09 +00:00
Matt Atlas 2d8b552c27 Potentially fix a hard delete to do with status icons. (#21916)
title

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-02-22 01:26:57 +00:00
VMSolidus 0004c09e9d Fix Set Odyssey (#21914)
This PR fixes the Set Odyssey verb to work after server initialization,
but before the round has actually started. It can actually be run even
before the round type has been voted for.

 I have actually tested this PR and verified that it works.
2026-02-21 21:07:46 +00:00
tomixcomics 738b72e0b9 Cytherian cuisine, Tajaran tastiness and food fixes (#21881)
<img width="209" height="212" alt="image_2026-02-18_163749448"
src="https://github.com/user-attachments/assets/dd40e552-6752-41bc-8c1f-1d6759ed19e5"
/>

-Adds Cytherian cuisine to the game with 4 specifically cytherian dishes
as well as some popcorn flavors.

-Adds Adhomian cheese and two new Adhomian cuisine dishes for everyone
who has been asking for more Tajaran foods.

-Adds an alternate, vegan way to make dough that doesn't require eggs.

-Adds cheese-less omelettes.

-Adds a few other miscellaneous dishes such as Poutine, Churros, and
chocolate pizzas.

-Adds trays of clams casino now dispense individual clams that can be
eaten seperately.

-Adds a new kitchen bounty for some of the new desserts and added the
new tajaran dishes to the adhomian cuisine bounty.

-Changes North Sixty seafood platters to include regular clams instead
of R'sval clams since R'sval clams are Adhomian and I suspect regular
clams were the intention for this dish all along.

-Renames the old tossed salad to 'apple salad', now that there's a
newer, less fruit-based tossed salad.

-Makes it so onion rings can be placed freely like every other food
instead of being locked to one spot.

-Fixes some food description typos.

---------

Signed-off-by: tomixcomics <11053204+tomixcomics@users.noreply.github.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-21 20:24:44 +00:00
Wildkins a86fc5c4f6 Fix non-modmin use of adminhelp (#21910)
see title
2026-02-21 18:38:01 +00:00
Casper3667 1f715c6789 Renames the native tajaran footwear and makes them the default shoes for taj instead of sandals (#21892)
Done on the request of taj lore and a bit of a personal one to have
anything but sandals as their default.
2026-02-21 17:21:27 +00:00
dependabot[bot] 8d23b11382 Bump ajv from 6.12.6 to 6.14.0 in /tgui (#21913)
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.6 to 6.14.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ajv-validator/ajv/commit/e3af0a723b4b7ad86eff43be355c706d31e0e915"><code>e3af0a7</code></a>
6.14.0</li>
<li><a
href="https://github.com/ajv-validator/ajv/commit/b552ed66191eb338498df3196065c777e3bb71f2"><code>b552ed6</code></a>
add regExp option to address $data exploit via a regular expression
(CVE-2025...</li>
<li><a
href="https://github.com/ajv-validator/ajv/commit/72f228665859eed5e2be3a66f8c4a7aff6b34dcf"><code>72f2286</code></a>
docs: update v7 info</li>
<li><a
href="https://github.com/ajv-validator/ajv/commit/231e52b3bca62559202b95e5fb5cee02145b226a"><code>231e52b</code></a>
Merge pull request <a
href="https://redirect.github.com/ajv-validator/ajv/issues/1320">#1320</a>
from philsturgeon/patch-1</li>
<li><a
href="https://github.com/ajv-validator/ajv/commit/d3475fc20416c33fe030c8aa3b09fa411f325bbd"><code>d3475fc</code></a>
Add spectral, an AJV util from a sponsor</li>
<li><a
href="https://github.com/ajv-validator/ajv/commit/413afe01f518ea74d1740a7cb211df787c585544"><code>413afe0</code></a>
docs: v7.0.0-beta.3</li>
<li><a
href="https://github.com/ajv-validator/ajv/commit/11e997bda2f3eecb445c1e5a07d96ef7e81c5f5d"><code>11e997b</code></a>
update readme for v7</li>
<li>See full diff in <a
href="https://github.com/ajv-validator/ajv/compare/v6.12.6...v6.14.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ajv&package-manager=npm_and_yarn&previous-version=6.12.6&new-version=6.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/Aurorastation/Aurora.3/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-21 17:18:58 +00:00
Cody Brittain 24baee2e8a Add workflow to enforce merge blockers on PRs (#21880)
No User Facing changes.

Avoids accidental merges when the Do Not Merge, Maintainer Discussion,
or Lore Discussion labels are set on a PR.

[Credit to Baystation for the
inspiration.](https://github.com/Baystation12/Baystation12/pull/35046)

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-21 17:17:35 +00:00
Changelogs e57918f133 Automatic changelog compile [ci skip] 2026-02-21 04:07:44 +00:00
Batrachophreno 0ac14b81e2 Vending machine ad change (#21899)
Removes inappropriate legacy vending machine ads.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
2026-02-21 01:48:12 +00:00
FabianK3 dd92b872b5 Fix robot eye sprite (#21907)
# Summary

This PR decouples the eye sprite state from the robots integrated light
state.

To my understanding, disabling the eye glow wasn't primarily intended by
toggling the light and at the same time the toggle-states were flipped.

Fixes #21769

## Sprite note

No sprites were modified.
2026-02-21 01:47:09 +00:00
FabianK3 8a80d3a6be Darkmode by default (#21854)
# Summary

This PR makes dark mode the new default for the client.  
Dark mode seems more appropriate as a default for this type of game and
is used by the majority of the community.
2026-02-21 01:44:16 +00:00
Casper3667 3fbe896673 Modifies Kathira's custom leg aug (#21870)
This adds a signal that can be used to stop bone repair surgery for any
cause that might prevent such. In this particular case, I used it with
Kathira's leg aug to fit with it being a support for her leg, which
can't heal properly otherwise.
This is primarily for when she ends up in surgery and can't inform the
doctors they shouldn't be trying to begin with.
2026-02-21 01:44:05 +00:00
FabianK3 3a955ed401 Fix airlock eager autoclose (#21904)
# Summary

This PR fixes airlocks instantly closing after a manual override was
used during a power loss while the APC is rebooting (commonly during
eletrical storms)

Fixes #21783

## Cause

During eletrical storms power_change in airlocks is triggered, checking
the power system state additionally should prevent the issue.
2026-02-21 01:43:19 +00:00
Casper3667 7b3c1c6261 Adds spotlights to the autolathe (#21890) 2026-02-21 01:42:25 +00:00
Wildkins e4192f9b8f Lag War Day 5.5: are you serious dude (#21889)
we have a gorillion hard deletions and it turns out half of them are
because we set the "ALWAYS HARD DELETE THIS" flag rather than just like.
fixing the hard delete.

cool
2026-02-21 01:41:50 +00:00
Changelogs baeb601be5 Automatic changelog compile [ci skip] 2026-02-19 23:57:53 +00:00
Casper3667 2ef91b3bf3 A bundle of smaller bugfixes (#21882)
-  Assunzioni Sera Stellata di Dalyan Wine can be ordered again.
- Sandals now default to being wood colored if not otherwise given
color.
- Added camera film to the toy shelf storage and briefcases and canes to
the clothing shelf storage.
-  Fixed that the operations lobby was powered by the wrong grid.
-  Added some custom items to the merchant blacklist.
2026-02-19 11:25:30 +00:00
Wildkins 0f1d8a1e3b Lag War Day 3: 100,000 SendMaps Under The Profile (#21874)
after ragebaiting all of coderbus with our 10 second sendmap ticks, i
have slapped together this bandaid fix which should help decrease server
load from all you nerds with 72,000 body markings

i know what you are
2026-02-19 04:30:08 +00:00
Wildkins 8b4cdc1798 Attempt to fix blank chat / chat not loading (#21868)
if this works im going to cry
if it doesn't work i am also going to cry

duality of man
2026-02-19 04:30:03 +00:00
CatsinHD 9be4bde7db Stickynotes bugfix (#21887)
A handful of bugfixes covering stuff I missed in the original
stickynotes PR.
- Stickynotes can now interact with machinery, such as disposals or the
papershredder.
- - Turns out that after attack still has priority over interacting with
machines. You learn something every PR.
- Crumpled stickynotes can no longer be attached like a normal
stickynote. They can also no longer be written on.
- - As part of this, paper now uses a variable to track if it's
crumpled. Before, it would just check the icon_state.
- Crumpled stickynotes now use the crumpled sprite when being shredded.
Before it was just a normal paper sprite.
2026-02-19 03:37:04 +00:00
Casper3667 09955a8c5e Adhomian surgeon garb fixes (#21883)
- The adhomian surgeon garb now offers protection equal to a surgical
gown and surgery mask.
- The adhomian surgeon garb can now be selected by machinists again.

The suit is equal to a surgeon outfit, the headwear part is equal to
wearing a surgical mask and covers the face as it should according to
taj lore.
2026-02-19 01:45:12 +00:00
Casper3667 20500ac5f0 Fixes the stickynote pad in the horizon map file (#21885)
And a hand labeler path.
2026-02-19 01:42:15 +00:00
Changelogs 015c3cf4f9 Automatic changelog compile [ci skip] 2026-02-19 02:05:05 +00:00
VMSolidus bb34bb4f5e Human Hard Del Fix (#21884)
This PR fixes the Hard Del() caused by deleting any
/mob/living/carbon/human. For once I've actually sat down and tested a
hard del PR, so here's the proof that the problem is solved:

<img width="1305" height="411" alt="image"
src="https://github.com/user-attachments/assets/d11d7e14-e349-4a33-b154-0821c27154a4"
/>
2026-02-19 01:37:20 +00:00
Cody Brittain 310ed9b4c0 Reworked how napalm works. (#21843)
Reworked how napalm works to make it more powerful with the new turf
fires. Instead of directly creating a turf fire, it'll instead process a
slower burning, but deadly turf fire.

Also added a military-grade flamethrower, which can use the new napalm.
This will create napalm pools on the ground and ignite them, instead of
directly creating turf fires.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/military_flamethrower.dmi | electricpants#6824
([Shiptest](https://github.com/shiptest-ss13/Shiptest)) | CC-BY-SA 3.0 |
2026-02-18 16:56:24 +00:00
FearTheGabby 62bdf6348e Makes various changes to Vaurca body markings (mecha eyes, mecha spine, hand panels, etc) (#21865)
Summary of changes:
<img width="316" height="722" alt="image"
src="https://github.com/user-attachments/assets/1e6f1de1-0ce7-40a2-bff3-28cf9d6dd8b5"
/>

- Made mecha eye overlays cover the entirety of the eye(s). This means
it won't look wrong (and unusable) if you leave out the faceplates.
- The mecha eyes, mecha spine, and mecha mandibles, now utilize the
recolorable sprite palette, and are all properly colorable.
- The hand panel is now split into the panel itself (uncolorable) and
the light on top of it (colorable).
- The "large" variants of the mecha eyes, both overlay and faceplate,
are removed because they don't look good to the point I haven't seen
anyone utilize them. Happy to reverse if people want to keep it though.
- The mecha chest is now split into the chest itself as well as the
lights, both recolorable.

Not feeling the most confident about this PR due to the recolorable
sprites still looking off to me after applying the palette and general
jankness but wanted to put it out anyway. Any and all advice is welcome.
2026-02-18 16:53:08 +00:00
Changelogs dbec189795 Automatic changelog compile [ci skip] 2026-02-18 00:38:53 +00:00
Batrachophreno 8111a8489b Restore many missing inhand sprites for items, add/port others (#21831)
Many, many, many items have inhand sprites in their .dmis but for
whatever reasons do not display them in-game. This PR:

1. Updates many item definitions to point to their already-existing
inhands correctly. This consists largely of held tools, but also gas
tanks and jetpacks mounted in the suit storage slot.

2. Adds a few codersprites made by me for objects with either missing
inhands or poorly matching mishands (IE, the tape recorder, which has a
black case, reused the white inhand sprites of the health analyzer). The
new sprites are modified or recolored variations of other inhand sprites
from our repo, except for circuitboards which are new.
<img width="444" height="400" alt="image"
src="https://github.com/user-attachments/assets/7f107b9a-fe24-4e31-8f16-4d34768ee117"
/>


3. Adds inhand sprites for Inflatables and Inflatable Boxes made by
Tomixcomics.
<img width="424" height="101" alt="image"
src="https://github.com/user-attachments/assets/434107c4-8577-49a2-a58e-d6b014c03933"
/>

4. Ports inhand sprites for the Hydraulic Rescue Tool from tg's Jaws of
Life.
<img width="224" height="94" alt="Screenshot 2026-02-07 172931"
src="https://github.com/user-attachments/assets/070c7956-f6a8-4fb5-870f-10c64afcc8b3"
/>

5. Some additional cleanup while in the area. The 'analyzer' has been
renamed the 'gas analyzer' to be consistent with the other analyzer
objects, standardized icon_state naming conventions where I saw
oddballs, updated code docs to use DMDocs when in the area, etc.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/hydraulic_rescue_tool.dmi | [SomeAngryMiner (bee
station)](https://github.com/BeeStation/BeeStation-Hornet/pull/2487),
[maxymax
(/tg/station)](https://github.com/tgstation/tgstation/pull/58616) |
CC-BY-SA |
| icons/obj/item/inflatables.dmi |
[Tomixcomics](https://github.com/tomixcomics) | CC-BY-SA |
2026-02-17 17:51:22 +00:00
CatsinHD a1e55d0958 Right Arms of the Broken World - Tajara Gun Resprites (#21743)
Resprites 3 Tajaran rifles, expanding them to use a 48x32 canvas, and
brings them in-line with lore as written in terms of weapon design
history. Additionally, adds 6.8mm in the form of the Tajaran Z33
Tamparii cartridge to further separate Tajara and Human history and arms
development.

All weapon sprites are made by me, except the ba and ss sling which was
borrowed from the Dominian rifle sprites. Special thanks to Elorg for
help in making these not look awful.
<details><summary>Z33 Tamparii</summary>
<p>
<img width="331" height="332" alt="image"
src="https://github.com/user-attachments/assets/f9892dc8-9c6d-45c6-8779-3ad3e39abaed"
/>

An old caliber that continues to show its usefulness. The compromise
between weight and firepower, as well as room to change the powder load
has seen the cartridge remain in service across Adhomai.
</p>
</details> 
<details><summary>Tsarrayut Rifle (PRA)</summary>
<p>
<img width="572" height="387" alt="image"
src="https://github.com/user-attachments/assets/53327f3b-4b87-415e-8215-b1c2ccc08c9c"
/>

Redesigned to a general magazine-fed rifle. Not meant to be flashy or
cool, simply easy to mass-produce and train conscripts. Additionally,
still takes old bolt action rifle clips.
</p>
</details> 
<details><summary>Hotaki Marksman Rifle (ALA)</summary>
<p>
<img width="586" height="400" alt="image"
src="https://github.com/user-attachments/assets/c08986ec-1134-4869-8dc2-36b981a211f9"
/>

Carries many of the same lines and design from the Tsarrayut, especially
in the receiver. However, it was modified to be a bullpup for a longer
barrel. Higher bullet velocity for a similar overall length; perfect for
a marksman harassing down an enemy.
</p>
</details> 
<details><summary>Mrrazhak Assault Rifle (ALA)</summary>
<p>
<img width="483" height="332" alt="image"
src="https://github.com/user-attachments/assets/3f0a2885-49bb-418b-b956-4d2f89a60b40"
/>

Pretty much a shortened Hotaki. Intended to have a similar barrel length
to the Tsarrayut, but a shorter overall gun.
</p>
</details> 

WIP for the following items:

- [x] Golden Mrrazhak
- [x] Cartridge balancing
- [x] Addition/clean-up with uplink items
- [x] Addition/clean-up with ghost roles

---------

Signed-off-by: CatsinHD <31459154+CatsinHD@users.noreply.github.com>
Signed-off-by: Wildkins <john.wildkins@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
2026-02-17 16:30:22 +00:00
VMSolidus 8998842f7a Large Variety Of Hard Dels (#21834)
I spent the entirety of today's event looking at hard dels with my new
digital minions. This was *nearly* every Hard Del that came up during
2/7/2026's event. It turns out that AI is extremely well suited to
hunting down circular references like this across an entire repo. This
PR was made with Antigravity-Gemini3Pro.

I have not yet tested this PR.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
2026-02-17 15:57:11 +00:00
CatsinHD 7f664eb1eb Stickynotes, Notepads, and Receipts. Some clerical additions (#21775)
Ports stickynotes from bay. They can be stuck to most surfaces, but have
a much smaller character limit. Pads have been placed across the Horizon
and can be ordered from Operations.

Receipt paper and notepad paper was added for visual quality of life.
Point of Sales now use receipt paper where applicable.

Sprites were either created by myself, or modifications of baystation
sprites from this PR:
https://github.com/Baystation12/Baystation12/pull/23109

---------

Signed-off-by: CatsinHD <31459154+CatsinHD@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
2026-02-17 15:51:57 +00:00
Batrachophreno c985eafc63 Allow cowboy boots to hold boot knives like all other boots (#21872)
Cowboy boots appear to have been added separately from other boots and
were missing the associated var to store knives in them.
2026-02-17 15:43:05 +00:00
VMSolidus 20bf497ee8 Read Mind Refactoring (#21828)
This PR refactors the Read Mind power to make it much more interactive
with differing levels of Psi-sensitivity. I also fixed issues with
improper sanitization of its inputs by just gently reworking it to use
the modern tgui_input_text(). It no longer has a hardcoded check for the
psi-receiver, since that check has long since been deprecated in favor
of the more modular check_psi_sensitivity().

I needed Hyperbolic Tangent for what I was doing here, so I just added
procs for all the Hyperbolic functions. They exist. Have fun.
2026-02-17 15:41:16 +00:00
VMSolidus a1dda72a1c Records Computer Tweaks (#21840)
I got annoyed one too many rounds in a row that I had to print the
medical records to get the medical records, and did not know until
writing this PR that you have to click where it says "medical" to view
said records. So I have tweaked a bunch of things about the records, so
that they now automatically open to the appropriate tab matching their
records type, EG Medical Records opens by default to Medical Records.

<img width="903" height="661" alt="image"
src="https://github.com/user-attachments/assets/abea1c4b-c78d-4716-ada5-13a100a3316e"
/>

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
2026-02-17 15:40:22 +00:00
VMSolidus cf861efefd Mech Controls Rework (#21762)
This PR reworks the controls for Mechs to now operate under
"Battletech-Style" controls. Where the W and S keys are instead Forward
and Reverse, while A and D are turn-left and turn-right respectively.
This control scheme is generally significantly more playable for mechs,
since mechs can only interact with objects or fire weapons in a
forward-facing arc. Mechs were previously incapable of both
repositioning and fighting at the same time, while with this update a
mech can now face an enemy, fire upon them, and either move closer to
them or further away.

Mechs also now have reverse speed characteristics based on their chassis
selection. Bipedal legs generally have the worst reverse speed. Quad
legs have significantly better reverse handling, and Treads have no
reverse speed reduction at all (with the fun caveat that they suck at
turning).

I have also fixed the issue of mechs feeling like they were "too easy to
mobility kill". It turned out that mechs were hardcoded to be mobility
killed when they took only 45 points of damage, regardless of how tough
their legs were. I have reworked this to instead be a linear decrease in
movement speed, based on the damage taken ratio of the legs. Larger and
tougher legs are naturally more resistant to being impeded by mobility
damage.

I have actually tested this PR, here's it in action! NOW WITH STRAFING


https://github.com/user-attachments/assets/3123fed8-ec22-4118-8a6a-7cbfe45e6667

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-17 15:39:03 +00:00
ElorgRHG 2a2d0798b9 Pants (but mostly jeans) resprite (#21863)
pant.
How I forgot how pants should look like: the PR.

From the changelog:
> - imageadd: "Resprited all jeans, black pants and colorable dress
pants."
> - rscdel: "Removed tan, khaki, red, white pants due to the existance
of colorable dress pants. All maps and outfits where these were used now
use black pants (I did not want to put in the effort)."

Images, as always, in the details below.
Old (current) sprites on the top, new on the bottom unless stated
otherwise.
<img width="2560" height="1024" alt="jeans"
src="https://github.com/user-attachments/assets/9290ec78-638d-4c8a-871b-e74022188749"
/>
Do yell at me if these don't look like jeans. Also imagine these but
shorter, now you have jean shorts, which were also resprited.
2026-02-17 15:35:34 +00:00
ElorgRHG 846eb6b07a Webbing (and drop pouches) resprite (#21864)
It always bothered me how the webbings (is that a proper plural form for
them?) poked out from under suit items. But then I remembered that I am
a spriter (allegedly) and can change that, so I did. Hello.

From the changelog:
> - imageadd: "Resprited engineering, medical and security webbings
(which are now thinner to not poke out from under suit clothing) and
drop pouches."
> - imageadd: "Added a proper colorable sprite for the colorable drop
pouches."

Images, as always, in the details below.
Old (current) sprites on the top, new on the bottom unless stated
otherwise.
<details>
<summary> Webbings: </summary>
<img width="2304" height="1536" alt="webbings"
src="https://github.com/user-attachments/assets/03942dff-2deb-4071-992d-f42531d753cb"
/>

</details>

<details>
<summary> Drop pouches: </summary>
<img width="2304" height="1536" alt="drop"
src="https://github.com/user-attachments/assets/8ab8f5f7-2f29-4cc7-babb-e845b9ee1d44"
/>

</details>

As far as attributions go, I referenced the medical webbing from
Shiptest, and modified it for for engineering, security and medical. I
do not know which PR in particular that webbing was added added in, but
I will link the PR which I _believe_ did it:
https://github.com/shiptest-ss13/Shiptest/pull/2748
2026-02-17 15:35:12 +00:00
Batrachophreno b0fa467ee2 Ports smooth camera shake proc from /tg/ (#21875)
Ports https://github.com/tgstation/tgstation/pull/60314

Yep, a straight up copy-paste job. Ours was ass and broken and this one
Works and Looks Nice.

Actually having functional screen shaking again, I anticipate we'll get
reports that some shaking fx need tuning, so we'll zap those as they
come in.
2026-02-17 10:27:33 +00:00
Changelogs 30fad4d1a9 Automatic changelog compile [ci skip] 2026-02-17 01:59:09 +00:00
FabianK3 9bb1d61c64 Add Foreign Service Officer alt title to consular role (#21822)
# Summary

This PR adds the alt title "Foreign Service Officer" to the consular
role. The alt title can only be selected if the citizenship is set to
"Sol Alliance".

PR is a commission for the_ill_fated and has been pre-approved by human
lore.

## Changes

- Added logic to allow alt titles to be locked to citizenship. It
follows the same logic as faction locking.
- Added "Foreign Service Officer" to the consular role, locked to "Sol
Alliance" citizenship.

## Preview

<img width="874" height="40" alt="Screenshot 2026-02-06 211249"
src="https://github.com/user-attachments/assets/8a017db9-38af-4f57-a9bb-54d8aa5b6c59"
/>
2026-02-16 21:08:21 +00:00
Changelogs 4193b85c7b Automatic changelog compile [ci skip] 2026-02-15 02:05:43 +00:00