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 [13.07.2024] #358

Merged
merged 75 commits into from
Jul 13, 2024
Merged

Merge upstream [13.07.2024] #358

merged 75 commits into from
Jul 13, 2024

Conversation

Gaxeer
Copy link
Collaborator

@Gaxeer Gaxeer commented Jul 13, 2024

About The Pull Request

Merge upstream [13.07.2024]

00-Steven and others added 30 commits July 11, 2024 01:05
…ing render plane (tgstation#84184)

## About The Pull Request

**Alternate title: "Fix blind people getting so blind they become deaf
when going down a flight of stairs"**

So 'bout half a week to a week ago I overheard a friend complaining
about blind people not seeing runechat on lower multi-z levels. Asked a
bit, apparently they'd reported this about half a year ago, and it's
still an issue.
So in my never-ending hubris I decided to just go and fix it!
Now, admittedly? I really _really_ do not get the rendering system we
use.
The simple options were right out: we can't allow the fullscreens plane
to be offset, as this causes issues with looking up/down, or disallow
runechat from being offset, which causes issues with runechat from other
levels.

After poking our very cool and smart rendering guy several times over
the course of the last week, this is what we got to:

### The technical bits

We simply make the rendering relays for non-offsetting plane masters
point to the highest rendering plane that matches the target.
We do this by offsetting the rendering relays in place, by adjusting
their plane and layer values to match the new offset, with a new
`offset_relays_in_place(new_offset)` proc called in
`/datum/plane_master_group/proc/transform_lower_turfs(...)`.
Importantly, we compare the current layer values to what they should've
been, so we don't accidentally override relays with custom-set layers.

This fixes our issue (as tested on wawastation):
<details>
  <summary>Images</summary>
  

![image](https://github.com/tgstation/tgstation/assets/42909981/c6a10e04-dd08-4642-bc4d-d99ae5004a40)

![image](https://github.com/tgstation/tgstation/assets/42909981/740dc894-7495-4c35-b729-ffcc539ca928)

![image](https://github.com/tgstation/tgstation/assets/42909981/986433a7-e66e-408a-8e77-1f1eb89cb67c)
  
</details>

## Why It's Good For The Game

Fixes tgstation#80376.
## Changelog
:cl:
fix: You can see runechat above fullscreen overlays on lower multi-z
levels again. Rejoice, blind players. Please report any weird rendering
layering issues.
/:cl:
## About The Pull Request

After all the attack chain refactors, the modsuit paint kit was bugged.
If you tried to use it on a modsuit that had storage installed, then the
paint kit would simply be inserted into the modsuit instead of allowing
you to change the skin/color.

Fixes tgstation#84620 
Fixes tgstation#84490 
## Changelog
:cl:
fix: The modsuit paint kit is no longer broken.
/:cl:
## About The Pull Request
- Continuation of tgstation#75649

Even after that PR some icons that are not 32x32 still appear broken
under the requirement sections
![Screenshot
(430)](https://github.com/tgstation/tgstation/assets/110812394/75bb357f-18c4-4556-b267-2df192ddd8d7)

Now all icons are cached away into its own list and we look it up. To
reduce this list size we only store icons that are not the standard
32x32(from debugging there are only 20 items as of now). Icons that are
of standard size can be inferred from the cooking mode & the atom id.
Basically we now get correct icons for everything

![Screenshot
(431)](https://github.com/tgstation/tgstation/assets/110812394/6e1b55ef-3d12-4d1b-8579-33c5a2c120fa)

Sometime soon i do plan to follow up on
tgstation#75649 (comment)
& remove all `preview_icons` but not today

## Changelog
:cl:
fix: all icons in the crafting menu (some that you missed) are now fixed
permanently
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
## About The Pull Request
Makes a couple of QoL additions to science sub-departments in
Wawastation, The main part of the additions is adding a
tramstation-esque oxygen chamber for more oxygen (especially important
for the station's unique 3x3 burn chamber) into Ordnance.

But also adding critical need-to-have equipment for Ordnance and
Xenobiology:
1. firefighting closet in ordnance itself
2. boxes of syringes and beakers 


![image](https://github.com/tgstation/tgstation/assets/127663818/86403640-a171-466c-ac1f-f21a920c26c6)
## Why It's Good For The Game
Wawastation's ordnance is _this_ close to being a perfect ordnance room
for an ordnance main, especially the 3x3 burn chamber. But the critical
lack of a large oxygen supply makes the burn chamber more of an
hinderance more than anything, this PR adds a large pool of oxygen
chamber that ordnance can draw from to make use of their burn chamber
most effectively. (while yes, there is a canister o2 tank hidden in
maint, with the port located in the often forgotten auxillary storage
with a non-descript green pump. due to the location and positioning of
the tank and connector being horrible (I had to open up the map editor
to notice it) it's pretty horrible to use, needing heavy overhaul or a
bunch of tedious work to get the oxygen from the tanks to the burn mix)

There's also a lack of some critical equipment you need to use to do
much of anything:
1. Firefighting closet in ordnance (mostly just the suit to modify the
burn chamber scrubbers)
2. Beakers and syringes (this is the more pressing issue, considering
how secluded xenobiology is to the rest of the station. procuring them
is a massive hassle)
## Changelog
:cl:
qol: adds an oxygen chamber for wawastation ordnance
qol: adds some missing critical items needed to do ordnance and
xenobiology
/:cl:
## About The Pull Request

This feature of the experimentor is ~6 years old, back when BoHs didn't
need anomaly cores, but now that BoHs need anomaly cores this just
bypasses the anomaly core limit. And now it will not.

Closes tgstation#84849 

## Why It's Good For The Game

Limits to the amount of anomaly core items that can exist aren't
supposed to be able to be bypassed this easily.

## Changelog

:cl:
balance: Experimentor will no longer duplicate Bags of Holding
/:cl:
## About The Pull Request
fixes a few runtimes
## Why It's Good For The Game
makes outpost 45 cause less lag and adds a new tile, asteroid gravel
which is mechanically identical, but adds nothing actually new to the
outpost
## Changelog
adds a new tile, asteroid gravel which is mechanically identical to the
old var eddited asteroid sand.
:cl:
fix: makes outpost45 cause less lag
/:cl:
…on#84863)

## About The Pull Request
Adds a mechbay power console to the warehouse so that the cargo ripley
is actually able to charge with the roundstart setup. I had to rearrange
the setup a bit to fit things nicely.

## Why It's Good For The Game
the cargo ripley is possibly one of the coolest things and it should
have a somewhat functional charging setup by default instead of half of
one. The old version of Metastation cargo had the console so it was lost
in the cargo rework.

## Changelog
:cl:
fix: Added a Mechbay power console to the Metastation cargo warehouse so
that the cargo ripley is able to be charged.

/:cl:
## About The Pull Request
This stores the icon ref map for DmIcon globally so external libraries
(tgui-core) can use it.

- Bumps tgui-core to latest for support of this feature
- Moves bodyzoneselector out to common interfaces (really a group of
components)
## Why It's Good For The Game
Fixes tgstation#84756

Kind of silly to market a package which isn't able to provide our
coolest component
## Changelog
:cl:
fix: Fixed a bluescreen in the heretic research ui
/:cl:
## About The Pull Request

Roundstart mannitol pills are 15u (up from 14u)

## Why It's Good For The Game

This was changed like 4 years ago in tgstation#62334 to make roundstart pills not
overdose you anymore (mannitol OD is 15u)

But the fact that they went with 14u instead of 15u irritates me. I'm
being robbed of 1u of mannitol*. AND it's not a nice divisible-by-five
number. So I up it by 1u.

*(A 15u pill of a chem that overdoses at 15u won't overdose you, thanks
to the fact that transfer from stomach to bloodstream happens over time.
You never have 15u in you at once - at most, 9.8u.)

## Changelog

:cl: Melbert
qol: Roundstart Mannitol pills are 15u (up from 14u) 
/:cl:
…is removed (tgstation#84796)

## About The Pull Request

What the title says. If you go to the effort of kidnapping a secoff and
removing their mindshield, then you can now flash them to make them your
bloodbrother. This change was atomized out of tgstation#84766.
## Why It's Good For The Game

Making it work this way is consistent with revolutionaries, who can also
convert un-shielded security officers. Given that both antags convert
people in the same way, by flashing people, it stands to reason that
they should work in a consistent manner. This is unlikely to be
overpowered, as you can just flash any head of staff for almost the same
benefit but without all the effort.
## Changelog
:cl:
balance: If you remove a security officer's mindshield, then you can
flash them to make them your blood brother.
/:cl:
## About The Pull Request
Moves XL beaker from Chemical Synthesis to Medbay Equipment
Removes Plumbing node and moves most items to Chemical synthesis node
Moves piercing syringe from Plumbing node to Advanced Medbay Equipment


![346569359-1dfa219c-85eb-4842-a47c-a1556c3dea61](https://github.com/tgstation/tgstation/assets/109347230/e4dc5ddc-8b1c-4782-ad91-12177d8cd6c1)

## Why It's Good For The Game
Love the science rework, there's just a few things that need to be moved
around.

I've got two reasons for ya.
Bluespace beakers are often researched before metamaterial beakers due
to the different node paths and the value of bluespace research being
greater than plumbing research. It's a little weird that the higher
volume beaker is so often available sooner
XL-beakers are pretty simple and are already locked behind plastic, they
should probably be available to chemists at round start, just like they
were before the research rework.

## Changelog
:cl:
balance: Moves XL beaker from Chemical Synthesis to Medbay Equipment
balance: Removes Plumbing node and moves most items to Chemical
synthesis node
balance: Moves piercing syringe from Plumbing node to Advanced Medbay
Equipment
/:cl:
…u the brain-removal text) (tgstation#84841)

## About The Pull Request

So, this one needs some explanation. First, how does H.A.R.S. work code
wise? Well, it's pretty simple:


https://github.com/tgstation/tgstation/blob/7d7a6da73542f9958ab99a502b2d66459e5539f4/code/datums/mutations/body.dm#L611-L613

It removes the victim's brain from their head and then immediately puts
it back into their chest. It also sets that special flag to true. This
is what the docs have to say about that flag:


https://github.com/tgstation/tgstation/blob/7d7a6da73542f9958ab99a502b2d66459e5539f4/code/modules/surgery/organs/organ_movement.dm#L27

So basically, it suppresses the side effects of having the organ
removed. This is why H.A.R.S. doesn't kill you instantly despite
removing your brain. So why does still deactivate skillchips, since
that's also a side effect? Well, that's because brain code doesn't
actually take it into account properly:


https://github.com/tgstation/tgstation/blob/7d7a6da73542f9958ab99a502b2d66459e5539f4/code/modules/mob/living/brain/brain_item.dm#L112-L119

Instead of treating the special flag as "should we prevent side
effects?" It treats it as "should we make this silent?" So I just took
the obvious route and changed that part.

There was also another bug, where you'd be shown this text upon gaining
or losing H.A.R.S.:

> You feel slightly disoriented. That's normal when you're just a brain.

That obviously shouldn't be happening, so I made H.A.R.S. pass
`movement_flags = NO_ID_TRANSFER` as well.

Fixes tgstation#84010 
## Why It's Good For The Game

Bugfix. To know why I fixed the bug in this way specifically, see above.
## Changelog
:cl:
fix: H.A.R.S. will no longer disable your skillchips or show you text
reserved for total brain removal.
/:cl:
## About The Pull Request

Made the Nuke Ops war declaration give 600 points to the station tech
web.


![image](https://github.com/tgstation/tgstation/assets/3625094/718a4341-771a-4125-a0e7-ac58adabf0cf)

## Why It's Good For The Game

To let the station prepare more varied countermeasures.

## Changelog

:cl:
balance: War declaration gives 600 research points to the station
/:cl:
…erely, additional effects to make them more meaningfully interact with the world (tgstation#84628)

## About The Pull Request

Pyro and cryo beams now adjust temperature by a much larger margin. This
is to help them remain useful against....humans. Just straight up naked
humans.

Pyro beams can ignite objects and heat reagents within an object. Cryo
beams freeze reagents in an object.

Cryo beams directly inflict the freezing blast status effect so that you
absolutely will slow someone down on hit. No more fucking around with
temp to MAYBE get some kind of effect.

## Why It's Good For The Game

There was a point where cryokinesis was actually fairly good at slowing
people down. Unfortunately, the same person who last touched temperature
code also made it nearly unusable against regular human targets due to
the rapid pace at which humans normalize their temperature. It takes a
good while before temperature slowdown starts to take effect.

Pyro beams have additional on-hit effects, which cryobeam does not.
Cryobeams only have the temperature adjustment and as noted, it is quite
weak. Being on fire starts to damage equipment and present a more
tangible danger in some environments, such as plasma floods or having
just been hit with an accelerant such as alcohol.

By including a status effect onto the cryo beam that forces the target
to slow down, we avoid the issue of people ignoring the effect of the
cryobeam entirely as a meaningful attack compared to being shot by a
pryro beam, which will usually cause people to start panicking or moving
to remove the fire in some way.

I also think by adding some additional interactions to the beam to make
them meaningfully affect some world objects, like flammable objects,
helps to realizes the idea a bit better of them being blasters of
temperature rather than just being bullets. It means it goes a little
beyond just being a weapon and potentially now a tool. (It was thinking
of Bioshock's plasmid advertising when I made this, like lighting
cigarettes.)

## Changelog
:cl:
balance: Cryokinesis and pyrokinesis more severely adjust temperature.
balance: Cryokinesis forces a target to slow down on hit for a few
seconds.
balance: Pyrokinesis can ignite objects.
balance: Temperature projectiles change the temperature of the target's
contained reagents.
/:cl:
…84848)

## About The Pull Request
A small refactor to rule them all.
Converted strings to defines, need it to stay in sync with job titles.

## Why It's Good For The Game
Less space for typos, defines good.
comfyorange and others added 20 commits July 13, 2024 09:18
…on#84898)

## About The Pull Request
The smoking pipe currently gives you a phantom stache. Observe, note the
black background and know this character has no facial hair.

![image](https://github.com/tgstation/tgstation/assets/70115628/2939afa9-e4e4-4ee2-b38b-fc517e207d01)
I basically adjusted the pixels so it'd look better from different
directions.
This is the new look - approximately. 

![image](https://github.com/tgstation/tgstation/assets/70115628/55e23d8e-2367-468a-94c2-9c5741f34762)
## Why It's Good For The Game
Smoking pipe is cool for RP but the sprite's fucked.
## Changelog
:cl:
image: the smoking pipe's directional looks have been altered to make it
less ugly
/:cl:
…mouse position (tgstation#84879)

## About The Pull Request

Title. Ctrl + middle by default, can be ctrl + alt + LMB if changed in
prefs. Both are unused and default to ctrl/alt click behavior
respectively.

## Why It's Good For The Game
A quick way to change modules. You *can* bind your module wheel to a
hotkey but that still opens it on your sprite, making it harder to
quickly swap modules in combat/danger.
## Changelog
:cl:
qol: Using ctrl + your quick MOD button now opens module selector on
your mouse position
/:cl:
…ion#84883)

## About The Pull Request

Adds a subtype of hulk mutation created by mixing it with clumsy. Makes
the owner's skin olive green and forces a funny speech impediment on
them. Essentially revival of tgstation#69473 with some more lines

![изображение](https://github.com/tgstation/tgstation/assets/44720187/2f41dbee-5c54-4f80-bef5-fd8549afbbef)

## Why It's Good For The Game

WARBOYZ NEEDA MOAR DAKKA

funny flavor subtype for hulks which makes them sound even more brain
damaged

## Changelog
:cl:
add: A new ork mutation which can be acquired by mixing hulk and clumsy.
/:cl:
…or the dead whether voting is disabled. (tgstation#84352)

## About The Pull Request

Adds a convenient switch to change the ability to vote dead (previously
only in the config), and also turns off the button and adds a tooltip to
let players know why they can't vote (previously, you could just click,
since the button wasn't turned off, but the vote didn't count).



https://github.com/tgstation/tgstation/assets/78199449/404aac9c-0b41-4c16-8ffd-2a435cf25e2c

## Why It's Good For The Game

At the right moments, you can just stop considering the opinions of dead
players.
The dead players will be able to understand why they can't vote.

## Changelog

:cl: Vishenka0704
qol: With voting turned off for the dead, you can now understand why you
can't vote (being dead).
admin: Voting switch for the dead players
/:cl:
tgstation#81681 (human ai) (tgstation#84850)

tgstation#79995 removed the verb and secrets button for no reason. This means you
can no longer decide to do tri-ai in the lobby, you have to do it next
round or make players suffer thru another init cycle.

**__In general systems that require things be decided the previous round
are really fucking annoying and should be minimized to only specific
things that absolutely have to for technical reason.__**

This is not one of them.

I do not have the time to redesign the station trait to make use of the
existing admin code so this is a full revert instead.

If the station trait is re-added, it should be done so without removing
the secrets button or admin verb.

tgstation#81681 had an undocumented and un-atmoized change, in that it removed a
job related signal needlessly, that undocumented change has been
reverted because this system used that signal.

@Fikou 
@JohnFulpWillard 

(also cc @tralezab and @Ghommie as you merged the reverted prs)
## About The Pull Request
Closes tgstation#84751

## Changelog
:cl:
fix: Fixed tables and racks being climbable from half a mile away
/:cl:
## About The Pull Request

Fixed new charger power not working

## Why It's Good For The Game

I think bugs are bad for the game sometimes

## Changelog

:cl:
fix: Fixed new charger power not working fior strange objects
/:cl:
## About The Pull Request

Adds the Cytology lab to Icebox. Cytology was literally unplayable
before - without a roundstart vat you literally can't do Cytology due to
tgstation#84235 . Icebox lacked a vat,
a dedicated pen and a lot of stuff, so the icebox lab was added. In line
with the other cytology lab, this one has a few unique advantage over
other maps; namely, access to the icebox outside, a corgi (easy recipe
for new cytologists) and a dead rat (exceptionally useful).

Additionally, also adds a soy seed package in Delta's Cytology, to go
with their hydroponics tray. In this map rather than a knife for
butchering monkeys they instead get the hydroponics tray and soy, for an
alternative source of protein.


![image](https://github.com/tgstation/tgstation/assets/84548101/3ea9a0f3-b97b-4324-9b0d-da18daf925e9)

![image](https://github.com/tgstation/tgstation/assets/84548101/3b7230e8-9e80-472e-bcda-210ab38cf7fd)

![image](https://github.com/tgstation/tgstation/assets/84548101/37ecd1fc-ce0d-4b62-a544-f4df1294c4e1)

With Icebox getting its own lab with a survival knife and Delta getting
a source of protein via soy this PR makes
tgstation#84688 redundant. The lack of
knife in the Birdshot Cyto standing as a balance for it having several
cell lines available inside of the lab.

## Why It's Good For The Game

Cytology is playable on Box again. Delta gets an extra source of protein
for Cytology.

## Changelog


:cl:
add: Cytology Lab has been added to Icebox
add: Delta now has soy seeds on the Cytology Lab
fix: Cytology is playable again on Icebox
/:cl:
@github-actions github-actions bot added TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI :finnadie: НЕ МОДУЛЬНО Па-ху-ю. 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. labels Jul 13, 2024
Copy link

This pr causes following conflicts on translate branch:

  • code/modules/surgery/core_removal.dm
++<<<<<<< HEAD
 +			span_notice("You successfully extract [core_count] core\s from [target]."),
 +			span_notice("[user] successfully extracts [core_count] core\s from [target]!"),
 +			span_notice("[user] successfully extracts [core_count] core\s from [target]!"),
 +		)
 +		return TRUE
 +	to_chat(user, span_warning("There aren't any cores left in [target]!"))
 +	return ..()
++=======
+ 			span_notice("Вы успешно извлекли ядро из [target]. [target_slime.cores] ядер осталось."),
+ 			span_notice("[user] успешно извлек ядро из [target]!"),
+ 			span_notice("[user] успешно извлек ядро из [target]!"),
+ 		)
+ 
+ 		new target_slime.slime_type.core_type(target_slime.loc)
+ 
+ 		if(target_slime.cores <= 0)
+ 			target_slime.icon_state = "[target_slime.slime_type.colour] baby slime dead-nocore"
+ 			return ..()
+ 		else
+ 			return FALSE
+ 	else
+ 		to_chat(user, span_warning("В [target] больше не осталось ядер!"))
+ 		return ..()
++>>>>>>> origin/translate

@Gaxeer Gaxeer removed the :finnadie: НЕ МОДУЛЬНО Па-ху-ю. label Jul 13, 2024
@Gaxeer Gaxeer merged commit 571b6fe into master Jul 13, 2024
22 checks passed
@larentoun larentoun mentioned this pull request Jul 13, 2024
Gaxeer pushed a commit that referenced this pull request Jul 13, 2024
## About The Pull Request
Фикс с #358
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.