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

Config for move slot rearrangement in battle #6017

Merged
merged 3 commits into from
Jan 17, 2025

Conversation

hedara90
Copy link
Collaborator

@hedara90 hedara90 commented Jan 13, 2025

Description

Added config to set if move slot can be rearranged in battle.
Before Gen 4 move slots could be freely rearranged in battle, but Gen 4+ it can only be done in the summary screen out of battle.

Issue(s) that this PR fixes

Fixes #5943

People who collaborated with me in this PR

@ghoulslash for pointing out the exact point in the code where move slot rearrangement is handled.

Things to note in the release changelog:

  • Move slot rearrangement is disabled by default in battle, set B_MOVE_REARRANGEMENT_IN_BATTLE to GEN_3 to enable rearrangement again.

Discord contact info

hedara

@hedara90 hedara90 added the new-feature Adds a feature label Jan 13, 2025
@AsparagusEduardo
Copy link
Collaborator

Two main things:
This started being a thing since Gen 4, not 6.
https://gamefaqs.gamespot.com/boards/925601-pokemon-diamond-version/48327023

I need to double check if it's not possible to rearrange moves in battle from the party screen in modern games, because this post implies that you can:
https://gamefaqs.gamespot.com/boards/259372-pokemon-sword/78167626

I'm actually wondering if this should be a general thing instead of just a Conversion thing, as sorting moves in battle to me is one of those big QoL things that I wish they never got rid of (though understandable for the touch-screen generations)

@mrgriffin
Copy link
Collaborator

mrgriffin commented Jan 13, 2025

I'm actually wondering if this should be a general thing instead of just a Conversion thing, as sorting moves in battle to me is one of those big QoL things that I wish they never got rid of (though understandable for the touch-screen generations)

We almost always follow GF's behavior even when it's undesirable, so shouldn't we should do the same here?

But if we were going to have an opt-in way to depart from GF's behavior, "you can't rearrange moves if you know Conversion" doesn't sound too bad but it probably needs a message to pop-up because I think it could be quite confusing otherwise.

An alternative (also opt-in departure) option could be to remember which move slot was the 1st move slot at the start of the battle (or which move was in that slot), but that might be a bit fiddly because of things like Mimic or learning moves via level-up.

@hedara90
Copy link
Collaborator Author

hedara90 commented Jan 13, 2025

An alternative option could be to remember which move slot was the 1st move slot at the start of the battle (or which move was in that slot), but that might be a bit fiddly because of things like Mimic or learning moves via level-up.

That seems overly fiddly.
I feel like just having the config is enough, it can be set to Gen 3 for the QoL, or is a user really wants to have the in-battle rearrangement but not the buff to Conversion, it seems like an easy enough check to implement for individual hacks.

@hedara90
Copy link
Collaborator Author

Updated the gen cutoff

@AsparagusEduardo
Copy link
Collaborator

We almost always follow GF's behavior even when it's undesirable, so shouldn't we should do the same here?

I was thinking if we could make an exception here like how we made an exception for out-of-battle abilities in Gen9.

I feel like just having the config is enough, it can be set to Gen 3 for the QoL, or is a user really wants to have the in-battle rearrangement but not the buff to Conversion, it seems like an easy enough check to implement for individual hacks.

I can't check rn if in SwSh you can reorder the moves in battle from the party menu. . If that's the case, the restriction in the move menu becomes a bit pointless in that game.
Otherwise, would it be ok for me to add that check in a future PR?

@hedara90
Copy link
Collaborator Author

Sure.
I tested it in Gen 7 at least, and you can't re-arrange in battle in any way there.

@AsparagusEduardo
Copy link
Collaborator

Just confirmed on both Shield and Scarlet, you cannot sort them in-battle from the summary.

@hedara90
Copy link
Collaborator Author

So where are we with this config then?
Anything that needs to be changed?

include/config/battle.h Show resolved Hide resolved
src/battle_controller_player.c Show resolved Hide resolved
@hedara90
Copy link
Collaborator Author

Review comments addressed

@Bassoonian Bassoonian merged commit 3bcfa35 into rh-hideout:upcoming Jan 17, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature Adds a feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants