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

Merge upstream 16.11.24 #731

Merged
merged 45 commits into from
Nov 15, 2024
Merged

Merge upstream 16.11.24 #731

merged 45 commits into from
Nov 15, 2024

Conversation

larentoun
Copy link
Collaborator

@larentoun larentoun commented Nov 15, 2024

About The Pull Request

Мерге апстрим

Absolucy and others added 30 commits November 14, 2024 19:10
## About The Pull Request

Upstream port of
Monkestation/Monkestation2.0#4215

This changes some tgui UIs that used icon2base64/getFlatIcon to display
items to instead use DmIcon, just passing the icon/icon_state instead.

To be specific: the ORM, the "ore container", and the order console
(produce, mining, and bitrunning vendors)

<details>
<summary><h3>UI screenshots / proof of testing</h3></summary>

![2024-11-12 (1731458275) ~
dreamseeker](https://github.com/user-attachments/assets/b1c60677-b117-4c23-8076-8b5072130d55)
![2024-11-12 (1731458281) ~
dreamseeker](https://github.com/user-attachments/assets/b64d3c2f-4754-4e5d-991a-2df69d86eb2a)
![2024-11-12 (1731458286) ~
dreamseeker](https://github.com/user-attachments/assets/287d8db1-8acb-4c4c-a2f0-66227a477d19)
![2024-11-12 (1731458388) ~
dreamseeker](https://github.com/user-attachments/assets/f69f5d51-5cdc-442c-971d-a4abedd4a3d2)
![2024-11-12 (1731458391) ~
dreamseeker](https://github.com/user-attachments/assets/53a95e88-ac41-4f97-a409-10b19d130376)


</details>

## Why It's Good For The Game

gfi bad, especially in ui(_static)_data, dmicon good.

## Changelog
:cl:
refactor: The ORM, "ore container", and order console UIs (produce,
mining, bitrunner vendors) now load icons in a more efficient manner.
/:cl:
…ide of soft crit and properly removes its effects when detached (tgstation#87901)

## About The Pull Request

Wear off message is only printed if the user actually had the effect
active before, and speed modifier is removed alongside the element.

## Changelog
:cl:
fix: Fixed tenacity effect printing its messages when it shouldn't be,
and not removing its' effects when it should've.
/:cl:
## About The Pull Request
Mechs were playing spin sound effects (_on top_ of normal step sounds)
every time they'd take a step while strafing. Additionally, they would
not play the spin sound effect when actually turning. This fixes both.
## Why It's Good For The Game
Bugfix. Also, cleaner sounding mechs.
## Changelog
:cl:
Fix: Fixed the triggering of mech turn sound effects
/:cl:
## About The Pull Request
closes tgstation#87611
## Why It's Good For The Game
it makes sense
## Changelog
:cl: grungussuss
sound: sandstone blocks have the correct sound now
/:cl:
## About The Pull Request
This lowers the cost of the singularity beacon to 4 crystals. Right now
this item never gets used due to the high cost and niche requirements.
According to the statistics it is not even on the list:


https://superset.moth.fans/superset/dashboard/4/?native_filters_key=Gd84-_rrITStPTkyo7BlqnE5aYcHmofhLU2GjWEiWdqY-ZaK2WVxrq1eG6qS0bNa

Before we had the SM, the singularity engine was often sabotaged with
this beacon since all you needed to do was disable an emitter or cut a
wire and the singularity would break loose. It was a relatively easy
process.

The criteria to achieve a singularity now is very difficult. You either
have to overload the SM and fight off anyone who tries to fix it OR
purchase one from cargo and make a pipe setup to feed it a ton of gas.
All the crew has to do to prevent it, is leak the gas by opening an
airlock, breach the floor, or a window. If there is an AI or cyborgs,
your job is now ten times harder.

Then you have another problem. The beacon requires powered wires and if
the SMESs gets destroyed by the singularity it's useless. This is
guaranteed to happen if using the SM from engineering since it's so
close to the SMESs. So now you have to either rely on solars or a
generator to power the device.

The hassle of spending 10 crystals on this item is not worth it. Too
many things can go wrong and it would be a waste of points.

## Why It's Good For The Game
This item never gets picked due to it's high cost and difficulty. By
lowering the cost, it would make it a more reasonable choice.

## Changelog
:cl:
balance: Lower the telecrystal price of the singularity beacon from 10
to 4 and reduce the timer to 20 minutes before it can be purchased.
/:cl:
…dust spawn aligned lower on the tile (tgstation#87858)

## About The Pull Request

- Speeds up the torso part of the dust animation by a few frames, as was
requested but I didn't do before merge
- Makes remains/dust spawn from being dusted towards the bottom of the
tile

Videos (take before the remains/dust change)


https://github.com/user-attachments/assets/7e9fe699-a44b-49d5-a4d0-2304e09283d5


https://github.com/user-attachments/assets/7b426340-5d3d-49fa-91f1-52b2fc3a560c


## Why It's Good For The Game

Should help sell the effect a bit more

## Changelog

:cl: Melbert
image: Speeds up some frames of the dust animation slightly
image: Dust/remains spawned after being dusted are now aligned towards
the bottom of the tile
image: Bigger mobs now produce bigger piles of ash
image: Plasmamen now dust into plasma bones
/:cl:
## About The Pull Request
You couldn't put cigarettes in gas masks due to a check for if the masks
mouth is covered
## Why It's Good For The Game
You can now filter the air through your cigarettes as was intended.
## Changelog
:cl:
fix: removes the gas mask check for if the gas mask mouth is covered.
Now it only checks for filters and other cigs
/:cl:
…y, causing a harddel (tgstation#87903)

## About The Pull Request

See name, if a dummy somehow gets hold of a PDA with the camera app
installed (This just so happens to be a default PDA program in the case
on Nova, Skyrat, and Bubber), and the delete_equipment proc is called,
the camera inside the PDA gets sent to the wardrobe because of
`/datum/outfit/job/assistant/gimmick/hall_monitor` having one, and then
qdelled with the PDA, leaving a hanging ref

This causes a harddel during tests that has caused me great pains to
locate. Turns out a single example holodisk with the clown holds a
magical key to trigger all this: a single PDA

## Why It's Good For The Game

Fixes a harddel. There might be other similar ones hiding in the dark
like cameras in other objects.

## Changelog

:cl:
fix: Fixes SSWardrobe stealing a camera from the camera app when on a
dummy, causing a harddel
/:cl:
… 516 (tgstation#87889)

## About The Pull Request

This makes `/datum/player_details` properly track BYOND version and
build separately, as opposed to just the full version string.

Whenever a client logs in, and their BYOND version is 516, while their
previous version was 515, or vice versa, it'll set a newly added client
var, `rebuild_plane_masters`, to TRUE.

During the `COMSIG_MOB_LOGIN` signal handler of a mob's HUD
(`/datum/hud/proc/client_refresh`), it will check to see if
`rebuild_plane_masters` is TRUE - if so, it will set the appropriate
`relay_loc` of (based on client BYOND version) of its plane master
groups, and rebuild their plane masters.

## Why It's Good For The Game

Makes testing stuff across 515 and 516 easier, as your screen won't
break when switching between the two.

## Changelog

516 is _still_ in private alpha, so no user-facing changes.
## About The Pull Request

1st SM filter is now set to N2 by default
A random hallway apc that started unwired is now wired
Chef gets a dehydrator
Surgery theatre now has a surgery tray instead and surplus prosthetic
limbs to fill in the empty space
Greater central maintenance owns all of its walls
The chemical closet in pharmacy now has multiver, formaldehyde,
epinephrine, basic buffer and the other kind of buffer to compensate for
not having a chemstorage room
atmos distro air mixer now mixes correctly

## Why It's Good For The Game

closes tgstation#87729
also maintenance is supposed to own all of its walls

## Changelog
:cl:
fix: Added dehydrator to birdshot kitchen. Surgery theatre now has a
surgery tray and surplus prosthetics. An unwired hallway APC is now
wired. 1st SM filter is now set to Nitrogen. Chemistry closet in
pharmacy now contains extra chemicals to compensate for not having a
chemical storage. Atmos air for distro mixer now mixes correctly
/:cl:
…7786)

## About The Pull Request

floor lights have the same light range during nightshifts

## Why It's Good For The Game

theyre horrendously bad at lighting up stuff in nightshift and birdshots
bar looks horrendous as a result

## Changelog
:cl:
fix: floor lights have the same light range during nightshift, so you
can actually see the bar during a night shift on birdshot
/:cl:
## About The Pull Request
Wingless creatures don't cause runtimes when they flap their imaginery
wings

## Why It's Good For The Game
Runtimes bad

## Changelog
:cl:
fix: Fixes a runtime when wingless creature flaps their wings
/:cl:
## About The Pull Request
- Fixes tgstation#87788

Usually when you force move an item anywhere `obj/item/doMove()` is
responsible for removing the item from the players hand & updating the
visuals. When you move that item from say your pocket to your hand we
call `attempt_pickup()` which also updates visuals.

The one case where these 2 procs don't help is when that item is
equipped from anywhere else but the hand(pockets for e.g) into a storage
medium that is held in hand. For this edge case we have to drop the item
to ground to update the visuals of whatever inventory slot it was
attached to

Now evidence bag uses the storage pre attack mode rather than
implementing its own item interaction thus fixing the visual glitch not
just for it but for all items that have `allow_quick_gather = TRUE`

## Changelog
:cl:
fix: Fixed visual glitches when inserting items from an slot other than
the hands into evidence bags & other storages that have quick gather
mode enabled
/:cl:
Having a non-organic heart ignored the heart damage, so you could just
be immortal forever

:cl:
fix: Nooartrium heart damage can no longer be bypassed with non-organic
hearts
/:cl:

Balance maybe? I don't feel this was ever intended and an oversight in
not setting the correct flag

---------

Co-authored-by: MrMelbert <[email protected]>
## About The Pull Request

title

## Why It's Good For The Game


OOC: Blard of Jard: I was trying to cut a cargo tech's leg off for a spy
bounty, but instead of just cutting his leg with it targetted on harm
intent, it immediately cut his ties and he mag dumped me with his laz
gun.

## Changelog

:cl:
fix: you now snip cuffs with right click to prevent accidental cuts
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
## About The Pull Request

Closes tgstation#75447 by allowing projectiles to pass through portals. This does
not allow for infinite loops for sanity (including host's) reasons.

Can safely be merged before tgstation#87740

## Changelog
:cl:
fix: Many years later, projectiles finally can pass through portals -
this time without crashing the server.
/:cl:
## About The Pull Request

Fixed cheesing by monkeyification by changing the gorillas factions to
hostile. Tweaked the loot to be consistent and nerfed slightly (Makarovs
instead of APS)

Also changed one of the observation cells to a cytology room with a
clown glutton


![image](https://github.com/user-attachments/assets/2b3f5ea0-75ea-42f1-98f7-50b7ebd60b04)


![image](https://github.com/user-attachments/assets/9d700be2-7108-4d7a-90f9-7a8f19737879)



## Why It's Good For The Game

It fixes stuff and prevents cheese.

## Changelog
:cl:

fix: Syndicate Biodome fixes

/:cl:
tgstation-ci bot and others added 15 commits November 14, 2024 18:55
## About The Pull Request

Significantly buffed the anomalock modules.

Anomalock modules can be used with eachother.

Antigravity module costs 2 complexity.

Teleporter module is thrice as fast at teleporting with a slightly
reduced cooldown, but has a much larger power cost.

Changed how teleporter tracks maximum range to be less painful to the
end user.

Kinesis module's default range has been extended to 8.

Kinesis module can drag around people in critical condition or worse.
## Why It's Good For The Game

These modules have historically been, well, kind of a complete joke.
They seem to have been crippled out of fear of them being overpowering
with the end result of being unusable.

Anomaly items are allowed and meant to be fun, strong, and wild, so I
really don't see why these need to be so weak. The amount of times I'd
rather make a teleporter that takes 3 seconds to get you anywhere
instead of an instant portal gun or a bag of holding is roughly zero.

People hate modsuits, and in part that hate is because of modules which
do very, very little due to severe undertuning. Let's fix that with the
anomaly ones here.

> Anomalock modules can be used with eachother.

Let people get a buncha anomaly modulse together if they want to. An
antigravity user with teleporting and kinesis could be something to
fear, but not so much as to strike it from existence altogether without
even letting people mess around with it first.

> Antigravity module costs 2 complexity.

Antigravity module is glorified wittel -> gravitum, but it takes a core
and 3 complexity. At least let it be somewhat cheap.

> Teleporter module is thrice as fast at teleporting with a slightly
reduced cooldown, but has a much larger power cost.

Teleporter module is a big damn joke ATM, as stated above being
effectively overshadowed in every way by the portal gun. This now gives
it a fun niche instead, of being able to teleport around everywhere at
the cost of a massive power draw.

> Changed how teleporter tracks maximum range to be less painful to the
end user.

view() was working weirdly when I was using it. It was failing to
register tiles somewhat near the end of the screen, so I just ditched it
for a get_dist check that I threw 9 in as a somewhat arbitrary value
for.

> Kinesis module's default range has been extended to 8.

There's this bug on live where when you kinesis someone it flies all the
way to the SW corner of the screen for seemingly no reason. I don't know
why it happens but it drives me mad.

Even without that bug, 5 tiles is extremely frustrating to handle - it's
super, super annoying to find a middleground between 'not slapping you
in the face', 'not losing your grip'. 8 tiles is a lot more forgiving
and makes the module actually fun to use.

> Kinesis module can drag around people in critical condition or worse.

This one might be a bit nuts, but I really want to see this ingame, it's
kind of the best part of the module yet is unobtainable. Maybe some
stuff would need to be tuned for it, like making human throws flimsy.
## Changelog
:cl:

balance: Significantly buffed the anomalock modules.
balance: Anomalock modules can be used with eachother.
balance: Antigravity module costs 2 complexity.
balance: Teleporter module is thrice as fast at teleporting with a
slightly reduced cooldown, but has a much larger power cost.
code: Changed how teleporter tracks maximum range to be less painful to
the end user.
refactor: Refactored LoS checks to be a proc on atom, los_check
balance: Kinesis module's default range has been extended to 8.
balance: Kinesis module can drag around people in critical condition or
worse.
/:cl:
## About The Pull Request

Vampires have stomachs and lungs.
They still don't have hunger.

Vampires are a human subtype.

Vamp bloodtype from "U"nknown to "V"ampire

## Why It's Good For The Game

For some stupid reason vampires lacked stomachs. Vampires drinking wine
is a classic trope that currently results in vomit magically appearing
below you.

Evidence of wine:


![ielbiv4shad81](https://github.com/user-attachments/assets/ef39c522-282d-4763-8802-a6fb180aafb2)

Vampires are a human subtype too like felinids because this resulted in
dumb bugs like no screaming sound.

Vamp bloodtype from "U"nknown to "V"ampire

I mean if we haev these guys on halloween. We probably know their blood
right.

## Changelog

:cl:
fix: vampires are a human subtype & have stomachs/lungs
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
## About The Pull Request
closes tgstation#87640
## Why It's Good For The Game
feedback is cool
## Changelog
:cl: grungussuss
qol: added feedback for cutting mulebot wires
/:cl:
## About The Pull Request

This adds plenty of useful stuff regarding byond-tracy, altho mostly
focused on the [Paradise
fork](https://github.com/ParadiseSS13/byond-tracy).

- Adds two new config options **(THEY ARE DISABLED BY DEFAULT)**
- `ALLOW_TRACY_START` gives admins with +DEBUG the "Run Tracy Now" verb,
which will allow them to start profiling with byond-tracy mid-round.
- `ALLOW_TRACY_QUEUE` gives admins with +DEBUG the "Toggle Tracy Next
Round" verb, which will initialize byond-tracy during world init the
next round (in the same way as passing `-params tracy` or defining
`USE_BYOND_TRACY`)
- If byond-tracy fails to initialize, the error will be logged and
available to view for the whole round.
- If `MC_TAB_TRACY_INFO` is defined, information about byond-tracy now
appears in the MC tab - if it's running or not, if it errored (and what
the error is), why it's running, if its queued for next round, etc.
- byond-tracy is now properly shut down when the world shuts
down/reboots, minimizing the risk of data loss or crashing
- More info regarding byond-tracy init is sent to `world.log`

## Why It's Good For The Game

Profiling is super helpful, and this should make things quite easier

## Changelog

No user-facing changes
…nce (tgstation#87907)

## About The Pull Request
Changes firelock code to register signals on the atom holding the
crowbar, not necessarily the mob that initiated the action. Since mobs
inside mechs don't technically move, signals listening for the mob's
movement wouldn't fire until the mob exits the mech. Registering the
signal on the crowbar owner (mech in this case) solves the issue.

This makes no change to mobs holding crowbars, as the mob is considered
the crowbar owner in that case, and is thus handled identically as
before.
## Why It's Good For The Game

Prevents this:


https://github.com/user-attachments/assets/77150360-c1c2-46a0-8943-3b80fbd5a9e8
## Changelog
:cl:
fix: Firelocks opened by a mech will correctly close when the mech moves
out of range.
/:cl:
## About The Pull Request
Adds a new janitor tooltip
## Why It's Good For The Game
This feature isn’t very well known
…tation#87701)

## About The Pull Request

Changes the color of hallucination cores from red (?) to hot pink.

Adds the Perceptomatrix Helm, a hallucination anomaly core item.


![image](https://github.com/user-attachments/assets/d1b37313-f141-4638-b950-7d58556dbf8d)

This helmet shields the user's brain from all external stimuli while
creating a 1:1 replica of it, beamed straight into their mind. What this
means in practice is that the user's perception is hypercharged and
their brain shielded from psychic phenomena.

The sprite is a resprited marine helmet. It's mid and I don't like it
but I'm not a spriter.

List of effects:
Perception:
- Flash/Weld Immunity
- True Night Vision
- Blindness and blurriness immunity
- Expanded FOV

Brain Shielding:
- Perceptual Trauma Immunity
- Hallucination Immunity

Psyshield:
- Conversion and Mindswap Immunity
- Magical Mind Resistance (Much more limited than normal resistance)
- Technically counts as casting clothes

Additionally, you can an ability to invoke hallucinations on others on a
25-second cooldown.

![image](https://github.com/user-attachments/assets/7dd4eaba-90ba-4e67-a302-2aae844009a7)
## Why It's Good For The Game

I'm kinda tired of half the anomaly cores in the game having jack and
shit going for them. I also think there's a moderate lack of psychic
content in the game, so here we go.

### Yeah this is cool but like isn't it kinda fucking nuts? Holy shit
dude

Let's dissect this.

> Perception:
> - Flash/Weld Immunity
> - True Night Vision
> - Blindness and blurriness immunity
> - Expanded FOV

This part effectively amounts to nothing but night vision sunglasses.

> Brain Shielding:
> - Perceptual Trauma Immunity
> - Hallucination Immunity

This isn't all that impactful, either. Hallucination immunity is
immensely irrelevant. Perceptual trauma immunity, which means you ignore
effects like blindness or imaginary friends, is very, very niche.

> Psyshield:
> - Conversion and Mindswap Immunity
> - Magical Mind Resistance (Much more limited than normal resistance)
> - Technically counts as casting clothes

Basically just having a mindshield, and that only if you don't get it
taken off anyways. Mindswap immunity could be nice, that's really not
something you can even get otherwise.
Magical mind resistance isn't very good. It blocks mind reading,
nullblade sneak attacks, eye of god, many forms of telepathy, psyker
magic, the curse of madness, the curse of babel, and that's about it.
It's nice, but it won't stop a fireball.

A lot of this can in the end be duplicated with sunglasses &
oculine/mesons and welding protection, and a tinfoil hat, which is
partly why I added the ability. It staggers for a small duration and
causes hallucinations, and it's pretty fun to use, despite its effects
being rather understated.
@github-actions github-actions bot added TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. 💾 Изменение конфига Ф-ф-фуриор...? 🙏 Слияние с восходящим потоком О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов labels Nov 15, 2024
@larentoun larentoun merged commit f0d5c08 into master Nov 15, 2024
24 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💾 Изменение конфига Ф-ф-фуриор...? 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🙏 Слияние с восходящим потоком О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один.
Projects
None yet
Development

Successfully merging this pull request may close these issues.