pokerogue
pokerogue copied to clipboard
[DRAFT, Enhancement] Skip egg hatching and show summary
What are the changes?
- Add a prompt that enables players to skip egg hatching and go straight to a summary page
- Adding an egg summary page that gives a quick overview of the pokemon hatched from eggs:
- Use icons to indicate if a hatched pokemon had a hidden ability, egg move or was shiny (alongside their actual sprite)
- Animations (jumping) for new pokemon not caught before
- Able to navigate pokemon with cursor to see pokemon sprite and info (same as when caught/hatched normally)
Why am I doing these changes?
- Egg hatching can be tedious and time consuming, watching animations and dialogue for mostly unimportant pokemon
- The ease of skipping these animations altogether can save large amounts of time
- The summary page provides players the opportunity to completely skip egg hatching and still be able to check if there were any noticeable hatches / unlocks at a glance incase they missed something
- Improves overall QoL for those hatching large amounts of eggs
What did change?
What changes for players?
- when eggs hatch a "skip egg hatching?" prompts the player for when there are more than 5 eggs
- there is a new egg summary screen which shows various icons for pokemon hatched, and can be navigated with a cursor to see more info for each player (exited with 'X' / cancel)
What changes for the code?
- Added an EggSkipPhase that determines whether there is enough eggs hatching to be skipped, parses the "skip egg hatching?" prompt to either serially start EggHatchPhases (as per main) or start the EggSummaryPhase
- Added an EggSummaryPhase which performs hatching and pokedex updates
- Added an EggSummaryUiHandler which manages the UI of all the icons, info screens, sprites, cursors etc. (the UI logic was moved from EggSummaryPhase to EggSummaryUiHandler) - allows cursor navigation and updates the current display info and sprite accordingly, can exit with Button.CANCEL
TODOs (feedback is welcome, especially for UI and style/layout)
- [X] Add skip prompt
- [X] Seperate egg hatching functionality from animations
- [ ] Fix egg hatching and UI setup lag / improve load times or appropriate message / animation
- [X] Summary page broad layout
- [ ] Neat icons
- [ ] Clarify what icons mean what and appropriate logic:
- [X] Hidden ability icon
- [X] Shiny icon
- [ ] New Egg Move icon
- [ ] Pokeball / new unlock icon (needs to be clarified)
- [ ] Catch animation (new pokemon jump)
- [X] Implement UI navigation for summary
- [X] Logic for storing new catch / hatch info and new egg moves
- [ ] Proper UI to show new unlocks / hatch info (as per showInfo function) on left side of screen
- [ ] Display (and fit) pokemon sprite on left side of screen above info
- [ ] New background might be necessary (currently reuses eggListBg, has weird shadow built in and may not fit sprites well)
Screenshots/Videos
Large amount of hatched pokemon, pokemon sprite working and showInfo working (showInfo still needs to be reworked / text taken out and rearranged to fit - this is temporary to show catch info and prove info is working as intended)
Note there is a large lag when the pokemon are being hatched / generated and the UI is being setup. I believe it's due to the overhead of loading the showInfo screens beforehand so it isn't overwritten by new pokedex info.
How to test the changes?
Git checkout the branch, overrides are currently on the branch. Pull some eggs (manual free egg override atm), then finish any wave and accept prompt)
- Currently the eggs do not clear since it is less of a hassle to setup to check minor changes
Checklist
- [X] Have I checked that there is no overlap with another PR?
- [X] Have I made sure the PR is self-contained and cannot be split into smaller PRs?
- [X] Have I provided a clear explanation of the changes?
- [ ] Have I tested the changes (manually)? (NOT READY FOR TESTING)
- Currently the eggs do not clear since it is less of a hassle to setup to check minor changes
- [X] Are the changes visual?
- [X] Have I provided screenshots/videos of the changes?
- Note visual changes WIP and layout, style not decided or close to finished