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 09.11.24 #667

Merged
merged 69 commits into from
Nov 9, 2024
Merged

Merge upstream 09.11.24 #667

merged 69 commits into from
Nov 9, 2024

Conversation

larentoun
Copy link
Collaborator

@larentoun larentoun commented Nov 8, 2024

About The Pull Request

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

jlsnow301 and others added 30 commits November 5, 2024 18:18
## About The Pull Request
- Node 22 LTS and Yarn 4.5.1
- Removes windows 7 compatibility support
- Set to install for you on the next build
- CI also bumped to Node LTS
## Why It's Good For The Game
Oil change for TGUI. Up to date and fresh!
## Changelog

N/A
## About The Pull Request
2 sound files got corrupted by optivorbis
## Why It's Good For The Game
uncorrupt is good
## Changelog
:cl: grungussuss
fix: duct tape will now properly make sounds
/:cl:
This PR follows the material fishing rod PR, which had a small issue in
which I had forgotten to add a return value to a proc and thus fish
caught from material fishing rods would never be made of that specific
material.

I've tweaked some values for materials and fishing rods, I felt some of
the "better" rods were a bit too fast, and some downright let you skip
the fishing minigame with zero to one level. Also, I felt that, despite
making fishing easier kinda, the area of the bait slider still felt a
tad too small, so I've introduced a height multiplier for the slider so
that it could cover more space, depending on the strength multiplier of
the material (for once, not a new niche variable). This doesn't apply to
fishing rods with strength multiplier less than 1 because they don't
need to be made worse.

About fish and cargo, I've added a soft cap (a 0.86 exponent) to fish
selling price. It shouldn't affect the wide majority of fish you catch,
however it does affect those that sell for over 6k per unit, which are
few and rare. However, I've been pinged about some ludicrous
money-making done by selling fish alone on a downstream server, likely
from growing the big fish to be up twice their initial size and weight
(capped to 2.5 the average value for the species), however, new features
may push things a little further, so it's better to be safe than sorry.
Screenshot below: They said it took them about a hour, however take it
with a pinch of salt since it's by no mean easy and fast money by
Terry's standards:

I've also halved the selling price of jumpercable fish, which, despite
requiring an emag or some sort luck, could easily be farmed in due time
with little to no maintenance, being self-reproducing and hunger-less,
and each of them would sell for 6k. conversely, I've increased the price
of the unmarine mastodon a little because of the soft-cap, since it's
very rare.
## About The Pull Request

Adds a completely brand new multi-z station map "NebulaStation". 
New areas and few exclusive map shuttles (ferry, mining, arrival, evac,
cargo)
Few example screenshots
![StrongDMM-2024-07-19 20 53
15](https://github.com/user-attachments/assets/e895bae6-f3e7-4ee4-9779-96266e943db0)
![StrongDMM-2024-07-19 20 51
41](https://github.com/user-attachments/assets/43bb1443-1c2c-4c4e-8f0c-b743866c84fa)

![image](https://github.com/tgstation/tgstation/assets/143291881/4bdfa1d7-ba84-408b-a4ff-9fa0dd3a2783)

![image](https://github.com/tgstation/tgstation/assets/143291881/6caa71cc-92f2-49ff-b05c-76e091b5b05b)

![image](https://github.com/tgstation/tgstation/assets/143291881/c64ac863-9287-4827-9168-ea9a55f66a9e)

![image](https://github.com/tgstation/tgstation/assets/143291881/dff66e71-89a0-4da7-94f5-07774c239047)
And more...

## Why It's Good For The Game

New maps are always good for the game

## Changelog

:cl: Kiko
add: Nebulastation, new station map
/:cl:
…op event balance change) (tgstation#87657)

This is used to set the nuke disk's safety factor from applying on very
low pop player counts, as it's unlikely the disk can be secured.

I don't believe this precludes the event from being randomly chosen, but
it makes sure it wont be a certainty on very low pop when the disk
hasn't been secured from lack of players

Just to clarify this applies only at 9 population or lower.

## Why It's Good For The Game
On very very low pop, the disk is often unsecured, and.. more
importantly, a lone op is likely to have a very high chance of easily
succeeding as there is not enough crew to upkeep a watch on the relevant
areas.

This event is fun on higher populations, and needing to protect the disk
makes sense, but on very lowpop, I think it doens't quite work as
designed, as instead it just means a lot of low pop rounds will end due
to a loneop spawning if there's any ghosts about at all.
## Changelog
:cl: oranges
balance: Nuclear disk no longer needs to be secured at sub 10 population
/:cl:
## About The Pull Request

Fixed sect nullrod bonus component by adding comsig_sect_change to
signals registered.

This didn't work if you picked nullrod before sect. Now it does!

## Why It's Good For The Game

bug

## Changelog

:cl:
fix: Fixed sect nullrod bonus component
/:cl:
…gstation#87690)

## About The Pull Request
- Fixes tgstation#87658
- Fixes tgstation#84583

Use combat mode to get the desired item interaction (like planting c4 on
the machine) cause all items are accepted now

## Changelog
:cl:
fix: destructive analyser accepts all items without interacting with
them (no planting c4 on the machine or radio jammer jamming the
machine). Use combat mode to get these default behaviour's instead
/:cl:
## About The Pull Request

fixes tgstation#87662 
Right-clicking the succumb alert will let you succumb without a message
also fixes a few bugs

## Fucked Up Looking Dog

![fucked-up-looking-dog-spookston](https://github.com/user-attachments/assets/9715ecfe-977f-41e1-b45b-050a111c6b54)

## Changelog

:cl:
qol: you can now right-click the succumb action button to succumb
silently
qol: the succumb inputs have a few more titles to choose from now
fix: the succumb text input now shows the actual correct number of
characters you can say
fix: attempting to cancel a succumb will no longer kill you
spellcheck: the text for failing to succumb is now spanned
/:cl:
…87691)

## About The Pull Request
- Fixes tgstation#85993

## Changelog
:cl:
fix: You can repair clothing that has storage with cloth again
/:cl:
## About The Pull Request
The dark matter singularity and its toy have long quotes in the examine
text. This doesn't change the quotes themselves, but changes the name of
the characters in the attributions. "Miles O'Brien" is now "Tenshin
Nakamura", that surname implies a connection to the ingame faction
Nakamura Engineering. "Jadzia Dax" if now "Huey Knorr" because it sounds
a bit like 'who knows'.
## Why It's Good For The Game
These were changed in tgstation#75133 to remove references to player names. I
don't disagree with the reasons for changing them, but the replacements
were half-assed. Just names of characters from Star Trek. Muh immersion.
## Changelog
:cl:
spellcheck: Changed names in the description of dark matter
singularities and their toy version.
/:cl:
## About The Pull Request
- Fixes tgstation#87568

Not just for RLD but for RCD, RPLD & RTD. They don't touch storage atoms

## Changelog
:cl:
fix: RLD won't try to put lights on storage objects like bags & such
/:cl:
## About The Pull Request
If the cap isn't open, reagents won't be emptied
## Why It's Good For The Game
It makes no sense and you constantly empty reagents by accident, this
will hopefully prevent this
## Changelog
:cl:
fix: e-cigarettes can't be emptied if the cap isn't open
/:cl:

Co-authored-by: Ben10Omintrix <[email protected]>
## About The Pull Request
Makes the Research Director's modsuit advanced reagent scanner actually
detect reagents, also changes descriptions to mention its explosion
sensor and research scanner.
## Why It's Good For The Game
Currently the research director's modsuit has an unremovable advanced
reagent scanner module that does not scan reagents and can't be replaced
with a working reagent scanner, this fixes that.

It is also good to mention its explosion sensor ability and research
scanner as it lets research directors know what the module does.
## Changelog
:cl:
fix: Made the Research Director's Modsuit's Advanced Reagent Scanner
scan reagents.
spellcheck: Changes description of the Advanced Reagent Scanner to
mention its explosion sensor and research scanner.
/:cl:
tgstation-ci bot and others added 19 commits November 8, 2024 02:18
…m headers actually update when there's none. (tgstation#87610)

## About The Pull Request

As before, more fiddling with NTNRC, more bugs.
This time, the same user sending the same message within the same second
would cause this message to spawn a new copy each time the channel was
opened, until the UI was closed and re-opened.
Looking into it, this seemed to be because we would set the `Box`'s
`key` value to the message contents:

<https://github.com/tgstation/tgstation/blob/b0d71024c0c10a0d276ea3119894c27ca7adf0d0/tgui/packages/tgui/interfaces/NtosNetChat.jsx#L156>
Which isn't actually unique.

To fix this, we instead make each channel keep track of an incrementing
`id` number to assign to each message, and convert the `messages` list
to an associative list using those numerical ids stringified.
We don't just use the list index as a key, as we later may want to
target specific messages, so a consistent unique key is important.

This fixes our primary issue.

In the process of making the rest of the code account for this, I
noticed that the NTNRC program header that's supposed to show new
messages in the active channel when the program is idle didn't actually
work.
Just at all.
So I rewrote the entire thing, and it now tracks the last read message's
id rather than the full message, and sets this when you actually
background the program. The rest still runs on process tick, where it
updates the header if there's a new message with a different id on top.

Finally, the header part of the UI wasn't actually updating if there
were no headers, so now it forwards a lack of headers change as well.
## Why It's Good For The Game

Reduces more NTNRC jank.
Good if shit like, actually works.
## Changelog
:cl:
fix: NTNRC no longer endlessly duplicates messages with duplicate
contents upon switching channels.
fix: The new message header you get when NTNRC runs in the background
actually works.
fix: NtOS header actually updates if there are no program headers.
/:cl:

---------

Co-authored-by: SmArtKar <[email protected]>
…7697)

## About The Pull Request

The goliath hammer is now resistant to fire and acid.

Being an extension of your body, this should probably not burn off until
the entire limb does.
## Why It's Good For The Game

Closes tgstation#87566.
## Changelog
:cl:
fix: Goliath Tendril Hammer arm (from the gene brain) is now resistant
to being burned off by acid/fire.
/:cl:
…87676)

## About The Pull Request
- Fixes tgstation#87664

storage hooks onto pre attack whereas the material container uses
attackby so the storage component was intercepting the bananium before
the material container could consume it.

This also ends the attack chain early so optimization

## Changelog
:cl:
fix: MK honk shoes now consume bananium & can clown again
code: material container objects end their attack chain early
/:cl:
## About The Pull Request
Adds a new boolean that lets you opt out of automatically linking
zlevels in `LoadGroup()` (as implemented in
tgstation#87029); and forwards that
support to map jsons. Does ***not*** change any /tg/ map jsons in the
process; as they all still work as intended.

A modified Icebox JSON loading correctly:

![image](https://github.com/user-attachments/assets/5f7a731d-3d4a-461f-9d86-04e1bf162885)

### How do I disable automatic z-level linking?
Add the following to your json; under planetary:
```	"height_autosetup": 0, ```

For each z-level's trait; you can then add either `"Up": true` or  `"Down": true` to link them manually, as you would've prior to tgstation#87029 .
## Why It's Good For The Game
tl;dr, map experimentation. It was prior possible to have station segments separated by z-level that weren't vertically linked; which was put to practice most prominently on Nova Sector, of all places, - but tgstation#87029 made it automatically assume that they should be linked in that manner.

This middleground keeps the new assumption while preserving the old manual process for any mapping projects that need it.
## Changelog
:cl:
code: Mappers can now opt out of automatically linking their up/down station traits.
/:cl:
## About The Pull Request
Some various dependency updates for tgui
## Why It's Good For The Game
Shiny!
## Changelog

N o p e n/a
)

## About The Pull Request

There were checks in living limbs that were checking the wrong thing, at
least one of which was introduced by a feature change in a PR I merged
but didn't notice.
Notably:
- We were checking if the person with the limb was invisible, not the
thing they were trying to touch.
- We were checking if the person with the limb was anchored, not the
thing they were trying to grab.

Now your arm will no longer reach out and grab wires that are under the
floor.

Additionally to this:
- I made all of the output say "Your left arm" or "Your left leg"
instead of "Your flesh left leg" because it sounded stupid.
- I removed an unused argument from `can_be_pulled` because it was
confusing me when I looked at the proc.
- I reworded some of the user feedback messages because "the thing
pretending to be your left arm feels funny" just isn't very evocative.

The diff is long because I reversed the order of arm/leg operations
because the leg block is much smaller :clueless:

## Why It's Good For The Game

Fixes bug.
I like it more.

## Changelog

🆑
fix: Living Limbs no longer try to grab things that are under the floor.
spellcheck: Living Limb feedback messages now don't redundantly specify
that they are flesh arms.
/🆑

---------

Co-authored-by: Ghom <[email protected]>
## About The Pull Request
Fixes bug caused by
tgstation@b1c5e5e#diff-aedb81aab354c31e90007bd0ad4e8babf347ac7d6003c3b01da14021ff5a10f4R387

The wiki and code prior both say oil slimes should make corn oil, but
they currently make vegetable oil. Since corn oil is needed for
nitroglycerin and oil slimes are explosive-centric, it makes sense they
should be making corn oil.
## Why It's Good For The Game
Fixes: tgstation#81036
## Changelog
:cl:
fix: Fixes oil slimes making vegetable oil instead of corn oil
/:cl:
## About The Pull Request
This
![Screenshot 2024-11-06
215752](https://github.com/user-attachments/assets/6933ff60-11c2-472e-8d06-a1f43fa9b48e)

Apparently this was connecting http for ie8 support, which we dropped a
long time ago in tgstation#79974.

I added some early returns to the code as well
## Why It's Good For The Game
Code cleanup
## Changelog

n/a
@github-actions github-actions bot added :neckbeard: Документация Некоторые просто любят писать тонну текста, которую никто не будет читать. TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI 🔉 Звук Нам скорее всего нравится как это звучит. 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. 🎸 Инструменты Мы выдаем себя за реальное сообщество разработчиков. 💾 Изменение конфига Ф-ф-фуриор...? 💿 SQL Надо править БД. 🙏 Слияние с восходящим потоком О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов labels Nov 8, 2024
Copy link

github-actions bot commented Nov 8, 2024

This PR causes following conflicts on translate branch:

code/modules/antagonists/heretic/magic/moon_parade.dm
++<<<<<<< HEAD
 +	if(victim.can_block_magic(MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND))
 +		visible_message(span_warning("The parade hits [victim] and a sudden wave of clarity comes over you!"))
++||||||| e47def0ab53
++	if(victim.can_block_magic(MAGIC_RESISTANCE))
++		visible_message(span_warning("The parade hits [victim] and a sudden wave of clarity comes over you!"))
++=======
+ 	if(victim.can_block_magic(MAGIC_RESISTANCE))
+ 		visible_message(span_warning("Парад попадает по [victim.declent_ru(DATIVE)], и внезапно вы вновь мыслите ясно!"))
++>>>>>>> origin/translate
code/modules/mob/living/living.dm
++<<<<<<< HEAD
 +				to_chat(src, span_notice("Your immortal body is keeping you alive. If you want to accept death, you must do so [span_bold("quietly")]."), type=MESSAGE_TYPE_INFO)
++||||||| e47def0ab53
++				to_chat(src, text="You are unable to succumb to death! Unless you just press the UI button.", type=MESSAGE_TYPE_INFO)
++=======
+ 				to_chat(src, text="Вы не можете сдаться смерти! Если не нажмете кнопку на интерфейсе.", type=MESSAGE_TYPE_INFO)
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +			to_chat(src, span_warning("You are unable to succumb to death! This life continues."), type=MESSAGE_TYPE_INFO)
++||||||| e47def0ab53
++			to_chat(src, text="You are unable to succumb to death! This life continues.", type=MESSAGE_TYPE_INFO)
++=======
+ 			to_chat(src, text="Вы не можете сдаться смерти! Эта жизнь продолжается.", type=MESSAGE_TYPE_INFO)
++>>>>>>> origin/translate

@larentoun larentoun merged commit 3f19add into master Nov 9, 2024
24 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💿 SQL Надо править БД. 💾 Изменение конфига Ф-ф-фуриор...? 🎸 Инструменты Мы выдаем себя за реальное сообщество разработчиков. :neckbeard: Документация Некоторые просто любят писать тонну текста, которую никто не будет читать. 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🙏 Слияние с восходящим потоком О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов 🔉 Звук Нам скорее всего нравится как это звучит. TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один.
Projects
None yet
Development

Successfully merging this pull request may close these issues.