move data to c

This commit is contained in:
golem galvanize
2018-02-13 22:12:02 -05:00
191 changed files with 23142 additions and 40440 deletions
+7 -7
View File
@@ -50069,7 +50069,7 @@ sub_8117E94: @ 8117E94
ldrb r1, [r1]
strb r1, [r2]
ldr r2, =gBattleAnimTarget
ldr r1, =gEffectBank
ldr r1, =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -50136,7 +50136,7 @@ sub_8117F30: @ 8117F30
ldrb r1, [r1]
strb r1, [r2]
ldr r2, =gBattleAnimTarget
ldr r1, =gEffectBank
ldr r1, =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -50670,7 +50670,7 @@ _081183B4:
strh r0, [r1, 0xC]
movs r0, 0x20
strh r0, [r1, 0xE]
ldr r2, =gUnknown_020243FC
ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -51014,7 +51014,7 @@ _08118690:
strh r0, [r1, 0xE]
movs r0, 0x1
strh r0, [r1, 0x12]
ldr r2, =gUnknown_020243FC
ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -51315,7 +51315,7 @@ _08118934:
strh r0, [r1, 0xE]
movs r0, 0x1
strh r0, [r1, 0x12]
ldr r2, =gUnknown_020243FC
ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -51675,7 +51675,7 @@ _08118C50:
strh r0, [r1, 0xC]
movs r0, 0x20
strh r0, [r1, 0xE]
ldr r2, =gUnknown_020243FC
ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -51924,7 +51924,7 @@ _08118E7E:
strh r0, [r1, 0x8]
movs r0, 0xF0
strh r0, [r1, 0xC]
ldr r2, =gUnknown_020243FC
ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
+1 -1
View File
@@ -5069,7 +5069,7 @@ sub_8172ED0: @ 8172ED0
lsls r0, 24
lsrs r0, 24
ldr r2, =gBattleAnimTarget
ldr r1, =gEffectBank
ldr r1, =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
+6 -6
View File
@@ -1591,7 +1591,7 @@ _0818F7E8:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x1
bl nature_stat_mod
bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1618,7 +1618,7 @@ _0818F820:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x2
bl nature_stat_mod
bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1645,7 +1645,7 @@ _0818F858:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x3
bl nature_stat_mod
bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1672,7 +1672,7 @@ _0818F890:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x4
bl nature_stat_mod
bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1699,7 +1699,7 @@ _0818F8C8:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x5
bl nature_stat_mod
bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1941,7 +1941,7 @@ sub_818FA74: @ 818FA74
str r4, [sp, 0x4]
ldr r7, [sp, 0x14]
str r7, [sp, 0x8]
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0xC
movs r1, 0x1
negs r1, r1
+3 -3
View File
@@ -1960,7 +1960,7 @@ _0819B572:
mov r2, r9
str r2, [sp, 0x8]
ldr r2, [sp, 0x14]
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -2103,7 +2103,7 @@ _0819B678:
mov r2, r10
str r2, [sp, 0x8]
movs r2, 0x1E
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0xC
movs r3, 0
strb r3, [r0]
@@ -23864,7 +23864,7 @@ _081A6E0C:
ldr r4, [sp, 0x28]
str r4, [sp, 0x8]
lsrs r2, 24
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0x1C
movs r7, 0
strb r7, [r0]
+8 -8
View File
@@ -44,7 +44,7 @@ _0817C988:
bl GetBattlerSide
lsls r0, 24
lsrs r6, r0, 24
ldr r0, =gEffectBank
ldr r0, =gEffectBattler
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -145,7 +145,7 @@ _0817CA9C:
bl GetBattlerPosition
lsls r0, 24
lsrs r5, r0, 25
ldr r0, =gEffectBank
ldr r0, =gEffectBattler
ldrb r0, [r0]
bl GetBattlerPosition
lsls r0, 24
@@ -1302,7 +1302,7 @@ _0817D6F2:
bl _0817E0A6
_0817D704:
ldr r5, =gBattlerPartyIndexes
ldr r6, =gEffectBank
ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1396,7 +1396,7 @@ _0817D7B2:
.pool
_0817D7D8:
ldr r5, =gBattlerPartyIndexes
ldr r6, =gEffectBank
ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1440,7 +1440,7 @@ _0817D7D8:
.pool
_0817D838:
ldr r5, =gBattlerPartyIndexes
ldr r6, =gEffectBank
ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1628,7 +1628,7 @@ _0817D9AE:
b _0817E086
_0817D9C2:
ldr r5, =gBattlerPartyIndexes
ldr r6, =gEffectBank
ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1703,7 +1703,7 @@ _0817DA48:
.pool
_0817DA68:
ldr r5, =gBattlerPartyIndexes
ldr r6, =gEffectBank
ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1791,7 +1791,7 @@ _0817DB10:
.pool
_0817DB24:
ldr r5, =gBattlerPartyIndexes
ldr r6, =gEffectBank
ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
+7 -7
View File
@@ -2351,7 +2351,7 @@ _08163368:
ldr r2, [sp, 0x30]
str r2, [sp, 0x8]
ldr r2, [sp, 0x20]
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
movs r0, 0xFF
mov r6, sp
strb r0, [r6, 0x14]
@@ -2775,7 +2775,7 @@ _081636CE:
str r2, [sp, 0x8]
ldr r2, [sp, 0x14]
mov r3, r10
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -2894,7 +2894,7 @@ _081637D0:
mov r2, r9
str r2, [sp, 0x8]
movs r2, 0x1E
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -5264,7 +5264,7 @@ _08164D14:
ldrb r0, [r0]
cmp r0, 0
beq _08164DB0
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _08164DB0
@@ -5302,7 +5302,7 @@ _08164DB6:
thumb_func_start sub_8164DCC
sub_8164DCC: @ 8164DCC
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08164DDA
@@ -6289,7 +6289,7 @@ _081655A6:
str r3, [sp, 0x8]
lsrs r2, 24
mov r3, r12
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
movs r0, 0xFF
str r0, [sp, 0x48]
movs r0, 0
@@ -7550,7 +7550,7 @@ _08165FDA:
ldr r2, [sp, 0x2C]
str r2, [sp, 0x8]
ldr r2, [sp, 0x20]
bl sub_8068634
bl CreateMonWithEVSpreadPersonalityOTID
add r1, sp, 0x14
movs r0, 0xFF
strb r0, [r1]
+4 -4
View File
@@ -252,7 +252,7 @@ _0815226C:
ldrb r2, [r2]
cmp r3, r2
bcs _08152292
ldr r0, =gUnknown_030024F8
ldr r0, =gMain+0x238
mov r12, r0
ldr r4, =gDummyOamData
adds r2, r5, 0
@@ -350,7 +350,7 @@ _08152322:
cmp r0, 0
beq _08152348
lsls r0, r6, 3
ldr r1, =gUnknown_030024F8
ldr r1, =gMain+0x238
adds r0, r1
ldr r1, =gDummyOamData
ldm r1!, {r2,r3}
@@ -412,7 +412,7 @@ _08152348:
orrs r0, r1
strh r0, [r2, 0x4]
lsls r1, r6, 3
ldr r2, =gUnknown_030024F8
ldr r2, =gMain+0x238
ldr r0, [r4, 0x4]
adds r1, r2
adds r0, r5, r0
@@ -746,7 +746,7 @@ _081525FC:
orrs r0, r2
strb r0, [r1, 0x19]
lsls r1, r5, 3
ldr r0, =gUnknown_030024F8
ldr r0, =gMain+0x238
adds r1, r0
ldr r0, =gDummyOamData
ldm r0!, {r2,r3}
+23 -23
View File
@@ -143,7 +143,7 @@ sub_80B2478: @ 80B2478
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
bl sub_800A0C8
bl GetLinkPlayerDataExchangeStatusTimed
lsls r0, 24
lsrs r0, 24
subs r0, 0x1
@@ -205,7 +205,7 @@ sub_80B24F8: @ 80B24F8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
bl sub_800B33C
bl HasLinkErrorOccurred
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -274,7 +274,7 @@ sub_80B2578: @ 80B2578
cmp r0, 0
beq _080B258E
movs r0, 0x1
bl sub_800B330
bl SetSuppressLinkErrorMessage
_080B258E:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -309,7 +309,7 @@ sub_80B25CC: @ 80B25CC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
bl sub_800B2E8
bl GetSioMultiSI
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -374,9 +374,9 @@ sub_80B2634: @ 80B2634
ldrsh r2, [r4, r3]
cmp r2, 0
bne _080B266C
bl sub_800A0AC
bl OpenLinkTimed
bl sub_800AB98
bl sub_800A2BC
bl ResetLinkPlayers
ldr r0, =gUnknown_08550594
bl AddWindow
strh r0, [r4, 0xA]
@@ -418,7 +418,7 @@ sub_80B2688: @ 80B2688
cmp r5, 0x1
bls _080B26FC
movs r0, 0x1
bl sub_800B330
bl SetSuppressLinkErrorMessage
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
@@ -1065,7 +1065,7 @@ _080B2C7E:
cmp r4, r0
bcc _080B2C5C
movs r0, 0
bl sub_800B330
bl SetSuppressLinkErrorMessage
bl ResetBlockReceivedFlags
ldr r0, =gSpecialVar_Result
adds r1, r5, 0
@@ -1611,7 +1611,7 @@ sub_80B3144: @ 80B3144
cmp r2, 0
bne _080B3178
bl OpenLink
bl sub_800A2BC
bl ResetLinkPlayers
ldr r0, =task00_08081A90
movs r1, 0x50
bl CreateTask
@@ -1710,7 +1710,7 @@ sub_80B3220: @ 80B3220
ldrb r0, [r0]
cmp r0, 0x1
bne _080B3248
bl sub_800A23C
bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1813,7 +1813,7 @@ _080B32F8:
ldr r2, =0x00002211
adds r0, r2, 0
strh r0, [r1]
bl sub_8009FAC
bl ClearLinkCallback_2
b _080B3346
.pool
_080B3318:
@@ -1926,7 +1926,7 @@ _080B3408:
ldr r2, =0x00002211
adds r1, r2, 0
strh r1, [r0]
bl sub_8009FAC
bl ClearLinkCallback_2
movs r0, 0x1
strh r0, [r6]
b _080B3532
@@ -1945,7 +1945,7 @@ _080B343A:
b _080B3532
.pool
_080B3444:
ldr r1, =gUnknown_020229CC
ldr r1, =gLocalLinkPlayer
movs r0, 0
movs r2, 0x1C
bl SendBlock
@@ -2172,7 +2172,7 @@ sub_80B360C: @ 80B360C
movs r5, 0x1
eors r0, r5
bl sub_813C2A0
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B36B2
@@ -2400,7 +2400,7 @@ _080B382E:
movs r0, 0x1
movs r1, 0
bl FadeScreen
bl sub_8009FAC
bl ClearLinkCallback_2
b _080B3864
_080B3840:
ldr r0, =gPaletteFade
@@ -2512,7 +2512,7 @@ _080B391C:
thumb_func_start sub_80B3924
sub_80B3924: @ 80B3924
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3940
@@ -2552,7 +2552,7 @@ sub_80B3968: @ 80B3968
ldr r2, =0x00002211
adds r0, r2, 0
strh r0, [r1]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3994
@@ -2652,7 +2652,7 @@ task00_08081A90: @ 80B3A30
cmp r1, r0
ble _080B3A62
bl CloseLink
ldr r0, =c2_800ACD4
ldr r0, =CB2_LinkError
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -2661,7 +2661,7 @@ _080B3A62:
ldrb r0, [r0]
cmp r0, 0
beq _080B3AA6
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080B3AA0
@@ -2670,7 +2670,7 @@ _080B3A62:
cmp r0, 0
bne _080B3A86
bl CloseLink
ldr r0, =c2_800ACD4
ldr r0, =CB2_LinkError
bl SetMainCallback2
_080B3A86:
adds r0, r4, 0
@@ -2752,7 +2752,7 @@ _080B3B20:
beq _080B3B9E
b _080B3BB8
_080B3B2A:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3B40
@@ -2808,7 +2808,7 @@ _080B3B9E:
ldrb r0, [r0]
cmp r0, 0x1
bne _080B3BB8
bl sub_800A23C
bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2825,7 +2825,7 @@ _080B3BB8:
thumb_func_start sub_80B3BC4
sub_80B3BC4: @ 80B3BC4
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080B3BD6
+1 -1
View File
@@ -643,7 +643,7 @@ _080D7C04:
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
_080D7C56:
pop {r4-r6}
pop {r0}
+2 -2
View File
@@ -2128,9 +2128,9 @@ sub_80F6AE8: @ 80F6AE8
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
ldr r4, =gSprites
ldr r0, =gUnknown_02022B10
ldr r0, =gWirelessStatusIndicatorSpriteId
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
+1 -1
View File
@@ -147,7 +147,7 @@ sub_80FC5DC: @ 80FC5DC
ldr r1, =gUnknown_02039F2A
movs r0, 0x1
strb r0, [r1]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0x1
bne _080FC60C
+1 -1
View File
@@ -8987,7 +8987,7 @@ _080AF994:
beq _080AF9D0
b _080AF9E8
_080AF99A:
bl sub_8009FAC
bl ClearLinkCallback_2
movs r0, 0x1
movs r1, 0
bl FadeScreen
+1 -1
View File
@@ -7126,7 +7126,7 @@ _0813B790:
b _0813B7C6
.pool
_0813B7A8:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0813B7B4
+2 -2
View File
@@ -282,7 +282,7 @@ _0816CE6C:
.pool
_0816CE8C:
bl GameCubeMultiBoot_Quit
ldr r0, =sub_800BA38
ldr r0, =SerialCB
bl SetSerialCallback
_0816CE96:
movs r0, 0
@@ -562,7 +562,7 @@ task_intro_2: @ 816D12C
movs r0, 0xCF
lsls r0, 1
bl m4aSongNumStart
bl sub_800B628
bl ResetSerial
add sp, 0x4
pop {r4,r5}
pop {r0}
-6452
View File
File diff suppressed because it is too large Load Diff
+518 -706
View File
File diff suppressed because it is too large Load Diff
+2021
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -1373,11 +1373,11 @@
.endm
.macro jumpifmove move, jumpptr
jumpifhalfword EQUAL, gCurrentMove, \move, \jumpptr
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
.endm
.macro jumpifnotmove move, jumpptr
jumpifhalfword NOT_EQUAL, gCurrentMove, \move, \jumpptr
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
.endm
.macro jumpifstatus3 bank, status, jumpptr
@@ -1389,13 +1389,13 @@
.endm
.macro jumpifmovehadnoeffect jumpptr
jumpifbyte COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
.endm
.macro jumpifbattletype flags, jumpptr
jumpifword COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
.macro jumpifnotbattletype flags, jumpptr
jumpifword NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
+48 -48
View File
@@ -1,20 +1,20 @@
@ Does nothing.
.macro nop
.macro nop
.byte 0x00
.endm
@ Does nothing.
.macro nop1
.macro nop1
.byte 0x01
.endm
@ Terminates script execution.
.macro end
.macro end
.byte 0x02
.endm
@ Jumps back to after the last-executed call statement, and continues script execution from there.
.macro return
.macro return
.byte 0x03
.endm
@@ -71,12 +71,12 @@
.endm
@ Executes a script stored in a default RAM location.
.macro gotoram
.macro gotoram
.byte 0x0c
.endm
@ Terminates script execution and "resets the script RAM".
.macro killscript
.macro killscript
.byte 0x0d
.endm
@@ -271,7 +271,7 @@
.endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
.macro waitstate
.macro waitstate
.byte 0x27
.endm
@@ -307,12 +307,12 @@
.endm
@ Runs time based events. In FireRed, this command is a nop.
.macro dodailyevents
.macro dodailyevents
.byte 0x2d
.endm
@ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero.
.macro gettime
.macro gettime
.byte 0x2e
.endm
@@ -323,7 +323,7 @@
.endm
@ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
.macro waitse
.macro waitse
.byte 0x30
.endm
@@ -334,7 +334,7 @@
.endm
@ Blocks script execution until all currently-playing fanfares finish.
.macro waitfanfare
.macro waitfanfare
.byte 0x32
.endm
@@ -352,7 +352,7 @@
.endm
@ Crossfades the currently-playing song into the map's default song.
.macro fadedefaultbgm
.macro fadedefaultbgm
.byte 0x35
.endm
@@ -460,7 +460,7 @@
.endm
@ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
.macro getpartysize
.macro getpartysize
.byte 0x43
.endm
@@ -612,7 +612,7 @@
.endm
@ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on.
.macro faceplayer
.macro faceplayer
.byte 0x5a
.endm
@@ -679,17 +679,17 @@
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
.macro trainerbattlebegin
.macro trainerbattlebegin
.byte 0x5d
.endm
@ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c)
.macro gotopostbattlescript
.macro gotopostbattlescript
.byte 0x5e
.endm
@ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c)
.macro gotobeatenscript
.macro gotobeatenscript
.byte 0x5f
.endm
@@ -730,7 +730,7 @@
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn.
.macro waitmessage
.macro waitmessage
.byte 0x66
.endm
@@ -741,32 +741,32 @@
.endm
@ Closes the current message box.
.macro closemessage
.macro closemessage
.byte 0x68
.endm
@ Ceases movement for all Objects on-screen.
.macro lockall
.macro lockall
.byte 0x69
.endm
@ If the script was called by an Object, then that Object's movement will cease.
.macro lock
.macro lock
.byte 0x6a
.endm
@ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open.
.macro releaseall
.macro releaseall
.byte 0x6b
.endm
@ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open.
.macro release
.macro release
.byte 0x6c
.endm
@ Blocks script execution until the player presses any key.
.macro waitbuttonpress
.macro waitbuttonpress
.byte 0x6d
.endm
@@ -807,7 +807,7 @@
.endm
@ Nopped in Emerald.
.macro drawbox
.macro drawbox
.byte 0x72
.endm
@@ -838,7 +838,7 @@
.endm
@ Hides all boxes displayed with drawmonpic.
.macro erasemonpic
.macro erasemonpic
.byte 0x76
.endm
@@ -978,22 +978,22 @@
.endm
@ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01.
.macro choosecontestmon
.macro choosecontestmon
.byte 0x8b
.endm
@ Starts a contest. In FireRed, this command is a nop.
.macro startcontest
.macro startcontest
.byte 0x8c
.endm
@ Shows the results of a contest. In FireRed, this command is a nop.
.macro showcontestresults
.macro showcontestresults
.byte 0x8d
.endm
@ Starts a contest over a link connection. In FireRed, this command is a nop.
.macro contestlinktransfer
.macro contestlinktransfer
.byte 0x8e
.endm
@@ -1033,7 +1033,7 @@
.endm
@ Hides the secondary box spawned by showmoney.
.macro hidemoneybox
.macro hidemoneybox
.byte 0x94
.endm
@@ -1104,7 +1104,7 @@
.endm
@ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
.macro checkplayergender
.macro checkplayergender
.byte 0xa0
.endm
@@ -1125,7 +1125,7 @@
.endm
@ Queues a weather change to the default weather for the map.
.macro resetweather
.macro resetweather
.byte 0xa3
.endm
@@ -1136,7 +1136,7 @@
.endm
@ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather.
.macro doweather
.macro doweather
.byte 0xa5
.endm
@@ -1195,7 +1195,7 @@
.endm
@ Waits for the door animation started with opendoor or closedoor to finish.
.macro waitdooranim
.macro waitdooranim
.byte 0xae
.endm
@@ -1223,7 +1223,7 @@
.endm
@ In FireRed and Emerald, this command is a nop.
.macro showelevmenu
.macro showelevmenu
.byte 0xb2
.endm
@@ -1251,7 +1251,7 @@
.endm
@ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
.macro dowildbattle
.macro dowildbattle
.byte 0xb7
.endm
@@ -1335,7 +1335,7 @@
.endm
@ Blocks script execution until cry finishes.
.macro waitmoncry
.macro waitmoncry
.byte 0xc5
.endm
@@ -1359,17 +1359,17 @@
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
.macro unloadhelp
.macro unloadhelp
.byte 0xc9
.endm
@ After using this command, all standard message boxes will use the signpost frame.
.macro signmsg
.macro signmsg
.byte 0xca
.endm
@ Ends the effects of signmsg, returning message box frames to normal.
.macro normalmsg
.macro normalmsg
.byte 0xcb
.endm
@@ -1393,7 +1393,7 @@
.endm
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
.macro execram
.macro execram
.byte 0xcf
.endm
@@ -1424,7 +1424,7 @@
.2byte \unknown
.endm
.macro mossdeepgym2
.macro mossdeepgym2
.byte 0xd4
.endm
@@ -1434,7 +1434,7 @@
.2byte \var
.endm
.macro mossdeepgym4
.macro mossdeepgym4
.byte 0xd6
.endm
@@ -1446,15 +1446,15 @@
.2byte \word2
.endm
.macro cmdD8
.macro cmdD8
.byte 0xd8
.endm
.macro cmdD9
.macro cmdD9
.byte 0xd9
.endm
.macro hidebox2
.macro hidebox2
.byte 0xda
.endm
@@ -1519,7 +1519,7 @@
.endm
.macro case condition, dest
compare_var_to_value 0x8000, \condition
compare 0x8000, \condition
goto_eq \dest
.endm
+19 -19
View File
@@ -3180,7 +3180,7 @@ CB2_NewGame: @ 8085EF8
ldr r1, =gUnknown_03005DB0
movs r0, 0
str r0, [r1]
ldr r0, =gUnknown_030026F8
ldr r0, =gMain+0x438
bl do_load_map_stuff_loop
bl SetFieldVBlankCallback
ldr r0, =c1_overworld
@@ -3255,7 +3255,7 @@ c2_load_new_map: @ 8085FCC
thumb_func_start c2_load_new_map_2
c2_load_new_map_2: @ 8085FFC
push {lr}
ldr r0, =gUnknown_030026F8
ldr r0, =gMain+0x438
bl do_load_map_stuff_loop
bl SetFieldVBlankCallback
ldr r0, =c1_overworld
@@ -3317,7 +3317,7 @@ sub_8086074: @ 8086074
thumb_func_start c2_80567AC
c2_80567AC: @ 8086098
push {lr}
ldr r0, =gUnknown_030026F8
ldr r0, =gMain+0x438
bl map_loading_iteration_3
cmp r0, 0
beq _080860B8
@@ -3356,7 +3356,7 @@ _080860EA:
thumb_func_start c2_exit_to_overworld_2_local
c2_exit_to_overworld_2_local: @ 80860F4
push {lr}
ldr r0, =gUnknown_030026F8
ldr r0, =gMain+0x438
bl sub_8086638
cmp r0, 0
beq _0808610A
@@ -3375,7 +3375,7 @@ c2_exit_to_overworld_2_link: @ 8086118
bl sub_8087598
cmp r0, 0
bne _08086132
ldr r0, =gUnknown_030026F8
ldr r0, =gMain+0x438
bl map_loading_iteration_2_link
cmp r0, 0
beq _08086132
@@ -3395,7 +3395,7 @@ c2_8056854: @ 8086140
ldr r0, =c1_link_related
bl set_callback1
bl sub_8086C2C
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086174
@@ -3586,7 +3586,7 @@ sub_808631C: @ 808631C
bne _0808632E
bl CloseLink
_0808632E:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086348
@@ -3768,14 +3768,14 @@ _080864DA:
bl cur_mapheader_run_tileset_funcs_after_some_cpuset
b _08086506
_080864E0:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086506
bl sub_800E0E8
movs r0, 0
movs r1, 0
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
b _08086506
.pool
_080864FC:
@@ -4056,14 +4056,14 @@ _08086766:
bl cur_mapheader_run_tileset_funcs_after_some_cpuset
b _08086792
_0808676C:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086792
bl sub_800E0E8
movs r0, 0
movs r1, 0
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
b _08086792
.pool
_08086788:
@@ -4565,7 +4565,7 @@ _08086BCA:
thumb_func_start c1_link_related
c1_link_related: @ 8086BD8
push {r4,lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086BF2
@@ -4578,7 +4578,7 @@ c1_link_related: @ 8086BD8
_08086BF2:
ldr r0, =gUnknown_03005DB4
ldrb r4, [r0]
ldr r0, =gUnknown_03003020
ldr r0, =gLinkPartnersHeldKeys
adds r1, r4, 0
bl sub_8086F38
ldr r0, =gUnknown_03000E14
@@ -4610,7 +4610,7 @@ sub_8086C2C: @ 8086C2C
thumb_func_start sub_8086C40
sub_8086C40: @ 8086C40
push {lr}
ldr r0, =gUnknown_03003020
ldr r0, =gLinkPartnersHeldKeys
bl sub_808709C
pop {r0}
bx r0
@@ -4631,7 +4631,7 @@ c1_link_related_func_set: @ 8086C50
thumb_func_start sub_8086C64
sub_8086C64: @ 8086C64
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086C82
@@ -5029,7 +5029,7 @@ _08086FC0:
movs r0, 0x11
strh r0, [r1]
_08086FC6:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08086FFC
@@ -5926,7 +5926,7 @@ _08087666:
thumb_func_start sub_808766C
sub_808766C: @ 808766C
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _08087688
@@ -5946,11 +5946,11 @@ _0808768A:
thumb_func_start sub_8087690
sub_8087690: @ 8087690
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080876B0
ldr r0, =gUnknown_03003170
ldr r0, =gLink
ldr r1, =0x00000339
adds r0, r1
ldrb r0, [r0]
+3 -3
View File
@@ -11943,7 +11943,7 @@ _081B6558:
adds r1, r5, 0
_081B6572:
adds r3, r6, 0
bl ExecuteTableBasedItemEffect_
bl ExecuteTableBasedItemEffect
lsls r0, 24
lsrs r0, 24
pop {r4-r6}
@@ -16302,7 +16302,7 @@ _081B8BA8:
movs r0, 0x1
strb r0, [r1]
ldr r1, =gBattlerPartyIndexes
ldr r0, =gBankInMenu
ldr r0, =gBattlerInMenuId
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -16334,7 +16334,7 @@ _081B8BFC:
b _081B8C42
.pool
_081B8C20:
ldr r0, =gBankInMenu
ldr r0, =gBattlerInMenuId
ldrb r0, [r0]
ldr r1, =gBattlerPartyIndexes
lsls r0, 1
-2016
View File
File diff suppressed because it is too large Load Diff
-529
View File
@@ -1,529 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_806F160
sub_806F160: @ 806F160
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r6, r0, 0
ldrb r0, [r6]
lsls r0, 28
movs r4, 0
cmp r0, 0
beq _0806F1EA
_0806F176:
ldr r0, [r6, 0xC]
lsls r2, r4, 1
adds r1, r2, r4
lsls r1, 3
adds r0, r1, r0
ldr r3, =gUnknown_08329D98
adds r1, r3
ldm r1!, {r3,r5,r7}
stm r0!, {r3,r5,r7}
ldm r1!, {r3,r5,r7}
stm r0!, {r3,r5,r7}
movs r5, 0
ldrb r3, [r6, 0x1]
ldr r7, [r6, 0xC]
mov r9, r7
mov r8, r2
ldr r0, [r6, 0x10]
mov r12, r0
adds r1, r4, 0x1
mov r10, r1
cmp r5, r3
bcs _0806F1C8
mov r7, r12
ldr r1, [r6, 0x8]
lsls r0, r4, 2
adds r0, r1
ldr r2, [r0]
_0806F1AC:
adds r0, r4, 0
muls r0, r3
adds r0, r5
lsls r0, 3
adds r0, r7
lsls r1, r5, 11
adds r1, r2, r1
str r1, [r0]
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldrb r3, [r6, 0x1]
cmp r5, r3
bcc _0806F1AC
_0806F1C8:
mov r3, r8
adds r1, r3, r4
lsls r1, 3
add r1, r9
ldrb r0, [r6, 0x1]
muls r0, r4
lsls r0, 3
add r0, r12
str r0, [r1, 0xC]
mov r5, r10
lsls r0, r5, 16
lsrs r4, r0, 16
ldrb r0, [r6]
lsls r0, 28
lsrs r0, 28
cmp r4, r0
blt _0806F176
_0806F1EA:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_806F160
thumb_func_start sub_806F1FC
sub_806F1FC: @ 806F1FC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r4, r0, 0
ldrb r0, [r4]
lsls r0, 28
movs r3, 0
cmp r0, 0
beq _0806F296
ldr r0, =gUnknown_08329F28
mov r10, r0
_0806F216:
ldr r0, [r4, 0xC]
lsls r2, r3, 1
adds r1, r2, r3
lsls r1, 3
adds r1, r0
mov r0, r10
ldm r0!, {r5-r7}
stm r1!, {r5-r7}
ldm r0!, {r5-r7}
stm r1!, {r5-r7}
movs r5, 0
ldr r0, [r4, 0xC]
mov r8, r0
mov r12, r2
ldr r7, [r4, 0x10]
adds r1, r3, 0x1
mov r9, r1
ldrb r6, [r4, 0x1]
cmp r5, r6
bcs _0806F26A
adds r6, r7, 0
ldr r1, [r4, 0x8]
lsls r0, r3, 2
adds r0, r1
ldr r2, [r0]
_0806F248:
ldrb r0, [r4]
lsls r0, 28
lsrs r0, 28
adds r1, r3, 0
muls r1, r0
adds r1, r5
lsls r1, 3
adds r1, r6
lsls r0, r5, 11
adds r0, r2, r0
str r0, [r1]
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldrb r0, [r4, 0x1]
cmp r5, r0
bcc _0806F248
_0806F26A:
mov r5, r12
adds r1, r5, r3
lsls r1, 3
add r1, r8
ldrb r0, [r4]
lsls r0, 28
lsrs r0, 28
muls r0, r3
lsls r0, 3
adds r0, r7, r0
str r0, [r1, 0xC]
ldr r6, =gUnknown_082FF70C
str r6, [r1, 0x8]
strh r3, [r1, 0x2]
mov r7, r9
lsls r0, r7, 16
lsrs r3, r0, 16
ldrb r0, [r4]
lsls r0, 28
lsrs r0, 28
cmp r3, r0
blt _0806F216
_0806F296:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_806F1FC
thumb_func_start sub_806F2AC
sub_806F2AC: @ 806F2AC
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r6, r0, 24
lsls r1, 24
lsrs r5, r1, 24
movs r7, 0
movs r0, 0x1
ands r6, r0
movs r0, 0x14
bl AllocZeroed
adds r4, r0, 0
cmp r4, 0
bne _0806F2D0
movs r0, 0
b _0806F46E
_0806F2D0:
cmp r5, 0
beq _0806F2E6
cmp r5, 0x2
bne _0806F2E6
movs r0, 0x77
strb r0, [r4]
movs r0, 0x4
strb r0, [r4, 0x1]
movs r0, 0x21
strb r0, [r4, 0x3]
b _0806F30E
_0806F2E6:
ldrb r1, [r4]
movs r2, 0x10
negs r2, r2
adds r0, r2, 0
ands r0, r1
movs r1, 0x4
orrs r0, r1
movs r3, 0xF
ands r0, r3
movs r1, 0x40
orrs r0, r1
strb r0, [r4]
movs r0, 0x4
strb r0, [r4, 0x1]
ldrb r0, [r4, 0x3]
ands r2, r0
movs r0, 0x1
orrs r2, r0
ands r2, r3
strb r2, [r4, 0x3]
_0806F30E:
ldrb r1, [r4, 0x3]
lsls r1, 28
lsrs r1, 28
ldrb r0, [r4]
lsls r0, 28
lsrs r0, 15
muls r0, r1
bl AllocZeroed
str r0, [r4, 0x4]
ldrb r0, [r4]
lsls r0, 28
lsrs r0, 23
bl AllocZeroed
adds r1, r0, 0
str r1, [r4, 0x8]
ldr r2, [r4, 0x4]
cmp r2, 0
beq _0806F33A
cmp r1, 0
bne _0806F344
_0806F33A:
movs r0, 0x1
orrs r7, r0
lsls r6, 2
mov r8, r6
b _0806F378
_0806F344:
ldrb r0, [r4]
lsls r0, 28
movs r3, 0
lsls r6, 2
mov r8, r6
cmp r0, 0
beq _0806F378
adds r6, r1, 0
adds r5, r2, 0
_0806F356:
lsls r2, r3, 2
adds r2, r6
ldrb r0, [r4, 0x3]
lsls r0, 28
lsrs r0, 28
lsls r1, r3, 13
muls r0, r1
adds r0, r5, r0
str r0, [r2]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
ldrb r0, [r4]
lsls r0, 28
lsrs r0, 28
cmp r3, r0
blt _0806F356
_0806F378:
ldrb r1, [r4]
lsls r1, 28
lsrs r1, 28
lsls r0, r1, 1
adds r0, r1
lsls r0, 3
bl AllocZeroed
str r0, [r4, 0xC]
ldrb r1, [r4]
lsls r1, 28
lsrs r1, 28
ldrb r0, [r4, 0x1]
lsls r0, 3
muls r0, r1
bl AllocZeroed
adds r1, r0, 0
str r1, [r4, 0x10]
ldr r0, [r4, 0xC]
cmp r0, 0
beq _0806F3A8
cmp r1, 0
bne _0806F3B2
_0806F3A8:
movs r0, 0x2
orrs r7, r0
lsls r0, r7, 24
lsrs r7, r0, 24
b _0806F400
_0806F3B2:
movs r3, 0
ldrb r0, [r4, 0x1]
ldrb r1, [r4]
lsls r1, 28
lsrs r1, 28
muls r0, r1
cmp r3, r0
bge _0806F3E2
movs r2, 0x80
lsls r2, 4
_0806F3C6:
ldr r1, [r4, 0x10]
lsls r0, r3, 3
adds r0, r1
strh r2, [r0, 0x4]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
ldrb r1, [r4, 0x1]
ldrb r0, [r4]
lsls r0, 28
lsrs r0, 28
muls r0, r1
cmp r3, r0
blt _0806F3C6
_0806F3E2:
ldrb r0, [r4, 0x3]
lsrs r0, 4
cmp r0, 0
blt _0806F3FA
cmp r0, 0x1
ble _0806F3FA
cmp r0, 0x2
bne _0806F3FA
adds r0, r4, 0
bl sub_806F1FC
b _0806F400
_0806F3FA:
adds r0, r4, 0
bl sub_806F160
_0806F400:
movs r0, 0x2
ands r0, r7
cmp r0, 0
beq _0806F424
ldr r0, [r4, 0x10]
cmp r0, 0
beq _0806F416
bl Free
movs r0, 0
str r0, [r4, 0x10]
_0806F416:
ldr r0, [r4, 0xC]
cmp r0, 0
beq _0806F424
bl Free
movs r0, 0
str r0, [r4, 0xC]
_0806F424:
movs r0, 0x1
ands r0, r7
cmp r0, 0
beq _0806F448
ldr r0, [r4, 0x8]
cmp r0, 0
beq _0806F43A
bl Free
movs r0, 0
str r0, [r4, 0x8]
_0806F43A:
ldr r0, [r4, 0x4]
cmp r0, 0
beq _0806F448
bl Free
movs r0, 0
str r0, [r4, 0x4]
_0806F448:
cmp r7, 0
beq _0806F45E
adds r0, r4, 0
movs r1, 0
movs r2, 0x14
bl memset
adds r0, r4, 0
bl Free
b _0806F468
_0806F45E:
movs r0, 0xA3
strb r0, [r4, 0x2]
ldr r0, =gUnknown_020249B4
add r0, r8
str r4, [r0]
_0806F468:
ldr r0, =gUnknown_020249B4
add r0, r8
ldr r0, [r0]
_0806F46E:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_806F2AC
thumb_func_start sub_806F47C
sub_806F47C: @ 806F47C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
ands r0, r1
ldr r1, =gUnknown_020249B4
lsls r0, 2
adds r0, r1
ldr r4, [r0]
cmp r4, 0
beq _0806F4F0
ldrb r0, [r4, 0x2]
cmp r0, 0xA3
beq _0806F4A8
adds r0, r4, 0
movs r1, 0
movs r2, 0x14
bl memset
b _0806F4F0
.pool
_0806F4A8:
ldr r0, [r4, 0x10]
cmp r0, 0
beq _0806F4B6
bl Free
movs r0, 0
str r0, [r4, 0x10]
_0806F4B6:
ldr r0, [r4, 0xC]
cmp r0, 0
beq _0806F4C4
bl Free
movs r0, 0
str r0, [r4, 0xC]
_0806F4C4:
ldr r0, [r4, 0x8]
cmp r0, 0
beq _0806F4D2
bl Free
movs r0, 0
str r0, [r4, 0x8]
_0806F4D2:
ldr r0, [r4, 0x4]
cmp r0, 0
beq _0806F4E0
bl Free
movs r0, 0
str r0, [r4, 0x4]
_0806F4E0:
adds r0, r4, 0
movs r1, 0
movs r2, 0x14
bl memset
adds r0, r4, 0
bl Free
_0806F4F0:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_806F47C
thumb_func_start sub_806F4F8
sub_806F4F8: @ 806F4F8
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r3, r1, 24
ldr r2, =gUnknown_020249B4
movs r1, 0x1
ands r0, r1
lsls r0, 2
adds r0, r2
ldr r1, [r0]
ldrb r0, [r1, 0x2]
cmp r0, 0xA3
beq _0806F51C
movs r0, 0
b _0806F530
.pool
_0806F51C:
ldrb r0, [r1]
lsls r0, 28
lsrs r0, 28
cmp r3, r0
blt _0806F528
movs r3, 0
_0806F528:
ldr r0, [r1, 0x8]
lsls r1, r3, 2
adds r1, r0
ldr r0, [r1]
_0806F530:
pop {r1}
bx r1
thumb_func_end sub_806F4F8
.align 2, 0 @ Don't pad with nop.
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1173,7 +1173,7 @@ sub_81C47B4: @ 81C47B4
ands r0, r1
strb r0, [r7, 0x5]
ldrh r0, [r6, 0x2]
bl IsPokeSpriteNotFlipped
bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _081C4828
@@ -1221,7 +1221,7 @@ sub_81C4844: @ 81C4844
cmp r0, 0x1
beq _081C487E
ldrh r0, [r4, 0x2E]
bl IsPokeSpriteNotFlipped
bl IsMonSpriteNotFlipped
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
+11 -11
View File
@@ -25789,7 +25789,7 @@ sub_81D3B54: @ 81D3B54
adds r5, r1, 0
bl sub_81D41A0
movs r7, 0x2
ldr r4, =gUnknown_03003144
ldr r4, =gShouldAdvanceLinkState
_081D3B64:
bl sub_81D4170
ldr r0, =gUnknown_030012E2
@@ -25857,7 +25857,7 @@ sub_81D3BE8: @ 81D3BE8
adds r5, r0, 0
bl sub_81D41A0
movs r6, 0x2
ldr r4, =gUnknown_03003144
ldr r4, =gShouldAdvanceLinkState
_081D3BF6:
bl sub_81D4170
ldr r0, =gUnknown_030012E2
@@ -26006,7 +26006,7 @@ sub_81D3D34: @ 81D3D34
movs r1, 0x8
orrs r0, r1
strh r0, [r2]
ldr r0, =gUnknown_03003144
ldr r0, =gShouldAdvanceLinkState
strb r3, [r0]
ldr r0, =gUnknown_030012E6
strh r3, [r0]
@@ -26062,7 +26062,7 @@ _081D3DC8:
beq _081D3DD8
bl sub_81D413C
_081D3DD8:
ldr r0, =gUnknown_03003144
ldr r0, =gShouldAdvanceLinkState
ldrb r0, [r0]
cmp r0, 0x2
beq _081D3DE2
@@ -26080,7 +26080,7 @@ _081D3DE8:
movs r0, 0x3
strb r0, [r1, 0x1]
_081D3DFC:
ldr r0, =gUnknown_03003144
ldr r0, =gShouldAdvanceLinkState
ldrb r0, [r0]
cmp r0, 0x2
bne _081D3E18
@@ -28050,7 +28050,7 @@ _081D4E12:
beq _081D4E1C
movs r5, 0x3
_081D4E1C:
ldr r1, =gUnknown_03003144
ldr r1, =gShouldAdvanceLinkState
movs r0, 0
strb r0, [r1]
adds r0, r5, 0
@@ -28074,7 +28074,7 @@ sub_81D4E30: @ 81D4E30
strh r0, [r1]
bl OpenLink
movs r0, 0x1
bl sub_800B330
bl SetSuppressLinkErrorMessage
pop {r0}
bx r0
.pool
@@ -28090,7 +28090,7 @@ sub_81D4E60: @ 81D4E60
strh r0, [r1]
movs r0, 0
strh r0, [r2]
ldr r0, =gUnknown_03003174
ldr r0, =gLink+0x4
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [sp, 0x4]
@@ -28157,7 +28157,7 @@ sub_81D4EE4: @ 81D4EE4
lsrs r0, 24
cmp r0, 0x2
bhi _081D4F08
bl sub_800B33C
bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _081D4F08
@@ -28256,7 +28256,7 @@ _081D4FB6:
ldrb r0, [r0]
cmp r0, 0
beq _081D4FE6
bl sub_800A23C
bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
cmp r0, 0
beq _081D4FE0
@@ -28665,7 +28665,7 @@ _081D5360:
strb r0, [r4, 0x8]
b _081D548A
_081D536A:
bl sub_800B33C
bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _081D537A
+4 -4
View File
@@ -621,7 +621,7 @@ _080E726C:
bne _080E730A
movs r0, 0x4
strh r0, [r5]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080E7296
@@ -664,7 +664,7 @@ _080E72C0:
ldr r0, [r0]
bl Free
bl sub_808729C
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080E72F8
@@ -747,7 +747,7 @@ _080E7384:
movs r0, 0xC8
lsls r0, 1
strh r0, [r5, 0x8]
bl sub_8009FAC
bl ClearLinkCallback_2
b _080E7566
.pool
_080E73A0:
@@ -2393,7 +2393,7 @@ _080E80C0:
lsls r0, 24
cmp r0, 0
bne _080E810A
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080E80E8
+1
View File
@@ -448,4 +448,5 @@ _081357EE:
.pool
thumb_func_end sub_81357BC
.align 2, 0 @ Don't pad with nop.
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -366,7 +366,7 @@ sub_8034EFC: @ 8034EFC
movs r0, 0
strh r0, [r1]
lsls r1, r5, 3
ldr r2, =gUnknown_030022F8
ldr r2, =gMain+0x38
mov r9, r2
add r1, r9
mov r0, r8
+1 -1
View File
@@ -1100,7 +1100,7 @@ sub_80F90DC: @ 80F90DC
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
_080F90FE:
pop {r0}
bx r0
+2 -2
View File
@@ -1615,7 +1615,7 @@ _080A0506:
thumb_func_start sub_80A0514
sub_80A0514: @ 80A0514
push {lr}
ldr r0, =gUnknown_030026F8
ldr r0, =gMain+0x438
bl sub_80A03E4
cmp r0, 0
beq _080A052E
@@ -1712,7 +1712,7 @@ _080A05AC:
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080A0620
+27 -27
View File
@@ -136,7 +136,7 @@ _08077258:
thumb_func_start sub_8077260
sub_8077260: @ 8077260
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077280
@@ -410,7 +410,7 @@ _080774B2:
ldr r0, [r0]
adds r0, 0xA8
strb r2, [r0]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077528
@@ -511,7 +511,7 @@ _080775E8:
beq _080775F2
b _08077B46
_080775F2:
bl sub_800A23C
bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -532,7 +532,7 @@ _08077600:
ldr r0, [r0]
adds r0, 0xA8
strb r2, [r0]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0807762A
@@ -544,7 +544,7 @@ _0807762A:
b _08077B46
.pool
_08077648:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077680
@@ -564,7 +564,7 @@ _0807765C:
bl sub_800E0E8
movs r0, 0
movs r1, 0
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
b _08077B46
.pool
_08077680:
@@ -1183,14 +1183,14 @@ _08077C28:
b _080780D8
.pool
_08077C3C:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077C50
bl sub_800E0E8
movs r0, 0
movs r1, 0
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
_08077C50:
ldr r1, =gMain
movs r3, 0x87
@@ -1781,7 +1781,7 @@ sub_807816C: @ 807816C
adds r0, 0x7E
ldrb r0, [r0]
strb r0, [r1, 0x1]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080781B4
@@ -1810,7 +1810,7 @@ sub_80781C8: @ 80781C8
ldr r5, =gMain
ldr r0, =sub_80773AC
str r0, [r5, 0x8]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08078220
@@ -4005,7 +4005,7 @@ sub_8079490: @ 8079490
ands r0, r1
cmp r0, 0
bne _080794C4
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080794B4
@@ -4030,7 +4030,7 @@ _080794C4:
thumb_func_start sub_80794CC
sub_80794CC: @ 80794CC
push {lr}
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08079518
@@ -7026,7 +7026,7 @@ _0807AC92:
cmp r1, r0
bls _0807ACC4
bl CloseLink
ldr r0, =c2_800ACD4
ldr r0, =CB2_LinkError
bl SetMainCallback2
ldr r1, [r4]
adds r3, r1, 0
@@ -7155,7 +7155,7 @@ _0807AD94:
bl HandleLoadSpecialPokePic_DontHandleDeoxys
_0807ADB2:
mov r0, r8
bl sub_806E794
bl GetMonSpritePalStruct
bl LoadCompressedObjectPalette
ldr r0, =gUnknown_020322A0
ldr r1, [r0]
@@ -7171,7 +7171,7 @@ _0807ADB2:
.pool
_0807ADE0:
mov r0, r8
bl sub_806E794
bl GetMonSpritePalStruct
ldrh r0, [r0, 0x4]
adds r1, r4, 0
bl sub_806A068
@@ -7408,7 +7408,7 @@ _0807B006:
beq _0807B014
b _0807B116
_0807B014:
bl sub_800A23C
bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -7508,14 +7508,14 @@ _0807B0F0:
ands r0, r1
cmp r0, 0
bne _0807B116
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807B110
bl sub_800E0E8
movs r0, 0
movs r1, 0
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
_0807B110:
ldr r0, =sub_807EA2C
bl SetMainCallback2
@@ -9589,7 +9589,7 @@ _0807C66C:
ldr r0, [r5]
adds r0, 0xF0
ldrh r0, [r0]
bl IsPokeSpriteNotFlipped
bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _0807C6E4
@@ -11663,7 +11663,7 @@ _0807DA74:
ldr r0, [r5]
adds r0, 0xF0
ldrh r0, [r0]
bl IsPokeSpriteNotFlipped
bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _0807DAEC
@@ -12857,7 +12857,7 @@ _0807E4AE:
_0807E4B2:
strb r0, [r1]
_0807E4B4:
bl sub_800B33C
bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807E4C2
@@ -13832,7 +13832,7 @@ _0807EDC0:
movs r0, 0x15
bl IncrementGameStat
_0807EDCE:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807EDF6
@@ -14045,7 +14045,7 @@ _0807EFA4:
lsrs r0, 24
cmp r0, 0x1
bne _0807F03A
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807EFD8
@@ -14072,7 +14072,7 @@ _0807EFE4:
b _0807F03A
.pool
_0807EFF0:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807F028
@@ -14100,7 +14100,7 @@ _0807F028:
ldr r0, =c2_080543C4
bl SetMainCallback2
_0807F03A:
bl sub_800B33C
bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807F048
@@ -14142,7 +14142,7 @@ c2_080543C4: @ 807F068
ldr r0, [r4]
bl Free
str r5, [r4]
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807F0B6
@@ -14884,7 +14884,7 @@ _0807F6F8:
ldr r0, =c2_080543C4
bl SetMainCallback2
_0807F70C:
bl sub_800B33C
bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807F71A
+4 -4
View File
@@ -187,7 +187,7 @@ _080C2830:
bl sub_80C4630
b _080C28D4
_080C2836:
ldr r0, =gLinkVSyncDisabled
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0x1
bne _080C2852
@@ -198,7 +198,7 @@ _080C2836:
bl sub_800E0E8
movs r0, 0xE6
movs r1, 0x96
bl sub_800DFB4
bl CreateWirelessStatusIndicatorSprite
_080C2852:
movs r6, 0x1
negs r6, r6
@@ -4754,7 +4754,7 @@ sub_80C4FF0: @ 80C4FF0
ldr r1, =0x00000583
adds r0, r1
ldrb r0, [r0]
bl sub_806EFF0
bl FacilityClassToPicIndex
lsls r0, 16
lsrs r0, 16
ldr r4, =gUnknown_0856FB18
@@ -4795,7 +4795,7 @@ _080C5060:
adds r0, r1
adds r0, r2
ldrb r0, [r0]
bl sub_806EFF0
bl FacilityClassToPicIndex
lsls r0, 16
lsrs r0, 16
ldr r4, =gUnknown_0856FB18
+9
View File
@@ -0,0 +1,9 @@
gPreBattleCallback1
gBattleMainFunc
gBattleResults
gLeveledUpInBattle
gBattlerControllerFuncs
gHealthboxSpriteIds
gMultiUsePlayerCursor
gNumberOfMovesToChoose
gUnknown_03005D7C
+1
View File
@@ -0,0 +1 @@
gFieldCallback
+37
View File
@@ -0,0 +1,37 @@
gLinkPartnersHeldKeys
gLinkDebugSeed
gLocalLinkPlayerBlock
gLinkErrorOccurred
gLinkDebugFlags
gFiller_03003074
gRemoteLinkPlayersNotReceived
gBlockReceivedStatus
gFiller_03003080
gLinkHeldKeys
gRecvCmds
gLinkStatus
gUnknown_030030E4
gUnknown_030030E8
gUnknown_030030EC
gUnknown_030030F0
gUnknown_030030F4
gSuppressLinkErrorMessage
gWirelessCommType
gSavedLinkPlayerCount
gSendCmd
gSavedMultiplayerId
gReceivedRemoteLinkPlayers
gLinkTestBGInfo
gLinkCallback
gShouldAdvanceLinkState
gLinkTestBlockChecksums
gBlockRequestType
gFiller_03003154
gFiller_03003158
gFiller_0300315c
gLastSendQueueCount
gLink
gLastRecvQueueCount
gLinkSavedIme
gFiller_03004138
gFiller_0300413C
+2
View File
@@ -0,0 +1,2 @@
gUnknown_03004140
gUnknown_03005000
+9
View File
@@ -0,0 +1,9 @@
gKeyRepeatStartDelay
gLinkTransferringData
gMain
gKeyRepeatContinueDelay
gSoftResetDisabled
gIntrTable
gLinkVSyncDisabled
IntrMain_Buffer
gPcmDmaCounter
+5
View File
@@ -0,0 +1,5 @@
filler_03002F58
filler_03002F5C
gUnknown_03002F60
filler_03002F64
gUnknown_03002F70
-171
View File
@@ -1,171 +0,0 @@
@ battle types
.set BATTLE_TYPE_DOUBLE , 0x0001
.set BATTLE_TYPE_LINK, 0x0002
.set BATTLE_TYPE_WILD, 0x0004
.set BATTLE_TYPE_TRAINER, 0x0008
.set BATTLE_TYPE_FIRST_BATTLE, 0x0010
.set BATTLE_TYPE_20, 0x0020
.set BATTLE_TYPE_MULTI, 0x0040
.set BATTLE_TYPE_SAFARI, 0x0080
.set BATTLE_TYPE_BATTLE_TOWER, 0x0100
.set BATTLE_TYPE_WALLY_TUTORIAL, 0x0200
.set BATTLE_TYPE_ROAMER, 0x0400
.set BATTLE_TYPE_EREADER_TRAINER, 0x0800
.set BATTLE_TYPE_KYOGRE_GROUDON, 0x1000
.set BATTLE_TYPE_LEGENDARY, 0x2000
.set BATTLE_TYPE_REGI, 0x4000
.set BATTLE_TYPE_TWO_OPPONENTS, 0x8000
.set BATTLE_TYPE_DOME, 0x10000
.set BATTLE_TYPE_PALACE, 0x20000
.set BATTLE_TYPE_ARENA, 0x40000
.set BATTLE_TYPE_FACTORY, 0x80000
.set BATTLE_TYPE_PIKE, 0x100000
.set BATTLE_TYPE_PYRAMID, 0x200000
.set BATTLE_TYPE_INGAME_PARTNER, 0x400000
.set BATTLE_TYPE_x800000, 0x800000
.set BATTLE_TYPE_RECORDED, 0x1000000
.set BATTLE_TYPE_x2000000, 0x2000000
.set BATTLE_TYPE_x4000000, 0x4000000
.set BATTLE_TYPE_SECRET_BASE, 0x8000000
.set BATTLE_TYPE_GROUDON, 0x10000000
.set BATTLE_TYPE_KYOGRE, 0x20000000
.set BATTLE_TYPE_RAYQUAZA, 0x40000000
.set BATTLE_TYPE_x80000000, 0x80000000
@ battle outcomes
.set WON, 0x1
.set LOST, 0x2
.set DREW, 0x3
.set RAN, 0x4
.set PLAYER_TELEPORTED, 0x5
.set MON_FLED, 0x6
.set CAUGHT, 0x7
.set OUT_OF_BALLS, 0x8
.set FORFEITED, 0x9
.set OPPONENT_TELEPORTED, 0xA
@ identities
.set B_POSITION_PLAYER_LEFT, 0
.set B_POSITION_OPPONENT_LEFT, 1
.set B_POSITION_PLAYER_RIGHT, 2
.set B_POSITION_OPPONENT_RIGHT, 3
@ status 1
.set STATUS1_SLEEP, 0x7
.set STATUS1_POISON, 0x8
.set STATUS1_BURN, 0x10
.set STATUS1_FREEZE, 0x20
.set STATUS1_PARALYSIS, 0x40
.set STATUS1_TOXIC_POISON, 0x80
.set STATUS1_TOXIC_COUNTER, 0xF00
.set STATUS1_ANY, STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON
@ status 2
.set STATUS2_CONFUSION, 0x00000007
.set STATUS2_FLINCHED, 0x00000008
.set STATUS2_UPROAR, 0x00000070
.set STATUS2_BIDE, 0x00000300
.set STATUS2_LOCK_CONFUSE, 0x00000C00
.set STATUS2_MULTIPLETURNS, 0x00001000
.set STATUS2_WRAPPED, 0x0000E000
.set STATUS2_INFATUATION, 0x000F0000
.set STATUS2_FOCUS_ENERGY, 0x00100000
.set STATUS2_TRANSFORMED, 0x00200000
.set STATUS2_RECHARGE, 0x00400000
.set STATUS2_RAGE, 0x00800000
.set STATUS2_SUBSTITUTE, 0x01000000
.set STATUS2_DESTINY_BOND, 0x02000000
.set STATUS2_ESCAPE_PREVENTION, 0x04000000
.set STATUS2_NIGHTMARE, 0x08000000
.set STATUS2_CURSED, 0x10000000
.set STATUS2_FORESIGHT, 0x20000000
.set STATUS2_DEFENSE_CURL, 0x40000000
.set STATUS2_TORMENT, 0x80000000
@ status 3
.set STATUS3_LEECHSEED_BANK, 0x3
.set STATUS3_LEECHSEED, 0x4
.set STATUS3_ALWAYS_HITS, 0x18
.set STATUS3_PERISH_SONG, 0x20
.set STATUS3_ON_AIR, 0x40
.set STATUS3_UNDERGROUND, 0x80
.set STATUS3_MINIMIZED, 0x100
.set STATUS3_ROOTED, 0x400
.set STATUS3_CHARGED_UP, 0x200
.set STATUS3_YAWN, 0x1800
.set STATUS3_IMPRISONED_OTHERS, 0x2000
.set STATUS3_GRUDGE, 0x4000
.set STATUS3_CANT_SCORE_A_CRIT, 0x8000
.set STATUS3_MUDSPORT, 0x10000
.set STATUS3_WATERSPORT, 0x20000
.set STATUS3_UNDERWATER, 0x40000
.set STATUS3_INTIMIDATE_POKES, 0x80000
.set STATUS3_TRACE, 0x100000
@ side status
.set SIDE_STATUS_REFLECT, 0x1
.set SIDE_STATUS_LIGHTSCREEN, 0x2
.set SIDE_STATUS_X4, 0x4
.set SIDE_STATUS_SPIKES, 0x10
.set SIDE_STATUS_SAFEGUARD, 0x20
.set SIDE_STATUS_FUTUREATTACK, 0x40
.set SIDE_STATUS_MIST, 0x100
.set SIDE_STATUS_SPIKES_DAMAGED, 0x200
@ stats
.set HP, 0x0
.set ATK, 0x1
.set DEF, 0x2
.set SPEED, 0x3
.set SPATK, 0x4
.set SPDEF, 0x5
.set ACC, 0x6
.set EVASION, 0x7
@ weather flags
.set WEATHER_RAIN_TEMPORARY, 0x01
.set WEATHER_RAIN_DOWNPOUR, 0x02
.set WEATHER_RAIN_PERMANENT, 0x04
.set WEATHER_SANDSTORM_TEMPORARY, 0x08
.set WEATHER_SANDSTORM_PERMANENT, 0x10
.set WEATHER_SUN_TEMPORARY, 0x20
.set WEATHER_SUN_PERMANENT, 0x40
.set WEATHER_HAIL, 0x80
@ hitmarker
.set HITMARKER_x10, 0x00000010
.set HITMARKER_x20, 0x00000020
.set HITMARKER_DESTINYBOND, 0x00000040
.set HITMARKER_NO_ANIMATIONS, 0x00000080
.set HITMARKER_IGNORE_SUBSTITUTE, 0x00000100
.set HITMARKER_NO_ATTACKSTRING, 0x00000200
.set HITMARKER_ATTACKSTRING_PRINTED, 0x00000400
.set HITMARKER_NO_PPDEDUCT, 0x00000800
.set HITMARKER_PURSUIT_TRAP, 0x00001000
.set HITMARKER_IGNORE_SAFEGUARD, 0x00002000
.set HITMARKER_SYNCHRONISE_EFFECT, 0x00004000
.set HITMARKER_RUN, 0x00008000
.set HITMARKER_IGNORE_ON_AIR, 0x00010000
.set HITMARKER_IGNORE_UNDERGROUND, 0x00020000
.set HITMARKER_IGNORE_UNDERWATER, 0x00040000
.set HITMARKER_UNABLE_TO_USE_MOVE, 0x00080000
.set HITMARKER_x100000, 0x00100000
.set HITMARKER_x200000, 0x00200000
.set HITMARKER_x400000, 0x00400000
.set HITMARKER_x800000, 0x00800000
.set HITMARKER_GRUDGE, 0x01000000
.set HITMARKER_OBEYS, 0x02000000
.set HITMARKER_x4000000, 0x04000000
.set HITMARKER_x8000000, 0x08000000
@ move flags
.set MOVE_RESULT_MISSED, 0x1
.set MOVE_RESULT_SUPER_EFFECTIVE, 0x2
.set MOVE_RESULT_NOT_VERY_EFFECTIVE, 0x4
.set MOVE_RESULT_DOESNT_AFFECT_FOE, 0x8
.set MOVE_RESULT_ONE_HIT_KO, 0x10
.set MOVE_RESULT_FAILED, 0x20
.set MOVE_RESULT_FOE_ENDURED, 0x40
.set MOVE_RESULT_FOE_HUNG_ON, 0x80
.set MOVE_RESULT_NO_EFFECT, (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)
-169
View File
@@ -1,169 +0,0 @@
@ animation ids
.set ANIM_CASTFORM_CHANGE, 0x0
.set ANIM_STATS_CHANGE, 0x1
.set ANIM_SUBSTITUTE_FADE, 0x2
.set ANIM_SUBSTITUTE_APPEAR, 0x3
.set ANIM_x4, 0x4
.set ANIM_ITEM_KNOCKOFF, 0x5
.set ANIM_TURN_TRAP, 0x6
.set ANIM_ITEM_EFFECT, 0x7
.set ANIM_SMOKEBALL_ESCAPE, 0x8
.set ANIM_HANGED_ON, 0x9
.set ANIM_RAIN_CONTINUES, 0xA
.set ANIM_SUN_CONTINUES, 0xB
.set ANIM_SANDSTORM_CONTINUES, 0xC
.set ANIM_HAIL_CONTINUES, 0xD
.set ANIM_LEECH_SEED_DRAIN, 0xE
.set ANIM_MON_HIT, 0xF
.set ANIM_ITEM_STEAL, 0x10
.set ANIM_SNATCH_MOVE, 0x11
.set ANIM_FUTURE_SIGHT_HIT, 0x12
.set ANIM_DOOM_DESIRE_HIT, 0x13
.set ANIM_x14, 0x14
.set ANIM_INGRAIN_HEAL, 0x15
.set ANIM_WISH_HEAL, 0x16
@ atk 80
.set ATK80_DMG_CHANGE_SIGN, 0x0
.set ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP, 0x1
.set ATK80_DMG_DOUBLED, 0x2
@ compare operands
.set EQUAL, 0x0
.set NOT_EQUAL, 0x1
.set GREATER_THAN, 0x2
.set LESS_THAN, 0x3
.set COMMON_BITS, 0x4
.set NO_COMMON_BITS, 0x5
@ move effects
.set EFFECT_SLEEP, 0x1
.set EFFECT_POISON, 0x2
.set EFFECT_BURN, 0x3
.set EFFECT_FREEZE, 0x4
.set EFFECT_PARALYSIS, 0x5
.set EFFECT_TOXIC, 0x6
.set EFFECT_CONFUSION, 0x7
.set EFFECT_FLINCH, 0x8
.set EFFECT_TRI_ATTACK, 0x9
.set EFFECT_UPROAR, 0xA
.set EFFECT_PAYDAY, 0xB
.set EFFECT_CHARGING, 0xC
.set EFFECT_WRAP, 0xD
.set EFFECT_RECOIL_25, 0xE
.set EFFECT_ATK_PLUS_1, 0xF
.set EFFECT_DEF_PLUS_1, 0x10
.set EFFECT_SPD_PLUS_1, 0x11
.set EFFECT_SP_ATK_PLUS_1, 0x12
.set EFFECT_SP_DEF_PLUS_1, 0x13
.set EFFECT_ACC_PLUS_1, 0x14
.set EFFECT_EVS_PLUS_1, 0x15
.set EFFECT_ATK_MINUS_1, 0x16
.set EFFECT_DEF_MINUS_1, 0x17
.set EFFECT_SPD_MINUS_1, 0x18
.set EFFECT_SP_ATK_MINUS_1, 0x19
.set EFFECT_SP_DEF_MINUS_1, 0x1A
.set EFFECT_ACC_MINUS_1, 0x1B
.set EFFECT_EVS_MINUS_1, 0x1C
.set EFFECT_RECHARGE, 0x1D
.set EFFECT_RAGE, 0x1E
.set EFFECT_STEAL_ITEM, 0x1F
.set EFFECT_PREVENT_ESCAPE, 0x20
.set EFFECT_NIGHTMARE, 0x21
.set EFFECT_ALL_STATS_UP, 0x22
.set EFFECT_RAPIDSPIN, 0x23
.set EFFECT_REMOVE_PARALYSIS, 0x24
.set EFFECT_ATK_DEF_DOWN, 0x25
.set EFFECT_RECOIL_33_PARALYSIS, 0x26
.set EFFECT_ATK_PLUS_2, 0x27
.set EFFECT_DEF_PLUS_2, 0x28
.set EFFECT_SPD_PLUS_2, 0x29
.set EFFECT_SP_ATK_PLUS_2, 0x2A
.set EFFECT_SP_DEF_PLUS_2, 0x2B
.set EFFECT_ACC_PLUS_2, 0x2C
.set EFFECT_EVS_PLUS_2, 0x2D
.set EFFECT_ATK_MINUS_2, 0x2E
.set EFFECT_DEF_MINUS_2, 0x2F
.set EFFECT_SPD_MINUS_2, 0x30
.set EFFECT_SP_ATK_MINUS_2, 0x31
.set EFFECT_SP_DEF_MINUS_2, 0x32
.set EFFECT_ACC_MINUS_2, 0x33
.set EFFECT_EVS_MINUS_2, 0x34
.set EFFECT_THRASH, 0x35
.set EFFECT_KNOCK_OFF, 0x36
.set EFFECT_NOTHING_37, 0x37
.set EFFECT_NOTHING_38, 0x38
.set EFFECT_NOTHING_39, 0x39
.set EFFECT_NOTHING_3A, 0x3A
.set EFFECT_SP_ATK_TWO_DOWN, 0x3B
.set EFFECT_NOTHING_3C, 0x3C
.set EFFECT_NOTHING_3D, 0x3D
.set EFFECT_NOTHING_3E, 0x3E
.set EFFECT_NOTHING_3F, 0x3F
.set AFFECTS_USER, 0x40
.set CERTAIN, 0x80
@ accuracy calc
.set NO_ACC_CALC, 0xFFFE
.set NO_ACC_CALC_CHECK_LOCK_ON, 0xFFFF
.set ACC_CURR_MOVE, 0x0
@ bank values
.set TARGET, 0x0
.set ATTACKER, 0x1
.set EFFECT_BANK, 0x2
.set GBANK_1, 0x3
.set ATTACKER_WITH_PARTNER, 0x4 @ only for cmd98
.set BANK0, 0x7
.set SCRIPTING_BANK, 0xA
.set OPPONENT1, 0xC
@ various
.set VARIOUS_CANCEL_MULTI_TURN_MOVES, 0
.set VARIOUS_SET_MAGIC_COAT_TARGET, 1
.set VARIOUS_IS_RUNNING_IMPOSSIBLE, 2
.set VARIOUS_GET_MOVE_TARGET, 3
.set VARIOUS_RESET_INTIMIDATE_TRACE_BITS, 5
.set VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP, 6
.set VARIOUS_EMIT_YESNOBOX, 13
.set VARIOUS_WAIT_CRY, 18
.set VARIOUS_RETURN_OPPONENT_MON1, 19
.set VARIOUS_RETURN_OPPONENT_MON2, 20
.set VARIOUS_SET_TELEPORT_OUTCOME, 25
.set VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC, 26
@ jumpifcant switch flag argument
.set ATK4F_DONT_CHECK_STATUSES, 0x80
@ battle scripting struct
.equiv sPAINSPLIT_HP, gBattleScripting
.equiv sBIDE_DMG, gBattleScripting + 4
.equiv sMULTIHIT_STRING, gBattleScripting + 8
.equiv sDMG_MULTIPLIER, gBattleScripting + 0xE
.equiv sTWOTURN_STRINGID, gBattleScripting + 0xF
.equiv sANIM_ARG1, gBattleScripting + 0x10
.equiv sANIM_ARG2, gBattleScripting + 0x11
.equiv sTRIPLE_KICK_POWER, gBattleScripting + 0x12
.equiv sMOVEEND_STATE, gBattleScripting + 0x14
.equiv sBANK_WITH_ABILITY, gBattleScripting + 0x15
.equiv sMULTIHIT_EFFECT, gBattleScripting + 0x16
.equiv sBANK, gBattleScripting + 0x17
.equiv sANIM_TURN, gBattleScripting + 0x18
.equiv sANIM_TARGETS_HIT, gBattleScripting + 0x19
.equiv sSTATCHANGER, gBattleScripting + 0x1A
.equiv sFIELD_1B, gBattleScripting + 0x1B
.equiv sGIVEEXP_STATE, gBattleScripting + 0x1C
.equiv sBATTLE_STYLE, gBattleScripting + 0x1D
.equiv sLVLBOX_STATE, gBattleScripting + 0x1E
.equiv sLEARNMOVE_STATE, gBattleScripting + 0x1F
.equiv sFIELD_20, gBattleScripting + 0x20
.equiv sRESHOW_MAIN_STATE, gBattleScripting + 0x21
.equiv sRESHOW_HELPER_STATE, gBattleScripting + 0x22
.equiv sFIELD_23, gBattleScripting + 0x23
.equiv sFIELD_24, gBattleScripting + 0x24
.equiv sMULTIPLAYER_ID, gBattleScripting + 0x25
@ battle communication struct
.equiv cEFFECT_CHOOSER, gBattleCommunication + 3
.equiv cMULTISTRING_CHOOSER, gBattleCommunication + 5
-375
View File
@@ -1,375 +0,0 @@
.set STRINGID_INTROMSG, 0
.set STRINGID_INTROSENDOUT, 1
.set STRINGID_RETURNMON, 2
.set STRINGID_SWITCHINMON, 3
.set STRINGID_USEDMOVE, 4
.set STRINGID_BATTLEEND, 5
.set STRINGID_TRAINER1LOSETEXT, 12
.set STRINGID_PKMNGAINEDEXP, 13
.set STRINGID_PKMNGREWTOLV, 14
.set STRINGID_PKMNLEARNEDMOVE, 15
.set STRINGID_TRYTOLEARNMOVE1, 16
.set STRINGID_TRYTOLEARNMOVE2, 17
.set STRINGID_TRYTOLEARNMOVE3, 18
.set STRINGID_PKMNFORGOTMOVE, 19
.set STRINGID_STOPLEARNINGMOVE, 20
.set STRINGID_DIDNOTLEARNMOVE, 21
.set STRINGID_PKMNLEARNEDMOVE2, 22
.set STRINGID_ATTACKMISSED, 23
.set STRINGID_PKMNPROTECTEDITSELF, 24
.set STRINGID_STATSWONTINCREASE2, 25
.set STRINGID_AVOIDEDDAMAGE, 26
.set STRINGID_ITDOESNTAFFECT, 27
.set STRINGID_ATTACKERFAINTED, 28
.set STRINGID_TARGETFAINTED, 29
.set STRINGID_PLAYERGOTMONEY, 30
.set STRINGID_PLAYERWHITEOUT, 31
.set STRINGID_PLAYERWHITEOUT2, 32
.set STRINGID_PREVENTSESCAPE, 33
.set STRINGID_HITXTIMES, 34
.set STRINGID_PKMNFELLASLEEP, 35
.set STRINGID_PKMNMADESLEEP, 36
.set STRINGID_PKMNALREADYASLEEP, 37
.set STRINGID_PKMNALREADYASLEEP2, 38
.set STRINGID_PKMNWASNTAFFECTED, 39
.set STRINGID_PKMNWASPOISONED, 40
.set STRINGID_PKMNPOISONEDBY, 41
.set STRINGID_PKMNHURTBYPOISON, 42
.set STRINGID_PKMNALREADYPOISONED, 43
.set STRINGID_PKMNBADLYPOISONED, 44
.set STRINGID_PKMNENERGYDRAINED, 45
.set STRINGID_PKMNWASBURNED, 46
.set STRINGID_PKMNBURNEDBY, 47
.set STRINGID_PKMNHURTBYBURN, 48
.set STRINGID_PKMNWASFROZEN, 49
.set STRINGID_PKMNFROZENBY, 50
.set STRINGID_PKMNISFROZEN, 51
.set STRINGID_PKMNWASDEFROSTED, 52
.set STRINGID_PKMNWASDEFROSTED2, 53
.set STRINGID_PKMNWASDEFROSTEDBY, 54
.set STRINGID_PKMNWASPARALYZED, 55
.set STRINGID_PKMNWASPARALYZEDBY, 56
.set STRINGID_PKMNISPARALYZED, 57
.set STRINGID_PKMNISALREADYPARALYZED, 58
.set STRINGID_PKMNHEALEDPARALYSIS, 59
.set STRINGID_PKMNDREAMEATEN, 60
.set STRINGID_STATSWONTINCREASE, 61
.set STRINGID_STATSWONTDECREASE, 62
.set STRINGID_TEAMSTOPPEDWORKING, 63
.set STRINGID_FOESTOPPEDWORKING, 64
.set STRINGID_PKMNISCONFUSED, 65
.set STRINGID_PKMNHEALEDCONFUSION, 66
.set STRINGID_PKMNWASCONFUSED, 67
.set STRINGID_PKMNALREADYCONFUSED, 68
.set STRINGID_PKMNFELLINLOVE, 69
.set STRINGID_PKMNINLOVE, 70
.set STRINGID_PKMNIMMOBILIZEDBYLOVE, 71
.set STRINGID_PKMNBLOWNAWAY, 72
.set STRINGID_PKMNCHANGEDTYPE, 73
.set STRINGID_PKMNFLINCHED, 74
.set STRINGID_PKMNREGAINEDHEALTH, 75
.set STRINGID_PKMNHPFULL, 76
.set STRINGID_PKMNRAISEDSPDEF, 77
.set STRINGID_PKMNRAISEDDEF, 78
.set STRINGID_PKMNCOVEREDBYVEIL, 79
.set STRINGID_PKMNUSEDSAFEGUARD, 80
.set STRINGID_PKMNSAFEGUARDEXPIRED, 81
.set STRINGID_PKMNWENTTOSLEEP, 82
.set STRINGID_PKMNSLEPTHEALTHY, 83
.set STRINGID_PKMNWHIPPEDWHIRLWIND, 84
.set STRINGID_PKMNTOOKSUNLIGHT, 85
.set STRINGID_PKMNLOWEREDHEAD, 86
.set STRINGID_PKMNISGLOWING, 87
.set STRINGID_PKMNFLEWHIGH, 88
.set STRINGID_PKMNDUGHOLE, 89
.set STRINGID_PKMNSQUEEZEDBYBIND, 90
.set STRINGID_PKMNTRAPPEDINVORTEX, 91
.set STRINGID_PKMNWRAPPEDBY, 92
.set STRINGID_PKMNCLAMPED, 93
.set STRINGID_PKMNHURTBY, 94
.set STRINGID_PKMNFREEDFROM, 95
.set STRINGID_PKMNCRASHED, 96
.set STRINGID_PKMNSHROUDEDINMIST, 97
.set STRINGID_PKMNPROTECTEDBYMIST, 98
.set STRINGID_PKMNGETTINGPUMPED, 99
.set STRINGID_PKMNHITWITHRECOIL, 100
.set STRINGID_PKMNPROTECTEDITSELF2, 101
.set STRINGID_PKMNBUFFETEDBYSANDSTORM, 102
.set STRINGID_PKMNPELTEDBYHAIL, 103
.set STRINGID_PKMNSEEDED, 104
.set STRINGID_PKMNEVADEDATTACK, 105
.set STRINGID_PKMNSAPPEDBYLEECHSEED, 106
.set STRINGID_PKMNFASTASLEEP, 107
.set STRINGID_PKMNWOKEUP, 108
.set STRINGID_PKMNUPROARKEPTAWAKE, 109
.set STRINGID_PKMNWOKEUPINUPROAR, 110
.set STRINGID_PKMNCAUSEDUPROAR, 111
.set STRINGID_PKMNMAKINGUPROAR, 112
.set STRINGID_PKMNCALMEDDOWN, 113
.set STRINGID_PKMNCANTSLEEPINUPROAR, 114
.set STRINGID_PKMNSTOCKPILED, 115
.set STRINGID_PKMNCANTSTOCKPILE, 116
.set STRINGID_PKMNCANTSLEEPINUPROAR2, 117
.set STRINGID_UPROARKEPTPKMNAWAKE, 118
.set STRINGID_PKMNSTAYEDAWAKEUSING, 119
.set STRINGID_PKMNSTORINGENERGY, 120
.set STRINGID_PKMNUNLEASHEDENERGY, 121
.set STRINGID_PKMNFATIGUECONFUSION, 122
.set STRINGID_PKMNPICKEDUPITEM, 123
.set STRINGID_PKMNUNAFFECTED, 124
.set STRINGID_PKMNTRANSFORMEDINTO, 125
.set STRINGID_PKMNMADESUBSTITUTE, 126
.set STRINGID_PKMNHASSUBSTITUTE, 127
.set STRINGID_SUBSTITUTEDAMAGED, 128
.set STRINGID_PKMNSUBSTITUTEFADED, 129
.set STRINGID_PKMNMUSTRECHARGE, 130
.set STRINGID_PKMNRAGEBUILDING, 131
.set STRINGID_PKMNMOVEWASDISABLED, 132
.set STRINGID_PKMNMOVEISDISABLED, 133
.set STRINGID_PKMNMOVEDISABLEDNOMORE, 134
.set STRINGID_PKMNGOTENCORE, 135
.set STRINGID_PKMNENCOREENDED, 136
.set STRINGID_PKMNTOOKAIM, 137
.set STRINGID_PKMNSKETCHEDMOVE, 138
.set STRINGID_PKMNTRYINGTOTAKEFOE, 139
.set STRINGID_PKMNTOOKFOE, 140
.set STRINGID_PKMNREDUCEDPP, 141
.set STRINGID_PKMNSTOLEITEM, 142
.set STRINGID_TARGETCANTESCAPENOW, 143
.set STRINGID_PKMNFELLINTONIGHTMARE, 144
.set STRINGID_PKMNLOCKEDINNIGHTMARE, 145
.set STRINGID_PKMNLAIDCURSE, 146
.set STRINGID_PKMNAFFLICTEDBYCURSE, 147
.set STRINGID_SPIKESSCATTERED, 148
.set STRINGID_PKMNHURTBYSPIKES, 149
.set STRINGID_PKMNIDENTIFIED, 150
.set STRINGID_PKMNPERISHCOUNTFELL, 151
.set STRINGID_PKMNBRACEDITSELF, 152
.set STRINGID_PKMNENDUREDHIT, 153
.set STRINGID_MAGNITUDESTRENGTH, 154
.set STRINGID_PKMNCUTHPMAXEDATTACK, 155
.set STRINGID_PKMNCOPIEDSTATCHANGES, 156
.set STRINGID_PKMNGOTFREE, 157
.set STRINGID_PKMNSHEDLEECHSEED, 158
.set STRINGID_PKMNBLEWAWAYSPIKES, 159
.set STRINGID_PKMNFLEDFROMBATTLE, 160
.set STRINGID_PKMNFORESAWATTACK, 161
.set STRINGID_PKMNTOOKATTACK, 162
.set STRINGID_PKMNATTACK, 163
.set STRINGID_PKMNCENTERATTENTION, 164
.set STRINGID_PKMNCHARGINGPOWER, 165
.set STRINGID_NATUREPOWERTURNEDINTO, 166
.set STRINGID_PKMNSTATUSNORMAL, 167
.set STRINGID_PKMNHASNOMOVESLEFT, 168
.set STRINGID_PKMNSUBJECTEDTOTORMENT, 169
.set STRINGID_PKMNCANTUSEMOVETORMENT, 170
.set STRINGID_PKMNTIGHTENINGFOCUS, 171
.set STRINGID_PKMNFELLFORTAUNT, 172
.set STRINGID_PKMNCANTUSEMOVETAUNT, 173
.set STRINGID_PKMNREADYTOHELP, 174
.set STRINGID_PKMNSWITCHEDITEMS, 175
.set STRINGID_PKMNCOPIEDFOE, 176
.set STRINGID_PKMNMADEWISH, 177
.set STRINGID_PKMNWISHCAMETRUE, 178
.set STRINGID_PKMNPLANTEDROOTS, 179
.set STRINGID_PKMNABSORBEDNUTRIENTS, 180
.set STRINGID_PKMNANCHOREDITSELF, 181
.set STRINGID_PKMNWASMADEDROWSY, 182
.set STRINGID_PKMNKNOCKEDOFF, 183
.set STRINGID_PKMNSWAPPEDABILITIES, 184
.set STRINGID_PKMNSEALEDOPPONENTMOVE, 185
.set STRINGID_PKMNCANTUSEMOVESEALED, 186
.set STRINGID_PKMNWANTSGRUDGE, 187
.set STRINGID_PKMNLOSTPPGRUDGE, 188
.set STRINGID_PKMNSHROUDEDITSELF, 189
.set STRINGID_PKMNMOVEBOUNCED, 190
.set STRINGID_PKMNWAITSFORTARGET, 191
.set STRINGID_PKMNSNATCHEDMOVE, 192
.set STRINGID_PKMNMADEITRAIN, 193
.set STRINGID_PKMNRAISEDSPEED, 194
.set STRINGID_PKMNPROTECTEDBY, 195
.set STRINGID_PKMNPREVENTSUSAGE, 196
.set STRINGID_PKMNRESTOREDHPUSING, 197
.set STRINGID_PKMNCHANGEDTYPEWITH, 198
.set STRINGID_PKMNPREVENTSPARALYSISWITH, 199
.set STRINGID_PKMNPREVENTSROMANCEWITH, 200
.set STRINGID_PKMNPREVENTSPOISONINGWITH, 201
.set STRINGID_PKMNPREVENTSCONFUSIONWITH, 202
.set STRINGID_PKMNRAISEDFIREPOWERWITH, 203
.set STRINGID_PKMNANCHORSITSELFWITH, 204
.set STRINGID_PKMNCUTSATTACKWITH, 205
.set STRINGID_PKMNPREVENTSSTATLOSSWITH, 206
.set STRINGID_PKMNHURTSWITH, 207
.set STRINGID_PKMNTRACED, 208
.set STRINGID_STATSHARPLY, 209
.set STRINGID_STATROSE, 210
.set STRINGID_STATHARSHLY, 211
.set STRINGID_STATFELL, 212
.set STRINGID_PKMNSSTATCHANGED, 213
.set STRINGID_PKMNSSTATCHANGED2, 214
.set STRINGID_PKMNSSTATCHANGED3, 215
.set STRINGID_PKMNSSTATCHANGED4, 216
.set STRINGID_CRITICALHIT, 217
.set STRINGID_ONEHITKO, 218
.set STRINGID_123POOF, 219
.set STRINGID_ANDELLIPSIS, 220
.set STRINGID_NOTVERYEFFECTIVE, 221
.set STRINGID_SUPEREFFECTIVE, 222
.set STRINGID_GOTAWAYSAFELY, 223
.set STRINGID_WILDPKMNFLED, 224
.set STRINGID_NORUNNINGFROMTRAINERS, 225
.set STRINGID_CANTESCAPE, 226
.set STRINGID_DONTLEAVEBIRCH, 227
.set STRINGID_BUTNOTHINGHAPPENED, 228
.set STRINGID_BUTITFAILED, 229
.set STRINGID_ITHURTCONFUSION, 230
.set STRINGID_MIRRORMOVEFAILED, 231
.set STRINGID_STARTEDTORAIN, 232
.set STRINGID_DOWNPOURSTARTED, 233
.set STRINGID_RAINCONTINUES, 234
.set STRINGID_DOWNPOURCONTINUES, 235
.set STRINGID_RAINSTOPPED, 236
.set STRINGID_SANDSTORMBREWED, 237
.set STRINGID_SANDSTORMRAGES, 238
.set STRINGID_SANDSTORMSUBSIDED, 239
.set STRINGID_SUNLIGHTGOTBRIGHT, 240
.set STRINGID_SUNLIGHTSTRONG, 241
.set STRINGID_SUNLIGHTFADED, 242
.set STRINGID_STARTEDHAIL, 243
.set STRINGID_HAILCONTINUES, 244
.set STRINGID_HAILSTOPPED, 245
.set STRINGID_FAILEDTOSPITUP, 246
.set STRINGID_FAILEDTOSWALLOW, 247
.set STRINGID_WINDBECAMEHEATWAVE, 248
.set STRINGID_STATCHANGESGONE, 249
.set STRINGID_COINSSCATTERED, 250
.set STRINGID_TOOWEAKFORSUBSTITUTE, 251
.set STRINGID_SHAREDPAIN, 252
.set STRINGID_BELLCHIMED, 253
.set STRINGID_FAINTINTHREE, 254
.set STRINGID_NOPPLEFT, 255
.set STRINGID_BUTNOPPLEFT, 256
.set STRINGID_PLAYERUSEDITEM, 257
.set STRINGID_WALLYUSEDITEM, 258
.set STRINGID_TRAINERBLOCKEDBALL, 259
.set STRINGID_DONTBEATHIEF, 260
.set STRINGID_ITDODGEDBALL, 261
.set STRINGID_YOUMISSEDPKMN, 262
.set STRINGID_PKMNBROKEFREE, 263
.set STRINGID_ITAPPEAREDCAUGHT, 264
.set STRINGID_AARGHALMOSTHADIT, 265
.set STRINGID_SHOOTSOCLOSE, 266
.set STRINGID_GOTCHAPKMNCAUGHT, 267
.set STRINGID_GOTCHAPKMNCAUGHT2, 268
.set STRINGID_GIVENICKNAMECAPTURED, 269
.set STRINGID_PKMNSENTTOPC, 270
.set STRINGID_PKMNDATAADDEDTODEX, 271
.set STRINGID_ITISRAINING, 272
.set STRINGID_SANDSTORMISRAGING, 273
.set STRINGID_CANTESCAPE2, 274
.set STRINGID_PKMNIGNORESASLEEP, 275
.set STRINGID_PKMNIGNOREDORDERS, 276
.set STRINGID_PKMNBEGANTONAP, 277
.set STRINGID_PKMNLOAFING, 278
.set STRINGID_PKMNWONTOBEY, 279
.set STRINGID_PKMNTURNEDAWAY, 280
.set STRINGID_PKMNPRETENDNOTNOTICE, 281
.set STRINGID_ENEMYABOUTTOSWITCHPKMN, 282
.set STRINGID_CREPTCLOSER, 283
.set STRINGID_CANTGETCLOSER, 284
.set STRINGID_PKMNWATCHINGCAREFULLY, 285
.set STRINGID_PKMNCURIOUSABOUTX, 286
.set STRINGID_PKMNENTHRALLEDBYX, 287
.set STRINGID_PKMNIGNOREDX, 288
.set STRINGID_THREWPOKEBLOCKATPKMN, 289
.set STRINGID_OUTOFSAFARIBALLS, 290
.set STRINGID_PKMNSITEMCUREDPARALYSIS, 291
.set STRINGID_PKMNSITEMCUREDPOISON, 292
.set STRINGID_PKMNSITEMHEALEDBURN, 293
.set STRINGID_PKMNSITEMDEFROSTEDIT, 294
.set STRINGID_PKMNSITEMWOKEIT, 295
.set STRINGID_PKMNSITEMSNAPPEDOUT, 296
.set STRINGID_PKMNSITEMCUREDPROBLEM, 297
.set STRINGID_PKMNSITEMRESTOREDHEALTH, 298
.set STRINGID_PKMNSITEMRESTOREDPP, 299
.set STRINGID_PKMNSITEMRESTOREDSTATUS, 300
.set STRINGID_PKMNSITEMRESTOREDHPALITTLE, 301
.set STRINGID_ITEMALLOWSONLYYMOVE, 302
.set STRINGID_PKMNHUNGONWITHX, 303
.set STRINGID_EMPTYSTRING3, 304
.set STRINGID_PKMNSXPREVENTSBURNS, 305
.set STRINGID_PKMNSXBLOCKSY, 306
.set STRINGID_PKMNSXRESTOREDHPALITTLE2, 307
.set STRINGID_PKMNSXWHIPPEDUPSANDSTORM, 308
.set STRINGID_PKMNSXPREVENTSYLOSS, 309
.set STRINGID_PKMNSXINFATUATEDY, 310
.set STRINGID_PKMNSXMADEYINEFFECTIVE, 311
.set STRINGID_PKMNSXCUREDYPROBLEM, 312
.set STRINGID_ITSUCKEDLIQUIDOOZE, 313
.set STRINGID_PKMNTRANSFORMED, 314
.set STRINGID_ELECTRICITYWEAKENED, 315
.set STRINGID_FIREWEAKENED, 316
.set STRINGID_PKMNHIDUNDERWATER, 317
.set STRINGID_PKMNSPRANGUP, 318
.set STRINGID_HMMOVESCANTBEFORGOTTEN, 319
.set STRINGID_XFOUNDONEY, 320
.set STRINGID_PLAYERDEFEATEDTRAINER1, 321
.set STRINGID_SOOTHINGAROMA, 322
.set STRINGID_ITEMSCANTBEUSEDNOW, 323
.set STRINGID_FORXCOMMAYZ, 324
.set STRINGID_USINGXTHEYOFZN, 325
.set STRINGID_PKMNUSEDXTOGETPUMPED, 326
.set STRINGID_PKMNSXMADEYUSELESS, 327
.set STRINGID_PKMNTRAPPEDBYSANDTOMB, 328
.set STRINGID_EMPTYSTRING4, 329
.set STRINGID_ABOOSTED, 330
.set STRINGID_PKMNSXINTENSIFIEDSUN, 331
.set STRINGID_PKMNMAKESGROUNDMISS, 332
.set STRINGID_YOUTHROWABALLNOWRIGHT, 333
.set STRINGID_PKMNSXTOOKATTACK, 334
.set STRINGID_PKMNCHOSEXASDESTINY, 335
.set STRINGID_PKMNLOSTFOCUS, 336
.set STRINGID_USENEXTPKMN, 337
.set STRINGID_PKMNFLEDUSINGITS, 338
.set STRINGID_PKMNFLEDUSING, 339
.set STRINGID_PKMNWASDRAGGEDOUT, 340
.set STRINGID_PREVENTEDFROMWORKING, 341
.set STRINGID_PKMNSITEMNORMALIZEDSTATUS, 342
.set STRINGID_TRAINER1USEDITEM, 343
.set STRINGID_BOXISFULL, 344
.set STRINGID_PKMNAVOIDEDATTACK, 345
.set STRINGID_PKMNSXMADEITINEFFECTIVE, 346
.set STRINGID_PKMNSXPREVENTSFLINCHING, 347
.set STRINGID_PKMNALREADYHASBURN, 348
.set STRINGID_STATSWONTDECREASE2, 349
.set STRINGID_PKMNSXBLOCKSY2, 350
.set STRINGID_PKMNSXWOREOFF, 351
.set STRINGID_PKMNRAISEDDEFALITTLE, 352
.set STRINGID_PKMNRAISEDSPDEFALITTLE, 353
.set STRINGID_THEWALLSHATTERED, 354
.set STRINGID_PKMNSXPREVENTSYSZ, 355
.set STRINGID_PKMNSXCUREDITSYPROBLEM, 356
.set STRINGID_ATTACKERCANTESCAPE, 357
.set STRINGID_PKMNOBTAINEDX, 358
.set STRINGID_PKMNOBTAINEDX2, 359
.set STRINGID_PKMNOBTAINEDXYOBTAINEDZ, 360
.set STRINGID_BUTNOEFFECT, 361
.set STRINGID_PKMNSXHADNOEFFECTONY, 362
.set STRINGID_TWOENEMIESDEFEATED, 363
.set STRINGID_TRAINER2LOSETEXT, 364
.set STRINGID_PKMNINCAPABLEOFPOWER, 365
.set STRINGID_GLINTAPPEARSINEYE, 366
.set STRINGID_PKMNGETTINGINTOPOSITION, 367
.set STRINGID_PKMNBEGANGROWLINGDEEPLY, 368
.set STRINGID_PKMNEAGERFORMORE, 369
.set STRINGID_DEFEATEDOPPONENTBYREFEREE, 370
.set STRINGID_LOSTTOOPPONENTBYREFEREE, 371
.set STRINGID_TIEDOPPONENTBYREFEREE, 372
.set STRINGID_QUESTIONFORFEITMATCH, 373
.set STRINGID_FORFEITEDMATCH, 374
.set STRINGID_PKMNTRANSFERREDSOMEONESPC, 375
.set STRINGID_PKMNTRANSFERREDLANETTESPC, 376
.set STRINGID_PKMNBOXSOMEONESPCFULL, 377
.set STRINGID_PKMNBOXLANETTESPCFULL, 378
.set STRINGID_TRAINER1WINTEXT, 379
.set STRINGID_TRAINER2WINTEXT, 380
-1
View File
@@ -1,6 +1,5 @@
.include "constants/gba_constants.inc"
.include "constants/misc_constants.inc"
.include "constants/type_constants.inc"
.include "constants/contest_constants.inc"
.include "constants/pokemon_data_constants.inc"
.include "constants/item_data_constants.inc"
-43
View File
@@ -1,29 +1,3 @@
.set NATURE_HARDY, 0
.set NATURE_LONELY, 1
.set NATURE_BRAVE, 2
.set NATURE_ADAMANT, 3
.set NATURE_NAUGHTY, 4
.set NATURE_BOLD, 5
.set NATURE_DOCILE, 6
.set NATURE_RELAXED, 7
.set NATURE_IMPISH, 8
.set NATURE_LAX, 9
.set NATURE_TIMID, 10
.set NATURE_HASTY, 11
.set NATURE_SERIOUS, 12
.set NATURE_JOLLY, 13
.set NATURE_NAIVE, 14
.set NATURE_MODEST, 15
.set NATURE_MILD, 16
.set NATURE_QUIET, 17
.set NATURE_BASHFUL, 18
.set NATURE_RASH, 19
.set NATURE_CALM, 20
.set NATURE_GENTLE, 21
.set NATURE_SASSY, 22
.set NATURE_CAREFUL, 23
.set NATURE_QUIRKY, 24
.set GROWTH_MEDIUM_FAST, 0x00
.set GROWTH_ERRATIC, 0x01
.set GROWTH_FLUCTUATING, 0x02
@@ -31,23 +5,6 @@
.set GROWTH_FAST, 0x04
.set GROWTH_SLOW, 0x05
.set EGG_GROUP_NONE, 0x00
.set EGG_GROUP_MONSTER, 0x01
.set EGG_GROUP_WATER_1, 0x02
.set EGG_GROUP_BUG, 0x03
.set EGG_GROUP_FLYING, 0x04
.set EGG_GROUP_FIELD, 0x05
.set EGG_GROUP_FAIRY, 0x06
.set EGG_GROUP_GRASS, 0x07
.set EGG_GROUP_HUMAN_LIKE, 0x08
.set EGG_GROUP_WATER_3, 0x09
.set EGG_GROUP_MINERAL, 0x0a
.set EGG_GROUP_AMORPHOUS, 0x0b
.set EGG_GROUP_WATER_2, 0x0c
.set EGG_GROUP_DITTO, 0x0d
.set EGG_GROUP_DRAGON, 0x0e
.set EGG_GROUP_UNDISCOVERED, 0x0f
.set BODY_COLOR_RED, 0x00
.set BODY_COLOR_BLUE, 0x01
.set BODY_COLOR_YELLOW, 0x02
-18
View File
@@ -1,18 +0,0 @@
.set TYPE_NORMAL, 0x00
.set TYPE_FIGHTING, 0x01
.set TYPE_FLYING, 0x02
.set TYPE_POISON, 0x03
.set TYPE_GROUND, 0x04
.set TYPE_ROCK, 0x05
.set TYPE_BUG, 0x06
.set TYPE_GHOST, 0x07
.set TYPE_STEEL, 0x08
.set TYPE_UNKNOWN, 0x09
.set TYPE_FIRE, 0x0a
.set TYPE_WATER, 0x0b
.set TYPE_GRASS, 0x0c
.set TYPE_ELECTRIC, 0x0d
.set TYPE_PSYCHIC, 0x0e
.set TYPE_ICE, 0x0f
.set TYPE_DRAGON, 0x10
.set TYPE_DARK, 0x11
+130 -130
View File
@@ -1,11 +1,11 @@
.include "include/constants/battle_ai.h"
.include "include/constants/abilities.h"
.include "include/constants/items.h"
.include "include/constants/moves.h"
.include "include/constants/battle_move_effects.h"
.include "include/constants/hold_effects.h"
.include "constants/battle_constants.inc"
.include "constants/type_constants.inc"
#include "constants/battle.h"
#include "constants/battle_ai.h"
#include "constants/abilities.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/battle_move_effects.h"
#include "constants/hold_effects.h"
#include "constants/pokemon.h"
.include "asm/macros/battle_ai_script.inc"
.section script_data, "aw", %progbits
@@ -249,64 +249,64 @@ BattleAIScript_82DC341:
if_hp_less_than AI_USER, 51, Score_Minus10
BattleAIScript_82DC348:
if_stat_level_equal AI_USER, ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
end
BattleAIScript_82DC351:
if_stat_level_equal AI_USER, DEF, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
end
BattleAIScript_82DC35A:
if_stat_level_equal AI_USER, SPEED, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus10
end
BattleAIScript_82DC363:
if_stat_level_equal AI_USER, SPATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10
end
BattleAIScript_82DC36C:
if_stat_level_equal AI_USER, SPDEF, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus10
end
BattleAIScript_82DC375:
if_stat_level_equal AI_USER, ACC, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_ACC, 12, Score_Minus10
end
BattleAIScript_82DC37E:
if_stat_level_equal AI_USER, EVASION, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_EVASION, 12, Score_Minus10
end
BattleAIScript_82DC387:
if_stat_level_equal AI_TARGET, ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_HYPER_CUTTER, Score_Minus10
goto BattleAIScript_82DC3F6
BattleAIScript_82DC39C:
if_stat_level_equal AI_TARGET, DEF, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus10
goto BattleAIScript_82DC3F6
BattleAIScript_82DC3A9:
if_stat_level_equal AI_TARGET, SPEED, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPEED, 0, Score_Minus10
if_ability AI_TARGET, ABILITY_SPEED_BOOST, Score_Minus10
goto BattleAIScript_82DC3F6
BattleAIScript_82DC3BF:
if_stat_level_equal AI_TARGET, SPATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus10
goto BattleAIScript_82DC3F6
BattleAIScript_82DC3CC:
if_stat_level_equal AI_TARGET, SPDEF, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPDEF, 0, Score_Minus10
goto BattleAIScript_82DC3F6
BattleAIScript_82DC3D9:
if_stat_level_equal AI_TARGET, ACC, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_ACC, 0, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_KEEN_EYE, Score_Minus10
goto BattleAIScript_82DC3F6
BattleAIScript_82DC3EE:
if_stat_level_equal AI_TARGET, EVASION, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_EVASION, 0, Score_Minus10
BattleAIScript_82DC3F6:
get_ability AI_TARGET
@@ -315,20 +315,20 @@ BattleAIScript_82DC3F6:
end
BattleAIScript_82DC405:
if_stat_level_less_than AI_USER, ATK, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, DEF, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, SPEED, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, SPATK, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, SPDEF, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, ACC, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, EVASION, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, ATK, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, DEF, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, SPEED, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, SPATK, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, SPDEF, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, ACC, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, EVASION, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, STAT_ATK, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, STAT_DEF, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, STAT_SPEED, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, STAT_SPATK, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, STAT_SPDEF, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, STAT_ACC, 6, BattleAIScript_82DC47A
if_stat_level_less_than AI_USER, STAT_EVASION, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, STAT_ATK, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, STAT_DEF, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, STAT_SPEED, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, STAT_SPATK, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, STAT_ACC, 6, BattleAIScript_82DC47A
if_stat_level_more_than AI_TARGET, STAT_EVASION, 6, BattleAIScript_82DC47A
goto Score_Minus10
BattleAIScript_82DC47A:
@@ -436,8 +436,8 @@ BattleAIScript_82DC5B0:
end
BattleAIScript_82DC5BB:
if_stat_level_equal AI_USER, ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, DEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
end
BattleAIScript_82DC5CC:
@@ -484,8 +484,8 @@ BattleAIScript_82DC635:
end
BattleAIScript_82DC640:
if_stat_level_equal AI_TARGET, ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, SPATK, 0, Score_Minus8
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus8
BattleAIScript_82DC650:
count_usable_party_mons AI_USER
@@ -574,18 +574,18 @@ BattleAIScript_82DC71E:
end
BattleAIScript_82DC729:
if_stat_level_equal AI_TARGET, ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, DEF, 0, Score_Minus8
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus8
end
BattleAIScript_82DC73A:
if_stat_level_equal AI_USER, DEF, 12, Score_Minus10
if_stat_level_equal AI_USER, SPDEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
end
BattleAIScript_82DC74B:
if_stat_level_equal AI_USER, ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, DEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
end
BattleAIScript_82DC75C:
@@ -593,13 +593,13 @@ BattleAIScript_82DC75C:
end
BattleAIScript_82DC767:
if_stat_level_equal AI_USER, SPATK, 12, Score_Minus10
if_stat_level_equal AI_USER, SPDEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
end
BattleAIScript_82DC778:
if_stat_level_equal AI_USER, ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, SPEED, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus8
end
Score_Minus1:
@@ -805,9 +805,9 @@ BattleAIScript_82DCAC7:
end
BattleAIScript_82DCAC8:
if_stat_level_less_than AI_TARGET, EVASION, 7, BattleAIScript_82DCAE2
if_stat_level_less_than AI_TARGET, STAT_EVASION, 7, BattleAIScript_82DCAE2
score -1
if_stat_level_less_than AI_TARGET, EVASION, 10, BattleAIScript_82DCAE2
if_stat_level_less_than AI_TARGET, STAT_EVASION, 10, BattleAIScript_82DCAE2
if_random_less_than 128, BattleAIScript_82DCAE2
score -1
@@ -906,7 +906,7 @@ sMovesTable_82DCB6C:
.2byte -1
BattleAIScript_82DCBBC:
if_stat_level_less_than AI_USER, ATK, 9, BattleAIScript_82DCBD1
if_stat_level_less_than AI_USER, STAT_ATK, 9, BattleAIScript_82DCBD1
if_random_less_than 100, BattleAIScript_82DCBE0
score -1
goto BattleAIScript_82DCBE0
@@ -928,7 +928,7 @@ BattleAIScript_82DCBF6:
end
BattleAIScript_82DCBF7:
if_stat_level_less_than AI_USER, DEF, 9, BattleAIScript_82DCC0C
if_stat_level_less_than AI_USER, STAT_DEF, 9, BattleAIScript_82DCC0C
if_random_less_than 100, BattleAIScript_82DCC1B
score -1
goto BattleAIScript_82DCC1B
@@ -986,7 +986,7 @@ BattleAIScript_82DCC72:
end
BattleAIScript_82DCC73:
if_stat_level_less_than AI_USER, SPATK, 9, BattleAIScript_82DCC88
if_stat_level_less_than AI_USER, STAT_SPATK, 9, BattleAIScript_82DCC88
if_random_less_than 100, BattleAIScript_82DCC97
score -1
goto BattleAIScript_82DCC97
@@ -1008,7 +1008,7 @@ BattleAIScript_82DCCAD:
end
BattleAIScript_82DCCAE:
if_stat_level_less_than AI_USER, SPDEF, 9, BattleAIScript_82DCCC3
if_stat_level_less_than AI_USER, STAT_SPDEF, 9, BattleAIScript_82DCCC3
if_random_less_than 100, BattleAIScript_82DCCD2
score -1
goto BattleAIScript_82DCCD2
@@ -1054,7 +1054,7 @@ sTypesTable_82DCD0A:
.byte -1
BattleAIScript_82DCD14:
if_stat_level_less_than AI_USER, ACC, 9, BattleAIScript_82DCD24
if_stat_level_less_than AI_USER, STAT_ACC, 9, BattleAIScript_82DCD24
if_random_less_than 50, BattleAIScript_82DCD24
score -2
@@ -1071,7 +1071,7 @@ BattleAIScript_82DCD2E:
score +3
BattleAIScript_82DCD3D:
if_stat_level_less_than AI_USER, EVASION, 9, BattleAIScript_82DCD4D
if_stat_level_less_than AI_USER, STAT_EVASION, 9, BattleAIScript_82DCD4D
if_random_less_than 128, BattleAIScript_82DCD4D
score -1
@@ -1101,7 +1101,7 @@ BattleAIScript_82DCD90:
BattleAIScript_82DCDA2:
if_hp_more_than AI_USER, 70, BattleAIScript_82DCDC7
if_stat_level_equal AI_USER, EVASION, 6, BattleAIScript_82DCDC7
if_stat_level_equal AI_USER, STAT_EVASION, 6, BattleAIScript_82DCDC7
if_hp_less_than AI_USER, 40, BattleAIScript_82DCDC5
if_hp_less_than AI_TARGET, 40, BattleAIScript_82DCDC5
if_random_less_than 70, BattleAIScript_82DCDC7
@@ -1113,10 +1113,10 @@ BattleAIScript_82DCDC7:
end
BattleAIScript_82DCDC8:
if_stat_level_more_than AI_TARGET, EVASION, 10, BattleAIScript_82DCDED
if_stat_level_less_than AI_USER, ACC, 2, BattleAIScript_82DCDED
if_stat_level_more_than AI_TARGET, EVASION, 8, BattleAIScript_82DCDEF
if_stat_level_less_than AI_USER, ACC, 4, BattleAIScript_82DCDEF
if_stat_level_more_than AI_TARGET, STAT_EVASION, 10, BattleAIScript_82DCDED
if_stat_level_less_than AI_USER, STAT_ACC, 2, BattleAIScript_82DCDED
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DCDEF
if_stat_level_less_than AI_USER, STAT_ACC, 4, BattleAIScript_82DCDEF
goto BattleAIScript_82DCDF7
BattleAIScript_82DCDED:
@@ -1130,13 +1130,13 @@ BattleAIScript_82DCDF7:
end
BattleAIScript_82DCDF8:
if_stat_level_equal AI_TARGET, ATK, 6, BattleAIScript_82DCE1B
if_stat_level_equal AI_TARGET, STAT_ATK, 6, BattleAIScript_82DCE1B
score -1
if_hp_more_than AI_USER, 90, BattleAIScript_82DCE0B
score -1
BattleAIScript_82DCE0B:
if_stat_level_more_than AI_TARGET, ATK, 3, BattleAIScript_82DCE1B
if_stat_level_more_than AI_TARGET, STAT_ATK, 3, BattleAIScript_82DCE1B
if_random_less_than 50, BattleAIScript_82DCE1B
score -2
@@ -1166,7 +1166,7 @@ sTypesTable_82DCE43:
BattleAIScript_82DCE4A:
if_hp_less_than AI_USER, 70, BattleAIScript_82DCE59
if_stat_level_more_than AI_TARGET, DEF, 3, BattleAIScript_82DCE61
if_stat_level_more_than AI_TARGET, STAT_DEF, 3, BattleAIScript_82DCE61
BattleAIScript_82DCE59:
if_random_less_than 50, BattleAIScript_82DCE61
@@ -1198,13 +1198,13 @@ BattleAIScript_82DCE96:
end
BattleAIScript_82DCE97:
if_stat_level_equal AI_TARGET, ATK, 6, BattleAIScript_82DCEBA
if_stat_level_equal AI_TARGET, STAT_ATK, 6, BattleAIScript_82DCEBA
score -1
if_hp_more_than AI_USER, 90, BattleAIScript_82DCEAA
score -1
BattleAIScript_82DCEAA:
if_stat_level_more_than AI_TARGET, SPATK, 3, BattleAIScript_82DCEBA
if_stat_level_more_than AI_TARGET, STAT_SPATK, 3, BattleAIScript_82DCEBA
if_random_less_than 50, BattleAIScript_82DCEBA
score -2
@@ -1236,7 +1236,7 @@ sTypesTable_82DCEE2:
BattleAIScript_82DCEEB:
if_hp_less_than AI_USER, 70, BattleAIScript_82DCEFA
if_stat_level_more_than AI_TARGET, SPDEF, 3, BattleAIScript_82DCF02
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 3, BattleAIScript_82DCF02
BattleAIScript_82DCEFA:
if_random_less_than 50, BattleAIScript_82DCF02
@@ -1258,7 +1258,7 @@ BattleAIScript_82DCF1A:
score -1
BattleAIScript_82DCF22:
if_stat_level_more_than AI_USER, ACC, 4, BattleAIScript_82DCF32
if_stat_level_more_than AI_USER, STAT_ACC, 4, BattleAIScript_82DCF32
if_random_less_than 80, BattleAIScript_82DCF32
score -2
@@ -1284,7 +1284,7 @@ BattleAIScript_82DCF68:
BattleAIScript_82DCF7A:
if_hp_more_than AI_USER, 70, BattleAIScript_82DCF9F
if_stat_level_equal AI_TARGET, ACC, 6, BattleAIScript_82DCF9F
if_stat_level_equal AI_TARGET, STAT_ACC, 6, BattleAIScript_82DCF9F
if_hp_less_than AI_USER, 40, BattleAIScript_82DCF9D
if_hp_less_than AI_TARGET, 40, BattleAIScript_82DCF9D
if_random_less_than 70, BattleAIScript_82DCF9F
@@ -1297,7 +1297,7 @@ BattleAIScript_82DCF9F:
BattleAIScript_82DCFA0:
if_hp_less_than AI_USER, 70, BattleAIScript_82DCFAF
if_stat_level_more_than AI_TARGET, EVASION, 3, BattleAIScript_82DCFB7
if_stat_level_more_than AI_TARGET, STAT_EVASION, 3, BattleAIScript_82DCFB7
BattleAIScript_82DCFAF:
if_random_less_than 50, BattleAIScript_82DCFB7
@@ -1311,16 +1311,16 @@ BattleAIScript_82DCFC0:
end
BattleAIScript_82DCFC1:
if_stat_level_more_than AI_USER, ATK, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, DEF, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, SPATK, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, SPDEF, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, EVASION, 8, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, ATK, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, DEF, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, SPATK, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, SPDEF, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, ACC, 4, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, STAT_ATK, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, STAT_DEF, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, STAT_SPATK, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, STAT_SPDEF, 8, BattleAIScript_82DD016
if_stat_level_more_than AI_USER, STAT_EVASION, 8, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, STAT_ATK, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, STAT_DEF, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, STAT_SPATK, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, STAT_SPDEF, 4, BattleAIScript_82DD016
if_stat_level_less_than AI_TARGET, STAT_ACC, 4, BattleAIScript_82DD016
goto BattleAIScript_82DD01E
BattleAIScript_82DD016:
@@ -1328,16 +1328,16 @@ BattleAIScript_82DD016:
score -3
BattleAIScript_82DD01E:
if_stat_level_more_than AI_TARGET, ATK, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, DEF, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, SPATK, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, SPDEF, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, EVASION, 8, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, ATK, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, DEF, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, SPATK, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, SPDEF, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, ACC, 4, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, STAT_ATK, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, STAT_DEF, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, BattleAIScript_82DD07B
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, STAT_ATK, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, STAT_DEF, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, STAT_SPATK, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, STAT_SPDEF, 4, BattleAIScript_82DD07B
if_stat_level_less_than AI_USER, STAT_ACC, 4, BattleAIScript_82DD07B
if_random_less_than 50, BattleAIScript_82DD083
score -1
goto BattleAIScript_82DD083
@@ -1357,11 +1357,11 @@ BattleAIScript_82DD08D:
end
BattleAIScript_82DD08E:
if_stat_level_more_than AI_TARGET, ATK, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, DEF, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, SPATK, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, SPDEF, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, EVASION, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, STAT_ATK, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, STAT_DEF, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, BattleAIScript_82DD0BD
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DD0BD
score -3
goto BattleAIScript_82DD0C5
@@ -1569,7 +1569,7 @@ BattleAIScript_82DD2B7:
end
BattleAIScript_82DD2B8:
if_stat_level_more_than AI_TARGET, ATK, 3, BattleAIScript_82DD2D0
if_stat_level_more_than AI_TARGET, STAT_ATK, 3, BattleAIScript_82DD2D0
score +3
get_turn_count
if_not_equal 0, BattleAIScript_82DD2D2
@@ -1987,17 +1987,17 @@ BattleAIScript_82DD645:
if_equal TYPE_GHOST, BattleAIScript_82DD68A
get_user_type2
if_equal TYPE_GHOST, BattleAIScript_82DD68A
if_stat_level_more_than AI_USER, DEF, 9, BattleAIScript_82DD693
if_stat_level_more_than AI_USER, STAT_DEF, 9, BattleAIScript_82DD693
if_random_less_than 128, BattleAIScript_82DD665
score +1
BattleAIScript_82DD665:
if_stat_level_more_than AI_USER, DEF, 7, BattleAIScript_82DD693
if_stat_level_more_than AI_USER, STAT_DEF, 7, BattleAIScript_82DD693
if_random_less_than 128, BattleAIScript_82DD675
score +1
BattleAIScript_82DD675:
if_stat_level_more_than AI_USER, DEF, 6, BattleAIScript_82DD693
if_stat_level_more_than AI_USER, STAT_DEF, 6, BattleAIScript_82DD693
if_random_less_than 128, BattleAIScript_82DD693
score +1
goto BattleAIScript_82DD693
@@ -2062,7 +2062,7 @@ BattleAIScript_82DD75D:
if_equal TYPE_GHOST, BattleAIScript_82DD77C
get_user_type2
if_equal TYPE_GHOST, BattleAIScript_82DD77C
if_stat_level_more_than AI_USER, EVASION, 8, BattleAIScript_82DD782
if_stat_level_more_than AI_USER, STAT_EVASION, 8, BattleAIScript_82DD782
score -2
goto BattleAIScript_82DD78A
@@ -2092,11 +2092,11 @@ BattleAIScript_82DD7A8:
end
BattleAIScript_82DD7A9:
if_stat_level_more_than AI_USER, ATK, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, DEF, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, SPATK, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, SPDEF, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, EVASION, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, STAT_ATK, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, STAT_DEF, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, STAT_SPATK, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, STAT_SPDEF, 8, BattleAIScript_82DD7D6
if_stat_level_more_than AI_USER, STAT_EVASION, 8, BattleAIScript_82DD7D6
goto BattleAIScript_82DD7FC
BattleAIScript_82DD7D6:
@@ -2113,11 +2113,11 @@ BattleAIScript_82DD7EF:
goto BattleAIScript_82DD844
BattleAIScript_82DD7FC:
if_stat_level_more_than AI_USER, ATK, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, DEF, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, SPATK, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, SPDEF, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, EVASION, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, STAT_ATK, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, STAT_DEF, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, STAT_SPATK, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, STAT_SPDEF, 7, BattleAIScript_82DD829
if_stat_level_more_than AI_USER, STAT_EVASION, 7, BattleAIScript_82DD829
goto BattleAIScript_82DD842
BattleAIScript_82DD829:
@@ -2208,19 +2208,19 @@ BattleAIScript_82DD8F1:
end
BattleAIScript_82DD8F2:
if_stat_level_more_than AI_TARGET, ATK, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, DEF, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, SPATK, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, SPDEF, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, EVASION, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, STAT_ATK, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, STAT_DEF, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, BattleAIScript_82DD91F
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DD91F
goto BattleAIScript_82DD957
BattleAIScript_82DD91F:
if_stat_level_less_than AI_USER, ATK, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, DEF, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, SPATK, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, SPDEF, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, EVASION, 7, BattleAIScript_82DD952
if_stat_level_less_than AI_USER, STAT_ATK, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, STAT_DEF, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, STAT_SPATK, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, STAT_SPDEF, 7, BattleAIScript_82DD954
if_stat_level_less_than AI_USER, STAT_EVASION, 7, BattleAIScript_82DD952
if_random_less_than 50, BattleAIScript_82DD959
goto BattleAIScript_82DD957
@@ -2515,7 +2515,7 @@ sAbilitiesTable_82DDBDF:
BattleAIScript_82DDBF0:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DDC1D
if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DDC1D
if_stat_level_less_than AI_USER, ATK, 6, BattleAIScript_82DDC1D
if_stat_level_less_than AI_USER, STAT_ATK, 6, BattleAIScript_82DDC1D
if_target_faster BattleAIScript_82DDC16
if_hp_more_than AI_USER, 40, BattleAIScript_82DDC1D
goto BattleAIScript_82DDC1F
@@ -2930,12 +2930,12 @@ sMovesTable_82DDF75:
BattleAIScript_82DDF7B:
get_turn_count
if_equal 0, Score_Minus2
if_stat_level_more_than AI_USER, ATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, ATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, ATK, 6, Score_Plus1
if_stat_level_more_than AI_USER, SPATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, SPATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, SPATK, 6, Score_Plus1
if_stat_level_more_than AI_USER, STAT_ATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, STAT_ATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, STAT_ATK, 6, Score_Plus1
if_stat_level_more_than AI_USER, STAT_SPATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, STAT_SPATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, STAT_SPATK, 6, Score_Plus1
end
BattleAIScript_82DDFB3:
@@ -3073,7 +3073,7 @@ BattleAIScript_82DE178:
goto Score_Minus30_
BattleAIScript_82DE185:
if_stat_level_more_than AI_TARGET, ATK, 7, BattleAIScript_82DE18F
if_stat_level_more_than AI_TARGET, STAT_ATK, 7, BattleAIScript_82DE18F
score +3
BattleAIScript_82DE18F:
+1 -1
View File
@@ -1,7 +1,7 @@
#include "constants/battle_anim.h"
#include "constants/rgb.h"
#include "constants/songs.h"
.include "asm/macros/battle_anim_script.inc"
.include "include/constants/battle_anim.h"
.section script_data, "aw", %progbits
@@ -157,7 +157,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Peggy
@ 6
.4byte FACILITY_CLASS_SCHOOL_KID_1
.4byte FACILITY_CLASS_SCHOOL_KID_M
.string "KEITH$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -183,7 +183,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Keith
@ 7
.4byte FACILITY_CLASS_SCHOOL_KID_1
.4byte FACILITY_CLASS_SCHOOL_KID_M
.string "GRAYSON$", 8
@ pre-battle speech
.2byte EC_WORD_A
@@ -209,7 +209,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Grayson
@ 8
.4byte FACILITY_CLASS_SCHOOL_KID_1
.4byte FACILITY_CLASS_SCHOOL_KID_M
.string "GLENN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -235,7 +235,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Glenn
@ 9
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "LILIANA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -261,7 +261,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Liliana
@ 10
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "ELISE$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -287,7 +287,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Elise
@ 11
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "ZOEY$", 8
@ pre-battle speech
.2byte EC_WORD_PLEASE
@@ -2965,7 +2965,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Rayna
@ 114
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "EVAN$", 8
@ pre-battle speech
.2byte EC_WORD_EVERY
@@ -2991,7 +2991,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Evan
@ 115
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "JORDAN$", 8
@ pre-battle speech
.2byte EC_WORD_GOOD
@@ -3017,7 +3017,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jordan
@ 116
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "JOEL$", 8
@ pre-battle speech
.2byte EC_WORD_FUFUFU
@@ -3121,7 +3121,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Chloe
@ 120
.4byte FACILITY_CLASS_PSYCHIC_1
.4byte FACILITY_CLASS_PSYCHIC_M
.string "NORTON$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -3147,7 +3147,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Norton
@ 121
.4byte FACILITY_CLASS_PSYCHIC_1
.4byte FACILITY_CLASS_PSYCHIC_M
.string "LUKAS$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -3173,7 +3173,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Lukas
@ 122
.4byte FACILITY_CLASS_PSYCHIC_1
.4byte FACILITY_CLASS_PSYCHIC_M
.string "ZACH$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -3199,7 +3199,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Zach
@ 123
.4byte FACILITY_CLASS_PSYCHIC_2
.4byte FACILITY_CLASS_PSYCHIC_F
.string "KAITLYN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -3225,7 +3225,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Kaitlyn
@ 124
.4byte FACILITY_CLASS_PSYCHIC_2
.4byte FACILITY_CLASS_PSYCHIC_F
.string "BREANNA$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -3251,7 +3251,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Breanna
@ 125
.4byte FACILITY_CLASS_PSYCHIC_2
.4byte FACILITY_CLASS_PSYCHIC_F
.string "KENDRA$", 8
@ pre-battle speech
.2byte EC_WORD_IF
@@ -3641,7 +3641,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Sofia
@ 140
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "BRADEN$", 8
@ pre-battle speech
.2byte EC_WORD_I_CHOOSE_YOU
@@ -3667,7 +3667,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Braden
@ 141
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "KAYDEN$", 8
@ pre-battle speech
.2byte EC_WORD_THEY
@@ -3693,7 +3693,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Kayden
@ 142
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "COOPER$", 8
@ pre-battle speech
.2byte EC_WORD_THIS
@@ -3719,7 +3719,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Cooper
@ 143
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "JULIA$", 8
@ pre-battle speech
.2byte EC_WORD_SPIRIT
@@ -3745,7 +3745,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Julia
@ 144
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "AMARA$", 8
@ pre-battle speech
.2byte EC_WORD_WROOOAAR_EXCL
@@ -3771,7 +3771,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Amara
@ 145
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "LYNN$", 8
@ pre-battle speech
.2byte EC_WORD_YOUR
@@ -3797,7 +3797,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Lynn
@ 146
.4byte FACILITY_CLASS_PKMN_RANGER_1
.4byte FACILITY_CLASS_PKMN_RANGER_M
.string "JOVAN$", 8
@ pre-battle speech
.2byte EC_WORD_YOUR
@@ -3823,7 +3823,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jovan
@ 147
.4byte FACILITY_CLASS_PKMN_RANGER_1
.4byte FACILITY_CLASS_PKMN_RANGER_M
.string "DOMINIC$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -3849,7 +3849,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Dominic
@ 148
.4byte FACILITY_CLASS_PKMN_RANGER_1
.4byte FACILITY_CLASS_PKMN_RANGER_M
.string "NIKOLAS$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -3875,7 +3875,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Nikolas
@ 149
.4byte FACILITY_CLASS_PKMN_RANGER_2
.4byte FACILITY_CLASS_PKMN_RANGER_F
.string "VALERIA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -3901,7 +3901,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Valeria
@ 150
.4byte FACILITY_CLASS_PKMN_RANGER_2
.4byte FACILITY_CLASS_PKMN_RANGER_F
.string "DELANEY$", 8
@ pre-battle speech
.2byte EC_WORD_SCHOOL
@@ -3927,7 +3927,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Delaney
@ 151
.4byte FACILITY_CLASS_PKMN_RANGER_2
.4byte FACILITY_CLASS_PKMN_RANGER_F
.string "MEGHAN$", 8
@ pre-battle speech
.2byte EC_WORD_SCHOOL
@@ -4265,7 +4265,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Kaila
@ 164
.4byte FACILITY_CLASS_SCHOOL_KID_1
.4byte FACILITY_CLASS_SCHOOL_KID_M
.string "ISIAH$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -4291,7 +4291,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Isiah
@ 165
.4byte FACILITY_CLASS_SCHOOL_KID_1
.4byte FACILITY_CLASS_SCHOOL_KID_M
.string "GARRETT$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -4317,7 +4317,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Garrett
@ 166
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "HAYLIE$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -4343,7 +4343,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Haylie
@ 167
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "MEGAN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -5721,7 +5721,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Tess
@ 220
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "LEON$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -5747,7 +5747,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Leon
@ 221
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "ALONZO$", 8
@ pre-battle speech
.2byte EC_WORD_I_VE
@@ -5773,7 +5773,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Alonzo
@ 222
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "VINCE$", 8
@ pre-battle speech
.2byte EC_WORD_THE
@@ -5799,7 +5799,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Vince
@ 223
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "BRYON$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -5825,7 +5825,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Bryon
@ 224
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "AVA$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -5851,7 +5851,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Ava
@ 225
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "MIRIAM$", 8
@ pre-battle speech
.2byte EC_WORD_OH
@@ -5877,7 +5877,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Miriam
@ 226
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "CARRIE$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -5903,7 +5903,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Carrie
@ 227
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "GILLIAN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -5929,7 +5929,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Gillian2
@ 228
.4byte FACILITY_CLASS_PKMN_RANGER_1
.4byte FACILITY_CLASS_PKMN_RANGER_M
.string "TYLER$", 8
@ pre-battle speech
.2byte EC_WORD_YO
@@ -5955,7 +5955,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Tyler
@ 229
.4byte FACILITY_CLASS_PKMN_RANGER_1
.4byte FACILITY_CLASS_PKMN_RANGER_M
.string "CHAZ$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -5981,7 +5981,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Chaz
@ 230
.4byte FACILITY_CLASS_PKMN_RANGER_1
.4byte FACILITY_CLASS_PKMN_RANGER_M
.string "NELSON$", 8
@ pre-battle speech
.2byte EC_WORD_WELL_THEN
@@ -6007,7 +6007,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Nelson
@ 231
.4byte FACILITY_CLASS_PKMN_RANGER_2
.4byte FACILITY_CLASS_PKMN_RANGER_F
.string "SHANIA$", 8
@ pre-battle speech
.2byte EC_WORD_ALL
@@ -6033,7 +6033,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Shania
@ 232
.4byte FACILITY_CLASS_PKMN_RANGER_2
.4byte FACILITY_CLASS_PKMN_RANGER_F
.string "STELLA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -6059,7 +6059,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Stella
@ 233
.4byte FACILITY_CLASS_PKMN_RANGER_2
.4byte FACILITY_CLASS_PKMN_RANGER_F
.string "DORINE$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -6319,7 +6319,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Alana
@ 243
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "ALEXAS$", 8
@ pre-battle speech
.2byte EC_WORD_GOOD
@@ -6345,7 +6345,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Alexas
@ 244
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "WESTON$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -6371,7 +6371,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Weston
@ 245
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "JASPER$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -6475,7 +6475,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Emma
@ 249
.4byte FACILITY_CLASS_PSYCHIC_1
.4byte FACILITY_CLASS_PSYCHIC_M
.string "ROLANDO$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -6501,7 +6501,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Rolando
@ 250
.4byte FACILITY_CLASS_PSYCHIC_1
.4byte FACILITY_CLASS_PSYCHIC_M
.string "STANLY$", 8
@ pre-battle speech
.2byte EC_WORD_THIS
@@ -6527,7 +6527,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Stanly
@ 251
.4byte FACILITY_CLASS_PSYCHIC_1
.4byte FACILITY_CLASS_PSYCHIC_M
.string "DARIO$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -6553,7 +6553,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Dario
@ 252
.4byte FACILITY_CLASS_PSYCHIC_2
.4byte FACILITY_CLASS_PSYCHIC_F
.string "KARLEE$", 8
@ pre-battle speech
.2byte EC_WORD_SOMETHING
@@ -6579,7 +6579,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Karlee
@ 253
.4byte FACILITY_CLASS_PSYCHIC_2
.4byte FACILITY_CLASS_PSYCHIC_F
.string "JAYLIN$", 8
@ pre-battle speech
.2byte EC_WORD_EVERY
@@ -6605,7 +6605,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jaylin
@ 254
.4byte FACILITY_CLASS_PSYCHIC_2
.4byte FACILITY_CLASS_PSYCHIC_F
.string "INGRID$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -339,7 +339,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Conrad
@ 13
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "MAKENNA$", 8
@ pre-battle speech
.2byte EC_WORD_SHOW
@@ -365,7 +365,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Makenna
@ 14
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "BRAYAN$", 8
@ pre-battle speech
.2byte EC_WORD_CAN
@@ -391,7 +391,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Brayan
@ 15
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "MARIANA$", 8
@ pre-battle speech
.2byte EC_WORD_A
@@ -469,7 +469,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Gianna
@ 18
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "YAHIR$", 8
@ pre-battle speech
.2byte EC_WORD_YOU
@@ -339,7 +339,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Kyler
@ 13
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "MAGGIE$", 8
@ pre-battle speech
.2byte EC_POKEMON(VULPIX)
@@ -365,7 +365,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Maggie
@ 14
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "STEPHON$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -391,7 +391,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Stephon
@ 15
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "REBECCA$", 8
@ pre-battle speech
.2byte EC_WORD_THAT
@@ -469,7 +469,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Janae
@ 18
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "CAIDEN$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -339,7 +339,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Ernesto
@ 13
.4byte FACILITY_CLASS_SCHOOL_KID_2
.4byte FACILITY_CLASS_SCHOOL_KID_F
.string "NALA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -365,7 +365,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Nala
@ 14
.4byte FACILITY_CLASS_COOLTRAINER_1
.4byte FACILITY_CLASS_COOLTRAINER_M
.string "DARNELL$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -391,7 +391,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Darnell
@ 15
.4byte FACILITY_CLASS_COOLTRAINER_2
.4byte FACILITY_CLASS_COOLTRAINER_F
.string "ASHLYN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -469,7 +469,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Justine
@ 18
.4byte FACILITY_CLASS_EXPERT_1
.4byte FACILITY_CLASS_EXPERT_M
.string "TYSON$", 8
@ pre-battle speech
.2byte EC_WORD_YOU_RE
+1 -1
View File
@@ -1917,7 +1917,7 @@ gBattleMoves:: @ 831C898
@ Curse
.byte 0x6d @ effect
.byte 0 @ power
.byte TYPE_UNKNOWN
.byte TYPE_MYSTERY
.byte 0 @ accuracy
.byte 10 @ PP
.byte 0 @ side effect chance
+735 -733
View File
File diff suppressed because it is too large Load Diff
+19 -18
View File
@@ -1,11 +1,12 @@
#include "constants/battle.h"
#include "constants/battle_script_commands.h"
#include "constants/battle_anim.h"
#include "constants/battle_string_ids.h"
#include "constants/items.h"
#include "constants/songs.h"
.include "asm/macros.inc"
.include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
.include "constants/battle_constants.inc"
.include "constants/battle_script_constants.inc"
.include "constants/battle_text.inc"
.section script_data, "aw", %progbits
@@ -46,7 +47,7 @@ gBattlescriptsForSafariActions:: @ 82DBD58
.4byte BattleScript_82DBEE3
BattleScript_BallThrow::
jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_WALLY_TUTORIAL, BattleScript_BallThrowByWally
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_WALLY_TUTORIAL, BattleScript_BallThrowByWally
printstring STRINGID_PLAYERUSEDITEM
handleballthrow
@@ -56,11 +57,11 @@ BattleScript_BallThrowByWally::
BattleScript_SafariBallThrow::
printstring STRINGID_PLAYERUSEDITEM
updatestatusicon ATTACKER
updatestatusicon BS_ATTACKER
handleballthrow
BattleScript_SuccessBallThrow::
jumpifhalfword EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo
jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo
incrementgamestat 0xB
BattleScript_PrintCaughtMonInfo::
printstring STRINGID_GOTCHAPKMNCAUGHT
@@ -81,22 +82,22 @@ BattleScript_TryNicknameCaughtMon::
BattleScript_GiveCaughtMonEnd::
givecaughtmon
BattleScript_SuccessBallThrowEnd::
setbyte gBattleOutcome, CAUGHT
setbyte gBattleOutcome, B_OUTCOME_CAUGHT
finishturn
BattleScript_WallyBallThrow::
printstring STRINGID_GOTCHAPKMNCAUGHT2
setbyte gBattleOutcome, CAUGHT
setbyte gBattleOutcome, B_OUTCOME_CAUGHT
finishturn
BattleScript_ShakeBallThrow::
printfromtable gBallEscapeStringIds
waitmessage 0x40
jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_ShakeBallThrowEnd
jumpifbyte NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_ShakeBallThrowEnd
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_ShakeBallThrowEnd
jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_ShakeBallThrowEnd
printstring STRINGID_OUTOFSAFARIBALLS
waitmessage 0x40
setbyte gBattleOutcome, OUT_OF_BALLS
setbyte gBattleOutcome, B_OUTCOME_NO_SAFARI_BALLS
BattleScript_ShakeBallThrowEnd::
finishaction
@@ -121,11 +122,11 @@ BattleScript_OpponentUsesHealItem::
waitmessage 0x40
useitemonopponent
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate ATTACKER
datahpupdate ATTACKER
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage 0x40
updatestatusicon ATTACKER
updatestatusicon BS_ATTACKER
setbyte sMOVEEND_STATE, 0xF
moveend 0x1, 0x0
finishaction
@@ -139,7 +140,7 @@ BattleScript_OpponentUsesStatusCureItem::
useitemonopponent
printfromtable gTrainerItemCuredStatusStringIds
waitmessage 0x40
updatestatusicon ATTACKER
updatestatusicon BS_ATTACKER
setbyte sMOVEEND_STATE, 0xF
moveend 0x1, 0x0
finishaction
@@ -172,7 +173,7 @@ BattleScript_OpponentUsesGuardSpecs::
BattleScript_RunByUsingItem::
playse SE_NIGERU
setbyte gBattleOutcome, RAN
setbyte gBattleOutcome, B_OUTCOME_RAN
finishturn
BattleScript_ActionWatchesCarefully::
@@ -188,7 +189,7 @@ BattleScript_ActionGetNear::
BattleScript_ActionThrowPokeblock::
printstring STRINGID_THREWPOKEBLOCKATPKMN
waitmessage 0x40
playanimation ATTACKER, ANIM_x4, NULL
playanimation BS_ATTACKER, B_ANIM_x4, NULL
printfromtable gSafariPokeblockResultStringIds
waitmessage 0x40
end2
@@ -198,7 +199,7 @@ BattleScript_82DBEE3::
waitmessage 0x40
returnatktoball
waitstate
trainerslidein TARGET
trainerslidein BS_TARGET
waitstate
printstring STRINGID_YOUTHROWABALLNOWRIGHT
waitmessage 0x40
+1
View File
@@ -3,6 +3,7 @@
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/trainers.h"
#include "constants/pokemon.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
+17 -16
View File
@@ -2,6 +2,7 @@
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/trainers.h"
#include "constants/pokemon.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
@@ -21,31 +22,31 @@ gUnknown_082FF2B8:: @ 82FF2B8
.align 2
gUnknown_082FF3A8:: @ 82FF3A8
.byte 0x00, 0x80, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x88, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x90, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x98, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
obj_frame_tiles gHeap + 0x8000, 0x800
obj_frame_tiles gHeap + 0x8800, 0x800
obj_frame_tiles gHeap + 0x9000, 0x800
obj_frame_tiles gHeap + 0x9800, 0x800
.align 2
gUnknown_082FF3C8:: @ 82FF3C8
.byte 0x00, 0xa0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xa8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xb0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xb8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
obj_frame_tiles gHeap + 0xA000, 0x800
obj_frame_tiles gHeap + 0xA800, 0x800
obj_frame_tiles gHeap + 0xB000, 0x800
obj_frame_tiles gHeap + 0xB800, 0x800
.align 2
gUnknown_082FF3E8:: @ 82FF3E8
.byte 0x00, 0xc0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xc8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xd0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xd8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
obj_frame_tiles gHeap + 0xC000, 0x800
obj_frame_tiles gHeap + 0xC800, 0x800
obj_frame_tiles gHeap + 0xD000, 0x800
obj_frame_tiles gHeap + 0xD800, 0x800
.align 2
gUnknown_082FF408:: @ 82FF408
.byte 0x00, 0xe0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xe8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xf0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0xf8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
obj_frame_tiles gHeap + 0xE000, 0x800
obj_frame_tiles gHeap + 0xE800, 0x800
obj_frame_tiles gHeap + 0xF000, 0x800
obj_frame_tiles gHeap + 0xF800, 0x800
.align 2
gUnknown_082FF428:: @ 82FF428
+1
View File
@@ -2,6 +2,7 @@
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/pokemon.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
-151
View File
@@ -1,151 +0,0 @@
#include "constants/abilities.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/trainers.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
@ 83299EC
.include "data/graphics/pokemon/front_anim_ids_table.inc"
@ 8329B87
.include "data/graphics/pokemon/animation_delay_table.inc"
.align 1
gUnknown_08329D22:: @ 8329D22
@ Masks for getting PP Up count, also PP Max values
.byte 0x03, 0x0c, 0x30, 0xc0
.align 1
gUnknown_08329D26:: @ 8329D26
@ Masks for setting PP Up count
.byte 0xfc, 0xf3, 0xcf, 0x3f
.align 1
gUnknown_08329D2A:: @ 8329D2A
@ Values added to PP Up count
.byte 0x01, 0x04, 0x10, 0x40
.align 1
gStatStageRatios:: @ 8329D2E
.byte 0x0a, 0x28
.byte 0x0a, 0x23
.byte 0x0a, 0x1e
.byte 0x0a, 0x19
.byte 0x0a, 0x14
.byte 0x0a, 0x0f
.byte 0x0a, 0x0a
.byte 0x0f, 0x0a
.byte 0x14, 0x0a
.byte 0x19, 0x0a
.byte 0x1e, 0x0a
.byte 0x23, 0x0a
.byte 0x28, 0x0a
.align 1
gUnknown_08329D48:: @ 8329D48
.2byte 0x0032, 0x005f, 0x005a, 0x00b4, 0x005f, 0x005a
.align 1
gUnknown_08329D54:: @ 8329D54
.2byte 0x0003, 0x000a, 0x001b, 0x002b, 0x001e, 0x0043, 0x0042, 0x0019
.2byte 0x0012, 0x000c, 0x001c, 0x0047, 0x001f, 0x0036, 0x0002, 0x0014
.align 1
gHoldEffectToType:: @ 8329D74
.byte 0x1f, 0x06
.byte 0x2a, 0x08
.byte 0x2e, 0x04
.byte 0x2f, 0x05
.byte 0x30, 0x0c
.byte 0x31, 0x11
.byte 0x32, 0x01
.byte 0x33, 0x0d
.byte 0x34, 0x0b
.byte 0x35, 0x02
.byte 0x36, 0x03
.byte 0x37, 0x0f
.byte 0x38, 0x07
.byte 0x39, 0x0e
.byte 0x3a, 0x0a
.byte 0x3b, 0x10
.byte 0x3c, 0x00
.byte 0x00, 0x00
.align 2
gUnknown_08329D98:: @ 8329D98
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3A8, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF3C8, gUnknown_082FF694, oac_poke_opponent
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3E8, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF408, gUnknown_082FF694, oac_poke_opponent
.align 2
gUnknown_08329DF8:: @ 8329DF8
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF428, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF448, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF468, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF490, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4B8, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4D8, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4F8, gUnknown_082FF618, sub_8039BB4
spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF518, gUnknown_082FF618, sub_8039BB4
gSecretBaseTrainerClasses:: @ 8329EB8
.byte FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_CAMPER, FACILITY_CLASS_COOLTRAINER_1
.byte FACILITY_CLASS_LASS, FACILITY_CLASS_SCHOOL_KID_2, FACILITY_CLASS_LADY, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_COOLTRAINER_2
gUnknown_08329EC2:: @ 8329EC2
.byte 0x1a, 0x1b, 0x1c, 0x1d, 0x1f, 0x1e
gUnknown_08329EC8:: @ 8329EC8
.byte 1, 1, 3, 2, 4, 6
gUnknown_08329ECE:: @ 8329ECE
@ Happiness deltas
.byte 0x05, 0x03, 0x02
.byte 0x05, 0x03, 0x02
.byte 0x01, 0x01, 0x00
.byte 0x03, 0x02, 0x01
.byte 0x01, 0x01, 0x00
.byte 0x01, 0x01, 0x01
.byte 0xff, 0xff, 0xff
.byte 0xfb, 0xfb, 0xf6
.byte 0xfb, 0xfb, 0xf6
.align 1
gHMMoves:: @ 8329EEA
.2byte MOVE_CUT
.2byte MOVE_FLY
.2byte MOVE_SURF
.2byte MOVE_STRENGTH
.2byte MOVE_FLASH
.2byte MOVE_ROCK_SMASH
.2byte MOVE_WATERFALL
.2byte MOVE_DIVE
.2byte 0xffff
.align 1
gAlteringCaveWildMonHeldItems:: @ 8329EFC
.2byte 0, ITEM_NONE
.2byte SPECIES_MAREEP, ITEM_GANLON_BERRY
.2byte SPECIES_PINECO, ITEM_APICOT_BERRY
.2byte SPECIES_HOUNDOUR, ITEM_BIG_MUSHROOM
.2byte SPECIES_TEDDIURSA, ITEM_PETAYA_BERRY
.2byte SPECIES_AIPOM, ITEM_BERRY_JUICE
.2byte SPECIES_SHUCKLE, ITEM_BERRY_JUICE
.2byte SPECIES_STANTLER, ITEM_PETAYA_BERRY
.2byte SPECIES_SMEARGLE, ITEM_SALAC_BERRY
.align 2
gUnknown_08329F20:: @ 8329F20
.byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
.align 2
gUnknown_08329F28:: @ 8329F28
spr_template 0xffff, 0xffff, gUnknown_08329F20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
@@ -1,412 +0,0 @@
gMonAnimationDelayTable:: @ 8329B87
.byte 0x00 @ SPECIES_BULBASAUR
.byte 0x00 @ SPECIES_IVYSAUR
.byte 0x00 @ SPECIES_VENUSAUR
.byte 0x00 @ SPECIES_CHARMANDER
.byte 0x00 @ SPECIES_CHARMELEON
.byte 0x00 @ SPECIES_CHARIZARD
.byte 0x00 @ SPECIES_SQUIRTLE
.byte 0x00 @ SPECIES_WARTORTLE
.byte 0x32 @ SPECIES_BLASTOISE
.byte 0x00 @ SPECIES_CATERPIE
.byte 0x00 @ SPECIES_METAPOD
.byte 0x00 @ SPECIES_BUTTERFREE
.byte 0x0a @ SPECIES_WEEDLE
.byte 0x14 @ SPECIES_KAKUNA
.byte 0x23 @ SPECIES_BEEDRILL
.byte 0x00 @ SPECIES_PIDGEY
.byte 0x19 @ SPECIES_PIDGEOTTO
.byte 0x00 @ SPECIES_PIDGEOT
.byte 0x00 @ SPECIES_RATTATA
.byte 0x00 @ SPECIES_RATICATE
.byte 0x00 @ SPECIES_SPEAROW
.byte 0x02 @ SPECIES_FEAROW
.byte 0x1e @ SPECIES_EKANS
.byte 0x00 @ SPECIES_ARBOK
.byte 0x00 @ SPECIES_PIKACHU
.byte 0x00 @ SPECIES_RAICHU
.byte 0x00 @ SPECIES_SANDSHREW
.byte 0x00 @ SPECIES_SANDSLASH
.byte 0x1c @ SPECIES_NIDORAN_F
.byte 0x00 @ SPECIES_NIDORINA
.byte 0x00 @ SPECIES_NIDOQUEEN
.byte 0x00 @ SPECIES_NIDORAN_M
.byte 0x00 @ SPECIES_NIDORINO
.byte 0x19 @ SPECIES_NIDOKING
.byte 0x00 @ SPECIES_CLEFAIRY
.byte 0x00 @ SPECIES_CLEFABLE
.byte 0x00 @ SPECIES_VULPIX
.byte 0x00 @ SPECIES_NINETALES
.byte 0x00 @ SPECIES_JIGGLYPUFF
.byte 0x00 @ SPECIES_WIGGLYTUFF
.byte 0x00 @ SPECIES_ZUBAT
.byte 0x00 @ SPECIES_GOLBAT
.byte 0x00 @ SPECIES_ODDISH
.byte 0x00 @ SPECIES_GLOOM
.byte 0x00 @ SPECIES_VILEPLUME
.byte 0x0a @ SPECIES_PARAS
.byte 0x2d @ SPECIES_PARASECT
.byte 0x14 @ SPECIES_VENONAT
.byte 0x00 @ SPECIES_VENOMOTH
.byte 0x19 @ SPECIES_DIGLETT
.byte 0x23 @ SPECIES_DUGTRIO
.byte 0x28 @ SPECIES_MEOWTH
.byte 0x14 @ SPECIES_PERSIAN
.byte 0x00 @ SPECIES_PSYDUCK
.byte 0x00 @ SPECIES_GOLDUCK
.byte 0x14 @ SPECIES_MANKEY
.byte 0x00 @ SPECIES_PRIMEAPE
.byte 0x1e @ SPECIES_GROWLITHE
.byte 0x28 @ SPECIES_ARCANINE
.byte 0x00 @ SPECIES_POLIWAG
.byte 0x05 @ SPECIES_POLIWHIRL
.byte 0x00 @ SPECIES_POLIWRATH
.byte 0x00 @ SPECIES_ABRA
.byte 0x00 @ SPECIES_KADABRA
.byte 0x00 @ SPECIES_ALAKAZAM
.byte 0x00 @ SPECIES_MACHOP
.byte 0x00 @ SPECIES_MACHOKE
.byte 0x00 @ SPECIES_MACHAMP
.byte 0x00 @ SPECIES_BELLSPROUT
.byte 0x03 @ SPECIES_WEEPINBELL
.byte 0x00 @ SPECIES_VICTREEBEL
.byte 0x00 @ SPECIES_TENTACOOL
.byte 0x00 @ SPECIES_TENTACRUEL
.byte 0x00 @ SPECIES_GEODUDE
.byte 0x00 @ SPECIES_GRAVELER
.byte 0x00 @ SPECIES_GOLEM
.byte 0x00 @ SPECIES_PONYTA
.byte 0x00 @ SPECIES_RAPIDASH
.byte 0x00 @ SPECIES_SLOWPOKE
.byte 0x00 @ SPECIES_SLOWBRO
.byte 0x00 @ SPECIES_MAGNEMITE
.byte 0x00 @ SPECIES_MAGNETON
.byte 0x00 @ SPECIES_FARFETCHD
.byte 0x00 @ SPECIES_DODUO
.byte 0x00 @ SPECIES_DODRIO
.byte 0x00 @ SPECIES_SEEL
.byte 0x00 @ SPECIES_DEWGONG
.byte 0x00 @ SPECIES_GRIMER
.byte 0x2d @ SPECIES_MUK
.byte 0x14 @ SPECIES_SHELLDER
.byte 0x00 @ SPECIES_CLOYSTER
.byte 0x00 @ SPECIES_GASTLY
.byte 0x17 @ SPECIES_HAUNTER
.byte 0x00 @ SPECIES_GENGAR
.byte 0x00 @ SPECIES_ONIX
.byte 0x30 @ SPECIES_DROWZEE
.byte 0x28 @ SPECIES_HYPNO
.byte 0x00 @ SPECIES_KRABBY
.byte 0x00 @ SPECIES_KINGLER
.byte 0x00 @ SPECIES_VOLTORB
.byte 0x00 @ SPECIES_ELECTRODE
.byte 0x00 @ SPECIES_EXEGGCUTE
.byte 0x00 @ SPECIES_EXEGGUTOR
.byte 0x00 @ SPECIES_CUBONE
.byte 0x00 @ SPECIES_MAROWAK
.byte 0x00 @ SPECIES_HITMONLEE
.byte 0x19 @ SPECIES_HITMONCHAN
.byte 0x00 @ SPECIES_LICKITUNG
.byte 0x00 @ SPECIES_KOFFING
.byte 0x00 @ SPECIES_WEEZING
.byte 0x00 @ SPECIES_RHYHORN
.byte 0x00 @ SPECIES_RHYDON
.byte 0x00 @ SPECIES_CHANSEY
.byte 0x00 @ SPECIES_TANGELA
.byte 0x00 @ SPECIES_KANGASKHAN
.byte 0x00 @ SPECIES_HORSEA
.byte 0x00 @ SPECIES_SEADRA
.byte 0x00 @ SPECIES_GOLDEEN
.byte 0x00 @ SPECIES_SEAKING
.byte 0x00 @ SPECIES_STARYU
.byte 0x00 @ SPECIES_STARMIE
.byte 0x00 @ SPECIES_MR_MIME
.byte 0x0a @ SPECIES_SCYTHER
.byte 0x00 @ SPECIES_JYNX
.byte 0x00 @ SPECIES_ELECTABUZZ
.byte 0x00 @ SPECIES_MAGMAR
.byte 0x00 @ SPECIES_PINSIR
.byte 0x0a @ SPECIES_TAUROS
.byte 0x00 @ SPECIES_MAGIKARP
.byte 0x00 @ SPECIES_GYARADOS
.byte 0x00 @ SPECIES_LAPRAS
.byte 0x00 @ SPECIES_DITTO
.byte 0x00 @ SPECIES_EEVEE
.byte 0x00 @ SPECIES_VAPOREON
.byte 0x00 @ SPECIES_JOLTEON
.byte 0x00 @ SPECIES_FLAREON
.byte 0x00 @ SPECIES_PORYGON
.byte 0x00 @ SPECIES_OMANYTE
.byte 0x00 @ SPECIES_OMASTAR
.byte 0x00 @ SPECIES_KABUTO
.byte 0x00 @ SPECIES_KABUTOPS
.byte 0x00 @ SPECIES_AERODACTYL
.byte 0x00 @ SPECIES_SNORLAX
.byte 0x00 @ SPECIES_ARTICUNO
.byte 0x00 @ SPECIES_ZAPDOS
.byte 0x00 @ SPECIES_MOLTRES
.byte 0x00 @ SPECIES_DRATINI
.byte 0x00 @ SPECIES_DRAGONAIR
.byte 0x00 @ SPECIES_DRAGONITE
.byte 0x00 @ SPECIES_MEWTWO
.byte 0x00 @ SPECIES_MEW
.byte 0x00 @ SPECIES_CHIKORITA
.byte 0x00 @ SPECIES_BAYLEEF
.byte 0x00 @ SPECIES_MEGANIUM
.byte 0x00 @ SPECIES_CYNDAQUIL
.byte 0x00 @ SPECIES_QUILAVA
.byte 0x14 @ SPECIES_TYPHLOSION
.byte 0x00 @ SPECIES_TOTODILE
.byte 0x00 @ SPECIES_CROCONAW
.byte 0x05 @ SPECIES_FERALIGATR
.byte 0x00 @ SPECIES_SENTRET
.byte 0x00 @ SPECIES_FURRET
.byte 0x00 @ SPECIES_HOOTHOOT
.byte 0x00 @ SPECIES_NOCTOWL
.byte 0x00 @ SPECIES_LEDYBA
.byte 0x00 @ SPECIES_LEDIAN
.byte 0x00 @ SPECIES_SPINARAK
.byte 0x00 @ SPECIES_ARIADOS
.byte 0x00 @ SPECIES_CROBAT
.byte 0x00 @ SPECIES_CHINCHOU
.byte 0x00 @ SPECIES_LANTURN
.byte 0x00 @ SPECIES_PICHU
.byte 0x00 @ SPECIES_CLEFFA
.byte 0x00 @ SPECIES_IGGLYBUFF
.byte 0x00 @ SPECIES_TOGEPI
.byte 0x00 @ SPECIES_TOGETIC
.byte 0x1e @ SPECIES_NATU
.byte 0x00 @ SPECIES_XATU
.byte 0x32 @ SPECIES_MAREEP
.byte 0x00 @ SPECIES_FLAAFFY
.byte 0x0a @ SPECIES_AMPHAROS
.byte 0x00 @ SPECIES_BELLOSSOM
.byte 0x00 @ SPECIES_MARILL
.byte 0x00 @ SPECIES_AZUMARILL
.byte 0x00 @ SPECIES_SUDOWOODO
.byte 0x28 @ SPECIES_POLITOED
.byte 0x00 @ SPECIES_HOPPIP
.byte 0x00 @ SPECIES_SKIPLOOM
.byte 0x00 @ SPECIES_JUMPLUFF
.byte 0x00 @ SPECIES_AIPOM
.byte 0x00 @ SPECIES_SUNKERN
.byte 0x00 @ SPECIES_SUNFLORA
.byte 0x00 @ SPECIES_YANMA
.byte 0x00 @ SPECIES_WOOPER
.byte 0x00 @ SPECIES_QUAGSIRE
.byte 0x00 @ SPECIES_ESPEON
.byte 0x00 @ SPECIES_UMBREON
.byte 0x00 @ SPECIES_MURKROW
.byte 0x00 @ SPECIES_SLOWKING
.byte 0x00 @ SPECIES_MISDREAVUS
.byte 0x00 @ SPECIES_UNOWN
.byte 0x00 @ SPECIES_WOBBUFFET
.byte 0x00 @ SPECIES_GIRAFARIG
.byte 0x00 @ SPECIES_PINECO
.byte 0x00 @ SPECIES_FORRETRESS
.byte 0x0a @ SPECIES_DUNSPARCE
.byte 0x00 @ SPECIES_GLIGAR
.byte 0x2d @ SPECIES_STEELIX
.byte 0x00 @ SPECIES_SNUBBULL
.byte 0x00 @ SPECIES_GRANBULL
.byte 0x27 @ SPECIES_QWILFISH
.byte 0x13 @ SPECIES_SCIZOR
.byte 0x00 @ SPECIES_SHUCKLE
.byte 0x00 @ SPECIES_HERACROSS
.byte 0x00 @ SPECIES_SNEASEL
.byte 0x00 @ SPECIES_TEDDIURSA
.byte 0x00 @ SPECIES_URSARING
.byte 0x00 @ SPECIES_SLUGMA
.byte 0x00 @ SPECIES_MAGCARGO
.byte 0x00 @ SPECIES_SWINUB
.byte 0x00 @ SPECIES_PILOSWINE
.byte 0x00 @ SPECIES_CORSOLA
.byte 0x00 @ SPECIES_REMORAID
.byte 0x14 @ SPECIES_OCTILLERY
.byte 0x00 @ SPECIES_DELIBIRD
.byte 0x00 @ SPECIES_MANTINE
.byte 0x00 @ SPECIES_SKARMORY
.byte 0x00 @ SPECIES_HOUNDOUR
.byte 0x00 @ SPECIES_HOUNDOOM
.byte 0x00 @ SPECIES_KINGDRA
.byte 0x00 @ SPECIES_PHANPY
.byte 0x00 @ SPECIES_DONPHAN
.byte 0x00 @ SPECIES_PORYGON2
.byte 0x00 @ SPECIES_STANTLER
.byte 0x00 @ SPECIES_SMEARGLE
.byte 0x00 @ SPECIES_TYROGUE
.byte 0x00 @ SPECIES_HITMONTOP
.byte 0x28 @ SPECIES_SMOOCHUM
.byte 0x00 @ SPECIES_ELEKID
.byte 0x00 @ SPECIES_MAGBY
.byte 0x00 @ SPECIES_MILTANK
.byte 0x00 @ SPECIES_BLISSEY
.byte 0x00 @ SPECIES_RAIKOU
.byte 0x00 @ SPECIES_ENTEI
.byte 0x00 @ SPECIES_SUICUNE
.byte 0x00 @ SPECIES_LARVITAR
.byte 0x00 @ SPECIES_PUPITAR
.byte 0x0a @ SPECIES_TYRANITAR
.byte 0x14 @ SPECIES_LUGIA
.byte 0x00 @ SPECIES_HO_OH
.byte 0x00 @ SPECIES_CELEBI
.byte 0x00 @ 252
.byte 0x00 @ 253
.byte 0x00 @ 254
.byte 0x00 @ 255
.byte 0x00 @ 256
.byte 0x00 @ 257
.byte 0x00 @ 258
.byte 0x00 @ 259
.byte 0x00 @ 260
.byte 0x00 @ 261
.byte 0x00 @ 262
.byte 0x00 @ 263
.byte 0x00 @ 264
.byte 0x00 @ 265
.byte 0x00 @ 266
.byte 0x00 @ 267
.byte 0x00 @ 268
.byte 0x00 @ 269
.byte 0x00 @ 270
.byte 0x00 @ 271
.byte 0x00 @ 272
.byte 0x00 @ 273
.byte 0x00 @ 274
.byte 0x00 @ 275
.byte 0x00 @ 276
.byte 0x00 @ SPECIES_TREECKO
.byte 0x00 @ SPECIES_GROVYLE
.byte 0x00 @ SPECIES_SCEPTILE
.byte 0x00 @ SPECIES_TORCHIC
.byte 0x00 @ SPECIES_COMBUSKEN
.byte 0x00 @ SPECIES_BLAZIKEN
.byte 0x00 @ SPECIES_MUDKIP
.byte 0x00 @ SPECIES_MARSHTOMP
.byte 0x00 @ SPECIES_SWAMPERT
.byte 0x00 @ SPECIES_POOCHYENA
.byte 0x00 @ SPECIES_MIGHTYENA
.byte 0x00 @ SPECIES_ZIGZAGOON
.byte 0x00 @ SPECIES_LINOONE
.byte 0x00 @ SPECIES_WURMPLE
.byte 0x00 @ SPECIES_SILCOON
.byte 0x00 @ SPECIES_BEAUTIFLY
.byte 0x00 @ SPECIES_CASCOON
.byte 0x00 @ SPECIES_DUSTOX
.byte 0x00 @ SPECIES_LOTAD
.byte 0x00 @ SPECIES_LOMBRE
.byte 0x00 @ SPECIES_LUDICOLO
.byte 0x00 @ SPECIES_SEEDOT
.byte 0x00 @ SPECIES_NUZLEAF
.byte 0x00 @ SPECIES_SHIFTRY
.byte 0x00 @ SPECIES_NINCADA
.byte 0x00 @ SPECIES_NINJASK
.byte 0x00 @ SPECIES_SHEDINJA
.byte 0x00 @ SPECIES_TAILLOW
.byte 0x00 @ SPECIES_SWELLOW
.byte 0x00 @ SPECIES_SHROOMISH
.byte 0x00 @ SPECIES_BRELOOM
.byte 0x00 @ SPECIES_SPINDA
.byte 0x00 @ SPECIES_WINGULL
.byte 0x00 @ SPECIES_PELIPPER
.byte 0x00 @ SPECIES_SURSKIT
.byte 0x00 @ SPECIES_MASQUERAIN
.byte 0x00 @ SPECIES_WAILMER
.byte 0x0a @ SPECIES_WAILORD
.byte 0x00 @ SPECIES_SKITTY
.byte 0x00 @ SPECIES_DELCATTY
.byte 0x1e @ SPECIES_KECLEON
.byte 0x00 @ SPECIES_BALTOY
.byte 0x00 @ SPECIES_CLAYDOL
.byte 0x00 @ SPECIES_NOSEPASS
.byte 0x00 @ SPECIES_TORKOAL
.byte 0x00 @ SPECIES_SABLEYE
.byte 0x00 @ SPECIES_BARBOACH
.byte 0x00 @ SPECIES_WHISCASH
.byte 0x00 @ SPECIES_LUVDISC
.byte 0x00 @ SPECIES_CORPHISH
.byte 0x00 @ SPECIES_CRAWDAUNT
.byte 0x00 @ SPECIES_FEEBAS
.byte 0x2d @ SPECIES_MILOTIC
.byte 0x00 @ SPECIES_CARVANHA
.byte 0x00 @ SPECIES_SHARPEDO
.byte 0x00 @ SPECIES_TRAPINCH
.byte 0x00 @ SPECIES_VIBRAVA
.byte 0x00 @ SPECIES_FLYGON
.byte 0x00 @ SPECIES_MAKUHITA
.byte 0x00 @ SPECIES_HARIYAMA
.byte 0x00 @ SPECIES_ELECTRIKE
.byte 0x00 @ SPECIES_MANECTRIC
.byte 0x00 @ SPECIES_NUMEL
.byte 0x00 @ SPECIES_CAMERUPT
.byte 0x0f @ SPECIES_SPHEAL
.byte 0x00 @ SPECIES_SEALEO
.byte 0x00 @ SPECIES_WALREIN
.byte 0x00 @ SPECIES_CACNEA
.byte 0x00 @ SPECIES_CACTURNE
.byte 0x14 @ SPECIES_SNORUNT
.byte 0x00 @ SPECIES_GLALIE
.byte 0x00 @ SPECIES_LUNATONE
.byte 0x00 @ SPECIES_SOLROCK
.byte 0x00 @ SPECIES_AZURILL
.byte 0x00 @ SPECIES_SPOINK
.byte 0x0f @ SPECIES_GRUMPIG
.byte 0x00 @ SPECIES_PLUSLE
.byte 0x00 @ SPECIES_MINUN
.byte 0x00 @ SPECIES_MAWILE
.byte 0x00 @ SPECIES_MEDITITE
.byte 0x00 @ SPECIES_MEDICHAM
.byte 0x00 @ SPECIES_SWABLU
.byte 0x00 @ SPECIES_ALTARIA
.byte 0x0f @ SPECIES_WYNAUT
.byte 0x00 @ SPECIES_DUSKULL
.byte 0x1e @ SPECIES_DUSCLOPS
.byte 0x00 @ SPECIES_ROSELIA
.byte 0x00 @ SPECIES_SLAKOTH
.byte 0x00 @ SPECIES_VIGOROTH
.byte 0x00 @ SPECIES_SLAKING
.byte 0x00 @ SPECIES_GULPIN
.byte 0x00 @ SPECIES_SWALOT
.byte 0x00 @ SPECIES_TROPIUS
.byte 0x00 @ SPECIES_WHISMUR
.byte 0x00 @ SPECIES_LOUDRED
.byte 0x00 @ SPECIES_EXPLOUD
.byte 0x00 @ SPECIES_CLAMPERL
.byte 0x00 @ SPECIES_HUNTAIL
.byte 0x00 @ SPECIES_GOREBYSS
.byte 0x2d @ SPECIES_ABSOL
.byte 0x00 @ SPECIES_SHUPPET
.byte 0x00 @ SPECIES_BANETTE
.byte 0x00 @ SPECIES_SEVIPER
.byte 0x00 @ SPECIES_ZANGOOSE
.byte 0x00 @ SPECIES_RELICANTH
.byte 0x00 @ SPECIES_ARON
.byte 0x00 @ SPECIES_LAIRON
.byte 0x00 @ SPECIES_AGGRON
.byte 0x00 @ SPECIES_CASTFORM
.byte 0x00 @ SPECIES_VOLBEAT
.byte 0x00 @ SPECIES_ILLUMISE
.byte 0x00 @ SPECIES_LILEEP
.byte 0x00 @ SPECIES_CRADILY
.byte 0x00 @ SPECIES_ANORITH
.byte 0x00 @ SPECIES_ARMALDO
.byte 0x00 @ SPECIES_RALTS
.byte 0x00 @ SPECIES_KIRLIA
.byte 0x00 @ SPECIES_GARDEVOIR
.byte 0x00 @ SPECIES_BAGON
.byte 0x00 @ SPECIES_SHELGON
.byte 0x46 @ SPECIES_SALAMENCE
.byte 0x00 @ SPECIES_BELDUM
.byte 0x00 @ SPECIES_METANG
.byte 0x00 @ SPECIES_METAGROSS
.byte 0x00 @ SPECIES_REGIROCK
.byte 0x00 @ SPECIES_REGICE
.byte 0x00 @ SPECIES_REGISTEEL
.byte 0x3c @ SPECIES_KYOGRE
.byte 0x00 @ SPECIES_GROUDON
.byte 0x3c @ SPECIES_RAYQUAZA
.byte 0x00 @ SPECIES_LATIAS
.byte 0x00 @ SPECIES_LATIOS
.byte 0x00 @ SPECIES_JIRACHI
.byte 0x00 @ SPECIES_DEOXYS
.byte 0x00 @ SPECIES_CHIMECHO
@@ -1,412 +0,0 @@
gMonFrontAnimIdsTable:: @ 83299EC
.byte 0x06 @ SPECIES_BULBASAUR
.byte 0x17 @ SPECIES_IVYSAUR
.byte 0x2f @ SPECIES_VENUSAUR
.byte 0x52 @ SPECIES_CHARMANDER
.byte 0x25 @ SPECIES_CHARMELEON
.byte 0x10 @ SPECIES_CHARIZARD
.byte 0x0b @ SPECIES_SQUIRTLE
.byte 0x13 @ SPECIES_WARTORTLE
.byte 0x19 @ SPECIES_BLASTOISE
.byte 0x0b @ SPECIES_CATERPIE
.byte 0x0b @ SPECIES_METAPOD
.byte 0x1d @ SPECIES_BUTTERFREE
.byte 0x46 @ SPECIES_WEEDLE
.byte 0x20 @ SPECIES_KAKUNA
.byte 0x02 @ SPECIES_BEEDRILL
.byte 0x47 @ SPECIES_PIDGEY
.byte 0x17 @ SPECIES_PIDGEOTTO
.byte 0x29 @ SPECIES_PIDGEOT
.byte 0x43 @ SPECIES_RATTATA
.byte 0x2b @ SPECIES_RATICATE
.byte 0x18 @ SPECIES_SPEAROW
.byte 0x2b @ SPECIES_FEAROW
.byte 0x16 @ SPECIES_EKANS
.byte 0x17 @ SPECIES_ARBOK
.byte 0x2c @ SPECIES_PIKACHU
.byte 0x17 @ SPECIES_RAICHU
.byte 0x2d @ SPECIES_SANDSHREW
.byte 0x17 @ SPECIES_SANDSLASH
.byte 0x00 @ SPECIES_NIDORAN_F
.byte 0x17 @ SPECIES_NIDORINA
.byte 0x0f @ SPECIES_NIDOQUEEN
.byte 0x09 @ SPECIES_NIDORAN_M
.byte 0x13 @ SPECIES_NIDORINO
.byte 0x0f @ SPECIES_NIDOKING
.byte 0x00 @ SPECIES_CLEFAIRY
.byte 0x4a @ SPECIES_CLEFABLE
.byte 0x17 @ SPECIES_VULPIX
.byte 0x10 @ SPECIES_NINETALES
.byte 0x48 @ SPECIES_JIGGLYPUFF
.byte 0x31 @ SPECIES_WIGGLYTUFF
.byte 0x00 @ SPECIES_ZUBAT
.byte 0x1d @ SPECIES_GOLBAT
.byte 0x00 @ SPECIES_ODDISH
.byte 0x45 @ SPECIES_GLOOM
.byte 0x49 @ SPECIES_VILEPLUME
.byte 0x46 @ SPECIES_PARAS
.byte 0x0f @ SPECIES_PARASECT
.byte 0x06 @ SPECIES_VENONAT
.byte 0x4b @ SPECIES_VENOMOTH
.byte 0x10 @ SPECIES_DIGLETT
.byte 0x4c @ SPECIES_DUGTRIO
.byte 0x52 @ SPECIES_MEOWTH
.byte 0x17 @ SPECIES_PERSIAN
.byte 0x06 @ SPECIES_PSYDUCK
.byte 0x4c @ SPECIES_GOLDUCK
.byte 0x32 @ SPECIES_MANKEY
.byte 0x48 @ SPECIES_PRIMEAPE
.byte 0x25 @ SPECIES_GROWLITHE
.byte 0x02 @ SPECIES_ARCANINE
.byte 0x00 @ SPECIES_POLIWAG
.byte 0x32 @ SPECIES_POLIWHIRL
.byte 0x19 @ SPECIES_POLIWRATH
.byte 0x31 @ SPECIES_ABRA
.byte 0x09 @ SPECIES_KADABRA
.byte 0x17 @ SPECIES_ALAKAZAM
.byte 0x00 @ SPECIES_MACHOP
.byte 0x10 @ SPECIES_MACHOKE
.byte 0x31 @ SPECIES_MACHAMP
.byte 0x17 @ SPECIES_BELLSPROUT
.byte 0x0d @ SPECIES_WEEPINBELL
.byte 0x32 @ SPECIES_VICTREEBEL
.byte 0x00 @ SPECIES_TENTACOOL
.byte 0x00 @ SPECIES_TENTACRUEL
.byte 0x48 @ SPECIES_GEODUDE
.byte 0x48 @ SPECIES_GRAVELER
.byte 0x2f @ SPECIES_GOLEM
.byte 0x20 @ SPECIES_PONYTA
.byte 0x11 @ SPECIES_RAPIDASH
.byte 0x45 @ SPECIES_SLOWPOKE
.byte 0x0b @ SPECIES_SLOWBRO
.byte 0x54 @ SPECIES_MAGNEMITE
.byte 0x2c @ SPECIES_MAGNETON
.byte 0x48 @ SPECIES_FARFETCHD
.byte 0x4c @ SPECIES_DODUO
.byte 0x41 @ SPECIES_DODRIO
.byte 0x0b @ SPECIES_SEEL
.byte 0x45 @ SPECIES_DEWGONG
.byte 0x46 @ SPECIES_GRIMER
.byte 0x30 @ SPECIES_MUK
.byte 0x12 @ SPECIES_SHELLDER
.byte 0x1d @ SPECIES_CLOYSTER
.byte 0x15 @ SPECIES_GASTLY
.byte 0x35 @ SPECIES_HAUNTER
.byte 0x3a @ SPECIES_GENGAR
.byte 0x43 @ SPECIES_ONIX
.byte 0x4f @ SPECIES_DROWZEE
.byte 0x09 @ SPECIES_HYPNO
.byte 0x03 @ SPECIES_KRABBY
.byte 0x4b @ SPECIES_KINGLER
.byte 0x00 @ SPECIES_VOLTORB
.byte 0x00 @ SPECIES_ELECTRODE
.byte 0x46 @ SPECIES_EXEGGCUTE
.byte 0x32 @ SPECIES_EXEGGUTOR
.byte 0x48 @ SPECIES_CUBONE
.byte 0x05 @ SPECIES_MAROWAK
.byte 0x16 @ SPECIES_HITMONLEE
.byte 0x09 @ SPECIES_HITMONCHAN
.byte 0x45 @ SPECIES_LICKITUNG
.byte 0x13 @ SPECIES_KOFFING
.byte 0x04 @ SPECIES_WEEZING
.byte 0x10 @ SPECIES_RHYHORN
.byte 0x13 @ SPECIES_RHYDON
.byte 0x45 @ SPECIES_CHANSEY
.byte 0x48 @ SPECIES_TANGELA
.byte 0x17 @ SPECIES_KANGASKHAN
.byte 0x12 @ SPECIES_HORSEA
.byte 0x04 @ SPECIES_SEADRA
.byte 0x0d @ SPECIES_GOLDEEN
.byte 0x1c @ SPECIES_SEAKING
.byte 0x4e @ SPECIES_STARYU
.byte 0x12 @ SPECIES_STARMIE
.byte 0x46 @ SPECIES_MR_MIME
.byte 0x02 @ SPECIES_SCYTHER
.byte 0x17 @ SPECIES_JYNX
.byte 0x2c @ SPECIES_ELECTABUZZ
.byte 0x0f @ SPECIES_MAGMAR
.byte 0x09 @ SPECIES_PINSIR
.byte 0x19 @ SPECIES_TAUROS
.byte 0x05 @ SPECIES_MAGIKARP
.byte 0x48 @ SPECIES_GYARADOS
.byte 0x17 @ SPECIES_LAPRAS
.byte 0x01 @ SPECIES_DITTO
.byte 0x17 @ SPECIES_EEVEE
.byte 0x17 @ SPECIES_VAPOREON
.byte 0x00 @ SPECIES_JOLTEON
.byte 0x17 @ SPECIES_FLAREON
.byte 0x52 @ SPECIES_PORYGON
.byte 0x51 @ SPECIES_OMANYTE
.byte 0x09 @ SPECIES_OMASTAR
.byte 0x1d @ SPECIES_KABUTO
.byte 0x0f @ SPECIES_KABUTOPS
.byte 0x47 @ SPECIES_AERODACTYL
.byte 0x0b @ SPECIES_SNORLAX
.byte 0x09 @ SPECIES_ARTICUNO
.byte 0x2c @ SPECIES_ZAPDOS
.byte 0x45 @ SPECIES_MOLTRES
.byte 0x00 @ SPECIES_DRATINI
.byte 0x10 @ SPECIES_DRAGONAIR
.byte 0x47 @ SPECIES_DRAGONITE
.byte 0x09 @ SPECIES_MEWTWO
.byte 0x0d @ SPECIES_MEW
.byte 0x00 @ SPECIES_CHIKORITA
.byte 0x00 @ SPECIES_BAYLEEF
.byte 0x17 @ SPECIES_MEGANIUM
.byte 0x52 @ SPECIES_CYNDAQUIL
.byte 0x17 @ SPECIES_QUILAVA
.byte 0x10 @ SPECIES_TYPHLOSION
.byte 0x31 @ SPECIES_TOTODILE
.byte 0x0f @ SPECIES_CROCONAW
.byte 0x0f @ SPECIES_FERALIGATR
.byte 0x00 @ SPECIES_SENTRET
.byte 0x32 @ SPECIES_FURRET
.byte 0x47 @ SPECIES_HOOTHOOT
.byte 0x17 @ SPECIES_NOCTOWL
.byte 0x52 @ SPECIES_LEDYBA
.byte 0x47 @ SPECIES_LEDIAN
.byte 0x4f @ SPECIES_SPINARAK
.byte 0x0f @ SPECIES_ARIADOS
.byte 0x00 @ SPECIES_CROBAT
.byte 0x45 @ SPECIES_CHINCHOU
.byte 0x51 @ SPECIES_LANTURN
.byte 0x1e @ SPECIES_PICHU
.byte 0x52 @ SPECIES_CLEFFA
.byte 0x0c @ SPECIES_IGGLYBUFF
.byte 0x0b @ SPECIES_TOGEPI
.byte 0x00 @ SPECIES_TOGETIC
.byte 0x31 @ SPECIES_NATU
.byte 0x09 @ SPECIES_XATU
.byte 0x00 @ SPECIES_MAREEP
.byte 0x1e @ SPECIES_FLAAFFY
.byte 0x2c @ SPECIES_AMPHAROS
.byte 0x0b @ SPECIES_BELLOSSOM
.byte 0x00 @ SPECIES_MARILL
.byte 0x4a @ SPECIES_AZUMARILL
.byte 0x46 @ SPECIES_SUDOWOODO
.byte 0x32 @ SPECIES_POLITOED
.byte 0x1c @ SPECIES_HOPPIP
.byte 0x18 @ SPECIES_SKIPLOOM
.byte 0x51 @ SPECIES_JUMPLUFF
.byte 0x32 @ SPECIES_AIPOM
.byte 0x52 @ SPECIES_SUNKERN
.byte 0x00 @ SPECIES_SUNFLORA
.byte 0x2b @ SPECIES_YANMA
.byte 0x00 @ SPECIES_WOOPER
.byte 0x16 @ SPECIES_QUAGSIRE
.byte 0x09 @ SPECIES_ESPEON
.byte 0x10 @ SPECIES_UMBREON
.byte 0x00 @ SPECIES_MURKROW
.byte 0x13 @ SPECIES_SLOWKING
.byte 0x1c @ SPECIES_MISDREAVUS
.byte 0x0a @ SPECIES_UNOWN
.byte 0x30 @ SPECIES_WOBBUFFET
.byte 0x1e @ SPECIES_GIRAFARIG
.byte 0x0b @ SPECIES_PINECO
.byte 0x10 @ SPECIES_FORRETRESS
.byte 0x00 @ SPECIES_DUNSPARCE
.byte 0x13 @ SPECIES_GLIGAR
.byte 0x0f @ SPECIES_STEELIX
.byte 0x17 @ SPECIES_SNUBBULL
.byte 0x10 @ SPECIES_GRANBULL
.byte 0x3a @ SPECIES_QWILFISH
.byte 0x02 @ SPECIES_SCIZOR
.byte 0x0b @ SPECIES_SHUCKLE
.byte 0x41 @ SPECIES_HERACROSS
.byte 0x16 @ SPECIES_SNEASEL
.byte 0x17 @ SPECIES_TEDDIURSA
.byte 0x10 @ SPECIES_URSARING
.byte 0x17 @ SPECIES_SLUGMA
.byte 0x17 @ SPECIES_MAGCARGO
.byte 0x00 @ SPECIES_SWINUB
.byte 0x0f @ SPECIES_PILOSWINE
.byte 0x03 @ SPECIES_CORSOLA
.byte 0x52 @ SPECIES_REMORAID
.byte 0x17 @ SPECIES_OCTILLERY
.byte 0x52 @ SPECIES_DELIBIRD
.byte 0x0d @ SPECIES_MANTINE
.byte 0x17 @ SPECIES_SKARMORY
.byte 0x17 @ SPECIES_HOUNDOUR
.byte 0x10 @ SPECIES_HOUNDOOM
.byte 0x42 @ SPECIES_KINGDRA
.byte 0x32 @ SPECIES_PHANPY
.byte 0x19 @ SPECIES_DONPHAN
.byte 0x00 @ SPECIES_PORYGON2
.byte 0x00 @ SPECIES_STANTLER
.byte 0x31 @ SPECIES_SMEARGLE
.byte 0x16 @ SPECIES_TYROGUE
.byte 0x02 @ SPECIES_HITMONTOP
.byte 0x09 @ SPECIES_SMOOCHUM
.byte 0x2c @ SPECIES_ELEKID
.byte 0x00 @ SPECIES_MAGBY
.byte 0x45 @ SPECIES_MILTANK
.byte 0x00 @ SPECIES_BLISSEY
.byte 0x2c @ SPECIES_RAIKOU
.byte 0x09 @ SPECIES_ENTEI
.byte 0x10 @ SPECIES_SUICUNE
.byte 0x52 @ SPECIES_LARVITAR
.byte 0x10 @ SPECIES_PUPITAR
.byte 0x0f @ SPECIES_TYRANITAR
.byte 0x3a @ SPECIES_LUGIA
.byte 0x09 @ SPECIES_HO_OH
.byte 0x18 @ SPECIES_CELEBI
.byte 0x00 @ 252
.byte 0x00 @ 253
.byte 0x00 @ 254
.byte 0x00 @ 255
.byte 0x00 @ 256
.byte 0x00 @ 257
.byte 0x00 @ 258
.byte 0x00 @ 259
.byte 0x00 @ 260
.byte 0x00 @ 261
.byte 0x00 @ 262
.byte 0x00 @ 263
.byte 0x00 @ 264
.byte 0x00 @ 265
.byte 0x00 @ 266
.byte 0x00 @ 267
.byte 0x00 @ 268
.byte 0x00 @ 269
.byte 0x00 @ 270
.byte 0x00 @ 271
.byte 0x00 @ 272
.byte 0x00 @ 273
.byte 0x00 @ 274
.byte 0x00 @ 275
.byte 0x00 @ 276
.byte 0x00 @ SPECIES_TREECKO
.byte 0x17 @ SPECIES_GROVYLE
.byte 0x10 @ SPECIES_SCEPTILE
.byte 0x16 @ SPECIES_TORCHIC
.byte 0x06 @ SPECIES_COMBUSKEN
.byte 0x0f @ SPECIES_BLAZIKEN
.byte 0x01 @ SPECIES_MUDKIP
.byte 0x04 @ SPECIES_MARSHTOMP
.byte 0x1e @ SPECIES_SWAMPERT
.byte 0x10 @ SPECIES_POOCHYENA
.byte 0x10 @ SPECIES_MIGHTYENA
.byte 0x03 @ SPECIES_ZIGZAGOON
.byte 0x09 @ SPECIES_LINOONE
.byte 0x00 @ SPECIES_WURMPLE
.byte 0x00 @ SPECIES_SILCOON
.byte 0x04 @ SPECIES_BEAUTIFLY
.byte 0x04 @ SPECIES_CASCOON
.byte 0x06 @ SPECIES_DUSTOX
.byte 0x00 @ SPECIES_LOTAD
.byte 0x00 @ SPECIES_LOMBRE
.byte 0x49 @ SPECIES_LUDICOLO
.byte 0x05 @ SPECIES_SEEDOT
.byte 0x00 @ SPECIES_NUZLEAF
.byte 0x02 @ SPECIES_SHIFTRY
.byte 0x00 @ SPECIES_NINCADA
.byte 0x46 @ SPECIES_NINJASK
.byte 0x1c @ SPECIES_SHEDINJA
.byte 0x1e @ SPECIES_TAILLOW
.byte 0x01 @ SPECIES_SWELLOW
.byte 0x00 @ SPECIES_SHROOMISH
.byte 0x00 @ SPECIES_BRELOOM
.byte 0x31 @ SPECIES_SPINDA
.byte 0x1b @ SPECIES_WINGULL
.byte 0x1c @ SPECIES_PELIPPER
.byte 0x00 @ SPECIES_SURSKIT
.byte 0x00 @ SPECIES_MASQUERAIN
.byte 0x01 @ SPECIES_WAILMER
.byte 0x1c @ SPECIES_WAILORD
.byte 0x00 @ SPECIES_SKITTY
.byte 0x17 @ SPECIES_DELCATTY
.byte 0x35 @ SPECIES_KECLEON
.byte 0x1d @ SPECIES_BALTOY
.byte 0x51 @ SPECIES_CLAYDOL
.byte 0x49 @ SPECIES_NOSEPASS
.byte 0x17 @ SPECIES_TORKOAL
.byte 0x15 @ SPECIES_SABLEYE
.byte 0x49 @ SPECIES_BARBOACH
.byte 0x49 @ SPECIES_WHISCASH
.byte 0x1d @ SPECIES_LUVDISC
.byte 0x10 @ SPECIES_CORPHISH
.byte 0x09 @ SPECIES_CRAWDAUNT
.byte 0x49 @ SPECIES_FEEBAS
.byte 0x22 @ SPECIES_MILOTIC
.byte 0x49 @ SPECIES_CARVANHA
.byte 0x56 @ SPECIES_SHARPEDO
.byte 0x10 @ SPECIES_TRAPINCH
.byte 0x0f @ SPECIES_VIBRAVA
.byte 0x4b @ SPECIES_FLYGON
.byte 0x0b @ SPECIES_MAKUHITA
.byte 0x34 @ SPECIES_HARIYAMA
.byte 0x00 @ SPECIES_ELECTRIKE
.byte 0x00 @ SPECIES_MANECTRIC
.byte 0x04 @ SPECIES_NUMEL
.byte 0x10 @ SPECIES_CAMERUPT
.byte 0x53 @ SPECIES_SPHEAL
.byte 0x17 @ SPECIES_SEALEO
.byte 0x0f @ SPECIES_WALREIN
.byte 0x49 @ SPECIES_CACNEA
.byte 0x04 @ SPECIES_CACTURNE
.byte 0x45 @ SPECIES_SNORUNT
.byte 0x0a @ SPECIES_GLALIE
.byte 0x0e @ SPECIES_LUNATONE
.byte 0x08 @ SPECIES_SOLROCK
.byte 0x00 @ SPECIES_AZURILL
.byte 0x56 @ SPECIES_SPOINK
.byte 0x32 @ SPECIES_GRUMPIG
.byte 0x00 @ SPECIES_PLUSLE
.byte 0x01 @ SPECIES_MINUN
.byte 0x00 @ SPECIES_MAWILE
.byte 0x05 @ SPECIES_MEDITITE
.byte 0x45 @ SPECIES_MEDICHAM
.byte 0x04 @ SPECIES_SWABLU
.byte 0x16 @ SPECIES_ALTARIA
.byte 0x32 @ SPECIES_WYNAUT
.byte 0x0a @ SPECIES_DUSKULL
.byte 0x02 @ SPECIES_DUSCLOPS
.byte 0x45 @ SPECIES_ROSELIA
.byte 0x45 @ SPECIES_SLAKOTH
.byte 0x31 @ SPECIES_VIGOROTH
.byte 0x45 @ SPECIES_SLAKING
.byte 0x00 @ SPECIES_GULPIN
.byte 0x45 @ SPECIES_SWALOT
.byte 0x10 @ SPECIES_TROPIUS
.byte 0x03 @ SPECIES_WHISMUR
.byte 0x49 @ SPECIES_LOUDRED
.byte 0x19 @ SPECIES_EXPLOUD
.byte 0x12 @ SPECIES_CLAMPERL
.byte 0x09 @ SPECIES_HUNTAIL
.byte 0x1c @ SPECIES_GOREBYSS
.byte 0x11 @ SPECIES_ABSOL
.byte 0x1c @ SPECIES_SHUPPET
.byte 0x0d @ SPECIES_BANETTE
.byte 0x17 @ SPECIES_SEVIPER
.byte 0x09 @ SPECIES_ZANGOOSE
.byte 0x1a @ SPECIES_RELICANTH
.byte 0x45 @ SPECIES_ARON
.byte 0x00 @ SPECIES_LAIRON
.byte 0x19 @ SPECIES_AGGRON
.byte 0x1d @ SPECIES_CASTFORM
.byte 0x00 @ SPECIES_VOLBEAT
.byte 0x05 @ SPECIES_ILLUMISE
.byte 0x17 @ SPECIES_LILEEP
.byte 0x19 @ SPECIES_CRADILY
.byte 0x12 @ SPECIES_ANORITH
.byte 0x10 @ SPECIES_ARMALDO
.byte 0x45 @ SPECIES_RALTS
.byte 0x00 @ SPECIES_KIRLIA
.byte 0x00 @ SPECIES_GARDEVOIR
.byte 0x19 @ SPECIES_BAGON
.byte 0x04 @ SPECIES_SHELGON
.byte 0x0f @ SPECIES_SALAMENCE
.byte 0x0f @ SPECIES_BELDUM
.byte 0x04 @ SPECIES_METANG
.byte 0x10 @ SPECIES_METAGROSS
.byte 0x01 @ SPECIES_REGIROCK
.byte 0x44 @ SPECIES_REGICE
.byte 0x09 @ SPECIES_REGISTEEL
.byte 0x2d @ SPECIES_KYOGRE
.byte 0x10 @ SPECIES_GROUDON
.byte 0x0f @ SPECIES_RAYQUAZA
.byte 0x2d @ SPECIES_LATIAS
.byte 0x10 @ SPECIES_LATIOS
.byte 0x0d @ SPECIES_JIRACHI
.byte 0x1b @ SPECIES_DEOXYS
.byte 0x1d @ SPECIES_CHIMECHO
-127
View File
@@ -1,127 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gUnknown_08613F90:: @ 8613F90
.4byte 0x11F0, 0x1E1, 0x21DE
@ possibly a struct
gUnknown_08613F9C:: @ 8613F9C
.4byte 0
.4byte bag_menu_change_item_callback
.4byte sub_81AB520
.4byte 0
.4byte 0x80000
.4byte 0x7003011
gUnknown_08613FB4:: @ 8613FB4
.4byte gMenuText_Use, ItemMenu_UseOutOfBattle
.4byte gMenuText_Toss, ItemMenu_Toss
.4byte gMenuText_Register, ItemMenu_Register
.4byte gMenuText_Give, ItemMenu_Give
.4byte gText_Cancel2, ItemMenu_Cancel
.4byte gMenuText_Use, ItemMenu_UseInBattle
.4byte gMenuText_Check, ItemMenu_UseOutOfBattle
.4byte gMenuText_Walk, ItemMenu_UseOutOfBattle
.4byte gMenuText_Deselect, ItemMenu_Register
.4byte gMenuText_CheckTag, ItemMenu_CheckTag
.4byte gMenuText_Confirm, unknown_ItemMenu_Confirm
.4byte gMenuText_Show, unknown_ItemMenu_Show
.4byte gMenuText_Give2, unknown_ItemMenu_Give2
.4byte gMenuText_Confirm, unknown_ItemMenu_Confirm2
.4byte gText_EmptyString2, NULL
gUnknown_0861402C:: @ 861402C
.byte 0, 3, 1, 4
gUnknown_08614030:: @ 8614030
.byte 0, 2, 14, 4
gUnknown_08614034:: @ 8614034
.byte 3, 14, 1, 4
gUnknown_08614038:: @ 8614038
.byte 0, 3, 14, 4
gUnknown_0861403C:: @ 861403C
.byte 9, 14, 0, 3, 1, 4
gUnknown_08614042:: @ 8614042
.byte 5, 4
gUnknown_08614044:: @ 8614044
.byte 3, 4
gUnknown_08614046:: @ 8614046
.byte 4
gUnknown_08614047:: @ 8614047
.byte 10, 9, 14, 4
gUnknown_0861404B:: @ 861404B
.byte 11, 4
gUnknown_0861404D:: @ 861404D
.byte 12, 4
gUnknown_0861404F:: @ 861404F
.byte 13, 4
.align 2
gUnknown_08614054:: @ 8614054
.4byte unknown_item_menu_type
.4byte unknown_item_menu_type
.4byte item_menu_type_2
.4byte display_sell_item_ask_str
.4byte unknown_ItemMenu_Confirm
.4byte unknown_item_menu_type
.4byte display_deposit_item_ask_str
.4byte unknown_item_menu_type
.4byte unknown_item_menu_type
.4byte unknown_item_menu_type
.4byte NULL
.4byte item_menu_type_b
.align 2
gUnknown_08614084:: @ 8614084
.4byte BagMenuActuallyToss
.4byte BagMenuCancelToss
gUnknown_0861408C:: @ 861408C
.4byte sub_81AD84C
.4byte sub_81AD6FC
@ probably a struct
gUnknown_08614094:: @ 8614094
.4byte 0x1101C00
.4byte 0xFFFF1064
.4byte 0x6FFFFF
.4byte 0x6F
gUnknown_086140A4:: @ 86140A4
.incbin "graphics/interface/select_button.4bpp"
gUnknown_08614164:: @ 8614164
.byte 0, 1, 3, 0, 1, 4, 0, 3, 6, 2, 1, 3, 0, 14, 10, 0
gUnknown_08614174:: @ 8614174
window_template 0, 14, 2, 15, 16, 1, 0x27
window_template 0, 0, 13, 14, 6, 1, 0x117
window_template 0, 4, 1, 8, 2, 1, 0x1A1
window_template 0, 1, 13, 5, 6, 12, 0x16B
window_template 0, 7, 13, 4, 6, 12, 0x189
window_template 1, 2, 15, 27, 4, 15, 0x1B1
null_window_template
gUnknown_086141AC:: @ 86141AC
window_template 1, 22, 17, 7, 2, 15, 0x21D
window_template 1, 22, 15, 7, 4, 15, 0x21D
window_template 1, 15, 15, 14, 4, 15, 0x21D
window_template 1, 15, 13, 14, 6, 15, 0x21D
window_template 1, 2, 15, 27, 4, 15, 0x1B1
window_template 1, 24, 15, 5, 4, 15, 0x21D
window_template 1, 21, 9, 5, 4, 15, 0x21D
window_template 1, 24, 17, 5, 2, 15, 0x21D
window_template 1, 18, 11, 10, 2, 15, 0x245
window_template 1, 1, 1, 10, 2, 15, 0x231
-141
View File
@@ -1,141 +0,0 @@
@ the second big chunk of data
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_082FECFC:: @ 82FECFC
.incbin "graphics/birch_speech/bg0.gbapal"
.incbin "graphics/birch_speech/bg1.gbapal"
.align 2
gBirchIntroShadowGfx:: @ 82FED3C
.incbin "graphics/birch_speech/shadow.4bpp.lz"
.align 2
gUnknown_082FEEF0:: @ 82FEEF0
.incbin "graphics/birch_speech/map.bin.lz"
.align 2
gUnknown_082FF018:: @ 82FF018
.incbin "graphics/birch_speech/bg2.gbapal"
.align 2
gUnknown_082FF028:: @ 82FF028
.space 16
.align 2
gUnknown_082FF038:: @ 82FF038
window_template 0x00, 0x02, 0x01, 0x1a, 0x02, 0x0f, 0x0001
window_template 0x00, 0x02, 0x05, 0x1a, 0x02, 0x0f, 0x0035
.align 2
gUnknown_082FF048:: @ 82FF048
window_template 0x00, 0x02, 0x01, 0x1a, 0x06, 0x0f, 0x0001
window_template 0x00, 0x02, 0x09, 0x1a, 0x02, 0x0f, 0x009d
window_template 0x00, 0x02, 0x0d, 0x1a, 0x02, 0x0f, 0x00d1
window_template 0x00, 0x02, 0x11, 0x1a, 0x02, 0x0f, 0x0105
window_template 0x00, 0x02, 0x15, 0x1a, 0x02, 0x0f, 0x0139
.align 2
gUnknown_082FF070:: @ 82FF070
window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x016d
null_window_template
.align 2
gUnknown_082FF080:: @ 82FF080
window_template 0x00, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0001
.align 2
gUnknown_082FF088:: @ 82FF088
window_template 0x00, 0x03, 0x05, 0x06, 0x04, 0x0f, 0x006d
window_template 0x00, 0x03, 0x02, 0x09, 0x0a, 0x0f, 0x0085
null_window_template
.align 2
gMainMenuBgPal:: @ 82FF0A0
.incbin "graphics/misc/main_menu_bg.gbapal"
.align 2
gMainMenuTextPal:: @ 82FF0C0
.incbin "graphics/misc/main_menu_text.gbapal"
.align 2
gUnknown_082FF0E0:: @ 82FF0E0
.byte 0x0a, 0x0b, 0x0c
gUnknown_082FF0E3:: @ 82FF0E3
.byte 0x0a, 0x01, 0x0c
.align 2
gUnknown_082FF0E8:: @ 82FF0E8
.4byte 0x000001e8, 0x00003071
.align 2
gUnknown_082FF0F0:: @ 82FF0F0
.4byte 0x000001ec
.align 2
gUnknown_082FF0F4:: @ 82FF0F4
.byte 0x02, 0x78, 0x08, 0x03, 0x78, 0x98, 0x03, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
.align 2
gUnknown_082FF104:: @ 82FF104
.2byte 0xfffe, 0xfffe, 0x3000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gUnknown_082FF114:: @ 82FF114
.4byte gUnknown_082FF104
.align 2
gUnknown_082FF118:: @ 82FF118
.4byte gText_BirchBoy, 0x00000000
.4byte gText_BirchGirl, 0x00000000
.align 2
gMalePresetNames:: @ 82FF128
.4byte gText_DefaultNameStu
.4byte gText_DefaultNameMilton
.4byte gText_DefaultNameTom
.4byte gText_DefaultNameKenny
.4byte gText_DefaultNameReid
.4byte gText_DefaultNameJude
.4byte gText_DefaultNameJaxson
.4byte gText_DefaultNameEaston
.4byte gText_DefaultNameWalker
.4byte gText_DefaultNameTeru
.4byte gText_DefaultNameJohnny
.4byte gText_DefaultNameBrett
.4byte gText_DefaultNameSeth
.4byte gText_DefaultNameTerry
.4byte gText_DefaultNameCasey
.4byte gText_DefaultNameDarren
.4byte gText_DefaultNameLandon
.4byte gText_DefaultNameCollin
.4byte gText_DefaultNameStanley
.4byte gText_DefaultNameQuincy
.align 2
gFemalePresetNames:: @ 82FF178
.4byte gText_DefaultNameKimmy
.4byte gText_DefaultNameTiara
.4byte gText_DefaultNameBella
.4byte gText_DefaultNameJayla
.4byte gText_DefaultNameAllie
.4byte gText_DefaultNameLianna
.4byte gText_DefaultNameSara
.4byte gText_DefaultNameMonica
.4byte gText_DefaultNameCamila
.4byte gText_DefaultNameAubree
.4byte gText_DefaultNameRuthie
.4byte gText_DefaultNameHazel
.4byte gText_DefaultNameNadine
.4byte gText_DefaultNameTanja
.4byte gText_DefaultNameYasmin
.4byte gText_DefaultNameNicola
.4byte gText_DefaultNameLillie
.4byte gText_DefaultNameTerra
.4byte gText_DefaultNameLucy
.4byte gText_DefaultNameHalie
+42 -341
View File
@@ -7,306 +7,7 @@
.section .rodata
.align 2
gWirelessLinkDisplayPal:: @ 82EC86C
.incbin "graphics/interface/wireless_link_display.gbapal"
gWirelessLinkDisplayGfx:: @ 82EC88C
.incbin "graphics/interface/wireless_link_display.4bpp.lz"
gWirelessLinkDisplayTilemap:: @ 82ECD34
.incbin "graphics/interface/wireless_link_display.bin.lz"
gLinkTestDigitsPal:: @ 82ECF20
.incbin "graphics/interface/link_test_digits.gbapal"
gLinkTestDigitsGfx:: @ 82ECF40
.incbin "graphics/interface/link_test_digits.4bpp"
.string "{HIGHLIGHT TRANSPARENT}{COLOR WHITE}$"
.align 2
g2BlankTilesGfx:: @ 82ED168
.incbin "graphics/interface/blank_1x2.4bpp"
gUnknown_082ED1A8:: @ 82ED1A8
.4byte gBlockSendBuffer
.4byte 0x000000C8
.4byte gBlockSendBuffer
.4byte 0x000000C8
.4byte gBlockSendBuffer
.4byte 0x00000064
.4byte gBlockSendBuffer
.4byte 0x000000DC
.4byte gBlockSendBuffer
.4byte 0x00000028
gUnknown_082ED1D0:: @ 82ED1D0
.byte 0x8, 0xA, 0xC, 0xE
gASCIIGameFreakInc:: @ 82ED1D4
.ascii "GameFreak inc."
.align 2
gASCIITestPrint:: @ 82ED1E4
.ascii "TEST PRINT\nP0\nP1\nP2\nP3"
.align 2
gUnknown_082ED1FC:: @ 82ED1FC BgTemplate
.4byte 0x000001F8
.4byte 0x00001081
.align 2
gUnknown_082ED204:: @ 82ED204
window_template 0x00, 0x00, 0x00, 0x1E, 0x05, 0x0F, 0x0002
window_template 0x00, 0x00, 0x06, 0x1E, 0x07, 0x0F, 0x0098
window_template 0x00, 0x00, 0x0D, 0x1E, 0x07, 0x0F, 0x016A
null_window_template
.align 2
gUnknown_082ED224:: @ 82ED224
.byte 0x00, 0x01, 0x02, 0x00, 0xff, 0xfe, 0xff, 0x00
.align 2
gWirelessLinkIconPalette:: @ 82ED22C
.incbin "graphics/interface/wireless_link_icon.gbapal"
.align 2
gWirelessLinkIconPic:: @ 82ED22C
.incbin "graphics/interface/wireless_link_icon.4bpp.lz"
.align 2
gUnknown_082ED370:: @ 82ED370
.byte 0xff, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x37
.byte 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f
.byte 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47
.byte 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f
.byte 0x00, 0xab, 0xb5, 0xb6, 0xb1, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0xb2, 0xf1, 0x00, 0xae, 0xad, 0xba
.byte 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8
.byte 0xa9, 0xaa, 0x00, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
.byte 0x00, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1
.byte 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9
.byte 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1
.byte 0xd2, 0xd3, 0xd4, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6
.byte 0x00, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb
.byte 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3
.byte 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb
.byte 0xec, 0xed, 0xee, 0x2d, 0x2f, 0x30, 0x31, 0x32
.byte 0x33, 0x34, 0x35, 0x36, 0x50, 0x00, 0x01, 0x02
.byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a
.byte 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12
.byte 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a
.byte 0x1b, 0xad, 0xb3, 0xb4, 0x00, 0xaf, 0x7d, 0x7f
.byte 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0xa0
.byte 0xae, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57
.byte 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f
.byte 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67
.byte 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f
.byte 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
.byte 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7e, 0xb0, 0xac
.byte 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23
.byte 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b
.byte 0x2c, 0x2e, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c
.byte 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94
.align 2
gUnknown_082ED470:: @ 82ED470
.byte 0x20, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c
.byte 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94
.byte 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c
.byte 0x9d, 0x9e, 0x9f, 0xa0, 0xe0, 0xe1, 0xe2, 0xe3
.byte 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb
.byte 0xec, 0xed, 0xee, 0xef, 0xf0, 0x7b, 0xf1, 0x7c
.byte 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x07
.byte 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
.byte 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17
.byte 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
.byte 0x84, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7
.byte 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf
.byte 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7
.byte 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf
.byte 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7
.byte 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xa6, 0xdd, 0xa7
.byte 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xf2
.byte 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa
.byte 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x01, 0x02, 0x03
.byte 0x04, 0x05, 0x06, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f
.byte 0xaf, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36
.byte 0x37, 0x38, 0x39, 0x21, 0xdf, 0xa1, 0xb0, 0xa5
.byte 0xde, 0x24, 0x2a, 0xa2, 0xa3, 0x22, 0x23, 0x20
.byte 0xa4, 0x20, 0x2f, 0x41, 0x42, 0x43, 0x44, 0x45
.byte 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d
.byte 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55
.byte 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63
.byte 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b
.byte 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73
.byte 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x20
.byte 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x20
.byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00
.align 2
gUnknown_082ED570:: @ 82ED570
.byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00
.align 2
gUnknown_082ED578:: @ 82ED578
.2byte 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x0005, 0x0010, 0x000a
.2byte 0x000c, 0x0005, 0x0008, 0x0005, 0xfffe, 0x0000
.align 2
gUnknown_082ED594:: @ 82ED594
.2byte 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x000a, 0x0008, 0x0005
.2byte 0xfffe, 0x0000
.align 2
gUnknown_082ED5A8:: @ 82ED5A8
.2byte 0x0004, 0x0005, 0x0008, 0x0005, 0xfffe, 0x0000
.align 2
gUnknown_082ED5B4:: @ 82ED5B4
.2byte 0x0004, 0x000a, 0x0014, 0x000a, 0xfffe, 0x0000
.align 2
gUnknown_082ED5C0:: @ 82ED5C0
.2byte 0x0018, 0x000a, 0x0004, 0x000a, 0xfffe, 0x0000
.align 2
gUnknown_082ED5CC:: @ 82ED5CC
.4byte gUnknown_082ED578
.4byte gUnknown_082ED594
.4byte gUnknown_082ED5A8
.4byte gUnknown_082ED5B4
.4byte gUnknown_082ED5C0
.align 2
gUnknown_082ED5E0:: @ 82ED5E0
obj_tiles gWirelessLinkIconPic, 0x0380, 0xD431
.align 2
gUnknown_082ED5E8:: @ 82ED5E8
obj_pal gWirelessLinkIconPalette, 0xD432
.align 2
gUnknown_082ED5F0:: @ 82ED5F0
spr_template 0xD431, 0xD432, gUnknown_082ED570, gUnknown_082ED5CC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082ED608:: @ 82ED608
.byte 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
.byte 0x14, 0x2b, 0x02, 0x02, 0x22, 0x2b, 0x02, 0x02
.byte 0x01, 0x00, 0x58, 0x02, 0x2c, 0x01, 0x00, 0x00
.align 2
gUnknown_082ED620:: @ 82ED620
.byte 0x00, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00
.align 2
gUnknown_082ED628:: @ 82ED628
.4byte 0x00000000, 0x00000001, 0x00000003, 0x00000007
.4byte 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f
.4byte 0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff
.4byte 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff
.4byte 0x0000ffff, 0x0001ffff, 0x0003ffff, 0x0007ffff
.4byte 0x000fffff, 0x001fffff, 0x003fffff, 0x007fffff
.4byte 0x00ffffff
gUnknown_082ED68C:: @ 82ED68C
.byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02
.byte 0x03
gUnknown_082ED695:: @ 82ED695
.byte 0x00, 0x01, 0x01, 0x02, 0x01, 0x02, 0x02, 0x03
.byte 0x01, 0x02, 0x02, 0x03, 0x02, 0x03, 0x03, 0x04
gUnknown_082ED6A5:: @ 82ED6A5
.byte 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00
.byte 0x03, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00
.byte 0x00, 0x00, 0x00
.align 2
gUnknown_082ED6B8:: @ 82ED6B8
.4byte gBlockSendBuffer
.4byte 0x000000c8
.4byte gBlockSendBuffer
.4byte 0x000000c8
.4byte gBlockSendBuffer
.4byte 0x00000064
.4byte gBlockSendBuffer
.4byte 0x000000dc
.4byte gBlockSendBuffer
.4byte 0x00000028
.align 2
gUnknown_082ED6E0:: @ 82ED6E0
.2byte 0x0002, 0x7f7d, 0x0000, 0xffff
.ascii "RFU WAIT"
.space 7
.ascii "RFU BOOT"
.space 7
.ascii "RFU ERROR"
.space 6
.ascii "RFU RESET"
.space 6
.ascii "RFU CONFIG"
.space 5
.ascii "RFU START"
.space 6
.ascii "RFU SC POLL"
.space 4
.ascii "RFU SP POLL"
.space 4
.ascii "RFU START"
.space 6
.ascii "RFU SEND ERR"
.space 3
.ascii "RFU CP POLL"
.space 4
.ascii " "
.space 2
.ascii "RECOVER START "
.space 2
.ascii "DISSCONECT "
.space 2
.ascii "RECOVER SUUSES"
.space 2
.ascii "RECOVER FAILED"
.space 2
.align 2
gUnknown_082ED7E0:: @ 82ED7E0
.4byte sub_801084C
.4byte sub_8010AAC
.4byte sub_8010D0C
.align 2
gUnknown_082ED7EC:: @ 82ED7EC
.ascii "PokemonSioInfo"
.align 2
gUnknown_082ED7FC:: @ 82ED7FC
.ascii "LINK LOSS DISCONNECT!"
.align 2
gUnknown_082ED814:: @ 82ED814
.ascii "LINK LOSS RECOVERY NOW"
.align 2
gUnknown_082ED82C:: @ 82ED82C
.byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
.byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
@@ -323,25 +24,25 @@ gUnknown_082ED85B:: @ 82ED85B
gUnknown_082ED868:: @ 82ED868
.asciz "NOWSLOT"
.asciz " "
.asciz "CLOCK DRIFT"
.asciz "BUSY SEND "
.asciz "CMD REJECT "
.asciz "CLOCK SLAVE"
.ascii "CHILD "
.align 2
.ascii "PARENT"
.align 2
.ascii "SEARCH"
.align 2
gText_EmptyString:: @ 82ED8C4
.string "$"
@@ -371,7 +72,7 @@ gText_AwaitingCommunication:: @ 82ED960
gText_AwaitingLink:: @ 82ED990
.string "{STR_VAR_1}! Awaiting link!\nPress START when everyones ready.$"
.align 2
gJPText_SingleBattle:: @ 82ED9C8
.string " $" @ "shingurubatoruwo kaisaisuru" ("hold a single battle" in Japanese)
@@ -387,7 +88,7 @@ gJPText_MultiBattle:: @ 82ED9E8
.align 2
gJPText_TradePokemon:: @ 82ED9F8
.string " $" @ "pokemonkoukanwo kaisaisuru" ("trade Pokémon" in Japanese)
.align 2
gJPText_Chat:: @ 82EDA0C
.string " $" @ "chattowo kaisaisuru" ("chat" in Japanese)
@@ -459,7 +160,7 @@ gText_3PlayerMode:: @ 82EDB35
gText_4PlayerMode:: @ 82EDB43
.string "4-PLAYER\nMODE$"
gText_5PlayerMode:: @ 82EDB51
.string "5-PLAYER\nMODE$"
@@ -710,7 +411,7 @@ gUnknown_082EE2E8:: @ 82EE2E8
.align 2
gUnknown_082EE308:: @ 82EE308
.string "{STR_VAR_1} has contacted you.{PAUSE 60}$"
.align 2
gUnknown_082EE324:: @ 82EE324
.4byte gUnknown_082EE2E8
@@ -719,7 +420,7 @@ gUnknown_082EE324:: @ 82EE324
.align 2
gUnknown_082EE32C:: @ 82EE32C
.string "Awaiting a response from\nthe other TRAINER$"
.align 2
gUnknown_082EE358:: @ 82EE358
.string "Awaiting a response from\n{STR_VAR_1}$"
@@ -1622,7 +1323,7 @@ gUnknown_082F0204:: @ 82F0204 struct ListMenuTemplate
.align 2
gUnknown_082F021C:: @ 82F021C
window_template 0x00, 0x14, 0x05, 0x10, 0x08, 0x0f, 0x0001
.align 2
gUnknown_082F0224:: @ 82F0224
.4byte gUnknown_082EFD70, 0x00000208
@@ -1708,7 +1409,7 @@ gUnknown_082F0354:: @ 82F0354
.4byte gText_EmptyString, 0x00000006
.4byte gText_EmptyString, 0x00000007
.4byte gUnknown_082EFD84, 0x00000008
.align 2
gUnknown_082F03A4:: @ 82F03A4
.4byte gUnknown_082F0354
@@ -1719,7 +1420,7 @@ gUnknown_082F03A4:: @ 82F03A4
.align 2
window_template 0x00, 0x01, 0x05, 0x1c, 0x0c, 0x0d, 0x0039
.align 2
gUnknown_082F03C4:: @ 82F03C4
.4byte gText_EmptyString, 0x00000000
@@ -1745,7 +1446,7 @@ gUnknown_082F03C4:: @ 82F03C4
.4byte nullsub_14
.byte 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00
.byte 0x21, 0x31, 0x40, 0x01
.align 2
gUnknown_082F045C:: @ 82F045C
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -2006,7 +1707,7 @@ gUnknown_082F06F8:: @ 82F06F8
.align 2
gUnknown_082F0720:: @ 82F0720
.byte 0x00, 0x01, 0x02
.align 2
.byte 0x00, 0x01, 0x02
@@ -2185,7 +1886,7 @@ gWonderCardBgGfx3:: @ 82F1300
.align 2
gWonderCardBgTilemap3:: @ 82F13D4
.incbin "graphics/wonder_transfers/wonder_card_3.bin.lz"
.align 2
gWonderCardBgGfx7:: @ 82F14A8
.incbin "graphics/wonder_transfers/wonder_card_7.4bpp.lz"
@@ -2193,7 +1894,7 @@ gWonderCardBgGfx7:: @ 82F14A8
.align 2
gWonderCardBgTilemap7:: @ 82F16DC
.incbin "graphics/wonder_transfers/wonder_card_7.bin.lz"
.align 2
gWonderCardBgGfx8:: @ 82F1824
.incbin "graphics/wonder_transfers/wonder_card_8.4bpp.lz"
@@ -2233,7 +1934,7 @@ gWonderCardShadowPal7:: @ 82F1C5C
.align 2
gWonderCardShadowPal8:: @ 82F1C7C
.incbin "graphics/wonder_transfers/wonder_card_shadow_8.gbapal"
.align 2
gWonderCardShadowGfx:: @ 82F1C9C
.incbin "graphics/wonder_transfers/wonder_card_shadow.4bpp.lz"
@@ -2248,31 +1949,31 @@ gUnknown_082F1D00:: @ 82F1D00 struct CompressedSpriteSheet
gUnknown_082F1D08:: @ 82F1D08 struct SpritePalette
.4byte gWonderCardShadowPal1
.2byte 0x8000
.align 2
.4byte gWonderCardShadowPal2
.2byte 0x8000
.align 2
.4byte gWonderCardShadowPal3
.2byte 0x8000
.align 2
.4byte gWonderCardShadowPal4
.2byte 0x8000
.align 2
.4byte gWonderCardShadowPal5
.2byte 0x8000
.align 2
.4byte gWonderCardShadowPal6
.2byte 0x8000
.align 2
.4byte gWonderCardShadowPal7
.2byte 0x8000
.align 2
.4byte gWonderCardShadowPal8
.2byte 0x8000
@@ -2553,7 +2254,7 @@ gUnknown_082F2800:: @ 82F2800
.align 2
gUnknown_082F2884:: @ 82F2884
.byte 0x12, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
.4byte gUnknown_082F25F8
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00
@@ -2581,13 +2282,13 @@ gUnknown_082F28E4:: @ 82F28E4
.4byte gUnknown_082F2884
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.4byte gUnknown_082F2788
.align 2
gUnknown_082F292C:: @ 82F292C
.byte 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
.4byte gUnknown_082F26A8
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
@@ -2595,7 +2296,7 @@ gUnknown_082F292C:: @ 82F292C
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00
.4byte gUnknown_082F25E8
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
@@ -2639,7 +2340,7 @@ gUnknown_082F29EC:: @ 82F29EC
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte gUnknown_082F26F8
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
@@ -2836,15 +2537,15 @@ gUnknown_082F2DF0:: @ 82F2DF0
.align 2
gUnknown_082F2E10:: @ 82F2E10
.incbin "graphics/interface/unk_cursor.4bpp.lz"
.align 2
gUnknown_082F3094:: @ 82F3094
.incbin "graphics/interface/unk_dash.4bpp.lz"
.align 2
gUnknown_082F30B4:: @ 82F30B4
.incbin "graphics/interface/unk_cursor_arrow.4bpp.lz"
.align 2
gUnknown_082F30E0:: @ 82F30E0
.incbin "graphics/interface/unk_rbutton.4bpp.lz"
@@ -2916,7 +2617,7 @@ gUnknown_082F31D4:: @ 82F31D4
.align 2
gUnknown_082F31EC:: @ 82F31EC
.byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
.align 2
gUnknown_082F31F4:: @ 82F31F4
.byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
@@ -3192,25 +2893,25 @@ gUnknown_082F42D0:: @ 82F42D0
.align 2
gUnknown_082F42E8:: @ 82F42E8
.4byte gUnknown_082F423C
.align 2
gUnknown_082F42EC:: @ 82F42EC
.4byte gUnknown_082F4244
.4byte gUnknown_082F4254
.align 2
gUnknown_082F42F4:: @ 82F42F4
.4byte gUnknown_082F4268
.4byte gUnknown_082F4284
.align 2
gUnknown_082F42FC:: @ 82F42FC
.4byte gUnknown_082F42A8
.align 2
gUnknown_082F4300:: @ 82F4300
.4byte gUnknown_082F42B0
.align 2
gUnknown_082F4304:: @ 82F4304
.4byte gUnknown_082F42B8
+1 -1
View File
@@ -86,7 +86,7 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1
setvar VAR_0x8004, 410
setvar VAR_0x8005, 30
setvar VAR_0x8006, 0
special DoScriptedWildBattle
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
+1 -1
View File
@@ -143,7 +143,7 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2
setvar VAR_0x8004, 151
setvar VAR_0x8005, 30
setvar VAR_0x8006, 0
special DoScriptedWildBattle
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
+1 -1
View File
@@ -59,7 +59,7 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2
setvar VAR_0x8004, 249
setvar VAR_0x8005, 70
setvar VAR_0x8006, 0
special DoScriptedWildBattle
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
+1 -1
View File
@@ -63,7 +63,7 @@ NavelRock_Top_EventScript_26916F:: @ 826916F
setvar VAR_0x8004, 250
setvar VAR_0x8005, 70
setvar VAR_0x8006, 0
special DoScriptedWildBattle
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
@@ -121,14 +121,14 @@ SouthernIsland_Interior_EventScript_242BA4:: @ 8242BA4
setvar VAR_0x8004, 408
setvar VAR_0x8005, 50
setvar VAR_0x8006, 191
special DoScriptedWildBattle
special CreateObedientEnemyMon
return
SouthernIsland_Interior_EventScript_242BB7:: @ 8242BB7
setvar VAR_0x8004, 407
setvar VAR_0x8005, 50
setvar VAR_0x8006, 191
special DoScriptedWildBattle
special CreateObedientEnemyMon
return
SouthernIsland_Interior_Movement_242BCA: @ 8242BCA
+1 -1
View File
@@ -490,7 +490,7 @@ gSpecials:: @ 81DBA64
def_special sub_813AF48
def_special sub_813AFC8
def_special sub_813B1D0
def_special DoScriptedWildBattle
def_special CreateObedientEnemyMon
def_special sub_81BEB54
def_special sub_81BEB68
def_special sub_81BEB7C
+12
View File
@@ -0,0 +1,12 @@
#ifndef GUARD_AGB_FLASH_H
#define GUARD_AGB_FLASH_H
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
#endif //GUARD_AGB_FLASH_H
+125 -372
View File
@@ -2,6 +2,7 @@
#define GUARD_BATTLE_H
// should they be included here or included individually by every file?
#include "constants/battle.h"
#include "battle_util.h"
#include "battle_script_commands.h"
#include "battle_main.h"
@@ -10,215 +11,16 @@
#include "battle_util2.h"
#include "battle_bg.h"
/*
* A battler may be in one of four positions on the field. The first bit determines
* what side the battler is on, either the player's side or the opponent's side.
* The second bit determines what flank the battler is on, either the left or right.
* Note that the opponent's flanks are drawn corresponding to their perspective, so
* their right mon appears on the left, and their left mon appears on the right.
* The battler ID is usually the same as the position, except in the case of link battles.
*
* + ------------------------- +
* | Opponent's side |
* | Right Left |
* | 3 1 |
* | |
* | Player's side |
* | Left Right |
* | 0 2 |
* ----------------------------+
* | |
* | |
* +---------------------------+
*/
#define MAX_BATTLERS_COUNT 4
#define B_POSITION_PLAYER_LEFT 0
#define B_POSITION_OPPONENT_LEFT 1
#define B_POSITION_PLAYER_RIGHT 2
#define B_POSITION_OPPONENT_RIGHT 3
// These macros can be used with either battler ID or positions to get the partner or the opposite mon
#define BATTLE_OPPOSITE(id) ((id) ^ 1)
#define BATTLE_PARTNER(id) ((id) ^ 2)
#define B_SIDE_PLAYER 0
#define B_SIDE_OPPONENT 1
#define B_FLANK_LEFT 0
#define B_FLANK_RIGHT 1
#define BIT_SIDE 1
#define BIT_FLANK 2
#define GET_BATTLER_POSITION(battler) (gBattlerPositions[battler])
#define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE)
#define GET_BATTLER_SIDE2(battler) (GET_BATTLER_POSITION(battler) & BIT_SIDE)
// Battle Type Flags
#define BATTLE_TYPE_DOUBLE 0x0001
#define BATTLE_TYPE_LINK 0x0002
#define BATTLE_TYPE_WILD 0x0004
#define BATTLE_TYPE_TRAINER 0x0008
#define BATTLE_TYPE_FIRST_BATTLE 0x0010
#define BATTLE_TYPE_20 0x0020
#define BATTLE_TYPE_MULTI 0x0040
#define BATTLE_TYPE_SAFARI 0x0080
#define BATTLE_TYPE_BATTLE_TOWER 0x0100
#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200
#define BATTLE_TYPE_ROAMER 0x0400
#define BATTLE_TYPE_EREADER_TRAINER 0x0800
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
#define BATTLE_TYPE_LEGENDARY 0x2000
#define BATTLE_TYPE_REGI 0x4000
#define BATTLE_TYPE_TWO_OPPONENTS 0x8000
#define BATTLE_TYPE_DOME 0x10000
#define BATTLE_TYPE_PALACE 0x20000
#define BATTLE_TYPE_ARENA 0x40000
#define BATTLE_TYPE_FACTORY 0x80000
#define BATTLE_TYPE_PIKE 0x100000
#define BATTLE_TYPE_PYRAMID 0x200000
#define BATTLE_TYPE_INGAME_PARTNER 0x400000
#define BATTLE_TYPE_x800000 0x800000
#define BATTLE_TYPE_RECORDED 0x1000000
#define BATTLE_TYPE_x2000000 0x2000000
#define BATTLE_TYPE_x4000000 0x4000000
#define BATTLE_TYPE_SECRET_BASE 0x8000000
#define BATTLE_TYPE_GROUDON 0x10000000
#define BATTLE_TYPE_KYOGRE 0x20000000
#define BATTLE_TYPE_RAYQUAZA 0x40000000
#define BATTLE_TYPE_x80000000 0x80000000
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
extern u32 gBattleTypeFlags;
#define TRAINER_OPPONENT_3FE 0x3FE
#define TRAINER_OPPONENT_C00 0xC00
#define TRAINER_OPPONENT_800 0x800
#define STEVEN_PARTNER_ID 0xC03
#define SECRET_BASE_OPPONENT 0x400
#define B_OUTCOME_WON 0x1
#define B_OUTCOME_LOST 0x2
#define B_OUTCOME_DREW 0x3
#define B_OUTCOME_RAN 0x4
#define B_OUTCOME_PLAYER_TELEPORTED 0x5
#define B_OUTCOME_POKE_FLED 0x6
#define B_OUTCOME_CAUGHT_POKE 0x7
#define B_OUTCOME_NO_SAFARI_BALLS 0x8
#define B_OUTCOME_FORFEITED 0x9
#define B_OUTCOME_POKE_TELEPORTED 0xA
#define B_OUTCOME_LINK_BATTLE_RAN 0x80
extern u8 gBattleOutcome;
// Non-volatile status conditions
// These persist remain outside of battle and after switching out
#define STATUS1_NONE 0x0
#define STATUS1_SLEEP 0x7
#define STATUS1_POISON 0x8
#define STATUS1_BURN 0x10
#define STATUS1_FREEZE 0x20
#define STATUS1_PARALYSIS 0x40
#define STATUS1_TOXIC_POISON 0x80
#define STATUS1_TOXIC_COUNTER 0xF00
#define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON)
#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)
// Volatile status ailments
// These are removed after exiting the battle or switching out
#define STATUS2_CONFUSION 0x00000007
#define STATUS2_FLINCHED 0x00000008
#define STATUS2_UPROAR 0x00000070
#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200
#define STATUS2_LOCK_CONFUSE 0x00000C00
#define STATUS2_MULTIPLETURNS 0x00001000
#define STATUS2_WRAPPED 0x0000E000
#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every battler
#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16)
#define STATUS2_FOCUS_ENERGY 0x00100000
#define STATUS2_TRANSFORMED 0x00200000
#define STATUS2_RECHARGE 0x00400000
#define STATUS2_RAGE 0x00800000
#define STATUS2_SUBSTITUTE 0x01000000
#define STATUS2_DESTINY_BOND 0x02000000
#define STATUS2_ESCAPE_PREVENTION 0x04000000
#define STATUS2_NIGHTMARE 0x08000000
#define STATUS2_CURSED 0x10000000
#define STATUS2_FORESIGHT 0x20000000
#define STATUS2_DEFENSE_CURL 0x40000000
#define STATUS2_TORMENT 0x80000000
// Seems like per-battler statuses. Not quite sure how to categorize these
#define STATUS3_LEECHSEED_BANK 0x3
#define STATUS3_LEECHSEED 0x4
#define STATUS3_ALWAYS_HITS 0x18 // two bits
#define STATUS3_PERISH_SONG 0x20
#define STATUS3_ON_AIR 0x40
#define STATUS3_UNDERGROUND 0x80
#define STATUS3_MINIMIZED 0x100
#define STATUS3_ROOTED 0x400
#define STATUS3_CHARGED_UP 0x200
#define STATUS3_YAWN 0x1800 // two bits
#define STATUS3_IMPRISONED_OTHERS 0x2000
#define STATUS3_GRUDGE 0x4000
#define STATUS3_CANT_SCORE_A_CRIT 0x8000
#define STATUS3_MUDSPORT 0x10000
#define STATUS3_WATERSPORT 0x20000
#define STATUS3_UNDERWATER 0x40000
#define STATUS3_INTIMIDATE_POKES 0x80000
#define STATUS3_TRACE 0x100000
#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)
extern u32 gStatuses3[MAX_BATTLERS_COUNT];
// Not really sure what a "hitmarker" is.
#define HITMARKER_x10 0x00000010
#define HITMARKER_x20 0x00000020
#define HITMARKER_DESTINYBOND 0x00000040
#define HITMARKER_NO_ANIMATIONS 0x00000080
#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100
#define HITMARKER_NO_ATTACKSTRING 0x00000200
#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400
#define HITMARKER_NO_PPDEDUCT 0x00000800
#define HITMARKER_PURSUIT_TRAP 0x00001000
#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
#define HITMARKER_RUN 0x00008000
#define HITMARKER_IGNORE_ON_AIR 0x00010000
#define HITMARKER_IGNORE_UNDERGROUND 0x00020000
#define HITMARKER_IGNORE_UNDERWATER 0x00040000
#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000
#define HITMARKER_x100000 0x00100000
#define HITMARKER_x200000 0x00200000
#define HITMARKER_x400000 0x00400000
#define HITMARKER_x800000 0x00800000
#define HITMARKER_GRUDGE 0x01000000
#define HITMARKER_OBEYS 0x02000000
#define HITMARKER_x4000000 0x04000000
#define HITMARKER_x8000000 0x08000000
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C)
#define HITMARKER_UNK(battler) (0x10000000 << battler)
extern u32 gHitMarker;
// Per-side statuses that affect an entire party
#define SIDE_STATUS_REFLECT (1 << 0)
#define SIDE_STATUS_LIGHTSCREEN (1 << 1)
#define SIDE_STATUS_X4 (1 << 2)
#define SIDE_STATUS_SPIKES (1 << 4)
#define SIDE_STATUS_SAFEGUARD (1 << 5)
#define SIDE_STATUS_FUTUREATTACK (1 << 6)
#define SIDE_STATUS_MIST (1 << 8)
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
extern u16 gSideStatuses[2];
// Battle Actions
// These determine what each battler will do in a turn
#define B_ACTION_USE_MOVE 0
@@ -238,37 +40,9 @@ extern u16 gSideStatuses[2];
#define B_ACTION_NOTHING_FAINTED 13 // when choosing an action
#define B_ACTION_NONE 0xFF
#define MOVE_RESULT_MISSED (1 << 0)
#define MOVE_RESULT_SUPER_EFFECTIVE (1 << 1)
#define MOVE_RESULT_NOT_VERY_EFFECTIVE (1 << 2)
#define MOVE_RESULT_DOESNT_AFFECT_FOE (1 << 3)
#define MOVE_RESULT_ONE_HIT_KO (1 << 4)
#define MOVE_RESULT_FAILED (1 << 5)
#define MOVE_RESULT_FOE_ENDURED (1 << 6)
#define MOVE_RESULT_FOE_HUNG_ON (1 << 7)
#define MOVE_RESULT_NO_EFFECT (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)
#define MAX_TRAINER_ITEMS 4
#define MAX_MON_MOVES 4
// Battle Weather flags
#define WEATHER_RAIN_TEMPORARY (1 << 0)
#define WEATHER_RAIN_DOWNPOUR (1 << 1) // unused
#define WEATHER_RAIN_PERMANENT (1 << 2)
#define WEATHER_RAIN_ANY (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT)
#define WEATHER_SANDSTORM_TEMPORARY (1 << 3)
#define WEATHER_SANDSTORM_PERMANENT (1 << 4)
#define WEATHER_SANDSTORM_ANY (WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT)
#define WEATHER_SUN_TEMPORARY (1 << 5)
#define WEATHER_SUN_PERMANENT (1 << 6)
#define WEATHER_SUN_ANY (WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)
#define WEATHER_HAIL (1 << 7)
#define WEATHER_HAIL_ANY (WEATHER_HAIL)
#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)
extern u16 gBattleWeather;
#define BATTLE_TERRAIN_GRASS 0
#define BATTLE_TERRAIN_LONG_GRASS 1
#define BATTLE_TERRAIN_SAND 2
@@ -280,8 +54,6 @@ extern u16 gBattleWeather;
#define BATTLE_TERRAIN_BUILDING 8
#define BATTLE_TERRAIN_PLAIN 9
extern u8 gBattleTerrain;
// array entries for battle communication
#define MULTIUSE_STATE 0x0
#define CURSOR_POSITION 0x1
@@ -318,26 +90,7 @@ extern u8 gBattleTerrain;
#define TYPE_FORESIGHT 0xFE
#define TYPE_ENDTABLE 0xFF
#define BS_GET_TARGET 0
#define BS_GET_ATTACKER 1
#define BS_GET_EFFECT_BANK 2
#define BS_GET_gBank1 3
#define BS_GET_BANK_0 7
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability
#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
#define BS_GET_SCRIPTING_BANK 10
#define BS_GET_OPPONENT1 12
#define BS_GET_PLAYER2 13
#define BS_GET_OPPONENT2 14
// for battle script commands
#define CMP_EQUAL 0x0
#define CMP_NOT_EQUAL 0x1
#define CMP_GREATER_THAN 0x2
#define CMP_LESS_THAN 0x3
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
#define BATTLE_BUFFER_LINK_SIZE 0x1000
struct TrainerMonNoItemDefaultMoves
{
@@ -346,8 +99,6 @@ struct TrainerMonNoItemDefaultMoves
u16 species;
};
u8 GetBattlerSide(u8 battler);
struct TrainerMonItemDefaultMoves
{
u16 iv;
@@ -441,8 +192,6 @@ struct DisableStruct
/*0x1A*/ u8 unk1A[2];
};
extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT];
struct ProtectStruct
{
/* field_0 */
@@ -476,13 +225,11 @@ struct ProtectStruct
/* field_4 */ u32 physicalDmg;
/* field_8 */ u32 specialDmg;
/* field_C */ u8 physicalBank;
/* field_D */ u8 specialBank;
/* field_C */ u8 physicalBattlerId;
/* field_D */ u8 specialBattlerId;
/* field_E */ u16 fieldE;
};
extern struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT];
struct SpecialStatus
{
u8 statLowered : 1; // 0x1
@@ -494,35 +241,31 @@ struct SpecialStatus
u8 flag40 : 1;
u8 focusBanded : 1;
u8 field1[3];
s32 moveturnLostHP;
s32 moveturnLostHP_physical;
s32 moveturnLostHP_special;
u8 moveturnPhysicalBank;
u8 moveturnSpecialBank;
s32 dmg;
s32 physicalDmg;
s32 specialDmg;
u8 physicalBattlerId;
u8 specialBattlerId;
u8 field12;
u8 field13;
};
extern struct SpecialStatus gSpecialStatuses[MAX_BATTLERS_COUNT];
struct SideTimer
{
/*0x00*/ u8 reflectTimer;
/*0x01*/ u8 reflectBank;
/*0x01*/ u8 reflectBattlerId;
/*0x02*/ u8 lightscreenTimer;
/*0x03*/ u8 lightscreenBank;
/*0x03*/ u8 lightscreenBattlerId;
/*0x04*/ u8 mistTimer;
/*0x05*/ u8 mistBank;
/*0x05*/ u8 mistBattlerId;
/*0x06*/ u8 safeguardTimer;
/*0x07*/ u8 safeguardBank;
/*0x07*/ u8 safeguardBattlerId;
/*0x08*/ u8 followmeTimer;
/*0x09*/ u8 followmeTarget;
/*0x0A*/ u8 spikesAmount;
/*0x0B*/ u8 fieldB;
};
extern struct SideTimer gSideTimers[];
struct WishFutureKnock
{
u8 futureSightCounter[MAX_BATTLERS_COUNT];
@@ -530,13 +273,11 @@ struct WishFutureKnock
s32 futureSightDmg[MAX_BATTLERS_COUNT];
u16 futureSightMove[MAX_BATTLERS_COUNT];
u8 wishCounter[MAX_BATTLERS_COUNT];
u8 wishUserID[MAX_BATTLERS_COUNT];
u8 wishMonId[MAX_BATTLERS_COUNT];
u8 weatherDuration;
u8 knockedOffPokes[2];
};
extern struct WishFutureKnock gWishFutureKnock;
struct AI_ThinkingStruct
{
u8 aiState;
@@ -600,8 +341,6 @@ struct BattleResources
struct BattleScriptsStack *AI_ScriptsStack;
};
extern struct BattleResources* gBattleResources;
struct BattleResults
{
u8 playerFaintCounter; // 0x0
@@ -625,21 +364,19 @@ struct BattleResults
u16 playerMon2Species; // 0x26
u16 caughtMonSpecies; // 0x28
u8 caughtMonNick[10]; // 0x2A
u8 filler34[2];
u8 filler34[2]; // 0x34
u8 catchAttempts[11]; // 0x36
};
extern struct BattleResults gBattleResults;
struct BattleStruct
{
u8 turnEffectsTracker;
u8 turnEffectsBank;
u8 turnEffectsBattlerId;
u8 filler2;
u8 turncountersTracker;
u8 turnCountersTracker;
u8 wrappedMove[8]; // ask gamefreak why they declared it that way
u8 moveTarget[4];
u8 expGetterId;
u8 expGetterMonId;
u8 field_11;
u8 wildVictorySong;
u8 dynamicMoveType;
@@ -653,13 +390,13 @@ struct BattleStruct
u8 field_45;
u8 field_46;
u8 field_47;
u8 focusPunchBank;
u8 focusPunchBattlerId;
u8 field_49;
u8 moneyMultiplier;
u8 savedTurnActionNumber;
u8 switchInAbilitiesCounter;
u8 faintedActionsState;
u8 faintedActionsBank;
u8 faintedActionsBattlerId;
u8 field_4F;
u16 expValue;
u8 field_52;
@@ -687,7 +424,7 @@ struct BattleStruct
u8 field_8C;
u8 field_8D;
u8 stringMoveType;
u8 expGetterBank;
u8 expGetterBattlerId;
u8 field_90;
u8 field_91;
u8 field_92;
@@ -732,7 +469,7 @@ struct BattleStruct
u8 field_183;
struct BattleEnigmaBerry battleEnigmaBerry;
u8 wishPerishSongState;
u8 wishPerishSongBank;
u8 wishPerishSongBattlerId;
bool8 overworldWeatherDone;
u8 atkCancellerTracker;
u8 field_1A4[96];
@@ -745,8 +482,6 @@ struct BattleStruct
u8 field_2A2;
};
extern struct BattleStruct* gBattleStruct;
#define GET_MOVE_TYPE(move, typeArg) \
{ \
if (gBattleStruct->dynamicMoveType) \
@@ -755,71 +490,8 @@ extern struct BattleStruct* gBattleStruct;
typeArg = gBattleMoves[move].type; \
}
#define MOVE_EFFECT_SLEEP 0x1
#define MOVE_EFFECT_POISON 0x2
#define MOVE_EFFECT_BURN 0x3
#define MOVE_EFFECT_FREEZE 0x4
#define MOVE_EFFECT_PARALYSIS 0x5
#define MOVE_EFFECT_TOXIC 0x6
#define MOVE_EFFECT_CONFUSION 0x7
#define MOVE_EFFECT_FLINCH 0x8
#define MOVE_EFFECT_TRI_ATTACK 0x9
#define MOVE_EFFECT_UPROAR 0xA
#define MOVE_EFFECT_PAYDAY 0xB
#define MOVE_EFFECT_CHARGING 0xC
#define MOVE_EFFECT_WRAP 0xD
#define MOVE_EFFECT_RECOIL_25 0xE
#define MOVE_EFFECT_ATK_PLUS_1 0xF
#define MOVE_EFFECT_DEF_PLUS_1 0x10
#define MOVE_EFFECT_SPD_PLUS_1 0x11
#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12
#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13
#define MOVE_EFFECT_ACC_PLUS_1 0x14
#define MOVE_EFFECT_EVS_PLUS_1 0x15
#define MOVE_EFFECT_ATK_MINUS_1 0x16
#define MOVE_EFFECT_DEF_MINUS_1 0x17
#define MOVE_EFFECT_SPD_MINUS_1 0x18
#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19
#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A
#define MOVE_EFFECT_ACC_MINUS_1 0x1B
#define MOVE_EFFECT_EVS_MINUS_1 0x1C
#define MOVE_EFFECT_RECHARGE 0x1D
#define MOVE_EFFECT_RAGE 0x1E
#define MOVE_EFFECT_STEAL_ITEM 0x1F
#define MOVE_EFFECT_PREVENT_ESCAPE 0x20
#define MOVE_EFFECT_NIGHTMARE 0x21
#define MOVE_EFFECT_ALL_STATS_UP 0x22
#define MOVE_EFFECT_RAPIDSPIN 0x23
#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24
#define MOVE_EFFECT_ATK_DEF_DOWN 0x25
#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26
#define MOVE_EFFECT_ATK_PLUS_2 0x27
#define MOVE_EFFECT_DEF_PLUS_2 0x28
#define MOVE_EFFECT_SPD_PLUS_2 0x29
#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A
#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B
#define MOVE_EFFECT_ACC_PLUS_2 0x2C
#define MOVE_EFFECT_EVS_PLUS_2 0x2D
#define MOVE_EFFECT_ATK_MINUS_2 0x2E
#define MOVE_EFFECT_DEF_MINUS_2 0x2F
#define MOVE_EFFECT_SPD_MINUS_2 0x30
#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31
#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32
#define MOVE_EFFECT_ACC_MINUS_2 0x33
#define MOVE_EFFECT_EVS_MINUS_2 0x34
#define MOVE_EFFECT_THRASH 0x35
#define MOVE_EFFECT_KNOCK_OFF 0x36
#define MOVE_EFFECT_NOTHING_37 0x37
#define MOVE_EFFECT_NOTHING_38 0x38
#define MOVE_EFFECT_NOTHING_39 0x39
#define MOVE_EFFECT_NOTHING_3A 0x3A
#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B
#define MOVE_EFFECT_NOTHING_3C 0x3C
#define MOVE_EFFECT_NOTHING_3D 0x3D
#define MOVE_EFFECT_NOTHING_3E 0x3E
#define MOVE_EFFECT_NOTHING_3F 0x3F
#define MOVE_EFFECT_AFFECTS_USER 0x40
#define MOVE_EFFECT_CERTAIN 0x80
#define IS_MOVE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
#define IS_MOVE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
@@ -859,8 +531,6 @@ struct BattleScripting
u8 multiplayerId;
};
extern struct BattleScripting gBattleScripting;
enum
{
BACK_PIC_BRENDAN,
@@ -874,7 +544,7 @@ enum
};
// rom_80A5C6C
u8 GetBattlerSide(u8 bank);
u8 GetBattlerSide(u8 battler);
u8 GetBattlerPosition(u8 bank);
u8 GetBattlerAtPosition(u8 bank);
@@ -956,18 +626,6 @@ struct BattleSpriteData
struct BattleBarInfo *battleBars;
};
extern struct BattleSpriteData *gBattleSpritesDataPtr;
#define BATTLE_BUFFER_LINK_SIZE 0x1000
extern u8 *gLinkBattleSendBuffer;
extern u8 *gLinkBattleRecvBuffer;
extern u8 *gUnknown_0202305C;
extern u8 *gUnknown_02023060;
// Move this somewhere else
#include "sprite.h"
struct MonSpritesGfx
@@ -982,11 +640,106 @@ struct MonSpritesGfx
void *field_17C;
};
extern struct BattleSpritesGfx* gMonSpritesGfx;
extern u8 gBattleOutcome;
extern u16 gLastUsedItem;
// all battle variables are declared in battle_main.c
extern u32 gBattleTypeFlags;
extern struct MonSpritesGfx* gMonSpritesGfxPtr;
extern u16 gTrainerBattleOpponent_A;
extern u8 gBattleTerrain;
extern u32 gUnknown_02022FF4;
extern u8 *gUnknown_0202305C;
extern u8 *gUnknown_02023060;
extern u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200];
extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200];
extern u8 gActiveBattler;
extern u32 gBattleControllerExecFlags;
extern u8 gBattlersCount;
extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
extern u8 gBattlerPositions[MAX_BATTLERS_COUNT];
extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT];
extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT];
extern u8 gCurrentTurnActionNumber;
extern u8 gCurrentActionFuncId;
extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
extern u8 gCurrMovePos;
extern u8 gChosenMovePos;
extern u16 gCurrentMove;
extern u16 gChosenMove;
extern u16 gRandomMove;
extern s32 gBattleMoveDamage;
extern s32 gHpDealt;
extern s32 gTakenDmg[MAX_BATTLERS_COUNT];
extern u16 gLastUsedItem;
extern u8 gLastUsedAbility;
extern u8 gBattlerAttacker;
extern u8 gBattlerTarget;
extern u8 gBattlerFainted;
extern u8 gEffectBattler;
extern u8 gPotentialItemEffectBattler;
extern u8 gAbsentBattlerFlags;
extern u8 gCritMultiplier;
extern u8 gMultiHitCounter;
extern const u8 *gBattlescriptCurrInstr;
extern u32 gUnusedBattleMainVar;
extern u8 gChosenActionByBattler[MAX_BATTLERS_COUNT];
extern const u8 *gSelectionBattleScripts[MAX_BATTLERS_COUNT];
extern const u8 *gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT];
extern u16 gLastPrintedMoves[MAX_BATTLERS_COUNT];
extern u16 gLastMoves[MAX_BATTLERS_COUNT];
extern u16 gLastLandedMoves[MAX_BATTLERS_COUNT];
extern u16 gLastHitByType[MAX_BATTLERS_COUNT];
extern u16 gLastResultingMoves[MAX_BATTLERS_COUNT];
extern u16 gLockedMoves[MAX_BATTLERS_COUNT];
extern u8 gLastHitBy[MAX_BATTLERS_COUNT];
extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT];
extern u8 gMoveResultFlags;
extern u32 gHitMarker;
extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT];
extern u8 gUnknown_0202428C;
extern u16 gSideStatuses[2];
extern struct SideTimer gSideTimers[2];
extern u32 gStatuses3[MAX_BATTLERS_COUNT];
extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT];
extern u16 gPauseCounterBattle;
extern u16 gPaydayMoney;
extern u16 gRandomTurnNumber;
extern u8 gBattleCommunication[BATTLE_COMMUNICATION_ENTRIES_COUNT];
extern u8 gBattleOutcome;
extern struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT];
extern struct SpecialStatus gSpecialStatuses[MAX_BATTLERS_COUNT];
extern u16 gBattleWeather;
extern struct WishFutureKnock gWishFutureKnock;
extern u16 gIntroSlideFlags;
extern u8 gSentPokesToOpponent[2];
extern u16 gDynamicBasePower;
extern u16 gExpShareExp;
extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT];
extern struct BattleScripting gBattleScripting;
extern struct BattleStruct *gBattleStruct;
extern u8 *gLinkBattleSendBuffer;
extern u8 *gLinkBattleRecvBuffer;
extern struct BattleResources *gBattleResources;
extern u8 gActionSelectionCursor[MAX_BATTLERS_COUNT];
extern u8 gMoveSelectionCursor[MAX_BATTLERS_COUNT];
extern u8 gBattlerStatusSummaryTaskId[MAX_BATTLERS_COUNT];
extern u8 gBattlerInMenuId;
extern bool8 gDoingBattleAnim;
extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT];
extern u8 gPlayerDpadHoldFrames;
extern struct BattleSpriteData *gBattleSpritesDataPtr;
extern struct MonSpritesGfx *gMonSpritesGfxPtr;
extern struct BattleHealthboxInfo *gUnknown_020244D8;
extern struct BattleHealthboxInfo *gUnknown_020244DC;
extern u16 gBattleMovePower;
extern u16 gMoveToLearn;
extern u8 gBattleMonForms[MAX_BATTLERS_COUNT];
extern void (*gPreBattleCallback1)(void);
extern void (*gBattleMainFunc)(void);
extern struct BattleResults gBattleResults;
extern u8 gLeveledUpInBattle;
extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void);
extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
extern u8 gMultiUsePlayerCursor;
extern u8 gNumberOfMovesToChoose;
extern u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
#endif // GUARD_BATTLE_H
+11 -11
View File
@@ -56,8 +56,8 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
void DestroyAnimSprite(struct Sprite *sprite);
void DestroyAnimVisualTask(u8 taskId);
void DestroyAnimSoundTask(u8 taskId);
bool8 IsBattlerSpriteVisible(u8 bank);
void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible);
bool8 IsBattlerSpriteVisible(u8 battlerId);
void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible);
bool8 IsContest(void);
s8 BattleAnimAdjustPanning(s8 pan);
s8 BattleAnimAdjustPanning2(s8 pan);
@@ -76,7 +76,7 @@ void sub_80A6F3C(struct Sprite *sprite);
void sub_80A8278(void);
void sub_80A6B30(struct UnknownAnimStruct2*);
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
u8 sub_80A82E4(u8 bank);
u8 sub_80A82E4(u8 battlerId);
bool8 AnimateBallThrow(struct Sprite *sprite);
enum
@@ -85,26 +85,26 @@ enum
BANK_Y_POS,
};
u8 GetBattlerSpriteCoord(u8 bank, u8 attributeId);
u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId);
bool8 IsBattlerSpritePresent(u8 bank);
bool8 IsBattlerSpritePresent(u8 battlerId);
void sub_80A6C68(u8 arg0);
u8 GetAnimBattlerSpriteId(u8 wantedBank);
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
bool8 IsDoubleBattle(void);
u8 sub_80A6D94(void);
u8 sub_80A8364(u8);
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
u8 GetBattlerSpriteDefault_Y(u8 bank);
u8 sub_80A82E4(u8 bank);
u8 GetSubstituteSpriteDefault_Y(u8 bank);
u8 GetBattlerSpriteDefault_Y(u8 battlerId);
u8 sub_80A82E4(u8 battlerId);
u8 GetSubstituteSpriteDefault_Y(u8 battlerId);
// battle_anim_80A9C70.s
void LaunchStatusAnimation(u8 bank, u8 statusAnimId);
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
// battle_anim_8170478.s
u8 ItemIdToBallId(u16 itemId);
u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId);
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 bank, u32 arg2, u8 ballId);
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId);
#endif // GUARD_BATTLE_ANIM_H
+1
View File
@@ -6,5 +6,6 @@ void sub_81A895C(void);
u16 sub_81A89A0(u8);
void sub_81A8AF8(void);
bool8 InBattlePike(void);
void sub_819FA50(void);
#endif // GUARD_BATTLE_FRONTIER_2_H
+18 -18
View File
@@ -8,41 +8,41 @@ void sub_805D714(struct Sprite *sprite);
void sub_805D770(struct Sprite *sprite, bool8 arg1);
void sub_805D7AC(struct Sprite *sprite);
void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status);
bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument);
void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId);
bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument);
void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId);
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn);
bool8 mplay_80342A4(u8 bank);
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
bool8 mplay_80342A4(u8 battlerId);
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId);
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId);
void nullsub_23(void);
void nullsub_24(u16 species);
void DecompressTrainerFrontPic(u16 frontPicId, u8 bank);
void DecompressTrainerBackPic(u16 backPicId, u8 bank);
void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId);
void DecompressTrainerBackPic(u16 backPicId, u8 battlerId);
void nullsub_25(u8 arg0);
void FreeTrainerFrontPicPalette(u16 frontPicId);
void sub_805DFFC(void);
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
void LoadBattleBarGfx(u8 arg0);
bool8 BattleInitAllSprites(u8 *state1, u8 *bank);
bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId);
void ClearSpritesHealthboxAnimData(void);
void CopyAllBattleSpritesInvisibilities(void);
void CopyBattleSpriteInvisibility(u8 bank);
void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform);
void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite);
void LoadBattleMonGfxAndAnimate(u8 bank, bool8 loadMonSprite, u8 spriteId);
void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move);
void ClearBehindSubstituteBit(u8 bank);
void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank);
void CopyBattleSpriteInvisibility(u8 battlerId);
void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool8 notTransform);
void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite);
void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId);
void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move);
void ClearBehindSubstituteBit(u8 battlerId);
void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId);
void BattleStopLowHpSound(void);
u8 GetMonHPBarLevel(struct Pokemon *mon);
void sub_805EAE8(void);
void sub_805EB9C(u8 affineMode);
void LoadAndCreateEnemyShadowSprites(void);
void SpriteCB_SetInvisible(struct Sprite *sprite);
void SetBattlerShadowSpriteCallback(u8 bank, u16 species);
void HideBattlerShadowSprite(u8 bank);
void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species);
void HideBattlerShadowSprite(u8 battlerId);
void sub_805EF14(void);
void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute);
void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute);
void AllocateMonSpritesGfx(void);
void FreeMonSpritesGfx(void);
bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon);
+5 -5
View File
@@ -21,8 +21,8 @@ void sub_8039B58(struct Sprite *sprite);
void sub_8039BB4(struct Sprite *sprite);
void sub_80105DC(struct Sprite *sprite);
void sub_8039C00(struct Sprite *sprite);
void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d);
void dp11b_obj_free(u8 bank, bool8 b);
void dp11b_obj_instanciate(u8 battlerId, u8 b, s8 c, s8 d);
void dp11b_obj_free(u8 battlerId, bool8 b);
void sub_8039E44(struct Sprite *sprite);
void sub_8039E60(struct Sprite *sprite);
void sub_8039E84(struct Sprite *sprite);
@@ -35,12 +35,12 @@ void sub_803B3AC(void); // unused
void sub_803B598(void); // unused
void BattleTurnPassed(void);
u8 IsRunningFromBattleImpossible(void);
void sub_803BDA0(u8 bank);
void sub_803BDA0(u8 battlerId);
void SwapTurnOrder(u8 id1, u8 id2);
u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves);
u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves);
void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void);
bool8 TryRunFromBattle(u8 bank);
bool8 TryRunFromBattle(u8 battlerId);
extern const u8 gStatusConditionString_PoisonJpn[8];
extern const u8 gStatusConditionString_SleepJpn[8];
+8
View File
@@ -229,6 +229,14 @@ extern const u8* const gPokeblockWasTooXStringTable[];
extern const u8* const gRefereeStringsTable[];
extern const u8* const gStatNamesTable2[];
extern const u8 gText_BadEgg[];
extern const u8 gText_StatRose[];
extern const u8 gText_PkmnsStatChanged2[];
extern const u8 gText_PkmnGettingPumped[];
extern const u8 gText_PkmnShroudedInMist[];
extern const u8 gText_BattleWallyName[];
extern const u8 gText_PkmnsXPreventsSwitching[];
extern const u16 gMissStringIds[];
extern const u16 gTrappingMoves[];
-45
View File
@@ -1,51 +1,6 @@
#ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H
#define GUARD_BATTLE_SCRIPT_COMMANDS_H
#define NO_ACC_CALC 0xFFFE
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
#define ACC_CURR_MOVE 0
#define CMP_EQUAL 0x0
#define CMP_NOT_EQUAL 0x1
#define CMP_GREATER_THAN 0x2
#define CMP_LESS_THAN 0x3
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability
#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
#define ATK48_STAT_NEGATIVE 0x1
#define ATK48_STAT_BY_TWO 0x2
#define ATK48_BIT_x4 0x4
#define ATK48_LOWER_FAIL_CHECK 0x8
#define ATK4F_DONT_CHECK_STATUSES 0x80
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
#define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
#define VARIOUS_EMIT_YESNOBOX 13
#define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
#define ATK80_DMG_CHANGE_SIGN 0
#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
#define ATK80_DMG_DOUBLED 2
#define STAT_CHANGE_BS_PTR 0x1
#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
#define STAT_CHANGE_WORKED 0
#define STAT_CHANGE_DIDNT_WORK 1
#define WINDOW_CLEAR 0x1
#define WINDOW_x80 0x80
+1 -1
View File
@@ -82,7 +82,7 @@ extern const u8 BattleScript_SpikesOnAttacker[];
extern const u8 BattleScript_82DAE7A[];
extern const u8 BattleScript_SpikesOnTarget[];
extern const u8 BattleScript_82DAEB1[];
extern const u8 BattleScript_SpikesOngBank1[];
extern const u8 BattleScript_SpikesOnFaintedBattler[];
extern const u8 BattleScript_82DAEE8[];
extern const u8 BattleScript_82DAEFE[];
extern const u8 BattleScript_PerishSongTakesLife[];
+1 -1
View File
@@ -44,7 +44,7 @@
#define BS_GET_PLAYER2 13
#define BS_GET_OPPONENT2 14
u8 GetBattleBank(u8 caseId);
u8 GetBattlerForBattleScript(u8 caseId);
void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move);
void PressurePPLoseOnUsingPerishSong(u8 bankAtk);
void PressurePPLoseOnUsingImprision(u8 bankAtk);
-6
View File
@@ -1,6 +0,0 @@
#ifndef GUARD_CALCULATE_BASE_DAMAGE_H
#define GUARD_CALCULATE_BASE_DAMAGE_H
s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef);
#endif // GUARD_CALCULATE_BASE_DAMAGE_H
+284
View File
@@ -0,0 +1,284 @@
#ifndef GUARD_CONSTANTS_BATTLE_H
#define GUARD_CONSTANTS_BATTLE_H
/*
* A battler may be in one of four positions on the field. The first bit determines
* what side the battler is on, either the player's side or the opponent's side.
* The second bit determines what flank the battler is on, either the left or right.
* Note that the opponent's flanks are drawn corresponding to their perspective, so
* their right mon appears on the left, and their left mon appears on the right.
* The battler ID is usually the same as the position, except in the case of link battles.
*
* + ------------------------- +
* | Opponent's side |
* | Right Left |
* | 3 1 |
* | |
* | Player's side |
* | Left Right |
* | 0 2 |
* ----------------------------+
* | |
* | |
* +---------------------------+
*/
#define MAX_BATTLERS_COUNT 4
#define B_POSITION_PLAYER_LEFT 0
#define B_POSITION_OPPONENT_LEFT 1
#define B_POSITION_PLAYER_RIGHT 2
#define B_POSITION_OPPONENT_RIGHT 3
// These macros can be used with either battler ID or positions to get the partner or the opposite mon
#define BATTLE_OPPOSITE(id) ((id) ^ 1)
#define BATTLE_PARTNER(id) ((id) ^ 2)
#define B_SIDE_PLAYER 0
#define B_SIDE_OPPONENT 1
#define B_FLANK_LEFT 0
#define B_FLANK_RIGHT 1
#define BIT_SIDE 1
#define BIT_FLANK 2
// Battle Type Flags
#define BATTLE_TYPE_DOUBLE 0x0001
#define BATTLE_TYPE_LINK 0x0002
#define BATTLE_TYPE_WILD 0x0004
#define BATTLE_TYPE_TRAINER 0x0008
#define BATTLE_TYPE_FIRST_BATTLE 0x0010
#define BATTLE_TYPE_20 0x0020
#define BATTLE_TYPE_MULTI 0x0040
#define BATTLE_TYPE_SAFARI 0x0080
#define BATTLE_TYPE_BATTLE_TOWER 0x0100
#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200
#define BATTLE_TYPE_ROAMER 0x0400
#define BATTLE_TYPE_EREADER_TRAINER 0x0800
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
#define BATTLE_TYPE_LEGENDARY 0x2000
#define BATTLE_TYPE_REGI 0x4000
#define BATTLE_TYPE_TWO_OPPONENTS 0x8000
#define BATTLE_TYPE_DOME 0x10000
#define BATTLE_TYPE_PALACE 0x20000
#define BATTLE_TYPE_ARENA 0x40000
#define BATTLE_TYPE_FACTORY 0x80000
#define BATTLE_TYPE_PIKE 0x100000
#define BATTLE_TYPE_PYRAMID 0x200000
#define BATTLE_TYPE_INGAME_PARTNER 0x400000
#define BATTLE_TYPE_x800000 0x800000
#define BATTLE_TYPE_RECORDED 0x1000000
#define BATTLE_TYPE_x2000000 0x2000000
#define BATTLE_TYPE_x4000000 0x4000000
#define BATTLE_TYPE_SECRET_BASE 0x8000000
#define BATTLE_TYPE_GROUDON 0x10000000
#define BATTLE_TYPE_KYOGRE 0x20000000
#define BATTLE_TYPE_RAYQUAZA 0x40000000
#define BATTLE_TYPE_x80000000 0x80000000
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
// Battle Outcome defines
#define B_OUTCOME_WON 0x1
#define B_OUTCOME_LOST 0x2
#define B_OUTCOME_DREW 0x3
#define B_OUTCOME_RAN 0x4
#define B_OUTCOME_PLAYER_TELEPORTED 0x5
#define B_OUTCOME_MON_FLED 0x6
#define B_OUTCOME_CAUGHT 0x7
#define B_OUTCOME_NO_SAFARI_BALLS 0x8
#define B_OUTCOME_FORFEITED 0x9
#define B_OUTCOME_MON_TELEPORTED 0xA
#define B_OUTCOME_LINK_BATTLE_RAN 0x80
// Non-volatile status conditions
// These persist remain outside of battle and after switching out
#define STATUS1_NONE 0x0
#define STATUS1_SLEEP 0x7
#define STATUS1_POISON 0x8
#define STATUS1_BURN 0x10
#define STATUS1_FREEZE 0x20
#define STATUS1_PARALYSIS 0x40
#define STATUS1_TOXIC_POISON 0x80
#define STATUS1_TOXIC_COUNTER 0xF00
#define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON)
#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)
// Volatile status ailments
// These are removed after exiting the battle or switching out
#define STATUS2_CONFUSION 0x00000007
#define STATUS2_FLINCHED 0x00000008
#define STATUS2_UPROAR 0x00000070
#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200
#define STATUS2_LOCK_CONFUSE 0x00000C00
#define STATUS2_MULTIPLETURNS 0x00001000
#define STATUS2_WRAPPED 0x0000E000
#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every battler
#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16)
#define STATUS2_FOCUS_ENERGY 0x00100000
#define STATUS2_TRANSFORMED 0x00200000
#define STATUS2_RECHARGE 0x00400000
#define STATUS2_RAGE 0x00800000
#define STATUS2_SUBSTITUTE 0x01000000
#define STATUS2_DESTINY_BOND 0x02000000
#define STATUS2_ESCAPE_PREVENTION 0x04000000
#define STATUS2_NIGHTMARE 0x08000000
#define STATUS2_CURSED 0x10000000
#define STATUS2_FORESIGHT 0x20000000
#define STATUS2_DEFENSE_CURL 0x40000000
#define STATUS2_TORMENT 0x80000000
// Seems like per-battler statuses. Not quite sure how to categorize these
#define STATUS3_LEECHSEED_BANK 0x3
#define STATUS3_LEECHSEED 0x4
#define STATUS3_ALWAYS_HITS 0x18 // two bits
#define STATUS3_PERISH_SONG 0x20
#define STATUS3_ON_AIR 0x40
#define STATUS3_UNDERGROUND 0x80
#define STATUS3_MINIMIZED 0x100
#define STATUS3_ROOTED 0x400
#define STATUS3_CHARGED_UP 0x200
#define STATUS3_YAWN 0x1800 // two bits
#define STATUS3_IMPRISONED_OTHERS 0x2000
#define STATUS3_GRUDGE 0x4000
#define STATUS3_CANT_SCORE_A_CRIT 0x8000
#define STATUS3_MUDSPORT 0x10000
#define STATUS3_WATERSPORT 0x20000
#define STATUS3_UNDERWATER 0x40000
#define STATUS3_INTIMIDATE_POKES 0x80000
#define STATUS3_TRACE 0x100000
#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)
// Not really sure what a "hitmarker" is.
#define HITMARKER_x10 0x00000010
#define HITMARKER_x20 0x00000020
#define HITMARKER_DESTINYBOND 0x00000040
#define HITMARKER_NO_ANIMATIONS 0x00000080
#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100
#define HITMARKER_NO_ATTACKSTRING 0x00000200
#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400
#define HITMARKER_NO_PPDEDUCT 0x00000800
#define HITMARKER_PURSUIT_TRAP 0x00001000
#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
#define HITMARKER_RUN 0x00008000
#define HITMARKER_IGNORE_ON_AIR 0x00010000
#define HITMARKER_IGNORE_UNDERGROUND 0x00020000
#define HITMARKER_IGNORE_UNDERWATER 0x00040000
#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000
#define HITMARKER_x100000 0x00100000
#define HITMARKER_x200000 0x00200000
#define HITMARKER_x400000 0x00400000
#define HITMARKER_x800000 0x00800000
#define HITMARKER_GRUDGE 0x01000000
#define HITMARKER_OBEYS 0x02000000
#define HITMARKER_x4000000 0x04000000
#define HITMARKER_x8000000 0x08000000
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C)
#define HITMARKER_UNK(battler) (0x10000000 << battler)
// Per-side statuses that affect an entire party
#define SIDE_STATUS_REFLECT (1 << 0)
#define SIDE_STATUS_LIGHTSCREEN (1 << 1)
#define SIDE_STATUS_X4 (1 << 2)
#define SIDE_STATUS_SPIKES (1 << 4)
#define SIDE_STATUS_SAFEGUARD (1 << 5)
#define SIDE_STATUS_FUTUREATTACK (1 << 6)
#define SIDE_STATUS_MIST (1 << 8)
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
// Flags describing move's result
#define MOVE_RESULT_MISSED (1 << 0)
#define MOVE_RESULT_SUPER_EFFECTIVE (1 << 1)
#define MOVE_RESULT_NOT_VERY_EFFECTIVE (1 << 2)
#define MOVE_RESULT_DOESNT_AFFECT_FOE (1 << 3)
#define MOVE_RESULT_ONE_HIT_KO (1 << 4)
#define MOVE_RESULT_FAILED (1 << 5)
#define MOVE_RESULT_FOE_ENDURED (1 << 6)
#define MOVE_RESULT_FOE_HUNG_ON (1 << 7)
#define MOVE_RESULT_NO_EFFECT (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)
// Battle Weather flags
#define WEATHER_RAIN_TEMPORARY (1 << 0)
#define WEATHER_RAIN_DOWNPOUR (1 << 1) // unused
#define WEATHER_RAIN_PERMANENT (1 << 2)
#define WEATHER_RAIN_ANY (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT)
#define WEATHER_SANDSTORM_TEMPORARY (1 << 3)
#define WEATHER_SANDSTORM_PERMANENT (1 << 4)
#define WEATHER_SANDSTORM_ANY (WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT)
#define WEATHER_SUN_TEMPORARY (1 << 5)
#define WEATHER_SUN_PERMANENT (1 << 6)
#define WEATHER_SUN_ANY (WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)
#define WEATHER_HAIL (1 << 7)
#define WEATHER_HAIL_ANY (WEATHER_HAIL)
#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)
// Move Effects
#define MOVE_EFFECT_SLEEP 0x1
#define MOVE_EFFECT_POISON 0x2
#define MOVE_EFFECT_BURN 0x3
#define MOVE_EFFECT_FREEZE 0x4
#define MOVE_EFFECT_PARALYSIS 0x5
#define MOVE_EFFECT_TOXIC 0x6
#define MOVE_EFFECT_CONFUSION 0x7
#define MOVE_EFFECT_FLINCH 0x8
#define MOVE_EFFECT_TRI_ATTACK 0x9
#define MOVE_EFFECT_UPROAR 0xA
#define MOVE_EFFECT_PAYDAY 0xB
#define MOVE_EFFECT_CHARGING 0xC
#define MOVE_EFFECT_WRAP 0xD
#define MOVE_EFFECT_RECOIL_25 0xE
#define MOVE_EFFECT_ATK_PLUS_1 0xF
#define MOVE_EFFECT_DEF_PLUS_1 0x10
#define MOVE_EFFECT_SPD_PLUS_1 0x11
#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12
#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13
#define MOVE_EFFECT_ACC_PLUS_1 0x14
#define MOVE_EFFECT_EVS_PLUS_1 0x15
#define MOVE_EFFECT_ATK_MINUS_1 0x16
#define MOVE_EFFECT_DEF_MINUS_1 0x17
#define MOVE_EFFECT_SPD_MINUS_1 0x18
#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19
#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A
#define MOVE_EFFECT_ACC_MINUS_1 0x1B
#define MOVE_EFFECT_EVS_MINUS_1 0x1C
#define MOVE_EFFECT_RECHARGE 0x1D
#define MOVE_EFFECT_RAGE 0x1E
#define MOVE_EFFECT_STEAL_ITEM 0x1F
#define MOVE_EFFECT_PREVENT_ESCAPE 0x20
#define MOVE_EFFECT_NIGHTMARE 0x21
#define MOVE_EFFECT_ALL_STATS_UP 0x22
#define MOVE_EFFECT_RAPIDSPIN 0x23
#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24
#define MOVE_EFFECT_ATK_DEF_DOWN 0x25
#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26
#define MOVE_EFFECT_ATK_PLUS_2 0x27
#define MOVE_EFFECT_DEF_PLUS_2 0x28
#define MOVE_EFFECT_SPD_PLUS_2 0x29
#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A
#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B
#define MOVE_EFFECT_ACC_PLUS_2 0x2C
#define MOVE_EFFECT_EVS_PLUS_2 0x2D
#define MOVE_EFFECT_ATK_MINUS_2 0x2E
#define MOVE_EFFECT_DEF_MINUS_2 0x2F
#define MOVE_EFFECT_SPD_MINUS_2 0x30
#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31
#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32
#define MOVE_EFFECT_ACC_MINUS_2 0x33
#define MOVE_EFFECT_EVS_MINUS_2 0x34
#define MOVE_EFFECT_THRASH 0x35
#define MOVE_EFFECT_KNOCK_OFF 0x36
#define MOVE_EFFECT_NOTHING_37 0x37
#define MOVE_EFFECT_NOTHING_38 0x38
#define MOVE_EFFECT_NOTHING_39 0x39
#define MOVE_EFFECT_NOTHING_3A 0x3A
#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B
#define MOVE_EFFECT_NOTHING_3C 0x3C
#define MOVE_EFFECT_NOTHING_3D 0x3D
#define MOVE_EFFECT_NOTHING_3E 0x3E
#define MOVE_EFFECT_NOTHING_3F 0x3F
#define MOVE_EFFECT_AFFECTS_USER 0x40
#define MOVE_EFFECT_CERTAIN 0x80
#endif // GUARD_CONSTANTS_BATTLE_H
+5 -5
View File
@@ -1,7 +1,7 @@
#ifndef GUARD_BATTLE_AI_H
#define GUARD_BATTLE_AI_H
#ifndef GUARD_CONSTANTS_BATTLE_AI_H
#define GUARD_CONSTANTS_BATTLE_AI_H
// banks enum
// battlers
#define AI_TARGET 0
#define AI_USER 1
#define AI_TARGET_PARTNER 2
@@ -22,7 +22,7 @@
#define AI_EFFECTIVENESS_x0_25 10
#define AI_EFFECTIVENESS_x0 0
// ai weather enum
// ai weather
#define AI_WEATHER_SUN 0
#define AI_WEATHER_RAIN 1
#define AI_WEATHER_SANDSTORM 2
@@ -49,4 +49,4 @@
#define AI_SCRIPT_SAFARI (1 << 30)
#define AI_SCRIPT_FIRST_BATTLE (1 << 31)
#endif // GUARD_BATTLE_AI_H
#endif // GUARD_CONSTANTS_BATTLE_AI_H
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef GUARD_CONSTANTS_BATTLE_ANIM_H
#define GUARD_CONSTANTS_BATTLE_ANIM_H
// banks enum used in scripts
// battlers
#define ANIM_ATTACKER 0
#define ANIM_TARGET 1
#define ANIM_ATK_PARTNER 2
@@ -0,0 +1,97 @@
#ifndef GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
#define GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
// Battle Scripting and BattleCommunication addresses
#define sPAINSPLIT_HP gBattleScripting
#define sBIDE_DMG gBattleScripting + 4
#define sMULTIHIT_STRING gBattleScripting + 8
#define sDMG_MULTIPLIER gBattleScripting + 0xE
#define sTWOTURN_STRINGID gBattleScripting + 0xF
#define sB_ANIM_ARG1 gBattleScripting + 0x10
#define sB_ANIM_ARG2 gBattleScripting + 0x11
#define sTRIPLE_KICK_POWER gBattleScripting + 0x12
#define sMOVEEND_STATE gBattleScripting + 0x14
#define sBANK_WITH_ABILITY gBattleScripting + 0x15
#define sMULTIHIT_EFFECT gBattleScripting + 0x16
#define sBANK gBattleScripting + 0x17
#define sB_ANIM_TURN gBattleScripting + 0x18
#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19
#define sSTATCHANGER gBattleScripting + 0x1A
#define sFIELD_1B gBattleScripting + 0x1B
#define sGIVEEXP_STATE gBattleScripting + 0x1C
#define sBATTLE_STYLE gBattleScripting + 0x1D
#define sLVLBOX_STATE gBattleScripting + 0x1E
#define sLEARNMOVE_STATE gBattleScripting + 0x1F
#define sFIELD_20 gBattleScripting + 0x20
#define sRESHOW_MAIN_STATE gBattleScripting + 0x21
#define sRESHOW_HELPER_STATE gBattleScripting + 0x22
#define sFIELD_23 gBattleScripting + 0x23
#define sFIELD_24 gBattleScripting + 0x24
#define sMULTIPLAYER_ID gBattleScripting + 0x25
#define cEFFECT_CHOOSER gBattleCommunication + 3
#define cMULTISTRING_CHOOSER gBattleCommunication + 5
// Battle Script defines for getting the wanted battler
#define BS_TARGET 0
#define BS_ATTACKER 1
#define BS_EFFECT_BATTLER 2
#define BS_FAINTED 3
#define BS_BANK_0 7
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability
#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
#define BS_SCRIPTING 10
#define BS_PLAYER1 11
#define BS_OPPONENT1 12
#define BS_PLAYER2 13
#define BS_OPPONENT2 14
// atk 01, accuracy calc
#define NO_ACC_CALC 0xFFFE
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
#define ACC_CURR_MOVE 0
// compare operands
#define CMP_EQUAL 0x0
#define CMP_NOT_EQUAL 0x1
#define CMP_GREATER_THAN 0x2
#define CMP_LESS_THAN 0x3
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
// atk76, various
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
#define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
#define VARIOUS_EMIT_YESNOBOX 13
#define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
// atk80, dmg manipulation
#define ATK80_DMG_CHANGE_SIGN 0
#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
#define ATK80_DMG_DOUBLED 2
// atk4F, a flag used for the jumpifcantswitch command
#define ATK4F_DONT_CHECK_STATUSES 0x80
// statchange defines
#define STAT_CHANGE_BS_PTR 0x1
#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
#define STAT_CHANGE_WORKED 0
#define STAT_CHANGE_DIDNT_WORK 1
// atk48
#define ATK48_STAT_NEGATIVE 0x1
#define ATK48_STAT_BY_TWO 0x2
#define ATK48_BIT_x4 0x4
#define ATK48_LOWER_FAIL_CHECK 0x8
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
@@ -1,5 +1,5 @@
#ifndef GUARD_BATTLE_STRING_IDS_H
#define GUARD_BATTLE_STRING_IDS_H
#ifndef GUARD_CONSTANTS_BATTLE_STRING_IDS_H
#define GUARD_CONSTANTS_BATTLE_STRING_IDS_H
#define BATTLESTRINGS_COUNT 369
@@ -12,7 +12,6 @@
#define STRINGID_USEDMOVE 4
#define STRINGID_BATTLEEND 5
// todo: make some of those names less vague: attacker/target vs pkmn, etc.
#define STRINGID_TRAINER1LOSETEXT 12
#define STRINGID_PKMNGAINEDEXP 13
@@ -384,4 +383,4 @@
#define STRINGID_TRAINER1WINTEXT 379
#define STRINGID_TRAINER2WINTEXT 380
#endif // GUARD_BATTLE_STRING_IDS_H
#endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H
+3
View File
@@ -464,4 +464,7 @@
#define NUM_TECHNICAL_MACHINES 50
#define NUM_HIDDEN_MACHINES 8
// Check if the item is one that can be used on a Pokemon.
#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2)
#endif // GUARD_CONSTANTS_ITEMS_H
+80
View File
@@ -0,0 +1,80 @@
#ifndef GUARD_CONSTANTS_POKEMON_H
#define GUARD_CONSTANTS_POKEMON_H
// Pokemon types
#define TYPE_NORMAL 0x00
#define TYPE_FIGHTING 0x01
#define TYPE_FLYING 0x02
#define TYPE_POISON 0x03
#define TYPE_GROUND 0x04
#define TYPE_ROCK 0x05
#define TYPE_BUG 0x06
#define TYPE_GHOST 0x07
#define TYPE_STEEL 0x08
#define TYPE_MYSTERY 0x09
#define TYPE_FIRE 0x0a
#define TYPE_WATER 0x0b
#define TYPE_GRASS 0x0c
#define TYPE_ELECTRIC 0x0d
#define TYPE_PSYCHIC 0x0e
#define TYPE_ICE 0x0f
#define TYPE_DRAGON 0x10
#define TYPE_DARK 0x11
#define NUMBER_OF_MON_TYPES 0x12
// Pokemon egg groups
#define EGG_GROUP_NONE 0
#define EGG_GROUP_MONSTER 1
#define EGG_GROUP_WATER_1 2
#define EGG_GROUP_BUG 3
#define EGG_GROUP_FLYING 4
#define EGG_GROUP_FIELD 5
#define EGG_GROUP_FAIRY 6
#define EGG_GROUP_GRASS 7
#define EGG_GROUP_HUMAN_LIKE 8
#define EGG_GROUP_WATER_3 9
#define EGG_GROUP_MINERAL 10
#define EGG_GROUP_AMORPHOUS 11
#define EGG_GROUP_WATER_2 12
#define EGG_GROUP_DITTO 13
#define EGG_GROUP_DRAGON 14
#define EGG_GROUP_UNDISCOVERED 15
// Pokemon natures
#define NATURE_HARDY 0
#define NATURE_LONELY 1
#define NATURE_BRAVE 2
#define NATURE_ADAMANT 3
#define NATURE_NAUGHTY 4
#define NATURE_BOLD 5
#define NATURE_DOCILE 6
#define NATURE_RELAXED 7
#define NATURE_IMPISH 8
#define NATURE_LAX 9
#define NATURE_TIMID 10
#define NATURE_HASTY 11
#define NATURE_SERIOUS 12
#define NATURE_JOLLY 13
#define NATURE_NAIVE 14
#define NATURE_MODEST 15
#define NATURE_MILD 16
#define NATURE_QUIET 17
#define NATURE_BASHFUL 18
#define NATURE_RASH 19
#define NATURE_CALM 20
#define NATURE_GENTLE 21
#define NATURE_SASSY 22
#define NATURE_CAREFUL 23
#define NATURE_QUIRKY 24
// Pokemon Stats
#define STAT_HP 0
#define STAT_ATK 1
#define STAT_DEF 2
#define STAT_SPEED 3
#define STAT_SPATK 4
#define STAT_SPDEF 5
#define STAT_ACC 6 // only in battles
#define STAT_EVASION 7 // only in battles
#endif // GUARD_CONSTANTS_POKEMON_H
+16 -16
View File
@@ -956,13 +956,13 @@
#define FACILITY_CLASS_HIKER 0x0
#define FACILITY_CLASS_TEAM_AQUA_1 0x1
#define FACILITY_CLASS_PKMN_BREEDER_1 0x2
#define FACILITY_CLASS_COOLTRAINER_1 0x3
#define FACILITY_CLASS_COOLTRAINER_M 0x3
#define FACILITY_CLASS_BIRD_KEEPER 0x4
#define FACILITY_CLASS_COLLECTOR 0x5
#define FACILITY_CLASS_TEAM_AQUA_2 0x6
#define FACILITY_CLASS_SWIMMER_M 0x7
#define FACILITY_CLASS_TEAM_MAGMA_1 0x8
#define FACILITY_CLASS_EXPERT_1 0x9
#define FACILITY_CLASS_EXPERT_M 0x9
#define FACILITY_CLASS_BLACK_BELT 0xa
#define FACILITY_CLASS_AQUA_LEADER 0xb
#define FACILITY_CLASS_HEX_MANIAC 0xc
@@ -971,7 +971,7 @@
#define FACILITY_CLASS_INTERVIEWER 0xf
#define FACILITY_CLASS_TUBER_1 0x10
#define FACILITY_CLASS_TUBER_2 0x11
#define FACILITY_CLASS_COOLTRAINER_2 0x12
#define FACILITY_CLASS_COOLTRAINER_F 0x12
#define FACILITY_CLASS_LADY 0x13
#define FACILITY_CLASS_BEAUTY 0x14
#define FACILITY_CLASS_RICH_BOY 0x15
@@ -983,16 +983,16 @@
#define FACILITY_CLASS_CAMPER 0x1b
#define FACILITY_CLASS_PICNICKER 0x1c
#define FACILITY_CLASS_BUG_MANIAC 0x1d
#define FACILITY_CLASS_PSYCHIC_1 0x1e
#define FACILITY_CLASS_PSYCHIC_2 0x1f
#define FACILITY_CLASS_PSYCHIC_M 0x1e
#define FACILITY_CLASS_PSYCHIC_F 0x1f
#define FACILITY_CLASS_GENTLEMAN 0x20
#define FACILITY_CLASS_ELITE_FOUR_1 0x21
#define FACILITY_CLASS_ELITE_FOUR_2 0x22
#define FACILITY_CLASS_LEADER_1 0x23
#define FACILITY_CLASS_LEADER_2 0x24
#define FACILITY_CLASS_LEADER_3 0x25
#define FACILITY_CLASS_SCHOOL_KID_1 0x26
#define FACILITY_CLASS_SCHOOL_KID_2 0x27
#define FACILITY_CLASS_SCHOOL_KID_M 0x26
#define FACILITY_CLASS_SCHOOL_KID_F 0x27
#define FACILITY_CLASS_SR_AND_JR 0x28
#define FACILITY_CLASS_POKEFAN_1 0x29
#define FACILITY_CLASS_POKEFAN_2 0x2a
@@ -1013,28 +1013,28 @@
#define FACILITY_CLASS_TWINS 0x39
#define FACILITY_CLASS_SAILOR 0x3a
#define FACILITY_CLASS_PKMN_TRAINER_1 0x3b
#define FACILITY_CLASS_PKMN_TRAINER_2 0x3c
#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3c
#define FACILITY_CLASS_PKMN_TRAINER_3 0x3d
#define FACILITY_CLASS_PKMN_TRAINER_4 0x3e
#define FACILITY_CLASS_PKMN_TRAINER_5 0x3f
#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3f
#define FACILITY_CLASS_PKMN_TRAINER_6 0x40
#define FACILITY_CLASS_PKMN_TRAINER_7 0x41
#define FACILITY_CLASS_PKMN_BREEDER_2 0x42
#define FACILITY_CLASS_BUG_CATCHER 0x43
#define FACILITY_CLASS_PKMN_RANGER_1 0x44
#define FACILITY_CLASS_PKMN_RANGER_2 0x45
#define FACILITY_CLASS_PKMN_RANGER_M 0x44
#define FACILITY_CLASS_PKMN_RANGER_F 0x45
#define FACILITY_CLASS_MAGMA_LEADER 0x46
#define FACILITY_CLASS_LASS 0x47
#define FACILITY_CLASS_YOUNG_COUPLE 0x48
#define FACILITY_CLASS_OLD_COUPLE 0x49
#define FACILITY_CLASS_SIS_AND_BRO 0x4a
#define FACILITY_CLASS_PKMN_TRAINER_8 0x4b
#define FACILITY_CLASS_PKMN_TRAINER_STEVEN 0x4b
#define FACILITY_CLASS_SALON_MAIDEN 0x4c
#define FACILITY_CLASS_DOME_ACE 0x4d
#define FACILITY_CLASS_PKMN_TRAINER_9 0x4e
#define FACILITY_CLASS_PKMN_TRAINER_10 0x4f
#define FACILITY_CLASS_PKMN_TRAINER_11 0x50
#define FACILITY_CLASS_PKMN_TRAINER_12 0x51
#define FACILITY_CLASS_PKMN_TRAINER_RED 0x4e
#define FACILITY_CLASS_PKMN_TRAINER_LEAF 0x4f
#define FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN 0x50
#define FACILITY_CLASS_PKMN_TRAINER_RS_MAY 0x51
#define TRAINER_CLASS_PKMN_TRAINER_1 0x0
#define TRAINER_CLASS_PKMN_TRAINER_2 0x1
+11
View File
@@ -0,0 +1,11 @@
#ifndef GUARD_CRT0_H
#define GUARD_CRT0_H
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
extern u32 IntrMain[];
#endif //GUARD_CRT0_H
+32 -32
View File
@@ -6,13 +6,13 @@ const u8 gFacilityClassToPicIndex[] =
TRAINER_PIC_HIKER, // FACILITY_CLASS_HIKER
TRAINER_PIC_AQUA_GRUNT_M, // FACILITY_CLASS_TEAM_AQUA_1
TRAINER_PIC_POKEMON_BREEDER_F, // FACILITY_CLASS_PKMN_BREEDER_1
TRAINER_PIC_COOL_TRAINER_M, // FACILITY_CLASS_COOLTRAINER_1
TRAINER_PIC_COOL_TRAINER_M, // FACILITY_CLASS_COOLTRAINER_M
TRAINER_PIC_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER
TRAINER_PIC_COLLECTOR, // FACILITY_CLASS_COLLECTOR
TRAINER_PIC_AQUA_GRUNT_F, // FACILITY_CLASS_TEAM_AQUA_2
TRAINER_PIC_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M
TRAINER_PIC_MAGMA_GRUNT_M, // FACILITY_CLASS_TEAM_MAGMA_1
TRAINER_PIC_EXPERT_M, // FACILITY_CLASS_EXPERT_1
TRAINER_PIC_EXPERT_M, // FACILITY_CLASS_EXPERT_M
TRAINER_PIC_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT
TRAINER_PIC_AQUA_LEADER_ARCHIE, // FACILITY_CLASS_AQUA_LEADER
TRAINER_PIC_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC
@@ -21,7 +21,7 @@ const u8 gFacilityClassToPicIndex[] =
TRAINER_PIC_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER
TRAINER_PIC_TUBER_F, // FACILITY_CLASS_TUBER_1
TRAINER_PIC_TUBER_M, // FACILITY_CLASS_TUBER_2
TRAINER_PIC_COOL_TRAINER_F, // FACILITY_CLASS_COOLTRAINER_2
TRAINER_PIC_COOL_TRAINER_F, // FACILITY_CLASS_COOLTRAINER_F
TRAINER_PIC_LADY, // FACILITY_CLASS_LADY
TRAINER_PIC_BEAUTY, // FACILITY_CLASS_BEAUTY
TRAINER_PIC_RICH_BOY, // FACILITY_CLASS_RICH_BOY
@@ -33,16 +33,16 @@ const u8 gFacilityClassToPicIndex[] =
TRAINER_PIC_CAMPER, // FACILITY_CLASS_CAMPER
TRAINER_PIC_PICNICKER, // FACILITY_CLASS_PICNICKER
TRAINER_PIC_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC
TRAINER_PIC_PSYCHIC_M, // FACILITY_CLASS_PSYCHIC_1
TRAINER_PIC_PSYCHIC_F, // FACILITY_CLASS_PSYCHIC_2
TRAINER_PIC_PSYCHIC_M, // FACILITY_CLASS_PSYCHIC_M
TRAINER_PIC_PSYCHIC_F, // FACILITY_CLASS_PSYCHIC_F
TRAINER_PIC_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN
TRAINER_PIC_ELITE_FOUR_SIDNEY, // FACILITY_CLASS_ELITE_FOUR_1
TRAINER_PIC_ELITE_FOUR_PHOEBE, // FACILITY_CLASS_ELITE_FOUR_2
TRAINER_PIC_LEADER_ROXANNE, // FACILITY_CLASS_LEADER_1
TRAINER_PIC_LEADER_BRAWLY, // FACILITY_CLASS_LEADER_2
TRAINER_PIC_LEADER_TATE_AND_LIZA, // FACILITY_CLASS_LEADER_3
TRAINER_PIC_SCHOOL_KID_M, // FACILITY_CLASS_SCHOOL_KID_1
TRAINER_PIC_SCHOOL_KID_F, // FACILITY_CLASS_SCHOOL_KID_2
TRAINER_PIC_SCHOOL_KID_M, // FACILITY_CLASS_SCHOOL_KID_M
TRAINER_PIC_SCHOOL_KID_F, // FACILITY_CLASS_SCHOOL_KID_F
TRAINER_PIC_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR
TRAINER_PIC_WINSTRATE_M, // FACILITY_CLASS_POKEFAN_1
TRAINER_PIC_WINSTRATE_F, // FACILITY_CLASS_POKEFAN_2
@@ -63,28 +63,28 @@ const u8 gFacilityClassToPicIndex[] =
TRAINER_PIC_TWINS, // FACILITY_CLASS_TWINS
TRAINER_PIC_SAILOR, // FACILITY_CLASS_SAILOR
TRAINER_PIC_WALLY, // FACILITY_CLASS_PKMN_TRAINER_1
TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_2
TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_MAY
TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_3
TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_4
TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_5
TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN
TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_6
TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_7
TRAINER_PIC_POKEMON_BREEDER_M, // FACILITY_CLASS_PKMN_BREEDER_2
TRAINER_PIC_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER
TRAINER_PIC_POKEMON_RANGER_M, // FACILITY_CLASS_PKMN_RANGER_1
TRAINER_PIC_POKEMON_RANGER_F, // FACILITY_CLASS_PKMN_RANGER_2
TRAINER_PIC_POKEMON_RANGER_M, // FACILITY_CLASS_PKMN_RANGER_M
TRAINER_PIC_POKEMON_RANGER_F, // FACILITY_CLASS_PKMN_RANGER_F
TRAINER_PIC_MAGMA_LEADER_MAXIE, // FACILITY_CLASS_MAGMA_LEADER
TRAINER_PIC_LASS, // FACILITY_CLASS_LASS
TRAINER_PIC_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE
TRAINER_PIC_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE
TRAINER_PIC_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO
TRAINER_PIC_STEVEN, // FACILITY_CLASS_PKMN_TRAINER_8
TRAINER_PIC_STEVEN, // FACILITY_CLASS_PKMN_TRAINER_STEVEN
TRAINER_PIC_SALON_MAIDEN_ANABEL, // FACILITY_CLASS_SALON_MAIDEN
TRAINER_PIC_DOME_ACE_TUCKER, // FACILITY_CLASS_DOME_ACE
TRAINER_PIC_RED, // FACILITY_CLASS_PKMN_TRAINER_9
TRAINER_PIC_LEAF, // FACILITY_CLASS_PKMN_TRAINER_10
TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_11
TRAINER_PIC_RUBY_SAPPHIRE_MAY, // FACILITY_CLASS_PKMN_TRAINER_12
TRAINER_PIC_RED, // FACILITY_CLASS_PKMN_TRAINER_RED
TRAINER_PIC_LEAF, // FACILITY_CLASS_PKMN_TRAINER_LEAF
TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN
TRAINER_PIC_RUBY_SAPPHIRE_MAY, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY
};
const u8 gFacilityClassToTrainerClass[] =
@@ -92,13 +92,13 @@ const u8 gFacilityClassToTrainerClass[] =
TRAINER_CLASS_HIKER, // FACILITY_CLASS_HIKER
TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_1
TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_1
TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_1
TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_M
TRAINER_CLASS_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER
TRAINER_CLASS_COLLECTOR, // FACILITY_CLASS_COLLECTOR
TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_2
TRAINER_CLASS_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M
TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_1
TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_1
TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_M
TRAINER_CLASS_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT
TRAINER_CLASS_AQUA_LEADER, // FACILITY_CLASS_AQUA_LEADER
TRAINER_CLASS_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC
@@ -107,7 +107,7 @@ const u8 gFacilityClassToTrainerClass[] =
TRAINER_CLASS_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER
TRAINER_CLASS_TUBER_1, // FACILITY_CLASS_TUBER_1
TRAINER_CLASS_TUBER_2, // FACILITY_CLASS_TUBER_2
TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_2
TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_F
TRAINER_CLASS_LADY, // FACILITY_CLASS_LADY
TRAINER_CLASS_BEAUTY, // FACILITY_CLASS_BEAUTY
TRAINER_CLASS_RICH_BOY, // FACILITY_CLASS_RICH_BOY
@@ -119,16 +119,16 @@ const u8 gFacilityClassToTrainerClass[] =
TRAINER_CLASS_CAMPER, // FACILITY_CLASS_CAMPER
TRAINER_CLASS_PICNICKER, // FACILITY_CLASS_PICNICKER
TRAINER_CLASS_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC
TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_1
TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_2
TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_M
TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_F
TRAINER_CLASS_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN
TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_1
TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_2
TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_1
TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_2
TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_3
TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_1
TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_2
TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_M
TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_F
TRAINER_CLASS_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR
TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_1
TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_2
@@ -149,28 +149,28 @@ const u8 gFacilityClassToTrainerClass[] =
TRAINER_CLASS_TWINS, // FACILITY_CLASS_TWINS
TRAINER_CLASS_SAILOR, // FACILITY_CLASS_SAILOR
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_1
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_2
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_MAY
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_3
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_4
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_5
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_6
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_7
TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_2
TRAINER_CLASS_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER
TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_1
TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_2
TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_M
TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_F
TRAINER_CLASS_MAGMA_LEADER, // FACILITY_CLASS_MAGMA_LEADER
TRAINER_CLASS_LASS, // FACILITY_CLASS_LASS
TRAINER_CLASS_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE
TRAINER_CLASS_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE
TRAINER_CLASS_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_8
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_STEVEN
TRAINER_CLASS_SALON_MAIDEN, // FACILITY_CLASS_SALON_MAIDEN
TRAINER_CLASS_DOME_ACE, // FACILITY_CLASS_DOME_ACE
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_9
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_10
TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_11
TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_12
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_RED
TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_LEAF
TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN
TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY
};
#endif //POKEEMERALD_TRAINER_CLASS_LOOKUPS_H
+1
View File
@@ -28,6 +28,7 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32
void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
extern u8 gDecompressionBuffer[];
u32 sub_8034974(const u8 *ptr);
#endif // GUARD_DECOMPRESS_H
+1
View File
@@ -27,5 +27,6 @@ void sub_8098044(u8);
void UnfreezeMapObjects(void);
void FreezeMapObjectsExceptOne(u8 mapObjectId);
void sub_8097B78(u8, u8);
void FreezeMapObjects(void);
#endif //GUARD_FIELD_MAP_OBJ_HELPERS_H
+2
View File
@@ -31,6 +31,8 @@ u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e);
u8 PlayerGetZCoord(void);
void SetPlayerAvatarTransitionFlags(u16 a);
void sub_808BCE8(void);
void sub_808B864(void);
void sub_808BCF4(void);
void sub_808D074(u8);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
+1
View File
@@ -4,5 +4,6 @@
u8 GetLeadMonIndex(void);
u8 sub_813B260(void);
u16 get_unknown_box_id(void);
bool8 InMultiBattleRoom(void);
#endif // GUARD_FIELD_SPECIALS_H
+17
View File
@@ -623,6 +623,23 @@
#define TIMER_INTR_ENABLE 0x40
#define TIMER_ENABLE 0x80
// BGCNT
#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs.
#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data.
#define BGCNT_MOSAIC 0x0040
#define BGCNT_16COLOR 0x0000 // 4 bits per pixel
#define BGCNT_256COLOR 0x0080 // 8 bits per pixel
#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map.
#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default.
#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels.
#define BGCNT_TXT512x256 0x4000
#define BGCNT_TXT256x512 0x8000
#define BGCNT_TXT512x512 0xC000
#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels.
#define BGCNT_AFF256x256 0x4000
#define BGCNT_AFF512x512 0x8000
#define BGCNT_AFF1024x1024 0xC000
// serial
#define SIO_ID 0x0030 // Communication ID
+10 -1
View File
@@ -11,6 +11,7 @@
// to help in decompiling
#define asm_comment(x) asm volatile("@ -- " x " -- ")
#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided")
#define ASM_DIRECT __attribute__((naked))
// IDE support
#if defined (__APPLE__) || defined (__CYGWIN__)
@@ -87,6 +88,7 @@ enum LanguageId
LANGUAGE_SPANISH = 7,
};
#define GAME_VERSION (VERSION_EMERALD)
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
enum
@@ -605,6 +607,11 @@ struct WaldaPhrase
bool8 patternUnlocked;
};
struct UnkSaveSubstruct_3b98 {
u32 trainerId;
u8 trainerName[8];
};
struct SaveBlock1
{
/*0x00*/ struct Coords16 pos;
@@ -689,7 +696,9 @@ struct SaveBlock1
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[52];
/*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B88*/ u8 filler_3B88[0x1E8];
/*0x3B88*/ u8 filler_3B88[0x10];
/*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20];
/*0x3C88*/ u8 filler_3C88[0xE8];
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
// sizeof: 0x3D88
};
+6 -9
View File
@@ -2713,19 +2713,16 @@ extern const u8 gRaySceneHushBg_Pal[];
extern const u8 gRaySceneHushBg_Gfx[];
extern const u8 gRaySceneHushRing_Gfx[];
//main menu/birch graphics
extern const u16 gMainMenuBgPal[];
extern const u16 gMainMenuTextPal[];
extern const u16 gUnknown_082FECFC[];
extern const u16 gUnknown_082FF028[];
extern const u16 gUnknown_082FF018[];
extern const u8 gBirchIntroShadowGfx[];
extern const u8 gUnknown_082FEEF0[];
//menu graphics
extern const u16 gFireRedMenuElements1_Pal[16];
extern const u16 gFireRedMenuElements2_Pal[16];
extern const u16 gFireRedMenuElements3_Pal[16];
extern const u8 gFireRedMenuElements_Gfx[];
//item menu graphics
extern const u8 gBagScreen_Gfx[];
extern const u16 gBagScreenFemale_Pal[];
extern const u16 gBagScreenMale_Pal[];
extern const u8 gBagMenuHMIcon_Gfx[];
#endif //GUARD_GRAPHICS_H
+6
View File
@@ -1,6 +1,12 @@
#ifndef GUARD_INTRO_H
#define GUARD_INTRO_H
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
void c2_copyright_1(void);
void CB2_InitCopyrightScreenAfterBootup(void);
void CB2_InitCopyrightScreenAfterTitleScreen(void);
void sub_816F2A8(u16, u16, u16, u16);
+3
View File
@@ -61,5 +61,8 @@ ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
u8 ItemId_GetSecondaryId(u16 itemId);
u16 itemid_get_market_price(u16 itemId);
u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos);
void sub_80D6FB4(struct BagPocket*);
void sub_80D6F64(struct BagPocket*);
void sub_80D702C(struct ItemSlot*, s16, u16);
#endif // ITEM_H

Some files were not shown because too many files have changed in this diff Show More