ref: 2d2cb00ae201192c1b3b1cce21f603f73f5dd207
parent: 9c00912f8996a76a47e0cbd5eb830b1e1205eec3
author: yenatch <[email protected]>
date: Tue Feb 25 07:13:29 EST 2014
Legacy move AI. This is distinct from the "Smart" AI's giant move handling table in battle/ai/scoring.asm.
--- a/main.asm
+++ b/main.asm
@@ -39057,9 +39057,10 @@
; no known jump sources
Function2c41a: ; 2c41a (b:441a)
+; More move AI.
ld a, c
- ld de, $3
- ld hl, $442c
+ ld de, 3
+ ld hl, Unknown_2c42c
call IsInArray
jp nc, Function2c545
inc hl
@@ -39069,16 +39070,56 @@
jp [hl]
; 2c42c (b:442c)
-INCBIN "baserom.gbc",$2c42c,$2c487 - $2c42c
+Unknown_2c42c: ; 2c42c
+ dbw EFFECT_DREAM_EATER, Function2c524
+ dbw EFFECT_HEAL, Function2c539
+ dbw EFFECT_LIGHT_SCREEN, Function2c487
+ dbw EFFECT_MIST, Function2c48d
+ dbw EFFECT_FOCUS_ENERGY, Function2c493
+ dbw EFFECT_CONFUSE, Function2c499
+ dbw EFFECT_TRANSFORM, Function2c4a5
+ dbw EFFECT_REFLECT, Function2c4ab
+ dbw EFFECT_SUBSTITUTE, Function2c4b1
+ dbw EFFECT_LEECH_SEED, Function2c4b7
+ dbw EFFECT_DISABLE, Function2c4bd
+ dbw EFFECT_ENCORE, Function2c4c2
+ dbw EFFECT_SNORE, Function2c4c8
+ dbw EFFECT_SLEEP_TALK, Function2c4c8
+ dbw EFFECT_MEAN_LOOK, Function2c4d1
+ dbw EFFECT_NIGHTMARE, Function2c4d7
+ dbw EFFECT_SPIKES, Function2c4e3
+ dbw EFFECT_FORESIGHT, Function2c4e9
+ dbw EFFECT_PERISH_SONG, Function2c4ef
+ dbw EFFECT_SANDSTORM, Function2c4f5
+ dbw EFFECT_ATTRACT, Function2c4fe
+ dbw EFFECT_SAFEGUARD, Function2c50c
+ dbw EFFECT_RAIN_DANCE, Function2c512
+ dbw EFFECT_SUNNY_DAY, Function2c51b
+ dbw EFFECT_TELEPORT, Function2c541
+ dbw EFFECT_MORNING_SUN, Function2c539
+ dbw EFFECT_SYNTHESIS, Function2c539
+ dbw EFFECT_MOONLIGHT, Function2c539
+ dbw EFFECT_SWAGGER, Function2c52d
+ dbw EFFECT_FUTURE_SIGHT, Function2c533
+ db $ff
+; 2c487
+
+Function2c487: ; 2c487
ld a, [EnemyScreens] ; $c700
bit 3, a
ret
+
+Function2c48d: ; 2c48d
ld a, [EnemySubStatus4] ; $c670
bit 1, a
ret
+
+Function2c493: ; 2c493
ld a, [EnemySubStatus4] ; $c670
bit 2, a
ret
+
+Function2c499: ; 2c499
ld a, [PlayerSubStatus3] ; $c66a
bit 7, a
ret nz
@@ -39085,76 +39126,124 @@
ld a, [PlayerScreens] ; $c6ff
bit 2, a
ret
+
+Function2c4a5: ; 2c4a5
ld a, [EnemySubStatus5] ; $c671
bit 3, a
ret
+
+Function2c4ab: ; 2c4ab
ld a, [EnemyScreens] ; $c700
bit 4, a
ret
; 2c4b1 (b:44b1)
-INCBIN "baserom.gbc",$2c4b1,$2c4b7 - $2c4b1
+Function2c4b1: ; 2c4b1
+ ld a, [EnemySubStatus4]
+ bit 4, a
+ ret
+
+Function2c4b7: ; 2c4b7
ld a, [PlayerSubStatus4] ; $c66b
bit 7, a
ret
+
+Function2c4bd: ; 2c4bd
ld a, [PlayerDisableCount] ; $c675
and a
ret
+
+Function2c4c2: ; 2c4c2
ld a, [PlayerSubStatus5] ; $c66c
bit 4, a
ret
+
+Function2c4c8: ; 2c4c8
ld a, [EnemyMonStatus] ; $d214
and $7
- jr z, .asm_2c541
+ jr z, Function2c541
jr Function2c545
+
+Function2c4d1: ; 2c4d1
ld a, [EnemySubStatus5] ; $c671
bit 7, a
ret
; 2c4d7 (b:44d7)
-INCBIN "baserom.gbc",$2c4d7,$2c4e3 - $2c4d7
+Function2c4d7: ; 2c4d7
+ ld a, [BattleMonStatus]
+ and a
+ jr z, Function2c541
+ ld a, [PlayerSubStatus1]
+ bit 0, a
+ ret
+
+Function2c4e3: ; 2c4e3
ld a, [PlayerScreens] ; $c6ff
bit 0, a
ret
+
+Function2c4e9: ; 2c4e9
ld a, [PlayerSubStatus1] ; $c668
bit 3, a
ret
+
+Function2c4ef: ; 2c4ef
ld a, [PlayerSubStatus1] ; $c668
bit 4, a
ret
+
+Function2c4f5: ; 2c4f5
ld a, [Weather] ; $c70a
cp $3
- jr z, .asm_2c541
+ jr z, Function2c541
jr Function2c545
+
+Function2c4fe: ; 2c4fe
callba Function377f5
- jr c, .asm_2c541
+ jr c, Function2c541
ld a, [PlayerSubStatus1] ; $c668
bit 7, a
ret
+
+Function2c50c: ; 2c50c
ld a, [EnemyScreens] ; $c700
bit 2, a
ret
+
+Function2c512: ; 2c512
ld a, [Weather] ; $c70a
cp $1
- jr z, .asm_2c541
+ jr z, Function2c541
jr Function2c545
+
+Function2c51b: ; 2c51b
ld a, [Weather] ; $c70a
cp $2
- jr z, .asm_2c541
+ jr z, Function2c541
jr Function2c545
+
+Function2c524: ; 2c524
ld a, [BattleMonStatus] ; $c63a
and $7
- jr z, .asm_2c541
+ jr z, Function2c541
jr Function2c545
+
+Function2c52d: ; 2c52d
ld a, [PlayerSubStatus3] ; $c66a
bit 7, a
ret
+
+Function2c533: ; 2c533
ld a, [EnemyScreens] ; $c700
bit 5, a
ret
+
+Function2c539: ; 2c539
callba AICheckEnemyMaxHP
jr nc, Function2c545
-.asm_2c541
+
+Function2c541: ; 2c541
ld a, $1
and a
ret