Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MDB IGNORE] [IDB IGNORE] Upstream mirror #421

Merged
merged 88 commits into from
Dec 13, 2024
Merged

Conversation

psychonaut-ci[bot]
Copy link
Contributor

@psychonaut-ci psychonaut-ci bot commented Dec 13, 2024

This is an automated pull request to merge the latest changes from the upstream repository.

The following files have conflicts:

tgstation-ci bot and others added 30 commits December 8, 2024 00:31
<!-- 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. -->

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

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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 <[email protected]>
…tuff (#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.
## 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
:cl:
/:cl:
…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

:cl:
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
/:cl:
## 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
:cl:
fix: Dimensional shifter relics work more reliably.
/:cl:
## 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
:cl:
code: Add better logging for ruins
/:cl:
…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
:cl:
fix: multitile airlock assemblies from a broken multitile airlock are
the same direction
/:cl:
…nt CI fails (#88413)

## About The Pull Request

Fixes #71092 

## Why It's Good For The Game

Flaky tests bad, fixman good...

## Changelog

:cl:
fix: Pubby's whiteship no longer breaks when it tries to dock
/:cl:
…8387)

## About The Pull Request
fixes #88383

## Why It's Good For The Game

fixes #88383

## Changelog
:cl:
fix: The Men in Grey may no longer access birdshots engineering via a
certain maintenance airlock
/:cl:
## 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
:cl:
image: Wintercoat hoods now show a bit of your hair!
/:cl:
## About The Pull Request
Closes tgstation/tgstation#88327
- if a carbon has their hands blocked or missing, they will instead try
to point with their legs with probability to fail
- if they have the freerunning trait they get a lower probability to
fail
- if they have 1 leg they get higher probability to fail
- if they have no shoes on they will point with their toes
- if they have no legs - they will `gives meaningful glance at %t!`
- if they have no eyes - they will motion with their tongue
- if they have no tongue - they will bump their head on the floor
towards the target, getting brain damage
<details>


https://github.com/user-attachments/assets/9363e184-64dc-4890-9673-5d9fe9cc1b7e



https://github.com/user-attachments/assets/192b2503-887f-43ee-afa9-80b49060e9c2



https://github.com/user-attachments/assets/ed54dc4a-0308-4088-ada4-fc343cbe6844



https://github.com/user-attachments/assets/b88f2bc8-4762-4cd7-b60b-0ac039e52853



https://github.com/user-attachments/assets/a248d0af-09ec-498a-9c46-50ab2611b62b



https://github.com/user-attachments/assets/d65e9674-ffc7-4263-89b4-0d743b0a7f2d

</details>

## Why It's Good For The Game


![spongebob-tongue](https://github.com/user-attachments/assets/265beac2-1547-48da-ad46-9d454e897482)

also for the balance change, I think it's silly that you can't point
while cuffed, I don't think it'll impact powergaming much at all
## Changelog
:cl: grungussuss
add: pointing now has interactions with the amount of limbs/organs you
have
balance: you can now point while restrained
sound: pointing with your head makes a sound
/:cl:
…e on KS13 (#88421)

## About The Pull Request

I'm malding

## Changelog
:cl:
/:cl:
SmArtKar and others added 21 commits December 12, 2024 00:04
…lacing them on/into tables/racks/closets/crates (#88459)

## About The Pull Request

Closes #88446	
I swear to god I should stop listening to webedit suggestions

## Changelog
:cl:
fix: Toolboxes can now be placed onto tables/into crates
fix: Fixed toolboxes automatically using the first item in them
/:cl:
## About The Pull Request

I was looking at a bay code base's language and saw this
```dm
	// Add it to cache, cutting old entries if the list is too long
	scramble_cache[input] = scrambled_text
	if(scramble_cache.len > SCRAMBLE_CACHE_LEN)
		scramble_cache.Cut(1, scramble_cache.len-SCRAMBLE_CACHE_LEN-1)
```
Then I noticed "Wait isn't this broken? 51 - 50 - 1 = 0, so it's doing
`Cut(1, 0)` which cuts the whole list, what's the point of all this
arithmetic?"

Then I saw we have the same code so this is probably very old

At this point I'm not sure if it's a bug or not, but I've reasoned it as
one:

- If it was NOT a bug, and we just wanted to clear the entire list, why
do we over-complicate it (why is it not just `.Cut()`)?
`scramble_cache.len` *will never be larger than* `SCRAMBLE_CACHE_LEN +
1` because this proc only ever adds entries one at a time, meaning the
result will always be `0`

- And if it's not a bug, why do we bother putting most recent items at
the bottom of the list? We do all this effort for no reason, it's just
wiped at the end of the day.
```dm
/datum/language/proc/check_cache(input)
	var/lookup = scramble_cache[input]
	if(lookup)
		scramble_cache -= input
		scramble_cache[input] = lookup
	. = lookup
```

Thus I am running with the assumption that this code was meant to be
`scramble_cache.len - SCRAMBLE_CACHE_LEN + 1` - that's a `+1` at the end
not a `-1`

But that would still just be an overly complicated way to say `51 - 50 +
1`, or, just `2`

So I'm just changing it to cut the first element out

## Changelog

:cl: Melbert
fix: Words in other languages will be randomized far less often
(depending on how commonly they are used). This bug was 10 years old.
/:cl:
## About The Pull Request

Turns out some fauna can walk their way over to the necropolis gates an
shove them aside. This should prevent that, or any other force of
nature, from moving these ancient gates anywhere.

## Why It's Good For The Game

It's silly that this is even possible

## Changelog

:cl:
fix: Fauna can no longer push necropolis gates
/:cl:
## About The Pull Request

![image](https://github.com/user-attachments/assets/ef4d781e-7cbd-4415-a859-9a3bc2d4b403)

Normal scarf item sprites are now less horizontally stripy and have a
new palette (and some texture)
Large scarves also received an update in palette, texture and their worn
sprites are now more consistent with their item sprite (with thicker
stripes, instead of being just longer hanging normal scarves when worn)

## Why Is This Good For The Game

Current scarves have perfectly horizontal 1 pixel wide stripes which
look ugly. Plus large scarves are almost 1 to 1 normal scarves when worn
which's not very cool.

## Changelog
:cl:
image: Scarves have received a minor update to their sprites
/:cl:
… to indicate they are clickable (windows style) (#88470)

## About The Pull Request

Basically just goes through and adds `mouse_over_pointer =
MOUSE_HAND_POINTER` to a bunch of screen elements (player hud and lobby
menu)

Also adds it to very small wall mounted objects like buttons, fire
alarms, and light switches


https://github.com/user-attachments/assets/c501cd3d-8efd-4fd0-a486-a53f2102a2cb


https://github.com/user-attachments/assets/89f7cdcb-b40c-4ef3-b578-fee66ddf1ce2

## Why It's Good For The Game

- Makes interacting with screen elements a bit more tactile
- Makes it a bit easier to click on tiny buttons and such (being able to
know when you're actually hovering the thing)
- Maybe can be expanded to more world objects to indicate they are
clickable vs non-interactable?

## Changelog

:cl: Melbert
qol: Hovering over clickable screen elements will now update your mouse
cursor to indicate they're clickable
qol: Hovering over small wall mounts (light switches, buttons, fire
alarms) will now update to mouse cursor indicating you're hovering them
/:cl:
…vity (#88450)

## About The Pull Request
Moth wings prevent you from flying in gravity -> same check is used for
activation -> they're activated upon implanting -> unless you spawn or
get wings in zero-g you're screwed
Closes #88460
Closes #88457

## Changelog
:cl:
fix: Fixed moths only being able to fly if they spawn in zero gravity
/:cl:
## About The Pull Request

"If GAGS is such a good system, why isn't there GAGS 2?" - Sun Tzu

GAGS is very neat but it has one glaring issue: it needs sprites to be
greyscaled in advance to be used. On the other hand we have color
matrices, but they're hard to use and even harder to get good results
from. The logical solution grew out of a discord argument about colors
this morning after @LemonInTheDark decided to toy around with HSL
matrices using filters on live servers.

This PR implements Color Transition Filters as an additional option for
atom colors - passing a transition filter matrix into
``add_atom_colour`` will "recolor" the atom into the passed color by
using an HSL filter (since color only supports RGB values and matrices).
Normal color matrices are now also supported in atom colors, in case
anyone needs to use them there. ``color_transition_filter`` has 2 modes:
``SATURATION_MULTIPLY`` which only changes the hue and shifts saturation
of the original icon, and ``SATURATION_OVERRIDE`` which changes
saturation and light values to more correctly fit the passed color.
Multiply mode does a far better job at recoloring clothing or objects
with obvious highlights, but fails to color pale or white objects, while
Override mode is closer to what we have right now (just doesn't produce
rancid blobs of color nearly as much)

Here are some examples of colored clothes, mechs, items and tiles using
the new system.

Green RD? Sure.

![image](https://github.com/user-attachments/assets/6d79cac3-15a5-4850-abae-19219e1d4bdb)

Atmos MODsuit colored with a speed potion

![4cTKpeu](https://github.com/user-attachments/assets/9106e74c-8d60-489a-9ef7-4d154ddbbdf9)

Why override mode exists in the first place

![dreamseeker_fAKn811LXT](https://github.com/user-attachments/assets/3d3bea8c-5e27-4390-a924-0c243265fa6a)

Aftermath of a colorful reagent grenade.

![image](https://github.com/user-attachments/assets/ba4c78c5-cba5-42da-ac4d-7861bb329b68)

As you can see, the colors are far brighter and significantly less
acidic, since they're no longer just used as multipliers for existing
colors but instead shift the palette of the sprite towards themselves.

In order to bypass the main downside of "default" Multiply mode,
spraycans have received a new right click function "coat with paint",
which will color the item using the Override mode. Left Click mode lost
its coloring restrictions (RMB still has them), and color
sampling/prosthetic recoloring has been moved to Ctrl Click instead.
Here's the full list of all systems/items that now use color transition
filters:
 * Drying items
 * Deep frying items
 * Slime blueprints/potions/coloring crossbreeds
 * Colorful reagent
 * Spraycans
 * Paint buckets

## Why It's Good For The Game

Our coloring system is ***really*** bad, to the point where we're
preventing players from using any dark colors because item icons become
unintelligible when colored into them.

## Changelog
:cl: SmArtKar, LemonInTheDark
add: Changed how spraycans color items - "old" mode is still availible
via right click.
refactor: Refactored how some items and effects color things so that
they look prettier.
/:cl:
# Conflicts:
#	code/__DEFINES/rust_g.dm
#	code/modules/mob/living/carbon/emote.dm
#	code/modules/mob/living/living_defense.dm
#	html/changelogs/archive/2024-12.yml
#	tgstation.dme
@psychonaut-ci psychonaut-ci bot requested a review from Seefaaa as a code owner December 13, 2024 14:16
@psychonaut-ci psychonaut-ci bot added the mirror Upstream mirror label Dec 13, 2024
@Seefaaa Seefaaa added this pull request to the merge queue Dec 13, 2024
Merged via the queue into master with commit 8da0ba4 Dec 13, 2024
20 of 22 checks passed
@Seefaaa Seefaaa deleted the mirror-3f61d126bb7 branch December 13, 2024 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mirror Upstream mirror
Projects
None yet
Development

Successfully merging this pull request may close these issues.