* Applied Alex's fix for ABILITYEFFECT_TRACE
* Added Trace tests written by Alex/Rainonline
* Updated Trace's target-choosing capabilities and added a double battle test for it
Credits to Alex/Rainonline.
* Removed 2 of the 3 'Trace on opponent's switch-in' tests
* Added another Trace test
* 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>
* Added initial config for times of day
* Changed TIME_DUSK/DUSK_EVO to EVENING
* Added morning and evening to Gens 3/4
* Renamed *_EVO_HOUR_BEGIN/END to just *_HOUR_BEGIN/END
* Incorporated comments
* Legendary Mon Fusion Evolution Compatibility Added
Kyurem, Calyrex, and Necrozma Fusions have been implemented, however, the animation for the the process is incomplete, the party menu screen needs to be updated while the screen is whited out and it has proved beyond me right now. Smh
* Added Fusion Move Prompts
Handles cases for learning the fusion moves from the other fused mon and deleting the move when you unfuse (plus learning confusion (well a set choice in the data struct) if there are no moves left after deleting one)
* Fix Bug With Fusion Mon Move Learning
If the main fusion came after the fused mon in the party order it would try to teach the move to the next member in the party
* Apply suggestions from code review
Co-authored-by: LOuroboros <lunosouroboros@gmail.com>
* Fix build
* Fix fusion items being used up
* Fixed animations
* RefreshPartyMenu
* Apply suggestions from code review
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Apply suggestions
* Update form_change_tables.h
* Fix animation and simplify fusion tables
* Fix party full message
* Remove trailing whitespaces
* Update party_menu.c
* Update party_menu.c
* Make IsFusionMon better
* Apply suggestions from code review
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
---------
Co-authored-by: TeamAquasHideout <jonathonheddings@gmail.com>
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
Co-authored-by: LOuroboros <lunosouroboros@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* First draft of repel lure
* Updated all lure and repel scripts
* Optimized inc file
* Updated y coord
* optimized sprays.c
* Removed spray.inc
* Updated cosnt use
* Removed dead repel and lure code
* Updated debug for testing
* testing new inc file
* turn on debug and options
* playground generated inc file without ifs
* pory generated inc with ifdef complete
* Updated spray.c with new inc
* reverted item config
* Reverted event scripts
* Reverted event scripts
* Revert config
* Added testing scripts for debug
* Added back specials
* reverted debug scripts
* Updated use of constants
* Addressed tabs > spaces feedback
https://github.com/rh-hideout/pokeemerald-expansion/pull/3594\#discussion_r1402917676
* Updated constant names to avoid confusion
Made inc file changes
https://github.com/rh-hideout/pokeemerald-expansion/pull/3594\#pullrequestreview-1746418044
* Updated constant name of NUM_SPRAY_TYPES to NUM_SPRAY_STRENGTH to be more accurate
* 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>
* Adds Raging Bull and various fixes
* fix compiling on abgcc
* syrup bomb anim fix
* sticky syrup anim in link battles
* fix sticky syrup in link battles
* fix battler index
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Made function for time-based evolutions
* Incorporated Edu's comments and time variables
* Moved time of day begin/end variables to rtc.h
* Fixed if/else statement to pass building with modern
* Added morning
* Added ability to check if end time > beginning time
* Updated times to match SwSh
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Adds Glaive Rush
* Fixes: Glaive Rush status is removed until users next turn
* Glaive Rush no affect
* simplify glaive rush script
* simlify script further
* leftover
* Fix Plasma Fists and Relic Song + tests
* Callnative for Plasma Fists
* Use Status Field Ion Deludge for Plasma Fists
* add assumes for flinch_status
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Added Japan-only Walda PC icons
* Added a config for the Japanese icons
* Update overworld.h with suggestions
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Form changing method for Shaymin Sky into Land at night
* Ordered form change tables
* Refactored form change type to support both night and day
* Removed added space
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* Gen 1 and 2 families + fixes
- Fixed mixed identation.
- Fixed Azurill being Normal/Water type in Pre-Gen6 setting.
- Fixed Wobbuffett being before Wynaut
- Fixed Dudunsparce's macro being out of order
* Updated macros of Megas that shared held item with base forms
* Gen 3 families
* Separated Latis macro
* Gen 4 families
* Moved Misc Info to the top of arrays
* Renamed FAMILY_x to P_FAMILY_x
* Gen 5 families
* Gen 6 families
* Gen 7 families
* Gen 8 families
* Gen 9 families
* Mega Evolutions
* Gigantamax Form toggles
* Alolan Forms
* Galarian Forms
* Added missing comments
* Hisuian Forms
* Paldean Forms
* Fixed missing Paldean form flags
* Fixed order
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* SwitchAI makes much smarter mon choices
* Add HasHadOdds check to ShouldSwitch decision
* Remove early return
* Rework Baton Pass check as per discussion with Alex
* Forgot to adjust a comment
* Don't program before breakfast lol (if / else if fix)
* Switch AI_CalcDamage for AI_DATA->simulatedDmg in HasBadOdds
Thanks Alex! :D
* Typo in a hitToKO comparison
* Remove and replace AI_CalcPartyMonBestMoveDamage and IsAiPartyMonOHKOBy from https://github.com/rh-hideout/pokeemerald-expansion/pull/3146
See https://discord.com/channels/419213663107416084/1144447521960251472 for details
* Major refactor, new struct, switchin considers damage / healing from hazards / status / held item / weather
* Forgot Snow exists and heals Ice Body, haven't played Switch games lol
* (766a1a27a7) Compatibility, use new struct field instead of function call
* Fixing oversight from previous upstream merge
* Improve TSpikes handling to make GetSwitchinHazardDamage more applicable
Small fixes:
- EFFECT_EXPLOSION typo (!= to ==)
- Order of if statements near bestResistEffective
- Spacing of terms in big HasBadOdds if statements
* Forgot to uncomment blocks disabled for debugging what turned out to be vanilla behaviour lol
* Remove another holdover from debugging, sorry :/
* Lastly, undoing my debug trainer
* Type matchup based on species type rather than current type
Suggested by BLourenco on Discord, the idea is that a mon that's had its type affected by a move like Soak will still have moves as though it was its regular typing, and so prioritizing the temporary typing wouldn't be ideal.
https://discord.com/channels/419213663107416084/1144447521960251472/1146644578141736970
* gActiveBattler upcoming merge fixes
* Egg changes part 1
* Egg changes part 2, just need to address EWRAM still
* Move SwitchinCandidate struct to AiLogicData
* Consider Steel type when checking TSpikes
* Comment about CanBePoisoned compatibility
* Changes for Egg's 2nd review
* Put period back in comment, whoops lol
* Latest upcoming merge fixes
* Missed a few u32 updates
* Combine GetBestMonIntegrate functions / flags, some modularization
* Fix merge error
* Make modern fixes
* Two tests done, two to go
* Accidentally pushed reference test, removing it
* Type matchup switching tests
* Tests for defensive vs offense switches
---------
Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
* Added missing cross-gen evolutions
* Added forms for evos
* Converted some EVO_NONEs into EVO_MOVE
* Moved Ursaring's evolution up
* Added evolution methods for Dudunsparce and Maushold
* tests for intimidate defiant
* sheer force fix + tests
* white herb tests
* tests for stealth rock, weak armor and last resort fix
* style changes to weak armor test