Commit Graph

279 Commits

Author SHA1 Message Date
DizzyEggg
f6089a0057 Mega Evolution after switching and based on speed 2023-03-07 22:34:57 +01:00
Eduardo Quezada
5ca9213d07 Merge branch 'RHH/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	src/battle_script_commands.c
2023-02-21 17:47:02 -03:00
DizzyEggg
380af442c3
Fix buggy pokemon anims with Illusion (#2639)
* try illusion fix

* fix
2023-02-19 12:05:56 +01:00
DizzyEggg
0c523f9518
Fix Magic bounce powder moves against grass types (#2633)
* Fix Magic bounce powder moves against grass types
2023-02-17 13:55:51 +00:00
Eduardo Quezada
ac4825ad28 Merge branch 'RHH/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	src/battle_util.c
2023-01-13 11:50:47 -03:00
LOuroboros
620a6a5e90 Extra review changes
-Foolproofed the ability checks in ABILITYEFFECT_ON_WEATHER and ABILITYEFFECT_ON_TERRAIN
-Made BattleScript_OverworldWeatherStarts and BattleScript_OverworldTerrain call the battle scripts that handle weather form changes, weather abilities, terrain seeds and terrain abilities.
-Consequentially, I removed the activation for weather and terrain abilities that I added to TryDoEventsBeforeFirstTurn, and the activation of Protosynthesis in ABILITYEFFECT_ON_SWITCHIN.
-Added a weatherAbilityDone to prevent abilities that lack self-checks like Protosynthesis from getting stuck in a loop.
-Removed now pointless ABILITYEFFECT_WEATHER_FORM. I think Duke/Sneed69 added it to fix Castform's form change, but it no longer serves a purpose.
2023-01-09 14:22:14 -03:00
LOuroboros
c32f584940 Applied review changes 2023-01-08 19:50:27 -03:00
LOuroboros
d0f5653f5e Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into mimicry 2023-01-02 19:00:41 -03:00
Eduardo Quezada
a23501a4a3 Merge remote-tracking branch 'RHH_origin/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	src/battle_script_commands.c
2023-01-02 18:54:57 -03:00
LOuroboros
13d8c0d167 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into dev_gen9_abilities 2023-01-02 14:34:24 -03:00
Eduardo Quezada
16e8a5dd7f Merge remote-tracking branch 'RHH_origin/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	include/battle_util.h
2023-01-01 16:02:40 -03:00
Eduardo Quezada D'Ottone
0e1836d42b
Merge pull request #2106 from Sneed69/PartyBattlerShouldAvoidHazards
PartyBattlerShouldAvoidHazards rewrite
2022-12-30 17:55:53 -03:00
LOuroboros
e8dfb66c30 Adding ability effect triggers for terrains and weather
A new, probably better way to handle the announcement trigger that abilities such as Protosynthesis and Quark Drive have, when the battle weather or the field terrain change.

Misc. changes:
-EFFECT_DAMAGE_SET_TERRAIN -> EFFECT_HIT_SET_REMOVE_TERRAIN
 -It's more appropriate as the effect can be used to force set a terrain or simply to remove an active terrain, after all.
 -The main reason for the rename was the inconsistency with the battle script's label.
-Reverted accidentally committed change to B_DOUBLE_WILD_CHANCE, performed back in c8abf00c.
2022-12-30 03:25:16 -03:00
Eduardo Quezada
1580f892a5 Merge branch 'RHH/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	include/constants/pokemon.h
#	src/battle_script_commands.c
2022-12-19 18:53:26 -03:00
LOuroboros
a56cfd1aa7 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into dev_gen9_abilities 2022-12-12 19:55:48 -03:00
LOuroboros
0d1f9d9613 Reimplemented Mimicry 2022-12-09 20:46:18 -03:00
LOuroboros
107ace784b Implemented Mycelium Might's effect 2022-12-06 06:18:18 -03:00
LOuroboros
aa051dab02 Implemented Costar's effect 2022-12-06 05:23:30 -03:00
LOuroboros
31a602f3b6 Optimized Intimidate's code 2022-11-12 18:03:46 -03:00
Eduardo Quezada
57bdb683ec DoBurmyFormChange handled by FORM_CHANGE_END_BATTLE_TERRAIN 2022-11-05 23:27:40 -03:00
Eduardo Quezada
ceb5c8a00a Merge remote-tracking branch 'RHH_origin/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	include/battle_util.h
#	src/battle_util.c
2022-11-05 20:11:33 -03:00
Eduardo Quezada
42f8e8c114 Multiple refactors
- Added a general GetBattleFormChangeTargetSpecies instead of getting specific ones for Mega Evolution and Primal Reversion.
- Added FORM_CHANGE_BATTLE_HP_PERCENT, to replace ShouldChangeFormHpBased.
- Cleaned ifdefs for hold effects.
- Finally removed UndoMegaEvolution.
- FORM_CHANGE_FAINT and FORM_CHANGE_BATTLE_END restore to the first form before a battle form change if species isn't specified.
- When changing from a form with more HP to one with less, now current HP is kept to fix Zygarde edge case. (Will likely need to be reworked for Dynamax, as it behaves differently)
- Uses DoesSpeciesUseHoldItemToChangeForm in CanBattlerGetOrLoseItem.
2022-11-05 20:00:12 -03:00
ghoulslash
1e6903840a Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into be/bugbite 2022-11-04 09:29:45 -04:00
ghoulslash
d13431b4ab merge w rhh master 2022-11-04 09:29:39 -04:00
Eduardo Quezada
15c12af2cf Using TryBattleFormChange in place of certain TryFormChange 2022-11-01 23:50:26 -03:00
Eduardo Quezada
797c5514d3 Mega Evolution in form change tables 2022-11-01 18:37:23 -03:00
BuffelSaft
6035c5a280 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald into multistrike 2022-10-22 14:31:13 +13:00
Eduardo Quezada
0a79390ec0 Primal Reversion in Form Change tables 2022-10-21 02:08:37 -03:00
Eduardo Quezada
861590f747 Form change when fainting. Goodbye UndoFormChange! 2022-10-20 18:53:12 -03:00
Eduardo Quezada
620e69945d Form change for starting and ending battles. Adjusted PP for Iron Head/Behemoth moves 2022-10-20 16:40:24 -03:00
LOuroboros
02c6bc64b2 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into becomingAHero 2022-10-07 12:20:52 -03:00
ghoulslash
354a8256e4
Merge pull request #2226 from Porygon23/AI-Logic-Updates
Added corner case logic for AI Switching.
2022-09-15 17:56:35 -04:00
Eduardo Quezada D'Ottone
47a50b3dac
Merge branch 'master' into weather_forms_fixes 2022-09-07 23:07:25 -04:00
Porygon23
ba6aad5bcc
Merge branch 'master' into AI-Logic-Updates 2022-09-02 14:44:47 -06:00
LOuroboros
922bbacd71 Updated GetMonFriendshipScore
-Moved it to src/pokemon.c
-Made a battle specific variant called GetBattlerFriendshipScore.
-Made that variant return 0 for Mega Evolved 'mons and if called on link battles.
2022-08-26 21:33:43 -03:00
Eduardo Quezada D'Ottone
bee36edd9c
Merge pull request #2173 from LOuroboros/yourAffection
Implement affection-now-friendship mechanics
2022-08-26 14:54:32 -04:00
Eduardo Quezada
eea718cfc6 Placeholder moves can't be used in battle. 2022-08-24 00:30:49 -04:00
Eduardo Quezada
56a2e91518 Updated move limitations 2022-08-23 22:40:04 -04:00
Eduardo Quezada
afcc1178b2 Merge remote-tracking branch 'pret/master' into MergedBranchUltimate
# Conflicts:
#	data/battle_ai_scripts.s
#	data/battle_scripts_1.s
#	include/battle_controllers.h
#	include/battle_script_commands.h
#	include/battle_util.h
#	include/constants/battle_script_commands.h
#	include/constants/global.h
#	include/decompress.h
#	src/battle_anim_effects_1.c
#	src/battle_anim_normal.c
#	src/battle_anim_poison.c
#	src/battle_anim_water.c
#	src/battle_arena.c
#	src/battle_controller_link_opponent.c
#	src/battle_controller_link_partner.c
#	src/battle_controller_opponent.c
#	src/battle_controller_player.c
#	src/battle_controller_player_partner.c
#	src/battle_controller_recorded_opponent.c
#	src/battle_controller_recorded_player.c
#	src/battle_controller_safari.c
#	src/battle_controller_wally.c
#	src/battle_gfx_sfx_util.c
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/berry.c
#	src/data/trainers.h
#	src/decompress.c
#	src/field_effect.c
#	src/hall_of_fame.c
#	src/overworld.c
#	src/pokeball.c
#	src/pokemon.c
#	src/pokemon_icon.c
#	src/pokemon_storage_system.c
#	src/scrcmd.c
2022-08-22 20:30:45 -04:00
Ct11217
b95e450cb6 Added corner case logic for AI Switching.
1. Refactor Perish Song
2. Yawn
3. Secondary Damage (Leech Seed, Cursed etc).
4. Added Preliminary logic to help AI be smarter against semi-invulnerable

Added AI logic regarding abilities that benefit from switching
1. Natural Cure
2. Regenerator
2022-08-11 22:48:36 -06:00
Eduardo Quezada
4b08a511c3 Cleanup from https://github.com/pret/pokefirered/pull/532 2022-08-07 22:40:15 -04:00
Eduardo Quezada
7b3401ee27 Standarized use of star in pointer types 2022-07-29 10:17:58 -04:00
LOuroboros
032b7b2ab9 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into yourAffection 2022-07-25 10:24:19 -03:00
Eduardo Quezada D'Ottone
fe63dafcc1 Merge branch 'battle_engine' into BE_pretmerge
# Conflicts:
#	src/battle_anim_fire.c
#	src/battle_controller_player.c
2022-07-20 08:50:30 -04:00
ghoulslash
6b84a9f0b3 merge w be 2022-07-17 12:40:43 -04:00
Eduardo Quezada D'Ottone
e791cf90ad Merge tag 'pretmaster' into BE_pretmerge2
# Conflicts:
#	data/battle_anim_scripts.s
#	include/battle_anim.h
#	include/battle_controllers.h
#	include/battle_interface.h
#	include/battle_main.h
#	include/battle_setup.h
#	include/constants/battle_anim.h
#	include/constants/battle_string_ids.h
#	src/battle_ai_switch_items.c
#	src/battle_anim_fire.c
#	src/battle_anim_normal.c
#	src/battle_controllers.c
#	src/battle_dome.c
#	src/battle_gfx_sfx_util.c
#	src/battle_interface.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/pokemon.c
2022-07-15 12:58:46 -04:00
LOuroboros
aa5c6a3f01 Implemented affection-now-friendship mechanics 2022-06-22 00:18:01 -03:00
ghoulslash
c694e0cb90 merge w be 2022-06-05 08:22:24 -04:00
GriffinR
5e6d8a77e4 Document some generic argument names 2022-05-31 14:34:25 -04:00
BuffelSaft
16570e8c3f Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2022-05-22 12:55:55 +12:00
Sneed69
d0a2be9630 weather forms fixes and config 2022-05-22 03:20:48 +03:00
ghoulslash
f6f4227f49 better bug bite impl, fix item removal 2022-05-13 16:21:41 -04:00
Eduardo Quezada D'Ottone
989ec641f4
Merge pull request #2120 from ghoulslash/be/healblock
Heal Block AI and Pollen Puff Selection Prevention
2022-05-07 19:29:24 -04:00
Eduardo Quezada D'Ottone
cbe73de8c8
Merge pull request #1861 from LOuroboros/primalReversionTweaks
Primal Reversion Tweaks
2022-05-07 11:04:23 -04:00
ghoulslash
07579bd42b prevent ally pollen puff selection under heal block. add some ai checks for heal block 2022-05-07 09:56:32 -04:00
BuffelSaft
8693db632b Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2022-05-07 12:27:20 +12:00
sneed
23870a40a8 Initial commit 2022-05-02 06:04:16 +03:00
ExpoSeed
f50a406b18 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into BE/z-moves 2022-03-22 12:56:23 -05:00
Eduardo Quezada D'Ottone
0dd2de988a
Merge branch 'battle_engine' into primalReversionTweaks 2022-02-12 23:08:12 -03:00
BuffelSaft
9d1800f53e Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into gen_8_moves_batch2 2022-01-27 17:18:51 +13:00
ghoulslash
035b2332af cache ai damage, effectiveness calcs 2022-01-13 11:28:27 -05:00
Eduardo Quezada D'Ottone
4ab4250d5d
Merge branch 'battle_engine' into be/sports 2021-12-19 20:42:15 -03:00
ExpoSeed
d6747527da Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into BE/z-moves 2021-12-16 21:44:01 -06:00
ultima-soul
7369f60c06 Merge branch 'battle_engine' of github.com:rh-hideout/pokeemerald-expansion into battle_engine_sync 2021-12-03 17:30:45 -08:00
LOuroboros
19af517bbb Edited pointless or useless Primal Reversion code
Also added an equivalent to GetMegaEvolutionSpecies and GetWishMegaEvolutionSpecies for Primal Reversion.
Also also modified how CanBattlerGetOrLoseItem checks for Primal Reversion.
Also also also rewrote the check that triggers Primal Reversion in TryDoEventsBeforeFirstTurn.
2021-12-01 00:56:33 -03:00
ghoulslash
5c52abd856 gen3 sport move functionality behind config 2021-11-23 21:20:32 -05:00
BuffelSaft
cca7ec8c58 Fix and rename GetMoveTargetType
Change name to GetBattlerMoveTargetType and make it actually use the battlerId argument.
2021-11-24 12:09:54 +13:00
BuffelSaft
fa0b5188bb Dynamic move targeting
Properly implement Expanding Force by replacing all  instances that read move target from gBattleMoves with a function.
2021-11-23 16:56:11 +13:00
ultima-soul
3ed51d6d91 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-11-21 10:40:26 -08:00
BuffelSaft
16a4fc9062 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-11-19 16:33:24 +13:00
ghoulslash
940a165be7 merge w be 2021-11-13 09:09:15 -05:00
kleeenexfeu
f808710932
Moving IsBattlerProtected 2021-11-13 13:38:07 +01:00
BuffelSaft
72d12a575d Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-11-07 12:13:18 +13:00
ghoulslash
41bf1dc2f4 merge w be 2021-11-06 10:40:57 -04:00
ghoulslash
0ac6860855
Merge pull request #1810 from BuffelSaft/ai_improvements
AI: Multi-strike moves, variable power moves, sleep check
2021-11-04 12:28:00 -04:00
LOuroboros
22f7e81bef Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into mimicry 2021-11-04 12:25:26 -03:00
LOuroboros
b64d506809 Made a function to lift Mimicry's effect 2021-11-04 12:20:31 -03:00
BuffelSaft
7d10097684 Replace IsTwoStrikesMove with FLAG_TWO_STRIKES
Note that this flag does nothing until the Parental Bond PR is merged - it's just for the AI until then.
2021-11-04 17:11:56 +13:00
BuffelSaft
4a7ddb737b Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into ai_improvements 2021-11-04 15:51:11 +13:00
BuffelSaft
5a855db4ad Fix prototype of CanBePoisoned 2021-11-04 11:08:37 +13:00
BuffelSaft
f323e2c047 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into pastel_veil 2021-11-03 14:18:28 +13:00
LOuroboros
69b42de0d9 Implemented Mimicry
Thanks to AsparagusEduardo for helping me optimize RestoreBattlerOriginalTypes.
2021-11-02 14:44:55 -03:00
ghoulslash
98b4b821dc merge with be 2021-11-01 13:55:55 -04:00
BuffelSaft
0345dea918 Replace EFFECT_DOUBLE_HIT with FLAG_TWO_STRIKES
This removes the need to have separate move effects for Twineedle, Double Iron Bash, and any custom two strike moves.
2021-11-01 23:39:37 +13:00
BuffelSaft
fb25e1ac98 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-11-01 22:37:23 +13:00
BuffelSaft
52054e4bfe Fix Corrosion, Poison Touch
- CanBePoisoned now calls CanPoisonType instead of overriding it. Poison Touch now activates only if the attacker actually damaged the target. Partially implemented Pastel Veil.
2021-10-30 21:12:18 +13:00
ghoulslash
af914ee7ed merge w be 2021-10-29 22:33:50 -04:00
ghoulslash
28bc7dc14d start ability 2021-10-29 22:32:19 -04:00
ghoulslash
204748e01a fix recycle and harvest 2021-10-28 17:52:52 -04:00
ghoulslash
bebaded415 merge with be 2021-10-27 16:48:38 -04:00
BuffelSaft
4310868bee AI handles multi-strike and fixed dmg moves
Does not account for Parental Bond or Beat Up yet as those require some functions from #1676.
2021-10-24 18:49:17 +13:00
ghoulslash
5509ceea04 expand move target field 2021-10-16 16:10:45 -04:00
BuffelSaft
e59be67023 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-10-15 16:25:11 +13:00
Eduardo Quezada D'Ottone
21837b659a
Merge branch 'battle_engine' into bug_bite 2021-10-14 19:46:50 -03:00
ghoulslash
a3d2bdc9cf merge with be 2021-10-13 18:30:53 -04:00
ghoulslash
06bcfea3b8 merge with be 2021-10-10 19:56:33 -04:00
ghoulslash
fcada4fcad handle rototiller + prankster 2021-10-10 19:54:17 -04:00
BuffelSaft
07bdd2ffe6 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-10-09 15:18:51 +13:00
GriffinR
31b501e7eb Start misc battle documentation 2021-10-08 16:39:46 -04:00
ghoulslash
ee3a2c97ee Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into last_ball 2021-10-06 13:54:40 -04:00