Commit graph

83 commits

Author SHA1 Message Date
ghoulslash
c694e0cb90 merge w be 2022-06-05 08:22:24 -04:00
Eduardo Quezada D'Ottone
89816b62ba Added Sheer Cold accuracy change to ShouldTryOHKO 2022-05-07 10:38:16 -04:00
BuffelSaft
746d9ea6c5 Add AI_GetBattlerMoveTargetType()
Add AI version of the function that handles move target selection, as it needs to have ability and item info that it may not have access to.
2022-04-27 22:23:20 +12:00
BuffelSaft
5358cc0a00 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into gen_8_moves_batch2 2022-04-25 13:38:13 +12:00
Eduardo Quezada D'Ottone
9a88021448 Remove repeated ability check in battle_ai_util.c 2022-02-17 21:39:15 -03:00
BuffelSaft
6a119c5a30 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into gen_8_moves_batch2 2022-02-13 21:06:15 +13:00
ghoulslash
fcc85e8c17 fix AI_WhoStrikesFirst 2022-02-09 11:23:30 -05: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
LOuroboros
34c6e6ca31
Update battle_ai_util.c 2021-12-30 01:48:56 -03:00
ultima-soul
a5afdac0ae Resolved review suggestions for upstream Battle Engine sync. 2021-12-08 12:08:16 -08: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
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
499fb8071d Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into gen_8_moves_batch2 2021-11-23 17:12:24 +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
Eduardo Quezada D'Ottone
dee7f97a8d
Merge branch 'battle_engine' into battle_ai 2021-11-21 14:46:09 -03:00
Eduardo Quezada D'Ottone
1696e60b9f
Merge pull request #1876 from ghoulslash/be/ai_updates
Some more CanAIFaintTarget checks and other AI updates
2021-11-19 17:33:21 -03:00
Eduardo Quezada D'Ottone
bef896c65a
Merge pull request #1908 from kleeenexfeu/kleeenexfeu-PartyBattlerShouldAvoidHazardsfix
PartyBattlerShouldAvoidHazards fix
2021-11-15 19:54:46 -03:00
kleeenexfeu
ea34d4694d
PartyBattlerShouldAvoidHazards fix
AI was loading and modifying wrong data in the RAM
2021-11-15 16:48:44 +01:00
ghoulslash
2a1299715f merge w be 2021-11-15 10:45:59 -05:00
ghoulslash
9fdd6fffee AI_GetAbility supports hidden abilities 2021-11-15 10:45:23 -05:00
ghoulslash
940a165be7 merge w be 2021-11-13 09:09:15 -05:00
ghoulslash
2fac38cc83 merge w be 2021-11-11 16:16:26 -05:00
ghoulslash
e635930a15 fixes 2021-11-08 21:33:00 -05:00
ghoulslash
6f6e0d6baf add recycle hp berry logic 2021-11-08 21:27:40 -05:00
ghoulslash
01cf8e6452 add AI_MoveMakesContact, dissuade multi-hit attacks against rocky helmet 2021-11-08 11:55:06 -05:00
ghoulslash
e5a0630596 add ai flag checks alongside CanFaintTarget 2021-11-08 11:42:32 -05:00
ghoulslash
8f320a8d33 some ai updates, recycle + ripen logic 2021-11-08 11:37:41 -05:00
BuffelSaft
03cab2058a Fix goof, make AI check PP in move limitations
Was skipping valid moves instead of invalid ones in CanAIFaintTarget. Also, remove all instances of ~MOVE_LIMITATION_PP from the AI as it seemed detrimental.
2021-11-08 23:57:16 +13:00
BuffelSaft
d3a845d511 Fix CanAIFaintTarget
Rename CanAIFaintTarget to CanIndexMoveFaintTarget and create a new function, CanAIFaintTarget, that checks if any known move can KO the target.
2021-11-08 20:37:28 +13:00
BuffelSaft
3a113e33b2 Uncomment AI Full Metal Body checks
This ability is Clear Body with a different name, so it should be working and doesn't need to be commented out.
2021-11-08 19:28:09 +13:00
ghoulslash
41bf1dc2f4 merge w be 2021-11-06 10:40:57 -04:00
Eduardo Quezada D'Ottone
5eb8f1c158
Merge pull request #1855 from ghoulslash/be/abilityonside
AI versions of CanPoisonType, CanBePoisoned and IsAbilityOnSide
2021-11-04 21:49:31 -03:00
ghoulslash
6b10801ee8 convert AI_IsabilityOnSide to bool 2021-11-04 10:43:33 -04: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
a2574b55cc Fix dynamic move damage calculation
Can't check effectiveness here without breaking the AI. After testing, it also appears that it doesn't need to be checked here after all.
2021-11-04 16:09:28 +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
ghoulslash
4466fbd930 ai version of CanPoisonType, CanBePoisoned and IsAbilityOnSide 2021-11-03 21:36:33 -04:00
BuffelSaft
8af882348a Fix Parental Bond Super Fang
Min damage should be 2
2021-11-02 16:56:12 +13:00
ghoulslash
a2b8f3f169 replace gBattleMons[x].ability w GetBattlerAbility 2021-10-31 17:19:30 -04: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
BuffelSaft
4faa077641 Triple Kick, Super Fang tweaks
Ignore accuracy for Triple Kick and assume all hits will connect. Super Fang always does at least 1 damage, so this should be accounted for.
2021-10-26 13:41:08 +13: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
BuffelSaft
bbe2eccf62 Fix typo
CanBeParayzed to CanBeParalyzed
2021-10-24 17:57:06 +13:00
BuffelSaft
d64dc2bbe8 Sleep moves don't check target's type
Dark types aren't immune to Hypnosis, Ghost types aren't immune to Yawn or Lovely Kiss, so this check isn't needed.
2021-10-24 17:55:37 +13:00
BuffelSaft
274e964d91 Fix Safety Googles
Fix typo and update gLastUsedItem before calling the safety goggles battle script.
2021-10-09 15:05:01 +13:00
ghoulslash
e75a8fb67c merge ai move and item decisions. AI will prefer to defeat player over healing 2021-09-27 21:03:27 -04:00
sbird
303e31ae25 [ai] use expected value to simulate EFFECT_PSYWAVE 2021-09-22 18:05:58 +02:00
sbird
0ee13418dc [ai] use expected value move dmg calculation 2021-09-22 13:15:43 +02:00