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

New Pokédex interface with more features #642

Closed
Rangi42 opened this issue Jun 13, 2021 · 7 comments
Closed

New Pokédex interface with more features #642

Rangi42 opened this issue Jun 13, 2021 · 7 comments

Comments

@Rangi42
Copy link
Owner

Rangi42 commented Jun 13, 2021

This is being developed in 9bit since that needed a rewrite of the Pokédex anyway.

Main screen

image

Up/Down/Left/Right moves the cursor. B exits. A enters the current mon's Info page. Sel opens the Mode picker (Regional, National, Alphabetical, or Unown). Start opens the Search screen (search by Type1, Type2, Group1, Group2, Body, and/or Color.)

On all Pokémon-specific pages (Info, Bio, Stats, Area), Up/Down switch the Pokémon, Left/Right switch the page, and Start cycles through formes.

Search screen

image

Up/Down moves the cursor. Left/Right switches between values for the current field, with "----" being cleared. A switches to the next field value. B exits to the main screen. Sel clears all the fields. Start acts like pressing A on "Start!".

If all fields are cleared, "Start!" will reinitialize the dex list.

Mode screen

image

Up/Down moves the cursor. B exits to the main screen. A chooses the current menu item.

Unown mode

image

Up/Down/Left/Right moves the cursor. B exits to the main screen. Sel cycles between normal and shiny palettes (only enabled when you get the Shiny Charm).

Info page

image

A cycles between pages 1 and 2. Sel cycles between normal and shiny palettes (only enabled when you get the Shiny Charm).

Bio page

image

A plays the cry. Sel cycles between normal and shiny palettes (only enabled when you get the Shiny Charm).

  • The body icon is colored according to the Pokémon's color: red, blue, yellow, green, black, brown, purple, gray, white, or pink. Maybe non-faithful will add orange.
  • "Egg Groups" is only plural if there are two groups. Faithful will use canon names like "Water 3" instead of "Invertebrate".
  • "Hatch" maps the "step cycles to hatch" to a descriptor: Slowest, Slower, Slow, Medium-Slow, Medium-Fast, Fast, Faster, Fastest, or N/A.

Shape icons are from Gen 4/5, with added eyes like Gen 6+:

image

Note, these are the used catch rate values so far: 3, 25, 30, 35, 40, 45, 50, 60, 65, 70, 75, 80, 90, 100, 110, 120, 125, 130, 145, 150, 170, 180, 190, 200, 225, 235, 255

Stats page

image

A cycles between abilities 1, 2, and H. Sel cycles between normal and shiny palettes (only enabled when you get the Shiny Charm).

EV yields are indicated by dots next to the base stats.

Area page

image

A cycles between "habitats" (Morn, Day, Nite, Surf, Fish, Tree, and Game [for the Bug-Catching Contest and eventual Safari Game]). Sel cycles between regions.

Habitats without any encounters are skipped when cycling. If no habitats for the current region have any encounters, it just says "None" without the A icon. Switching the region (with Sel) or the forme (with Start) resets the habitat.

The habitat defaults to the first one relevant to your situation that has encounters (if you're Surfing, if you're in the contest, or the current time of day), or if none are relevant then just the first one with encounters (e.g. a fishing-only Pokémon would default to Fish).

When the wild icons blink off, the player icon will blink on, and vice-versa. (Since holding Sel can no longer make the player icon appear.)

Uncaught Pokémon

A Pokémon that isn't caught does not show the Bio or Stats pages.

image

Catching Pokémon

When a Pokémon is first caught, its Info is shown, without the Start/Form, Sel/Shiny, or page bar appearing.

image

@katadonutskuri
Copy link

katadonutskuri commented Aug 2, 2021

This is being developed in 9bit since that needed a rewrite of the Pokédex anyway.

This repo is attempting to do 16bit, is there any plans for that for PC? https://github.com/aaaaaa123456789/pokecrystal16

Also, rather than all the info about egg groups, hatch speed, etc would it make better sense to add evolution methods, etc? Like you can see each pokemon's evolution tree and the methods (unless that's hard to implement).

@itsdarsh
Copy link
Collaborator

itsdarsh commented Aug 2, 2021

I can't really comment on the suggestion, but I can say we are not wholly porting pokecrystal16 to expand our mon species. We have our own method that also incorporates forms, and outside of the pokedex the rest of the code is implemented and being bug-tested.

@Rangi42
Copy link
Owner Author

Rangi42 commented Aug 2, 2021

This is the final draft for new dex features. If PC introduced an evolution method checker like Gen 5, it would be an NPC who tells you about your party Pokémon.

@Rangi42
Copy link
Owner Author

Rangi42 commented Aug 17, 2021

About the new base data: one nybble is needed for color (10 or 11 values) and one nybble for shape (14 values). However, two nybbles are already free in base data: wBaseGrowthRate only has 4 values, and only the low nybble of wBasePicSize is ever used since they're identical anyway ($55, $66, or $77). So:

-	INCBIN "gfx/pokemon/togepi/front.dimensions"
-	abilities_for TOGEPI, HUSTLE, SERENE_GRACE, SUPER_LUCK
-	db GROWTH_FAST ; growth rate
+	INCLUDE "gfx/pokemon/togepi/front.dimensions"
+	nybble GROWTH_FAST ; growth rate
+	abilities_for TOGEPI, HUSTLE, SERENE_GRACE, SUPER_LUCK
+	dn COLOR_RED, SHAPE_BIPEDAL

front.dimensions would now be a text file containing nybble 5, nybble 6, or nybble 7.

nybble: MACRO
	assert $0 <= (\1) && (\1) <= $F, "nybble must be $0-$F"
	if !DEF(__nybble__)
		def __nybble__ = \1
	else
		dn __nybble__, \1
		PURGE __nybble__
	endc
ENDM

(There's also an unused nybble in the second ev_yield byte, in case we ever need to add another field.)

@FredrIQ
Copy link
Collaborator

FredrIQ commented Aug 17, 2021

Shouldn't color + shape be part of dex_entries? After the metrification, we freed up a byte there that can be used for this.

@Rangi42
Copy link
Owner Author

Rangi42 commented Oct 28, 2021

This covers #515.

@Rangi42
Copy link
Owner Author

Rangi42 commented Jan 22, 2022

This is complete, pending merge of 9bit into master.

@Rangi42 Rangi42 closed this as completed Jan 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants