Commit graph

430 commits

Author SHA1 Message Date
Alex
61e6365470
Fixes Photon Geyeser category + minor AI calc fixes (#3807) 2023-12-23 12:31:40 +01:00
LOuroboros
96cb4d3823
Added last CannotUseItemsInBattle tests (#3789)
* Added missing CannotUseItemsInBattle tests

* Removed individual assumptions for the EFFECT_ITEM_ESCAPE tests and added a single global one

* Added assumption for the move-related EFFECT_ITEM_ESCAPE test

* Moved the Mean Look assumption for consistency with other tests and to be extra safe
2023-12-21 20:06:12 +01:00
Martin Griffin
3a5ca6f8f0
Small test runner improvements (#3761)
* u16 for FunctionTest PARAMETRIZE

* Speed up CB2_TestRunner

* Use DACS to handle illegal instructions

DACS is available in mgba from 44e074a15e
This is not 0.10.2, but will presumably be available in the next
release. Alternatively, a GBA BIOS could be used.

---------

Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 17:33:45 +01:00
Alex
069769710b
Fixes Item Metronome damage (#3767)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 11:24:12 +01:00
DizzyEggg
e8e9d37640
Prankster tests + fixes (#3766)
* Prankster tests + partial fix

* Fix Prankster tests and some edge cases

---------

Co-authored-by: Alex <alexthenotes@gmail.com>
2023-12-19 11:17:31 +01:00
DizzyEggg
1ec0333432
Fix Ion Deluge interaction with VoltAbsorb/LightRod (#3764)
* Fix Ion Deluge interaction with VoltAbsorb/LightRod

* Use move target all battlers for ion deluge fix

* fix teatime failing

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-18 16:57:56 +01:00
DizzyEggg
59a159c338
Fix Ice Face ignoring move effects (#3755)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-18 16:02:07 +01:00
DizzyEggg
64f8635496
fix telekinesis not working (#3763)
* fix telekinesis not working

* typo

* remove one roost known failing

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-18 15:50:03 +01:00
DizzyEggg
e1d4bcc04e
fix frisk msg + tests (#3762) 2023-12-18 15:13:14 +01:00
Eduardo Quezada
c505abd53d Merge branch 'RHH/master' into RHH/upcoming 2023-12-17 18:13:26 -03:00
DizzyEggg
e22ac51617
Fix Innards Out doing dmg after Gastro Acid / vs Magic Guard (#3758)
* gastro acid stays for fainted mons

* Innards Out does not damage Magic Guard Pokemon
2023-12-17 21:47:12 +01:00
Eduardo Quezada
d92c046a80 Merge branch 'RHH/master' into RHH/upcoming 2023-12-17 17:31:10 -03:00
DizzyEggg
76a7513dcd
Fix Magician Life orb recoil when stealing (#3753)
* Fix Magician Life orb recoil

* get rid of unneeded assume
2023-12-17 19:50:43 +01:00
DizzyEggg
d79fe11bb1
get rid of known failing in ai test (#3748)
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-12-17 15:11:02 +01:00
DizzyEggg
3df101a6a0
fix baton pass not passing embargo (#3745)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-17 00:25:16 +01:00
Eduardo Quezada D'Ottone
ef6edcf098
Fixed Ivy Cudgel test name (#3742) 2023-12-16 09:22:36 +01:00
Eduardo Quezada
fbbee39886 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	src/battle_main.c
2023-12-15 18:50:20 -03:00
Alex
94ffeb2cf8
Fix Quick Claw chance (#3737) 2023-12-15 17:05:11 +01:00
Bassoonian
0fd08a32ac Add status form change 2023-12-15 11:17:35 +01:00
Eduardo Quezada D'Ottone
c44e133d8c
Updated Gen 9-mon-exclusive ability tests to use Gen 9 mon (#3733)
* Updated Gen 9-mon-exclusive ability tests to use Gen 9 mon

* Fixed message

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-15 00:19:28 +01:00
Alex
be045fdc0c
Fixes Quick Draw (#3724)
* Fixes Quick Draw

* Fixes Custap and rest of Quick Draw

* review applied
2023-12-15 00:03:59 +01:00
Alex
38c61854e6
Changed Ivy Gudgel effect (#3721)
* Change Ivy Gudgel effect

* test assumptions

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-14 18:09:06 +01:00
Alex
44e81d4f4c
Gen 9 configs for Protean/Libero, Intrepid Sword and Dauntless Sword (#3614)
* Gen 9 configs for Protean/Libero, Intrepid Sword and Dauntless Sword

* use bitfield

* battler fix

* fields
2023-12-12 00:08:44 +01:00
Martin Griffin
ee1fb1d454
SpeciesInfo tests (#3688)
* Remove unnecessary const

* Test that species ID tables are shared between all forms

* Use P_FAMILY_MELTAN

* Test that form change tables contain only IDs in form species tables

* Fix isPrimalReversion typo

* Test form change targets have appropriate species flags

* Fix #3689
2023-12-11 13:54:20 +01:00
Eduardo Quezada
b2917fac5d Merge remote-tracking branch '_RHH_origin/master' into RHH/upcoming
# Conflicts:
#	include/constants/battle_script_commands.h
#	src/battle_script_commands.c
2023-12-10 14:29:42 -03:00
Rose
8dbce50783 Fix Ice Heal typo in test
Ice heal heals being frozen, not paralyzed
2023-12-10 17:07:28 +00:00
Alex
628eb95925
Adds Rage Fist (#3573)
* Adds Rage Fist

* Fix initial implementation

* fix merge

* review changes

* endure test

* add field enduredDamage

* rage fist: transform, disguise  and field change

* merge fix
2023-12-10 12:33:25 +01:00
Alex
403843cecf
Fixes Fling damage calcs (#3670) 2023-12-10 00:27:05 +01:00
Alex
57ce85207e
Fixes Substitute triggering Stamina and Eject Button on crash damage (#3669)
* Fixes Substitute triggering Stamina

* Fix Eject Button triggering on crash damage
2023-12-09 17:40:04 +01:00
Alex
d86a2136a7
Fixes Cutton Down / Defiant interaction (#3657) 2023-12-08 17:29:29 +01:00
Eduardo Quezada D'Ottone
4adc2dcb16
Species Simplifier™ - Part 3 (#3562)
* Added SpeciesInfo fields

# Conflicts:
#	include/pokemon.h

* Added missing comments

* Renamed gigantamax to isGigantamax

* Converted species flags to agbcc bit flags

* Added padding after flags

* Pikachu form config

* Dex text

* Reordered Paradox flag

* Missing Pikachu ifdef comments

* Moved P_GEN_x_POKEMON settings to the species_families file

* Gen 1 Dex entries

* Renamed file to species_enabled.h

* Prevent Pokémon from evolving if their evolution is disabled

* Prevent Pokémon from being affected by Eviolite if their evolution is disabled

* Prevent Pokémon offspring if they're disabled

* Corrected imprementation of evolution prevention

It could potentially overwrite items by accident

* Cross-evo configs

* Gen 2 dex entries

* Changed cry table to use assignable IDs

# Conflicts:
#	include/pokemon.h

* Form table pointers

* Beginning support for moving data to gSpeciesInfo

* Pokédexes reads text from gSpeciesInfo

* Reading species names from gSpeciesInfo

* Fixed erroneous copy-paste

* Moved Bulbasaur to Raichu Family data do gSpeciesinfo

* Added female pic sizes

* Macros for Front, Back, Palette and Learnsets

* Sandshrew to Dugtrio Families

* Obtains Height/Weight from gSpeciesInfo

* Read category from gSpeciesInfo

* Removed unused data from pokedex_entries.h

* Moved Gen 1 data to gSpeciesInfo

* Moved Gen 2 data to gSpeciesInfo + fixed Ursaluna Bloodmoon not producing Teddiursa eggs

* Moved Gen 3 data to gSpeciesInfo

* Moved Gen 4 data to gSpeciesInfo

* HGSS dex properly shows form sprites

* Fixed data type for GetSpeciesHeight/Weight

* Reading Pokédex Size data from gSpeciesInfo

* Cleaned up mon graphic decompression function

* Reading Front Pics gSpeciesInfo

* Reading Back Pics gSpeciesInfo

* Updated uses of GetMonSpritePalStruct to allow loading the data directly instead of reading the struct

* Reading palettes from gSpeciesInfo

* Reading animation delay from gSpeciesInfo

* Fixed Pokémon Debug Menu not reading animation delay

* Reading front anim Id from gSpeciesInfo

* Reading back anim Id from gSpeciesInfo

* Reading Animation Frames from gSpeciesInfo

* Reading Icon Sprites from gSpeciesInfo

* Reading Icon Palette IDs from gSpeciesInfo

* Reading Footprints from gSpeciesInfo

* Reading Mon Pic sizes from gSpeciesInfo

* Separate mon pic sizes for female mon

* Reading Level Up Learnsets from gSpeciesInfo

* Reading Teachable Learnsets from gSpeciesInfo

* Reading National Dex Number from gSpeciesInfo

* Reading Enemy Mon Elevation from gSpeciesInfo

* Reading Evolutions from gSpeciesInfo

* Reading form table from gSpeciesInfo

* Fixed button label inconsistency in pokémon debug menu

* Reading form change table from gSpeciesInfo

* Removed need to define mon graphics in include/graphics.h

* Reordered mon graphics by family

* Fixed National dex number offset

* gFrontierBannedSpecies now checks IsSpeciesEnabled

* Added 3 more toggles for Fusions, Primal Reversions and Ultra Burst

* Gen 3 & 4 family toggles for dex entries

* Fixed missing Mr. Rime data

* Gen 1 dex descriptions as compound strings

* Gen 2 dex descriptions as compound strings

* Gen 3 dex descriptions as compound strings

* Gen 4 dex descriptions as compound strings

* Fixed compile in agbcc

* Moved Gen 5 data to gSpeciesInfo

* Using PLACEHOLDER_ANIM_SINGLE_FRAME when needed (same hash)

* Renamed PLACEHOLDER_TWO_FRAME_ANIMATION to PLACEHOLDER_ANIM_TWO_FRAMES

* Fixed capitalization for front pic anims

* Fixed `CanEvolve`

* Moved Gen 6 data to gSpeciesInfo

* Gen 7 without macros

* Gen 8 without macros

* Gen 9 without macros

* Fixed Gen 9 sound data

* Finished moving Gen 7 data in macros (by Alex)

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>

* Ultra Necrozma is now included in the fusion forms define

* Cries are now properly excluded from the rom when disabling species

* Removed P_GEN_x_POKEMON from form_change_tables.h

* Fixed Yanmega's cry ignoring the P_GEN_4_CROSS_EVOS setting

* Added P_NEW_EVOS_IN_REGIONAL_DEX setting

* Automatic ASSUMPTION_FAIL when used species are disabled

* Finished moving Gen 8 data in macros (by Alex)

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>

* Expanded Alcremie macro

* Finished moving Gen 9 data in macros (by Alex)

* Fixed missing data for Komala and Marshadow

* Form species id tables use family toggles + added missing Ursaluna form species id table

* Fixed Genesect palettes

* Fixed Flabébé family graphics

* Fixed Minior Graphics

* Fixed missing Calyrex data

* Family toggles in mon graphcis (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed missing Ogerpon data

* Ordered Level Up Learnsets (missing toggles)

Also added White Basculin learnset

* Added more Minior synonyms

* Fixed enamorus order

* Reordered teachable learnsets

* Removed sSpeciesXXX level up learnsets + reordered

* Removed unneeded assumes

* Removed unused extra animations

* Family toggles in mon level up learnsets (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed Phione graphics inclusion

* Family toggles for Teachable Learnsets

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Ordered Front Pic Anims

* Family toggles for front pic animations

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed HGSS dex incorrectly showing the wrong mon when catching it

* Family toggles for Egg Moves + reodered

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed HGSS not checking for null footprints

* Review changes

* Fixed Female difference mon not using their macros

* Fixed Alcremie Macro

* Fixed compile error when disabling the Bulbasaur family

* Fixed Turtwig and Chimchar family + Houndour and Mareep cries not being excluded properly

* Re-added missing Egg graphical data

* Fixed crash during the Birch Intro when Lotad is disabled

* Renamed PALLETE to PALETTES

* Removed extra spacing for YOffsets

* Fixed compile when only disabling cross-gen evolutions

* Added Tera Forms define (Ogerpon and Terapagos)

* Fixed Necrozma macro

* Removed .noFlip = FALSE

* Fixed dex number in summary screen for forms when nat dex is disabled

* Fixed Paldean form paths

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-08 15:05:10 +01:00
Patrick Curran
f7ca839f23
EFFECT_CHILLY_RECEPTION (#3379)
* Chilly Reception Effect

* Wrap Chilling Reception Message Better

* Animation & Some Testing

* Remove Wimp Out cases from Chilly Reception tests

* Animation tweaks

* Battle Script Updates
* Created CheckPrimalWeather macro for Weather Effects
* Updated Chilly Reception logic to switch even if weather doesn't change

Testing Updates

* Fixed test: Move does not animate if weather fails to change

* Remove snow animation check during failure path test

* * Fix indentation
* Move Chilly Reception animation to always play (even when weather change fails)

* Updates to MoveSwitch and PartingShot to get closer to original logic

* Update BattleScript_EffectChillyReception logic

* * Move CHILLY_RECEPTION animation
* Test updates

* Fix Chilly Reception MESSAGE  checks

---------

Co-authored-by: Patrick Curran <rapidnutcracker@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-06 17:11:13 +01:00
Eduardo Quezada
d076193b9f Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	asm/macros/battle_script.inc
#	include/constants/battle.h
#	include/constants/battle_script_commands.h
#	src/battle_script_commands.c
#	src/data/battle_moves.h
2023-12-03 16:39:32 -03:00
LOuroboros
6b1ea33be8
Fixed Trace (#3623)
* 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
2023-12-02 23:09:09 +01:00
Pawkkie
131bb94d73
Extend AI_FLAG_SMART_SWITCHING for Encore / hazards / lowered attacking stats (#3557)
* Consider Encore / lowered stats / hazards

* Fix poorly thought out Return FALSE

* Incorporate Egg's feedback

* Tests for hazards and stats, and some fixes

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-11-30 12:37:19 +01:00
Alex
4bde378c0d
Fixes Floral Healing + Tests (#3604) 2023-11-29 13:57:29 +01:00
Alex
913bc6c9d0
Adds White Herb tests (#3611) 2023-11-29 11:05:06 +01:00
Eduardo Quezada
c8b0545d20 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	include/battle.h
2023-11-25 00:51:33 -03:00
Alex
71fd95e6d4
Fixes Protosynthesis and Quark Drive ability pop up (#3595) 2023-11-23 19:49:21 +01:00
Alex
ca39889587 Fixes Howl 2023-11-22 21:55:08 +01:00
Alex
b9edbb429b
Adds combined pledge move effects (#3336)
* 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>
2023-11-21 16:23:22 +01:00
Alex
be42d4eafb
Increase score of secondary effects only at 100% chance (#3583)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-11-21 11:30:20 +01:00
Alex
4cb03d4add
Adds Raging Bull and various fixes (#3552)
* 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>
2023-11-19 17:45:58 +01:00
Alex
5fa1bffa8d
Adds Glaive Rush, fixes for Plasma Fists and Relic Song (#3476)
* 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>
2023-11-18 15:19:38 +01:00
LOuroboros
efe9f6d8ab
Added battle tests for Embargo (#3555)
* Added Embargo battle tests

* Expanded Embargo doesn't prevent Primal Reversion to avoid CI failure

* Applied corrections to some of the Embargo tests
2023-11-17 13:14:37 +01:00
Eduardo Quezada
a8564cf8a9 Merge branch 'RHH/master' into RHH/upcoming 2023-11-14 12:54:16 -03:00
Zhengwen Jiang
74de34c8b8 improve the performance for specific tests
Co-authored-by: Martin Griffin <martin.griffin@algosport.co.uk>
2023-11-13 01:53:39 -06:00
Pawkkie
b93dfb9d59
Smarter SwitchAI Mon Choices | HasBadOdds Switch Check (#3253)
* 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>
2023-11-11 14:37:35 +01:00
Alex
e79583be63
Remove function GetMoveDamageResult (#3536)
* Remove function GetMoveDamageResult

* fix test

* test clean up

---------

Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
2023-11-09 20:53:14 +01:00
Alex
4b3c96a89b
Adds ability Zero to Hero (#3542) 2023-11-09 08:25:46 -03:00