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

Orb update 202-01-24 #759

Merged

Conversation

Profakos
Copy link
Collaborator

@Profakos Profakos commented Jan 24, 2025

Touched by both:
Quirks.dm

Major changes:
Removed our override that made roundstart reports 100% accurate when threat was 100%, because it is now always 100% accurate
Moved medkits to the new sprites, abandoning the old overrides
get_mob_heigth() got replaced with mob_heigth
The preferences menu has been refactored, its files moved. Please alert me if anything has been not restored and lost.
You can no longer gain psychotic brawling randomly.

Biodome:
Station alert consoles show only alerts originating from the station, properly filtering out alerts from ruins.

tgstation-ci bot and others added 30 commits January 13, 2025 02:15
## About The Pull Request

Updates the Unnamed Turreted Outpost space ruin


![image](https://github.com/user-attachments/assets/1b60c320-437e-45a1-84e3-938c3e6eb6ea)

Old version:


![image](https://github.com/user-attachments/assets/58c37c44-106e-409e-92db-6ff43a35e23a)

It has received a slight improvement in loot quality (SC/FISHER
disruptor in the armory and a couple of syndicate corpses - one with a
neat black ID!), but also an increase in difficulty in form of more
turrets with heavier armor, and some locked doors! Get those multitools
ready!

## Why It's Good For The Game

Its a rather outdated and plain-looking ruin, last updated when its'
camera bug got replaced with a floppy disk. This should make it look
nicer and more alluring to space explorers.

## Changelog
:cl:
map: Updated the Turreted Outpost space ruin
/:cl:
…n#88931)

## About The Pull Request

Sometimes I like doing a little bit extra for the station, especially
when I find things difficult to figure out (curse you science!). It
helps to at least get something done to reduce friction and let new
ideas flow. This is one of those cases.

## Why It's Good For The Game

Well, it's a small change of scenery that I feel some will get a kick
out of. Not really trying to do the whole Holiday thing, just more like,
hey, it's January, and I'm freezing my butt off since it finally got
cold, and my heater is kaput, lets add some ice to the old gal'. No
doubt that this'll get old in no amount of time, but I'll have something
else ready to go that'll remove this and do something cooler.

So basically you can expect some Snowy decals all around Birdshot until
I unfreeze my ass and shuffle some things on the station map. I need to
work on command a tad bit so I can free up some space for Science, but
that's really not what this PR is about. Enjoy the snow folks!

## Changelog
:cl:
map: Who turned down Birdshots Thermostat?
/:cl:
## About The Pull Request

Error sprite bad

## Changelog
:cl:
fix: Fixed camouflage implant missing icon
/:cl:
## About The Pull Request

Assembly shells now use power from whatever machine/borg/mech/modsuit
they are attached to the wires of, instead of their own power cell, when
appropriate.

As for the meat of this PR, circuit wirenet components function like
NTnet and NFC components, but their signals are transmitted across
whatever cable network the shell (or in the case of assembly shells, the
machine or button it's inserted into) is connected to. These components
are available with roundstart tech.

## Why It's Good For The Game

Provides a somewhat intuitive way to make circuit networks that aren't
dependent on external factors to continue functioning.

NTnet components require a functional NTnet relay, which usually means
they need telecomms to be working. NFC components have a range limit,
and you need to provide a specific reference to the circuit being
communicated with. Wirenet components, on the other hand, just need the
shell to be anchored (or for assembly circuits, the thing whose wire it
is attached to), and for the shell to have a cable under it.

Also might indirectly provide a reason to use cable layers other than
the default one.

## Changelog

:cl:
add: Adds circuit wirenet components, allowing data to be transmitted
and received over cable networks.
qol: When attached to a machine, mech, modsuit, or borg, assembly
circuit shells will use power from those instead of the circuit's own
cell.
/:cl:
… for modsuits (tgstation#88751)

## About The Pull Request

the module doesn't actually show the visor thanks to the fact that the
module is not actually active at any point, which the visor attempts to
check for

also the color of purple was like WAY too dark it was practically black
on every modsuit
## Why It's Good For The Game

it'd be cool if it actually worked and you could actually see it
## Changelog
:cl:
fix: fixes plasma stabilizer module not showing a visor on modsuits
fix: makes the plasma stabilizer module actually visible
fix: makes rave module grey by default as it was meant to be
/:cl:
## About The Pull Request
Adds a pair of nuar glasses in detdrobe premium tab, which makes them
see the world in black and white colors.
## About The Pull Request

It just fixes a small typo i caught while testing other things on my
private server.

## Why It's Good For The Game

TYPOS BAD. ENGLISH GOOD.
## About The Pull Request

balloon_alert is async and thus should not be called on objects that are
about to qdelete
## About The Pull Request

Add `span_class` macro to use instead of <span class='class'> (now only
used for changes I made to radio examine).
Make radio channel tokens info from headset examine more readable by
color coding and displaying it in list format.
Currently set broadcast frequence is also color coded and bold.

## Why It's Good For The Game

It's now easier to understand headset examine info :D

<details>
<summary>
Before
</summary>


![image](https://github.com/user-attachments/assets/6b5d7533-6b8e-47b9-9cd2-7c7a92552ca2)

![image](https://github.com/user-attachments/assets/7fcbde2b-0817-4db6-aca8-d15c17d708be)
</details>

<details>
<summary>
After
</summary>


![image](https://github.com/user-attachments/assets/6e9a7156-9c76-4843-8a45-7fce752a7b27)

![image](https://github.com/user-attachments/assets/50e5fb70-eb18-4fc5-803a-070774c73ccf)
</details>

## Changelog

:cl:
qol: tokens and channel names in radio headset examine are now color
coded and display in list format
qol: broadcast frequency in examine is also color coded
code: add new `span_class` macro
/:cl:
## About The Pull Request

This PR adds the fish pun speech filter to space carp.
This was originally added and implemented for crabs and lobsters but it
seems like it should be fine on space fish as well.

Space Dragons don't have this because Dragons are more refined than the
riff-raff and take classes on proper diction.

## Why It's Good For The Game

For some reason space carp can speak common if they are sapient.
Most sapient space carp come from space dragon rifts so it's useful for
them to be able to speak to each other and coordinate.
I think it's kind of weird that they can talk to the crew to be honest,
but it's probably more fun that they can. That said, if they are going
to be able to communicate with the crew then they should have to talk
like a fish.

## Changelog

:cl:
add: Space Carp now have a more distinctive accent when speaking Common.
/:cl:
…tation tests (tgstation#89026)

## About The Pull Request

this stops gibs from being streaked from spawners during unit tests, as
there's a chance it might just go into space, causing a mapping
nearstation test failure.

there's already a precedent for the "just disable it during unit tests"
solution with tgstation#87878

## Why It's Good For The Game

flaky tests bad :3

## Changelog

no player-facing changes
## About The Pull Request
An alternate to tgstation#89040
![Screenshot 2025-01-12
035024](https://github.com/user-attachments/assets/230e599a-8cae-4dba-8dee-4e9975b7a61e)

Refactors the UI
Adds scrollbar to section rather than window so that the title doesnt
disappear
Gives more contrast to the window's main content section
Tooltip now shows closer to the mouse. It was far off in some cases
Functions!
## Why It's Good For The Game
Fixes a ui bug
## Changelog
:cl:
fix: Fixed icon spacing in the late join menu.
/:cl:
…hen perceived food quality is too high (tgstation#89011)

## About The Pull Request

When going through runtime logs earlier, I noticed the edible
component's examine logic would have an index out of bounds runtime
whenever a lizard were to observe a piece of stinging flatbread.
This seems to be because its `examine(...)` proc would call
`get_perceived_food_quality(...)`, getting an `8`, and then use the
resulting value as an index for `GLOB.food_quality_description`, while
the highest value for such is `FOOD_QUALITY_TOP = 7`.

Trying to find similar issues I noticed `checkLiked(...)` would cap it
to `min(food_quality, FOOD_QUALITY_TOP)` before running anything that
cared about it.
So in this pr we just move that `min(food_quality, FOOD_QUALITY_TOP)`
call into `get_perceived_food_quality(...)` right before it returns,
catching all our potential out of bounds issues.

This fixes our issues.
## Why It's Good For The Game

Fixes jank.
## Changelog
:cl:
fix: Examining edible items with too high of a perceived food quality no
longer runtimes and actually displays a food quality message.
/:cl:
## About The Pull Request
tgstation#82676 Added medipens into deepfryer blacklist as it allowed them to be
filled with custom reagents. Xenobio autoinjectors that are made from
industrial crossbreeds function very similarly to medipens with few
differences. However, they have a different typepath from medipens so
they were not included in the original PR. This adds them into the
blacklist too.
## Why It's Good For The Game
Xenobio autoinjectors are not ment to be filled with custom reagents,
this fixes that.
## Changelog
:cl:
fix: Xenobio autoinjectors, such as mending solution from industrial
purple crossbreed, cannot be deepfried and thus filled with custom
reagents using saltshaker anymore.
/:cl:
tgstation-ci bot and others added 21 commits January 23, 2025 20:36
<!-- 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

Fixes tgstation#89060 and a few other inconsistencies that I think aren't
reported yet. In particular, these are:
- Ordering the Stargazer to attack a window, machinery, and essentially
anything that isn't a wall or person will result in refusal. This
behavior was different.
- The spell to remotely command the Stargazer doesn't work.
- The shift-hover radial menu is weirdly offset.

I'm still trying to figure out what makes the mob not attack windows
unlike before, so I'll set it as a draft until I fix it.

## Why It's Good For The Game

Summoning an elder god bound to your will would be even better if it was
actually bound to your will.

## 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:
fix: The Stargazer, a cosmic heretic's ascension, can be properly
commanded once more.
code: Basic mob pets can now target objects, or objects and walls by
using two new targeting strategies.
/: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. -->
## About The Pull Request
Refactors the communications console into typescript. Removed a
uselocalstate. I tried not to dig too deep, this is an ugly UI tbh. I
cleaned up some of the logic (the changing alert level state was weird)
and broke it up into files / components where possible.

Style wise, only the purchase shuttle screen looks slightly different,
with the "back" button and the budget now occupying the same section.
## Why It's Good For The Game
Code quality
## Changelog
N/A
## About The Pull Request
This is the reagent library that can be accessed from the dispenser.
Cool ui btw!

Removes uselocalstate as its deprecated
Converts the entire UI to typescript
Breaks up the file into a directory (its >500 LOC)
Some code stylistic choices ie arrow functions -> function declarations
## Why It's Good For The Game
Code quality + typescript
## Changelog
N/A
…tgstation#89108)

## About The Pull Request

Due to pr tgstation#88960 (a very good pr that I fully support) making ethereal
hunger not jank, a side affect was that they become hungry a bit faster
than prior. Because of this, voltaic wine, which was balanced around the
old drain rate, only manages to outpace the hunger drain if you
absolutely chug it constantly, and even though its very weak alcohol,
trying to get full off it will probably end in a trip to medical as it
stands. (Source: I had to go to medbay two rounds ago because I drank
three bottles of it.) This PR just makes it actually able to drink it
and gain net charge, without needing to get toxin medicine from being
really drunk.
## Why It's Good For The Game

Ethereals being able to literally live off booze if they want is funny,
and given they can eat from omnipresent APCs or Lightbulbs, it's not
like this drastically impacts the balance of their access to food.

## Changelog
:cl:
qol: Ethereals can now live off wine again.
/:cl:
## About The Pull Request
Given there's about a decade of web development between 515 and 516,
it's no wonder tgui say would have some incompatibilities with 516. This
PR fixes just that, converting it to a functional component (overdue),
and tweaking the style just a bit.

I've made it backwards compatible, it just switches components once
Blink engine is detected

Updated styling

![brave_D73u6lPI2a](https://github.com/user-attachments/assets/97c6d22a-2223-47f0-ad20-b463474dd540)

Themed scrollbar for 516

![brave_yz9lNdtxlP](https://github.com/user-attachments/assets/c699878f-b801-4db3-a568-416a4b3afe4b)
## Why It's Good For The Game
516 compatibility, "better" ui
## Changelog
:cl:
fix: TGUI Say window has been tweaked slightly to look and run cleanly.
/:cl:
## About The Pull Request
Refactored much of the character prefs menu to simplify it with a hooks
based approach. Should (maybe!) make it open faster, or at least provide
some sort of loading feedback that it's fetching the preferences.

Sorted files and renamed arrow functions (go away!)

<details>
<summary>before & after</summary>

Before:

https://github.com/user-attachments/assets/e6d33cb4-2a79-4420-86d9-2a7ad4e8e968

~~After~~:

https://github.com/user-attachments/assets/c2a41e83-6da1-4f6f-a242-c0640c3d8ed3

Updated, made it non blocking, now with some skeleton action:

https://github.com/user-attachments/assets/f99fba17-7dec-4982-be68-024473fee885



</details>

## Why It's Good For The Game
Code quality + modern react + (maybe!? performance)
## Changelog
:cl:
fix: The character preferences menu has been greatly refactored,
hopefully opening faster.
/:cl:
## About The Pull Request
Converts the tech web into typescript, removing uselocalstate, moving it
into separate files (huge!)

It should look and function exactly the same.
## Why It's Good For The Game
Just a massive file getting properly typed and sorted makes it easier
for this UI to digest & get the DMIcon treatment, which it needs, as it
might be our slowest UI

uselocalstate is also deprecated in favor of real hooks
## Changelog
N/A
Co-authored-by: Kyle Spier-Swenson <[email protected]>
…ve global procs to `cameranet` datum (tgstation#89087)

## About The Pull Request

Replace bubble sort with timsort for cameralist
Move cameralist related global procs to `cameranet` datum
Other minor code cleanup things

## Why It's Good For The Game

Cameralist reads for UIs are now more performant

## Changelog

:cl:
refactor: replace bubble sort with timsort for cameralist, move global
procs to `cameranet` datum
/:cl:
@Profakos Profakos requested a review from Jacquerel as a code owner January 24, 2025 23:34
@lizardqueenlexi lizardqueenlexi merged commit 893ce53 into lizardqueenlexi:orbstation Jan 25, 2025
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.