Commit graph

896 commits

Author SHA1 Message Date
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
LOuroboros
a64e1c63c1
Move data unification (#3999)
* 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>
2024-01-29 08:51:32 -03:00
Eduardo Quezada
afb1efe0d3 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_controller_player_partner.c
2024-01-28 18:11:44 -03:00
Alex
9bcd46bce8
Fixes Pursuit, Tangling Hair interaction (#4086) 2024-01-28 19:15:53 +01:00
Bassoonian
b9a02b205d
Rename gItems and gAbilities to gItemsInfo and gAbilitiesInfo (#4068)
* Rename gItems to gItemsInfo

* Rename gAbilities to gAbilitiesInfo

* Just fixing up my bad merge

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-26 15:25:52 -03:00
Alex
d0a35eec1d
AI score changes, mostly IncreaseStatUpScore + few others (#4036) 2024-01-26 16:48:51 +00:00
Eduardo Quezada D'Ottone
c8d73c0827
Merge branch 'upcoming' into guillotine-expansion 2024-01-26 10:10:27 -03:00
Eduardo Quezada D'Ottone
6d1d6a5d5f
Fixed test battle move category assumptions (#4051)
* Fixed move category assumptions

* Update test/battle/ai_check_viability.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-24 10:43:57 +01:00
Eduardo Quezada
00e2ca6030 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/constants/battle_move_effects.h
#	src/battle_ai_util.c
#	src/battle_script_commands.c
#	src/battle_tv.c
#	src/data/battle_moves.h
#	src/data/pokemon/species_info/gen_9.h
2024-01-22 15:56:10 -03:00
Alex
0ec777dd24
Fixes Mind Blown / Magic Guard interaction and renames Steel Beam effect (#4043)
* Fixes Mind Blown / Magic Guard interaction and renames Steel Beam effect

* review fixes

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-21 23:42:01 +01:00
Alex
35e2157c09
Fixes ability Corrosion (#4037)
* Fixes ability Corrosion

* forgot AI_CanPoisonType

* More tests

* review comments applied

* more review changes

* simplify CanPosionType (original state)

* remove redundant function

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-21 12:27:58 +01:00
Alex
04fa3aa725
Fixes Emergency Exit when hp is restored over tag out range (#4041)
* Fixes Emergency Exit when hp is restored over tag out range

* Update test/battle/ability/emergency_exit.c

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

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-21 11:08:25 +01:00
Philipp AUER
73a1fa30e9
fix: emergency exit cutoff off by 1 on odd max hp (#4040)
* fix: emergency exit cutoff off by 1 on odd max hp

* squash!: newline at end of file

---------

Co-authored-by: sbird <sbird@no.tld>
2024-01-21 09:11:10 +01:00
Alex
d125da7797
Fixes Life Orb + Eject Pack / Red Card interaction (#4038)
* Fixes Life Orb + Eject Pack / Red Card interaction

* fix test
2024-01-20 22:48:34 +01:00
Alex
b0c76563bf
Fixes Psychic Noise, Aroma Veil interaction in doubles (#4021)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-20 14:10:22 +01:00
Alex
9efdd9e0cd
Adds Move Shed Tail (#4016)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-18 00:14:18 +01:00
Ariel A
8a52316dd2 Reformatted for code review. Moved config to include/config/decap.h. 2024-01-17 01:12:04 -05:00
Alex
8f99ef16be
Adds Move Psychic Noise (#4005)
* Adds Move Psychic Noise

* changes psychic noise from effect to move_effect

* remove leftover

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-16 22:52:56 +01:00
Alex
bb190d33dd
Fix stat drop in doubles for single target moves (#4003)
* Fix stat drop in doubles for single target moves

* Update test/battle/move_effect/pay_day.c

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

* Update test/battle/move_effect/pay_day.c

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

* Update test/battle/move_effect/sp_atk_two_down.c

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

* Update test/battle/move_effect/sp_atk_two_down.c

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

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-16 09:25:40 -03:00
Eduardo Quezada D'Ottone
ff0aed31b3
Removed some hardcoded move IDs (#3982)
* Removed EFFECT_HURRICANE in favor of using EFFECT_THUNDER

* Added EFFECT_BLIZZARD

* Helping the IDE a little

* Added EFFECT_RAIN_ALWAYS_HIT for Forces of Nature moves

* Removed MOVE_SELF_DESTRUCT and MOVE_EXPLOSION hardcoding

* Removed EFFECT_FRUSTRATION hardcoding

MOVE_SELF_DESTRUCT

* Cleaned up sPoints_MoveEffect

* Removed MOVE_AURA_WHEEL and MOVE_PRESENT hardcoding

* Fixed compile
2024-01-12 22:41:46 +01:00
Eduardo Quezada D'Ottone
e5b58b04b6
Renamed healBlockBanned to healingMove (#3981)
* Renamed healBlockBanned to healingMove

* Fix fix
2024-01-12 18:41:45 +01:00
Eduardo Quezada
33f34e91e9 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
2024-01-12 12:24:19 -03:00
Alex
6220a8ced9
Adds Clanging Sclaes test, reverts fix and few Parental Bond tests (#3973)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-12 01:43:43 +01:00
Biffalo XIII
2cc26d935a Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/config/pokemon.h
#	src/birch_pc.c
2024-01-11 19:51:11 -03:00
Nephrite
095decbd27 FINAL review changes 2024-01-12 07:25:51 +09:00
Nephrite
a76e3c70ba Applied more review fixes 2024-01-12 03:02:48 +09:00
Nephrite
3c93f97166 Apply suggestions from code review
Thanks, Edu

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-12 02:13:55 +09:00
Nephrite
c4616739d8 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-11 00:35:35 +09:00
Nephrite
67e76f2b59 Some more review fixes + Fling fix
Not the ideal solution but Fling now has a hardcoded check for Shield Dust and acts accordingly - a better long term solution inolves making a bunch of reusable MOVE_EFFECTS and rejigging attackcanceler but I didn't feel like doing that today...
2024-01-11 00:27:06 +09:00
Ariel A
499b4a6d42 Replaced if directives with conditions, where possible. 2024-01-09 19:34:29 -05:00
Nephrite
25f0179628 Review changes
Numerous AI updates and test fixes; added a test for Aura Wheel
2024-01-10 00:55:43 +09:00
Alex
5498098438
Syrup Bomb / Sticky Syrup addition (#3948)
* Syrup Bomb / Sticky Syrup addition

* Update test/battle/move_effect/syrup_bomb.c

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

* Update src/battle_script_commands.c

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

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-09 13:37:07 +01:00
Biffalo XIII
4a3954ff34 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/birch_pc.c
#	src/main.c
2024-01-09 09:19:12 -03:00
Eduardo Quezada D'Ottone
0d75ccd2d2
Stuff Cheeks cleanup (#3950)
Co-authored-by: Biffalo XIII <--global>
2024-01-09 09:15:23 +01:00
Ariel A
90be465a9a Ignored case-fixing characters in tests' TryMessage 2024-01-08 21:04:25 -05:00
Nephrite
4556ecc71e Removed PRIMARY/SECONDARY macros; added flags
Just a couple for now; cleaned up parts of setadditionaleffects
2024-01-02 20:06:49 +09:00
Nephrite
daeba066e0 Fixed SetMoveEffect + Sheer Force 2024-01-02 05:51:40 +09:00
Nephrite
ab75ad6d02
Ability flags update (#3886)
* 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
2024-01-01 15:03:34 +01:00
Nephrite
0980253cce Merge branch 'upcoming' into secondary_effects_overhaul 2024-01-01 20:40:11 +09:00
Nephrite
923d22b42b Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into secondary_effects_overhaul_merge 2024-01-01 03:50:36 +09:00
Alex
a3c25114b7
Fixes small ai bulldoze effect bug (#3872)
Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-30 23:08:17 +01:00
Alex
cc32e378d6
Adds some Indigo Disk moves (#3853)
* Burning Bulwark

* Fickle Beam

* Alluring Voice

* Electro Shot

* forgot sheer force flag for alluring voice

* review changes

* additional alluring voice test

* Simple Allruing Voice animation

* Update battle.h

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-30 20:20:12 +01:00
Nephrite
e132f26bea Merge corrections and fixes 2023-12-31 00:05:58 +09:00
Nephrite
9dfa0d264f Merge branch 'upcoming' into secondary_effects_overhaul 2023-12-30 23:54:01 +09:00
Nephrite
e34373effc Renamed seteffectwithchance to setadditionaleffects
Function no longer has ability to apply effects from moveEffect - for that, seteffectprimary or secondary is now recommended. Removed EFFECT_RAMPAGE, updated a few tests
2023-12-30 20:29:09 +09:00
kittenchilly
66a638f7b4
Change Ivy Cudgel to be based on Ogerpon form rather than held item (#3865)
* Change Ivy Cudgel to be based on Ogerpon form rather than held item

* Update ivy_cudgel.c

* Address reviews

* Update test/battle/move_effect/ivy_cudgel.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-30 11:40:58 +01:00
Nephrite
b6da1a1e1d Tweaked helper functions 2023-12-30 17:42:53 +09:00
Nephrite
f5ae8e0686 Rapid Spin uses additional effects + test 2023-12-30 17:02:59 +09:00
Nephrite
e7de08eca2 Unified Sonic Boom & Dragon Rage
Not really in scope, but what the hell
2023-12-30 15:40:50 +09:00
Martin Griffin
ab900e38df Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-29 19:48:21 +00:00
DizzyEggg
604b823ffd
Missing Strength sap tests (#3860)
* add missing strength sap tests

* a

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-29 13:39:54 +01:00
Nephrite
9d68f4ab6f Added Throat Chop test
I don't know why it used to work through subs but now it won't
2023-12-29 20:17:57 +09:00
Nephrite
39773c0659 Burn Up and Double Shock
Both working by applying an additional effect; added a generic "jumpifnotcurrentmoveargtype" type command to make it possible, relpacing secret power's function
2023-12-29 12:44:38 +09:00
kittenchilly
94a650a203
Add Fillet Away + Belly Drum tweaks (#3616)
* Add Fillet Away

* Fillet Away and Belly Drum tests

* More tests

* Update fillet_away.c

* Update fillet_away.c

* Newlines

* Update battle_scripts_1.s

* Update belly_drum.c

* Address reviews

* Fix order

* Swords Dance assume

* Update belly_drum.c

* Try some stuff

* Fix hp not being halved in certain cases

* Update battle_scripts_1.s

* AI stuff
2023-12-28 23:27:09 +01:00
Nephrite
417a02c95e Fixed Make it Rain
To do: misc fixes here and there, maybe do Burn Up/Double Shock, Dragon Rage/SonicBoom...
2023-12-29 01:40:43 +09:00
Bassoonian
fde3fc0a52
Metronome move fix (#3852)
* Draft Indigo Disk move data

* Add basic defines (flags, targets and priority missing)

* Update move flags

* Temper Flare is Stomping Tantrum

* Fix failing tests

* Disable Burning Bulwark for now
2023-12-28 16:57:29 +01:00
Bassoonian
872ddf32c6
The Indigo Disk Moves (#3704)
* Draft Indigo Disk move data

* Add basic defines (flags, targets and priority missing)

* Update move flags

* Temper Flare is Stomping Tantrum

* Forgot to push, please squash :D

* Fix failing tests
2023-12-28 12:21:52 +01:00
DizzyEggg
3e321d1172
fix ally switch dig issue (#3835) 2023-12-27 15:35:42 -05:00
Martin Griffin
3ad66028e9
Backwards-compatible BoxPokémon Refactor (#3438)
* Check progress in non-battle PARAMETRIZEd tests

* Overworld Script Tests

* Backward-compatible BoxPokemon Refactor

Reuses space that contains zeros to provide space for:
- HP/status in the box
- 12-character nicknames
- Up to 63 PokéBalls
- Shininess separate from PID
- Hidden Nature
- Hyper Training
- Dynamax Level
- Gigantamax Factor
- Terastallization Types
- Shadow

Implements:
- OW_PC_HEAL to switch between Gen7- and Gen8+ behavior
- Nature Mints
- Dynamax Candy
- Hyper Training commands (canhypertrain/hypertrain)
- Gigantamax Factor commands (hasgigantamaxfactor/togglegigantamaxfactor)
- Terastallization Type on the summary screen
- Prevents Gigantamax Factor Pokémon from evolving into a species without a Gigantamax form

* fixup! Backward-compatible BoxPokemon Refactor

* displaydexinfo fix from Jasper
2023-12-27 17:48:17 +01:00
Nephrite
77c722ea09 Obsoleted 22 more effects
Also added a better way of calculating battle_tv score properly; to do: Make it Rain
2023-12-27 17:43:20 +09:00
Nephrite
cd5c59ae5a Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2023-12-26 13:19:10 +09:00
Nephrite
c5061f0161 Updated remaining moves which use secondaryEffectChance
secondaryEffectChance is no longer considered anywhere in the code; tidied up scripts and more
2023-12-26 13:12:11 +09:00
Alex
45da55eb14
Fixes Minior form change and likely other forms (#3822)
* Fixes Minior form change and likely other forms

* new fix

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-25 20:18:52 +01:00
Alex
166a1a4e63
Adds ability Embody Aspect + minor fix to Hospitality (#3821)
* Adds ability Embody Aspect + minor fix to Hospitality

* comment out failing tests related to neutralizing gas

* fixes neutralizing gas bug

* leftover
2023-12-25 18:28:16 +01:00
Nephrite
b0b9883625 Removed unused effects + fixed tests + removed secondaryEffectChance
To do: remaining moves that make use of `secondaryEffectChance` field
2023-12-25 12:53:15 +09:00
Nephrite
cda445c2f5 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul_rebase 2023-12-25 12:19:38 +09:00
Alex
1339256d5d
Adds Ability Hospitality (#3818)
* Adds Ability Hospitality

* fix agbcc
2023-12-25 01:43:57 +01:00
Bassoonian
c47a20a446
Fix gem boost description + test (#3817) 2023-12-25 01:14:01 +01:00
Nephrite
31b3337cda Updated moves that raise the target's own stats
Modified tests to use MoveHasMoveEffect
2023-12-24 23:52:08 +09:00
Nephrite
e87fe533c3 Superpower, CC, Hammer Arm 2023-12-24 23:43:12 +09:00
Nephrite
a8967da1c5 Overheat (and clones)
Also, Syrup Bomb (really weird script)
2023-12-24 23:27:21 +09:00
Zimmermann Gyula
f700466e8d
Implement optional Gen1 type immunity logic. (#3627)
* Implement optional Gen1 type immunity logic.

* Add tests against Gen1 burn, freeze and paralysis.

* !fixup Expand tests with Gen1 paths.

* Fixup tests.

Remove superflous defines.
Explicitly ASSUME used move type and effect.

* Fix flipped definitions on Freezing Glare test.

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-23 16:34:24 +01:00
Alex
61e6365470
Fixes Photon Geyeser category + minor AI calc fixes (#3807) 2023-12-23 12:31:40 +01:00
DizzyEggg
1a7166c2bb
Tests do not allow to use SEND_OUT if the chosen mon is fainted (#3752)
* Tests dont allow to send out pokemon with 0 hp

* remove test test

* handle in-game 0 hp sent out

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-23 00:27:40 +01:00
tertu
fb28ce50ae
Optional high-quality RNG (#3780)
High-quality RNG, behind the HQ_RANDOM flag, enabled by default

Makes the shuffle test error a bit more tolerant
2023-12-22 17:39:15 +00:00
Alex
63316daf30
Adds missing Doodle tests and fix (#3800) 2023-12-22 18:25:23 +01:00
kittenchilly
505b8b63eb
Add Doodle + update ability banlists (#3609)
* Add Doodle

* Doodle test

* Oops

* Update battle_util.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-22 16:45:55 +01:00
Alex
83e2f4bdf8
Adds ability Minds Eye + Tests (#3782)
* Implemented Mind's Eye with tests + Keen Eye tests

* AI test

* fix AI minds eye test

* Adds ability Minds Eye + Tests

* fix tests

---------

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-22 16:22:53 +01:00
Alex
566653aa63
Replace mons for gen9 abilities (#3740) 2023-12-22 15:05:35 +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
fakuzatsu
2af6d65893
added ability to set flags in tests (#3786) 2023-12-21 13:01:13 +00: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
Nephrite
1708c80200
Removed ALWAYS_CRIT, renamed critBoost (#3779)
Replaced ALWAYS_CRIT with an alwaysCriticalHit flag to account for the fact that in earlier generations, there is no crit stage at which crits are guaranteed. Renamed critBoost to criticalHitStage (at Edu's prompting). Reorder .criticalHitStage defines in battle_moves.h to be aligned with struct order.
2023-12-20 16:16:02 +01:00
DizzyEggg
6137db102e
Ally Switch (#3533)
* ally switch move animation

* Ally Switch anim done

* ally switch test and improve animation

* derp

* add ally switch known failing test for ally targeting moves

* moves which targetted ally fail after ally switch

* ally switch works like protect

---------

Co-authored-by: root <root@LAPTOP-3SNV7DEQ>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-20 15:26:28 +01:00
Martin Griffin
50cbcebc81 Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-20 12:56:35 +00:00
Alex
069769710b
Fixes Item Metronome damage (#3767)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 11:24:12 +01:00
Eduardo Quezada D'Ottone
442620cf6b
Renamed Battle Move "Split" to the proper "Category" (#3774) 2023-12-20 10:08:26 +01:00
Martin Griffin
13a4bf5838 Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-19 18:08:13 +00:00
Nephrite
4a1a6c5625
Battlemove refactored (recoil, crit and Z moves) (#3575)
* Unified EFFECT_RECOIL

Combined EFFECT_RECOIL_25/33/50/33_STATUS into a single EFFECT; added an extra field to BattleMove 'secondaryData' that contains the franction of HP recoil; argument still holds status effect for Flare Blitz/Volt Tackle

* BattleMove struct change

Added critrate, recoil, multihit fields, made zMove into a union of effect/powerOverride for status/non-status moves respectively. Added new recoil field and zMove field to all moves. To-do: crit rate, multihit

* Critrate field added

Moves use a critRate field instead of a flag - obsoletes EFFECT_ALWAYS_CRIT

* Just a little define

Makes clear that critBoost = 3 means ALWAYS CRIT

* Added a proper recoil field

Just to make it unambiguous and flexible - can finally have a move with 69% recoil.

* Fixed AI damage calculation for multi-strike moves

* Fixes + removed unused effects

* Tests fixes

Two to fix: pass when run in isolation but not when the whole group is run, which is annoying...

* Minor fixes

* Minor tweaks

* Fixed move effects

* recoil tests

---------

Co-authored-by: Alex <alexthenotes@gmail.com>
2023-12-19 16:10:07 +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
Nephrite
460eeff3e5 All moves (I think) that hit and lower a stat
Includes Grav Apple - test that checks the AI can see its power bump needs fixing
2023-11-28 16:17:11 +09:00
Nephrite
2d0ec53cb6 Misc moves + cmd_seteffectwithchance fix
Added check to prevent loops in cmd_seteffectwithchance. Updated Pay Day, Tri Attack, Spectral Thief, Clear Smog, V Create, Core Enforcer
2023-11-27 00:32:40 +09:00
Nephrite
4058d16f2f 2-Turn moves + unique moves with secondary effects
Two turn moves (Bounce, Freeze Shock, Sky Attack, Shadow/Phantom Force), Dire Claw, Stone Axe, Ceaseless Edge, Wicked Torque, Relic Song, Fake Out,
2023-11-25 23:56:17 +09:00
Nephrite
0e23160f2e Fixed macro + Jaw Lock test 2023-11-25 23:06:51 +09:00
Nephrite
98b2c93b3f Freeze/frostbite causing moves
Added move effect FREEZE_OR_FROSTBITE macro so that we only need that if statement once...
2023-11-25 19:22:28 +09: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
Nephrite
5eae07e4b9 Jaw Lock, Axe Kick, Spin Out
Jaw Lock needs a test but I'm too lazy to write it
2023-11-23 23:43:11 +09:00
Nephrite
d81bf6afde EFFECT_POISON_HIT
Also tidied up paralysis/burn scripts; updated Barb Barrage
2023-11-23 22:29:11 +09:00
Nephrite
bec0fea7f6 Flinching moves
All work fine - all tests pass
2023-11-23 17:14:50 +09:00
Alex
ca39889587 Fixes Howl 2023-11-22 21:55:08 +01:00
Nephrite
ffe89c7248 Redid Fang Moves
Pass tests too
2023-11-23 00:21:57 +09:00
Alex
7fb811d33d burn_hit -> move_effect_burn 2023-11-22 19:24:32 +09:00
Alex
ba6d223f17 matcha gotcha 2023-11-22 19:20:30 +09: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
Nephrite
1dadc79b8b Triple Arrows redo
Sorry, Lunos
2023-11-20 19:39:13 +09: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
Nephrite
45d8491148 Fixed macro + implemented working Mortal Spin
It's that easy
2023-11-19 05:05:19 +09:00
Nephrite
41202a964a Initial struct change + paralysis test
Works great
2023-11-19 03:20:33 +09: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
Alex
954f67a29f
Fixes Dragon Tail and Pumpkaboo spelling (#3541) 2023-11-07 18:19:46 +01:00
Eduardo Quezada
57c1dd97bb Merge branch 'RHH/master' into RHH/upcoming 2023-11-03 21:59:08 -03:00
DizzyEggg
8b359c2ca4
fix psychic terrain blocking moves it shouldnt block (#3521) 2023-11-03 21:01:02 +01:00
DizzyEggg
90d9334f0b
Fix Sap Sipper not blocking Bullet Seed (#3516)
* Fix Sap Sipper not blocking bullet seed

* add defiant sticky web test
2023-11-02 11:43:06 +01:00
Alex
53b7e4bf66
Remove powerfulMoveEffects array (#3515)
* Remove powerfulMoveEffects array

* Solar Beam test
2023-11-02 08:44:23 +01:00
DizzyEggg
47341f3f30
Fix Anger Shell activation (#3508) 2023-11-01 14:55:50 +01:00
DizzyEggg
7eb1b12224
Fix Knock Off healing berries (#3509) 2023-11-01 14:47:31 +01:00
Alex
64ba52d214
Remove redundant AI score increases (#3504)
* Remove redundant AI score increases

* review applied

* fix score
2023-10-31 13:41:22 +01:00
Eduardo Quezada D'Ottone
2dfae911aa
Added config for Weak Armor's Gen 5-6 effect (#3498) 2023-10-30 17:18:00 -03:00
Eduardo Quezada
e28d0c627a Merge branch 'RHH/master' into RHH/upcoming 2023-10-30 16:51:04 -03:00
DizzyEggg
72dad4d7c6
Fix Weak Armor interrupting multi hit moves (#3497) 2023-10-30 16:44:42 -03:00
Eduardo Quezada
242d68487a Weak Armor tests 2023-10-30 14:31:28 -03:00
Eduardo Quezada
908af87846 Merge branch 'RHH/master' into RHH/upcoming 2023-10-30 11:00:24 -03:00
Eduardo Quezada
71ba501b94 Fixed tests on modern 2023-10-30 10:58:30 -03:00
Eduardo Quezada
661becc3b6 Merge branch 'RHH/upcoming' into RHH/pr/upcoming/debugCleanup2
# Conflicts:
#	src/debug.c
2023-10-30 08:05:14 -03:00
DizzyEggg
f4be01f0ac
Fix strength sap on substitute (#3486)
* tests for strenth sap

* fix strength sap on substitute

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-10-30 11:58:15 +01:00
DizzyEggg
0c8fdce1a4
New tests + Sheer Force / Last Resort minor bug fixes (#3378)
* 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
2023-10-30 11:39:41 +01:00
Alex
f461bc3256
AI_CompareDamagingMoves changes to increase the score by 1 for best moves (#3382)
* Further optimizes AI_CompareDamagingMoves

* viableMove name change + 2 tests

* some issues

---------

Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
2023-10-30 10:04:59 +01:00
Alex
f2fddf4ee1
Syrup Bomb move and special speed drop anim, Credits to Dat.H A (#3474) 2023-10-27 19:14:45 -03:00
kittenchilly
9d2be9f3a6
Remove all trailing whitespace (upcoming) (#3473) 2023-10-27 13:54:55 -03:00
kittenchilly
bd71946372
Remove all trailing whitespace (master) (#3472) 2023-10-27 13:52:44 -03:00
Eduardo Quezada D'Ottone
db00839d64
Fixes Syrup bomb, new Octolock script, some Intim changes + Tests (#3437) 2023-10-27 12:25:55 -03:00
Eduardo Quezada
b5607209f3 Fixed G-Max Finale test 2023-10-27 09:16:39 -03:00
Eduardo Quezada
59c0de0967 Merge branch 'RHH/master' into RHH/upcoming 2023-10-27 09:16:21 -03:00
Alex
25a57d48d9 fixes tests 2023-10-25 10:18:59 +02:00
Alex
f6781a77d4 merge rhh/upcoming 2023-10-25 09:42:19 +02:00
Alex
591ef71e3b
Fixes form change when using switch moves (#3463)
* Fixes form change with switch moves
2023-10-25 08:33:43 +01:00
Martin Griffin
74c08dc955 Merge remote-tracking branch 'rhh/master' into upcoming 2023-10-24 08:58:02 +01:00
Martin Griffin
5fe564f014
Detect 'NOT x; NOT y;' (#3459)
Fix Purifying Salt to be immune to statuses from secondary effects.
2023-10-24 09:55:32 +02:00
sbird
4488f983be fix -Wmaybe-uninitialized for ModifyPersonalityForNature test 2023-10-24 01:02:02 +02:00
Eduardo Quezada
1137d54b61 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	asm/macros/battle_script.inc
#	src/battle_script_commands.c
2023-10-23 17:36:42 -03:00
Philipp AUER
4aabd09ab3
Fix test_runner.c modern warning (#3451) 2023-10-23 19:41:59 +02:00
Martin Griffin
5fd36a8e39
Fix ModifyPersonalityForNature (#3452) 2023-10-23 09:37:40 -03:00
Eduardo Quezada D'Ottone
26971fc3ac
Add species defines for base forms with names (#3248)
* Fixed Aegislash test not being properly made.
* Added conditions to BattleSetup_StartLegendaryBattle switch
2023-10-23 12:59:15 +01:00