* fixes Micle Berry not increasing accuracy on the next turn
* adds bitfield instead of using protect struct
* test from pawkkie
* ndebug
* renaming
* delete redundant comment
* typo
* micle berry more detailed descriptions
* Simplified fix from #4638
* Fixes interactions with Z-Moves, Magic Guard, Heavy Rain, Pledge
* Powder Tests
* Remove duplicate
* Assume Powder is a powder move
* Add config for Powder Rain interaction
* Only primal rain
* Z-Moves fix handled in Canceller_Z_Moves
* Fix BattleScript name
* Make sure Z-Move + Powder still damages user
* Add data to SpeciesInfo entries for in-battle shadows
* Implement sized shadows in the sprite visualizer
* Implement sized shadows in game code
* Show shadows for the lead battler for opponents during their battle anim
* Feedback on shadows, round 1
* Revert removal of Goomy and Sliggoo shadows
* Fixed GEN_3 setting
* Code cleanup + remove pre-processor branches
* Fix bugs with gen-3 configuration branch
* Style corrections, final shadow coordinate adjustments
* Adjustments to Garbodor and Araquanid
* 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>
* Some jsonproc string utility functions
Adds stringContains, stringStartsWith and stringEndsWith for use in jsonproc.
* Time-based wild encounters
This adds some configs that allows users to define wild encounter groups on a map that are automatically cycled through depending on the time of day.
* 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>
* Fix Slateport Battle Tent/Battle Factory
Stops the Battle Factory and Slateport Battle Tent from returning no Pokémon when player wants to swap their Pokémon.
* Fix player rental party being junk data after rest
Fixes#5280
* Consolidate checks into single method
Consolidates every gSpecialVar_0x8005 check into a singular method.
* EV Caps and EV Items
Introduces EV caps, inspired by level caps, with configurable options for various cap implementations. Additionally, modifies EV items to interact with these caps based on a configurable setting.
* EV Caps fixes
Changed the EV caps to be less redundant and work better overall.
* EV Caps Fix part 2
Set the items back to ItemUseOutOfBattle_Medicine, got rid of ItemUseOutOfBattle_EVItem and ItemUseCB_EVItem, and reverted CB2_ReturnToPartyMenuUsingItem to CB2_ReturnToPartyMenuUsingRareCandy
* EV Caps Fixes Part 3
Fixed being able to use EV items to go over 252 limit on single stats.
* Update src/ev_caps.c
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Fix Instruct bypassing AtkCanceler + interaction with firstTurnOnly moves
* Fix Entry Hazards targeting the wrong side of the field if opponent fainted
* Remove unused BattleScript_AuroraVeilEnds and STRINGID_AURORAVEILENDS
* Alternative fix + Fix gBattlerTarget initially set to 2
* Fix Instruct animation
* Alternative anim fix
* 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
* DoBattleIntro state documentation
* Removed unused state
* Update src/battle_main.c
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Fixed state jumps
* BattleStruct state uses enum
* Renamed state enums
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* 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>
* Converted Match Call names and descriptions to COMPOUND_STRINGs
* Moved May/Brendan and Elite Four descriptions into pokenav_match_call_data.c
* Moved Steven, Brendan, and May's Match Call text to pokenav_match_call_data.c
* Cleaned up Steven's Match Call text
* Added PokeNav option text to match_call_gfx
* Moved PokeNav page descriptions to menu_handler_gfx
* Moved help bar texts to pokenav_main_menu.c
* Moved various PokeNav strings out of strings.c and into their relevant files
* Removed unused PokeNav strings
* Fixed followers breaking for species Ids above 1535
* Added reminder to increase follower species bits if needed in the future
---------
Co-authored-by: Hedara <hedara90@gmail.com>
* Fixed Ice Face, implemented tests
* Fixed agbcc and bad battle mon looping
* Fixed the ShouldChangeFormInWeather function again
* Cleaned up End of Turn weather form changes, simplified Ice Face
---------
Co-authored-by: Hedara <hedara90@gmail.com>
* new move anims + fickle beam rework
* more fickle beam changes
* removed the true for consistency
* ficklebeamboosted gets cleared now
* mortal spin and thunderclap changes
* minor mortal spin pal change
* removed hex numbers and made hard press quicker
* 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>
* Change GET_MOVE_TYPE to a function
* add in battle check to GetMoveType function, move it to battle_util.c
* Update src/battle_util.c
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
* Update src/battle_util.c
---------
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
* Fix speed ties
* fixup! Fix speed ties
* fixup! Fix speed ties
* fixup! fixup! Fix speed ties
* fixup! Fix speed ties
* Workaround for Comatose-Ditto interaction
* Filename in list (no proper sorting yet)
* Line number and message in error list + removed sorting
* Style adjustment
* Added missing file/line number to "expected N passes/successes"
* Fixed Known Failing Passing test list
* Separated test list from totals
* Assumption fails list
* Better names
* Filename for KNOWN_FAILINGs passing
* Moved total back to the bottom
* Spaces correction
* Fixed test list count
* Source file for Alloc fails on tests
* Moved sourceLine from BattleTest to Test struct
* Fixed assumptions failed "and more" counter
* Fixed ASSUMPTION block not printing their line numbers
* Fixed when stopLine is printed
* Renamed stopLine to failedAssumptionsBlockLine
* Replace Opportunist todo tests with proper tests
* add failing test
* desc
* Fixes to Opportunist and Mirror Herb adjustments
* more tests
* some fixes
* first turn events switch
* simple enum + revert test desc
* Smarter Focus Punch
* Smarter Substitute, review feedback
* Use HasAnyKnownMove instead of isFirstTurn
* When are we removing agbcc again
* Use HasMoveEffect
* Refactors damage non types
* correction
* Refactor weather damage script
* new line
* correction
* there was a hail test already
* ndebug
* add sandstorm test
* Update src/battle_script_commands.c
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Added GetMaxNumMoneyDigits and GetMoneyBoxHorizontalPosition to header
Replaced use of PrintMoneyAmount
* Added define for MAX_MONEY_DIGITS
Removed GetMaxNumMoneyDigits
Converted uses of ConvertIntToDecimalStringN that called for 7 money digits to use MAX_MONEY_DIGITS
Replaced 6 money digits in PrintMoneyAmount with MAX_MONEY_DIGITS
* Use preproc and MAX_MONEY_DIGITS to increase the width of the sell item money box
* Added GetItemSoldMoneyHorizonalPosition and fixed ConvertInt in PrintMoneyAmount to use MAX_MONEY_DIGITS
* Added GetItemSoldMoneyHorizonalPosition and fixed ConvertInt in PrintMoneyAmount to use MAX_MONEY_DIGITS
* Removed width and tilemap changes
* Modified CountDigits to count digits greater than 1
Fixed PrintMoneyAmount to work with large digits
* Added an early return to PrependFontIdToFit
* First prototype working
* Updated GetMoneyBoxHorizontalPosition with amount
* Updated GetMoneyBoxHorizontalPosition with amount
* Got version working with one space before
* Got version working with one space before
* Got version working with all spacingOC
* cleaned up PrintMoneyAmount
* Created CalculateleadingSpacesForMoney
* Cleaned up for PR
* Changed tabs to spaces per https://github.com/rh-hideout/pokeemerald-expansion/pull/4943\#issuecomment-2223023365
* dynamic ai func
* add AI_TagBattlePreferFoe as an example
* Update src/battle_ai_main.c
* Update src/battle_ai_main.c
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* Added config to prevent unobtainable Pokemon from being shiny
* Added config for disabling shinies if the player has no Poke Balls
* Removed check for adventure started flag