diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2020-04-22 10:45:03 +0100 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2020-04-22 10:45:03 +0100 |
commit | eebe2ce0026f6b1d30f33ff3fd12b2a2ad1d0e39 (patch) | |
tree | cac9e460e1127b5c1d3907fe5c084b9bb8a81679 /src | |
parent | 6960c4f3ac186349828e85616f1c189c20db9b9b (diff) |
Added some AI related constants
Diffstat (limited to 'src')
-rw-r--r-- | src/constants/card_data_constants.asm | 5 | ||||
-rw-r--r-- | src/constants/duel_constants.asm | 19 | ||||
-rw-r--r-- | src/data/cards.asm | 18 | ||||
-rw-r--r-- | src/engine/bank05.asm | 5 | ||||
-rw-r--r-- | src/engine/bank08.asm | 81 | ||||
-rw-r--r-- | src/wram.asm | 2 |
6 files changed, 79 insertions, 51 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm index 3f3dd3a..3f26e4d 100644 --- a/src/constants/card_data_constants.asm +++ b/src/constants/card_data_constants.asm @@ -230,3 +230,8 @@ UNABLE_RETREAT EQU $64 ; attack index constants FIRST_ATTACK_OR_PKMN_POWER EQU $0 SECOND_ATTACK EQU $1 + +; whether move with the ATTACHED_ENERGY_BOOST flag +; has limit on attached energy cards boost. +MAX_ENERGY_BOOST_IS_LIMITED EQU $2 +MAX_ENERGY_BOOST_IS_NOT_LIMITED EQU $3 diff --git a/src/constants/duel_constants.asm b/src/constants/duel_constants.asm index b1063dc..65f58e3 100644 --- a/src/constants/duel_constants.asm +++ b/src/constants/duel_constants.asm @@ -231,3 +231,22 @@ AI_FLAG_USED_SWITCH EQU 1 << 1 AI_FLAG_USED_PROFESSOR_OAK EQU 1 << 2 AI_FLAG_MODIFIED_HAND EQU 1 << 3 AI_FLAG_USED_GUST_OF_WIND EQU 1 << 4 + +; used to determine which Trainer cards for AI +; to process in AIProcessHandTrainerCards. +; aside from a few exceptions, these go in chronological order. +AI_TRAINER_CARD_PHASE_01 EQU $1 +AI_TRAINER_CARD_PHASE_02 EQU $2 +AI_TRAINER_CARD_PHASE_03 EQU $3 +AI_TRAINER_CARD_PHASE_04 EQU $4 +AI_TRAINER_CARD_PHASE_05 EQU $5 +AI_TRAINER_CARD_PHASE_06 EQU $6 +AI_TRAINER_CARD_PHASE_07 EQU $7 +AI_TRAINER_CARD_PHASE_08 EQU $8 +AI_TRAINER_CARD_PHASE_09 EQU $9 +AI_TRAINER_CARD_PHASE_10 EQU $a +AI_TRAINER_CARD_PHASE_11 EQU $b +AI_TRAINER_CARD_PHASE_12 EQU $c +AI_TRAINER_CARD_PHASE_13 EQU $d +AI_TRAINER_CARD_PHASE_14 EQU $e +AI_TRAINER_CARD_PHASE_15 EQU $f diff --git a/src/data/cards.asm b/src/data/cards.asm index 8bbc091..48a1ba2 100644 --- a/src/data/cards.asm +++ b/src/data/cards.asm @@ -1952,7 +1952,7 @@ ExeggutorCard: ; 31689 (c:5689) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 3 + db MAX_ENERGY_BOOST_IS_NOT_LIMITED db 2 ; animation db 3 ; retreat cost @@ -3278,7 +3278,7 @@ BlastoiseCard: ; 31d23 (c:5d23) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 22 ; animation db 3 ; retreat cost @@ -3417,7 +3417,7 @@ PoliwagCard: ; 31de6 (c:5de6) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 19 ; animation ; move 2 @@ -3519,7 +3519,7 @@ PoliwrathCard: ; 31e68 (c:5e68) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 19 ; animation ; move 2 @@ -4029,7 +4029,7 @@ SeadraCard: ; 320f2 (c:60f2) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 19 ; animation ; move 2 @@ -4386,7 +4386,7 @@ LaprasCard: ; 322b9 (c:62b9) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 19 ; animation ; move 2 @@ -4502,7 +4502,7 @@ Vaporeon2Card: ; 3233b (c:633b) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 19 ; animation db 1 ; retreat cost @@ -4553,7 +4553,7 @@ OmanyteCard: ; 3237c (c:637c) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 19 ; animation db 1 ; retreat cost @@ -4590,7 +4590,7 @@ OmastarCard: ; 323bd (c:63bd) db NONE ; flags 1 db ATTACHED_ENERGY_BOOST ; flags 2 db NONE ; flags 3 - db 2 + db MAX_ENERGY_BOOST_IS_LIMITED db 19 ; animation ; move 2 diff --git a/src/engine/bank05.asm b/src/engine/bank05.asm index ec205ce..7b0d7aa 100644 --- a/src/engine/bank05.asm +++ b/src/engine/bank05.asm @@ -4375,8 +4375,11 @@ DetermineAIScoreOfMoveEnergyRequirement: ; 16695 (5:6695) .attached_energy_boost ld a, [wLoadedMoveEffectParam] - cp $02 + cp MAX_ENERGY_BOOST_IS_LIMITED jr z, .check_surplus_energy + + ; is MAX_ENERGY_BOOST_IS_NOT_LIMITED, + ; which is equal to 3, add to score. call AddToAIScore jp .check_evolution diff --git a/src/engine/bank08.asm b/src/engine/bank08.asm index ad36e90..bac8d61 100644 --- a/src/engine/bank08.asm +++ b/src/engine/bank08.asm @@ -6,44 +6,44 @@ unknown_data_20000: MACRO ENDM Data_20000: ; 20000 (8:4000) - unknown_data_20000 $07, POTION, AIDecide_Potion1, AIPlay_Potion - unknown_data_20000 $0a, POTION, AIDecide_Potion2, AIPlay_Potion - unknown_data_20000 $08, SUPER_POTION, AIDecide_SuperPotion1, AIPlay_SuperPotion - unknown_data_20000 $0b, SUPER_POTION, AIDecide_SuperPotion2, AIPlay_SuperPotion - unknown_data_20000 $0d, DEFENDER, AIDecide_Defender1, AIPlay_Defender - unknown_data_20000 $0e, DEFENDER, AIDecide_Defender2, AIPlay_Defender - unknown_data_20000 $0d, PLUSPOWER, AIDecide_Pluspower1, AIPlay_Pluspower - unknown_data_20000 $0e, PLUSPOWER, AIDecide_Pluspower2, AIPlay_Pluspower - unknown_data_20000 $09, SWITCH, AIDecide_Switch, AIPlay_Switch - unknown_data_20000 $07, GUST_OF_WIND, AIDecide_GustOfWind, AIPlay_GustOfWind - unknown_data_20000 $0a, GUST_OF_WIND, AIDecide_GustOfWind, AIPlay_GustOfWind - unknown_data_20000 $04, BILL, AIDecide_Bill, AIPlay_Bill - unknown_data_20000 $05, ENERGY_REMOVAL, AIDecide_EnergyRemoval, AIPlay_EnergyRemoval - unknown_data_20000 $05, SUPER_ENERGY_REMOVAL, AIDecide_SuperEnergyRemoval, AIPlay_SuperEnergyRemoval - unknown_data_20000 $07, POKEMON_BREEDER, AIDecide_PokemonBreeder, AIPlay_PokemonBreeder - unknown_data_20000 $0f, PROFESSOR_OAK, AIDecide_ProfessorOak, AIPlay_ProfessorOak - unknown_data_20000 $0a, ENERGY_RETRIEVAL, AIDecide_EnergyRetrieval, AIPlay_EnergyRetrieval - unknown_data_20000 $0b, SUPER_ENERGY_RETRIEVAL, AIDecide_SuperEnergyRetrieval, AIPlay_SuperEnergyRetrieval - unknown_data_20000 $06, POKEMON_CENTER, AIDecide_PokemonCenter, AIPlay_PokemonCenter - unknown_data_20000 $07, IMPOSTER_PROFESSOR_OAK, AIDecide_ImposterProfessorOak, AIPlay_ImposterProfessorOak - unknown_data_20000 $0c, ENERGY_SEARCH, AIDecide_EnergySearch, AIPlay_EnergySearch - unknown_data_20000 $03, POKEDEX, AIDecide_Pokedex, AIPlay_Pokedex - unknown_data_20000 $07, FULL_HEAL, AIDecide_FullHeal, AIPlay_FullHeal - unknown_data_20000 $0a, MR_FUJI, AIDecide_MrFuji, AIPlay_MrFuji - unknown_data_20000 $0a, SCOOP_UP, AIDecide_ScoopUp, AIPlay_ScoopUp - unknown_data_20000 $02, MAINTENANCE, AIDecide_Maintenance, AIPlay_Maintenance - unknown_data_20000 $03, RECYCLE, AIDecide_Recycle, AIPlay_Recycle - unknown_data_20000 $0d, LASS, AIDecide_Lass, AIPlay_Lass - unknown_data_20000 $04, ITEM_FINDER, AIDecide_ItemFinder, AIPlay_ItemFinder - unknown_data_20000 $01, IMAKUNI_CARD, AIDecide_Imakuni, AIPlay_Imakuni - unknown_data_20000 $01, GAMBLER, AIDecide_Gambler, AIPlay_Gambler - unknown_data_20000 $05, REVIVE, AIDecide_Revive, AIPlay_Revive - unknown_data_20000 $0d, POKEMON_FLUTE, AIDecide_PokemonFlute, AIPlay_PokemonFlute - unknown_data_20000 $05, CLEFAIRY_DOLL, AIDecide_ClefairyDollOrMysteriousFossil, AIPlay_ClefairyDollOrMysteriousFossil - unknown_data_20000 $05, MYSTERIOUS_FOSSIL, AIDecide_ClefairyDollOrMysteriousFossil, AIPlay_ClefairyDollOrMysteriousFossil - unknown_data_20000 $02, POKE_BALL, AIDecide_Pokeball, AIPlay_Pokeball - unknown_data_20000 $02, COMPUTER_SEARCH, AIDecide_ComputerSearch, AIPlay_ComputerSearch - unknown_data_20000 $02, POKEMON_TRADER, AIDecide_PokemonTrader, AIPlay_PokemonTrader + unknown_data_20000 AI_TRAINER_CARD_PHASE_07, POTION, AIDecide_Potion1, AIPlay_Potion + unknown_data_20000 AI_TRAINER_CARD_PHASE_10, POTION, AIDecide_Potion2, AIPlay_Potion + unknown_data_20000 AI_TRAINER_CARD_PHASE_08, SUPER_POTION, AIDecide_SuperPotion1, AIPlay_SuperPotion + unknown_data_20000 AI_TRAINER_CARD_PHASE_11, SUPER_POTION, AIDecide_SuperPotion2, AIPlay_SuperPotion + unknown_data_20000 AI_TRAINER_CARD_PHASE_13, DEFENDER, AIDecide_Defender1, AIPlay_Defender + unknown_data_20000 AI_TRAINER_CARD_PHASE_14, DEFENDER, AIDecide_Defender2, AIPlay_Defender + unknown_data_20000 AI_TRAINER_CARD_PHASE_13, PLUSPOWER, AIDecide_Pluspower1, AIPlay_Pluspower + unknown_data_20000 AI_TRAINER_CARD_PHASE_14, PLUSPOWER, AIDecide_Pluspower2, AIPlay_Pluspower + unknown_data_20000 AI_TRAINER_CARD_PHASE_09, SWITCH, AIDecide_Switch, AIPlay_Switch + unknown_data_20000 AI_TRAINER_CARD_PHASE_07, GUST_OF_WIND, AIDecide_GustOfWind, AIPlay_GustOfWind + unknown_data_20000 AI_TRAINER_CARD_PHASE_10, GUST_OF_WIND, AIDecide_GustOfWind, AIPlay_GustOfWind + unknown_data_20000 AI_TRAINER_CARD_PHASE_04, BILL, AIDecide_Bill, AIPlay_Bill + unknown_data_20000 AI_TRAINER_CARD_PHASE_05, ENERGY_REMOVAL, AIDecide_EnergyRemoval, AIPlay_EnergyRemoval + unknown_data_20000 AI_TRAINER_CARD_PHASE_05, SUPER_ENERGY_REMOVAL, AIDecide_SuperEnergyRemoval, AIPlay_SuperEnergyRemoval + unknown_data_20000 AI_TRAINER_CARD_PHASE_07, POKEMON_BREEDER, AIDecide_PokemonBreeder, AIPlay_PokemonBreeder + unknown_data_20000 AI_TRAINER_CARD_PHASE_15, PROFESSOR_OAK, AIDecide_ProfessorOak, AIPlay_ProfessorOak + unknown_data_20000 AI_TRAINER_CARD_PHASE_10, ENERGY_RETRIEVAL, AIDecide_EnergyRetrieval, AIPlay_EnergyRetrieval + unknown_data_20000 AI_TRAINER_CARD_PHASE_11, SUPER_ENERGY_RETRIEVAL, AIDecide_SuperEnergyRetrieval, AIPlay_SuperEnergyRetrieval + unknown_data_20000 AI_TRAINER_CARD_PHASE_06, POKEMON_CENTER, AIDecide_PokemonCenter, AIPlay_PokemonCenter + unknown_data_20000 AI_TRAINER_CARD_PHASE_07, IMPOSTER_PROFESSOR_OAK, AIDecide_ImposterProfessorOak, AIPlay_ImposterProfessorOak + unknown_data_20000 AI_TRAINER_CARD_PHASE_12, ENERGY_SEARCH, AIDecide_EnergySearch, AIPlay_EnergySearch + unknown_data_20000 AI_TRAINER_CARD_PHASE_03, POKEDEX, AIDecide_Pokedex, AIPlay_Pokedex + unknown_data_20000 AI_TRAINER_CARD_PHASE_07, FULL_HEAL, AIDecide_FullHeal, AIPlay_FullHeal + unknown_data_20000 AI_TRAINER_CARD_PHASE_10, MR_FUJI, AIDecide_MrFuji, AIPlay_MrFuji + unknown_data_20000 AI_TRAINER_CARD_PHASE_10, SCOOP_UP, AIDecide_ScoopUp, AIPlay_ScoopUp + unknown_data_20000 AI_TRAINER_CARD_PHASE_02, MAINTENANCE, AIDecide_Maintenance, AIPlay_Maintenance + unknown_data_20000 AI_TRAINER_CARD_PHASE_03, RECYCLE, AIDecide_Recycle, AIPlay_Recycle + unknown_data_20000 AI_TRAINER_CARD_PHASE_13, LASS, AIDecide_Lass, AIPlay_Lass + unknown_data_20000 AI_TRAINER_CARD_PHASE_04, ITEM_FINDER, AIDecide_ItemFinder, AIPlay_ItemFinder + unknown_data_20000 AI_TRAINER_CARD_PHASE_01, IMAKUNI_CARD, AIDecide_Imakuni, AIPlay_Imakuni + unknown_data_20000 AI_TRAINER_CARD_PHASE_01, GAMBLER, AIDecide_Gambler, AIPlay_Gambler + unknown_data_20000 AI_TRAINER_CARD_PHASE_05, REVIVE, AIDecide_Revive, AIPlay_Revive + unknown_data_20000 AI_TRAINER_CARD_PHASE_13, POKEMON_FLUTE, AIDecide_PokemonFlute, AIPlay_PokemonFlute + unknown_data_20000 AI_TRAINER_CARD_PHASE_05, CLEFAIRY_DOLL, AIDecide_ClefairyDollOrMysteriousFossil, AIPlay_ClefairyDollOrMysteriousFossil + unknown_data_20000 AI_TRAINER_CARD_PHASE_05, MYSTERIOUS_FOSSIL, AIDecide_ClefairyDollOrMysteriousFossil, AIPlay_ClefairyDollOrMysteriousFossil + unknown_data_20000 AI_TRAINER_CARD_PHASE_02, POKE_BALL, AIDecide_Pokeball, AIPlay_Pokeball + unknown_data_20000 AI_TRAINER_CARD_PHASE_02, COMPUTER_SEARCH, AIDecide_ComputerSearch, AIPlay_ComputerSearch + unknown_data_20000 AI_TRAINER_CARD_PHASE_02, POKEMON_TRADER, AIDecide_PokemonTrader, AIPlay_PokemonTrader db $ff _AIProcessHandTrainerCards: ; 200e5 (8:40e5) @@ -7133,5 +7133,6 @@ Func_22bad: ; 22bad (8:6bad) ret ; 0x22bc6 -Func_22bc6 ; 22bc6 (8:6bc6) - INCROM $22bc6, $24000 +rept $143a + db $ff +endr diff --git a/src/wram.asm b/src/wram.asm index ac4648e..7ff0dfe 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -1378,7 +1378,7 @@ wce17:: ; ce17 wce18:: ; ce18 ds $1 -; paramaters output by AI Trainer card logic routines +; parameters output by AI Trainer card logic routines ; (e.g. what Pokemon in Play Area to use card on, etc) wAITrainerCardParameter:: ; ce19 ds $1 |