pret / pokecrystal

Disassembly of Pokémon Crystal
https://pret.github.io/pokecrystal/
2.06k stars 770 forks source link

Add Hatch_*_STEPS constants #1121

Closed etdv-thevoid closed 2 months ago

etdv-thevoid commented 2 months ago

Adds HATCH_*_STEPS constants for the various hatch step cycle count values. Updates all data/pokemon/base_stats/* files to use the appropriate constant as well as the odd eggs in data/events/odd_eggs.asm.

mid-kid commented 2 months ago

Thank you for your first contribution! We really appreciate people making a conscious effort to not only spot wrinkles in code style/names/etc but also fix them.

That said, with any sort of constants the question is: does the value make more sense as a number, or does that numer have some kind of hidden meaning? In this case, an "egg cycle" is a multiple of 256 steps, and I think the numbers make sense on their own. The GENDER_F constants were introduced to clarify that the percentage represents the female, but I don't inmediately see any similar reason to this change. Do these hatch cycle constants reflect any common official or fan names for them? Do they map to other values in other games?

I'll leave this up for others to opine on, but to me it looks a bit unnecessary.

EDIT: whoops, didn't see rangi's comment before submitting.

etdv-thevoid commented 2 months ago

Thanks for the feedback, both of you.

I went ahead and renamed the constants to how many steps they equal and added some comments to clarify intent.

Idain commented 2 months ago

I feel constants here are limiting, because I could make a Pokémon hatch in, let's say, 14 cycles, and that's a value a lot of romhackers would want to change for existing or even some fakemon.