* 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>
* 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
* 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
* 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
* more customization to struct FacilityMon, remove facility item ids, convert vanilla data, add CreateFacilityMon universal function
* fix some unused vars
* use TrainerMon struct instead of FacilityMon
* add dynamaxLevel, gigantamaxFactor to CreateFacilityMon
* some struct TrainerMon documentation
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
* 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
* 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
* Sets neutral nature and ability 0 as default in trainer control
* add config to generate a random ability
* minor correction
* move config to battle.h
* fixed compiling
* 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>