* Cleaned up duplicated dynamic type functions
* Small cleanup
* Oops, last cleanup broke stuff
* Alignment
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Adds config to show chosen move and target of ingame partner, `#define B_SHOW_PARTNER_TARGET`, default `FALSE`
---------
Co-authored-by: Hedara <hedara90@gmail.com>
* Moved HandleInputChooseTarget and ShowEntireFieldTargets to non-static and added them as cases to ShouldHideTypeIcon
* Made ShouldHideTypeIcon easier to parse
* Made ShouldHideTypeIcon a for loop
* Fixed identation
* Made showTypesControllerFuncs a static const array per https://github.com/rh-hideout/pokeemerald-expansion/pull/5201\#discussion_r1730336265
* Replaced all the gBitTable[X] usages with 1 << X, and cleaned up script output
* Fixed failed merge in online viewer
---------
Co-authored-by: Hedara <hedara90@gmail.com>
* First attempt at a port
* Slightly broken but working
* Got images working and opponent palettes
* half finished compressed spritesheet approach instead
* fix the palettes (smh)
* fix hflip, and a lot of clean-up
* Add B_SHOW_TYPES
* Got Illusion working
* Add num type enum
* Updated function to get type
* Fixed type icon position and cleaned up functions
* Updated illusions and Tera handling
* Added BATTLE_TYPE_IS_SINGLE and DOUBLE
* Removed IS_BATTLE_TYPE_SINGLE
* Implemented BATTLE_TYPE_IS_DOUBLE across repo
* Removed SIDE macro
* Updated config
* Deprecated battler alive macro
* Reindented file
* Added exceptions for 2v1
* Replaced Fainted check with Null check
* Added functionality for only types of caught mons
* UseDoubleBattleCoords updated
* Added ShouldFlipTypeIcon
* Renamed TryLoadTypeIcon
* Refactored functions
* Refactored functions
* Refactored functions
* Refactored functions
* Renamed SEEN to CAUGHT
* Reset config
* Added useSecondPalette and isOrdinary to gTypesInfo
* Further simplified secondPalette and isOrdinary
* Changed isordinary to isSpecialCase
* Renamed to useSecondTypeIconPalette
* Fixed Stellar type interactions
* fixed spacing
* fixed include/config/battle.h
* fixed
* fixed include/config/general.h
* changed type1 and type2
* Moved IsDoubleBattle to include.battle.h
Removed BATTLE_TYPE_IS_DOUBLE
Removed IS_DOUBLE_BATTLE
* Changed IsBattlerFainted to IsBattlerAlive
* Removed IsBattlerNull
* Moved GetBattlerData to be inline
* Renamed GetMonDefensiveTeraType
* Removed IsIllusionActive
* Fixed identation
* found one last isDoubleBattle hold out
* fixed redundant brackets
* Fixed spacing for B_SHOW_TYPES
* Update src/battle_script_commands.c
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Fixed padding
* Reindent file and refactored GetTypeIconHideMovement
* Update include/data.h
---------
Co-authored-by: RavePossum <ravepossum@proton.me>
Co-authored-by: Frank <fdeblasio1004@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Dynamic Hidden Power Types
* Dynamic Ivy Cudgel is summary screens
* Dynamic Move types
* missed unnecessary comment that got left in
* format cleanup, return cleanup, added Tera Blast and Tera Starstorm, Revelation dance fix-> now displays live type update when tera is selected during battle before move selection
* forgot to revert config defaults
* Update src/pokemon.c
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* if block spaces/ raging bull fix/ more condensing on checks/ reallocating config check/ tera blast fix (was displaying tera blast type on non tera'd mons in party when battler was tera'd)
* revert configs
* added Hail check to Weather Ball
* Fixed agbcc compile/brackets/u32 changes
* Quick fix to ensure Judgment/Techno Blast/Natural Gift are not affected by -ate abilities
* Update src/pokemon_summary_screen.c
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* consolidated gimmick checks, triggers, communication, and activation; updated test runner
* fixed improper use of .usableGimmick
* cleaning up battle_dynamax.c, changing function args to u32s
* fixed '#ifdef TESTING' causing errors
* updated z-moves to use gimmick interface, pared down redundancies; no AI/tests
* added support for z-moves in tests, consolidated gimmick fields
* removed ShouldUseMaxMove and .usingMaxMove
* renamed TryChangeZIndicator, updated z move display
* added several z-move tests and fixed various z-move interactions; fixed z-move category calc
* fixed useless battler arg in GetTypeBasedZMove
* added basic test check for bad Z-Move or Mega usage
* reworked test runner gimmick functionality; added support for Ultra Burst + Z-Move to test Light That Burns the Sky
* fixed gimmick test logic; fixed damage category override
* fixed mega rayquaza test fail
* consolidated gimmick indicator logic; added graphics to gGimmicksInfo
* removed TeraData struct
* reimplemented AI logic for Z-Moves; no changes
* updated Z-Move and Ultra Burst trigger gfx
* added testrunner check for multiple gimmick use
* fixed duplicate z-move call in test
* reorganized data/graphics/gimmicks.h
* added signature Z-Move ability tests; implemented Guardian of Alola
* fixed bad test update
* fixed Thousand Arrows not affecting Tera Flying; clean-up
* fixed -ate tests
* fixed tera tests
* fixed tera tests really
* fixed last batch of tests
* fixed -ate mega test again
* code review
* code review pt.2
* tweaked CanTera again
* dynamax flag only required for player
* 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>
* wrote foundational terastal tests
* implemented baseline test-only Tera functionality; modified GetBattlerType + STAB calculations, misc. changes to some moves
* added tests and func. for Stellar type, more tests for Tera Blast
* more tests for Stellar type, Conversion fixes, Color Change + Conversion2 future proof
* implemented tera blast, expanded stellar type func., fixed tests
* last set of Tera/Tera Blast tests for checklist, protean fix
* implemented in-battle Terastallization, WIP stellar indicator and tera animation
* fixed bad merge
* expanded NUMBER_OF_MON_TYPES, cut down on TYPE_STELLAR hackiness, added Stellar type to summary
* fixed type indicators
* added tera logic to AI
* implemented code review changes, added B_TERA_ORB_NO_COST
* updated AI to calc damage with Tera when applicable; minor rework to AI gimmick handling
* fixed Tera Blast split choice occuring when not Terastallized
* fixed Tera Blast using Last Respects BP calcs
* added tera type to TrainerMon, code review tweaks
* Moved gTypeNames into gTypes
* Added invalid move text to struct
* Added max move to struct
* Added icon palette to struct
* Added macros for invalid and max moves
* Swapped palette and max move order
* Renamed invalid to generic
* Renamed invalid to generic in struct definition
* Added zMoves and items to type struct
* Addressed comments
* Incorporated newer comments
* Updated comment format
* 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>
* Change Ivy Cudgel to be based on Ogerpon form rather than held item
* Update ivy_cudgel.c
* Address reviews
* Update test/battle/move_effect/ivy_cudgel.c
---------
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