Skip to content

Correctly indicate morn/day/nite wild data #128

@Rangi42

Description

@Rangi42

As discussed in pret's #prototypes-and-leaks Discord, wild data does not come in even morn+day+nite chunks of 6 species each. Instead, it's in overlapping chunks of 11 species each:

Image

We need a convention for commenting or otherwise indicating the overlap.

Long-term I think macros would be helpful -- this is exactly the kind of subtle constraint that's easy to get off-by-one during disassembling or romhacking, so macros to enforce the correct sizes would help. But for now we can at least use comments. Suggestion:

	; morn only
	db 7, DEX_SUNNY
	db 3, DEX_SUNNY
	db 5, DEX_SUNNY
	; morn/day
	db 5, DEX_PIKACHU
	db 5, DEX_PIDGEY
	db 5, DEX_PIDGEY
	db 4, DEX_RATTATA
	; morn/day/nite
	db 6, DEX_KIRINRIKI
	db 4, DEX_KIRINRIKI
	db 4, DEX_HANEKO
	db 4, DEX_PIDGEY
	; day/nite
	db 8, DEX_RATTATA
	db 7, DEX_RATTATA
	db 5, DEX_RATTATA
	; nite only
	db 5, DEX_RATTATA
	db 7, DEX_RATTATA
	db 8, DEX_RATTATA
	db 5, DEX_PIKACHU

When Gold and Silver differ in their wild rosters, we might want to just if/else the whole roster at once so it reads more easily:

if DEF(GOLD)
	; morn only
	db 7, DEX_SUNNY
	db 3, DEX_SUNNY
	db 5, DEX_SUNNY
	; morn/day
	db 5, DEX_PIKACHU
	db 5, DEX_PIDGEY
	db 5, DEX_PIDGEY
	db 4, DEX_RATTATA
	; morn/day/nite
	db 6, DEX_KIRINRIKI
	db 4, DEX_KIRINRIKI
	db 4, DEX_HANEKO
	db 4, DEX_PIDGEY
	; day/nite
	db 8, DEX_RATTATA
	db 7, DEX_RATTATA
	db 5, DEX_RATTATA
	; nite only
	db 5, DEX_RATTATA
	db 7, DEX_RATTATA
	db 8, DEX_RATTATA
	db 5, DEX_PIKACHU
else
	; morn only
	db 8, DEX_PIDGEY
	db 8, DEX_PIDGEY
	db 7, DEX_PIDGEY
	; morn/day
	db 5, DEX_PIKACHU
	db 5, DEX_PIDGEY
	db 5, DEX_PIDGEY
	db 4, DEX_RATTATA
	; morn/day/nite
	db 6, DEX_KIRINRIKI
	db 4, DEX_KIRINRIKI
	db 4, DEX_MARIL
	db 4, DEX_PIDGEY
	; day/nite
	db 8, DEX_RATTATA
	db 7, DEX_RATTATA
	db 5, DEX_RATTATA
	; nite only
	db 5, DEX_RATTATA
	db 5, DEX_HOHO
	db 3, DEX_HOHO
	db 5, DEX_PIKACHU
endc

Or we can keep if/elseing only the different data:

	; morn only
if DEF(GOLD)
	db 7, DEX_SUNNY
	db 3, DEX_SUNNY
	db 5, DEX_SUNNY
else
	db 8, DEX_PIDGEY
	db 8, DEX_PIDGEY
	db 7, DEX_PIDGEY
endc
	; morn/day
	db 5, DEX_PIKACHU
	db 5, DEX_PIDGEY
	db 5, DEX_PIDGEY
	db 4, DEX_RATTATA
	; morn/day/nite
	db 6, DEX_KIRINRIKI
	db 4, DEX_KIRINRIKI
if DEF(GOLD)
	db 4, DEX_HANEKO
else
	db 4, DEX_MARIL
endc
	db 4, DEX_PIDGEY
	; day/nite
	db 8, DEX_RATTATA
	db 7, DEX_RATTATA
	db 5, DEX_RATTATA
	; nite only
	db 5, DEX_RATTATA
if DEF(GOLD)
	db 7, DEX_RATTATA
	db 8, DEX_RATTATA
else
	db 5, DEX_HOHO
	db 3, DEX_HOHO
endc
	db 5, DEX_PIKACHU

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions