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

Ports "Emergency Shuttle Emag Rebalance" from Monkestation #9714

Closed

Conversation

CydiaLamiales
Copy link
Contributor

About The Pull Request

Ports Monkestation#982
Reworks shuttle emagging so that instead of it reducing the time left to 10 seconds, it will halve the remaining time each usage. You can keep halving the remaining time until it has reached 10 seconds, the emag effect has a 2 second cooldown.

While reworking this I also noticed that hijacking was not working as intended; there was supposed to be a cooldown between attempts at increasing hijack stages, but was not implemented correctly. While this does fix that, I feel that 5 seconds may be too big of a nerf from being able to spam it, so as a slight compromise, it'll be 2 seconds, just like the emag.

I'd be happy to adjust these numbers for balance reasons as well.

Why It's Good For The Game

Emags launching the shuttle within 12 seconds of it landing is incredibly lame and OP.

Testing Photographs and Procedure

Screenshots&Videos
bandicam.2023-08-19.20-31-52-296.mp4

Changelog

🆑lmenvs,CydiaLamiales
balance: Emagging the emergency shuttle now halves remaining timer. You can further reduce the timer by using the emag again (every 2 seconds).
fix: Hijacking stage increases now properly have a cooldown (2 seconds).
/:cl:

Copy link
Contributor

@Rukofamicom Rukofamicom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will just re-introduce the exact problem #8580 aimed to fix, enabling non-murderbone antagonists to cause a major shuttle kerfuffle just because they feel like it. While I still personally believe this is okay, the final decision on the linked PR set a code-level precedent that it wasn't imo.

Copy link
Contributor

@Rukofamicom Rukofamicom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless #8580 is being considered for reversion, the emag interaction with shuttle consoles should simply be removed because I agree it is both a boring and powerful card for an antagonist to pull, enabling a hijack with minimal or no interaction for the crew.

If there is no reason for non-hijack antagonists to create a fight on the shuttle at round end, that should extend to players using an emag.

code/modules/shuttle/emergency.dm Show resolved Hide resolved
@EvilDragonfiend EvilDragonfiend dismissed their stale review August 20, 2023 15:55

in adjustment with Ruko

@Rukofamicom
Copy link
Contributor

Talked with Dragon for a moment and if you want to add a new effect to emagging the shuttle that's perfectly fine, but we do both agree that it shouldn't result in any form of early departure or hijacking equivalent.

Ideas for what it could do if you feel so inclined:

  • Delay shuttle launch once (Buy some time for a teammate to accomplish something)
  • Override safety causing the shuttle to launch everyone when it takes off (current behavior, just removing the hijack and timers

@EvilDragonfiend
Copy link
Member

  • Delay shuttle launch once (Buy some time for a teammate to accomplish something)
  • Override safety causing the shuttle to launch everyone when it takes off (current behavior, just removing the hijack and timers

Note that having both of the effects works too.

@CydiaLamiales
Copy link
Contributor Author

Talked with Dragon for a moment and if you want to add a new effect to emagging the shuttle that's perfectly fine, but we do both agree that it shouldn't result in any form of early departure or hijacking equivalent.

Ideas for what it could do if you feel so inclined:

  • Delay shuttle launch once (Buy some time for a teammate to accomplish something)
  • Override safety causing the shuttle to launch everyone when it takes off (current behavior, just removing the hijack and timers

How long should the delay be?

@EvilDragonfiend
Copy link
Member

EvilDragonfiend commented Aug 20, 2023

Talked with Dragon for a moment and if you want to add a new effect to emagging the shuttle that's perfectly fine, but we do both agree that it shouldn't result in any form of early departure or hijacking equivalent.
Ideas for what it could do if you feel so inclined:

  • Delay shuttle launch once (Buy some time for a teammate to accomplish something)
  • Override safety causing the shuttle to launch everyone when it takes off (current behavior, just removing the hijack and timers

How long should the delay be?

90 seconds no matter it's docked or escaping.
Emagging during escaping will be an interesting strategy since you get 90s more in the shuttle.

Copy link
Member

@itsmeow itsmeow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what Ruko means by allowing nonmurderbone antags to make a kerfuffle. From what I understand nonmurderbone antags already can't hijack the shuttle.

//SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LAUNCH IN 10 SECONDS
to_chat(user, "<span class='warning'>The shuttle is already launching!</span>")
return FALSE
if((emag_last_used + emag_cooldown) >= world.time) //if emagging is on cooldown
say("Error - Catastrophic software error detected. Input is currently on timeout.")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should just be a to_chat to the user since it's extremely spammable

authorized += ID

process(SSMACHINES_DT)
if((obj_flags & EMAGGED))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to adjust can_emag to allow this to happen, you shouldn't check conditions like this in on_emag. our emag code is a little different

@@ -253,31 +268,26 @@
// How did you even get on the shuttle before it go to the station?
if(!IS_DOCKED)
return FALSE
if(!..() || ENGINES_STARTED)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does the super call do here? Why is it removed?

@itsmeow
Copy link
Member

itsmeow commented Aug 31, 2023

Also you could use the emag popup from computers to add some flavor here if you want

@Rukofamicom
Copy link
Contributor

Rukofamicom commented Aug 31, 2023

From what I understand nonmurderbone antags already can't hijack the shuttle.

#8580 tried to prevent this for non-murderbone antags on the grounds of causing unnecessary "murderbone" and headaches for admins at round end.

Emagging the console is effectively forcing the same situation within this PR, and anyone with an emag (antag or not) can cause this interaction mechanically. If this interaction is slowed down to function more like a conventional hijack while being available to non-murderbone antags... surely you can see the problem given we tried to remove the ability for non-murderbone antags to create shuttle fights just for the fun of it?

If we're okay with non-bone antags causing cockpit fights just because they feel like it, then #8580 needs to be reverted. (I would like this, as I was strongly against #8580 being merged)

Alternatively we change the emag effect on shuttles, or make it only available to bone antags (which is a little fucky but works)

@CydiaLamiales
Copy link
Contributor Author

So, what should I do here?

@PowerfulBacon
Copy link
Member

Honestly the emag behaviour on the console should be changed entirely. Having to press it 4 times instead just makes 4 really loud and annoying bleeps change and raises the timer to like 20 seconds instead of 10.

@CydiaLamiales
Copy link
Contributor Author

Meh, this isn't going anywhere.

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.

5 participants