* 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>
* Created gMoveBattleEffects array
* Renamed array to gBattleMoveEffects
Applied array in battle_util.c and battle_script_commands.c; doesn't build yet...
* Got it building...
* Added missing battle_tv effects
* Fixed and got it building
I'm an idiot sometimes
* Added battle_tv scores, encourage Encore flag
All works and builds just fine
* Merge fixes
* Reformatted battle_move_effects
Also tweaked struct, added macro
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Updated CopyItemNameHandlePlural to deal with plural names
* Fixed whitespace in a few places
* Fixed whitespace in a few places
* Add remaining plural forms.
* Created ITEM_NAME_PLURAL_LENGTH
* Updated ITEM_NAME_PLURAL_LENGTH per feedback https://github.com/rh-hideout/pokeemerald-expansion/pull/4001\#discussion_r1453598165
* Reverted ITEM_NAME_PLURAL_LENGTH to +2 and added new comment
* Removed GetBerryCountString from CopyItemNameHandlePlural
Will deprecate the former in a future feature: https://github.com/rh-hideout/pokeemerald-expansion/issues/4010
---------
Co-authored-by: Zimmermann Gyula <graiondilach@hotmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Refactor battle mugshots
The battle mugshot transitions have been merged into the one transition id and are now loaded depending on the trainer data.
Two new fields have been added to struct Trainer; mugshotEnabled and mugshotColor. mugshotEnabled is the toggle for loading the mugshot transition when set to TRUE and mugshotColor is the color of the mugshot for that particular trainer.
The Elite Four and Champion have been updated so their mugshots are correctly loaded when you battle them.
A bug has also been fixed where if the player starts on a tile that has an active field effect, the player's sprite will use the palette of the opponent's sprite.
* Added a new folder in src/data named battle_transitions.
The two look ups for the opponent rotation scaling and coords have been put into their own files and added into this new folder.
The coords look up has also been changed to use the struct.
* Fixed errors with modern that were preventing compile
* Added mugshot coords to gTrainerSprites
* Added rotation scales to gTrainerSprites
* Replaced tabs with spaces
* Incorporated comments
* Added battle_transition include back to data.c
* Fixed alignment issues in Mugshots_CreateTrainerPics
---------
Co-authored-by: pkmnsnfrn <pkmnsnfrn@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Expanded the amount of max items per stack from 99 to 999
* Set Battle Pyramid Bag stack limit back to 99
This commit exists for archival purposes.
People who may want to set the limit of item stacks in the Battle Pyramid's bag to 999 can refer to its code diff.
* Reintroduced the Battle Pyramid changes through a MAX_PYRAMID_BAG_ITEM_CAPACITY constant
* Gave 3 digit support to the Battle Pyramid's bag
* Rewrote the comment for MAX_PYRAMID_BAG_ITEM_CAPACITY
* Made DebugAction_Give_Item_SelectQuantity use MAX_ITEM_DIGITS
* Ditched BERRY_CAPACITY_DIGITS and BAG_ITEM_CAPACITY_DIGITS
* Removed MAX_BERRY_CAPACITY
No point in keeping it if we're making all item stacks cap at 999.
* Applied review corrections
* Removed pointless local var in DebugAction_Give_Item_SelectQuantity
* Defined a MAX_PYRAMID_ITEM_DIGITS
* Cleaned up some of the functions in which MAX_ITEM_DIGITS is used
Summary:
-Removed pointless local variables in CheckBagHasSpace, AddBagItem, PrintItemQuantity and PrintItemSoldAmount.
-Removed pointless brackets in an if statement of CheckBagHasSpace.
-Initialized the pocket local variable of CheckBagHasSpace from the get go to save a few lines too.
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Removed EFFECT_HURRICANE in favor of using EFFECT_THUNDER
* Added EFFECT_BLIZZARD
* Helping the IDE a little
* Added EFFECT_RAIN_ALWAYS_HIT for Forces of Nature moves
* Removed MOVE_SELF_DESTRUCT and MOVE_EXPLOSION hardcoding
* Removed EFFECT_FRUSTRATION hardcoding
MOVE_SELF_DESTRUCT
* Cleaned up sPoints_MoveEffect
* Removed MOVE_AURA_WHEEL and MOVE_PRESENT hardcoding
* Fixed compile
Not the ideal solution but Fling now has a hardcoded check for Shield Dust and acts accordingly - a better long term solution inolves making a bunch of reusable MOVE_EFFECTS and rejigging attackcanceler but I didn't feel like doing that today...
* Archaludon?
* more archuladon stuff
* Hydrapple and Gouging Fire
* Raging Bolt
* Iron Boulder and Iron Crown
* Terapagos
* Pecharunt
* Update gen_9.h
* Pokedex orders
Function no longer has ability to apply effects from moveEffect - for that, seteffectprimary or secondary is now recommended. Removed EFFECT_RAMPAGE, updated a few tests
* 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>
Both working by applying an additional effect; added a generic "jumpifnotcurrentmoveargtype" type command to make it possible, relpacing secret power's function
* 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