* 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
* Adds ability Embody Aspect + minor fix to Hospitality
* comment out failing tests related to neutralizing gas
* fixes neutralizing gas bug
* leftover
* Implemented a CannotUseItemsInBattle function
This fucntion is the result of merging CannotUseBagBattleItem and CannotUsePartyBattleItem. No reason to split the work between 2 functions when you can do it all with just 1.
Misc. Changes:
-Turned most of the if statements inside the function into "else if" statements for performance reasons.
-Refactored how the local variable "cannotUse" was used turning it into a bool.
* Made CannotUseItemsInBattle use a switch statement
Misc. Changes:
-Removed pointless parentheses from case EFFECT_ITEM_SET_FOCUS_ENERGY
-Removed pointless i loop variable from case EFFECT_ITEM_INCREASE_ALL_STATS and replaced a hardcoded 1 in its for loop.
-Turned the i loop variable declared at the top of the function into a u32 variable
-Removed pointless comments. The EFFECT_ITEM constants are readable enough to convey what sort of items they affect.
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Tests dont allow to send out pokemon with 0 hp
* remove test test
* handle in-game 0 hp sent out
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Added TrainerSprite struct with coordinates
* Added .frontPic to struct
* Added .palette to TrainerSprite struct
* Added .animation to the struct
* Added define for sprite size
* Condensed animations since they were all the same
* Improved TRAINER_SPRITE/PAL defines
* Simplified seemingly unused .y_offset and TRAINER_PIC_SIZE values
* Condensed TRAINER_SPRITE and TRAINER_PAL into TRAINER_PIC
* Renamed .size to .y_offset since that what it appears to actually be
* Moved y_offset into TRAINER_PIC
* Moved animation inside of TRAINER_PIC
* Added array number to preproc
* Removed trailing spaces
* Added sprite/palette files to preproc
* Revert adding sprites to preproc as it fails agbcc
This reverts commit dce57f8d1bfab70b4c6630a9c4e5b43495891459.
* Added backsprite struct
* Added animations to backsprite struct
* Changed TRAINER_PIC to TRAINER_SPRITE
* Added animation to backsprite preproc
* Added .backPic to struct
* Moved array number into backsprite preproc
* Removed definitions for trainer sprites
* Hardcoded sAnims_Trainer into struct since every sprite uses it
* Fixed TRAINER_SPRITE arguments
* Used the COMPOUND_STRING macro to unify item descriptions and item data
Misc. Changes:
-Corrected the Serious Mint's description.
-Moved the X_ITEM_STAGES and CONFUSE_BERRY_HEAL_FRACTION macros to the top of the file for consistency's sake.
-Corrected the Tapunium Z's description.
* Oops. I forgot to delete the old .description of the X Attack
* Removed definition of CONFUSE_BERRY_HEAL_FRACTION from include/constants/items.h
* Moved CONFUSE_BERRY_HEAL_FRACTION back to include/constants/items.h
* Unified item description strings where possible
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
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>
* Fix Ion Deluge interaction with VoltAbsorb/LightRod
* Use move target all battlers for ion deluge fix
* fix teatime failing
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Introduces relativeFrames which automates the process of using
overworld_frames with ascending frames.
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>