Commit graph

778 commits

Author SHA1 Message Date
Bassoonian
e3959a764b
Rename MgbaPrintf_ to Test_MgbaPrintf (#4642) 2024-05-31 17:54:25 +02:00
Alex
bebc13b5a1
Adjust Ate-Ability code a bit to make it more readable (#4640)
* Adjust Ate-Ability code a bit to make it more readable

* stupid oversight

* fixed

* pull normal type move check out of function

* unused var

* switch and tests

* oversight

* Apply suggestions from code review

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-05-31 12:22:18 +02:00
Alex
f6e00303b7
Fixes Neutralizing Gas / Intim interaction freezing the game (#4668) 2024-05-31 00:08:04 +02:00
Pawkkie
8d58564569
Test runner set mode (#4661)
* Item icon table glitch

* Test runner uses OPTIONS_BATTLE_STYLE_SET
2024-05-30 21:24:33 +02:00
Pawkkie
a0006d8dfb
AI_FLAG_RISKY Improvements (#4648)
* #defines for damage roll bounds

* Risky AI behavior implemented

* Ignore score penalty to EFFECT_RECOIL_IF_MISS moves if accuracy has been lowered

* Adjust score defines

* EFFECT_MIND_BLOWN

* Use GetBestDmgMoveFromBattler instead of AI_CompareDamagingMoves
2024-05-29 19:54:18 +02:00
Alex
84a7fd86d6
#4635 follow up. Missing test comments (#4647) 2024-05-29 09:56:59 +02:00
Alex
7a393a974a
Adds Dragon Darts effect (CFRU port) (#4612)
* Adds Dragon Darts effect (CFRU port)

* fix test compile

* review
2024-05-28 11:34:56 +02:00
Alex
0570609ce6
Small Ability Effect Move Block refactor (#4635)
* Small Ability Effect Move Block refactor

* combine tests
2024-05-28 10:34:05 +02:00
Pawkkie
be2517415b
Damage roll selection in AI_CalcDamage (#4615)
* Damage roll selection and AI_FLAG_CONSERVATIVE

* Clarify enum names

* Simplify AverageRollDmg line

* Change u8s to u32s

* Turns out Boomburst does a lot of damage lol

* Spacing
2024-05-28 10:21:25 +02:00
PhallenTree
9104c40d43
Fixes Dancer triggering if the move's user didn't act (#4638)
* Fixes Dancer triggering if the user flinched

* Add check to make sure "Pokemon used move" message is kept

* Address review

---------

Co-authored-by: Fltp <fltpessoa2@gmail.com>
2024-05-27 17:07:13 +02:00
Eduardo Quezada
80b193280d Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_main.c
#	src/data/item_icon_table.h
#	src/data/pokemon/species_info/gen_9_families.h
2024-05-27 10:13:42 -04:00
Eduardo Quezada
acd62b0065
Reverted bad implementation of Sparkling Aria+Covert Cloak/Shield Dust (#4634) 2024-05-27 06:38:05 +02:00
Pawkkie
c279aa23c6
Belch AI Scoring Fix (#4616)
* Belch scoring fix and test

* Add assumptions for pocket

* Update test to AI_SINGLE_BATTLE_TEST

* Alex's fixes

* Missed reverting a line

* Mucked up spacing mb

* Mucked up the spacing fix mb MB
2024-05-26 22:23:04 +02:00
Alex
4f1df84acf
Make AI see Loaded Dice hold effect for multi hit moves that strike 5… (#4622)
* Make AI see Loaded Dice hold effect for multi hit moves that strike 5 times

* Update battle_ai_util.c
2024-05-26 22:19:45 +02:00
hedara90
487dc92119
Fixing bugs with Moxie clones+Dynamax, Fling Flinch infinite loop and Focus Sash+foreseen moves (#4625)
* Fixed Elixirs not being able to be used unless the first move was missing PP

* Revert "Pokedex Plus fixes (#4514)"

This reverts commit 982934c4aa.

* Pokedex Plus fixes (#4514)

* Pokedex plus no longer allows browsing unseen evos

* Restore "has no evolutions" printing

* only print "has no evolution" text at 0 depth

* Revert config changes

* fix duplicate icons and removed eevee hardcodes

* add new scope and indentation fixes

* actually introduce new scope

* Revert "Fixed Elixirs not being able to be used unless the first move was missing PP"

This reverts commit 313f2e5526.

* Initial Testing of Focus Sash+Future Sight

* Fixed infinite loop when flinging Razor Fang on a mon that's already moved

* Fixed Moxie clones not triggering on pokemon fainted by Max Moves

* Fixed Focus Sash enduring another time if broken by foreseen moves

* Update src/battle_script_commands.c

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

* Update src/battle_script_commands.c

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

* Added assumptions to tests

---------

Co-authored-by: Hedara <hedara90@gmail.com>
Co-authored-by: sneed <56992013+Sneed69@users.noreply.github.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-05-26 17:01:20 +02:00
sneed
312dcbb8a8
Speed Ignoring effect fixes (#4613)
* Custap ties with Quick Draw, Stall with Mycelium

* add a test
2024-05-24 11:21:35 +02:00
kittenchilly
edab81b658
Fix Inner Focus, Scrappy, etc granting immunity to all stat drops if the attacker has Intimidate (#4606)
* Fix Inner Focus, Scrappy, etc granting immunity to all stat drops if the attacker has Intimidate

* Formatting

* Test

* Update own_tempo.c
2024-05-22 22:20:44 +02:00
cawtds
b73e33618d
Fix status curing of full restore when used on party member (#4603)
* fix getboxmondata for evolutiontracker if compiled with agbcc

* fixed full restore curing status condition when used in battle on party member with missing hp
added more full restore tests

* formatting, removed unused
2024-05-20 00:25:03 +02:00
Alex
57ec87387d
Fixes freeze on Galvanize Explosion against Volt Absorb (#4601) 2024-05-19 21:29:54 +02:00
hedara90
4ccfd5355d
Fixed Elixir only being useable if the first move was missing PP (#4594)
* Fixed Elixir only being useable is the first move was missing PP

* Update restore_pp.c

Commented out the test that doesn't actually test what it's supposed to due to current test system.

---------

Co-authored-by: Hedara <hedara90@gmail.com>
2024-05-18 19:55:31 +02:00
Alex
635db6312c
AI respects partner when using spread moves in double battles (#4518)
* Fixes Earthquake AI in double battles

* earthquake_ai_fix

* Use CompareDamagingMoves to fix spread damage issue
2024-05-17 00:41:55 +02:00
Alex
faf61e62fb
Adds move Spicy Extract (#4211)
* Adds move Spicy Extract

* remove uneeded line

* anim, new tests, acc change

* Clear Amulet, Contrary interaction

* ai

* correction

* simplify script a bit

* clean up

* Spicy Extract script overhaul

* merge rhh/upcoming

* alignment

* AI changes/additions

* add Foul Play check

* Remove useless ai checks

* remove wrong test

* review issues
2024-05-16 11:03:50 +02:00
Eduardo Quezada
3a1b4951c6
Added missing Move Effect TODO tests - Volume A (#4569)
* Added missing TODO tests - Volume A

* Update test/battle/move_effect/autotomize.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-05-15 20:48:10 +02:00
Eduardo Quezada
ab682ce900 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/data/items.h
#	src/pokemon_summary_screen.c
2024-05-15 09:58:21 -04:00
Isaac Rivera
e5b33a0434
Add check for Magic Guard to avoid taking recoil damage (#4578)
* Add check for Magic Guard to avoid taking recoil damage

* add test to verify a mon with magic guard does not take recoil damage

followed format from "Steel Beam hp loss is prevented by Magic Guard" test

* update format of tests with magic guard and some form of recoil damage
2024-05-15 15:40:40 +02:00
Isaac Rivera
08bdc85359
Adds tests to verify Parental Bond doesn't affect EFFECT_MULTI_HIT moves (#4573)
* Adds tests to verify that Parental Bond does not affect moves with EFFECT_MULTI_HIT

* actually make kanga mega evolve in tests

* add celebrate for opponent and "not animation" on 5th hit

* update test strings
2024-05-14 17:28:14 +02:00
TheJamesLJ
9cd3fbb232
Opponents Shaymin Sky form correctly reverts on frozen status (#4559)
* Fixed Shaymin form change with incorrect status condition

* Fixed Shaymin receiving damage again after changing form

* PR feedback updates - fixed missing commas in battle script

* Added Shaymin form change test by @AlexOn1ine
2024-05-14 13:28:10 +02:00
Eduardo Quezada
ac16a52918
Revert "Guillotine: Decapitalize everything (#3949)" (#4525)
This reverts commit e2d70d440e, reversing
changes made to 0d2b400953.

# Conflicts:
#	gflib/text.c
#	include/config/decap.h
#	src/battle_message.c
#	src/item.c
2024-05-13 19:19:37 +02:00
Eduardo Quezada
0f5297423f Fixed Knock Off upcoming test 2024-05-13 11:25:49 -04:00
Eduardo Quezada
d4eb94db92 Fixed master test move name 2024-05-13 11:25:23 -04:00
Eduardo Quezada
3219a48adf Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_script_commands.c
2024-05-13 11:00:12 -04:00
hedara90
ebdc9ffc39
Fixed some moves' on-hit effects bypassing Substitutes where they shouldn't and some other things discovered along the way (#4558)
* Fixed some moves' on-hit effects bypassing Substitutes where they shouldn't.
Fixed Sparkling Aria interaction with Shield Dust in Singles vs Doubles.
Fixed Wake-Up Slap and Smelling Salts getting boosted damage where they shouldn't vs Substitutes.

* Cleaned up check for Sparkling Aria+Shield Dust interaction and fixed for agbcc.
Fixed logic for checking if moves should do extra damage on statused targets.
Wrote tests for Wake-Up Slap and Smelling Salts receicing extra damage on statused targets.
Wrote tests to check Thousand Arrows type effectiveness vs ungrounded Flying types.

* Update src/battle_util.c

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

* Update src/battle_script_commands.c

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

* Update src/battle_script_commands.c

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

* Update test/battle/ability/shield_dust.c

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

* Update test/battle/item_effect/covert_cloak.c

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

* Update test/battle/item_effect/covert_cloak.c

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

* Update test/battle/item_effect/covert_cloak.c

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

* Update test/battle/move_effect/smelling_salts.c

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

* Update test/battle/move_effect/thousand_arrows.c

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

* Update test/battle/move_effect/wake_up_slap.c

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

* Update test/battle/move_effect/wake_up_slap.c

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

* Update test/battle/move_effect/wake_up_slap.c

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

---------

Co-authored-by: Hedara <hedara90@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-05-13 13:33:04 +02:00
Alex
56cee80fbf
Explosion and Mind Blown / Steel Beam refactor (CFRU port) (#4516)
* Explosion and Mind Blown / Steel Beam refactor (CFRU port)

* forgot ndebug

* Restored EFFECT_MIND_BLOWN

* requested changes

---------

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-05-12 11:41:18 -04:00
sneed
a8bb82778a
Remove and replace MOVE_EFFECT_SP_ATK_TWO_DOWN (#4557) 2024-05-12 15:07:43 +02:00
Eduardo Quezada
be37820bd9 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_script_commands.c
2024-05-11 19:53:19 -04:00
sneed
f502ba2a69
Stat stage related AI fixes (#4548)
* stat stage related AI fixes

* add more ai fixes and 2 tests

* use legal ability in tests

* Fix test and remove mold breaker check

* Use DoesBattlerIgnoreAbilityChecks
2024-05-11 19:03:19 +02:00
Alex
d247a77927
Fixes Future Sight freeze/weird behavior (#4543) 2024-05-10 23:00:32 +02:00
hedara90
dd0c3a9ee5
Fixed moves with HP cost triggering effects where they shouldn't (#4533)
Co-authored-by: Hedara <hedara90@gmail.com>
2024-05-09 15:22:48 +02:00
BlueAnthem37510
2d7c79e860
Gulp missile not triggering on faint fix and added form change type (#4502)
* Cramorant faint fix and add form change type

* Fixed formatting, renamed form change type, changed various to callnative

* Fix oops broke everything except gulp missile

* Improved condition order

* remove extra line

* whitespace and alignment

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>

* whitespace and alignment

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>

* whitespace and alignment

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>

* whitespace and alignment

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>

* whitespace and alignment

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>

* whitespace and alignment

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>

* Added requested changes

---------

Co-authored-by: BlueAnthem37510 <a@a.com>
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-05-07 06:44:17 -04:00
Eduardo Quezada
1ceae6e100 Merge branch '_RHH/master' into _RHH/upcoming 2024-05-06 15:29:21 -04:00
Eduardo Quezada
4ce8a05d5d
Add tests to complement PR4500 (#4511) 2024-05-06 19:59:37 +02:00
Eduardo Quezada
5ec08ee98c
Small Battle Test reorganization (#4504)
* Fixed test folders + Chud Chew test name fixes

* Adjusted file names + merged Burn Up and Double Shock files

* Added Spit Up/Swallow files that point to Stockpile's file

* Multiple changes (see description)

- Moved secondary effect files to their own folder.
- Split hit_set_entry_hazards.c to separate files for Spikes/Stealth Rock.
- Grouped Hex/Venoshock to the same file
2024-05-06 09:36:52 +02:00
Eduardo Quezada
d5a72ec685 Merge branch '_RHH/master' into _RHH/upcoming 2024-05-05 19:50:12 -04:00
Eduardo Quezada
e20cb62de6
Fixed Steam Roller AI check affecting Terrain setting effects (#4498)
* Fixed battle_ai_util.c whitespace

* Add arguments check

* Parenthesis

* Update src/battle_ai_util.c

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

* Added AI tests by AlexOn1ine

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-05-06 00:54:28 +02:00
Alex
41138f101c
Fix Red Card, Endured Damage interaction (#4482) 2024-05-05 14:29:59 +02:00
Eduardo Quezada
4410c1b797
Improve Eject Pack test names (#4497) 2024-05-05 11:58:11 +02:00
kittenchilly
0aad2a9ba7
Change Battle Frontier validation to species flag (#4341)
* Split isLegendary into isRestrictedLegendary and isSubLegendary

* Address reviews and fix build

* Update frontier_util.c

* Remove gFrontierBannedSpecies , fast edition

* Sped up name generation

* More speed up

* Split Frontier restriction into its own flag

* Mythicals shouldn't be banned always anymore

* u32

---------

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-05-03 13:32:06 -04:00
Eduardo Quezada
e791bc08e7 Fixed incoming master test messages 2024-05-02 14:27:58 -04:00
Eduardo Quezada
0c74fd31c3 Merge branch '_RHH/master' into _RHH/upcoming 2024-05-02 14:24:17 -04:00
Alex
6d397f9867
Fixes Magic Bounce in double battles (#4464)
* Fixes Magic Bounce in double battles

* Add Double Battle check
2024-05-02 14:23:46 +02:00
hedara90
77e17247cd
Color change fixes (#4472)
* Fixed forseen moves not triggering Color Change and added tests for Color Change

* Added issue number to Known Failing test

---------

Co-authored-by: Hedara <hedara90@gmail.com>
2024-05-01 23:23:37 +02:00
Bassoonian
c5552f53da
checkteratype setteratype (#4460) 2024-04-30 00:12:34 +02:00
PhallenTree
6ad443c9a8
Fixes Eject Items causing wrong pokemon to take damage from entry hazards (#4465)
* Fix hazards damaging the wrong pokemon using eject items

* Added Stealth Rock test as requested

* Added Stealth Rock double battle test
2024-04-29 23:16:58 +02:00
Alex
c1f92b088e
Eject Pack fix (#4463) 2024-04-29 13:21:33 +02:00
kittenchilly
d58e6517f8
Add abilities Tera Shift, Tera Shell, and Teraform Zero (#4418)
* Add abilities Tera Shift, Tera Shell, and Teraform Zero

* Address reviews

* Tests and misc cleanup

* Fix alignments

* Update battle_script_commands.c

* New tests and fix behavior

* Address more reviews

* Update battle_util.c
2024-04-27 19:52:31 +02:00
kittenchilly
fc9d5c289a
Embody Aspect fixes (#4439)
* Embody Aspect fixes

* Fix tests

* Update battle_util.c
2024-04-27 19:35:42 +02:00
kittenchilly
64b28124fb
Add Tera Starstorm move + make Tera Blast displayed type reflect current type due to tera state (#4447)
* Add Tera Starstorm move + make Tera Blast/Tera Starstorm displayed type reflect tera type

* Ooops

* Curse tests
2024-04-27 19:35:29 +02:00
Alex
7355eb99a5
Fix infinite loop caused by leftovers with AI_FLAG_SMART_CHOICES (#4453) 2024-04-27 13:36:29 +02:00
Alex
ec37b2170f
Fixes Hospitality triggering on a fainted mon (#4450) 2024-04-26 16:29:26 +02:00
Eduardo Quezada
dd098baf77
Official GF names by default (#4241) 2024-04-25 14:23:08 -04:00
Martin Griffin
664fe905f6 Enable GF type names by default 2024-04-25 18:40:38 +01:00
Martin Griffin
30efba0ccd Support GF abilities names 2024-04-25 18:40:38 +01:00
Martin Griffin
d913792f43 Enable GF species names by default 2024-04-25 18:40:37 +01:00
Martin Griffin
06d817bd1b Expanded species names 2024-04-25 18:40:37 +01:00
Martin Griffin
aab9678b02 Enable GF item names by default
In the Pokémon Storage System, even FONT_SMALL_NARROWER isn't sufficient
to prevent clipping in all cases. e.g. Unremarkable Teacup 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 Pokémon Storage System UI, or b) set
I_EXPANDED_ITEM_NAMES to FALSE.
2024-04-25 18:40:37 +01:00
Martin Griffin
a1d2460372 Enable GF move names by default
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.
2024-04-25 18:40:37 +01:00
Martin Griffin
1fea6b83cc PARAMETRIZE_LABEL in test/species.c
PARAMETRIZE_LABEL is like PARAMETRIZE, except that it allows the user to
provide a label which will be displayed in the test name line. This is
useful for tracking _which_ PARAMETRIZE case failed in the situation
where the numbers are unwieldy.
2024-04-25 18:40:37 +01:00
Eduardo Quezada
d42de03ddc Merge branch '_RHH/master' into _RHH/upcoming 2024-04-25 12:37:31 -04:00
Alex
94cb2133c6
Fixes ability dancer not targeting multiply targets (#4437)
* Fixes ability dancer not targeting multiply targets

* remove file
2024-04-25 10:13:57 +02:00
Martin Griffin
143d6fb289
Minor cleanup of Frisk test (#4441) 2024-04-25 10:11:01 +02:00
Martin Griffin
baaefb4d72
Add missing shouldDynamax (#4442) 2024-04-25 10:10:36 +02:00
Alex
6f538d840c
Combine weather set commands (#4434)
* Combine Weather set commands

* further tests

* minor error

* update test names
2024-04-24 14:10:25 -04:00
AgustinGDLV
84a9d4ffcf
Terastallization (#4110)
* 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
2024-04-24 11:17:46 +02:00
Alex
81a73deb76
Fixes Quash (#4419)
* Fixes Quash

* Update test/battle/move_effect/quash.c

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

* Update test/battle/move_effect/quash.c

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

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-04-21 15:40:35 +02:00
sneed
620c453fbd
Intimidate and Super Sweet Sugar prints the right message and doesn't play animation when already at -6 (#4406)
* Intimidate won't print message or play animation at -6

Super Sweet Syrup included

* Update intimidate.c

* Update supersweet_syrup.c

* Update test/battle/ability/supersweet_syrup.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-04-21 14:10:14 +02:00
Alex
49c86f86c8
Adds Ability Poison Puppeteer (#4416)
* Adds Ability Poison Puppeteer

* nothing happened

* parametrize poison powder and toxic

* leftover
2024-04-20 22:23:20 +02:00
Eduardo Quezada
c4c371824f Merge branch '_RHH/master' into _RHH/upcoming 2024-04-20 08:22:49 -04:00
Martin Griffin
4fa5ae24e1
Fix AI test error messages (#4404) 2024-04-18 12:49:54 +02:00
Alex
4d5a745e31
Fix bug involved infinite loop when player mon has only status moves (#4403) 2024-04-18 10:34:33 +02:00
Eduardo Quezada
5a276dcbbf Merge branch '_RHH/master' into _RHH/upcoming 2024-04-15 18:29:06 -04:00
Alex
952183889a
Fixes Ability Shield, Neutralizing Gas interaction (#4391)
* Fixes Ability Shield, Neutralizing Gas interaction

* test was wrong
2024-04-14 18:43:55 +02:00
Alex
5bf6a252b5
Fixes Eject Pack softlocking the game (#4387) 2024-04-14 02:43:16 +02:00
skolgrahd
3b17ce39f7
Fixed softlock w/ weather-triggered form changes & Cloud Nine (#4382)
* Fixed softlock when weather-triggered form changes are suppressed by Cloud Nine

* Removed KNOWN_FAILING; line from Castform Air Lock test
2024-04-13 13:19:14 -04:00
Alex
a0a5ba4af2
Adds Role Play tests (#4381)
* Adds Role Play tests

* gastro acid

* Update gastro_acid.c
2024-04-13 14:14:43 +02:00
Eduardo Quezada
5bf379720f Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/data/moves_info.h
2024-04-12 21:30:52 -04:00
Alex
35e04b84a8
Fixes Cud Chuw (#4379)
* Fixes Cud Chuw

* small correction
2024-04-12 12:15:49 +02:00
Alex
ee3a577240
Fixes givemon moves not defaulting to none (#4377) 2024-04-11 20:34:11 +01:00
Alex
5d9f78bcb5
Fixes bug preventing Belch from usage after Stuff Cheeks (#4376) 2024-04-11 10:42:55 +02:00
Alex
62d054e135
Future Sight fixes (#4350)
* Future Sight fixes

* handle life orb boost

* applied review

* Future Sight changes

* removed future sight no hit string

* agbcc

* Update battle_scripts.h
2024-04-11 10:23:16 +02:00
Alex
3c85089428
Fixes Gulp Missile Dive / Power Herb interaction (#4371)
* Fixed Cramorant Dive / Power Herb interaction

* remove file

* leftover
2024-04-09 10:32:11 +02:00
Alex
c740c4ba19
Disguise fixes + gen8 hp loss config (#4360)
* Disguise fixes + gen8 hp loss config

* fix battler arg

* Update test/battle/ability/disguise.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-04-07 00:07:55 +02:00
Martin Griffin
8bd5ac2e7a
Competitive-formatted parties (#3545)
$ python3 migration_scripts/convert_parties.py src/data/trainers.h src/data/trainer_parties.h src/data/npc_trainers.party
Is available to convert Trainer Control-formatted trainers/parties into
Competitive-formatted ones.

Multiple '#include's can be placed in the trainer section of src/data.c
to support spreading the trainers across multiple .party files.

trainerproc does not interpret the values, leaving that job to the C
compiler, so we use '#line' to associate those errors with the lines in
the .party file(s). Because the columns don't make sense we use
-fno-show-column and -fno-diagostics-show-caret. We might want to move
gTrainers into its own file so that the rest of src/data.c isn't
affected by those flags.

Extensions (misfeatures, imo):
- .party files are passed through cpp, so '#define's are supported, and so
  are '// ...' and '/* ... */' comments.
- .party files also support writing, e.g. 'SPECIES_PIKACHU' instead of
  'Pikachu'. This allows people to write constants explicitly if they
  like.

Pragmas:
- '#pragma trainerproc ivs explicit' requires an explicit 'IVs:' line
  rather than defaulting to 31s.
- '#pragma trainerproc ivs <IVs>' changes the default IVs.
- '#pragma trainerproc level explicit' requires an explicit 'Level:'
  line rather than defaulting to 100.
- '#pragma trainerproc level <level>' changes the default level.

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-04-06 15:05:15 -03:00
PCG
d8af6205e9
Fix typo in Booster Energy's battle message (#4354)
* Fix typo in Booster Energy's battle message

* fixed in tests too

* fix another typo
2024-04-05 20:37:23 +02:00
Alex
db42d2b5a4
Adds Booster Energy (#4337)
* Adds Booster Energy

* fix string

* fixes strings in tests

* Apply suggestions from code review

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-04-05 19:38:50 +02:00
Alex
d1c2a10af6
Fixes switch in AI bug (#4338)
* Fixes switch in AI bug

* fixes fix

* test
2024-04-04 19:52:45 +02:00
Alex
c52ae074ab
Fixes Protective Pads Fluffy interaction (#4340)
* Fixes Protective Pads Fluffy interaction

* couple more tests
2024-04-04 14:48:57 +02:00
AgustinGDLV
c340ae04d7
Updated Knock Off (#4333)
* added config for updated Knock Off behavior, added tests

* fixed unused var

* added item check in tests

* fixed item checks
2024-04-03 10:13:39 +02:00
Alex
7c1a0bb685
defiant_tests (#4331) 2024-04-02 21:32:19 +02:00
Alex
92e23415ab
Change freeze dry to allow easier extendebility (#4312)
* Change freeze dry to allow easier extensibility

* give body press the foul play treatment

* Tests
2024-03-31 19:15:18 +02:00
DizzyEggg
46e6324fe2
Fix White Herb Known Failing tests (#4258)
* Fix White Herb Known Failing tests

* get out agbcc

* remove unneeded white herb test
2024-03-29 17:43:05 +01:00
Eduardo Quezada
7c25db5200
Fill data for placeholder species (#4281)
* Absolute IDs

* Mothim internal forms

* Scatterbug/Spewpa internal forms

* Fixed Mothim not having form tables

* Totem Alolan Raticate

* Moved shared dex text to its own folder

* Totem Mimikyu

* Added missing empty third-ability fields

* Totem Gumshoos + missing totem flags

* Renamed files to better match their contents

* Fixed Disguise on Totem Mimikyu

* Totem Vikavolt/Alolan Marowak + missing Gumshoos form table

* Totem Ribombee/Araquanid/Lurantis/Salazzle

* Totem Togedemaru/Kommo-O

* Partner Pikachu/Eevee

* Reintroduced shinyLocked species flag for convenience

* Revert "Reintroduced shinyLocked species flag for convenience"

This reverts commit 3e07bd378b.
2024-03-16 18:38:43 +01:00
Alex
a741e2e396
Couple things for 1.8 release (#4274)
* Couple things for 1.8 release

* revert EFFECT_VARY_POWER_BASED_ON_HP change

* Fix comment

---------

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-03-12 07:51:37 -03:00
Alex
8d58af4d33
Move most damage AI_BadMove checks to AI_CalcDamage (#4238)
* Move a couple damage AI_BadMove checks to AI_CalcDamage

* re-add effectivness score decrease

* reduce score for bad move in ai_checkviability

* review changes
2024-03-04 09:54:04 +01:00
Eduardo Quezada
d811614f60 Merge branch '_RHH/master' into _RHH/upcoming 2024-03-02 11:04:48 -03:00
Nephrite
e9b2f33084 Fixed Tangling Hair + Mirror Armor interaction 2024-02-27 13:38:38 +09:00
Nephrite
b1f0fbdf89 Merge remote-tracking branch 'rhh/upcoming' into battlemove_refactored 2024-02-27 13:03:26 +09:00
Eduardo Quezada D'Ottone
9e0ae222c3
Fixed Tri Attack status ability immunity test (#4229)
* Fixed Tri Attack test incorrectly having abilities that don't prevent Paralysis

* Fixed Dauntless Shield test names
2024-02-26 18:33:06 +01:00
Nephrite
170070baef
Apply suggestions from code review
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-02-26 23:59:15 +09:00
Eduardo Quezada
38e7de211f Merge branch '_RHH/master' into _RHH/upcoming 2024-02-26 11:52:55 -03:00
Nephrite
b0d36b22ba Fixed test 2024-02-26 15:12:34 +09:00
Nephrite
46b67355a5 Merge remote-tracking branch 'rhh/upcoming' into battlemove_refactored 2024-02-26 14:23:53 +09:00
Nephrite
174c6fc999 Renamed "MoveHasMoveEffect" functions 2024-02-26 14:21:38 +09:00
Alex
750eb40a75
Fixes Tangling Hair, Rocky Helmet interaction (#4219) 2024-02-21 23:55:38 +01:00
Eduardo Quezada
75ad61e5bf Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/constants/battle_move_effects.h
#	src/battle_ai_main.c
#	src/battle_ai_util.c
#	src/battle_tv.c
#	src/data/battle_moves.h
#	src/data/graphics/pokemon.h
2024-02-19 10:13:13 -03:00
Alex
57e0d7b20b
Partial fix for Teeter Dance and Ability Dancer interaction (#4129)
* Parial fix for Teeter Dance and Ability Dancer interaction

* Removes rest of teeter dance checks and make it work with effect_confuse

* Update test/battle/ability/dancer.c

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

* Update test/battle/ability/dancer.c

Co-authored-by: ultima-soul <33333039+ultima-soul@users.noreply.github.com>

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
Co-authored-by: ultima-soul <33333039+ultima-soul@users.noreply.github.com>
2024-02-19 13:36:21 +01:00
Alex
cd596fdd80
Adds Tidy Up + minor Dragon Cheer follow up (#4136)
* Adds Tidy Up + minor Dragon Cheer follow up

* improve tidy up script

* Add IncreaseTidyUpScore function

* remove useless calls

* 2 small tests and a correction for IncreasyTidyUpScore
2024-02-18 20:00:36 +01:00
Alex
7694628296
Adds Powerful status move flag (#4125)
* Adds Powerful status move flag

* fix flag

* fixed final issues

* review changes
2024-02-18 15:05:08 +01:00
Alex
7ab23cf426
Sets neutral nature and ability 0 as default in trainer control (#4172)
* 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
2024-02-18 15:02:58 +01:00
Eduardo Quezada
ebe13ffc3c Merge branch '_RHH/master' into _RHH/upcoming 2024-02-16 11:30:01 -03:00
Nephrite
b665e7245b Merge remote-tracking branch 'rhh/upcoming' into battlemove_refactored 2024-02-12 16:15:53 +09:00
Nephrite
3695f0317b Reordered everything in moves_info.h to be in struct order 2024-02-12 16:13:15 +09:00
Alex
3598a18703
Adds config for Soundproof change during Uproar status (#4174) 2024-02-11 10:40:30 +01:00
Eduardo Quezada
1720e1b129 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_2.s
#	src/data/pokemon/species_info/gen_9.h
2024-02-10 17:53:32 -03:00
Alex
97e4aa514a
Reverted Intrepid Sword and Dauntless Shield field unification (#4171)
* Reverts back Intrepid Sword and Dauntless Shield field unification

* fixes
2024-02-10 16:15:21 -03:00
Alex
b7d77099b5
Fixes Opportunist accumulating stat changes (#4168)
* Fixes Opportunist accumulating stat changes

* move memset to TurnValuesCleanUp

* Update test/battle/ability/opportunist.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-02-10 18:18:29 +01:00
Martin Griffin
311d732359
Save-compatible SaveBlock3 (#4112)
* SaveBlock3 in sector footers

* Update load_save.c

Since mgriffin is currently not available I took the liberty to edit the file. Hope it's fine.

* SaveBlock3 in debug menu (#3)

---------

Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com>
2024-02-10 18:14:36 +01:00
Eduardo Quezada D'Ottone
af95a09961
Last Respects effect + Fixed Supreme Overlord (#4151)
* Last Respects effect + Fixed Supreme Overlord

* Fixed ability pop-up happening when there's no fainted party members

* Fixed Supreme Overlord counting faints during the battle instead of fainted party

* Removed invalid test.

* Converted GetSupremeOverlordModifier to an inline function

* Created inline functions to obtain faint counters

* Fixed erroneous implemenation and tests
2024-02-10 10:58:41 +01:00
Eduardo Quezada
67f1772f1e Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_util.c
#	test/battle/item_effect/heal_and_cure_status.c
2024-02-09 17:02:56 -03:00
Hungry Pickle
47abc33c84
Fixes Stench ability triggering on non-damaging attacks (#4159)
* Fixes Stench ability triggering on non-damaging attacks

* adds stench ability test

* added stench ability test for partner pokemon

---------

Co-authored-by: HungryPickle <beardybirdy@gmail.com>
2024-02-09 15:35:40 +01:00
Nephrite
436ef7e59a Tweaks + RETURN_MOVE_HAS_MOVE_EFFECT_WITH macro
Macro makes it easier to build functions that check a move's move effects
2024-02-09 23:01:27 +09:00
Nephrite
ce4dd729f4 Merged from upcoming 2024-02-09 23:00:36 +09:00
Alex
e89f8e00ed
Fixes Hit Escape moves interaction with hold effects and switch in ab… (#4091)
* Fixes Hit Escape moves interaction with hold effects and switch in abilities

* leftover

* fix spelling

* fix desc.
2024-02-09 14:00:42 +01:00
DizzyEggg
31ac151e29
Fix Full Restore / Antidote not reseting Toxic Counter (#4135)
* Fix Full Restore / Antidote not reseting Toxic Counter

* Update battle_scripts_2.s

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-02-09 13:58:16 +01:00
Eduardo Quezada
ec803054e6 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_main.c
#	src/battle_util.c
#	test/battle/hold_effect/kee_berry.c
2024-02-08 12:19:51 -03:00
LOuroboros
916e4814bd
Implemented Custom/Complex/Expanded GiveMon scripting command (#3924)
* Introducing an expanded givemon

* Added debug features to check a Pokémon's EV and IV

* Added a parameter to set a custom mon's gender

* Added a debug feature to clear the party

* Defined the EV/IV getters in gSpecials

* Added Gigantamax Factor toggle to givecustommon

* Updated Gigantamax Factor label in givecustommon macro

* Added tera type parameter to givecustommon

Misc. changes:
-Added a few harmless comments to CreateCustomMon for consistency reasons.

* Cleaned up the code inside CreateCustomMon a bit

Also updated the values assigned to the parameters of ScriptGiveCustomMon
This is temporary though. I'll probably end up turning them into 2byte parameters so they can be filled when the scripting command is called by using variables once I solve the bigger problem that the scripting command is currently facing.

* Foolproofed the Poké Ball check in CreateCustomMon

* Assigned a default gender to givecustommon
This solved the nasty issue by which the command wasn't working properly if you didn't fill in each parameter when calling givecustommon in a script.

* Reinforced the gender checks at CreateCustomMon

* Re-reinforced the gender checks at CreateCustomMon

* Compressed givecustommon and added tests

-Made givecustommon skip unspecified parameters.
-Added scripting variables support for every parameter.
-Added tests.

* Updated the default values of some ScriptGiveCustomMon parameters

* Replaced vanilla's givemon with givecustommon

Misc. Changes:
-Renamed CreateCustomMon to ScriptGiveMonParameterized.
 -The truth is that the function was never limited to creating the skeleton of a Pokémon like the actual CreateMon functions do, so that label was never correct. The function was always an expanded ScriptGiveMon.
-Moved the core functions to src/script_pokemon_util.c which is where they actually belong.
-Updated ScriptGiveMonParameterized a little to incorporateb changes that were applied to the original ScriptGiveMon, namely, Synchronize ability and form change handling.
-Introduced a new ScriptGiveMon to replace the original one.

* Corrected givecustommon tests

* Fixed the default IV values for the new givemon

* Updated DebugAction_Party_ClearParty for consistency with the other debug functions

* Updated the text strings used by the Check EV/IV debug features

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-08 09:11:13 +01:00
Alex
452432533a
Kee berry (#4149)
* Fixes Kee Berry

* new line

* Fix fix

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-02-07 15:42:22 +01:00
ZnogyroP
5d2dfe218e
Fixes to strings + Hospitality (#4147)
* Fixes to strings + Hospitality

* Requested changes

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-07 01:18:35 +01:00
Alex
fa5f507b1e
Fixes Mycelium Might speed bracker (#4146)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-02-06 23:30:57 +01:00
Nephrite
f7ec44c2ea
Fixed Shield Dust, added tests (#4137)
* Fixed Shield Dust, added tests

Also fixed a duplicate macro caused by near-simultaneous PR merges (oops)

* Added KNOWN_FAILING Sparkling Aria test

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-06 09:19:37 +01:00
Nephrite
65c508d193
Secondary effects overhaul minor follow-up (#4062)
* settwoturnstring command

* Unified two-turn attacks and Meteor Beam

To do: Solar Beam

* Solar Beam

Also fixed various function, removed EFFECT_GUST (who knows why that exists?)

* Updated Solar Beam + tests

* Redid two turn move + animations logic

Removed pointless various function; to do: remove Skull Bash, fix AI test

* Removed now-pointless flag

* Removed Skull Bash

And temporarily commented out failing AI tests

* Removed Sky Uppercut effect

Not sure when or why this was ever necessary

* Removed BattleScript_EffectSemiInvulnerable

Now uses BattleScript_EffectTwoTurnsAttack. Kept the effect; used the argument field to determine which STATUS3 such moves should apply but added a function to jump over weather checks in BattleScript_EffectTwoTurnsAttack if the current move is semi-invulnerable (since the instant-fire weather check and STATUS3 use the same field)

* Applied review changes

* Replaced VARIOUS with callnative

Tried to fix test but couldn't :/ wtf is going on

* Fixed one AI test

Cant fix the other...

* Added KNOWN_FAILING to failing AI tests

Separated them out into their own test

* Optimised script, overhauled charge turn string setting

Condensed multiple confusing macros into one, jumpifweathercheckchargeeffects. Script now tweaked and trimmed, string ids for charge turns now added to argument along with status3 (thanks to compression macro) and instant-fire-weather for semi-invulnerable and two-turn moves respectively. Also introduced a savedStringId in gBattleScripting to make string selection work.

* Unified two turn move tests + minor corrections

* Added semi-invulnerable move tests

Set the Razor Wind test to known failing - something to do with its animation?

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-04 23:02:59 +01:00
Alex
ab2774f8c7
Adds Dragon Cheer (#4122)
* Adds Dragon Cheer

* fix assumptions

---------

Co-authored-by: ghoulslash <41651341+ghoulslash@users.noreply.github.com>
2024-02-03 08:00:41 -07:00
Alex
a193b795c7
fix omniscient flag (#4114)
* rebase to upcoming

* merge rhh/upcoming and remove known failing

* remove known failing

---------

Co-authored-by: ghoulslash <41651341+ghoulslash@users.noreply.github.com>
2024-02-02 08:49:36 -07:00
Eduardo Quezada
09d12fb154 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	ld_script_modern.ld
#	src/battle_ai_switch_items.c
2024-02-01 12:52:31 -03:00
ZnogyroP
71b49a114f
Adds move Upper Hand (#4085)
* Remove non-existent tilesets from label comments and alphabetize

* Fixed braces style

* gbagfx bit depth upconversion fix

* jsonproc: filter out every non-alphanumeric character

* fix(linking): link gflib/malloc.c at top of EWRAM in ld_script_modern.ld

* Adds move Upper Hand

* Requested changes

- Tabs / spaces where proper
- HitFromAtkString -> HitFromAccCheck
- Actually compiles now lol
- Moved assumes into relevant tests
- Cleaned up the check for TryUpperHand

* Fixed || positioning

* Update upper_hand.c

* Revert "Merge remote-tracking branch 'upstream/master' into upper-hand"

This reverts commit b21275dfe9, reversing
changes made to 89b1ad1ea1.

* AI logic and conflicts solved

* Test fix

* Fix Sheer Force test

* Requested changes

* Requested changes

* Update battle_script_commands.c

---------

Co-authored-by: GriffinR <griffin.g.richards@gmail.com>
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
Co-authored-by: Sierraffinity <sierra@domoreaweso.me>
Co-authored-by: sbird <sbird@no.tld>
2024-02-01 12:23:58 +01:00
Nephrite
8a8d181654 AdditionalEffects storage tweak
Uses some macro and bitwise trickery to store additional effects and the count thereof in a single word
2024-02-01 15:19:10 +09:00
Alex
1a65894967
Fixes test description + small fix follow up (#4100)
* Fixes test description + small fix follow up

* fix fix

* Apply suggestions from code review

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-31 09:33:04 -03:00
Alex
6d3fa525d5
Rename EFFECT_FAKE_OUT to EFFECT_FIRST_TURN_ONLY (#4081)
* Splits First Impression effect from Fake Out

* Fix test failing

* rename EFFECT_FAKE_OUT

* use moveeffect chance for fake out and priority field for first impression

* rename rest of fake out

* messed up merge

* remove useful comment

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-31 09:32:58 -03:00
DizzyEggg
f5623595a0
Fix AI trying to switch into the same mon 2 times (#4098) 2024-01-30 16:14:33 +01:00
Nephrite
02ffd05aea Removed Sheer Force flag 2024-01-30 13:37:38 +09:00
Eduardo Quezada D'Ottone
a2a38a57e0
Added passing "KNOWN_FAILING" to test summary (#4063)
* Added passing "KNOWN_FAILING" to test summary

* Added test names for passing KNOWN_FAILING to summary

* Removed unused function
2024-01-29 17:01:50 -03:00