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

Increases the "fun" level of singularities (and some fixes because woo sidetracking) #2589

Merged
merged 6 commits into from
Jan 12, 2024

Conversation

DeltaFire15
Copy link
Contributor

@DeltaFire15 DeltaFire15 commented Dec 3, 2023

About The Pull Request

Reset the starsystem JSON save back to the default when merging or testmerging

Some things this fixes can chain and have likely already infected the persistent json (a non-json converted list for example)

So while searching for some code, I found some interesting mechanics stuff that remains almost entirely unused. Well, that gave a good reason to visit black holes (and also to get sidetracked into fixing some starsystem persistence save issues)

Overmap Singularities now increase the gravity onboard vessels in their influence, ranging from difficulties of movement while at a distance, over mildly agonizing effects when approaching, to various flavors of death if deciding to take a dip.
Additionally, they've been somewhat rewritten to work across system borders (looping), and to do some more correct math on how the vector a ship gets dragged towards gets calculated. Increased the pull strength of black holes aswell to compensate for directional vector components being recognized.
Black holes now also prevent you from using inertia dampeners while you are in range of their influence, requiring manual adjustment.

In addition, modified a bit of gravity stuff, such as silicons now being able to get crushed (at >8 constant G), full hardsuits compensating for about 1G damagewise (they'll still not help you move any faster though), and making one of the fancier procs that applied to gravity-weak people also apply to normal ones, although at less intensity than for those weak to it.

Lastly, I ran into a bunch of wacky things with the starsystem json saves, debugged a bunch, and ended up maybe perhaps fixing some. I can't be certain because everything uses try-catch. I had to manually dismantle try-catch uses so I could actually trace bugs.
Anyway, may be a tiny bit less unstable now instead of not working half the time (which nobody notices because try-catch suppresses runtimes). As mentioned at the top, the starsystem json must be reset for this to work, as some type infection is in the save itself (the default json should be fine however)

The morale of the story?

Do not use try catch if you want to not have your system breaking unnoticable and untraceable.

Why It's Good For The Game

Fun mechanics for some fun encounters.

Also fix man good.

Testing Photographs and Procedure

Find out yourself :)

Changelog

🆑
add: Overmap singularities now have more impactful effects, including but not limited to increased gravity inside nearby vessels, dampener interference, and improved directional pull.
add: Full hardsuits now provide 1G gravity protection against damage, though they do not improve movement.
balance: Silicons will suffer from consistently very high gravity, starting at above 8G.
tweak: Some interactions with high gravity previously limited to grav-sensitive individuals now are accessible to anyone, albeit at lower magnitude (generally 3G higher tolerance)
fix: Starsystem persistence should now be slightly less volatile.
config: The starsystem persistence config MUST be reset to the default starmap for the fixes in this PR to apply correctly.
/:cl:

more blackhole fun
and also starsystem JSON FUN TIMES because it is one of the most unstable things we have running.
this list doesn't get edited and should always be safe unless the json is messed with.
@DeltaFire15 DeltaFire15 added Feature Config Update Fix Tweak Balance/Rebalance Overmap This issue or PR is related to overmap interactions Starsystem Issues and pull requests related to star systems. labels Dec 3, 2023
@Bokkiewokkie
Copy link
Contributor

Do not use try catch if you want to not have your system breaking unnoticable and untraceable.

Actually I'm pretty sure we used try catch at the time because otherwise it wouldn't let us run our broken code and we wanted to hide that from the compiler :)

code/__DEFINES/traits.dm Show resolved Hide resolved
code/modules/mob/living/silicon/silicon.dm Outdated Show resolved Hide resolved
@Bokkiewokkie Bokkiewokkie merged commit eba4fe9 into BeeStation:master Jan 12, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Active Test Merge Balance/Rebalance Config Update Feature Fix Overmap This issue or PR is related to overmap interactions Starsystem Issues and pull requests related to star systems. Tweak
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants