In contests, even FONT_NARROWER isn't sufficient to prevent clipping in
all cases. e.g. Stomping Tantrum clips. We have decided to accept that
cost to make the rest of the user experience better, but downstream
projects that don't like that trade-off can either a) alter the contest
UI, or b) set B_EXPANDED_MOVE_NAMES to FALSE.
* 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
* Add LGPE+ Premier Ball Bonus config
* Capitalization
* Premier Ball count in message + only give the amount of Premier Balls possible
* Review changes
* Updated B_TELEPORT_BEHAVIOR to match Premier Ball config
* Update src/shop.c
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* 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
* Renamed VAR_TERRAIN and introduced a var-based field terrains timer
* Fixed sky battle configs alignment and syntax
* Added B_VAR_TERRAIN_TIMER handling to Overworld_ResetBattleFlagsAndVars
* Removed pointless edits to EndTurnTerrain
* Updated B_VAR_TERRAIN_TIMER's comment
* Updated the syntax of ABILITYEFFECT_SWITCH_IN_TERRAIN to comply with Agbcc
* Nuked pointless VarGet calls in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects
* Reverted changes made to BS_SetRemoveTerrain
I shouldn't have touched it at all since it's not involved with B_VAR_TERRAIN functionality.
* Removed trailing spaces in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects
* 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>
* Fix some ball multiplier configs
* Updated the comment of B_LURE_BALL_MODIFIER
* Specified the effects of B_LURE_BALL_MODIFIER in itsa state its effects in a more specific manner
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Corrected the comments of B_DREAM_BALL_MODIFIER, B_SPORT_BALL_MODIFIER and B_SAFARI_BALL_MODIFIER
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Turned the ternaries in the case for the Lure Ball's catch rate in Cmd_handleballthrow into a regular if/else if statement
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
---------
Co-authored-by: LOuroboros <lunosouroboros@gmail.com>
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
* Original implementation from Phlayne
* Moved Sky Battle Flag / Var into a config
* Optimized existing code and fixed existing bugs
Added error message for when sky battle var and flag are not set
Merged CanDoSkyBattle and PrepareSkyBattle into one special
* Added compatibility for Gen7+
* Commented out Volt Crash from banned moves
* Cleaned up debug scripts from testing
* Fixed bug where player did not white out even if they had no healthy Pokémon and only an egg
Zeroed out both Sky Battle configs
* Removed extra include from src/field_specials.c
Removed extra line break in src/battle_script_commands.c
* Added FLAG_DISABLED_IN_SKY_BATTLE
Added FLAG_DISABLED_IN_SKY_BATTLE to appropriate moves
* Changed DoesSkyBattleCancelCurrentMove to look at move flags
* Fixed alignment and spacing in battle_moves.h
* Added FLAG_DISABLED_IN_SKY_BATTLE to Sticky Web
* Added FLAG_DISABLED_IN_SKY_BATTLE to Steel Roller
* Disabled the ability to change Battle Terrain when Sky Battle is happening
Stopped Ceaseless Edge from spawning Spikes when Sky Battle is happening
Added B_SKY_BATTLE_STRICT_MECHANICS config
* Fixed bug with SKY_BATTLE_STRICT_MECHANICS where conditions were not consistently being applied
* Add rulesVariants to the BattleStruct
Added skyBattle check in AllocateBattleResources
* Replaced B_FLAG_SKY_BATTLE checks with rulesVariants.skyBattle checks
* Fixed debug script
* Reverted include/config/battle.h
* Fixed spacing and placement of functions
* Fixed debug script omission
Fixed bug where Spikes did not set from Ceaseless Edge and Stone Axe
* Added FLAG_DISABLED_IN_SKY_BATTLE to Psychic Terrain
* Addressed DizzyEgg PR feedback
* Forgot a file in last commit
* Addressed feedback from DizzyEggg
* Address Lunos' PR feedback
* Update specials.inc
Added an empty line at the end of data/specials.inc
* Fixed spacing
* Apply suggestions from code review
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Updated skyBattleBanned and HandleBattleVariantEndParty to use correct names
* Removed STRICT_MOVES and STRICT_MECHANICS
* Fixed minor spacing issues with merge
* Merged in upcoming
* Implemented feedback from Jasper
5da6117d1b
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Adds combined pledge move effects
* added pledge status and various other fixes
* leftover
* fix triple arrow test tag
* pledge moves can not be redirected by absorbing abilities
* more pledge changes
* remove duplicate test
* Stab boost, Rainbow anim and new SeaOfFire anim
* leftover
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>