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

Tg parity nov 1 #218

Merged
merged 83 commits into from
Nov 11, 2024
Merged

Conversation

carpotoxin
Copy link
Collaborator

About The Pull Request

#208 Can be closed.

Why It's Good For The Game

Changelog

🆑
add: Added new mechanics or gameplay changes
add: Added more things
del: Removed old things
qol: made something easier to use
balance: rebalanced something
fix: fixed a few things
sound: added/modified/removed audio or sound effects
image: added/modified/removed some icons or images
map: added/modified/removed map content
spellcheck: fixed a few typos
code: changed some code
refactor: refactored some code
config: changed some config setting
admin: messed with admin stuff
server: something server ops should know
/:cl:

Ghommie and others added 30 commits November 4, 2024 13:48
…6049)

## About The Pull Request
I'm adding a score that tracks which types of fish you've caught across
multiple rounds. To do so, I had to add a new score subtype that manages
the score value not being a number. Thankfully the achievement code is
fairly flexible so not a whole lot had to be done, although I've to add
a new column to the achievements table in the DB, because the 'value' is
for integers, while we need one for text strings ~~(the contents of the
list are converted to text with a delimiter before being saved cuz I'm
not sure if and how our DM slash SQL integration handles using lists
directly and I don't want to waste time finding it out)~~.

EDIT: It's mostly done beside the reviews that are going to point out
things that need to be changed. The UI changes are done. It's time for
reviews.

Here are screenshots of the UI with all fish still uncatched beside one
(I've since then the typo on its name and removed an extra zero from the
index number, as well as a nit with the spacing between cells):

![immagine](https://github.com/user-attachments/assets/a1dcfeb6-6d26-461e-aaa1-97c619f5cbfa)

![immagine](https://github.com/user-attachments/assets/768f6621-c992-4932-9bca-979dd1e43d6f)


## Why It's Good For The Game
We have about dozens over dozens of different fish in the game now, many
of which are just fluff anyway. It's getting to the point it's perhaps
doable to add a score or something to be a braggard about.

## Changelog
:cl:
add: Added a new score that keeps track of all different fish that
you've caught between shifts.
server: Added a new schema table to store the aforementioned entries and
the ckeys associated to them, with an additional timestamp column.
/:cl:
## About The Pull Request
Removes S

## Why It's Good For The Game
Removes S

## Changelog
:cl:
code: Removes S
/:cl:
…87665)

## About The Pull Request

Alien operating tables (made by making a table frame with alien alloy,
then adding silver) now have a 20% surgery speed bonus, as compared to
normal operating tables.

I also refactored the `get_location_modifier` proc, it now uses a
"typecache" rather than a else-if locate tower.

## Why It's Good For The Game

Medbaymaxxing with alien tech is nice - and this somewhat cursed code is
still better than the else-if locate tower, honestly.

## Changelog
:cl:
balance: Alien operating tables now have a 20% surgery speed bonus.
refactor: Refactored how table/bed surgery speed modifiers are
calculated, so it's hopefully more efficient now.
/:cl:

---------

Co-authored-by: Kapu1178 <[email protected]>
…/me (tgstation#87668)

## About The Pull Request

He plans on moving away from the codebase so I am taking soft ownership
over the MC in order to prevent gigafuckshit.

Similar story for config/db/build stuff, the hosts need to be pinged
about db/config/build changes and now there's two of them
## About The Pull Request
Fixes bug introduced by
tgstation#84306 that broke borg
throwing
## Why It's Good For The Game
Bugfix. Lets borgs throw again
## Changelog
:cl:
fix: Fix borg throwing not working
/:cl:
… or not (tgstation#87522)

## About The Pull Request

Adds a ternary statement to the logging for adding admin remarks (notes,
messages, watchlists) to specify if a note is secret.
No change to actual administrative functions, just the logging.

## Why It's Good For The Game

Accurately reflects the note added!

## Changelog
:cl:
admin: When a secret note is applied, it'll now be logged as a secret
note (instead of appearing like a regular note).
/:cl:
## About The Pull Request

Closes tgstation#87618
Technically either part of this fix (moving the active check in
seal_part and removing the parts check in control_activation) is enough
to fix this particular issue but I'm doing both for sanity reasons (and
possibly edge cases with modules that modify their required parts? not
sure if we have those)

also yeah it didn't call deactivate()

## Changelog
:cl:
fix: Fixed MODsuit deactivation not disabling modules
/:cl:
## 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:
SyncIt21 and others added 24 commits November 8, 2024 02:26
## About The Pull Request
- Removes `cyborg_tool` test, which partially helps with the below
issues as it is superseded by `datum/unit_test/omnitool`
    -  tgstation#87708
   - tgstation#87713 
- Removes borg transform animation from omnitool test which causes
random runtimes. Also restructures it for future omnitool tests which
will come in future PR's

## Changelog
:cl:
 N/A
/:cl:
…e protects from some heretic abilities (mostly Moon effects) (tgstation#87702)

## About The Pull Request

Several effects that target the mind now are blocked by the presence of
MAGIC_RESISTANCE_MIND, which is only found (currently) on tinfoil hats.

Affected abilities and items include;

Moon Path Powers (like, pretty much every single thing the path gets)
Eldritch Paintings
Mask of Madness (oh, and normal magic resistance also applies
because...it's fucking magic?)
Mindswap
Terrorize (the nightmare ability)
Abyssal Gaze (completely unused, used to be a rune golem spell I think)

## Why It's Good For The Game

Tinfoil hats horribly debilitate you and render you pretty terrible at
actually validhunting. But it is exceptionally funny for someone to
willingly subject themselves to wearing it in fear of being attacked by
a Moon heretic. And then get blinded and stunned by their mere presence
because they are now scared of heretic's tools, alongside most of the
station's various roles.

Since this doesn't stop a heretic from A) hitting you with the ol'
Mansus Grasp the old fashioned way and B) stabbing the shit out of you
after this, I don't anticipate it being TOO effective when it doesn't
stop the heretic's bread and butter abilities, as well as causing
automatic debuffs just from them being on the screen.

If heretics giving out a phobia targeting them specifically wasn't
tolerable, then someone willingly subjecting themselves to that same
effect to stop a moon heretic is maybe unlikely, or just really funny
and sandboxy.

Oh, and it makes them scared of, like, security and command and stuff so
this is NOT a viable option for those roles at all unless they really
want to suffer constantly for it. But maybe that's funnier as a result.

## Changelog
:cl:
balance: Some mind altering effects of heretics (predominantly Path of
the Moon heretic abilities) are nullified using...a tinfoil hat. But
awareness of the mind altering psychotropic eldritch brain wizards has
spread amongst the conspiracy theorists. They could be anyone! Even YOU.
balance: Some additional spells (mindswap, nightmare's terrorize) are
also blocked.
/:cl:
<!-- 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
This might very well only happen to me, there were no issues, but
running `bin\tgui-build` rather than
<kbd>CTRL</kbd><kbd>SHIFT</kbd><kbd>B</kbd> would error. The default
windows powershell (5.1 for me) is the culprit. This routes it to an
[upgraded
powershell](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4),
if you have it installed.


![image](https://github.com/user-attachments/assets/b1ccc00b-d109-4e11-9459-942a765a7d45)

<!-- 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
I hate red letters in my terminal >:(
<!-- 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

Dev only
tgstation#87703)

## About The Pull Request
title
## Why It's Good For The Game
automation is nice, makes it more visible to players that a pr is tm
only
## Changelog
nothing player facing
…ation#87689)

## About The Pull Request
- Fixes tgstation#87574

It's custom materials which is used in deconstruction did not match its
crafting recipe requirements

## Changelog
:cl:
fix: status & newscaster frame won't drop extra glass sheets upon
deconstruction
/:cl:
…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:
@Paxilmaniac
Copy link
Collaborator

my body is a machine that turns +300,000 into "LGTM"

@Paxilmaniac Paxilmaniac merged commit 56248e9 into DopplerShift13:master Nov 11, 2024
25 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.