* Added Japan-only Walda PC icons
* Added a config for the Japanese icons
* Update overworld.h with suggestions
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Form changing method for Shaymin Sky into Land at night
* Ordered form change tables
* Refactored form change type to support both night and day
* Removed added space
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Fixed logic to allow Shadow Tag to work
* Fixed which boolean is changed
* Reverted boolean change and updated B_SHADOW_TAG_ESCAPE comparison
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Gen 1 and 2 families + fixes
- Fixed mixed identation.
- Fixed Azurill being Normal/Water type in Pre-Gen6 setting.
- Fixed Wobbuffett being before Wynaut
- Fixed Dudunsparce's macro being out of order
* Updated macros of Megas that shared held item with base forms
* Gen 3 families
* Separated Latis macro
* Gen 4 families
* Moved Misc Info to the top of arrays
* Renamed FAMILY_x to P_FAMILY_x
* Gen 5 families
* Gen 6 families
* Gen 7 families
* Gen 8 families
* Gen 9 families
* Mega Evolutions
* Gigantamax Form toggles
* Alolan Forms
* Galarian Forms
* Added missing comments
* Hisuian Forms
* Paldean Forms
* Fixed missing Paldean form flags
* Fixed order
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* SwitchAI makes much smarter mon choices
* Add HasHadOdds check to ShouldSwitch decision
* Remove early return
* Rework Baton Pass check as per discussion with Alex
* Forgot to adjust a comment
* Don't program before breakfast lol (if / else if fix)
* Switch AI_CalcDamage for AI_DATA->simulatedDmg in HasBadOdds
Thanks Alex! :D
* Typo in a hitToKO comparison
* Remove and replace AI_CalcPartyMonBestMoveDamage and IsAiPartyMonOHKOBy from https://github.com/rh-hideout/pokeemerald-expansion/pull/3146
See https://discord.com/channels/419213663107416084/1144447521960251472 for details
* Major refactor, new struct, switchin considers damage / healing from hazards / status / held item / weather
* Forgot Snow exists and heals Ice Body, haven't played Switch games lol
* (766a1a27a7) Compatibility, use new struct field instead of function call
* Fixing oversight from previous upstream merge
* Improve TSpikes handling to make GetSwitchinHazardDamage more applicable
Small fixes:
- EFFECT_EXPLOSION typo (!= to ==)
- Order of if statements near bestResistEffective
- Spacing of terms in big HasBadOdds if statements
* Forgot to uncomment blocks disabled for debugging what turned out to be vanilla behaviour lol
* Remove another holdover from debugging, sorry :/
* Lastly, undoing my debug trainer
* Type matchup based on species type rather than current type
Suggested by BLourenco on Discord, the idea is that a mon that's had its type affected by a move like Soak will still have moves as though it was its regular typing, and so prioritizing the temporary typing wouldn't be ideal.
https://discord.com/channels/419213663107416084/1144447521960251472/1146644578141736970
* gActiveBattler upcoming merge fixes
* Egg changes part 1
* Egg changes part 2, just need to address EWRAM still
* Move SwitchinCandidate struct to AiLogicData
* Consider Steel type when checking TSpikes
* Comment about CanBePoisoned compatibility
* Changes for Egg's 2nd review
* Put period back in comment, whoops lol
* Latest upcoming merge fixes
* Missed a few u32 updates
* Combine GetBestMonIntegrate functions / flags, some modularization
* Fix merge error
* Make modern fixes
* Two tests done, two to go
* Accidentally pushed reference test, removing it
* Type matchup switching tests
* Tests for defensive vs offense switches
---------
Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
* Added missing cross-gen evolutions
* Added forms for evos
* Converted some EVO_NONEs into EVO_MOVE
* Moved Ursaring's evolution up
* Added evolution methods for Dudunsparce and Maushold
"SendMonToPC" implies that the Pokémon affected is actually sent over to the PC, but in reality the function simply copies the data of the Pokémon and then pastes it in the first available slot of the Pokémon Storage System.