-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Temporarily make singularity a bit harder to loose as non-antag #33358
Temporarily make singularity a bit harder to loose as non-antag #33358
Conversation
your changelog doesn't look right
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tiny time change suggestion, otherwise I think it looks good
/// For how long the failsafe will cause the generator to stop working and not issue a failsafe warning | ||
/// </summary> | ||
[DataField] | ||
public TimeSpan FailsafeCooldown = TimeSpan.FromSeconds(30); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lower this to something like 10 seconds. It can feel kinda weird if you miss the text and then it takes half a minute to get any idea why it failed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done! Set it to 10 seconds exactly
Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
Outdated
Show resolved
Hide resolved
Hopefully without explosions yay
9ab2e28
to
9c66645
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
Do you have anything constructive to add other than a witty remark |
This comment was marked as off-topic.
This comment was marked as off-topic.
RIP Killdozer |
o7 Though it's still possible to make one either through managing containment field stuff just right, or having an emag handy. So not all is lost. |
Honestly I think that accidents should be possible, but unlikely. I dislike the idea of making it impossible to screw up the power at all and think that there should instead be more measures to abort an early singuloose/teslaloose like providing the anti singuloose gun roundstart to the CE etc to mitigate disasters like this. Maybe make the failsafe only work for 1-2 hits before failing with big red text would be a better idea generally if people REALLY think engi should get a failsafe at all for singulo/tesla |
As evident from a round I played just the other day, Engineering is more than capable of loosing a Singularity that is already contained through incompetence. It can happen. The issue this PR primarily aims to solve is that of bad actors (non-antags) who intentionally bring the generator in front of the PA to loose as soon as they spawn in. While yes, it does also prevent singuloosing due to incompetence or miscommunication roundstart, I feel keeping the round from ending in the first 10 minutes is an alright compromise in this case. |
#8524 I sure hope there was a merged design document for this Emag Interaction |
We discussed this among maintainers and weighed the other options available to us, and decided that despite the linked issue the EMAG was a necessary compromise in this instance. The choice was made with the EMAG functionality bloat considered. There are a lot more existing EMAG interactions I would cut before this one, and I think that will be reflected in whatever PR ends up tackling that issue. |
Honestly the EMAG functionality might be removed as well. Something to consider. There was some push-back against the change as is, with a concern about antagonist freedom, so I made this interaction as a compromise. |
About the PR
The singularity/tesla generator, when hit by PA, now checks in cardinal directions for a containment field, and enters a 30 second failsafe lockout if it's not contained.
Why / Balance
Prevents instant loose by non-antag players.
Technical details
Kinda copy-pasted from
ContainmentFieldGeneratorSystem.cs
Also breaks the emag feature freeze so can ditch that.
Media
(ignore the missing s, it's 4AM)
Requirements
Breaking changes
Changelog
🆑