* Absolute IDs
* Mothim internal forms
* Scatterbug/Spewpa internal forms
* Fixed Mothim not having form tables
* Totem Alolan Raticate
* Moved shared dex text to its own folder
* Totem Mimikyu
* Added missing empty third-ability fields
* Totem Gumshoos + missing totem flags
* Renamed files to better match their contents
* Fixed Disguise on Totem Mimikyu
* Totem Vikavolt/Alolan Marowak + missing Gumshoos form table
* Totem Ribombee/Araquanid/Lurantis/Salazzle
* Totem Togedemaru/Kommo-O
* Partner Pikachu/Eevee
* Reintroduced shinyLocked species flag for convenience
* Revert "Reintroduced shinyLocked species flag for convenience"
This reverts commit 3e07bd378b.
* Moved existing sanitized trainer data functions to include/data.h
* Sanitized encounterMusic_gender
* Sanitized trainer class ID
* Sanitized trainer pic ID
* Sanitized trainer starting status
* Sanitized obtaining Trainer struct
* Sanitized trainer double battle flag
* Sanitized trainer party size
* Sanitized trainer mugshot data
* Sanitized trainer name
* Consolidated Dome Brain trainer data to the rest of the frontier data
* Sanitized trainer items
* Removed accidental test data
* Sanitized trainer party
* Sanitized trainer AI flags
* Final encapsulation bit
* Made gBattleMoves handle the InGame name and description of battle moves
No more multiple arrays in separate, individual files.
Note:
-Keep an eye on Task_LearnedMove.
* Reintroduced move names
Misc:
-Fixed Trick-or-Treat and Light of Ruin's expanded names.
-Introduced a new field for Z-Move names, and a constant for their name length.
-Added a few TODOs to GetBattleMoveName.
-Updated GetMaxMoveName and GetZMoveName. There's no reason not to let GetBattleMoveName handle everything on its own.
* Updated GetBattleMoveName to handle Z-Move Names
Misc:
-Removed pointless TODO about MOVE_NAME_LENGTH.
-The compiler doesn't allow to have a move name with a value higher than MOVE_NAME_LENGTH, therefore it's pointless to worry about it.
* Fixed a couple of expanded move names
* Removed zMoveName variable of struct BattleMove and extended the name variable's size
* Ditched no longer used MOVE_NAME_LENGTH constant
* Corrected the names of the max moves
I should have done this after updating the size of the name variable of the struct BattleMove, but I didn't think about it at all until Cancer Fairy indirectly gave me the idea.
* Fixed U-turn's name
* Brought back MOVE_NAME_LENGTH
I think it doesn't make sense to have a Z_MOVE_NAME_LENGTH because the length in question is used for all battle moves, not just the Z-Moves.
* Introduced a union for Move/Z-Move names in the struct BattleMove
* Fixed the union for gBattleMoves move names
Also updated GetBattleMoveName to properly handle Max Move names.
Also also renamed the "zMoveName" variable to "bigMoveName" which better reflects its purpose. Z-Move names weren't the only thing it covered, since it also handles Max Move names.
* Removed deprecated GetZMoveName and GetMaxMoveName
* Reintroduced mention to gMoveNames in sGFRomHeader
* Fixed move names and ported move descriptions
* Fused the struct ContestMove into the struct BattleMove
* Removed no longer used Z_MOVE_NAME_LENGTH constant
* Renamed the struct BattleMove's bigMoveName variable and introduced macros to prettify move names
* Reintroduced the contest parameters for Pokémon moves
* Renamed gBattleMoves to gMovesInfo
This is consistent with gSpeciesInfo, the array that contains most of the species data.
* Renamed the BattleMove struct to MovesInfo
This is consistent with the struct SpeciesInfo, which contains the variables used by the gSpeciesInfo array.
* Removed empty lines separating battle params from contest params in gMovesInfo
* Renamed MovesInfo to MoveInfo
* Added Cancer Fairy's HANDLE_EXPANDED_MOVE_NAME macro
Used to handle moves with expanded names in a more comfortable manner.
Also fixed Trick-or-Treat's expanded name.
* Renamed GetBattleMoveName to GetMoveName
* Added a comment pointing out that the shared move descriptions are shared move descriptions
* Re-aligned one of the escape characters of CHECK_MOVE_FLAG
* Renamed the battle_moves.h file to moves_info.h instead for consistency's sake
* Applied Eduardo's adjustments
* Using compound string for regular move names as well, saving 1180 bytes and making their use consistent
* Move description formatting
* Updated Pursuit test after merge
* Renamed the BATTLE_CATEGORY constants to DAMAGE_CATEGORY
---------
Co-authored-by: Nephrite <thechurchofcage@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Rename gItems to gItemsInfo
* Rename gAbilities to gAbilitiesInfo
* Just fixing up my bad merge
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Added five ability flags
Omitted duplicate flags that are basically "can't copy" (Role Play, Receiver, Entrainment, Skill Swap), didn't bother adding Neutralizing Gas flag,
* Mold Breaker and Trace
* Gastro Acid, Simple Beam, Worry Seed
Decided to keep the Simple Beam/Worry Seed functions
* Entrainment done
* Skill Swap
* Doodle/Role Play + flag descriptions
Also adjusted Doodle test
* Wandering Spirit, Mummy, Neutralizing Gas
Neutralizing Gas really only needs to check for other mons with Neutralizing Gas, otherwise unsuppressable abilities are handled separately.
* Renamed flags
* Check progress in non-battle PARAMETRIZEd tests
* Overworld Script Tests
* Backward-compatible BoxPokemon Refactor
Reuses space that contains zeros to provide space for:
- HP/status in the box
- 12-character nicknames
- Up to 63 PokéBalls
- Shininess separate from PID
- Hidden Nature
- Hyper Training
- Dynamax Level
- Gigantamax Factor
- Terastallization Types
- Shadow
Implements:
- OW_PC_HEAL to switch between Gen7- and Gen8+ behavior
- Nature Mints
- Dynamax Candy
- Hyper Training commands (canhypertrain/hypertrain)
- Gigantamax Factor commands (hasgigantamaxfactor/togglegigantamaxfactor)
- Terastallization Type on the summary screen
- Prevents Gigantamax Factor Pokémon from evolving into a species without a Gigantamax form
* fixup! Backward-compatible BoxPokemon Refactor
* displaydexinfo fix from Jasper
Replaced ALWAYS_CRIT with an alwaysCriticalHit flag to account for the fact that in earlier generations, there is no crit stage at which crits are guaranteed. Renamed critBoost to criticalHitStage (at Edu's prompting). Reorder .criticalHitStage defines in battle_moves.h to be aligned with struct order.
* Unified EFFECT_RECOIL
Combined EFFECT_RECOIL_25/33/50/33_STATUS into a single EFFECT; added an extra field to BattleMove 'secondaryData' that contains the franction of HP recoil; argument still holds status effect for Flare Blitz/Volt Tackle
* BattleMove struct change
Added critrate, recoil, multihit fields, made zMove into a union of effect/powerOverride for status/non-status moves respectively. Added new recoil field and zMove field to all moves. To-do: crit rate, multihit
* Critrate field added
Moves use a critRate field instead of a flag - obsoletes EFFECT_ALWAYS_CRIT
* Just a little define
Makes clear that critBoost = 3 means ALWAYS CRIT
* Added a proper recoil field
Just to make it unambiguous and flexible - can finally have a move with 69% recoil.
* Fixed AI damage calculation for multi-strike moves
* Fixes + removed unused effects
* Tests fixes
Two to fix: pass when run in isolation but not when the whole group is run, which is annoying...
* Minor fixes
* Minor tweaks
* Fixed move effects
* recoil tests
---------
Co-authored-by: Alex <alexthenotes@gmail.com>