2251 Commits

Author SHA1 Message Date
PhallenTree
ec3a86dd9a
Adds in-battle effect of Pickup, adds Harvest and Pickup tests (#5170)
* Adds Harvest tests

* Adds Pickup in-battle effect + tests

* Fix G-Max Replenish test (Munchlax activates Pickup before G-Max Replenish)

* Change canPickupItem to bit field

* Make RandomUniformExcept inclusive (higher end) + convert bitfield

* Use CantPickupItem in PickupHasValidTargetc check

* Review
2024-08-16 15:37:23 +02:00
hedara90
45f10d734f
Fixed Ice Face, implemented tests (#5171)
* Fixed Ice Face, implemented tests

* Fixed agbcc and bad battle mon looping

* Fixed the ShouldChangeFormInWeather function again

* Cleaned up End of Turn weather form changes, simplified Ice Face

---------

Co-authored-by: Hedara <hedara90@gmail.com>
2024-08-15 13:51:39 +02:00
Eduardo Quezada
661ec0a9fd Merge branch '_RHH/master' into _RHH/upcoming 2024-08-14 17:10:20 -04:00
Alex
e3d9bb643f
#5120 Follow up (#5158)
Consistency change
2024-08-14 18:27:40 +02:00
Sadfish the Sad
fde85e9357
some gen 9 move anims + fickle beam rework (#5159)
* new move anims + fickle beam rework

* more fickle beam changes

* removed the true for consistency

* ficklebeamboosted gets cleared now

* mortal spin and thunderclap changes

* minor mortal spin pal change

* removed hex numbers and made hard press quicker
2024-08-14 17:20:18 +02:00
Eduardo Quezada
6f0004ec4e
Removed some hardcoding of move IDs + Gen4/5 Defog (#5156)
* Removed some hardcoding of move IDs

* Added Defog Gen6+ config (+ updated tests)
2024-08-14 15:51:34 +02:00
Eduardo Quezada
c74ad262cb Fixed incoming usage of GET_MOVE_TYPE from master 2024-08-12 16:32:11 -04:00
Eduardo Quezada
abb1fd20f3 Merge branch '_RHH/master' into _RHH/upcoming 2024-08-12 16:24:04 -04:00
Alex
a8cd459370
Fixes Purifying Salt not halving dmg for dynamic move types (#5145)
* Fixes Purifying Salt not halving dmg for dynamic move types

* forgot to add
2024-08-12 15:54:24 -04:00
PhallenTree
779cedd16f
Fixes Dancer, adds Revelation Dance interactions with Z-Move, Roost and typeless mons (#5133)
* Add Revelation Dance interactions with typeless mons, Roost and Z-Move

* Fixes Dancer-called moves not updating their type

* Adds Revelation Dance tests

* Make sure target isn't immune in Dancer test

* Missing ... in message

* Missing Assume

* CI ends Dancer test too early?

* Z-Revelation Dance is Breakneck Blitz (Test)

* Fix test (Zoroark too strong?)

* Replace H!Zoroark

* Remove Ability specification

* Remove HP_Bars

* Fix Dancer checking for battlers that don't exist in single battles
2024-08-11 12:13:46 -04:00
psf
d1183f4b8a
Add B_SHOW_TYPES and cleaned up IsDoubleBattle (#5131)
* First attempt at a port

* Slightly broken but working

* Got images working and opponent palettes

* half finished compressed spritesheet approach instead

* fix the palettes (smh)

* fix hflip, and a lot of clean-up

* Add B_SHOW_TYPES

* Got Illusion working

* Add num type enum

* Updated function to get type

* Fixed type icon position and cleaned up functions

* Updated illusions and Tera handling

* Added BATTLE_TYPE_IS_SINGLE and DOUBLE

* Removed IS_BATTLE_TYPE_SINGLE

* Implemented BATTLE_TYPE_IS_DOUBLE across repo

* Removed SIDE macro

* Updated config

* Deprecated battler alive macro

* Reindented file

* Added exceptions for 2v1

* Replaced Fainted check with Null check

* Added functionality for only types of caught mons

* UseDoubleBattleCoords updated

* Added ShouldFlipTypeIcon

* Renamed TryLoadTypeIcon

* Refactored functions

* Refactored functions

* Refactored functions

* Refactored functions

* Renamed SEEN to CAUGHT

* Reset config

* Added useSecondPalette and isOrdinary to gTypesInfo

* Further simplified secondPalette and isOrdinary

* Changed isordinary to isSpecialCase

* Renamed to useSecondTypeIconPalette

* Fixed Stellar type interactions

* fixed spacing

* fixed include/config/battle.h

* fixed

* fixed include/config/general.h

* changed type1 and type2

* Moved IsDoubleBattle to include.battle.h
Removed BATTLE_TYPE_IS_DOUBLE
Removed IS_DOUBLE_BATTLE

* Changed IsBattlerFainted to IsBattlerAlive

* Removed IsBattlerNull

* Moved GetBattlerData to be inline

* Renamed GetMonDefensiveTeraType

* Removed IsIllusionActive

* Fixed identation

* found one last isDoubleBattle hold out

* fixed redundant brackets

* Fixed spacing for B_SHOW_TYPES

* Update src/battle_script_commands.c

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

* Fixed padding

* Reindent file and refactored GetTypeIconHideMovement

* Update include/data.h

---------

Co-authored-by: RavePossum <ravepossum@proton.me>
Co-authored-by: Frank <fdeblasio1004@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-08-11 17:55:51 +02:00
Alex
137c15a9ce
Clean up for #4928 (#5120)
* Clean up for #4928

* agbcc

* review comments

* agbcc

* Update src/battle_util.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-08-11 13:21:49 +02:00
Alex
527cc33e0d
Adjusted AI calcs for Triple Kick Effect (#5127)
* Adjusted AI calcs for Triple Kick Effect

* use strikeCount

* fix compile
2024-08-11 13:01:10 +02:00
Eduardo Quezada
113f8de9b1 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_controller_player.c
2024-08-08 13:22:49 -04:00
pkmnsnfrn
5635f94036 More changes from typeX to types[X] 2024-08-07 11:35:45 -07:00
PhallenTree
67f049fddb
Fixes Defiant interaction with Court Changed Sticky Web + Fickle Beam description (#5093)
* Fixes Court Changed Sticky Web deactivating Defiant/Competitive

* Fixes Fickle Beam's description

* Alternative fix

* Remove extra newLine
2024-08-06 10:45:30 +02:00
Alex
dbb9ee874b
Change GET_MOVE_TYPE to a function (#5090)
* Change GET_MOVE_TYPE to a function

* add in battle check to GetMoveType function, move it to battle_util.c

* Update src/battle_util.c

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

* Update src/battle_util.c

---------

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-08-05 22:02:31 -04:00
Eduardo Quezada
8450268b74 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/data/battle_anim.h
2024-07-31 18:13:19 -04:00
Alex
e6175b5b84
Fixes spread damage in double battles (#5064)
* Fixes spread move damage in doubles

* add DoubleBattle check

* add additional check to test

* restore trainer party
2024-07-31 12:20:57 +02:00
PhallenTree
ab9f8e69fb
Fixes Stalwart/Propeller Tail, Life Orb on confusion, Remove Status wrong battlescripts (#5061)
* Fix swapped BattleScripts in MoveEffectRemoveStatus for Freeze/Frostbite

* Fix Life Orb damaging the user if they hit themselves in confusion

* Fix Stalwart/Propeller Tail not ignoring redirection from Storm Drain/Lightning Rod

* Parametrize Species
2024-07-30 10:36:22 +02:00
Eduardo Quezada
b4eca0a6ec Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_anim_scripts.s
#	src/battle_util.c
2024-07-29 09:36:16 -04:00
hedara90
a89820fa96
Fixed Hidden Power damage category for PSS < GEN_4 (#5053)
* Fixed Hidden Power damage category for PSS < GEN_4

* Fixed category display regression

* Wrapped GET_MOVE_TYPE

---------

Co-authored-by: Hedara <hedara90@gmail.com>
2024-07-29 13:45:14 +02:00
Eduardo Quezada
18aff2db3b Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	asm/macros/battle_anim_script.inc
#	data/battle_anim_scripts.s
#	include/constants/battle_anim.h
#	src/battle_anim.c
#	src/data/battle_anim.h
2024-07-27 16:26:37 -04:00
AlexOn1ine
5dd10a4af1 forgot abilityShield check 2024-07-26 21:34:20 +02:00
AlexOn1ine
dfd63fd34f func CanBreakThroughAbility 2024-07-26 21:30:41 +02:00
AlexOn1ine
89563cb9b1 check for breakable ability 2024-07-26 21:11:16 +02:00
AlexOn1ine
8b2774e07d Fixes cantBeSurpressed ability check for breakable abilities 2024-07-26 20:19:58 +02:00
Eduardo Quezada
cc00446eb8 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/data/graphics/pokemon.h
#	src/data/pokemon/species_info/gen_9_families.h
2024-07-26 09:42:52 -04:00
PhallenTree
7b2914c046
Fix Mold Breaker-like abilities, AI Move Accuracy function, Fury Cutter with Parental Bond (#5030)
* Fix GetBattlerAbility not checking correct battler's action

* Fix Fury Cutter counter being incorrectly incremented on 2nd hit of Parental Bond + test

* Fix AI_SetMoveAccuracy only using attacker's ability

* Review
2024-07-24 19:36:55 +02:00
Eduardo Quezada
ae48293806 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_ai_util.c
2024-07-22 23:06:44 -04:00
PhallenTree
aac6ebd3d7
Fixes Sleep Talk, Toxic Debris and Jaboca/Rowap Berry issues; Adds Sleep Talk tests (#5009)
* Fix Sleep Talk failing with choice item; Added some Sleep Talk tests

* Fix Jaboca, Rowap berries recording Rocky Helmet Effect; Fix Toxic Debris not checking side's toxic spikes count properly in Doubles
2024-07-21 21:24:05 +02:00
Eduardo Quezada
98eb4e5027 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	asm/macros/battle_script.inc
#	include/constants/battle_string_ids.h
#	src/battle_ai_switch_items.c
#	src/battle_main.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/frontier_util.c
#	test/battle/ai/ai.c
2024-07-19 09:20:05 -04:00
Alex
552e2768da
Fixes to Opportunist and Mirror Herb adjustments (#4928)
* Replace Opportunist todo tests with proper tests

* add failing test

* desc

* Fixes to Opportunist and Mirror Herb adjustments

* more tests

* some fixes

* first turn events switch

* simple enum + revert test desc
2024-07-19 11:01:46 +02:00
Alex
62640456e7
Fixes residual damage order. #4945 Follow up. (#4993) 2024-07-18 12:48:23 +02:00
Eduardo Quezada
2b40e79ac3 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	include/battle_util.h
#	src/battle_ai_main.c
2024-07-14 22:44:00 -04:00
sneed
6aa308e1d8
EFFECT_PHOTON_GEYSER and restored EFFECT_SHELL_SIDE_ARM work for physical moves (#4923) 2024-07-14 15:35:11 +02:00
Alex
edc883d038
Refactors residual damage (#4945)
* Refactors damage non types

* correction

* Refactor weather damage script

* new line

* correction

* there was a hail test already

* ndebug

* add sandstorm test

* Update src/battle_script_commands.c

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

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-07-13 12:12:40 +02:00
Alex
7b6ff1b560
Fixes Trace turn order (#4941)
* Fixes Trace turn order

* Update battle_script_commands.c

* Update test/battle/ability/trace.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-07-10 22:29:26 +02:00
Eduardo Quezada
fb708b7ed3 Merge branch '_RHH/master' into _RHH/upcoming 2024-07-10 10:05:10 -04:00
Eduardo Quezada
de609a2f5b
Added missing redirect abilities Gen 3-4 config (#4920)
* Added missing redirect abilities Gen 3-4 config

* Combined 3 Battle Script Natives into 1

* Cleaner FindMonThatAbsorbsOpponentsMove
2024-07-07 09:52:59 +02:00
Eduardo Quezada
fcdc9ed65a Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_util.c
#	src/data/pokemon/species_info/gen_7_families.h
#	test/battle/ability/download.c
#	test/battle/ability/intimidate.c
#	test/battle/ability/supreme_overlord.c
#	test/battle/ability/zero_to_hero.c
#	test/battle/ai/ai.c
#	test/battle/move_effect/plasma_fists.c
2024-07-05 14:25:25 -04:00
Alex
dd7b735211
Fixes Grassy Terrain heal turn duration (#4903) 2024-07-03 22:53:15 +02:00
Alex
594633aa15
Remove Duplicate ai code from battle_ai_util.c (#4883)
* Remove Duplicate ai code from battle_ai_util.c

* Add GetBattlerAbility in toxic self check
2024-07-03 10:48:31 +02:00
Frank DeBlasio
c3634db0ea
Fixed Mud Sport/Water Sport reduction value (#4874)
* Fixed Mud Sport/Water Sport reduction value

* Removed define
2024-06-29 22:11:49 +02:00
DizzyEggg
cd5a862b95
Fix Megas gaining abilities after fainting (#4873) 2024-06-26 23:44:01 +02:00
AgustinGDLV
9797640dff
Gimmick Refactor (#4449)
* consolidated gimmick checks, triggers, communication, and activation; updated test runner

* fixed improper use of .usableGimmick

* cleaning up battle_dynamax.c, changing function args to u32s

* fixed '#ifdef TESTING' causing errors

* updated z-moves to use gimmick interface, pared down redundancies; no AI/tests

* added support for z-moves in tests, consolidated gimmick fields

* removed ShouldUseMaxMove and .usingMaxMove

* renamed TryChangeZIndicator, updated z move display

* added several z-move tests and fixed various z-move interactions; fixed z-move category calc

* fixed useless battler arg in GetTypeBasedZMove

* added basic test check for bad Z-Move or Mega usage

* reworked test runner gimmick functionality; added support for Ultra Burst + Z-Move to test Light That Burns the Sky

* fixed gimmick test logic; fixed damage category override

* fixed mega rayquaza test fail

* consolidated gimmick indicator logic; added graphics to gGimmicksInfo

* removed TeraData struct

* reimplemented AI logic for Z-Moves; no changes

* updated Z-Move and Ultra Burst trigger gfx

* added testrunner check for multiple gimmick use

* fixed duplicate z-move call in test

* reorganized data/graphics/gimmicks.h

* added signature Z-Move ability tests; implemented Guardian of Alola

* fixed bad test update

* fixed Thousand Arrows not affecting Tera Flying; clean-up

* fixed -ate tests

* fixed tera tests

* fixed tera tests really

* fixed last batch of tests

* fixed -ate mega test again

* code review

* code review pt.2

* tweaked CanTera again

* dynamax flag only required for player
2024-06-22 22:25:40 +02:00
sneed
6893d8dbef
ignoresTargetAbility doesnt ignore the attacker's ability (#4855) 2024-06-22 09:52:25 +02:00
DizzyEggg
438f478146
Fix comatose transform gastro acid interaction (#4852) 2024-06-21 12:19:43 +02:00
DizzyEggg
d0bb03e5a9
Fix AI's right slot switching-in too early (#4851)
* apply safe switching to trainer doubles battles - with a config

* get rid of the config

* make it compile
2024-06-21 12:17:12 +02:00
kittenchilly
74f53a7e18
Fix caught wild pokemon not restoring their used held item (#4803)
* Fix caught wild pokemon not restoring their used held item

* Actually we can use the same struct
2024-06-18 20:31:03 +02:00