* Split Pokémon Object Events from Following Pokémon functionality
* Renamed follower pngs and palettes
* Define renames
* Reorder configs
* Renaming: SpeciesInfo fields, macros and palettes.
* add createmon and setwilddoubleflag script cmds to support createing mons at given player or enemy slots and setting up 2v1 battles
* give givemon macro PARTY_SIZE for tests
* style fixes
* add createmon test
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
* improved Surf/Thunderbolt test that previously relied on correct AI guess
* remove unnecessary mod
* fixed infinite rng loop
* wrong ability num and readability
* Update src/battle_ai_util.c
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* AI uses safest option to faint foes
* dont calculate non crit dmg unless it's needed
* struct SimulatedDamage
* add GetDamageByRollType and name DamageRollType
* Parametrize test AI flags
* use simDamage member's instead of dmg & minDmg
`src/data/map_group_count.h` is currently in `.gitignore`. However, git
does not ignore a file if that file is already in the index. To actually
ignore the file, the file must be deleted and that deletion must be
committed.
In addition, the Makefile did not previously clean `src/data/map_group_count.h`,
nor know how to generate `src/data/map_group_count.h`.
It did generate the file as a side-effect of a different rule, but if
asked to generate, it did not know how to.
* newer generation soundproof heal bell interactions
* Fix bugs and rewrite AnyPartyMemberStatused
* add missing check, tests, clean up
* fix ai code and rename battler for clarity
* FIx mummy ability
..and lingering aroma.
Adds tests for both.
* merge the tests
* new line
* add 2 more tests
Mummy and Lingering Aroma don't replace each other
Mummy doesn't replace abilities that can't be suppressed
* Add FORM_CHANGE_BATTLE_TERASTALLIZATION and allow species to force tera types
* Fix form change not changing tera type
* Update form_species_tables.h
* Address reviews
* Can't change the forced Tera Type anymore
* Revert "Can't change the forced Tera Type anymore"
This reverts commit 67157250ef.
* Fix a lot of things
* Oops
* Update pokemon.h
* Update pokemon.h
* Address reviews
* Update tera_starstorm.c
* Update test/battle/gimmick/terastal.c
---------
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
* Move SOLAR_POWER_HP_DROP label
* Abilities don't prevent self stat dropping effects
Hyper cutter does not stop MOVE_EFFECT_ATK_MINUS_1 and MOVE_EFFECT_ATK_MINUS_2.
Big Pecks does not stop MOVE_EFFECT_DEF_MINUS_1 and MOVE_EFFECT_DEF_MINUS_2.
Keen Eye and Illuminate do not stop MOVE_EFFECT_ACC_MINUS_1 and MOVE_EFFECT_ACC_MINUS_2.
* fixed regional variant inheritance and pokeball inheritance
* species inheritance: consider cases with different evolutions but same base species e.g. Persian and Perrserker
ball inheritance: fix inheritance for regional forms
* fix getboxmondata for evolutiontracker if compiled with agbcc
* refactored move animation scripts as part of gMovesInfo
* migration script for move anims
* default animation, migration for battle_anim_scripts.s
* added warning for missing animation
* add include to migration
* add struct member in migration script
* removed include and struct member from migration script
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Added missing Move Effect TODO tests - Volume B
* Apply suggestions from code review
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Removed unused bulldoze effect file
* Removed individual tests for Baton Pass + Status1 in favor of the existing single test
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Set TYPE_MYSTERY as type 0
* Remove redundant TYPE_NONE
* Moved Gen 1-3 type damage categories to gTypesInfo
* Set TYPE_NONE as 0 instead
* Grouped type info to a single file
* Fixed sTypeEffectivenessTable static name
* Adjusted MON_DATA_TERA_TYPE to account for shift in type IDs
* oops, missed the extern
* Moved Tera Type RGB values to gTypesInfo
* Fixed Tera Type test
* Added option test feature to set IVs
* Hidden Power type test
* Tera Type safeguard in givemon
* Removed isHiddenPowerType for a future PR that refactors Hidden Power
* Review changes
* Revert Dynamax HP on fainting
Calls UndoDynamax whenever a mon faints to ensure that its HP is reverted and the relevant data is cleared. Updates UndoDynamax to CalculateMonStats after applying the HP reversion to prevent fainted mons from retaining their boosted Max HP until the end of the battle.
* Update src/battle_main.c
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Update battle_main.c
Now clears dynamax data when a battler faints
* Update battle_main.c
Actually call the helper function instead of only doing half of what it does.
* Added new line before return
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Adjust Ate-Ability code a bit to make it more readable
* stupid oversight
* fixed
* pull normal type move check out of function
* unused var
* switch and tests
* oversight
* Apply suggestions from code review
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Port xaman move desc to modern expansion
* Fix modern compiler error
* Fix compliling + EFFECT_PLACEHOLDER support
* Change to L-button to avoid conflict with Mega Evolution
* Reorder and change priority to category
* add sprite for move category icon, declare category icon sprite data extern
* remove static category icon sprite data from hgss dex for global data
* Change to else if
---------
Co-authored-by: Pawkkie <moog272@gmail.com>
Co-authored-by: RavePossum <ravepossum@proton.me>
* Fixes Burning Bulwark burning message and normalizes similar messages
* Fixes Grassy Glide granting priority to Max Move used from that slot
* Missed freeze message
* add saveattacker/savetarget stack
* add safety checks to savedAttackerCount/savedTargetCount
* add testing warnings for saveattacker/savetarget
* update frisk with saveattacker
* restoretarget at end of red card battle scripts, remove testing checks on SaveAttacker,SaveTarget
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
* #defines for damage roll bounds
* Risky AI behavior implemented
* Ignore score penalty to EFFECT_RECOIL_IF_MISS moves if accuracy has been lowered
* Adjust score defines
* EFFECT_MIND_BLOWN
* Use GetBestDmgMoveFromBattler instead of AI_CompareDamagingMoves
* Damage roll selection and AI_FLAG_CONSERVATIVE
* Clarify enum names
* Simplify AverageRollDmg line
* Change u8s to u32s
* Turns out Boomburst does a lot of damage lol
* Spacing
* Fixes Dancer triggering if the user flinched
* Add check to make sure "Pokemon used move" message is kept
* Address review
---------
Co-authored-by: Fltp <fltpessoa2@gmail.com>
* Belch scoring fix and test
* Add assumptions for pocket
* Update test to AI_SINGLE_BATTLE_TEST
* Alex's fixes
* Missed reverting a line
* Mucked up spacing mb
* Mucked up the spacing fix mb MB
* PLA footprints
* Gen 9 Starters
* Gen 9 Cross Gen Evos
* Question mark
* Gen 9 regular mons
* Gen 9 Paradox mons
* Gen 9 legendaries and mythicals
* Past gen mon footprint changes
* Fixed Elixirs not being able to be used unless the first move was missing PP
* Revert "Pokedex Plus fixes (#4514)"
This reverts commit 982934c4aa.
* Pokedex Plus fixes (#4514)
* Pokedex plus no longer allows browsing unseen evos
* Restore "has no evolutions" printing
* only print "has no evolution" text at 0 depth
* Revert config changes
* fix duplicate icons and removed eevee hardcodes
* add new scope and indentation fixes
* actually introduce new scope
* Revert "Fixed Elixirs not being able to be used unless the first move was missing PP"
This reverts commit 313f2e5526.
* Initial Testing of Focus Sash+Future Sight
* Fixed infinite loop when flinging Razor Fang on a mon that's already moved
* Fixed Moxie clones not triggering on pokemon fainted by Max Moves
* Fixed Focus Sash enduring another time if broken by foreseen moves
* Update src/battle_script_commands.c
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Update src/battle_script_commands.c
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Added assumptions to tests
---------
Co-authored-by: Hedara <hedara90@gmail.com>
Co-authored-by: sneed <56992013+Sneed69@users.noreply.github.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* fix getboxmondata for evolutiontracker if compiled with agbcc
* fixed full restore curing status condition when used in battle on party member with missing hp
added more full restore tests
* formatting, removed unused
* Fixed Elixir only being useable is the first move was missing PP
* Update restore_pp.c
Commented out the test that doesn't actually test what it's supposed to due to current test system.
---------
Co-authored-by: Hedara <hedara90@gmail.com>
* Pokedex plus no longer allows browsing unseen evos
* Restore "has no evolutions" printing
* only print "has no evolution" text at 0 depth
* Revert config changes
* fix duplicate icons and removed eevee hardcodes
* add new scope and indentation fixes
* actually introduce new scope