Port PureRGB AI

Short tests showed positive results. Revert if it fucks up anything.

PureRGB enhances Gen 1 AI in various ways, fixing notorious glitches and making it not do completely stupid things. I would use shin pokered's, but it may be too difficult for unfamiliar players, and has a bunch of outdated markers I'd have to spruce up.

Relevant changes:
- Burn effect calls have been replaced with Fire Blast's effect, replicating the burn spread use-case of Fire Blast
- Teleport references removed because pureRGB uses a unique version
- Any straggler references to effects not used in pureRGB
- Mist properly referred to as we only have one move that provides stat drop immunity.

Updated the sprite gallery too!!
This commit is contained in:
Llinos Evans 2023-09-07 02:14:38 +01:00
parent 8bd3b8a703
commit 0af5bd126b
11 changed files with 654 additions and 168 deletions

View file

@ -11,7 +11,8 @@ wChannel2:: channel_struct wChannel2
wChannel3:: channel_struct wChannel3
wChannel4:: channel_struct wChannel4
ds 1
; for pureRGB AI jank
wUnusedC000:: db
wCurTrackDuty:: db
wCurTrackVolumeEnvelope:: db
@ -1211,11 +1212,11 @@ wBattleMon:: battle_struct wBattleMon
wTrainerClass:: db
ds 1
wTrainerPicPointer:: dw
ds 1
; used by pureRGB AI
wEnemyLastSelectedMoveDisable:: db
wPlayerLastSelectedMove:: db
UNION
wTempMoveNameBuffer:: ds 14
@ -1225,15 +1226,17 @@ NEXTU
wLearnMoveMonName:: ds NAME_LENGTH
ENDU
ds 2
; For the pureRGB AI enhancements
wAIMoveSpamAvoider:: db
wAITargetMonStatus:: db
wAITargetMonType1:: db
wAITargetMonType2:: db
; money received after battle = base money × level of last enemy mon
wTrainerBaseMoney:: dw ; BCD
wMissableObjectCounter:: db
ds 1
; 13 bytes for the letters of the opposing trainer
; the name is terminated with $50 with possible
; unused trailing letters
@ -1347,8 +1350,6 @@ wEnemyToxicCounter:: db
; low nibble: disable turns left
wEnemyDisabledMove:: db
ds 1
UNION
; the amount of damage accumulated by the player while biding
wPlayerBideAccumulatedDamage:: dw