* Added SpeciesInfo fields
# Conflicts:
# include/pokemon.h
* Added missing comments
* Renamed gigantamax to isGigantamax
* Converted species flags to agbcc bit flags
* Added padding after flags
* Pikachu form config
* Dex text
* Reordered Paradox flag
* Missing Pikachu ifdef comments
* Moved P_GEN_x_POKEMON settings to the species_families file
* Gen 1 Dex entries
* Renamed file to species_enabled.h
* Prevent Pokémon from evolving if their evolution is disabled
* Prevent Pokémon from being affected by Eviolite if their evolution is disabled
* Prevent Pokémon offspring if they're disabled
* Corrected imprementation of evolution prevention
It could potentially overwrite items by accident
* Cross-evo configs
* Gen 2 dex entries
* Changed cry table to use assignable IDs
# Conflicts:
# include/pokemon.h
* Form table pointers
* Beginning support for moving data to gSpeciesInfo
* Pokédexes reads text from gSpeciesInfo
* Reading species names from gSpeciesInfo
* Fixed erroneous copy-paste
* Moved Bulbasaur to Raichu Family data do gSpeciesinfo
* Added female pic sizes
* Macros for Front, Back, Palette and Learnsets
* Sandshrew to Dugtrio Families
* Obtains Height/Weight from gSpeciesInfo
* Read category from gSpeciesInfo
* Removed unused data from pokedex_entries.h
* Moved Gen 1 data to gSpeciesInfo
* Moved Gen 2 data to gSpeciesInfo + fixed Ursaluna Bloodmoon not producing Teddiursa eggs
* Moved Gen 3 data to gSpeciesInfo
* Moved Gen 4 data to gSpeciesInfo
* HGSS dex properly shows form sprites
* Fixed data type for GetSpeciesHeight/Weight
* Reading Pokédex Size data from gSpeciesInfo
* Cleaned up mon graphic decompression function
* Reading Front Pics gSpeciesInfo
* Reading Back Pics gSpeciesInfo
* Updated uses of GetMonSpritePalStruct to allow loading the data directly instead of reading the struct
* Reading palettes from gSpeciesInfo
* Reading animation delay from gSpeciesInfo
* Fixed Pokémon Debug Menu not reading animation delay
* Reading front anim Id from gSpeciesInfo
* Reading back anim Id from gSpeciesInfo
* Reading Animation Frames from gSpeciesInfo
* Reading Icon Sprites from gSpeciesInfo
* Reading Icon Palette IDs from gSpeciesInfo
* Reading Footprints from gSpeciesInfo
* Reading Mon Pic sizes from gSpeciesInfo
* Separate mon pic sizes for female mon
* Reading Level Up Learnsets from gSpeciesInfo
* Reading Teachable Learnsets from gSpeciesInfo
* Reading National Dex Number from gSpeciesInfo
* Reading Enemy Mon Elevation from gSpeciesInfo
* Reading Evolutions from gSpeciesInfo
* Reading form table from gSpeciesInfo
* Fixed button label inconsistency in pokémon debug menu
* Reading form change table from gSpeciesInfo
* Removed need to define mon graphics in include/graphics.h
* Reordered mon graphics by family
* Fixed National dex number offset
* gFrontierBannedSpecies now checks IsSpeciesEnabled
* Added 3 more toggles for Fusions, Primal Reversions and Ultra Burst
* Gen 3 & 4 family toggles for dex entries
* Fixed missing Mr. Rime data
* Gen 1 dex descriptions as compound strings
* Gen 2 dex descriptions as compound strings
* Gen 3 dex descriptions as compound strings
* Gen 4 dex descriptions as compound strings
* Fixed compile in agbcc
* Moved Gen 5 data to gSpeciesInfo
* Using PLACEHOLDER_ANIM_SINGLE_FRAME when needed (same hash)
* Renamed PLACEHOLDER_TWO_FRAME_ANIMATION to PLACEHOLDER_ANIM_TWO_FRAMES
* Fixed capitalization for front pic anims
* Fixed `CanEvolve`
* Moved Gen 6 data to gSpeciesInfo
* Gen 7 without macros
* Gen 8 without macros
* Gen 9 without macros
* Fixed Gen 9 sound data
* Finished moving Gen 7 data in macros (by Alex)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Ultra Necrozma is now included in the fusion forms define
* Cries are now properly excluded from the rom when disabling species
* Removed P_GEN_x_POKEMON from form_change_tables.h
* Fixed Yanmega's cry ignoring the P_GEN_4_CROSS_EVOS setting
* Added P_NEW_EVOS_IN_REGIONAL_DEX setting
* Automatic ASSUMPTION_FAIL when used species are disabled
* Finished moving Gen 8 data in macros (by Alex)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Expanded Alcremie macro
* Finished moving Gen 9 data in macros (by Alex)
* Fixed missing data for Komala and Marshadow
* Form species id tables use family toggles + added missing Ursaluna form species id table
* Fixed Genesect palettes
* Fixed Flabébé family graphics
* Fixed Minior Graphics
* Fixed missing Calyrex data
* Family toggles in mon graphcis (By Jasper/Bassoonian)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Fixed missing Ogerpon data
* Ordered Level Up Learnsets (missing toggles)
Also added White Basculin learnset
* Added more Minior synonyms
* Fixed enamorus order
* Reordered teachable learnsets
* Removed sSpeciesXXX level up learnsets + reordered
* Removed unneeded assumes
* Removed unused extra animations
* Family toggles in mon level up learnsets (By Jasper/Bassoonian)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Fixed Phione graphics inclusion
* Family toggles for Teachable Learnsets
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Ordered Front Pic Anims
* Family toggles for front pic animations
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Fixed HGSS dex incorrectly showing the wrong mon when catching it
* Family toggles for Egg Moves + reodered
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Fixed HGSS not checking for null footprints
* Review changes
* Fixed Female difference mon not using their macros
* Fixed Alcremie Macro
* Fixed compile error when disabling the Bulbasaur family
* Fixed Turtwig and Chimchar family + Houndour and Mareep cries not being excluded properly
* Re-added missing Egg graphical data
* Fixed crash during the Birch Intro when Lotad is disabled
* Renamed PALLETE to PALETTES
* Removed extra spacing for YOffsets
* Fixed compile when only disabling cross-gen evolutions
* Added Tera Forms define (Ogerpon and Terapagos)
* Fixed Necrozma macro
* Removed .noFlip = FALSE
* Fixed dex number in summary screen for forms when nat dex is disabled
* Fixed Paldean form paths
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Chilly Reception Effect
* Wrap Chilling Reception Message Better
* Animation & Some Testing
* Remove Wimp Out cases from Chilly Reception tests
* Animation tweaks
* Battle Script Updates
* Created CheckPrimalWeather macro for Weather Effects
* Updated Chilly Reception logic to switch even if weather doesn't change
Testing Updates
* Fixed test: Move does not animate if weather fails to change
* Remove snow animation check during failure path test
* * Fix indentation
* Move Chilly Reception animation to always play (even when weather change fails)
* Updates to MoveSwitch and PartingShot to get closer to original logic
* Update BattleScript_EffectChillyReception logic
* * Move CHILLY_RECEPTION animation
* Test updates
* Fix Chilly Reception MESSAGE checks
---------
Co-authored-by: Patrick Curran <rapidnutcracker@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Applied Alex's fix for ABILITYEFFECT_TRACE
* Added Trace tests written by Alex/Rainonline
* Updated Trace's target-choosing capabilities and added a double battle test for it
Credits to Alex/Rainonline.
* Removed 2 of the 3 'Trace on opponent's switch-in' tests
* Added another Trace test
* Consider Encore / lowered stats / hazards
* Fix poorly thought out Return FALSE
* Incorporate Egg's feedback
* Tests for hazards and stats, and some fixes
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Adds combined pledge move effects
* added pledge status and various other fixes
* leftover
* fix triple arrow test tag
* pledge moves can not be redirected by absorbing abilities
* more pledge changes
* remove duplicate test
* Stab boost, Rainbow anim and new SeaOfFire anim
* leftover
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Adds Raging Bull and various fixes
* fix compiling on abgcc
* syrup bomb anim fix
* sticky syrup anim in link battles
* fix sticky syrup in link battles
* fix battler index
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Adds Glaive Rush
* Fixes: Glaive Rush status is removed until users next turn
* Glaive Rush no affect
* simplify glaive rush script
* simlify script further
* leftover
* Fix Plasma Fists and Relic Song + tests
* Callnative for Plasma Fists
* Use Status Field Ion Deludge for Plasma Fists
* add assumes for flinch_status
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Added Embargo battle tests
* Expanded Embargo doesn't prevent Primal Reversion to avoid CI failure
* Applied corrections to some of the Embargo tests
* 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>
* tests for intimidate defiant
* sheer force fix + tests
* white herb tests
* tests for stealth rock, weak armor and last resort fix
* style changes to weak armor test
* Made Reflect Type handle 3rd types
Misc:
-Turned VARIOUS_TRY_REFLECT_TYPE into a callnative (BS_TryReflectType)
-Introduced a macro to to check for typeless Pokémon (Pokémon who have Mystery in all 3 type slots) in battle.
-Made the new BS_TryReflectType take into account the forms for Arceus and Silvally, rather than just their default form.
* Fixed duplicated test names
* Test improvements for Jaboca, Kee and Rowap Berries
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Lansat Berry test improvements
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Jaboca Berry/Bug Bite interaction test
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Catch OOM in tests
* Alias gBattleTestRunnerState with sBackupMapData
Reverts #3398 "Fix Broken Move Anims in Tests" which moved the AI logs
to statically-allocated EWRAM_DATA instead of being part of
gBattleTestRunnerState.