mage icon indicating copy to clipboard operation
mage copied to clipboard

Add to the client an option to skip to the end of each turn

Open spjspj opened this issue 2 years ago • 9 comments

Added a hotkey of F1.

This will let users skip through to the end of each turn if they've got something to do at the end of each turn.

spjspj avatar Sep 10 '22 13:09 spjspj

More importantly, how is this different than the current existing "to end step" F5 button?

Alex-Vasile avatar Sep 10 '22 17:09 Alex-Vasile

Hi. This allows the user to choose to skip to the end step of each step (including their own). F5 doesn't actually just stop at the end step and forces you to respond to triggers. In multiplayer games and for decks that play, for example, seedborn muse/unwinding clock, you want to be able to ignore the turn until you are able to do something at the end of each turn. This will actually speed up games and is an enhancement on the F11 function I implemented in like 2016 or so.

spjspj avatar Sep 11 '22 01:09 spjspj

Several of these files (e.g. PreferencesDialog.java) have a .form file which autogenerate the .java file. I believe the the changes you made to these java files must be made to the .form instead.

Changing just the .java will cause these changes to be lost the next time the .form files are edited.

Ok, will check.

spjspj avatar Sep 11 '22 01:09 spjspj

Hi. This allows the user to choose to skip to the end step of each step (including their own). F5 doesn't actually just stop at the end step and forces you to respond to triggers. In multiplayer games and for decks that play, for example, seedborn muse/unwinding clock, you want to be able to ignore the turn until you are able to do something at the end of each turn. This will actually speed up games and is an enhancement on the F11 function I implemented in like 2016 or so.

I see, thanks for the clarification. That makes sense. Yes I agree it would be useful to have a version of F5 that doesn't stop for triggers on the stack.

I seen this as a variation of F11 AND F5. F11 since it stops on all ENDs and F5 since it skips choices (other than blockers).

Is it possible to change one of them to work something like: F5 works as normal, SHIFT+F5 skips stack items? (or same idea for F11)

Alex-Vasile avatar Sep 11 '22 01:09 Alex-Vasile

Several of these files (e.g. PreferencesDialog.java) have a .form file which autogenerate the .java file. I believe the the changes you made to these java files must be made to the .form instead. Changing just the .java will cause these changes to be lost the next time the .form files are edited.

Ok, will check.

You will need to follow instructions here: https://github.com/magefree/mage/wiki/Setting-up-your-Development-Environment#netbeans

it uses an ANCIENT version of Netbeans.

Alex-Vasile avatar Sep 11 '22 01:09 Alex-Vasile

Is this ok to merge in?

spjspj avatar Sep 22 '22 06:09 spjspj

Is this ok to merge in?

See my comment about it it's possibly to implement this as SHIFT+F5.

https://github.com/magefree/mage/pull/9504#issuecomment-1242835467

Alex-Vasile avatar Sep 22 '22 11:09 Alex-Vasile

This should be implemented as a preferences option (e.g. default lets you respond to triggers, option enabled skips them) rather than adding a third "skip to end step" button. Having three very similar buttons would be very confusing for users.

awjackson avatar Sep 22 '22 13:09 awjackson

This should be implemented as a preferences option (e.g. default lets you respond to triggers, option enabled skips them) rather than adding a third "skip to end step" button. Having three very similar buttons would be very confusing for users.

Hence why I was suggesting a shortcut.

Each of the skips have one behaviour (either stops or doesn't stop for stack items) when pressed on their own, and then the opposite behaviour when activated with the modifier key.

F5 skips to end step, SHIFT+F5 skips to end step but stops on stack items. Same idea for the rest.

Alex-Vasile avatar Sep 22 '22 13:09 Alex-Vasile

This should be implemented as a preferences option (e.g. default lets you respond to triggers, option enabled skips them) rather than adding a third "skip to end step" button. Having three very similar buttons would be very confusing for users.

F5 is impressively annoying in that it stops for every trigger going onto the stack so it's not actually a 'skip to end of turn' button at all imho.

Hence why I was suggesting a shortcut.

F1 is the (proposed) shortcut for this particular new functionality.

Each of the skips have one behaviour (either stops or doesn't stop for stack items) when pressed on their own, and then the opposite behaviour when activated with the modifier key.

No other 'FX' button has any modifier as it currently stands.

F5 skips to end step, SHIFT+F5 skips to end step but stops on stack items. Same idea for the rest.

F5 does its own thing and has been in the code base since the start so modifying that would break people's muscle memory. F11 and F9 do similar but different things. F1 would be similar to F11 but with the modifier for every end step. As I said before, F5 is super annoying in that it stops for every trigger going onto the stack when (to my mind) it at least some of the time shouldn't, but the number of people who would complain if the functionality was changed at all would be high...

spjspj avatar Sep 24 '22 06:09 spjspj

F5 is impressively annoying in that it stops for every trigger going onto the stack so it's not actually a 'skip to end of turn' button at all imho.

This is an opinion. I personally find it extremely annoying that "Skip to end step" does not stop when an object gets put on the stack.

F1 is the (proposed) shortcut for this particular new functionality.

I mispoke. I meant keyboard shortcut.

No other 'FX' button has any modifier as it currently stands.

No other 'FX' button currently has any modifier. But adding an extra button for each different spot for each permination of options is not a viable strategy. We will run out of buttons and space.

F5 does its own thing and has been in the code base since the start so modifying that would break people's muscle memory. F11 and F9 do similar but different things. F1 would be similar to F11 but with the modifier for every end step. As I said before, F5 is super annoying in that it stops for every trigger going onto the stack when (to my mind) it at least some of the time shouldn't, but the number of people who would complain if the functionality was changed at all would be high...

Then we can add options in the setting for the default behaviour of each button so that the behaviour of the buttons stay as they are currently.

Alex-Vasile avatar Sep 24 '22 18:09 Alex-Vasile

F5 is impressively annoying in that it stops for every trigger going onto the stack so it's not actually a 'skip to end of turn' button at all imho.

This is an opinion. I personally find it extremely annoying that "Skip to end step" does not stop when an object gets put on the stack.

^^ That is its current behaviour. Why are you annoyed about something that does what you want already?

F1 is the (proposed) shortcut for this particular new functionality.

I mispoke. I meant keyboard shortcut.

^^ F1 is the keyboard shortcut I proposed.

No other 'FX' button has any modifier as it currently stands.

No other 'FX' button currently has any modifier. But adding an extra button for each different spot for each permination of options is not a viable strategy. We will run out of buttons and space.

^^ That was my exact point. They currently don't. It's not a permutation, it's an entirely new proposed function that sounds like you wouldn't use. I would 100% use the function as implemented in a majority of my decks.

F5 does its own thing and has been in the code base since the start so modifying that would break people's muscle memory. F11 and F9 do similar but different things. F1 would be similar to F11 but with the modifier for every end step. As I said before, F5 is super annoying in that it stops for every trigger going onto the stack when (to my mind) it at least some of the time shouldn't, but the number of people who would complain if the functionality was changed at all would be high...

Then we can add options in the setting for the default behaviour of each button so that the behaviour of the buttons stay as they are currently.

Ok, we can do that, or we can add a new button that matches to a new function that is different to existing functions as has been done in the past. You have one opinion, I have another with a pull request that won't break anything and has had no non-fixed changes left on it. If there's something in the change that would break something, I can fix it.

spjspj avatar Sep 25 '22 05:09 spjspj

@spjspj

Rather than reply to our growing thread I'll start one here:

  1. I would use the functionality to skip to a turn's end step without pausing for stack objects
  2. I meant to say "skip to prior end"
  3. My point about no other skips having a vsariation is this: these variations should be added as a modifier key, I keep saying that this should use SHIFT+F5 rather than F1 but you seem to be ignoring it.
  4. Again, I am against adding a new button for each variation of our current skips. the proposed changes here are not a new skip, it is a change of behaviour for a current skip (It's still a skip till end step, but it skips over stack objects entering) which is being implemented with a whole new keyboard shortcut and button rather than with a modifier key.

I am against this because of the following: What happens if someone whats a F9 (to your turn) which does stop when things are put on the stack? Making a new button for it is a bad approach. Taking the current approach to its logical conclusion would need 12 buttons (we have 6 skips, and multiply by 2 for each variation). Except we can't even do that since F2, F3, F6, F8, F12 are already bound to something else by default.

Alex-Vasile avatar Sep 25 '22 16:09 Alex-Vasile

@spjspj

Rather than reply to our growing thread I'll start one here:

1. I would use the functionality to skip to a turn's end step without pausing for stack objects

2. I meant to say "skip to _prior_ end"

3. My point about no other skips having a vsariation is this: these variations should be added as a modifier key, I keep saying that this should use  SHIFT+F5 rather than F1 but you seem to be ignoring it.

4. Again, I am against adding a new button for each variation of our current skips. the proposed changes here are not a new skip, it is a change of behaviour for a current skip (It's still a skip till end step, but it skips over stack objects entering) which is being implemented with a whole new keyboard shortcut and button rather than with a modifier key.

I am against this because of the following: What happens if someone whats a F9 (to your turn) which does stop when things are put on the stack? Making a new button for it is a bad approach. Taking the current approach to its logical conclusion would need 12 buttons (we have 6 skips, and multiply by 2 for each variation). Except we can't even do that since F2, F3, F6, F8, F12 are already bound to something else by default.

Sure whatever.

spjspj avatar Oct 02 '22 06:10 spjspj