Commit Graph

115203 Commits

Author SHA1 Message Date
MrMelbert
bbb94de166 Repaths heavy crowbar so people don't map it in accidentally (#88384) 2024-12-08 22:13:24 +01:00
tgstation-ci[bot]
74acd8c1dd Automatic changelog for PR #88390 [ci skip] 2024-12-08 19:16:31 +00:00
SmArtKar
f38e7c26f8 Adds winterhood hair masks (#88390)
## About The Pull Request

![image](https://github.com/user-attachments/assets/a078883d-7428-4ddb-ac5c-96eb7ae1417c)

## Why It's Good For The Game

Its nice to not go bald when wearing a wintercoat since you can still
see some of your supposed-to-be-hairy-head

## Changelog
🆑
image: Wintercoat hoods now show a bit of your hair!
/🆑
2024-12-08 19:16:09 +00:00
tgstation-ci[bot]
a5c7a359d0 Automatic changelog for PR #88381 [ci skip] 2024-12-08 19:12:53 +00:00
Ghom
dadd6e559d [NO GBP] Gives tiziran water turfs their own fish again (#88381) 2024-12-08 20:12:33 +01:00
tgstation-ci[bot]
893fe040a2 Automatic changelog for PR #88387 [ci skip] 2024-12-08 18:34:09 +00:00
tgstation-ci[bot]
e8e312c840 Automatic changelog for PR #88413 [ci skip] 2024-12-08 18:20:27 +00:00
jimmyl
58423afe1c fixes access on that one engineering maintenance door on birdshot (#88387)
## About The Pull Request
fixes #88383

## Why It's Good For The Game

fixes #88383

## Changelog
🆑
fix: The Men in Grey may no longer access birdshots engineering via a
certain maintenance airlock
/🆑
2024-12-08 19:15:00 +01:00
tonty
88d15354e1 Pressure Tanks no longer runtime when shuttleRotated, Remedies constant CI fails (#88413)
## About The Pull Request

Fixes #71092 

## Why It's Good For The Game

Flaky tests bad, fixman good...

## Changelog

🆑
fix: Pubby's whiteship no longer breaks when it tries to dock
/🆑
2024-12-08 19:13:30 +01:00
tgstation-ci[bot]
61338cb250 Automatic changelog for PR #88409 [ci skip] 2024-12-08 15:11:52 +00:00
jimmyl
ce9a8658b7 multitile airlock assemblies from a broken multitile airlock are the same direction (#88409)
## About The Pull Request

multitile airlock assemblies from a broken multitile airlock are the
same direction

## Why It's Good For The Game

fixes #81406

## Changelog
🆑
fix: multitile airlock assemblies from a broken multitile airlock are
the same direction
/🆑
2024-12-08 15:11:34 +00:00
tgstation-ci[bot]
b8080ab6e6 Automatic changelog for PR #88403 [ci skip] 2024-12-08 15:11:28 +00:00
Tim
189616ae2c Add better logging for ruins (#88403)
## About The Pull Request
~~This adds a new test for the CI/CD so that we can load all space ruins
instead of it being RNG.~~
Adds more robust logging for ruins so we can see when they fail/succeed
and how many are placed on a map.

This also removes a deprecated CI config setting. It prevented ALL ruins
from spawning during CI tests which is bad.

The config setting was made redundant in:
- #87910

## Why It's Good For The Game
More robust CI/CD.

## Changelog
🆑
code: Add better logging for ruins
/🆑
2024-12-08 15:11:09 +00:00
tgstation-ci[bot]
9e4d8671d9 Automatic changelog for PR #88402 [ci skip] 2024-12-08 14:50:22 +00:00
tgstation-ci[bot]
540db3d27d Automatic changelog for PR #88398 [ci skip] 2024-12-08 14:50:10 +00:00
FlufflesTheDog
8f3f54bc22 Fix anomaly shifter deleting global themes (#88402)
## About The Pull Request
Makes the dimensional shifter relic not delete global data.
## Why It's Good For The Game
We need those. Please don't delete those.
## Changelog
🆑
fix: Dimensional shifter relics work more reliably.
/🆑
2024-12-08 15:50:03 +01:00
tonty
b3085c973a Fixes some instances of PostTransfer not using new_parent argument (#88398)
## About The Pull Request

Since #87866 PostTransfer now has it's parent set to nil, and instead
has a `datum/new_parent` argument supplied to it.
Why does the ***post*** transfer proc not have it's parent set yet? Not
sure, but some procs (and the documentation) haven't been adjusted yet
and this PR fixes that

also:
fixes #88156 
fixes #88325 

## Why It's Good For The Game

Fix man good...

## Changelog

🆑
fix: /datum/component/PostTransfer() procs that didn't have their
new_parent arguments have now been fixed
fix: This means that turning into a Domain gondola shouldn't RR people
anymore
/🆑
2024-12-08 15:49:49 +01:00
SmArtKar
f317c5796b [NO GBP] Hotfix for CI flaky due to the spacemove fix (#88408)
## About The Pull Request

We don't check if the loop is actually queued as we attempt to remove,
fire and queue it, which makes our loop potentially run in parallel with
a higher priority loop, which (for some reason specifically on during
engiborg tests and specifically on wawa) was causing a flaky CI failure.

Closes #88400

## Changelog
🆑
/🆑
2024-12-08 15:48:55 +01:00
tgstation-ci[bot]
3ae424ccdb Automatic changelog for PR #88288 [ci skip] 2024-12-08 07:02:47 +00:00
mcbalaam
bf6958af5e Adds a mail sorting unit to sort mail per department; some flatpack stuff (#88288)
Adds a mail sorting unit!

The unit accepts mail, stores it and sorts it per department. It can
also search for individual envelopes, change it's output tile and be
VERY loud.

At the meantime, this PR also adds two flatpack subtypes - flatpacker
subtype and mail sorter subtype. The first one is intended to be used by
mappers to have a flatpacker be accessible roundstart, and the second
one is now sold at cargo wardrobes to make the mail sorter also
available roundstart.
2024-12-08 07:02:25 +00:00
tgstation-ci[bot]
adfcc1330f Automatic changelog for PR #88385 [ci skip] 2024-12-08 02:02:49 +00:00
grungussuss
ec7913eec5 HSSSS, GRRRR, meow: feral edition (#88385)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request


https://github.com/user-attachments/assets/8700ba46-b505-4f8b-8977-c20472c72ceb


https://github.com/user-attachments/assets/954b5f3b-7fe4-4ade-9e67-e3ac9bad6550

A collaborative work between sadboysuss/grungussuss and Sothanforax
adds a hiss emote to humans and gives sounds to:
- [X] Lizard
- [X] Ethereal
- [X] Human
- [X] Monkey
- [X] Felinid
~~[ ] Moff get real~~
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

![image_2024-12-06_141858923](https://github.com/user-attachments/assets/0d80d34d-1366-4bc4-a84a-12eac0ff8ce6)

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑 grungussuss and Sothanforax
add: hiss emote
sound: hissssssing sounds
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Co-authored-by: Sothanforax <sothanforax@gmail.com>
2024-12-07 21:02:27 -05:00
tgstation-ci[bot]
29991b9294 Automatic changelog compile [ci skip] 2024-12-08 00:31:22 +00:00
tgstation-ci[bot]
45c4edc579 Automatic changelog for PR #88047 [ci skip] 2024-12-07 14:34:44 +00:00
SyncIt21
b306c28675 General maintenance for RPD (#88047)
## About The Pull Request
**1. Code Improvement**
- Moved global pipe crafting recipe list into
`code/__DEFINES/globalvars/list` folder because its a global list & it
should belong there. Reduces size of RPD file
- Moved `datum/pipe_info` into `code/__DEFINES/globalvars` folder
because it's used by both RPD & crafting recipe so its a global var.
Reduces size of RPD file
- Replaced a bunch of `usr` with the proper user variable when available
  - Autodoc for procs & vars
 
**2. Refactor**
- Attack chain for RPD has been refactored to `interact_with_atom()` &
`interact_with_atom_secondary()`


## Changelog
🆑
refactor: improved attack chain code for rapid pipe dispenser
code: organized lists & global vars for rapid pipe dispenser into their
own respective files & improved a bunch of code
/🆑
2024-12-07 15:34:23 +01:00
tgstation-ci[bot]
3f80d29b0e Automatic changelog compile [ci skip] 2024-12-07 00:27:41 +00:00
tgstation-ci[bot]
345f113dcb Automatic changelog for PR #88322 [ci skip] 2024-12-06 23:16:55 +00:00
jimmyl
f5004593b1 last resort works as monkey or animal (#88322)
## About The Pull Request
changeling last resort works if youre a monkey or animal
any reasonably organic animal that is (golems included) so no
constructs, no spirits (shades, etc), no deathmatch/bitrunning body and
also not a headslug

## Why It's Good For The Game

for a "last resort" ability you cant use it if you got monkified which
is something that can happen fucking you over which is not great
or perhaps due to some foul magicks you became a rat or whatever youre
basically fucked because you cant do anything and all you can do is
bumrush people

this fixes both

## Changelog
🆑
balance: changeling last resort works as a monkey or animal
/🆑
2024-12-07 00:16:35 +01:00
tgstation-ci[bot]
7d19755f69 Automatic changelog for PR #88317 [ci skip] 2024-12-06 23:16:13 +00:00
SmArtKar
f58ebf1a6e Third Time's the Spessman: Solves jetpack struggles once and for all (#88317)
## About The Pull Request

This PR improves our jetpacks in 2 major ways: partially decoupling them
and intentional space movement from SSnewphys, and implementing
consistent pushoff speeds.

Currently jetpacks work by applying constant newtonian force whenever an
input key is held down by a client and stabilizing the movement every
time they get processed by SSnewphys which is an SS_TICKER subsystem,
which means that it attempts to fire prior to everything else and has a
wait of a single tick. This would be fine if we could guarantee that
there isn't another SS_TICKER subsystem with a higher priority that
constantly overtimes... oh right, that'd be the most important subsystem
of SSinput.

Newtonian impulses, both when starting a drift and when applying
continious force rely on SSnewphys to fire the loop, which can end up
not happening due to overtime in input (and is a frequent issue on
highpop). To circumvent this, newtonian impulses now forcefully fire
their drift loop regardless of SSnewphys, thus ensuring that the
movement always happens in the tick it was called (If you ask something
to move with an ``instant`` flag you'd expect it to move the same tick).

Second issue stems from the fact that jetpacks try to move you at your
movement speed, except when pushing you off objects they hijack normal
movement code that would've ran, resulting in a single tile of slow,
janky movement (Or, when moving along walls, making the controls feel
"sticky" and worse than what you'd have without a jetpack in the first
place). By forcefully applying enough force to make players move at
expected speeds, we can solve that issue.

Third issue stems from a minor mistake in SSnewphys processing order -
process() on jetpacks ran **after** moveloops have fired, so all
stabilization only applied next tick. I swapped fire orders around which
solves this problem too, although it won't be triggering much as
stabilization would now forcefully fire the related loop by itself.


https://github.com/user-attachments/assets/1068f68b-2cd1-49b0-bff0-1f79ed0aed5a

Also I've refactored wings to be jetpacks since they behave exactly the
same, which is a bit cursed if you think about it.

## Why It's Good For The Game

Jetpack movement is highly inconsistent in speed/smoothness, janky and
gets ruined by even a slightest amount of overtime in subsystems above
it - this should solve all of those issues.

## Changelog
🆑
qol: Jetpacks are significantly smoother and nicer to use now - and not
affected by lag anymore!
code: Cleaned up spacemove/jetpack code a bit and moved some common code
to helpers.
refactor: Wings are now... jetpacks. They behave exactly the same and
this should reduce the amount of copypaste code in spacemove
significantly.
/🆑
2024-12-07 00:15:36 +01:00
tgstation-ci[bot]
6dbc903112 Automatic changelog for PR #87972 [ci skip] 2024-12-06 23:09:14 +00:00
SyncIt21
36ab31ecbc General maintenance for machinery.dm (#87972)
## About The Pull Request
- Removed the following unused/unchanging vars from machines
  - `wire_compatible`
  - `machine_power_rectifier`
  - `market_verb`
- Removed setting `fair_market_price` in places which did not check for
NAP violations like cryo & coffee pot
- Autodoc for other vars & procs. Adds modifiers for procs where it
makes sense
- Merged `base_item_interaction()` with its already existing
implementation. RPED now adds finger print to the machine & respects
`COMSIG_TRY_USE_MACHINE`
- Removed proc `locate_machinery()` which was only used by turbine
machinery,

## Changelog
🆑
code: improved code for machinery
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-12-06 23:08:52 +00:00
tgstation-ci[bot]
10b9bb90b4 Automatic changelog for PR #88195 [ci skip] 2024-12-06 23:08:47 +00:00
Tim
980d8e421b Add human organ crate to emergency medical holodeck simulation (#88195)
## About The Pull Request
This adds a crate to medical holodeck sim with a full set of human
organs inside a freezer containing:
- heart
- lungs
- eyes
- ears
- tongue
- liver
- stomach
- appendix

##### (And yes, a holodeck organ can fade away while it's still inside
someone causing them to suffer organ loss)

## Why It's Good For The Game

Immersion.

## Changelog
🆑
add: Add medical human organ crate emergency medical holodeck simulation
/🆑
2024-12-07 00:08:22 +01:00
tgstation-ci[bot]
13303dd9d5 Automatic changelog for PR #88199 [ci skip] 2024-12-06 23:03:14 +00:00
tgstation-ci[bot]
0ebc8a1872 Automatic changelog for PR #88291 [ci skip] 2024-12-06 23:02:41 +00:00
SyncIt21
e09f799bdf Minor maintenance for reagent grinder (#88199)
## About The Pull Request

**1. Code Improvements**
- Removed `can_interact_with()` checks. They aren't required if we don't
have a TGUI window & `can_perform_action()` can suffice here
 - Shortened code for tool acts & `attack_hand_secondary()`
 
**2. Fixes**
- Fixes #88180. It now has checks after the user has selected a radial
menu option
- You can eject contents & examine (AI only) the grinder without
requiring it to be anchored or powered via the radial menu
   - Examine block is properly formatted

## Changelog
🆑
code: condensed code for reagent grinder
fix: reagent grinder won't break when 2 or more people are
simultaneously interacting with it
fix: ejecting contents & examining the reagent grinder as an AI via the
radial menu does not require it to be powered or anchored
fix: examine block for reagent grinder as an AI is properly formatted
/🆑
2024-12-07 00:02:33 +01:00
tgstation-ci[bot]
88a25d422b Automatic changelog for PR #88328 [ci skip] 2024-12-06 23:01:41 +00:00
jimmyl
2d143692be gives three tiny buffs the knock heretic path (#88291)
## About The Pull Request

burglars finesse range increased and it may loot any storage object on
the back
caretakers refuge cooldown is only applied when exiting refuge
labyrinth handbook accepts any crayon instead of a white crayon

less balance related:
click on an id card with eldritch id card to make it consume it
eldritch id portals are slightly smoother

## Why It's Good For The Game

burglars finesse will immediately get you valided at max range anyway so
lets make it longer
caretakers refuge is not that good to need a 2 minute total cooldown
the labyrinth handbook recipe is too bad to even consider making it
ever, making it use a crayon makes it more accessible and its still not
that good of an item anyway

## Changelog
🆑
balance: burglars finesse spell range increased from 4 to 6 and it may
loot any back storage object, caretakers refuge cooldown is only applied
when exiting refuge, labyrinth handbook accepts any crayon instead of a
white crayon
qol: you may click an id with the knock heretic id card to make it
consume it
/🆑
2024-12-07 00:01:35 +01:00
SmArtKar
8e5561cea4 Removes organ "refreshing" from multiple heal sources (#88328)
## About The Pull Request

Removed HEAL_REFRESH_ORGANS flag from:
 * Legion cores
 * Helbital janken achievement
 * Adminodrazine (just annoying to deal with in practice)
 * Regenerative slime extracts
 * Wands of healing/death (for undead)

Closes #87520
Closes #87007

## Why It's Good For The Game

HEAL_REFRESH_ORGANS forces the species datum to delete and re-create all
of mob's organs, deleting all non-natural organs. This leads to loss of
augmentations or non-standard organs, and is usually excluded from most
revives (but was intentionally, or unintentionally, missing from these).
This should stop miners and scientists from losing their
implants/infusions/augmentations, and make it easier for testers to heal
themselves without losing organs (since this allows you to heal self by
spawning adminodrazine, as normal aheal still refreshes your organs)

## Changelog
🆑
balance: Removed organ "refreshing" from legion cores, magic wands and
regenerative crossbreeds so they no longer get rid of your implants
/🆑
2024-12-07 00:00:23 +01:00
tgstation-ci[bot]
26de425187 Automatic changelog for PR #88266 [ci skip] 2024-12-06 22:59:53 +00:00
SmArtKar
ab7f1c12d6 Implements icon size caching to avoid unnecessary load in updatehealth (#88266)
## About The Pull Request

Technically an improved port of
https://github.com/DaedalusDock/daedalusdock/pull/651, instead of only
storing height over 32 pixels for HUDs we store both pure height and
width for the sake of cutting down on icon operation spam (which is
pretty costly). Should save us a significant amount of time, cuts down
update_health_hud times by 45% and total update_health by 30% which is
pretty good for a somewhat hot proc.

## Why It's Good For The Game

Our health HUDs constantly fetch icons ***twice*** every update_health,
jesus.

## Changelog
🆑 SmArtKar, Kapu
code: Implemented caching for icon sizes which should significantly
improve mob health performance due to HUDs constantly fetching icons
/🆑
2024-12-06 23:59:30 +01:00
tgstation-ci[bot]
f9bf231d46 Automatic changelog for PR #88276 [ci skip] 2024-12-06 22:57:26 +00:00
carlarctg
e57eddbb32 Adds rare chance for surgery trays to become medical toolboxes (#88276)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.


![image](https://github.com/user-attachments/assets/a6f6182b-5840-4494-8326-ea88f76e195b)

They work basically the same, just that they can't be rolled around and
don't slow you down when walking around.

Medical toolboxes are fairly weak, but coroner toolboxes are pretty
strong.

Added a 1 in 1.000.000 chance for a toolbox to have four latches.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

> Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.
> They work basically the same, just that they can't be rolled around
and don't slow you down when walking around.

The idea of going to the surgery room and finding a _medical toolbox_
instead of a surgery tray is inexplicably amusing to me.

> Medical toolboxes are fairly weak, but coroner toolboxes are pretty
strong.

Healers and hurters!

> Added a 1 in 1.000.000 chance for a toolbox to have four latches.

peak absurdity is reached

~~next pr will include brown toolboxes, which clip to your belt~~

credit 2 @SmArtKar for sprites

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
carlarc, smartkar
add: Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.
add: Added a 1 in 1.000.000 chance for a toolbox to have four latches.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2024-12-06 23:56:52 +01:00
tgstation-ci[bot]
fe72c9db9e Automatic changelog for PR #88252 [ci skip] 2024-12-06 22:54:14 +00:00
tgstation-ci[bot]
34fc21d907 Automatic changelog for PR #88229 [ci skip] 2024-12-06 22:53:52 +00:00
tgstation-ci[bot]
5b00193037 Automatic changelog for PR #88305 [ci skip] 2024-12-06 22:53:34 +00:00
tgstation-ci[bot]
350f1d89e2 Automatic changelog for PR #88173 [ci skip] 2024-12-06 22:53:01 +00:00
SmArtKar
6d0809f78b Toolbox Mastery: Finally gives toolboxes a real use (#88252)
## About The Pull Request

Using a toolbox on an object will now bring up a radial menu containing
all "tools" inside of it, and picking one will put it in your offhand
and use it on the object you clicked. After use, the item will be stowed
back in the toolbox. Welding tools will be turned on (and off when
stowed), and spess knives will give you an option to pick which tool you
want to use. Only certain items qualify as tools (most items that would
fit into a toolbelt do), so you cannot use this to sneakily attack
someone with an esword.


https://github.com/user-attachments/assets/0cd5c859-490f-4643-b451-92ce15a34fba

Using a toolbox in such a fashion passes click modifiers through,
allowing you to use left/right, ctrl and alt click modes of items just
fine.

God bless our attack chain.

## Why It's Good For The Game

Toolboxes are inferior to toolbelts and boxes in almost every single
way, being only capable of storing 7 items and not fitting anywhere.
This gives them an actual use and maybe they'll see use in actual
construction projects.

## Changelog
🆑
add: Toolboxes can be used on any object to pull out and use a tool from
it as long as your offhand is free.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-12-06 23:52:57 +01:00
SmArtKar
7c1539aa2b [NO GBP] Fixes an edge case with meteor moveloop code (#88229)
## About The Pull Request

This felt like an infinite delete trap so I've tested it and didn't find
anything but there's a couple of qdel loop traces in server logs, I
think this happens if something destroys the meteor?

## Changelog
🆑
fix: Fixed an edge case with meteor moveloop code
/🆑
2024-12-06 23:48:57 +01:00