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

Various bugfixes (mostly ported from /tg/) #1985

Merged
merged 62 commits into from
Jun 3, 2024

Conversation

Absolucy
Copy link

@Absolucy Absolucy commented May 24, 2024

About The Pull Request

This is #1810, but just the bugfixes part, no new features or whatever.

Ports the following PRs:

Changelog

🆑
fix: Fixed some various runtime errors.
qol: Shuttles will no longer show their current destination as a choice while in transit.
spellcheck: Adjusted font size from 30px to 15px.
fix: Fixed a bug that would cause you to be unable to lean again if you tried leaning while facing the wrong direction.
balance: Supermatter zap power generation scales with the delta time between its last zaps, preventing faster zapping from scaling power generation to extreme levels.
fix: Fixes supermatter zap rate not scaling properly. It should zap much faster at higher energy levels as intended.
qol: Changeling chemical generation scales with the world's delta time, making its rate independent of subsystem lag.
qol: Revenant essence generation scales with the world's delta time, making its rate independent of subsystem lag.
qol: Xenomorph plasma generation and resin healing scales with the world's delta time, making their rates independent of subsystem lag.
qol: The "Explosive Planted" alert for C4 actually shows the C4.
fix: Now falsewalls visually don't close when they shouldn't.
fix: Aheal now properly heals ear deafness.
fix: The shuttle will no longer delete you while you are in jaunt.
fix: You will now be ejected from Space Phase if you lose your focus or lose consciousness somehow during the jaunt.
fix: Fix a rare issue where a turf would remain permanently "elevated" if an elevated object was initialized inside of a non-turf object.
fix: Holodisk recording gives the right vfx again. Bonus, the rays work with it now too!
/:cl:

Absolucy and others added 17 commits May 23, 2024 20:00
)

## About The Pull Request
As it's said in title, the shuttle will not gib you now while you in
jaunt. This applies to a mage, a (s)laughter demon, an ash heretic and
anything that uses spell "jaunt" and its child classes.
## Why It's Good For The Game
I think it's pretty counterintuitive that you can't be harmed by
anything in the jaunt, including an explosion, but if you accidentally
end up on the tile where the shuttle arrives, it deletes you. So, this
PR closes this logical hole.
## Changelog
:cl:
fix: The shuttle will no longer delete you while you are in jaunt
/:cl:

Co-authored-by: paganiy <leunscrupuloustrolle@gmail.com>
## About The Pull Request
Make the admin button "Aheal" and Magic Wand of Healing (resurrection)
actually full heal carbon's Ears.

File _ears.dm contains timer variable "deaf" that should be updated to 0
after complete healing.

But I think this must be properly code-refactored because looks like
it's just duplicates(?) standart variable "damage" for organ type.

## Why It's Good For The Game
Aheal - means FULLY HEAL.

## Changelog

:cl:
fix: aheal now properly heals ears deafness
/:cl:

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
tgstation#81353)

## About The Pull Request

Moves update_appearance() proc further after checking if it can be
closed.

It was possible to stand inside an open falsewall, try to close it only
for it to "close" visually and don't change any properties.

## Why It's Good For The Game

Less bugs is good. No more fake-closed falsewalls.

## Changelog

:cl:
fix: Now falsewalls visually don't close when they shouldn't.
/:cl:
…traight line (tgstation#82323)

## About The Pull Request
random spawners now check if the destination turf is unblocked in a
straight line


![image](https://github.com/tgstation/tgstation/assets/70376633/15fb4e23-95d1-473c-8bba-00b9497f0ca8)

(spammed grime spawner, nothing spawned behind glass)

## Why It's Good For The Game

bug

## Changelog
not player facing
## About The Pull Request

It's very easy to get softlock if you try to use a codex as a focus for
Space Phase - you'll drop the codex, resulting in you having no focus,
and you can't re-cast Space Phase in order to exit the jaunt, requiring
admin intervention in order to escape.

This just makes it so you're ejected from the phase if you ever lose
your focus mid-cast, or if you lose consciousness (crit, dying, etc)

## Why It's Good For The Game

Because softlocks are bad and unfun.

## Changelog
:cl:
fix: You will now be ejected from Space Phase if you lose your focus or
lose consciousness somehow during the jaunt.
/:cl:
…#75993)

## About The Pull Request

Changes the font size of signatures from 30px (pictured left) to 15px
(pictured right). I advise opening them in a separate tab, they're a
little less pixelated than they look.
Original          |         New
:-------------------------:|:-------------------------:

![image](https://github.com/tgstation/tgstation/assets/80640114/62178bc6-ce8b-4127-a086-8e656b3a6092)
|
![image](https://github.com/tgstation/tgstation/assets/80640114/9959e648-2bbe-4060-bcc8-1e87393c0a86)
## Why It's Good For The Game

I'm not sure why signatures were made to be this big, but it made them
hardly fit in any field and look jarring when compared to all the
surrounding text. They are now only slightly bigger than normal text
(12px) so that they stand out but aren't excessively large.
## Changelog
:cl:
spellcheck: adjusted font size from 30px to 15px
/:cl:
…ation#82649)

See title
They wouldn't lock on to people on the station from a space ruin, but
would to whoever entered their z level the second it was entered.
Also fixes bug where I changed `status_flags` to `status_effects` for
some reason which isn't where you look for godmode

We have a space ruin whcih several (coreless) anomalies spawn on, the
bioscrambler was put as an option because it was already immortal. It's
weird though to zone into the ruin and immediately have every anomaly in
there lock onto you, the best intended effect is probably for these ones
specifically not to be bloodthirsty.
We kind of only care about that behaviour on the station.

:cl:
fix: Anomalous Research ruin Bioscrambler anomalies won't home in on
targets
fix: Bioscrambler won't randomly drop its target for no reason
/:cl:
…gstation#78174)

Adds delta time scaling for changeling chemical generation, xenomorph
plasma generation, xenomorph resin healing (up to 8 seconds per tick to
prevent weird instant heal phenomena in extreme cases), and revenant
essence generation. This delta time scaling is based on the world's time
and the respective subsystem's last fire. This will help keep these
generation smooth even when their respective subsystem lags, preventing
lag from ruining the antagonists rounds. This can still slow down if the
actual world is slowing down, but that's fine because the rest of the
world will typically be slowing down proportionately so it's fair.

Fixes supermatter zap rate not scaling with its internal energy
properly. Ghilker forgot to scale the time reduction by seconds. It
should be much faster at higher energy levels, making the transition
between 0 and 5 GeV more smooth.

Supermatter zap power generation will scale by the world's delta time
between the supermatter's last zap, making power generation more
consistent even when atmos lags. Also prevents the supermatter zap rate
scaling from also scaling the power generation by extreme amounts,
keeping it linear and consistent for the first 5 GeV (>5GeV has cringe
power multipliers, but I'm going to ignore that for this PR, because I
want this to mainly be a consistency thing rather than a balance thing).
A 1.5GeV supermatter will be able to generate around 800kW* of power. I
forgot exactly what goal of power we want the roundstart SM to produce,
so I might change the scale if I find the target power generation.

* - By generate 800kW of power I mean the energy the actual zaps
contain. Tesla coils don't collect 100% of it. I'll test later to see
how much an actual roundstart SM will output to grid (ignoring SMES),
and I'll try to keep it as close as possible to what it was before this
PR assuming no lag.
Subsystems can disproportionately lag a lot more compared to the rest of
the subsystems and game. This can ruin antagonist rounds as it can slow
their chemicals, plasma or whatever generation grinding to a halt. The
delta time scaling will significantly reduce the impact of lag for these
antagonists, allowing them to play more normally even while the
subsystems their generators run on are lagging.

Supermatter zap rate was supposed to fire every 2.5 or something seconds
at 1.5GeV according to comments on older commits. I just assume they
accidentally forgot to scale their time reduction by seconds, as doing
that made it work accordingly.

For supermatter zap power generation delta time scaling, kinda same
reasoning as for the antagonists. We don't want power generation to stop
because atmos ss is being slow. Scaling between the zaps also prevents a
nonlinear boost to power generation making it even more absurd at higher
energy levels.
:cl:
balance: Supermatter zap power generation scales with the delta time
between its last zaps, preventing faster zapping from scaling power
generation to extreme levels.
fix: Fixes supermatter zap rate not scaling properly. It should zap much
faster at higher energy levels as intended.
qol: Changeling chemical generation scales with the world's delta time,
making its rate independent of subsystem lag.
qol: Revenant essence generation scales with the world's delta time,
making its rate independent of subsystem lag.
qol: Xenomorph plasma generation and resin healing scales with the
world's delta time, making their rates independent of subsystem lag.
/:cl:
…tion list (tgstation#75170)

## About The Pull Request

Shuttles with multiple destinations will no longer show the current
destination as a selectable choice during transit.

<details>
<summary>Example</summary>
A shuttle has two possible destinations. A and B. <br>
While at A, the only valid destination is B and vice-versa. <br>
But while in transit to B, _both_ A and B can be chosen as destinations.
<br><br>
The change now hides B as a valid destination, as you are already going
there. <br>
It has the nice side effect of making shuttles with only two
destinations never showing a dropdown list while in transit.
</details>

## Why It's Good For The Game

Telling the shuttle to go to the same place as you're going to doesn't
do anything.

## Changelog
:cl:
qol: Shuttles will no longer show their current destination as a choice
while in transit.
/:cl:
…ing the wrong direction (tgstation#77002)

## About The Pull Request

What it says on the tin. Was just testing out
tgstation#76704 and noticed that if
you try to lean while facing the wrong direction, you get stuck in the
`is_leaning` state and are unable to lean again.

For the best chance of this not happening, I just moved it to the very
end of the `start_leaning()` proc.

## Why It's Good For The Game

Bugfix

## Changelog

:cl:
fix: fixed a bug that would cause you to be unable to lean again if you
tried leaning while facing the wrong direction
/:cl:
…ation#80694)

"Explosive Planted" C4 ghost notification actually shows the C4 on the
icon
It looks very strange seeing an image of just a wall, or just a
firelock, this give you info at a glance that "oh it's C4" rather than
having to read chat or hover over the alert
![Screenshot 2023-12-31
192717](https://github.com/tgstation/tgstation/assets/46101244/eef8c51c-1f86-48d4-8425-1622e9c1123b)

:cl:
qol: The "Explosive Planted" alert for C4 actually shows the C4
/:cl:
@Absolucy Absolucy closed this May 24, 2024
@Absolucy Absolucy reopened this May 24, 2024
MrMelbert and others added 5 commits May 31, 2024 15:39
…aner) not sanitizing burn wounds (tgstation#78851)

## About The Pull Request

This proc didn't pass itself to the reagents to actually do anything.

## Changelog

:cl: Melbert
fix: Miner's Salve, Sterilizine, and Space Cleaner now all properly
affect burn wounds
/:cl:
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/58055496/f124ccc1-9e8d-4701-b9cf-9635e1a1f1b2)

Basically, a gasmix's temp starts out at 0, and untouched the spacemix
is not updated until something shares with it.
Even if this doesn't for sure fix it, this is v dumb and worth doing
regardless

## Why It's Good For The Game


![image](https://github.com/tgstation/tgstation/assets/58055496/be8999ab-3da9-4e1d-93e3-88732faf2a8c)
Should close tgstation#75260, it's 4am I'm not gonna test this rn

---------

Co-authored-by: ZephyrTFA <matthew@tfaluc.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
## About The Pull Request

This fixes the following runtime by adding sanity checking for
`reagents`:


![image](https://github.com/tgstation/tgstation/assets/13398309/6e83b958-5144-4822-aed6-7ee4bb3d779b)

It can be null, which I presume is from the mob being qdeleted in the
middle of a `Life()` tick but I'm not 100% sure of that.

The check for `QDELETED(src)` happens after `handle_organs()` and
`handle_dead_metabolism()`, which there was no protection against there
being a null reagent var for either of those procs.

I was debating moving the order of the procs around, but I decided
against it because I think it may be this way for a reason
(`organ.on_death()` gets called in `handle_organs()`), plus again I'm
not 100% sure that the `reagents` is being nulled from qdeletion.

## Why It's Good For The Game

Fixes a bug that kept coming up in CI

## Changelog

:cl:
fix: fixed a runtime in handle_dead_metabolism()
/:cl:

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Some fixes in tgstation#77219 brought up some weirdness with the sleep status
effect. Healium would perma-sleep people, and sleeping in general lost
the ability to heal minor wounds.

## Why It's Good For The Game
Fix bugs, wow healium is abusable right now
Absolucy and others added 2 commits June 1, 2024 22:59
)

## About The Pull Request

Filters are weird, I just copied over the image copying we use for
standard human/ai work.

Additionally, adds support for datum "owners" for holograms, uses this
to hook records into the system.
This means holorecordings now properly support the ray effect

## Why It's Good For The Game

Closes tgstation#74975 

![image](https://user-images.githubusercontent.com/58055496/234726630-85cd00f6-26df-4514-b0bd-c07702b98fb6.png)
## Changelog
:cl:
fix: Holodisk recording gives the right vfx again. Bonus, the rays work
with it now too!
/:cl:
@dwasint dwasint merged commit 1b4ebea into Monkestation:master Jun 3, 2024
18 checks passed
github-actions bot added a commit that referenced this pull request Jun 3, 2024
@Absolucy Absolucy deleted the tg-port-bugfixes branch June 3, 2024 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet